1
0
mirror of https://github.com/rfivet/uemacs.git synced 2024-11-16 09:36:29 -05:00
Commit Graph

58 Commits

Author SHA1 Message Date
99487b126f Consistent unicode handling in buffer-position (CTL-X =) and $curchar. 2017-05-05 10:49:02 +08:00
14e6240b9c Transpose-characters valid with mixed UTF-8 and extended ASCII. 2016-05-21 07:52:19 +08:00
92078e5595 Check consistency of forwchar/backchar calls.
Review entab dot movement.
2016-05-20 19:46:54 +08:00
2b21a98e9c Review forwchar and backchar. 2016-05-19 21:27:26 +08:00
d4b2a4c1aa Review ldelchar and ldelete. 2016-05-19 14:02:43 +08:00
ac3c2aa6dd Review file read and write into buffers. 2016-03-30 17:44:46 +08:00
06eba37779 Include stddef on Linux for offsetof macro definition. 2016-03-25 19:27:09 +08:00
135866231d Rework line allocation. 2016-03-25 14:56:34 +08:00
a42c60045d Improve consistency of tab insertion behaviour while indenting and brace matching. 2016-02-25 17:08:27 +08:00
c390cf2a3e Remove tab width constraints, was [2, 4, 8], now [1... 2016-02-24 13:22:54 +08:00
e0550db4d1 $line returns a full copy of the current line instead of truncated at NSTRING. 2015-09-18 17:53:58 +08:00
5e5558e00b Align naming convention for output of text on the message line: mlout*. (Was a mix of log & write). 2015-02-13 12:31:59 +08:00
6021a22b60 Move rdonly() in scope of line which is the first user module in the dependency list. 2015-02-13 11:54:17 +08:00
135238106c backward char movement consistent with mixed byte/UTF-8 content. 2015-02-08 19:11:26 +08:00
4cbf1e9ae1 Review cursor movement in presence of mixed latin1/unicode encoding. 2015-02-04 12:37:57 +08:00
de04424e51 Align scope and parameter type for linsert and is_beginning_utf8. 2015-02-02 19:44:35 +08:00
91455a2e5a Insure &asc &chr 128 equals 128.
Insert-string can't handle character code > 0xFF.
2015-02-02 12:50:52 +08:00
15ae2d4135 Transition from logger/logwrite/mlwrite to writestr/writefmt. 2015-01-21 21:30:01 +08:00
fbfaa29497 Add %B in string format of mlwrite to ring a bell. 2015-01-21 14:12:24 +08:00
cc06049046 $kill returns full copy of kill buffer. 2014-12-22 20:57:54 +08:00
a560025c0c Fix $kill to cover at most first 127 characters of kill buffer. Was only first N % 250 (ex 25 out of 275). 2014-12-22 20:57:40 +08:00
2fe2d9c153 Finish move of globals into input and random.
Remove globals.
2014-12-22 17:43:53 +08:00
bd14ff374f Move globals rval and tabmask to eval and line. 2014-12-22 17:43:01 +08:00
80256bdd6d Remove edef.h, obsoleted by globals.h. 2014-12-22 17:41:40 +08:00
dc3e8984ab Move standard includes of stdlib and string from edef.h. 2014-12-22 17:41:07 +08:00
9ec9176c81 Centralize kill buffer code in line.c 2014-12-22 17:35:58 +08:00
87cd40ce6a Extract struct buffer and struct window from estruct.h. 2014-12-22 16:11:13 +08:00
ab432a6781 Clean up dependecies on estruct by introducing defines.h. 2014-12-22 16:10:51 +08:00
245c4a0477 Remove dependencies from line to display: Move rdonly from display to loc and create instantiable function logger( retcode, beep, string). 2014-12-22 16:09:15 +08:00
451b12319a Add assert to guard logic of static function activation. 2014-12-22 16:09:06 +08:00
03bd7dd902 Make line independant of display by introducing instanciable logwrite. 2014-12-22 16:08:21 +08:00
4f9598b5da review line dependencies. 2014-12-22 16:08:12 +08:00
70dab2c8d8 review visibility of functions defined by line. 2014-12-22 15:48:09 +08:00
a96f1b5f85 Move rdonly and reterr from main to display to avoid dependencies to main. 2014-12-22 15:43:35 +08:00
b321dce49e Remove efunc as dependencies. 2014-12-22 15:06:48 +08:00
4e24edf715 Remove basic from efunc. 2014-12-22 15:06:17 +08:00
9c2c4b7635 Remove display from efunc. 2014-12-22 15:06:08 +08:00
0b093b8228 Remove main from efunc. 2014-12-22 15:04:37 +08:00
f1a0771bfc Remove random from efunc. 2014-12-22 15:04:10 +08:00
Linus Torvalds
0a8b429059 Start doing character removal properly
This makes actual basic editing work.  Including things like
justify-paragraph etc, so lines get justified by number of UTF8
characters rather than bytes.

There are probably tons of broken stuff left, but this actually seems to
get the basics working right.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-07-11 10:43:16 -07:00
Linus Torvalds
0e9fc2be15 Start actually inserting full utf8 sequences
This makes it possible to cut-and-paste the UTF8 testfile into a new
buffer, and the end result looks correct.

NOTE! We still do various things wrong while editing.  For example,
while the cursor movements were fixed, simple things like deleting a
character still work on single bytes, rather than utf8 characters.

So while this is getting much closer to actually editing UTF-8 data,
it's not there yet.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-07-11 02:21:36 -07:00
Thiago Farina
10ae171147 uemacs: Move NBLOCK constant into line.c
This constant is only used in line.c. So just keep it there.

Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-11-15 14:07:43 -08:00
Thiago Farina
af19da1a99 uemacs: Move structure line and its functions to its own header file.
Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-11-15 08:46:20 -08:00
Pekka Enberg
0f05e53f99 uemacs: Fix return statements
Return statement is not a function so remove superfluous use of parenthesis.

Cc: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-08-29 08:15:23 -07:00
Thiago Farina
1f271323f8 uemacs: convert typedef struct KILL to struct kill.
Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-08-10 15:24:33 -07:00
Thiago Farina
81a3a0be6e uemacs: convert typedef struct window_t to struct window.
Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-08-01 15:10:23 -07:00
Thiago Farina
c7e30a9636 uemacs: convert typdef struct LINE to struct line.
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-04-28 07:46:47 -07:00
Pekka Enberg
74ffb9e254 uemacs: remove use of 'register' keyword
Lets welcome uEmacs/PK to the year 2010! As expected, the patch has no effect
on the generated code:

   text	   data	    bss	    dec	    hex	filename
 106002	   8864	  18616	 133482	  2096a	em
 106002	   8864	  18616	 133482	  2096a	em.new

Cc: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-02-27 16:17:44 -08:00
Thiago Farina
6139ec4e73 uemacs/line.c: remove two unused variables.
line.c:21: warning: ‘ykbuf’ defined but not used
line.c:22: warning: ‘ykboff’ defined but not used

Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-02-15 18:33:31 -08:00
Thiago Farina
5ffdebdbf3 uemacs: remove typdef struct BUFFER -> struct buffer.
Signed-off-by: Thiago Farina <tfransosi@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-02-15 18:33:31 -08:00