bug-gnu-emacs
[Top][All Lists]
Advanced

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

icomplete "show key bindings" ignores minor mode maps


From: Austin Clements
Subject: icomplete "show key bindings" ignores minor mode maps
Date: Tue, 15 Jan 2008 17:42:49 -0500
User-agent: Mutt/1.5.16 (2007-06-11)

The definition of `icomplete-get-keys', which is used to display which
keys a command is bound to in the minibuffer, only considers the
buffer's local and global maps, not the minor mode maps.

Example steps to reproduce
1. M-x icomplete-mode<RET>
2. M-x forward-char
3. Assuming the default icomplete configuration, it will show that C-f
   and <right> are bound to forward-char
4. C-g M-x hs-minor-mode<RET> (any minor mode with bindings will do)
5. M-x hs-toggle-hiding
6. Note that, even though hs-toggle-hiding is bound to a key,
   icomplete does not offer any bindings.

The following change to `icomplete-get-keys' fixes this problem

--- old-icomplete.el    2008-01-15 17:39:51.000000000 -0500
+++ new-icomplete.el    2008-01-15 17:40:24.000000000 -0500
@@ -147,149 +147,148 @@
     (save-excursion
       (let* ((sym (intern func-name))
             (buf (other-buffer nil t))
-            (map (save-excursion (set-buffer buf) (current-local-map)))
-            (keys (where-is-internal sym map)))
+            (keys (save-excursion (set-buffer buf) (where-is-internal sym))))
        (if keys
            (concat "<"
                    (mapconcat 'key-description



In GNU Emacs 22.1.1 (i486-pc-linux-gnu, GTK+ Version 2.12.1)
 of 2007-11-03 on pacem, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10400000
configured using `configure  '--build=i486-linux-gnu' '--host=i486-linux-gnu' 
'--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' 
'--localstatedir=/var/lib' '--infodir=/usr/share/info' 
'--mandir=/usr/share/man' '--with-pop=yes' 
'--enable-locallisppath=/etc/emacs22:/etc/emacs:/usr/local/share/emacs/22.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/22.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/22.1/leim'
 '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 
'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g 
-O2''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8
  default-enable-multibyte-characters: t

Major mode: PDFLaTeX

Minor modes in effect:
  reftex-mode: t
  TeX-PDF-mode: t
  flyspell-mode: t
  show-paren-mode: t
  icomplete-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t

Recent input:
<down> <tab> <down> <tab> <down> <tab> <down> <tab> 
) C-n C-a C-k C-p C-p C-x C-s C-p C-p C-p C-p C-p C-p 
C-p C-e C-p C-p C-f C-a C-n C-p C-p C-p C-n C-k C-k 
M-f M-f M-f C-a M-f <M-backspace> k e y s C-s m a p 
<C-left> <C-left> <C-left> <left> <left> <C-left> <C-left> 
<left> <left> <left> <left> <left> <return> C-e <left> 
<left> M-b M-b M-b <left> C-k <down> M-b M-b M-b <left> 
<M-backspace> <tab> <backspace> C-e <M-left> <left> 
M-d C-e ) C-p C-p C-n <C-backspace> C-_ C-p C-d C-d 
C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d 
C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d C-e C-d 
C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d 
C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d C-d 
C-a C-n C-x C-s C-n <C-down> <left> C-n C-x C-s C-x 
C-e C-x o M-r M-r <return> M-x r e f c <backspace> 
t <tab> c i t <tab> a <tab> C-g M-x <up> C-g C-g C-x 
o C-a C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-n C-x 
o M-r n n n n n <return> C-l C-p C-p C-p C-p C-p C-p 
C-p C-p C-p C-p C-p C-SPC C-n M-w C-x o C-y C-p <tab> 
C-a C-n C-x C-s <C-down> C-x C-e C-x o M-r M-r <return> 
M-x r e f t e <tab> c i a <backspace> t a <tab> C-g 
C-l <select-window> M-r n n n n <return> C-l <C-up> 
<down> <C-right> <right> C-s C-w C-w C-w C-s C-s C-s 
C-s <up> <up> <C-left> <C-left> <C-left> <C-left> C-s 
<C-right> <right> C-s C-w C-w C-w C-w C-s C-s C-a C-n 
C-x o M-x r e p o r t <tab> <return>

Recent messages:
Quit [3 times]
RET selects buffer, q buries list, TAB changes view, n jumps to next group
Mark set [2 times]
Wrote /home/amthrax/sys/elisp/atc-basic.el
icomplete-get-keys
RET selects buffer, q buries list, TAB changes view, n jumps to next group
Quit
RET selects buffer, q buries list, TAB changes view, n jumps to next group
Mark saved where search started [2 times]
Loading emacsbug...done

-- 
Austin Clements                                          MIT/'06/CSAIL
amdragon@mit.edu                         http://web.mit.edu/~amdragon/
       Somewhere in the dream we call reality you will find me,
              searching for the reality we call dreams.




reply via email to

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