печатать символы emacs в elisp - PullRequest
5 голосов
/ 02 марта 2012

Как напечатать все символы в emacs, используя elisp.

Можно проверить, является ли объект lisp символом, используя symbolp функция. Но как собрать все символы.

Возможно ли получить доступ к таблице символов в emacs?

Ответы [ 2 ]

6 голосов
/ 02 марта 2012

Вот один из способов сделать это:

(require 'cl)

(loop for x being the symbols
    if (boundp x)
    collect (symbol-name x))

loop - это макрос Common Lisp, который также был портирован на Emacs Lisp.Это часть пакета cl (часть стандартного дистрибутива Emacs), для его использования вам потребуется require.

Вероятно, стоит рассмотреть еще один вариант:

(apropos "." t)

Для вызова apropos потребуется значительно больше времени, но таким образом вы получите больше информации о символах.

4 голосов
/ 03 марта 2012

Просто для полноты, вот как вы перечислите все символы без использования пакета cl:

Перейдите во вновь созданный буфер и введите M -: (mapatoms (lambda (s) (insert (symbol-name s) "\n"))) RET . Это вставит имена всех существующих символов в буфер, по одному на строку.

...