-
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