Commit Graph

62 Commits

Author SHA1 Message Date
Renaud 3e2d73394a Review buffer list related functions. 2016-03-24 21:53:36 +08:00
Renaud ee667b25ed Move insbrace and fmatch to execute.
Review execute.
2016-03-01 19:17:39 +08:00
Renaud 14ef4f50ab Review insbrace, getfence and fmatch.
Adjust timing to pause when highlighting matching brace.
$tpause <= 0 disable matching brace highlight.
2016-02-29 21:23:43 +08:00
Renaud 663fc2e554 Fix: In C-mode, auto-indent increment was not correct when matching opening brace is first character of buffer. 2016-02-29 19:02:09 +08:00
Renaud 775b16c7b1 Rewrite cinsert to avoid buffer size constraint when doing indentation in C mode. 2016-02-25 21:50:04 +08:00
Renaud a42c60045d Improve consistency of tab insertion behaviour while indenting and brace matching. 2016-02-25 17:08:27 +08:00
Renaud 998559464b In C mode, insure indentation is correct when inserting newline at end of white lines. 2016-02-24 22:18:37 +08:00
Renaud 3436443807 Introduce boolean $hardtab to control insertion of hardcoded tab or soft ones (spaces). Review insert_tab accordingly. 2016-02-24 21:17:45 +08:00
Renaud 8dfa92ba44 Review inspound, '#' insertion in C mode. 2016-02-24 20:00:44 +08:00
Renaud c390cf2a3e Remove tab width constraints, was [2, 4, 8], now [1... 2016-02-24 13:22:54 +08:00
Renaud db30d6d734 Mode commands based on newmlarg (replacement of mlreply). 2015-10-01 08:19:39 +08:00
Renaud d3b02af275 Missing random.c from commit 198980b, review of newmlargt interface. 2015-09-29 15:06:08 +08:00
Renaud ce4d105794 Allow either dynamic or pre-defined input size from message line.
Insure to capture ABORT status when doing input from message line.
2015-09-28 17:46:00 +08:00
Renaud 3ffa8967ef Align implementation of overwrite-string with insert-string. 2015-09-28 13:37:22 +08:00
Renaud cbbd860bdc Rework insert-string for dynamic token input. 2015-09-27 22:13:20 +08:00
Renaud 51967939b8 Harmonize usage of mlreply, mlreplyt and nextarg based on actual needs (input always terminated either on meta or newline characters). 2015-08-25 09:17:41 +08:00
Renaud af919c3f9c ^X= buffer-position displays EOL character as \r for DOS. Number of characters in file is also reported correctly. 2015-05-05 12:17:56 +08:00
Renaud 80cbd37f5c Add extra warning check and fix signed to unsigned comparison issues. 2015-02-28 20:29:00 +08:00
Renaud e2be62323b Review scope of exported variables and functions for bind, eval, file,fileio, random. 2015-02-16 11:39:16 +08:00
Renaud bb44fc57ad Limit the scope of mlforce to eval. 2015-02-13 17:46:42 +08:00
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