emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [elpa] 01/03: [gnugo frolic int] Regularize keymap decl + init.


From: Stefan Monnier
Subject: Re: [elpa] 01/03: [gnugo frolic int] Regularize keymap decl + init.
Date: Wed, 09 Apr 2014 09:45:48 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux)

> +(unless gnugo-frolic-mode-map
> +  (setq gnugo-frolic-mode-map (make-sparse-keymap))
> +  (suppress-keymap gnugo-frolic-mode-map)
> +  (mapc (lambda (pair)
> +          (define-key gnugo-frolic-mode-map (car pair) (cdr pair)))
> +        '(("q"          . gnugo-frolic-quit)
> +          ("C"          . gnugo-frolic-quit) ; like ‘View-kill-and-leave’
> +          ("\C-b"       . gnugo-frolic-backward-branch)
> +          ("\C-f"       . gnugo-frolic-forward-branch)
> +          ("j"          . gnugo-frolic-exchange-left)
> +          ("J"          . gnugo-frolic-rotate-left)
> +          ("k"          . gnugo-frolic-exchange-right)
> +          ("K"          . gnugo-frolic-rotate-right)
> +          ("\C-m"       . gnugo-frolic-set-as-main-line)
> +          ("\C-\M-p"    . gnugo-frolic-prune-branch)
> +          ("o"          . gnugo-frolic-return-to-origin))))
 
Any reason not to use the standard

   (defvar gnugo-frolic-mode-map
     (let ((map (make-sparse-keymap)))
       (suppress-keymap map)
       (mapc (lambda (pair)
               (define-key map (car pair) (cdr pair)))
             '(("q"          . gnugo-frolic-quit)
               ("C"          . gnugo-frolic-quit) ; like ‘View-kill-and-leave’
               ("\C-b"       . gnugo-frolic-backward-branch)
               ("\C-f"       . gnugo-frolic-forward-branch)
               ("j"          . gnugo-frolic-exchange-left)
               ("J"          . gnugo-frolic-rotate-left)
               ("k"          . gnugo-frolic-exchange-right)
               ("K"          . gnugo-frolic-rotate-right)
               ("\C-m"       . gnugo-frolic-set-as-main-line)
               ("\C-\M-p"    . gnugo-frolic-prune-branch)
               ("o"          . gnugo-frolic-return-to-origin)))
       map))

Or even using pcase-dolist:

   (defvar gnugo-frolic-mode-map
     (let ((map (make-sparse-keymap)))
       (suppress-keymap map)
       (pcase-dolist (`(,key . ,cmd)
                      '(("q"          . gnugo-frolic-quit)
                        ("C"          . gnugo-frolic-quit) ; like 
‘View-kill-and-leave’
                        ("\C-b"       . gnugo-frolic-backward-branch)
                        ("\C-f"       . gnugo-frolic-forward-branch)
                        ("j"          . gnugo-frolic-exchange-left)
                        ("J"          . gnugo-frolic-rotate-left)
                        ("k"          . gnugo-frolic-exchange-right)
                        ("K"          . gnugo-frolic-rotate-right)
                        ("\C-m"       . gnugo-frolic-set-as-main-line)
                        ("\C-\M-p"    . gnugo-frolic-prune-branch)
                        ("o"          . gnugo-frolic-return-to-origin))
         (define-key map key cmd)))
       map))


-- Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]