Uwe Brauer writes:
I am looking for simple function which, when called interactively
would offer me various possibilities, corresponding to different
letters.
(defun foo (ch)
(interactive "ca: Function A, b: Function B, c: Function C: ")
(setq ch (downcase ch))
(call-interactively (cond ((eq ?a) #'foo-a)
((eq ?b) #'foo-b)
((eq ?c) #'foo-c)
(t (error 'args-out-of-range '(a b c) ch)))))
You need to define foo-* as commands, of course. Error handling could
be improved. Alternatively, don't define `foo' at all, just bind the
commands to keys:
(setq my-map (make-sparse-keymap))
(define-key my-map a #'foo-a)
(define-key my-map b #'foo-b)
(define-key my-map c #'foo-c)
(define-key global-map [(control c) m] my-map)
The advantage of defining foo is that you can provide a menu.
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta