Emacs: Have You Read Emacs Manual?

By Xah Lee. Date:

Emacs Idolization: Have You Read the Emacs Manual From Cover to Cover?

Thien-Thi Nguyen wrote:

Why does the search start with Google (and continue with other downstream, non-terminating, whirlpool-shaped, out of date, referenda)? Why not go to the source?  The Emacs Lisp manual, the Emacs Lisp code, the Emacs customization facility, the Emacs *scratch* buffer, the Emacs!

Elena wrote:

Surprisingly enough - or not? - it seems few users do read the manuals… I'm guilty of this too (and Emacs' manuals will be my reading on my next vacations).

I always thought of doing this, but it never happened. Not the emacs manual, nor the elisp manual. Over the past 12 years of using emacs daily, i have read perhaps half of both manuals, counted in a accumulative way. The few times i tried to read emacs manual systematically in the past years, usually didn't last for more than few hours.

However, i have read cover to cover, word for word, systematically in a continued setting, several programing language or software manuals. Some of these software are quite more deeper than emacs. Here they are from my recollection.

(Note: emacs manual for emacs 22 is 589 pages in printed form, and elisp manual for emacs 21 is 900 pages.)

Microsoft Word Manual

Microsoft Word manual i think i've read most of it in about 1992. (if i recall correctly, it's 2 books, one for reference) Though, i can't remember i actually read the manual in a systematic setting or just become expert by using and scanning the doc when needed. (i stopped using Microsoft Word in about 1998.)

HP-28S Advanced Scientific Calculator

HP-28S Advanced Scientific Calculator manual. (2 spiral bound books) I read cover to cover, twice, in about 1991. In fact this is how i learned programing, my first computer language, and the first i mastered.

(See: HP-28S Advanced Scientific Calculator and Xah Lee's Computing Experience (Impression Of Lisp from Mathematica). )

The Mathematica Book

Mathematica manual (aka the Mathematica Book Buy at amazon ). I've read it 3 times in separate years, systematically, from cover to cover. This all happened in 1990s. Note that Mathematica the language, the subject it deals with, is inherently a order of magnitude more complex than emacs. The Mathematica book is 1381 pages, 3 kilograms. Heavy enough to hit someone to cause concussion.

This 4th edition published in 1999, is the last printed edition. Like most software, they no longer print manuals. The software no longer comes with this printed book since Mathematica 4 or before.

The Perl Book

The Perl Book. I've read basically cover to cover in about 1998, 1999. (yes, i own the printed book. The printed book aka The Camel Book is edited version of Perl's man pages. 670 pages. Actually i've read all major Perl books from 1997 to ~2000. [see Perl Books Survey 2002]

The Unicode Standard, Version 3.0

Read the whole printed version of the The Unicode Standard, Version 3.0 Buy at amazon , in ~2000, word for word. (1072 pages; though half of it is character table.) (See also: Xah's Unicode Tutorial.)

PHP manual

The PHP manual (online). Roughly read reasonably all of it in about a week, in 2005. (scanned in detail on parts that do not require detailed understanding at first.)

I enjoyed PHP manual tremendously. [see Examples of Quality Documentation in Computing Industry]

MySQL manual

MySQL manual, online. Read it at the same time i read PHP manual from cover to cover, in 2005. Took me about week or two. I've been working with SQL or variants daily in a day job during 1998 to 2002, but haven't touched it for 2 years. So this reading was to brush up my SQL, as well as the first time comprehensive reading of MySQL documentation in particular.

Habit of Reading Manuals

Reading manuals systematically was a obsessive habit of mine, developed from early 1990s as part of a method to study English, and also somewhat a old-fashioned and stubborn, peculiar, mindset of wanting to learn everything from ground up, thoroughly, and from the original source. When i read manuals, i have a obsession of starting from page 1, including any Foreword or Introduction, and read sequentially, and carefully go thru every single word. If there's a misspelling in the manual and i didn't spot it, i considered it a failure of my reading.

Reading manuals, is also how i learned most of my programing. Just about any software, language, OS, i used from about 1991 to about early 2000s, i tried to read their manuals systematically from cover to cover, not missing a single word. This mentality and its severity, waned gradually over the past 20 years. Today, i do not take the pain to systematically read manuals of any new software i have to learn. (if a written documentation exists at all, or, isn't some haphazard wiki, or random notes by student joe (such as Python's docs. See: Python Documentation Problems.))

(Other manuals i've read quite a lot are for example: vast amount of unix man pages, Apache 1.x, Sun Microsystem's Solaris 8 (3 volumes) (~1999), Scheme R4RS (~1998), Java (~1999 to ~2006), Microsoft's JScript (~2005), Python (~2005), Mac OS X Server official doc from Apple, etc.)

(side note: my peculiar habit of reading manual by carefully going thru every word starting from page one is actually not a good habit to have. What i was doing is more or less analyzing the text, but mistaking it as careful reading. Analyzing is great as a study, but if you do that on every book, it's a waste of time.)

Is Emacs Godsend?

Elena wrote:

Emacs is too much a complex (not difficult) and powerful software to be used by intuition alone, unlike many softwares we are used to.

This is simply not true.

For example, from personal experience, Blender (a 3D modeling software), Second Life (virtual world software) both are more complex than emacs. More complex in the sense of learning it, as well in terms of effort or complexity of their implementation, as well as inherent complexity by the nature of these software's purpose.

Second Life i've been using for about 3 years now. [see Second Life Screenshot Gallery] Blender i started to learn this year… but quite too complex and difficult to get started.

I'd say, Blender or Second Life, each, are a order magnitude more complex and rich than emacs. Either considered from simple use aspect, or in-depth use aspect such as coding in their scripting languages to use them fully. (akin to coding emacs lisp. See: LSL Scripting Tutorial.)

Also, depending on what you mean by “use”…. For example, if you take the perspective of emacs lisp as a language, then, compared to programing Java, C, C++, all are quite richer than elisp and takes longer to explore before reaching diminishing returns. If you take the perspective of emacs as programing framework/platform for creating applications such as file manager, ftp client, irc client, mp3 manager, etc, then, compared to proper software frameworks such as Mac OS and Windows, both are a order more complex, of bottomless learning depth, as well far more powerful.

Emacs Cult and Idolization

Am writing this because i want to dispel the cult phenomenon surrounding emacs. On the net we often hear some magical qualities about emacs, but i think if you look at it seriously, usually much of it are not meaningful.

Since this issue kept cropping up in my mind over the past ~5 years, in argument with many emacs fanatics, i thought about the question: is there a claim we can make that gives the air of superiority or god-like quality of emacs, yet is meaningful and can be justified by verification?

I think to that question we need to be concrete and specific. If a claim is made concrete, then its veracity can be more easily judged. For examples, the following i think can be claimed:

The above claims are still not so precise, but are items i think can be reasonably justified. Or can be made more precise, and that the sum of them can conclude that emacs is quite powerful and versatile.

On the other hand, the following i think are in the category of myths:

There are a lot such myths going around different communities. In Perl community, it's filled to the brim about how Perl is everything and great. In the Common Lisp community, you hear fantastic things about lisp being the god of all programing languages, while they almost never mention emacs lisp as a language, and if they do, it's all sneer and spits and attacks to no ends. In the Scheme lisp community, likewise you hear how it is the most beautiful, the most elegant, and the most powerful, of all, with its call-cc and tail recursion and whatnot. ( See: Programing: Scheme and FailureLanguage, Purity, Cult, and Deception. ) In unix community, which is usually hated by lispers of all factions, you hear how unix is the most versatile, the greatness of its “Unix philosophy” and “KISS” principles. [see The Nature of the Unix Philosophy] Likewise, there's also commercially generated myths, for example, Java, about how it solves all cross-platform problems with the slogan “Write once, run anywhere”, and how OOP solves the world's programing problems, etc. [see What are OOP's Jargons and Complexities]

All these spur from communities that developed certain cult following. Ultimately, it's more harmful than good. Damaging to the general public, as well as damaging to the community itself, long term.

What i'd like to say, is that, yes i love emacs and you love emacs. However, when praising, be concrete and specific on what you like about it, and avoid idolization. Because, idolization cultivates cult-like mindset, and when the community is cult-like, it becomes a closed community, and impedes progress.

Emacs Modernization

  1. Simple Changes Emacs Should Adopt
  2. Why Emacs Keys are Painful
  3. Problems of the Scratch Buffer
  4. M-key Notation vs Alt+key Notation
  5. Menu Problem
  6. Mode Line Problem
  7. cua-mode Problems
  8. kill-buffer Induces Buffer Accumulation
  9. Emacs Form Feed ^L
  10. Inconsistency of Search Features
  11. Single Key to Delete Whole Line
  12. Emacs HTML Mode Sucks
  13. Emacs Does Not Support Viewing Images Files In Windows
  14. Emacs Spell Checker Problems
  15. Adopt HTML as Texinfo Replacement
  16. Support HTML Mail
  17. Problems of “man” Command
  18. Emacs Lisp Mode Syntax Coloring Problem
  19. Emacs Ahk Mode Problems
  20. Problems of Emacs's Manual
  21. Problems of Emacs's Manual; Examples
  22. Emacs: Have You Read Emacs Manual?
  23. Elisp: Ban Syntax Table
  24. Emacs: Make elisp-index-search use Current Symbol
  25. Emacs: Usability Problems of Mode Documentation
  26. Emacs GNU Texinfo Problems; Invalid HTML
  27. A Record of Frustration in IT Industry; Disappearing FSF URLs, 2006
  28. Emacs Manual Node Persistency Issues
  29. Emacs: dired-do-query-replace-regex Replace ALL (fixed)
  30. Problems of Emacs Supporting Obsolete Systems
  31. Elisp: Function to Copy/Delete a Dir Recursively (fixed)
  32. Thoughts on Common Lisp Scheme Lisp Based Emacs
  33. Text Editors Popularity and Market Research
  34. Text Editor's Cursor Movement Behavior (emacs, vi, Notepad++)
  35. GNU Emacs Development Inefficiency
  36. Emacs Dev Inefficiency and Emacs Web 2.0?
  37. Letter-Case Commands Usability Problems
  38. Emacs: Select Line, between Quotes, Extend Selection
  39. Emacs: isearch Current Word
  40. Suggestions on Line Wrap Commands
  41. Emacs: Single Key to Delete Whole Line
  42. Emacs Undo and Emacs Cult Problem

Emacs Controversy

The Emacs Cult

xah lee

If you have a question, put $5 at patreon and message me.
Or Buy Xah Emacs Tutorial
Or buy a nice keyboard: Best Keyboards for Emacs

Emacs

Emacs Lisp

Misc