Emacs bits

This is a collection of various Emacs hacks, mostly useful enhancements for the released Emacs or stuff that's been rejected for the development version ☹. Some of it is more-or-less historical.

NB. Some of these files have non-ASCII encodings (see their coding cookies), I think either iso-2022-7bit or utf-8. You probably want to download them directly, since the charset won't/can't be reported correctly by the server.

Patches to provide automatic handling of GNU GPG-encrypted files, as mentioned in Emacs' TODO.
Autocapitalization of sentence beginnings.
Patch for Emacs integration of the Bicycle Repair Man tool for Python (version 0.9) to work correctly with tabs in the source.
Word movement in identifiers CapitalizedLikeThis. (Emacs 23 only.) Fixed version of the one from Emacs.
Major mode for editing GNU Cfengine configuration files. (Included in the Emacs development source.)
Major mode for editing CIF-format files. (Of interest to crystallographers.)
CC support for PHP, JavaScript, C#
cc-php-js-cs.el provides preliminary support for PHP, JavaScript, and C# as an add-on to CC mode. Since it's difficult to build, there's also a compiled version built with Emacs 22.2. This probably needs someone to work on it. It doesn't deal with PHP embedded in HTML—look at html-php.el for that.

There is an earlier version as a patch against the Emacs 22.1 CC mode, which and includes some fixes to make it work in Emacs 21. There's also an archive of the patched CC mode, byte-compiled for Emacs 21, and a patch against Emacs 23.1.

For snarfing mailed MS Outlook appointments into Emacs diary. (Included in the Emacs development source.)
Implements setting local variables for all files found in a directory tree.
Original patch against Emacs 21 for dynamic loading of Emacs features implemented in C, and another patch for Emacs 22. See the README.
Emacs 22's eldoc.el hacked to work in Emacs 21.
Auxiliary file for use with python.el.
Abstraction of the tags mechanism
Patch for Emacs 22 Etags that provides hooks for language modes to use their own mechanisms for navigating to definitions with M-.
Miscellaneous small functions/settings that might be useful to others, including these commands/functions:
Add a VC log entry for the current defun.
Increment RCS-style Revision keywords in the buffer.
Run Ediff between the (modified) current buffer and the buffer's file.
Delete a level of nested sexp around the current sexp and reindent.
Re-code the region BEG to END using the given CODING-SYSTEM.
Fontify nroff-style output using `Man-fontify-manpage'.
Set an appropriate `change-log-default-name' for file being edited.
Return information on the arity (argument numbers) of FUNCTION.
Display value of previous sexp in the style of the Lisp manual.
Make MIME boundary for COUNT-th call out of `spook'y phrases.
Indent active region in `transient-mark-mode' using `indent-region'.
Search for REGEX outside comments and strings.
Jump to a place in the buffer chosen using a buffer menu/completion.
Help for extracting flymake messages without mouse-hover.
Which Function mde support for nXML.
Also modifications/fixes for backward-up-list, delete-indentation, byte-compile-file-form-defmacro, vc-default-next-version, vc-branch-part, vc-previous-version, and a few other things.
Major mode for editing literate Haskell with the LaTeX convention using multi-mode.el and haskell.el or the more elaborate haskell-mode.
Simple major mode for editing Haskell, originally intended for use with haskell-latex.el and possible inclusion in Emacs. You should probably use the canonical mode now.
Multi-mode editing of PHP embedded in HTML.
Flattened Imenu
Patch for Emacs 22 Imenu that avoids finding positions in strings and comments and provides command imenu-all that works with a flattened version of the Imenu structures, so that you can do completion interactively, regardless of whether the name is a function/variable/whatever.
Guess whether to use indent-tabs-mode when finding files.
Major modes for editing LDAP schema and LDIF files.
Some code for mangling name service database entries to LDIF format. Requires ldap-mode.el.
Mailcap tidy-up
Patch against Emacs 22 to tidy up mailcap.el and provide a new command for viewing (used by Dired).
Replacing the old gmalloc.c with (Doug Lea-based) ptmalloc so that most systems get the same memory allocation as glibc-based ones.
For inserting maths characters from a menu. Probably requires Emacs 22 built with the Gtk toolkit.
Support for multiple major modes in ‘a’ buffer.
Application of multi-mode.el for editing programming language comments in Text mode.
A patch for the noweb-mode.el distributed with noweb.
For editing noweb (the literate programming tool) source files using multi-mode.el.
Minor mode for insertion of paired characters. Just a shim for skeleton-pair-insert-maybe.
Major mode for editing PDB files. (Of interest to crystallographers/structural biologists.)
Movement by ‘phrases’ delimited by punctuation.
Support for POP3 over TLS in Gnus.
A patch for Gnus 5.10 (since applied to Gnus). This method of retrieval is required for Gmail, for instance.
Preventing accidental editing of specific files, e.g. darcs repository files.
Changes for PSGML to speed up parsing under Emacs when setting faces. They're against the Debian version of psgml-1.3.1, but probably apply generally. Also avoid warnings. I don't think this got accepted for PSGML.
Patch for the python-mode.el shipped with Python, which fixes a number of bugs, particularly Emacs-specific ones, since the maintainers only seem to be interested in XEmacs—they didn't want these changes. See also python.el.
Major mode for editing Python code. (A version of this is included in Emacs 22, but has assorted problems this one doesn't. It assumes sym-comp.el is loaded and requires emacs.py in Emacs' etc directory, i.e. data-directory.) This works better than the mode distributed with Python, but requires Emacs 22. See python-21.el for use with Emacs 21. Recent changes are listed in NEWS.python.

See also python-mode.el.diff, and bikeemacs.py.diff if you use the Bicycle Repair Man integration.

A version of python.el that works (with some deficiencies) in Emacs 21, but additionally requires the library syntax.el from Emacs 22. See also the version of eldoc.el to enable you to use Eldoc with Python.
A version of Van Dyke's RFC-viewing mode modified to provide hyperlinking. Kept here as I didn't hear back after submitting the changes.
Show help-echo text on a tty.
Abstraction of mode-dependent symbol completion.
Support for encoding/decoding C or Java-style Unicode escape sequences.
VC support for bzr. This is at least faster than Murri's implementation.
VC support for darcs. There's another implementation of this, but that doesn't have copyright assignment for possible inclusion in Emacs.
UCS keysyms
Patch to support U... UCS keysyms under X in Emacs 22.
Mule stuff