Commit Graph

660 Commits

Author SHA1 Message Date
Renaud 1ee0ebf4b9 Fix: avoid extra NL when newline/yank/insert-file at end of last line of non empty buffer.
Refactor yank.
Detab before commit.
2024-04-04 12:03:24 +08:00
Renaud 12d307b5b4 Display non breaking space according to code page instead of \A0. 2024-04-01 11:17:19 +08:00
Renaud 54145a48f8 Fix assertion violation when invoking help macro at end of help file. &mid function was not safe to call on empty line, same for &mid.
Minor reformatting of help file to avoid content to be mistaken as section reference by help macro.
2023-12-20 13:07:04 +08:00
Renaud 5b2884b93c Fix point and mark update when inserting in buffer with multiple windows. 2022-09-04 16:08:37 +08:00
Renaud 041210b228 Use memmove instead of memcpy for overlapping memory area. (reproducible on OpenBSD). 2022-08-26 11:16:45 +08:00
Rob Gowin 737fee5323
Changes to compile on macOS. (#2)
defines.h:
  Use (defined(__APPLE__) && defined(__MACH__)) to
  detect macOS, as suggested by https://stackoverflow.com/questions/7063303/macro-unix-not-defined-in-macos-x.
  Combined with __NetBSD__ to set BSD=1 and POSIX=1.

main.c:
  Include <unistd.h> to pick up sleep() declaration.

Co-authored-by: Rob Gowin <rob.gowin@gmail.com>
2022-08-24 10:28:13 +08:00
Renaud ca23e6c394 Ignore generated dependencies. 2022-03-03 07:40:31 +08:00
Renaud f2c53b5b1f Reviewed dependencies generation. 2022-02-05 10:56:12 +08:00
Renaud 2befa53c3a Merge branch 'unicode' 2021-09-18 09:12:27 +08:00
Renaud 4704d6a352 Remove coverity badge (build is stuck in queue limbo).
Update Unicode support status.
2021-09-16 10:02:09 +08:00
Renaud 2e69f9410f Fix position of cursor to avoid extended display of line. 2021-09-16 09:46:02 +08:00
Renaud 8726e5b8aa Clean up startup and help files. 2021-09-16 09:44:59 +08:00
Renaud 0c584e5490 Revise window flagging on line change.
Evaluation of Value of kill buffer and current line.
2021-09-15 13:15:31 +08:00
Renaud b244adf23a Revise fence handling in CMODE. 2021-09-15 11:55:23 +08:00
Renaud 860bace701 Revise pipe-command. 2021-09-15 11:51:12 +08:00
Renaud 991283b912 Make sure directive keywords are followed by EOS, comment or space separator. 2021-09-13 12:33:32 +08:00
Renaud eff9b64f1d Always refresh window on execution if buffer is displayed, not only on errors.
Insure dot is correct on final !return.
2021-09-12 09:34:28 +08:00
Renaud 8555d07437 Revise command line parsing: making sure something; is token something followed by ; (a comment). 2021-09-11 12:38:56 +08:00
Renaud 78e296afbb Revise directive parsing and processing.
Allow multi line comment using !store without procedure name (think about #if 0).
2021-09-10 10:10:19 +08:00
Renaud 81d6f76c78 Test maze scripts using subroutines instead of stored procedures. (Avoid leftover buffers after execution). 2021-09-08 11:05:51 +08:00
Renaud 296f0af96c !gosub
Use generic list deletion API.
Remove lines at parsing time.
2021-09-08 10:58:53 +08:00
Renaud 2674d40d4c Introduce generic list deletion API. 2021-09-08 10:54:07 +08:00
Renaud 0d0e2d86b2 Handle storing of procedure during parsing of buffer.
!store and :labels.
Aggressive parsing empty blank and comment lines.
2021-09-05 12:01:02 +08:00
Renaud 95118b61c8 Revise maze test scripts. 2021-09-01 09:40:34 +08:00
Renaud 60a56b74b0 Use lines instead of block Unicode characters.(poor rendering in some environments). 2021-08-31 12:57:37 +08:00
Renaud 64eb0d5deb Use explicit constants for smallest size of display rows and columns. 2021-08-31 12:55:10 +08:00
Renaud f96ace997f Fix terminal resizing when new postion of last modeline overlap top row of last window. 2021-08-30 18:09:58 +08:00
Renaud f010d63a95 Fix initialization of screen margin and scroll size. 2021-08-30 13:16:46 +08:00
Renaud 0cb1799786 Revise refresh of extended lines. 2021-08-30 12:30:29 +08:00
Renaud 0a8c28bc07 Revise display update and modeline, remove statis customization (MEMMAP, REVSTA). 2021-08-28 10:33:36 +08:00
Renaud 699dac8b27 Allocate screen memory on change of window size instead of one static huge allocation. 2021-08-24 16:00:32 +08:00
Renaud e2f7cc0566 Sanity check with customization CLEAN, RAMSIZE, RAMSHOW. 2021-08-24 12:17:40 +08:00
Renaud a370d748c4 Revise line primitives linstr() and lover() 2021-08-22 12:35:39 +08:00
Renaud 62e1109802 Relocate display specific MEMMAP customization. 2021-08-22 10:53:02 +08:00
Renaud bfb78e5382 Revise line primitives lalloc() and lnewline(). 2021-08-22 10:51:46 +08:00
Renaud ab34471d4d Fix &right to handle a count of Unicode characters. 2021-08-21 17:21:18 +08:00
Renaud cd2f848e0a Fix twiddle movement and at EOL with single Unicode. 2021-08-21 09:36:41 +08:00
Renaud 3d83877086 combined Unicode: forward-character, backward-character, delete-next-character, delete-previous-character. 2021-08-21 09:34:06 +08:00
Renaud 38aa6b97c8 Use more portable character for visible tabs due to mismatched width on Ubuntu. 2021-08-19 10:56:13 +08:00
Renaud 679d8d098b Temporary fix for WSL 2021-08-19 10:07:13 +08:00
Renaud e6921a8ed1 Centralize customization in defines.h instead of Makefile + estruct.h. 2021-08-18 16:54:35 +08:00
Renaud d99b7fcbac Revise terminal interfaces. 2021-08-18 11:35:17 +08:00
Renaud 5f3b42f448 Use gcc predefined in conditional compilation (__CYGWIN__, __SIZEOF_WCHAR_T__). 2021-08-18 09:37:47 +08:00
Renaud 18a0fbe57f Refactoring gtfun(), function evaluation core. 2021-08-16 17:18:51 +08:00
Renaud 2758464a2e $viewtab = TRUE to visualize hardcoded tabs.
Refactor &lef and & mid with stronger assertion on utf8_to_unicode().
2021-08-16 11:05:24 +08:00
Renaud 946c603a39 Merge branch 'viewmode' 2021-08-15 16:29:51 +08:00
Renaud 731ea754bb Formatting and typos. 2021-08-15 16:05:31 +08:00
Renaud 79c3dfa4d9 Refactoring display primitives. 2021-08-15 11:22:32 +08:00
Renaud 109e330861 Consistent interface to deal with workaround on Cygwin when checking width of unicode character > 0xFFFF. 2021-08-15 09:41:35 +08:00
Renaud 3bce7a4751 Rework file primitives. 2021-08-14 11:45:41 +08:00