STORY

Creation of Emacs Pretty-Printer pp.el

  • Creation of Emacs Pretty-Printer pp.el

  • The history of how the standard GNU Emacs pretty-printing library, pp.el, was created and integrated into the core editor.
  • The Inspiration

    • Emacs uses a variant of Lisp (Emacs Lisp) for programming, configuration, and extensibility.
    • In the late 1980s, Emacs lacked a built-in "pretty printer" to format and display Lisp objects with readable indentation.
    • To solve this personal frustration, I wrote a utility to format and output Lisp data structures in a clean, human-readable layout.
  • Shared with the Community

    • I shared my custom pretty-printer utility on an Emacs mailing list.
    • Richard Stallman (RMS) saw the code, called it "brilliant," and asked me to release it so it could be included directly in the core of GNU Emacs.
  • Core Integration

    • The script, formally named pp.el, was added to the standard GNU Emacs distribution in 1989.
    • The first time I started up the wildly useful "Gnus" news and mail reader and saw the message "Loading pp..." flash in the minibuffer, I grinned from ear to ear, realizing my utility had truly become part of the standard Emacs plumbing.
    • It remains a built-in component of Emacs to this day, providing core functions like pp, pp-to-string, and pp-buffer that developers rely on daily for debugging Lisp data structures.
These facts are as Randal recalls them, but much time has passed for most of this. If you find a factual error, please email realmerlyn@gmail.com.