¿Cómo obtengo una lista completa de las funciones no interactivas que puedo usar en Emacs Lisp?¿Cómo obtengo una lista de funciones no interactivas de Emacs lisp?
Los interactivos son fáciles de encontrar en el sistema de ayuda, pero quiero una lista completa de todas las otras funciones que puedo usar. Por ejemplo concat
, car
, cdr
, etc. (Y preferiblemente con documentación).
Gracias
Ed
Editar: respondidas gracias a Jouni. He jugado un poco con su respuesta un poco, y lo consiguió para ordenar los resultados (utilizando los resultados de su código para ayudar a encontrar la función de clasificación correcta!)
(flet ((first-line (text)
(if text
(substring text 0 (string-match "\n" text))
"")))
(let ((funclist (list)))
(mapatoms
(lambda (x)
(and (fboundp x) ; does x name a function?
(not (commandp (symbol-function x))) ; is it non-interactive?
(subrp (symbol-function x)) ; is it built-in?
(add-to-list 'funclist
(concat (symbol-name x) " - " (first-line (documentation x))
"\n")))))
(dolist (item (sort funclist 'string<))
(insert item))))
Gracias por la pregunta y la respuesta. Muy útil al aprender emacs lisp. – aartist