At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.
The features of GNU Emacs include
Content-aware editing modes, including syntax coloring, for many file types.
Complete built-in documentation, including a tutorial for new users.
Full Unicode support for nearly all human scripts.
Highly customizable, using Emacs Lisp code or a graphical interface.
An entire ecosystem of functionality beyond text editing, including a project planner, mail and news reader, debugger interface, calendar, and more.
A packaging system for downloading and installing extensions.