Commit Graph

42 Commits

Author SHA1 Message Date
Renaud 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
Renaud 3f1ac2596c Fix getccol reporting when dealing with characters in range 0x80 .. 0xA0. 2015-02-09 13:31:39 +08:00
Renaud 356a003194 buffer-position reports character under cursor according to type (either 0xXX or \uXXXX). 2015-02-08 14:47:56 +08:00
Renaud 2cef071492 Insure correct UTF-8 encoding: asc( chr( 0x800)) == 0x800.
buffer-position displays unicode value of character under cursor instead of first byte of unicode sequence.
2015-02-06 13:20:51 +08:00
Renaud 434c9ba7ab Review mlforce to avoid necessity to double '%' in input string, thus avoiding potential buffer overflow in caller functions (mdbugout and write-message). 2015-01-15 17:57:12 +08:00
Renaud 79b57c96d1 insert-string can insert strings up to 512 characters. 2014-12-22 20:57:47 +08:00
Renaud 3197080cb1 Introduce spat_t as search pattern type and reduce need for NPAT as pattern length constant. 2014-12-22 20:57:26 +08:00
Renaud e9142541a9 Review visibility of tabsize variable and nextab() macro. 2014-12-22 20:55:56 +08:00
Renaud da813d2efc Partial move configuration options out of estruct.h. 2014-12-22 17:44:52 +08:00
Renaud 2fe2d9c153 Finish move of globals into input and random.
Remove globals.
2014-12-22 17:43:53 +08:00
Renaud 96ca2e8580 Move global fillcol to random. 2014-12-22 17:42:50 +08:00
Renaud 80256bdd6d Remove edef.h, obsoleted by globals.h. 2014-12-22 17:41:40 +08:00
Renaud dc3e8984ab Move standard includes of stdlib and string from edef.h. 2014-12-22 17:41:07 +08:00
Renaud a3be4fea81 Recompile on Linux; Replace stricmp by strcasecmp. 2014-12-22 17:39:25 +08:00
Renaud 1d5cbe67a4 Move global color variable with color names in random. 2014-12-22 17:39:17 +08:00
Renaud 526c1e3baa Review global literals for mode names and color names. 2014-12-22 17:38:58 +08:00
Renaud 097de3bcdf Recompile under Cygwin64. Move color names as private to random. 2014-12-22 17:37:37 +08:00
Renaud 9780b4ce16 Extract Struct terminal from estruct to terminal.h implemented by tcap. 2014-12-22 17:36:24 +08:00
Renaud 87cd40ce6a Extract struct buffer and struct window from estruct.h. 2014-12-22 16:11:13 +08:00
Renaud 45ea35f2a7 Move dependencies from display to log. 2014-12-22 16:09:23 +08:00
Renaud 48db208aac extract execute from main to avoid dependencies of file, random and window to main. 2014-12-22 15:47:01 +08:00
Renaud b321dce49e Remove efunc as dependencies. 2014-12-22 15:06:48 +08:00
Renaud 4e24edf715 Remove basic from efunc. 2014-12-22 15:06:17 +08:00
Renaud 9c2c4b7635 Remove display from efunc. 2014-12-22 15:06:08 +08:00
Renaud 539f327271 Remove input from efunc. 2014-12-22 15:05:57 +08:00
Renaud 0b093b8228 Remove main from efunc. 2014-12-22 15:04:37 +08:00
Renaud 1428d9e2aa Remove search from efunc. 2014-12-22 15:03:52 +08:00
Renaud 9c311a1ba8 split efunc into corresponding headers. 2014-12-22 14:46:16 +08:00
Linus Torvalds ddd45dbff1 Fix 'getccol()' and 'getgoal()' functions for multibyte UTF-8 characters
These functions convert the byte offset into the column number
(getccol()) and vice versa (getgoal()).

Getting this right means that moving up and down the text gets us the
right columns, rather than moving randomly left and right when you move
up and down.  We also won't end up in the middle of a utf-8 character,
because we're not just moving into some random byte offset, we're moving
into a proper column.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-07-15 14:36:38 -07: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
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
Yong Luk Stanley Elijah Goh 89fea23de5 uemacs: Compiles on Mac OS X.
Compiles on Mac OS X 10.6.4.

setmode() is renamed to setemode() to avoid conflict with OS X's unistd.h's
setmode().

Modify Makefile to enable the appropriate DEFINES to compile on Mac OS X.

Signed-off-by: Yong Luk Stanley Elijah Goh <stan@t0xt.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-08-24 10:55:02 -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
Linus Torvalds 686a9e74ed Clean up various compile warnings
Most of them were harmless: gcc not being smart enough to realize that
an uninitialized variable was never used if it wasn't initialized etc.

Some of them were name clashes ("crypt()" is a standard library
function, so rename it to "myencrypt()") etc.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-11-19 11:52:18 -08:00
Linus Torvalds 12cb79ceb4 Avoid various name clashes with curses and termcap headers
This allows us to include the proper headers, instead of declaring
things (badly) by hand.
2005-10-01 00:22:55 -07:00
Linus Torvalds d79d222a45 Fix up unused variable and ambiguous else in random.c 2005-09-30 23:54:34 -07:00
Linus Torvalds d5dc3160cf Lots of ANSI'fication and cleanups
Still tons of warnings with "-Wall", but now it's actually getting closer.

It even compiles again.
2005-09-30 22:52:45 -07:00
Linus Torvalds 9605cf8826 First cut at turning things into proper modern ANSI C
Hey! Real declarations!
2005-09-30 16:34:11 -07:00
Linus Torvalds 435dd32ae2 Run "indent -kr -i8" on the sources
Let's see how nasty it is to clean things up. For real.
2005-09-30 15:26:09 -07:00
Linus Torvalds d7148b21fe Initial import of em-4.0.15-lt
This is a slightly updated version of uemacs-PK (PK is Pekka
Kutvonen) which was used at Helsinki University a long time
ago. My fingers cannot be retrained.
2005-05-31 08:50:56 -07:00