all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#11478: 23.1; In ediff-mode, which-func does not update the mode lines.
@ 2012-05-15 15:09 Jack Duthen
  2012-06-03 11:11 ` Chong Yidong
  0 siblings, 1 reply; 2+ messages in thread
From: Jack Duthen @ 2012-05-15 15:09 UTC (permalink / raw)
  To: 11478

--text follows this line--

Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the bug-gnu-emacs@gnu.org mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

Hi!

I'm still again using "which-func" and always find it very convenient!

I often compare files with "ediff" and I noticed that, in ediff-mode,
the keys ' ' 'DEL' 'j' change the point of buffers A B C
but the "which-func" part of their mode-line is not updated
because "which-func-update" updates only the "selected-window".

I first tried to change "which-func-update" using the commented line
(with "walk-windows") or my function "which-func-update-ediff-windows"
(see below).  It worked correctly but refreshed the modeline only
after a second (the delay of the which-func-update-timer).

So, I found it more appropriate to use the "ediff-select-hook"
and added the following code (anywhere in "which-func.el"):

(defun which-func-update-ediff-windows ()
  "Update the Which-Function mode display for the ediff'ed windows."
  (when (eq major-mode 'ediff-mode)
    ;; In ediff-mode, the selected window is the "*Ediff Control Panel*"!
    ;; We should also update the other windows.
    (when ediff-window-A
      (which-func-update-1 ediff-window-A))
    (when ediff-window-B
      (which-func-update-1 ediff-window-B))
    (when ediff-window-C
      (which-func-update-1 ediff-window-C))))

(add-hook 'ediff-select-hook 'which-func-update-ediff-windows)

As I'm not familiar with patches, could you fix it, please?

)jack(


If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/share/emacs/23.1/etc/DEBUG for instructions.


In GNU Emacs 23.1.1 (i686-pc-linux-gnu, GTK+ Version 2.22.0)
 of 2011-03-04 on roseapple, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10900000
configured using `configure  '--build=i686-linux-gnu'
'--host=i686-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/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim'
'--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars'
'build_alias=i686-linux-gnu' 'host_alias=i686-linux-gnu'
'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

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: fr_FR.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  eldoc-mode: t
  which-function-mode: t
  show-paren-mode: t
  recentf-mode: t
  desktop-save-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: (only . t)

Recent input:
C-v C-u C-v C-u C-v <help-echo> <help-echo> <help-echo>
<down-mouse-1> <mouse-1> C-x b <return> M-x b u r r
<tab> <backspace> <tab> <return> C-x b j M-p <return>
<switch-frame> <switch-frame> <switch-frame> <switch-frame>
<help-echo> <help-echo> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <down-mouse-5> <mouse-5> <down-mouse-1>
<mouse-1> C-s C-w C-w C-w C-w C-x o C-s C-s C-s <down-mouse-1>
<mouse-1> C-s C-w C-r C-r C-r C-r C-r C-r C-r C-r C-r
C-r C-r C-r C-u C-u M-v <down-mouse-4> <mouse-4> <down-mouse-4>
<mouse-4> <down-mouse-4> <mouse-4> <down-mouse-1> <mouse-1>
C-h f <return> <down-mouse-1> <mouse-1> <double-down-mouse-1>
<double-mouse-1> M-w M-: C-y <return> <down-mouse-5>
<mouse-5> <down-mouse-1> <mouse-movement> <mouse-movement>
<drag-mouse-1> <down-mouse-5> <mouse-5> <down-mouse-5>
<mouse-5> <down-mouse-1> <mouse-1> C-x C-e <down-mouse-1>
<mouse-1> C-x C-e <down-mouse-1> <mouse-1> C-x b <return>
C-x b j <tab> M-p <return> <help-echo> <down-mouse-1>
<mouse-1> M-d e x p l o r e M-f M-f <M-backspace> u
s i n g <down-mouse-1> <mouse-1> SPC h e l p C-x C-s
C-p - - - - - C-x C-s <help-echo> <down-mouse-1> <mouse-1>
C-h f <return> <down-mouse-1> <mouse-1> <double-down-mouse-1>
<double-mouse-1> M-w <switch-frame> C-v C-v C-v C-v
C-v M-: C-y <return> C-u M-v C-u M-v M-: M-p <return>
<switch-frame> C-x o <help-echo> <down-mouse-1> <mouse-2>
<help-echo> <down-mouse-5> <mouse-5> <down-mouse-5>
<mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5>
<down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5>
<down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5>
<mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5>
<switch-frame> <up> <up> <up> <up> <up> <right> <left>
<down> <down> <down> <down> <down> <switch-frame> C-x
C-g M-x M-p <return> C-x o q <down-mouse-1> <mouse-movement>
<mouse-1> C-M-x <down-mouse-1> <mouse-1> C-M-b C-M-SPC
M-w C-x o M-: C-y <return> M-: M-p C-e C-b C-M-b C-b
C-k ( ) ) <return> <down-mouse-5> <mouse-5> <down-mouse-5>
<mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5>
<down-mouse-4> <mouse-4> <down-mouse-5> <mouse-5> <help-echo>
<down-mouse-1> <mouse-1> C-s C-w C-x o C-s C-s C-s
C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-s C-a <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<menu-bar> <help-menu> <send-emacs-bug-report>

Recent messages:
uncompressing add-log.el.gz...done
Note: file is write protected
jd-test-which-func-cleanup-function
Mark set
jd-test-which-func-cleanup-function
Type of fun-name '(which-function)' is cons
Type of (car fun-name) 'which-function' is string
nil
Mark saved where search started [2 times]
/usr/bin/mail is not an executable.  Setting mail-interactive to t.





^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#11478: 23.1; In ediff-mode, which-func does not update the mode lines.
  2012-05-15 15:09 bug#11478: 23.1; In ediff-mode, which-func does not update the mode lines Jack Duthen
@ 2012-06-03 11:11 ` Chong Yidong
  0 siblings, 0 replies; 2+ messages in thread
From: Chong Yidong @ 2012-06-03 11:11 UTC (permalink / raw)
  To: Jack Duthen; +Cc: 11478

Jack Duthen <duthen.mac.01@gmail.com> writes:

> So, I found it more appropriate to use the "ediff-select-hook"
> and added the following code (anywhere in "which-func.el")

Looks good; I've committed this code to trunk.  Thanks.





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-06-03 11:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-15 15:09 bug#11478: 23.1; In ediff-mode, which-func does not update the mode lines Jack Duthen
2012-06-03 11:11 ` Chong Yidong

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.