Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Emacs Lisp
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Dialect of Lisp in the Emacs text editor}} {{Infobox programming language | name = Emacs Lisp | logo = EmacsIcon.svg | logo size = 150px | logo caption = Emacs logo | family = [[Lisp (programming language)|Lisp]] | paradigm = [[Functional programming|Functional]], [[Metaprogramming|meta]], [[Reflective programming|reflective]] | released = {{Start date and age|1985}} | designers = [[Richard Stallman]],<br />[[Guy L. Steele, Jr.]] | developer = [[GNU Project]] | latest release version = 29.4 | latest release date = {{Start date and age|2024|06|22|df=yes}} | typing = [[Type system|Dynamic]], [[strong typing|strong]] | scope = Dynamic, optionally lexical | influenced by = [[Common Lisp]], [[Maclisp]] | influenced = | platform = [[Emacs]] | operating system = Cross-platform | license = [[GNU General Public License#Version 3|GPLv3]] | website = {{url|https://www.gnu.org/software/emacs/|gnu.org/emacs}} | file ext = .el, .elc, .eln }} '''Emacs Lisp''' is a [[Lisp programming language|Lisp]] [[Dialect (computing)|dialect]] made for [[Emacs]]. It is used for implementing most of the editing functionality built into Emacs, the remainder being written in [[C (programming language)|C]], as is the Lisp [[Interpreter (computing)|interpreter]]. Emacs Lisp code is used to modify, extend and customize Emacs. Those not wanting to write the code themselves can use the [https://www.gnu.org/software/emacs/manual/html_node/emacs/Easy-Customization.html Customize] function instead. It provides a set of [[preference]]s pages allowing the user to set options and preview their effect in the running Emacs session. When the user saves their changes, Customize simply writes the necessary Emacs Lisp code to the user's [[config file]], which can be set to a special file that only Customize uses, to avoid the possibility of altering the user's own file. Besides being a [[programming language]] that can be [[compiled]] to [[bytecode]]<ref>{{cite web |title=Byte compiling Emacs Lisp |url=https://www.gnu.org/software/emacs/manual/html_node/elisp/Byte-Compilation.html |access-date=2024-06-14 |website=GNU Emacs manual | language=en-US}}</ref> and [[transcompiled]] to [[native code]],<ref>{{cite web |title=Compilation of Emacs Lisp to native code |url=https://www.gnu.org/software/emacs/manual/html_node/elisp/Native-Compilation.html |access-date=2024-06-14 |website=GNU Emacs manual | language=en-US}}</ref> Emacs Lisp can also function as an [[Interpreter (computing)|interpreted]] [[scripting language]], much like the [[Unix]] [[Bourne shell]] or [[Perl]], by calling Emacs in ''batch mode''. In this way it may be called from the command line or via an executable file, and its editing functions, such as buffers and movement commands are available to the program just as in the normal mode. No [[user interface]] is presented when Emacs is started in batch mode; it simply executes the passed-in script and exits, displaying any output from the script. Emacs Lisp is also termed '''Elisp''', although there are also older, unrelated Lisp dialects with that name.<ref name="hedrick_19811218_elisp">{{cite letter|url=https://www.cs.cmu.edu/Groups/AI/lang/lisp/doc/history/cl.txt|subject="information about Common Lisp implementation"|date=1981-12-18|author="HEDRICK at RUTGERS (Mngr DEC-20's/Dir LCSR Comp Facility"|recipient="rpg at SU-AI, jonl at MIT-AI"|quote="We have some experience in Lisp implementation now, since Elisp (the extended implementation of Rutgers/UCI Lisp) is essentially finished."|access-date=2019-07-28|archive-url=https://web.archive.org/web/20160920081348/https://www.cs.cmu.edu/Groups/AI/lang/lisp/doc/history/cl.txt|archive-date=2016-09-20|url-status=live}}</ref><ref name="cca_elisp">{{cite magazine |magazine=Unix Review |title=Ad for CCA EMACS |date=December 1984 |page=16 |quote="CCA EMACS and Elisp are trademarks of CCA Uniworks, Inc."}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)