# emacs-rec-mode

> Emacs mode for working with recutils database files

**Wikidata**: [Q111367937](https://www.wikidata.org/wiki/Q111367937)  
**Source**: https://4ort.xyz/entity/emacs-rec-mode

## Summary
Emacs-rec-mode is an Emacs major mode for working with recutils database files, developed by Spanish computer scientist Jose E. Marchesi. It is distributed as part of the GNU ELPA package archive and is written in Emacs Lisp. The mode provides functionality for editing and querying recutils databases within the Emacs text editor.

## Key Facts
- **Use**: Emacs mode for GNU Recutils database files
- **Aliases**: recmode, rec-mode
- **Creator**: Jose E. Marchesi (Spanish programmer, born 1980-08-13)
- **License**: GNU General Public License (GPL)
- **Part of**: GNU Project (since 2020-11-14)
- **Latest stable version**: 1.9.3 (released 2023-11-21)
- **Platform**: GNU Emacs
- **Programming language**: Emacs Lisp
- **Maintained by**: Antoine Kalmbach (preferred maintainer)
- **Distributed by**: GNU ELPA (since 2020-11-14)
- **Copyright holder**: Free Software Foundation (FSF)
- **Source code repository**: GNU Savannah (using cgit and Gitweb)

## FAQs
### Q: What is emacs-rec-mode used for?
A: Emacs-rec-mode is an Emacs major mode designed for editing and querying recutils database files. It provides syntax highlighting, navigation, and command execution for recutils databases within the Emacs text editor.

### Q: Who developed emacs-rec-mode?
A: Emacs-rec-mode was developed by Spanish computer scientist Jose E. Marchesi. Antoine Kalmbach is the preferred maintainer.

### Q: Where can I find the latest version of emacs-rec-mode?
A: The latest stable version of emacs-rec-mode (1.9.3) is available on the GNU ELPA package archive, with source code hosted on GNU Savannah.

### Q: Is emacs-rec-mode free software?
A: Yes, emacs-rec-mode is free software distributed under the GNU General Public License (GPL), part of the GNU Project and the free software movement.

### Q: How do I install emacs-rec-mode?
A: Emacs-rec-mode can be installed via GNU ELPA by running `M-x package-install RET rec-mode RET` in Emacs, or by using package managers like Nixpkgs or Guix.

## Why It Matters
Emacs-rec-mode plays a crucial role in the GNU ecosystem by providing a specialized editing environment for recutils databases within Emacs. Recutils is a set of tools for managing flat-file, text-based databases, and emacs-rec-mode enhances usability by integrating these databases directly into Emacs. This integration allows users to edit and query recutils files seamlessly, leveraging Emacs' powerful text editing capabilities. The mode is part of the GNU ELPA package archive, ensuring it is widely accessible to users of GNU Emacs. Its development aligns with the GNU Project's mission to provide free software tools that empower users with control over their computing environment.

## Notable For
- **Integration**: First-class integration of recutils databases into GNU Emacs
- **Maintenance**: Actively maintained by Antoine Kalmbach, ensuring compatibility with recent Emacs versions
- **Distribution**: Available via GNU ELPA, making it easily accessible to Emacs users
- **Open Source**: Part of the GNU Project and distributed under the GPL
- **Cross-Platform**: Works across platforms supported by GNU Emacs, including Linux, macOS, and Windows

## Body
### Overview
Emacs-rec-mode is a major mode for GNU Emacs that provides specialized functionality for working with recutils database files. Recutils is a suite of tools for managing flat-file databases, and emacs-rec-mode enhances the editing and querying experience by integrating these databases directly into Emacs.

### Development and Release
- **Creator**: Jose E. Marchesi, a Spanish programmer born in 1980.
- **Maintainer**: Antoine Kalmbach is the preferred maintainer.
- **License**: GNU General Public License (GPL).
- **Latest Version**: 1.9.3 (released 2023-11-21).
- **Previous Versions**: Includes releases from 1.6 (2020-11-14) to 1.9.2 (2023-11-20).

### Technical Details
- **Programming Language**: Emacs Lisp.
- **Platform**: GNU Emacs.
- **Key Press**: `M-x rec-cmd-*` for executing recutils commands.
- **User Manual**: Available at [https://gnu.org/software/recutils/rec-mode-manual](https://gnu.org/software/recutils/rec-mode-manual).

### Distribution and Availability
- **Distributed by**: GNU ELPA (since 2020-11-14).
- **Source Code**: Hosted on GNU Savannah, accessible via cgit and Gitweb.
- **Package Managers**: Available via Nixpkgs (`emacsPackages.rec-mode`) and Guix (`emacs-rec-mode`).

### Classification and Affiliation
- **Instance of**: Major mode, GNU ELPA package, and free software.
- **Part of**: GNU Project and GNU ELPA.
- **Movement**: Free software movement.
- **Copyright**: Copyrighted by the Free Software Foundation (FSF).

### Usage and Features
- **Aliases**: recmode, rec-mode.
- **Use Case**: Editing and querying recutils databases within Emacs.
- **Functionality**: Includes syntax highlighting, navigation, and command execution for recutils files.

### References and Citations
- **Website**: [https://elpa.gnu.org/packages/rec-mode.html](https://elpa.gnu.org/packages/rec-mode.html).
- **Source Code**: [https://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/?h=externals/rec-mode](https://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/?h=externals/rec-mode).
- **Documentation**: User manual available at [https://gnu.org/software/recutils/rec-mode-manual](https://gnu.org/software/recutils/rec-mode-manual).

## References

1. [Source](https://elpa.gnu.org/packages/rec-mode.html)
2. [Source](https://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/rec-mode.el?h=externals/rec-mode)
3. [Rec-Mode version 1.8.3. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-04/msg00008.html)
4. [Rec-Mode version 1.8.2. 2021](https://lists.gnu.org/archive/html/gnu-emacs-sources/2021-12/msg00023.html)
5. [Rec-Mode version 1.8.1. 2021](https://elpa.gnu.org/packages/rec-mode-1.8.1.tar.lz)
6. [Rec-Mode version 1.8.0. 2021](https://elpa.gnu.org/packages/rec-mode-1.8.0.tar.lz)
7. [Rec-Mode version 1.8.4. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-05/msg00083.html)
8. [Rec-Mode version 1.9.0. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-06/msg00032.html)
9. [Rec-Mode version 1.9.1. 2022](https://lists.gnu.org/archive/html/gnu-emacs-sources/2022-12/msg00062.html)
10. [rec-mode version 1.6. 2020](https://lists.gnu.org/archive/html/gnu-emacs-sources/2020-11/msg00013.html)
11. [Rec-Mode version 1.9.2. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-11/msg00050.html)
12. [Rec-Mode version 1.9.3. 2023](https://lists.gnu.org/archive/html/gnu-emacs-sources/2023-11/msg00051.html)
13. [[GNU ELPA] Rec-Mode version 1.9.4. 2024](https://lists.gnu.org/archive/html/gnu-emacs-sources/2024-08/msg00074.html)