Adam Spiers ([EMAIL PROTECTED]) wrote: > Suppose that I have a sub-keymap for custom agenda commands with > prefix 's', i.e. shortcuts 's1', 's2', 's3' and so on. I might invoke > org-agenda, press 's', then change my mind and want to use another > custom command instead. Currently, the only way of doing this would > be to press something like 'q' or C-g, then reinvoke org-agenda. It > would be nice instead if there was a keystroke which simply returned > you to the first *Agenda Commands* buffer. The following patch > demonstrates the required behaviour, but as you can see, is not a > particularly clean way of doing it. > > http://www.adamspiers.org/cgi-bin/hg.cgi/org-pacific/rev/8fadf3f7ddda
I forgot to say that the previous patch I posted bound the cancellation to SPC; however I think DEL would be a more intuitive choice: http://www.adamspiers.org/cgi-bin/hg.cgi/org-atlantic/rev/69815deb4483 # HG changeset patch # User Adam Spiers <[EMAIL PROTECTED]> # Date 1199102771 0 # Node ID 69815deb4483e0e782ec0e164d2058a511243e64 # Parent 518295ce53e0594261d7e1b8d92ab8552c0bd69a SPACE to cancel prefix sub-keymap diff -r 518295ce53e0 -r 69815deb4483 org.el --- a/org.el Sat Dec 29 20:42:27 2007 +0000 +++ b/org.el Mon Dec 31 12:06:11 2007 +0000 @@ -19340,6 +19340,14 @@ L Timeline for current buffer (setq restriction nil)) ((and (equal selstring "") (memq c '(?a ?t ?m ?L ?C ?e ?T ?M ?# ?! ?/))) (throw 'exit (cons (setq selstring (char-to-string c)) restriction))) + ((and (> (length selstring) 0) (eq c ?\d)) + (delete-window) + (org-agenda-get-restriction-and-command prefix-descriptions)) +;; Can't do it this way because help text describing hardcoded agenda +;; commands is inserted into buffer outside the (while t ...) loop. +;; (setq selstring "" +;; rmheader 0 +;; custom org-agenda-custom-commands)) ((equal c ?q) (error "Abort")) (t (error "Invalid key %c" c)))))))) _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode