Skip to main content

28 Maintaining Large Programs

This chapter describes Emacs features for maintaining medium- to large-size programs and packages. These features include:

  • - Unified interface to Support for Version Control Systems (VCS) that record the history of changes to source files.
  • - Commands for handling programming projects.
  • - A specialized mode for maintaining ChangeLog files that provide a chronological log of program changes.
  • - Xref, a set of commands for displaying definitions of symbols (a.k.a. “identifiers") and their references.
  • - EDE, the Emacs’s own IDE.
  • - A mode for merging changes to program sources made on separate branches of development.

If you are maintaining a large Lisp program, then in addition to the features described here, you may find the Emacs Lisp Regression Testing (ERT) library useful (see ERT in Emacs Lisp Regression Testing).

• Version Control  Using version control systems.
• Projects  Commands for handling source files in a project.
• Change Log  Maintaining a change history for your program.
• Xref  Find definitions and references of any function, method, struct, macro, … in your program.
• EDE  An integrated development environment for Emacs.
• Emerge  A convenient way of merging two versions of a program.