ergoemacs / ergoemacs-mode

ergoemacs-mode
ergoemacs.github.io/
GNU General Public License v3.0
293 stars 35 forks source link

Unable to use M-ijkl in a grep buffer #293

Closed ajsalminen closed 10 years ago

ajsalminen commented 10 years ago

Trying to move from line to line in a grep buffer (with M-k for example) gives this error: (wrong-type-argument listp compilation-button-map)

Using the arrow keys and n/p still works.

mattfidler commented 10 years ago

A more complete backtrace follows:

Debugger entered--Lisp error: (wrong-type-argument listp compilation-button-map)
  cdr(compilation-button-map)
  (setq ergoemacs-shortcut-override-keymap (cdr ergoemacs-shortcut-override-keymap))
  (let* ((maps (ergoemacs-install-shortcuts-map-name map)) (ergoemacs-shortcut-override-keymap (gethash maps ergoemacs-modified-map-hash)) shortcut-list ergoemacs-orig-keymap changed-map) (if ergoemacs-shortcut-override-keymap nil (setq ergoemacs-shortcut-override-keymap (or map (make-sparse-keymap)) ergoemacs-orig-keymap (if map (copy-keymap map) nil)) (if no-brand nil (progn (let ((--dolist-tail-- maps)) (while --dolist-tail-- (let (...) (if ... nil ...) (setq --dolist-tail-- ...)))))) (maphash (function (lambda (key item) (setq shortcut-list (cons (list key item) shortcut-list)))) ergoemacs-command-shortcuts-hash) (ergoemacs-theme--install-shortcuts-list shortcut-list ergoemacs-shortcut-override-keymap ergoemacs-orig-keymap (not dont-complete)) (puthash maps ergoemacs-shortcut-override-keymap ergoemacs-modified-map-hash)) (setq ergoemacs-shortcut-override-keymap (cdr ergoemacs-shortcut-override-keymap)) (if install-read (progn (progn (let ((--dolist-tail-- (ergoemacs-extract-prefixes ergoemacs-shortcut-override-keymap))) (while --dolist-tail-- (let (...) (setq ergoemacs-shortcut-override-keymap ...) (setq --dolist-tail-- ...))))))) (progn (let ((--dolist-tail-- maps)) (while --dolist-tail-- (let ((map-name (car --dolist-tail--))) (let ((new-map ...)) (if no-brand nil (if ... ...) (setq new-map ...) (setq new-map ...)) (if (condition-case nil ... ...) (progn ...)) (if changed-map nil (setcdr map new-map))) (setq --dolist-tail-- (cdr --dolist-tail--)))))) map)
  (if (condition-case nil (progn (string= "ergoemacs-modified" (nth 1 map))) (error nil)) (progn map) (let* ((maps (ergoemacs-install-shortcuts-map-name map)) (ergoemacs-shortcut-override-keymap (gethash maps ergoemacs-modified-map-hash)) shortcut-list ergoemacs-orig-keymap changed-map) (if ergoemacs-shortcut-override-keymap nil (setq ergoemacs-shortcut-override-keymap (or map (make-sparse-keymap)) ergoemacs-orig-keymap (if map (copy-keymap map) nil)) (if no-brand nil (progn (let ((--dolist-tail-- maps)) (while --dolist-tail-- (let ... ... ...))))) (maphash (function (lambda (key item) (setq shortcut-list (cons ... shortcut-list)))) ergoemacs-command-shortcuts-hash) (ergoemacs-theme--install-shortcuts-list shortcut-list ergoemacs-shortcut-override-keymap ergoemacs-orig-keymap (not dont-complete)) (puthash maps ergoemacs-shortcut-override-keymap ergoemacs-modified-map-hash)) (setq ergoemacs-shortcut-override-keymap (cdr ergoemacs-shortcut-override-keymap)) (if install-read (progn (progn (let ((--dolist-tail-- ...)) (while --dolist-tail-- (let ... ... ...)))))) (progn (let ((--dolist-tail-- maps)) (while --dolist-tail-- (let ((map-name ...)) (let (...) (if no-brand nil ... ... ...) (if ... ...) (if changed-map nil ...)) (setq --dolist-tail-- (cdr --dolist-tail--)))))) map))
  ergoemacs-install-shortcuts-map(compilation-button-map t t)
  (progn (ergoemacs-install-shortcuts-map override-text-map t t))
  (if (progn (setq override-text-map (get-char-property (point) (quote keymap))) (and (condition-case nil (progn (keymapp override-text-map)) (error nil)) (not (condition-case nil (progn (string= "ergoemacs-modified" (nth 1 override-text-map))) (error nil))))) (progn (ergoemacs-install-shortcuts-map override-text-map t t)))
  (cond ((and overriding-local-map (not (condition-case nil (progn (string= "ergoemacs-modified" (nth 1 overriding-local-map))) (error nil)))) (ergoemacs-install-shortcuts-map overriding-local-map nil t)) (t (if (progn (setq override-text-map (get-char-property (point) (quote keymap))) (and (condition-case nil (progn (keymapp override-text-map)) (error nil)) (not (condition-case nil (progn ...) (error nil))))) (progn (ergoemacs-install-shortcuts-map override-text-map t t))) (ergoemacs-emulations (quote remove)) (unwind-protect (progn (let ((--dolist-tail-- emulation-mode-map-alists)) (while --dolist-tail-- (let (...) (cond ...) (setq --dolist-tail-- ...))))) (ergoemacs-emulations))))
  (let ((inhibit-read-only t) deactivate-mark override-text-map) (cond ((and overriding-local-map (not (condition-case nil (progn (string= "ergoemacs-modified" ...)) (error nil)))) (ergoemacs-install-shortcuts-map overriding-local-map nil t)) (t (if (progn (setq override-text-map (get-char-property (point) (quote keymap))) (and (condition-case nil (progn ...) (error nil)) (not (condition-case nil ... ...)))) (progn (ergoemacs-install-shortcuts-map override-text-map t t))) (ergoemacs-emulations (quote remove)) (unwind-protect (progn (let ((--dolist-tail-- emulation-mode-map-alists)) (while --dolist-tail-- (let ... ... ...)))) (ergoemacs-emulations)))))
  ergoemacs-install-shortcuts-up()
  eval((ergoemacs-install-shortcuts-up) nil)
  eval-expression((ergoemacs-install-shortcuts-up) nil)
  call-interactively(eval-expression nil nil)
mattfidler commented 10 years ago

This should be corrected.

ajsalminen commented 10 years ago

Yes, seems to work for me now. Thanks again for an amazingly fast fix!