Extensions (using the category name from
‘finder-by-keyword’), are utility libraries intended to be used by programmers writing Emacs Lisp.
These extension libraries offer no (or little) user-facing functionality.
Comprehensive Utility Frameworks
Data Structures and Types
- ArrayExtension – Support for arrays, and matrixes.
- AVLtrees – AVL tree data structures (self-balancing binary trees)
- DictionaryTrees – Advanced dictionary data structures
- Heaps – Heap data structures (a.k.a. priority queues)
- Queues – Queue data structures
- RecordType – Definition of a new type: record. A record is a set of named fields with their associated type.
- TernarySearchTrees – ternary search tree data structures (obsolete - use Tries instead)
- Tries – General trie data structures (including ternary search trees)
- kv.el – key/value data structure functions
- ra-lists.el – Random-Access Pairs and Lists
- TaggedNFA – Tagged non-deterministic finite state automata (generally used for regular expression matching algorithms)
- StringUtils – General string-manipulation utilities
- UcsUtils – General utilities for Unicode characters, strings, and vectors
- ucs-cmds.el – Create commands that insert Unicode chars
- strings.el – Miscellaneous string functions
Numbers and Mathematics
- bigint.el – A simple bigint package for emacs
- [[Infix?]] – Writing infix math expressions
New Language Constructs
- Iterate – an attempt at translating “iterate” Common Lisp library into Emacs Lisp
- LaterDo – Calling functions later, thus do some sort of fake threading
- AsyncEval – allows forms to be evaluated in a different Emacs process
- CoRoutines – Coroutines for Emacs Lisp
- async.el – a module for doing asynchronous processing
- See also ConcurrentEmacs
Parsers and Lexers
- stem.el – routines for stemming English words
- ThingAtPoint – Functions to return various kinds of Emacs Lisp entity at or near point. For example, return the Lisp symbol name nearest point.
- NaKeD – Provide for naked key descriptions: no angle brackets.
- DoReMi – Incremental change using arrow keys or mouse wheel.
- UseCustomizeForKeyBindings – Widget and
‘defcustom’ code to let users use Customize for key bindings.
- keymap-utils – keymap utilities
- EasyMenu – write menu definitions which work under both, Emacs and XEmacs (provided with Emacs)
- TcpClient – Network interface to ease the creation of network related script
- Websocket – Emacs WebSocket client and server
- Elnode – simple emacs async HTTP server
- httpd.el – a web server in Emacs Lisp
- XmlRpc – make asynchronous remote procedure calls over http
- CorbaImplementation – CORBA Dynamic Invocation interface using the IIOP protocol
- SoapClient – access to SOAP web-services from Emacs
- UrlPackage – parse and handle URLs
- grapnel – HTTP request lib built on curl with flexible callback dispatch
- uuid – Globally unique identifiers