# Eshell

> Elisp based shell integrated to Emacs

**Wikidata**: [Q110792952](https://www.wikidata.org/wiki/Q110792952)  
**Source**: https://4ort.xyz/entity/eshell

## Summary
Eshell is an Elisp-based shell integrated into GNU Emacs, developed by John Wiegley. It serves as a command-line interpreter within the Emacs environment, allowing users to execute Unix shell commands directly from within the editor. Released as free software, Eshell is cross-platform and operates as part of GNU Emacs, leveraging Emacs Lisp for its functionality.

## Key Facts
- **Instance of**: Command-line interpreter, free software
- **Created by**: John Wiegley (programmer)
- **Part of**: GNU Emacs
- **Platform**: GNU Emacs (cross-platform)
- **Inception**: 1999
- **Programming language**: Emacs Lisp
- **Operating system**: Cross-platform (applies to GNU Emacs)
- **Copyright status**: Copyrighted
- **Copyright holder**: References available in source material
- **User manual**: Available in English at [GNU documentation](https://www.gnu.org/software/emacs/manual/html_node/emacs/Eshell.html)
- **Source code repository**: Hosted at [Git Savannah](https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/eshell)
- **Debian source package**: `eshell` (active from 2000 to 2002)
- **Gentoo package**: `app-xemacs/eshell` (applies to XEmacs)

## FAQs
**What is Eshell?**
Eshell is an Elisp-based shell integrated into GNU Emacs, designed to execute Unix shell commands within the Emacs environment. It functions as a command-line interpreter, allowing users to run shell operations directly from Emacs.

**Who developed Eshell?**
Eshell was developed by John Wiegley, a programmer, as part of GNU Emacs.

**What programming language is Eshell written in?**
Eshell is written in Emacs Lisp, the dialect of Lisp used in GNU Emacs.

**Is Eshell free software?**
Yes, Eshell is distributed under terms that allow users to freely run, study, change, and distribute it and modified versions.

**What platforms does Eshell support?**
Eshell is cross-platform and operates within GNU Emacs, which itself is cross-platform.

**Where can I find the source code for Eshell?**
The source code for Eshell is available in the GNU Emacs repository at [Git Savannah](https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/eshell).

## Why It Matters
Eshell enhances the functionality of GNU Emacs by integrating a shell environment directly into the editor. This allows users to perform shell operations without leaving the Emacs interface, improving workflow efficiency. As free software, Eshell adheres to principles of open-source development, promoting user freedom and collaboration. Its integration with Emacs Lisp ensures seamless interaction with other Emacs features, making it a valuable tool for developers and power users.

## Notable For
- **Integration**: First-class integration of a Unix shell within GNU Emacs.
- **Free Software**: Released under terms that allow unrestricted use, modification, and distribution.
- **Cross-Platform**: Operates across multiple computing platforms through GNU Emacs.
- **Emacs Lisp**: Utilizes Emacs Lisp, the native scripting language of GNU Emacs.

## Body

### History
Eshell was developed in 1999 by John Wiegley, a programmer, as part of GNU Emacs. It was designed to provide a shell environment within the Emacs editor, allowing users to execute Unix commands without leaving the editor. The project was released as free software, adhering to the principles of open-source development.

### Architecture
Eshell is built using Emacs Lisp, the dialect of Lisp used in GNU Emacs. It functions as a command-line interpreter, enabling users to run shell commands directly from within the Emacs environment. The shell operates in a buffer, allowing users to manage processes, navigate directories, and execute scripts seamlessly.

### Ecosystem
Eshell is part of the GNU Emacs ecosystem, which includes a wide range of text editing and programming tools. It leverages Emacs Lisp for its functionality, ensuring compatibility with other Emacs features. The shell supports cross-platform operation, making it accessible on various computing platforms.

### Community
Eshell benefits from the broader GNU Emacs community, which includes developers, users, and contributors. The project is hosted on Git Savannah, where the source code is maintained and updated. Documentation and user manuals are available in English, supporting users in learning and utilizing the tool effectively.

### Related Projects
Eshell is closely related to GNU Emacs, which was first released in 1985. The project shares the same principles of free software and open-source development. Eshell also integrates with other Emacs packages and extensions, enhancing the overall functionality of the editor.

### Technical Details
Eshell is available as a Debian source package (`eshell`) from 2000 to 2002. It is also packaged for Gentoo Linux under `app-xemacs/eshell`, specifically for XEmacs. The copyright status of Eshell is copyrighted, with references available in the source material. The user manual is accessible online, providing detailed guidance for users.

## References

1. [Source](https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/eshell/eshell.el)