Sep. 22nd, 2017

henry_flower: A melancholy wolf (Default)
Date: Thu, 21 Sep 2017 06:11:03 -0400
From: Doug McIlroy <doug-bJGkzYaaMJvEkZP4S/TgZg@public.gmane.org>
Newsgroups: gmane.org.unix-heritage.general
Subject: Re: Happy birthday, Dennis Ritchie!
User-Agent: Heirloom mailx 12.5 7/5/10
Message-ID: <201709211011.v8LAB39V022229@coolidge.cs.Dartmouth.EDU>

> When you say MIT you think about ITS and Lisp.  That is why emacs IMHO
> was against UNIX ideals.  RMS was thinking in different terms than Bell
> Labs hackers.

Very different. Once, when visiting the Lisp machine, I saw astonishingly
irrelevant things being done as first class emacs commands, and asked
how many commands there were. The instant answer was to have emacs
print the list. Nice, but it scrolled way beyond one screenful. I
persisted: could the machine count them? It took several minutes of
head-scratching and false starts to do a task that was second nature
to Unix hands.

With hindsight, I realize that the thousand emacs commands were but a
foretaste of open-source exuberance--witness this snippet from Linux:
        ls /usr/share/man/man2|wc
            468     468    6766
Even a "kernel" is as efflorescent as a tropical rainforest.

Так, порахувати інтерактивні команди в імаксі дійсно можна тільки після head-scratching, тому що mapatoms повертає nil, замість того щоб як mapcar вертати список результатів:

ELISP> (version)
"GNU Emacs 25.2.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.31)\n of 2017-07-16"
ELISP> (let ((n 0)) (mapatoms (lambda(s) (if (commandp s) (setq n (1+ n))))) n)
5135 (#o12017, #x140f, ?ᐏ)

(mapatoms перебирає obarray, яврпщя.)

Але то є з різними завантаженими pkgs, голий імакс трохи худіший:

$ emacs -Q --batch --eval '(let ((n 0)) (mapatoms (lambda(s) (if (commandp s) (setq n (1+ n))))) (princ n))'
2562

Page Summary

January 2026

M T W T F S S
   12 34
56789 1011
12131415161718
19202122232425
262728293031 

Expand Cut Tags

No cut tags