\r
(when (require 'smartrep nil t)\r
(let (smart-keys)\r
- (dolist (c '("n" "[" "]"))\r
- (let* ((cmd (lookup-key diff-hl-mode-map (kbd (concat "C-x v " c)))))\r
- (push (cons c cmd) smart-keys)))\r
- (smartrep-define-key diff-hl-mode-map "C-x v" smart-keys)))\r
+ (cl-labels ((scan (map)\r
+ (map-keymap\r
+ (lambda (event binding)\r
+ (if (consp binding)\r
+ (scan binding)\r
+ (when (characterp event)\r
+ (push (cons (string event) binding) smart-keys))))\r
+ map)))\r
+ (scan diff-hl-mode-map)\r
+ (smartrep-define-key diff-hl-mode-map "C-x v" smart-keys))))\r
\r
(defun diff-hl-dir-update ()\r
(dolist (pair (if (vc-dir-marked-files)\r