From: Taylor Venable <taylor@metasyntax.net>
To: Johannes Weiner <hannes@saeurebad.de>
Cc: emacs-devel@gnu.org
Subject: Re: A way to get a list of available functions / variables?
Date: Sun, 24 Feb 2008 20:42:57 -0500 [thread overview]
Message-ID: <87mypp24m6.fsf@lionel.metasyntax.net> (raw)
In-Reply-To: <874pbyb97l.fsf@saeurebad.de> (Johannes Weiner's message of "Sun, 24 Feb 2008 17:38:54 +0100")
Johannes Weiner <hannes@saeurebad.de> writes:
>> Is there a way to programmatically get the list of available functions?
>> I'm thinking there must be a table somewhere which relates symbol names
>> to actual function definitions, but can you get all the names in the
>> table from Lisp code? If so, my second question would then be if I
>> could do the same for variables.
>
> mapatoms might help:
>
> (let (cmds vars)
> (mapatoms (lambda (atom)
> (cond
> ((commandp atom)
> (setq cmds (cons atom cmds)))
> ((custom-variable-p atom)
> (setq vars (cons atom vars)))))))
That is very cool, thanks much!
>> The reason I ask is I've got this thing going on at my college where
>> I'll write up an Emacs "function of the day" on the whiteboard in the
>> computer science lounge. It'd be cool if I could automate this process
>> to automatically choose a random function or variable and build like an
>> RSS feed of the results or something. Because I don't know how many
>> times I've been just randomly browsing around the documentation or
>> source and found something like c-subword-mode that I otherwise would
>> not have known even existed!
>
> Sounds like a good idea.
Thanks; I'll post to emacs-help when I get it finished and working suitably.
--
Taylor Venable http://real.metasyntax.net:2357/
foldr = lambda f, i, l: (len(l) == 1 and [f(l[0], i)] or
[f(l[0], foldr(f, i, l[1:]))])[0]
next prev parent reply other threads:[~2008-02-25 1:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-24 16:20 A way to get a list of available functions / variables? Taylor Venable
2008-02-24 16:38 ` Johannes Weiner
2008-02-25 1:42 ` Taylor Venable [this message]
2008-02-26 2:00 ` Xavier Maillard
2008-05-16 22:23 ` Davis Herring
2008-05-16 22:33 ` David Kastrup
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mypp24m6.fsf@lionel.metasyntax.net \
--to=taylor@metasyntax.net \
--cc=emacs-devel@gnu.org \
--cc=hannes@saeurebad.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.