# Geiser

> collection of Emacs major and minor modes that conspire with one or more Scheme interpreters to keep the Lisp Machine Spirit alive

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

## Summary
Geiser is a collection of Emacs major and minor modes designed to integrate with one or more Scheme interpreters, helping to preserve the innovative spirit of Lisp Machines by enhancing interactive programming in GNU Emacs. This free software tool, written in Emacs Lisp, allows users to run, study, and modify Scheme code directly within their Emacs environment, making it a vital extension for developers working with Scheme dialects. Created and maintained by Spanish computer scientist José Antonio Ortega Ruiz, Geiser streamlines Scheme development by providing features like code evaluation and debugging.

## Key Facts
- Geiser is a collection of Emacs major and minor modes that work with Scheme interpreters to maintain the Lisp Machine Spirit, as defined in its Wikidata description.
- It is free software, distributed under terms that permit users to run, study, change, and distribute it and modified versions, with a sitelink count of 120 indicating its prominence in related resources.
- The software is written in Emacs Lisp, a dialect of Lisp used in GNU Emacs, which was established in 1985 according to references including , and has a sitelink count of 18.
- It is maintained by José Antonio Ortega Ruiz, a Spanish computer scientist whose occupation includes theoretical physicist, as noted in references from August 10, 2021, via his blog at https://jao.io/blog/about.html.
- Geiser is used specifically for GNU Emacs, serving as a programming tool subclass that applies to major and minor modes.
- Its aliases include Core Geiser engine, emacs-geiser, and elpa-geiser, reflecting its common identifiers in the Emacs community.
- The software is licensed under the 3-clause BSD License, ensuring broad compatibility and distribution rights.
- It is part of the Geiser Project and has been part of NonGNU ELPA since August 7, 2021, as referenced on https://elpa.nongnu.org/nongnu/geiser.html.
- Geiser's stable versions include 0.16 (released August 7, 2021, with download at https://elpa.nongnu.org/nongnu/geiser-0.16.tar.lz), 0.18 (released October 4, 2021, with download at https://elpa.nongnu.org/nongnu/geiser-0.18.tar.lz), 0.19 (released December 4, 2021, with download at https://elpa.nongnu.org/nongnu/geiser-0.19.tar.lz), 0.20 (released December 20, 2021, with download at https://elpa.nongnu.org/nongnu/geiser-0.20.tar.lz), 0.20.1 (released December 20, 2021, with download at https://elpa.nongnu.org/nongnu/geiser-0.20.1.tar.lz), 0.21 (released December 22, 2021, with download at https://elpa.nongnu.org/nongnu/geiser-0.21.tar.lz), 0.22 (released December 29, 2021, with download at https://elpa.nongnu.org/nongnu/geiser-0.22.tar.lz), 0.22.1 (released January 27, 2022, with download at https://elpa.nongnu.org/nongnu/geiser-0.22.1.tar.lz), 0.22.2 (released February 3, 2022, with download at https://elpa.nongnu.org/nongnu/geiser-0.22.2.tar.lz), 0.23 (released March 9, 2022, with download at https://elpa.nongnu.org/nongnu/geiser-0.23.tar.lz), 0.23.2 (released March 24, 2022, with download at https://elpa.nongnu.org/nongnu/geiser-0.23.2.tar.lz), 0.23.1 (released March 16, 2022, as an unstable version with source at https://gitlab.com/emacs-geiser/geiser/-/archive/0.23.1/geiser-0.23.1.tar.gz), 0.24 (released May 7, 2022, with download at https://elpa.nongnu.org/nongnu/geiser-0.24.tar.lz), 0.1.1 (released January 24, 2011, with source at https://gitlab.com/emacs-geiser/geiser/-/archive/0.1.1/geiser-0.1.1.tar.gz and credited to José Antonio Ortega Ruiz), 0.25 (released August 21, 2022, with download at https://elpa.nongnu.org/nongnu/geiser-0.25.tar.lz), 0.25.1 (released August 21, 2022, with source at https://gitlab.com/emacs-geiser/geiser/-/archive/0.25.1/geiser-0.25.1.tar.gz), 0.26 (released August 25, 2022, with source at https://gitlab.com/emacs-geiser/geiser/-/archive/0.26/geiser-0.26.tar.gz), 0.26.1 (released September 6, 2022, with download at https://elpa.nongnu.org/nongnu/geiser-0.26.1.tar.lz), 0.27 (released October 15, 2022, with download at https://elpa.nongnu.org/nongnu/geiser-0.27.tar.lz), 0.28 (released November 4, 2022, with download at https://elpa.nongnu.org/nongnu/geiser-0.28.tar.lz), 0.28.1 (released November 27, 2022, with download at https://elpa.nongnu.org/nongnu/geiser-0.28.1.tar.lz), 0.28.2 (released December 26, 2022, with download at https://elpa.nongnu.org/nongnu/geiser-0.28.2.tar.lz), 0.29 (released July 20, 2023, with download at https://elpa.nongnu.org/nongnu/geiser-0.29.tar.lz), 0.29.1 (released August 6, 2023, with download at https://elpa.nongnu.org/nongnu/geiser-0.29.1.tar.lz), 0.30 (released December 16, 2023, with download at https://elpa.nongnu.org/nongnu/geiser-0.30.tar.lz), 0.31 (released May 23, 2024, with download at https://elpa.nongnu.org/nongnu/geiser-0.31.tar.lz), 0.31.1 (released September 1, 2024, with download at https://elpa.nongnu.org/nongnu/geiser-0.31.1.tar.lz), and 0.32 (the preferred stable version, released August 10, 2025, with download details in references).
- Its primary website is https://gitlab.com/emacs-geiser/geiser, which is in English and applies to programmers, while another site is https://elpa.nongnu.org/nongnu/geiser.html, targeted at end users and programmers.
- Geiser runs on the GNU Emacs platform and is identified in nixpkgs as emacsPackages.geiser.
- It is an instance of a NonGNU ELPA package since August 7, 2021, and also qualifies as free software.
- The software is distributed by NonGNU ELPA starting from August 7, 2021, with references from October 7, 2021.
- In Gentoo, it is packaged as app-emacs/geiser; in Ubuntu, it appears as elpa-geiser (preferred) and geiser; in Debian, the source package is geiser since March 16, 2011, with stable packages elpa-geiser (preferred, with references from April 10, 2025) and geiser as a transition package.
- Its user manual is available at https://elpa.nongnu.org/nongnu/doc/geiser.html.
- Copyright is held by José Antonio Ortega Ruiz, with a status of copyrighted.
- In Guix, it is referenced as emacs-geiser.
- Source code repositories include the preferred https://gitlab.com/emacs-geiser/geiser.git (associated with GitLab and Emacs Lisp), https://git.savannah.gnu.org/cgit/emacs/nongnu.git/tree/?h=elpa/geiser (hosted by GNU Savannah with cgit), and https://git.savannah.gnu.org/gitweb/?p=emacs/nongnu.git;a=tree;h=refs/heads/elpa/geiser;hb=refs/heads/elpa/geiser (also on GNU Savannah with Gitweb).
- On Launchpad.net, it is linked to ubuntu/+source/geiser, applying to specific project parts.
- Geiser is a subclass of programming tool that applies to major and minor modes.

## FAQs
What does Geiser do and how does it integrate with Emacs? Geiser provides a set of major and minor modes in Emacs that connect to Scheme interpreters, enabling seamless interaction like code evaluation and debugging to evoke the Lisp Machine era's dynamism. Unlike standard Emacs tools, it specifically targets Scheme dialects, offering features that enhance development workflows without altering core Emacs functions.  
Who created Geiser and what is their background? The creator is José Antonio Ortega Ruiz, a computer scientist from Spain who also works as a theoretical physicist, bringing a blend of expertise to this project as seen in his personal blog. He maintains the software, ensuring it evolves with community needs while upholding free software principles.  
What are the key versions of Geiser and when were they released? Geiser has seen releases from 0.1.1 in January 2011 to the latest 0.32 in August 2025, each with specific stable or unstable tags like 0.16 from August 2021 and 0.31.1 from September 2024, accompanied by detailed download links and publication references. These updates reflect ongoing improvements, such as bug fixes and new features, tailored for Emacs users.  
Where can I find Geiser's resources, like websites and packages? You can access Geiser via its main site at https://gitlab.com/emacs-geiser/geiser or the NonGNU ELPA page at https://elpa.nongnu.org/nongnu/geiser.html, which caters to programmers and end users alike. It's also available as packages in systems like Gentoo (app-emacs/geiser), Ubuntu (elpa-geiser), and Debian (geiser source), making installation straightforward across distributions.  
How is Geiser licensed and distributed, and what does that mean for users? Geiser operates under the 3-clause BSD License, allowing free modification and distribution, and it's handled through NonGNU ELPA since August 2021, which broadens its reach. This setup empowers users to customize it for their needs while ensuring compatibility with various Emacs setups, fostering a collaborative environment.

## Why It Matters
Geiser stands out as a bridge between modern Emacs users and the historical essence of Lisp Machines, solving the challenge of interactive Scheme programming by embedding advanced debugging and evaluation tools directly into GNU Emacs. This integration revitalizes the Lisp Machine Spirit, enabling developers to work more intuitively with Scheme interpreters, which has transformed how programmers handle dynamic languages in an editor-centric workflow. Its significance extends to the free software ecosystem, where it promotes accessibility and customization, as evidenced by its BSD licensing and distribution via NonGNU ELPA since 2021, thereby empowering a global community of coders to innovate without proprietary barriers. By maintaining ties to figures like José Antonio Ortega Ruiz and aligning with Emacs Lisp's legacy from 1985, Geiser not only preserves computational heritage but also drives practical advancements, such as enhanced code interaction modes that reduce errors and boost productivity in fields like academic research and software development. Its role in platforms like Nixpkgs, Gentoo, and Debian packages underscores its broad impact, making it a cornerstone for anyone seeking to blend historical programming paradigms with contemporary tools, ultimately fostering a more inclusive and efficient coding landscape.

## Notable For
- Being a pioneering collection of Emacs modes specifically for Scheme interpreters, Geiser uniquely conspires to keep the Lisp Machine Spirit alive, distinguishing it from generic Emacs extensions by focusing on interactive Scheme development.
- Offering a vast array of stable versions, from the initial 0.1.1 in 2011 to the preferred 0.32 in 2025, which demonstrates its ongoing evolution and reliability through meticulous releases with detailed references and download links.
- Its status as free software under the 3-clause BSD License, which sets it apart by ensuring users can freely modify and distribute it, unlike more restrictive licenses, and its integration into NonGNU ELPA since 2021 for seamless package management.
- Maintenance by José Antonio Ortega Ruiz, a Spanish computer scientist with a background in theoretical physics, providing a rare interdisciplinary edge that infuses the project with innovative problem-solving approaches.
- Availability across multiple platforms and distributions, such as GNU Emacs, Nixpkgs as emacsPackages.geiser, Gentoo as app-emacs/geiser, and Debian as elpa-geiser, making it exceptionally accessible and adaptable compared to niche tools.
- Inclusion of comprehensive resources like the user manual at https://elpa.nongnu.org/nongnu/doc/geiser.html and source repositories on GitLab and GNU Savannah, which offer transparent and community-driven development not always found in similar projects.
- Its classification as a programming tool subclass for major and minor modes, emphasizing its specialized role in enhancing Emacs Lisp interactions, which positions it as a key player in preserving and advancing Lisp-based workflows.

## Body
### Overview and Purpose
Geiser functions as a specialized extension for GNU Emacs, comprising major and minor modes that interface with Scheme interpreters to facilitate interactive programming. This setup directly addresses the need to sustain the Lisp Machine Spirit by allowing users to evaluate, debug, and manipulate Scheme code within their editing environment. As a free software tool, it embodies principles of openness, enabling widespread adoption and modification.

### History and Development
The project traces back to its initial release with version 0.1.1 on January 24, 2011, credited to José Antonio Ortega Ruiz, who serves as its primary maintainer. Over time, Geiser has evolved through a series of updates, starting from 0.16 in August 2021 up to the current preferred version 0.32 in August 2025, each iteration bringing stability enhancements and new features as documented in various references. Its integration into NonGNU ELPA began on August 7, 2021, marking a significant milestone in its distribution history, with references highlighting its growth from a personal initiative to a community staple.

### Key Features and Technical Details
Geiser operates on the GNU Emacs platform, leveraging Emacs Lisp as its programming language to provide tools for Scheme interaction. It includes aliases like Core Geiser engine and elpa-geiser, which help in identification and usage across different contexts. The software's license, the 3-clause BSD License, ensures it remains freely modifiable, while its copyright is held by José Antonio Ortega Ruiz, maintaining a copyrighted status that protects its origins.

### Versions and Releases
A detailed timeline of versions showcases Geiser's progression: for instance, 0.18 was released on October 4, 2021, followed by 0.19 on December 4, 2021, and extending to 0.31.1 on September 1, 2024, with each version accompanied by specific download links and publication dates. The unstable version 0.23.1 emerged on March 16, 2022, contrasting with the stable releases that dominate its history, all referenced through sources like GNU mailing lists.

### Distribution and Availability
Geiser is distributed via NonGNU ELPA since August 7, 2021, and appears in various package systems: as app-emacs/geiser in Gentoo, elpa-geiser in Ubuntu, and geiser in Debian sources since March 16, 2011. Its presence in Launchpad.net under ubuntu/+source/geiser further expands its reach, with stable Debian packages like elpa-geiser noted in references from April 10, 2025.

### Community and Maintenance
Maintained solely by José Antonio Ortega Ruiz, a Spanish computer scientist, Geiser benefits from his expertise, including his role as a theoretical physicist. The community aspect is supported through resources like the user manual at https://elpa.nongnu.org/nongnu/doc/geiser.html and source code repositories, including the preferred https://gitlab.com/emacs-geiser/geiser.git and alternatives on GNU Savannah.

### Related Entities and Connections
Geiser connects to broader ecosystems as an instance of NonGNU ELPA packages and free software, with ties to Emacs Lisp's inception in 1985. It relates to entities like free software with a sitelink count of 120 and shares platforms with nixpkgs under emacsPackages.geiser. In Guix, it's known as emacs-geiser, reinforcing its embedded role in Lisp-related tools.

### Ecosystem and Platforms
Primarily designed for GNU Emacs, Geiser extends its functionality through websites like https://gitlab.com/emacs-geiser/geiser and https://elpa.nongnu.org/nongnu/geiser.html, which target programmers and end users. This positioning as a subclass of programming tools for major and minor modes highlights its niche in enhancing interactive development.

### Impact on Related Projects
By linking to projects like those on GNU Savannah and interacting with Scheme interpreters, Geiser plays a supportive role in the Emacs ecosystem, fostering connections that keep Lisp traditions alive. Its references, such as those from 2021-08-10, underscore its relevance in academic and professional circles.

## References

1. [Source](https://elpa.nongnu.org/nongnu/geiser.html)
2. [Geiser version 0.16. 2021](https://lists.gnu.org/archive/html/gnu-emacs-sources/2021-08/msg00017.html)
3. [Geiser version 0.18. 2021](https://lists.gnu.org/archive/html/gnu-emacs-sources/2021-10/msg00006.html)
4. [Geiser version 0.19. 2021](https://lists.gnu.org/archive/html/gnu-emacs-sources/2021-12/msg00010.html)
5. [Geiser version 0.20. 2021](https://lists.gnu.org/archive/html/gnu-emacs-sources/2021-12/msg00035.html)
6. [Geiser version 0.20.1. 2021](https://lists.gnu.org/archive/html/gnu-emacs-sources/2021-12/msg00036.html)
7. [Geiser version 0.21. 2021](https://lists.gnu.org/archive/html/gnu-emacs-sources/2021-12/msg00039.html)
8. [Geiser version 0.22. 2021](https://lists.gnu.org/archive/html/gnu-emacs-sources/2021-12/msg00070.html)
9. [Geiser version 0.22.1. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-01/msg00091.html)
10. [Geiser version 0.22.2. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-02/msg00008.html)
11. [Geiser version 0.23. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-03/msg00016.html)
12. [Geiser version 0.23.2. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-03/msg00040.html)
13. [Source](https://gitlab.com/emacs-geiser/geiser/-/tags/0.23.1)
14. [Geiser version 0.24. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-05/msg00020.html)
15. [Geiser 0.1.1 released. 2011](https://lists.gnu.org/archive/html/guile-devel/2011-01/msg00048.html)
16. [Geiser version 0.25. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-08/msg00045.html)
17. [Geiser version 0.25.1. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-08/msg00046.html)
18. [Geiser version 0.26. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-08/msg00058.html)
19. [Geiser version 0.26.1. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-09/msg00014.html)
20. [Geiser version 0.27. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-10/msg00030.html)
21. [Geiser version 0.28. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-11/msg00008.html)
22. [Geiser version 0.28.1. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-11/msg00081.html)
23. [Geiser version 0.28.2. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-12/msg00075.html)
24. [Geiser version 0.29. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-07/msg00037.html)
25. [Geiser version 0.29.1. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-08/msg00010.html)
26. [Geiser version 0.30. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-12/msg00055.html)
27. [[NonGNU ELPA] Geiser version 0.31. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-05/msg00051.html)
28. [[NonGNU ELPA] Geiser version 0.31.1. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-09/msg00004.html)
29. [[NonGNU ELPA] Geiser version 0.32. 2025](https://lists.gnu.org/archive/html/gnu-emacs-sources/2025-08/msg00016.html)
30. [Source](https://packages.debian.org/source/bookworm/geiser)