[STUMP] Functions vs Commands?

"J. David Smith" <[email protected]>
Newsgroups gmane.comp.window-managers.stumpwm.devel
Message-ID <CAB1hFKph2VkXSG7KhP_pRX0zWaVF69xOPhTqFLfbEKBw0VT6Rw@mail.gmail.com>
Hullo,

I'm sure most of you are aware of the fact that (define-key ...) cannot
directly take a function as its third parameter. Instead, it is given a
string containing the command name. For example, this:

(define-key *root-map* (kbd "f") "firefox")

versus this:

(define-key *root-map* (kbd "f") #'firefox)

This is doubly confusing because (defcommand ...) wraps (defun ...), so
(defcommand firefox (&optional (new-window nil)) () ....) produces a
function (firefox ...). In order to make two keys (f and C-f), I can't
simply do:

(define-key *root-map* (kbd "f") #'firefox)
(define-key *root-map* (kbd "C-f") (lambda () (firefox t)))

I have to define two commands:

(defcommand firefox ...) and (defcommand new-firefox ...).

as well as two keys.

So I suppose my question can be summed up like this:

What is the reasoning for using strings to reference functions like this?

  -- J David Smith

_______________________________________________
Stumpwm-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/stumpwm-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.