|







| |
Emacs Packages
Francis Wright,
11 May 2006
| Beware that some of the code available here is now quite old and
may contain an obsolete email address that will be bounced by my
spam filtering. If you want to email me then please use
this address. |
This web site provides details of, and access to, Emacs Lisp packages, most
of which I have written, at least in part, and currently maintain. They
are intended for use with GNU Emacs only and most
require GNU Emacs version 20 or 21 (preferably 21.3). A few are fairly
specific to Microsoft Windows and are
primarily intended for use with
NTEmacs.
Some of the facilities require that Emacs is running under a GUI such as Microsoft Windows or the X Window System under
UNIX,
Linux or
Cygwin. I currently develop, test
and use this code mainly with NTEmacs under Microsoft Windows XP. I
do not explicitly support Windows 9x/ME, GNU Emacs version 20 or earlier, or XEmacs.
Files can be accessed either directly via the links below or via a directory listing, and are available both as plain text and
compressed using gzip (with a .gz extension). These packages are mostly under (sporadic) development, and feedback is
welcome.
Some packages that I no longer maintain
(because they are specific to Emacs 20 or Windows 9x / ME) are still available
via the obsolete packages page.
Large packages that have their own web pages:
- REDUCE IDE provides an Integrated Development
Environment for the
REDUCE computer algebra system.
- WoMan allows
UN*X manual pages to be
browsed WithOut Man (or any other external programs); it is
distributed with GNU Emacs since version 21.
ls-lisp and w32-symlinks updates by Lars Hansen
from November 2005 are available here, although there may be later versions in the
development version of Emacs.
Smaller packages, listed alphabetically by file name:
- csv-mode.el,
csv-mode.el.gz: [last updated 23
August
2004] A major mode for editing files of CSV type, which provides commands, key
bindings and a menu to sort records by field, kill and yank
columns, align and unalign fields, and transpose rows and columns. Standard sexpr commands apply
to fields. Blank and comment lines are
ignored, but delimit "paragraphs", and standard comment facilities
are supported. Font-locking highlights separators, quoted fields and
comments. The current field index can be displayed in the mode line.
Separators can be hidden within aligned fields. CSV stands for comma-separated values
and is the default plain-text format for tabular data such as that processed
by spreadsheets and databases. (It has nothing to do with CVS, the
Concurrent Version System!) However, in CSV mode the separators and
(optional) field quotes can be
customized to any disjoint sets of characters. Hence CSV mode could be
used to edit Unix password files, (La)TEX
tables, etc. This package has been developed and
tested with GNU Emacs 21 only and will probably not work with other versions.
(It
supersedes a package I originally released as csv.el, the name of which
clashed with the existing package
csv.el by Ulf Jasper
that converts CSV data with a header record to "list of alist" form,
which would facilitate more sophisticated processing of CSV data.) I
understand from Peter Galbraith that it will be included in version 25.1-1
of the Debian GNU/Linux package
emacs-goodies-el.
- dired-explore.el, dired-explore.el.gz: Provides
Windows-like file exploration within a dired buffer, bound, by default, to meta-return
and meta-mouse-2. A file is opened in a full window
and a directory (folder) replaces the current directory. [This
functionality was previously (inappropriately) at the end of dired-sort-menu;
if you want to use dired-explore with dired-sort-menu then please also
update dired-sort-menu. Note that the details of dired-explore are
different from the version that used to be in dired-sort-menu.]
- dired-sort-menu.el, dired-sort-menu.el.gz:
- Adds a sort sub-menu to the dired-mode Immediate menu that supports
the relevant GNU
ls
sort options, namely name, time modified, size, extension,
unsorted, time created/changed, time accessed (not
under Windows), reverse and recursive.
- It is also available as a pop-up menu on shift-mouse-2 and a static
dialogue window or frame bound to C-d, which is useful for
changing several
dired sort options at once.
- Adds key bindings to toggle some options.
- Provides a sub-menu to save and restore
dired sort configurations.
- Attempts to disable menu/dialogue options that are invalid for the
ls
program or ftp server being used to generate the dired
buffer.
- The dialogue does not require a GUI (whereas the menus do).
- eol-conversion.el, eol-conversion.el.gz: Adds an
end-of-line conversion sub-menu to the Edit menu.
- font-menus.el, font-menus.el.gz: Adds sub-menus to
the Edit menu to control font-lock and display all fonts.
- latex-paren.el, latex-paren.el.gz: Highlights
matching LATEX parens including \(, \[, \{ and $.
- ls-lisp.el, ls-lisp.el.gz:
[last updated 16 February 2004; see also Lars
Hansen's updates]
Enhances the standard Emacs 21 ls-lisp
library as follows.
- Fixes a bug in the handling of filenames containing wildcard
characters.
- Provides better emulation of GNU ls, in particular the various ways of
displaying and sorting by time stamps (
t, c, u
switches) and supports the human-readable (k, M,
G, T) size format (h switch).
- Supports the
-L switch to dereference symbolic links
within dired (which does not work with external ls
programs).
- Adds optional
bash-style brace-expansion of filenames and
improves escaping by `\'.
- Doc string for (redefined)
insert-directory function
includes a full list of options supported, which is referenced from the ls-lisp
customization group doc string.
- Should be a bit faster when `.' files are hidden, since they are no
longer listed and then deleted.
- Follows Cygwin GNU ls
more closely on Windows.
- Optionally hides the final
.lnk extension on shorcuts
that are recognised as symlinks (which needs w32-symlinks,
see below).
- Cutoffs for time/date display are customizable.
- Uses floating point more extensively and uniformly to avoid potential
integer overflow.
- Control of group display is more rational.
- Ignore compilation warnings about `ls-lisp-format-time'; its
arguments have changed. Also, beware that loading this
package on top of the preloaded version (which is unavoidable) upsets
customization's view of the state of options. Also, it may no
longer be entirely compatible with
dired-sort-menu,
which is obsolescent and will be replaced (one day).
- Re-implements the
-F switch handling to avoid breaking
symlink support; with w32-symlinks it should now be
compatible with Cygwin ls.
- Provides an option to skip files whose attributes cannot be accessed
(which caused me problems in
C:\WINNT\ on Windows NT 4.0).
- msdos-tex-shell.el, msdos-tex-shell.el.gz: Improves
NTEmacs support for TEX shell under Windows.
- rcs2log, rcs2log.bat
(rcs2log.gz, rcs2log.bat.gz):
If you have a fairly complete UNIX-like environment such as
Cygwin available
then putting these two files in the NTEmacs
bin directory makes
the Emacs command `vc-update-change-log' work. Please
read rcs2log.bat for further details. (Note that for this
to work the Emacs executable search path needs to such that Emacs can find a
UNIX sh command. I have offered this code to the Emacs
developers and I hope the problem will be fixed in some future version.)
- w32-symlinks.el, w32-symlinks.el.gz:
[see also Lars Hansen's updates]
- Provides support for Windows symbolic links, including Windows
shortcut files and Cygwin
shortcut and (obsolete) symlink files.
- Works with the GNU Emacs 21
ls-lisp emulation (both the
standard version and my current enhanced version, see above) and with
the Cygwin GNU ls
program, to allow dired to follow and create symbolic
links.
- The degree to which symlink targets are canonicalized in
dired
is customizable.
- Absolute Cygwin target filenames are converted by calling the
cygpath
program, if possible.
- Customization is via the
w32-symlinks group, which
appears in both the dired and ls-lisp groups.
- General shortcut support (outside of
dired) is
preliminary and currently turned off by default. Please carefully
follow the installation instructions near the top of the file if you
want to turn it on.
The original 1997 zip archive of the gnuserv
package is mirrored here, purely as a service to Windows users. (I have
played no part in its development.) This is the version that I still use
and which works well for me on Windows NT and XP. Originally by Andy
Norman et al., this Windows NT/95 implementation by Nico François (I think)
uses mailslots, and under NT relies on NT's built-in security for access
control.
|