-
Notifications
You must be signed in to change notification settings - Fork 1
original-birdman/nuemacs
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is an extension to the uEmacs/pK 4.0. That was obtained by: git clone git://git.kernel.org/pub/scm/editors/uemacs/uemacs.git uemacs in early Feb 2017. I wasn't working in git at the time, so didn't fork it. In the end I put all of that code into my own local git and started from there. So the original 4.015 branch is just that. Then I uploaded it to github, but didn't want to go back to a fork and have to start again. The main extension is to add code which had been put into 3.9e many years ago to make the bottom line (modeline) into a minibuffer - you can use many uemacs commands to move around, delete, yank etc. You can set modes (including Phon mode) in it. It handles filename expansion (ctlI/tab), albeit in a different manner to 4.015. That code also handles environment variable expansion. It also now has improved utf8 character class/property support, which has been done by making use of the Julia Lang utf8proc library. As a result this uemacs is now DEPENDENT ON that library! See the PREREQUISITE file. Other changes so far made are: o Make some things user-configurable in start-up files such as * the definition of "end of sentence" characters, * how twiddle and forward word work (ggr-mode) o Fix the display of "binary files" (where ^X and \yy are used), o Handle utf8 character strings in the message/minibuffer line and the modeline. o Better handling of utf8 strings (zero/double-width character handling). o Add all options to the usage() output, and handle command-line options better. o Enable ctl-Q and ctl-S as commands (rather than XON/XOFF). o Allow user-created procedures to be bound directly to keys (without needing to use one of the 40 numbered macros), and make the key-table dynamically assigned, so that it is no longer a limited size. o Added horizontal scrolling (from 3.10e). o Changed file encryption so it now encrypts all bytes, not just ASCII ones. You can (indeed, have to) set various options for the encryption algorithm to use, for compatibility with various other builds. You may now set a global encryption key, rather than a per-buffer one. o Input and output now buffered into an 8kB block, significantly speeding up file processing, o Keyboard macros are also collected as commands in a buffer rather than just as keystrokes. This can be modified and saved to file. Its execution is bound to ^XV in the standard uemacs.rc file. o Run any file-hooks (and file-hooks-<<sfx>>) user macros when a file is read in o Added a "Phon" mode, to allow input of non-ASCII characters with an ASCII keyboard using a lookup table mapping. Czech and Russian tables are provided. o Added a set of ring buffers for each of search and replace string. You can move back and forward through the last 10 by using previous-window/next-window when searching. You can insert the currently-selected default into the search buffer (^X^I) o Added a set of kill-buffers for the last deletes. If you yank (^Y) you can then do yank_prev_killbuf (Esc-Y) to change that yanked text with the previous deletes in turn. Only works if you do nothing else after the yank. Also works after yank-minibuffer. Note that yanking rotates the kill-ring list. o Opening a directory will list the files in the directory and let you select one to open. Requires a user procedure (defined in the standard uemacs.rc) to run. This has various sorting options. You can also open the parent directory of a file you are viewing. o Extended name-completion in prompts to work with file names, buffer names, user procedures, phonetic translation tables, function names and uemacs environment/user variables. o Removed the 1 million line input reading restriction. o Greatly extended Magic-mode regex capability for searching and enabled it to work with Unicode characters. o Simple Space/Return and b/B for forward/backward page scrolling in VIEW mode. Also n/p for next-/prevline. o Added per-buffer variables for executing buffers and user procedures. o More paragraph justifying options, including making numeric or definition lists. o Allow key-bindings for functions to have a default numeric argument "attached". o Improved handling of function/keypad escape sequences. o Add the ability to mark a function as "one pass", so it will only be called once. User procedures can determine what numeric arg was given (so a "one pass" function can determine how to handle this), whether this was forced (rather then the default) and which current execution loop they are on (useful if not "one pass"). o Allow a user procedure to be installed as one of the four "internal" keybindings. o Allow looking for overlapping matches while searching. Run-time configurable. o Added a sprintf-style function (&ptf) for formatting data. o Added a suite of macros for regression testing. o Allow forcing modes on/off for all buffers via a command-line option. o Handle real numbers in macros. o Macro debug output can be directed to a //Debug buffer. o You can build a standalone version for Linux, either "most" (libm and libc are dynamic - allows expansion of ~id/) or "all" (all static libraries, no expansion of ~id/ only of ~/). Useful for a USB stick connected to a "bare" system. o File locking and visual updates as macros run are now run-time options rather than compile-time ones. o Add the concept of pins, which allow user macros to preserve marks. o Save any modified buffers on a crash and, on x64 and arm64, optionally (at compile time) produce a stack trace. o Remove most string-size limits by using dynamically-allocated buffers. o Enable a test version to be built for running with valgrind, to check for dynamic memory leaks or overwrites. NOTE: The uemacs.rc file re-binds various keys from the standard settings in the source files. The uemacs.hlp file reflects these re-bindings (since if the code finds the hlp file, it should have found the rc file). For LICENCE details see the README file in the archive directory.
About
An extension to uemacs p/K 4.015 which makes the bottom line a minibuffer. Plus more...
Topics
Resources
Stars
Watchers
Forks
Packages 0
No packages published