Commit Graph

123 Commits

Author SHA1 Message Date
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 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 8555d07437 Revise command line parsing: making sure something; is token something followed by ; (a comment). 2021-09-11 12:38:56 +08:00
Renaud e2f7cc0566 Sanity check with customization CLEAN, RAMSIZE, RAMSHOW. 2021-08-24 12:17:40 +08:00
Renaud ab34471d4d Fix &right to handle a count of Unicode characters. 2021-08-21 17:21:18 +08:00
Renaud e6921a8ed1 Centralize customization in defines.h instead of Makefile + estruct.h. 2021-08-18 16:54:35 +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 50b727bf7f Bindable functions take a boolean as flag.
Emphasize which one always return TRUE.
Use mloutfail() to introduce consistency when a function fails with error message.
2021-08-11 17:02:19 +08:00
Renaud 521d96fbda Use binary search for name to function lookup. Fix name mapping table order. Rework test scripts. 2021-07-21 16:40:36 +08:00
Renaud 00b85fab9f Fix warning triggered by enforcing const on function names table. 2021-07-19 16:36:14 +08:00
Renaud c6baa2ff77 String index (&sin) function returns unicode position. 2020-06-25 15:50:12 +08:00
Renaud e62af18798 Display UTF-8 on the modeline [buffer name, file name]. 2019-08-13 09:14:08 +08:00
Renaud f0836bb66a Replace strncpy by mystrscpy. 2019-06-19 19:49:20 +08:00
Renaud b4ff6798cd Seed the pseudo-random generator on initialization.
Add example script to solve a maze by flood painting.
2017-05-19 11:19:13 +08:00
Renaud 4873021e37 &left and &mid handling of UTF-8 encoded characters. 2017-05-16 12:13:12 +08:00
Renaud 918a310601 Improve ernd as &rnd( 2) always returned same pattern. 2017-05-14 15:18:28 +08:00
Renaud 99487b126f Consistent unicode handling in buffer-position (CTL-X =) and $curchar. 2017-05-05 10:49:02 +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 c390cf2a3e Remove tab width constraints, was [2, 4, 8], now [1... 2016-02-24 13:22:54 +08:00
Renaud c378a80204 Recompile with -pedantic. 2015-11-25 10:42:33 +08:00
Renaud 8aeb526a2a Clean up abs usage versus implementation.
Clarify ernd() behaviour.
2015-10-27 12:51:40 +08:00
Renaud 83b4028c95 Avoid 176719 periodicity of &rnd 0. 2015-10-22 16:57:56 +08:00
Renaud f13ae3957c Replace mlreply by newmlarg in eval, allowing user variable length to exceed 255 bytes. 2015-09-29 11:43:30 +08:00
Renaud cfa5c7fb65 Review getnewtoken, introduce getnewtokval and rewrite function evaluation accordingly. 2015-09-27 21:11:51 +08:00
Renaud 2c9cbbfb1e write-message buffer adjust to full width of the terminal. 2015-09-18 17:55:35 +08:00
Renaud c3f4666ff3 Review usage of mlreply/ macarg/ gettokval according to execution context. 2015-09-01 11:29:08 +08:00
Renaud 8d412dc388 Review file scope of functions dealing with token extraction and token evaluation. 2015-08-25 16:34:15 +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 1ab601071e In order to support # as comment indicator, buffer content prefix is changed to '='. #buffername becomes =buffername. 2015-08-19 15:46:40 +08:00
Renaud 84bf4de212 Review function name table search in eval.c:gtfun. 2015-07-24 10:21:37 +08:00
Renaud 4d19ef668a Literals starting with '-' were interpreted as command token instead of literal token, "-3 set %i" failed as -3 was tried as command instead of an argument to set. 2015-06-12 21:06:18 +08:00
Renaud 26f0f2eb8b Offer va_list version of mlwrite. 2015-06-12 17:05:43 +08:00
Renaud 90c170e200 FIX: 'insert-string &add -1 -2147483647' was '-./,),(-*,(' instead of '-2147483648'. 2015-06-06 08:25:44 +08:00
Renaud 6dfc2f057e Add 2 as a valid value of tab length. {2, 4, 8} 2015-05-05 19:42:53 +08:00
Renaud 8502fb66c6 Use binary search to locate function in sorted function name list. 2015-03-20 15:07:47 +08:00
Renaud 70a5812928 Review function table format. 2015-03-19 22:37:41 +08:00
Renaud d57257d653 FIX: User variable names first 10 characters are now significant.
Also CID 39927 Unbounded source buffer, 39933 Copy into fixed size buffer.
2015-03-19 20:52:55 +08:00
Renaud 8de64f81be Use strncpy instead of strcpy. (CID 39928 eval, 39931 file, 39932 exec, 39938 bind). 2015-03-19 12:42:47 +08:00
Renaud eb7217f8ec Fix CID 39910: &rnd 0 return a pseudo-random number instead of triggering a zero divide crash. 2015-03-18 12:27:55 +08:00
Renaud d01649bf3a Return error if &div or &mod by 0. 2015-03-17 09:04:22 +08:00
Renaud f97746a87b CID 39914: Fallthrough in switch was altering value of $gflags when assigning to $line. 2015-03-16 13:47:03 +08:00
Renaud 80cbd37f5c Add extra warning check and fix signed to unsigned comparison issues. 2015-02-28 20:29:00 +08:00
Renaud 61f5fe7e2d Fix off by one buffer access.
Minor variable scope review.
2015-02-22 14:58:25 +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 2b8992350d Avoid unnecessary sprintf & buffers when updating message or status line. 2015-02-15 16:10:44 +08:00
Renaud c10c550bdd Valid compilation when CLEAN is set.
Use assert() and robust fallback instead of exit() to handle 'impossible' cases.
2015-02-15 14:41:35 +08:00
Renaud bb44fc57ad Limit the scope of mlforce to eval. 2015-02-13 17:46:42 +08:00
Renaud e13bc9ca7e Version 4.2
Consistent display of µEMACS as program name among
- ue --version
- on status bar
- insert-string $progname
- write-message $progname (FIX).
2015-02-12 13:15:45 +08:00
Renaud bdbd2d5437 Assert that unicode are limited to 0-10FFFF. 2015-02-08 14:26:07 +08:00