unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* C-x v l does not move to current log entry
@ 2007-08-01  7:51 Jan Djärv
  2007-08-02 15:45 ` Richard Stallman
  2007-09-10  6:53 ` Jan Djärv
  0 siblings, 2 replies; 14+ messages in thread
From: Jan Djärv @ 2007-08-01  7:51 UTC (permalink / raw)
  To: emacs-devel


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 emacs-pretest-bug@gnu.org mailing list.

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

% emacs -Q src/gmalloc.c
C-x v l

The cursor stays at the top of the log view buffer.
Contrast this to emacs 22.1 where the cursor is positioned to the current
log entry for the revision of src/gmalloc.c that you are editing.

This from *Messages* may be relevant:

Running cvs log gmalloc.c in the background... done
Loading log-view...
Loading easy-mmode...done
Loading log-view...done
Error during redisplay: (void-function ,log-view-file-re) [2 times]


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
/opt/src/emacs/etc/DEBUG for instructions.


In GNU Emacs 22.1.50.4 (i686-pc-linux-gnu, GTK+ Version 2.10.13)
  of 2007-08-01 on dentan.operax.com
Windowing system distributor `The X.Org Foundation', version 11.0.10300000
configured using `configure  '--prefix=/opt/emacs' '--verbose' 
'--enable-asserts' '--with-x-toolkit=gtk' 'CFLAGS=-g''

Important settings:
   value of $LC_ALL: nil
   value of $LC_COLLATE: C
   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: sv_SE.UTF-8
   locale-coding-system: utf-8
   default-enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
   tooltip-mode: t
   tool-bar-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
   unify-8859-on-encoding-mode: t
   utf-translate-cjk-mode: t
   auto-compression-mode: t
   line-number-mode: t

Recent input:
C-x v l C-x b * M <tab> <return> <help-echo> C-x 5
2 <switch-frame> <switch-frame> <switch-frame> M-x
r e p o <tab> <switch-frame> <help-echo> <down-mouse-1>
<mouse-1> <double-down-mouse-1> <double-mouse-1> <down-mouse-1>
<mouse-1> <double-down-mouse-1> <double-mouse-1> <triple-down-mouse-1>
<triple-mouse-1> <down-mouse-1> <mouse-1> <double-down-mouse-1>
<double-mouse-1> <triple-down-mouse-1> <mouse-movement>
<mouse-movement> <triple-drag-mouse-1> <escape> w C-x
b <switch-frame> * C-x b * s c <tab> <return> C-y <switch-frame>
<down-mouse-1> <mouse-movement> <mouse-1> C-x C-g M-x
r e p o <tab> r <tab> <return>

Recent messages:
Loading log-view...
Loading easy-mmode...done
Loading log-view...done
Error during redisplay: (void-function ,log-view-file-re) [2 times]
*Making completion list...
Loading help-mode...done
call-interactively: Command attempted to use minibuffer while in minibuffer
Mark set
Making completion list...
Loading emacsbug...done

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

* Re: C-x v l does not move to current log entry
  2007-08-01  7:51 C-x v l does not move to current log entry Jan Djärv
@ 2007-08-02 15:45 ` Richard Stallman
  2007-08-04  3:08   ` Bob Rogers
  2007-09-10  6:53 ` Jan Djärv
  1 sibling, 1 reply; 14+ messages in thread
From: Richard Stallman @ 2007-08-02 15:45 UTC (permalink / raw)
  To: emacs-devel, esr

Would someone please DTRT and ack?


Date: Wed, 01 Aug 2007 09:51:17 +0200
From: =?UTF-8?B?SmFuIERqw6Rydg==?= <jan.h.d@swipnet.se>
MIME-Version: 1.0
To: emacs-devel@gnu.org
Content-Type: text/plain; charset=UTF-8; format=flowed
Subject: C-x v l does not move to current log entry


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 emacs-pretest-bug@gnu.org mailing list.

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

% emacs -Q src/gmalloc.c
C-x v l

The cursor stays at the top of the log view buffer.
Contrast this to emacs 22.1 where the cursor is positioned to the current
log entry for the revision of src/gmalloc.c that you are editing.

This from *Messages* may be relevant:

Running cvs log gmalloc.c in the background... done
Loading log-view...
Loading easy-mmode...done
Loading log-view...done
Error during redisplay: (void-function ,log-view-file-re) [2 times]


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
/opt/src/emacs/etc/DEBUG for instructions.


In GNU Emacs 22.1.50.4 (i686-pc-linux-gnu, GTK+ Version 2.10.13)
  of 2007-08-01 on dentan.operax.com
Windowing system distributor `The X.Org Foundation', version 11.0.10300000
configured using `configure  '--prefix=/opt/emacs' '--verbose' 
'--enable-asserts' '--with-x-toolkit=gtk' 'CFLAGS=-g''

Important settings:
   value of $LC_ALL: nil
   value of $LC_COLLATE: C
   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: sv_SE.UTF-8
   locale-coding-system: utf-8
   default-enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
   tooltip-mode: t
   tool-bar-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
   unify-8859-on-encoding-mode: t
   utf-translate-cjk-mode: t
   auto-compression-mode: t
   line-number-mode: t

Recent input:
C-x v l C-x b * M <tab> <return> <help-echo> C-x 5
2 <switch-frame> <switch-frame> <switch-frame> M-x
r e p o <tab> <switch-frame> <help-echo> <down-mouse-1>
<mouse-1> <double-down-mouse-1> <double-mouse-1> <down-mouse-1>
<mouse-1> <double-down-mouse-1> <double-mouse-1> <triple-down-mouse-1>
<triple-mouse-1> <down-mouse-1> <mouse-1> <double-down-mouse-1>
<double-mouse-1> <triple-down-mouse-1> <mouse-movement>
<mouse-movement> <triple-drag-mouse-1> <escape> w C-x
b <switch-frame> * C-x b * s c <tab> <return> C-y <switch-frame>
<down-mouse-1> <mouse-movement> <mouse-1> C-x C-g M-x
r e p o <tab> r <tab> <return>

Recent messages:
Loading log-view...
Loading easy-mmode...done
Loading log-view...done
Error during redisplay: (void-function ,log-view-file-re) [2 times]
*Making completion list...
Loading help-mode...done
call-interactively: Command attempted to use minibuffer while in minibuffer
Mark set
Making completion list...
Loading emacsbug...done


_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

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

* Re: C-x v l does not move to current log entry
  2007-08-02 15:45 ` Richard Stallman
@ 2007-08-04  3:08   ` Bob Rogers
  2007-08-05  3:06     ` Richard Stallman
                       ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Bob Rogers @ 2007-08-04  3:08 UTC (permalink / raw)
  To: rms; +Cc: esr, emacs-devel

[-- Attachment #1: message body text --]
[-- Type: text/plain, Size: 1696 bytes --]

   From: Richard Stallman <rms@gnu.org>
   Date: Thu, 02 Aug 2007 11:45:17 -0400

   Would someone please DTRT and ack?

   Date: Wed, 01 Aug 2007 09:51:17 +0200
   From: Jan Djärv <jan.h.d@swipnet.se>

   % emacs -Q src/gmalloc.c
   C-x v l

   The cursor stays at the top of the log view buffer.
   Contrast this to emacs 22.1 where the cursor is positioned to the current
   log entry for the revision of src/gmalloc.c that you are editing.

Hmm.  vc-default-show-log-entry does appear to be going to the right
place, but something is messing it up afterwards.  I think I'll go to
bed now and let somebody who knows what they're doing have a crack at
it.  ;-}

   This from *Messages* may be relevant:

   Running cvs log gmalloc.c in the background... done
   Loading log-view...
   Loading easy-mmode...done
   Loading log-view...done
   Error during redisplay: (void-function ,log-view-file-re) [2 times]

This turns out to be coming from log-view-font-lock-keywords, which has
a value that looks something like this:

	((eval \` (\,log-view-file-re (1 ...) (0 log-view-file-face append)))
         (eval \` (\,log-view-message-re . log-view-message-face)))

The source (log-view.el:170) specifies backquoted forms inside a quoted
form; it appears that the reader is not handling this correctly.  The
attached patch replaces the backquotes with explicit "cons" calls; this
is not a real fix, and I include it only to show that it does make the
error messages go away.  Fixing the reader is undoubtedly hairier.

   However, fixing the "Error during redisplay" problem does not affect
the original symptom.

   Hope this is of some use,

					-- Bob Rogers
					   http://rgrjr.dyndns.org/


[-- Attachment #2: Type: text/plain, Size: 1286 bytes --]

Index: lisp/log-view.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/log-view.el,v
retrieving revision 1.37
diff -c -r1.37 log-view.el
*** lisp/log-view.el	23 Jun 2007 03:06:21 -0000	1.37
--- lisp/log-view.el	4 Aug 2007 02:41:52 -0000
***************
*** 170,179 ****
  (defvar log-view-font-lock-keywords
    ;; We use `eval' so as to use the buffer-local value of log-view-file-re
    ;; and log-view-message-re, if applicable.
!   '((eval . `(,log-view-file-re
!               (1 (if (boundp 'cvs-filename-face) cvs-filename-face))
!               (0 log-view-file-face append)))
!     (eval . `(,log-view-message-re . log-view-message-face))))
  (defconst log-view-font-lock-defaults
    '(log-view-font-lock-keywords t nil nil nil))
  
--- 170,180 ----
  (defvar log-view-font-lock-keywords
    ;; We use `eval' so as to use the buffer-local value of log-view-file-re
    ;; and log-view-message-re, if applicable.
!   '((eval . (cons log-view-file-re
! 		  '((1 (if (boundp 'cvs-filename-face) cvs-filename-face))
! 		    (0 log-view-file-face append))))
!     (eval . (cons log-view-message-re
! 		  'log-view-message-face))))
  (defconst log-view-font-lock-defaults
    '(log-view-font-lock-keywords t nil nil nil))
  

[-- Attachment #3: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

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

* Re: C-x v l does not move to current log entry
  2007-08-04  3:08   ` Bob Rogers
@ 2007-08-05  3:06     ` Richard Stallman
  2007-08-10  8:09     ` Stefan Monnier
  2007-08-12  4:15     ` Richard Stallman
  2 siblings, 0 replies; 14+ messages in thread
From: Richard Stallman @ 2007-08-05  3:06 UTC (permalink / raw)
  To: emacs-devel, esr; +Cc: Bob Rogers

Bob, thanks for making some progress.  Would someone else please take
this the rest of the way, DTRT, and ack?

MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="aPqeXV8Jxn"
Date: Fri, 3 Aug 2007 23:08:33 -0400
From: Bob Rogers <rogers-emacs@rgrjr.dyndns.org>
To: rms@gnu.org
CC: emacs-devel@gnu.org, esr@snark.thyrsus.com
Subject: Re: C-x v l does not move to current log entry
In-Reply-To: <E1IGcrV-000310-Cs@fencepost.gnu.org>


--aPqeXV8Jxn
Content-Type: text/plain; charset=iso-8859-1
Content-Description: message body text
Content-Transfer-Encoding: 8bit

   From: Richard Stallman <rms@gnu.org>
   Date: Thu, 02 Aug 2007 11:45:17 -0400

   Would someone please DTRT and ack?

   Date: Wed, 01 Aug 2007 09:51:17 +0200
   From: Jan Djärv <jan.h.d@swipnet.se>

   % emacs -Q src/gmalloc.c
   C-x v l

   The cursor stays at the top of the log view buffer.
   Contrast this to emacs 22.1 where the cursor is positioned to the current
   log entry for the revision of src/gmalloc.c that you are editing.

Hmm.  vc-default-show-log-entry does appear to be going to the right
place, but something is messing it up afterwards.  I think I'll go to
bed now and let somebody who knows what they're doing have a crack at
it.  ;-}

   This from *Messages* may be relevant:

   Running cvs log gmalloc.c in the background... done
   Loading log-view...
   Loading easy-mmode...done
   Loading log-view...done
   Error during redisplay: (void-function ,log-view-file-re) [2 times]

This turns out to be coming from log-view-font-lock-keywords, which has
a value that looks something like this:

	((eval \` (\,log-view-file-re (1 ...) (0 log-view-file-face append)))
         (eval \` (\,log-view-message-re . log-view-message-face)))

The source (log-view.el:170) specifies backquoted forms inside a quoted
form; it appears that the reader is not handling this correctly.  The
attached patch replaces the backquotes with explicit "cons" calls; this
is not a real fix, and I include it only to show that it does make the
error messages go away.  Fixing the reader is undoubtedly hairier.

   However, fixing the "Error during redisplay" problem does not affect
the original symptom.

   Hope this is of some use,

					-- Bob Rogers
					   http://rgrjr.dyndns.org/


--aPqeXV8Jxn
Content-Type: text/plain
Content-Description: 
Content-Disposition: inline;
	filename="no-bq-in-log-view-flk-1.patch"
Content-Transfer-Encoding: 7bit

Index: lisp/log-view.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/log-view.el,v
retrieving revision 1.37
diff -c -r1.37 log-view.el
*** lisp/log-view.el	23 Jun 2007 03:06:21 -0000	1.37
--- lisp/log-view.el	4 Aug 2007 02:41:52 -0000
***************
*** 170,179 ****
  (defvar log-view-font-lock-keywords
    ;; We use `eval' so as to use the buffer-local value of log-view-file-re
    ;; and log-view-message-re, if applicable.
!   '((eval . `(,log-view-file-re
!               (1 (if (boundp 'cvs-filename-face) cvs-filename-face))
!               (0 log-view-file-face append)))
!     (eval . `(,log-view-message-re . log-view-message-face))))
  (defconst log-view-font-lock-defaults
    '(log-view-font-lock-keywords t nil nil nil))
  
--- 170,180 ----
  (defvar log-view-font-lock-keywords
    ;; We use `eval' so as to use the buffer-local value of log-view-file-re
    ;; and log-view-message-re, if applicable.
!   '((eval . (cons log-view-file-re
! 		  '((1 (if (boundp 'cvs-filename-face) cvs-filename-face))
! 		    (0 log-view-file-face append))))
!     (eval . (cons log-view-message-re
! 		  'log-view-message-face))))
  (defconst log-view-font-lock-defaults
    '(log-view-font-lock-keywords t nil nil nil))
  

--aPqeXV8Jxn--

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

* Re: C-x v l does not move to current log entry
  2007-08-04  3:08   ` Bob Rogers
  2007-08-05  3:06     ` Richard Stallman
@ 2007-08-10  8:09     ` Stefan Monnier
  2007-08-12  4:15     ` Richard Stallman
  2 siblings, 0 replies; 14+ messages in thread
From: Stefan Monnier @ 2007-08-10  8:09 UTC (permalink / raw)
  To: Bob Rogers; +Cc: esr, rms, emacs-devel

> This turns out to be coming from log-view-font-lock-keywords, which has
> a value that looks something like this:

> 	((eval \` (\,log-view-file-re (1 ...) (0 log-view-file-face append)))
>          (eval \` (\,log-view-message-re . log-view-message-face)))

> The source (log-view.el:170) specifies backquoted forms inside a quoted
> form; it appears that the reader is not handling this correctly.  The
> attached patch replaces the backquotes with explicit "cons" calls; this
> is not a real fix, and I include it only to show that it does make the
> error messages go away.  Fixing the reader is undoubtedly hairier.

It turns out that the handling of nested backquotes was simply not working.
The reader's treatment worked (although IIRC it only works since Emacs-21),
but the backquote expansion was flawed.  As for the above bug it comes from
an incorrect treatment of the new backquote style (and its nesting) in the
printer (used by the byte-compiler, hence the above problem only appeared
when using log-view.elc rather than log-view.el which is why it worked fine
when I wrote the code).

I believe I've now fixed both problems in the 22 branch (should be merged into
the trunk in a couple days).


        Stefan "Duh!"

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

* Re: C-x v l does not move to current log entry
  2007-08-04  3:08   ` Bob Rogers
  2007-08-05  3:06     ` Richard Stallman
  2007-08-10  8:09     ` Stefan Monnier
@ 2007-08-12  4:15     ` Richard Stallman
  2007-08-12  8:30       ` Jan Djärv
  2 siblings, 1 reply; 14+ messages in thread
From: Richard Stallman @ 2007-08-12  4:15 UTC (permalink / raw)
  To: emacs-devel, esr; +Cc: Bob Rogers

[I sent this message a week ago but did not get a response.
Could we get the discussion moving again?]

Bob, thanks for making some progress.  Would someone else please take
this the rest of the way, DTRT, and ack?

MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="aPqeXV8Jxn"
Date: Fri, 3 Aug 2007 23:08:33 -0400
From: Bob Rogers <rogers-emacs@rgrjr.dyndns.org>
To: rms@gnu.org
CC: emacs-devel@gnu.org, esr@snark.thyrsus.com
Subject: Re: C-x v l does not move to current log entry
In-Reply-To: <E1IGcrV-000310-Cs@fencepost.gnu.org>


--aPqeXV8Jxn
Content-Type: text/plain; charset=iso-8859-1
Content-Description: message body text
Content-Transfer-Encoding: 8bit

   From: Richard Stallman <rms@gnu.org>
   Date: Thu, 02 Aug 2007 11:45:17 -0400

   Would someone please DTRT and ack?

   Date: Wed, 01 Aug 2007 09:51:17 +0200
   From: Jan Djärv <jan.h.d@swipnet.se>

   % emacs -Q src/gmalloc.c
   C-x v l

   The cursor stays at the top of the log view buffer.
   Contrast this to emacs 22.1 where the cursor is positioned to the current
   log entry for the revision of src/gmalloc.c that you are editing.

Hmm.  vc-default-show-log-entry does appear to be going to the right
place, but something is messing it up afterwards.  I think I'll go to
bed now and let somebody who knows what they're doing have a crack at
it.  ;-}

   This from *Messages* may be relevant:

   Running cvs log gmalloc.c in the background... done
   Loading log-view...
   Loading easy-mmode...done
   Loading log-view...done
   Error during redisplay: (void-function ,log-view-file-re) [2 times]

This turns out to be coming from log-view-font-lock-keywords, which has
a value that looks something like this:

	((eval \` (\,log-view-file-re (1 ...) (0 log-view-file-face append)))
         (eval \` (\,log-view-message-re . log-view-message-face)))

The source (log-view.el:170) specifies backquoted forms inside a quoted
form; it appears that the reader is not handling this correctly.  The
attached patch replaces the backquotes with explicit "cons" calls; this
is not a real fix, and I include it only to show that it does make the
error messages go away.  Fixing the reader is undoubtedly hairier.

   However, fixing the "Error during redisplay" problem does not affect
the original symptom.

   Hope this is of some use,

					-- Bob Rogers
					   http://rgrjr.dyndns.org/


--aPqeXV8Jxn
Content-Type: text/plain
Content-Description: 
Content-Disposition: inline;
	filename="no-bq-in-log-view-flk-1.patch"
Content-Transfer-Encoding: 7bit

Index: lisp/log-view.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/log-view.el,v
retrieving revision 1.37
diff -c -r1.37 log-view.el
*** lisp/log-view.el	23 Jun 2007 03:06:21 -0000	1.37
--- lisp/log-view.el	4 Aug 2007 02:41:52 -0000
***************
*** 170,179 ****
  (defvar log-view-font-lock-keywords
    ;; We use `eval' so as to use the buffer-local value of log-view-file-re
    ;; and log-view-message-re, if applicable.
!   '((eval . `(,log-view-file-re
!               (1 (if (boundp 'cvs-filename-face) cvs-filename-face))
!               (0 log-view-file-face append)))
!     (eval . `(,log-view-message-re . log-view-message-face))))
  (defconst log-view-font-lock-defaults
    '(log-view-font-lock-keywords t nil nil nil))
  
--- 170,180 ----
  (defvar log-view-font-lock-keywords
    ;; We use `eval' so as to use the buffer-local value of log-view-file-re
    ;; and log-view-message-re, if applicable.
!   '((eval . (cons log-view-file-re
! 		  '((1 (if (boundp 'cvs-filename-face) cvs-filename-face))
! 		    (0 log-view-file-face append))))
!     (eval . (cons log-view-message-re
! 		  'log-view-message-face))))
  (defconst log-view-font-lock-defaults
    '(log-view-font-lock-keywords t nil nil nil))
  

--aPqeXV8Jxn--

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

* Re: C-x v l does not move to current log entry
  2007-08-12  4:15     ` Richard Stallman
@ 2007-08-12  8:30       ` Jan Djärv
  2007-08-12 22:01         ` Stefan Monnier
  0 siblings, 1 reply; 14+ messages in thread
From: Jan Djärv @ 2007-08-12  8:30 UTC (permalink / raw)
  To: rms; +Cc: esr, Bob Rogers, emacs-devel



Richard Stallman skrev:
> [I sent this message a week ago but did not get a response.
> Could we get the discussion moving again?]
> 

Stefan Monnier has fixed this.

	Jan D.

> Bob, thanks for making some progress.  Would someone else please take
> this the rest of the way, DTRT, and ack?
> 
> MIME-Version: 1.0
> Content-Type: multipart/mixed; boundary="aPqeXV8Jxn"
> Date: Fri, 3 Aug 2007 23:08:33 -0400
> From: Bob Rogers <rogers-emacs@rgrjr.dyndns.org>
> To: rms@gnu.org
> CC: emacs-devel@gnu.org, esr@snark.thyrsus.com
> Subject: Re: C-x v l does not move to current log entry
> In-Reply-To: <E1IGcrV-000310-Cs@fencepost.gnu.org>
> 
> 
> --aPqeXV8Jxn
> Content-Type: text/plain; charset=iso-8859-1
> Content-Description: message body text
> Content-Transfer-Encoding: 8bit
> 
>    From: Richard Stallman <rms@gnu.org>
>    Date: Thu, 02 Aug 2007 11:45:17 -0400
> 
>    Would someone please DTRT and ack?
> 
>    Date: Wed, 01 Aug 2007 09:51:17 +0200
>    From: Jan Djärv <jan.h.d@swipnet.se>
> 
>    % emacs -Q src/gmalloc.c
>    C-x v l
> 
>    The cursor stays at the top of the log view buffer.
>    Contrast this to emacs 22.1 where the cursor is positioned to the current
>    log entry for the revision of src/gmalloc.c that you are editing.
> 
> Hmm.  vc-default-show-log-entry does appear to be going to the right
> place, but something is messing it up afterwards.  I think I'll go to
> bed now and let somebody who knows what they're doing have a crack at
> it.  ;-}
> 
>    This from *Messages* may be relevant:
> 
>    Running cvs log gmalloc.c in the background... done
>    Loading log-view...
>    Loading easy-mmode...done
>    Loading log-view...done
>    Error during redisplay: (void-function ,log-view-file-re) [2 times]
> 
> This turns out to be coming from log-view-font-lock-keywords, which has
> a value that looks something like this:
> 
> 	((eval \` (\,log-view-file-re (1 ...) (0 log-view-file-face append)))
>          (eval \` (\,log-view-message-re . log-view-message-face)))
> 
> The source (log-view.el:170) specifies backquoted forms inside a quoted
> form; it appears that the reader is not handling this correctly.  The
> attached patch replaces the backquotes with explicit "cons" calls; this
> is not a real fix, and I include it only to show that it does make the
> error messages go away.  Fixing the reader is undoubtedly hairier.
> 
>    However, fixing the "Error during redisplay" problem does not affect
> the original symptom.
> 
>    Hope this is of some use,
> 
> 					-- Bob Rogers
> 					   http://rgrjr.dyndns.org/
> 
> 
> --aPqeXV8Jxn
> Content-Type: text/plain
> Content-Description: 
> Content-Disposition: inline;
> 	filename="no-bq-in-log-view-flk-1.patch"
> Content-Transfer-Encoding: 7bit
> 
> Index: lisp/log-view.el
> ===================================================================
> RCS file: /sources/emacs/emacs/lisp/log-view.el,v
> retrieving revision 1.37
> diff -c -r1.37 log-view.el
> *** lisp/log-view.el	23 Jun 2007 03:06:21 -0000	1.37
> --- lisp/log-view.el	4 Aug 2007 02:41:52 -0000
> ***************
> *** 170,179 ****
>   (defvar log-view-font-lock-keywords
>     ;; We use `eval' so as to use the buffer-local value of log-view-file-re
>     ;; and log-view-message-re, if applicable.
> !   '((eval . `(,log-view-file-re
> !               (1 (if (boundp 'cvs-filename-face) cvs-filename-face))
> !               (0 log-view-file-face append)))
> !     (eval . `(,log-view-message-re . log-view-message-face))))
>   (defconst log-view-font-lock-defaults
>     '(log-view-font-lock-keywords t nil nil nil))
>   
> --- 170,180 ----
>   (defvar log-view-font-lock-keywords
>     ;; We use `eval' so as to use the buffer-local value of log-view-file-re
>     ;; and log-view-message-re, if applicable.
> !   '((eval . (cons log-view-file-re
> ! 		  '((1 (if (boundp 'cvs-filename-face) cvs-filename-face))
> ! 		    (0 log-view-file-face append))))
> !     (eval . (cons log-view-message-re
> ! 		  'log-view-message-face))))
>   (defconst log-view-font-lock-defaults
>     '(log-view-font-lock-keywords t nil nil nil))
>   
> 
> --aPqeXV8Jxn--
> 
> 
> 
> _______________________________________________
> Emacs-devel mailing list
> Emacs-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-devel

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

* Re: C-x v l does not move to current log entry
  2007-08-12  8:30       ` Jan Djärv
@ 2007-08-12 22:01         ` Stefan Monnier
  2007-08-13  6:03           ` Jan Djärv
  0 siblings, 1 reply; 14+ messages in thread
From: Stefan Monnier @ 2007-08-12 22:01 UTC (permalink / raw)
  To: Jan Dj?rv; +Cc: esr, Bob Rogers, rms, emacs-devel

>> [I sent this message a week ago but did not get a response.
>> Could we get the discussion moving again?]

> Stefan Monnier has fixed this.

Actually, I'm not sure if it's all fixed: the \,log-view-file-re error is
fixed, yes, but I don't know if the problem mentioned in the subject of this
thread is fixed.  I did install a change which may have fixed it, but I'm
not positive that it is fixed.


        Stefan

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

* Re: C-x v l does not move to current log entry
  2007-08-12 22:01         ` Stefan Monnier
@ 2007-08-13  6:03           ` Jan Djärv
  0 siblings, 0 replies; 14+ messages in thread
From: Jan Djärv @ 2007-08-13  6:03 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: esr, Bob Rogers, rms, emacs-devel



Stefan Monnier skrev:
>>> [I sent this message a week ago but did not get a response.
>>> Could we get the discussion moving again?]
> 
>> Stefan Monnier has fixed this.
> 
> Actually, I'm not sure if it's all fixed: the \,log-view-file-re error is
> fixed, yes, but I don't know if the problem mentioned in the subject of this
> thread is fixed.  I did install a change which may have fixed it, but I'm
> not positive that it is fixed.

I tried it with emacs 22 and it worked as expected there for some CVS files.

	Jan D.

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

* Re: C-x v l does not move to current log entry
  2007-08-01  7:51 C-x v l does not move to current log entry Jan Djärv
  2007-08-02 15:45 ` Richard Stallman
@ 2007-09-10  6:53 ` Jan Djärv
  2007-09-12  8:30   ` Glenn Morris
  1 sibling, 1 reply; 14+ messages in thread
From: Jan Djärv @ 2007-09-10  6:53 UTC (permalink / raw)
  To: emacs-devel

Hi.

Sorry if this is known, I haven't been able to keep up with all mails. 
Anyhow, I thought this would be mergeed from Emacs 22 to HEAD.  It works in 
EMACS_22_BASE, but not in HEAD.  It might be the new VC stuff in HEAD that is 
responsible?

Thanks,

	Jan D.


Jan Djärv skrev:
> 
> Please describe exactly what actions triggered the bug
> and the precise symptoms of the bug:
> 
> % emacs -Q src/gmalloc.c
> C-x v l
> 
> The cursor stays at the top of the log view buffer.
> Contrast this to emacs 22.1 where the cursor is positioned to the current
> log entry for the revision of src/gmalloc.c that you are editing.
> 

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

* Re: C-x v l does not move to current log entry
  2007-09-10  6:53 ` Jan Djärv
@ 2007-09-12  8:30   ` Glenn Morris
  2007-09-14  6:41     ` Jan Djärv
  0 siblings, 1 reply; 14+ messages in thread
From: Glenn Morris @ 2007-09-12  8:30 UTC (permalink / raw)
  To: Jan Djärv; +Cc: Stefan Monnier, emacs-devel

Jan Djärv wrote:

> Anyhow, I thought this would be mergeed from Emacs 22 to HEAD. It
> works in EMACS_22_BASE, but not in HEAD. It might be the new VC
> stuff in HEAD that is responsible?

Actually, this seems to be caused by this change:


2007-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>

    * vc.el (vc-exec-after): Don't move point from the sentinel.


>> % emacs -Q src/gmalloc.c
>> C-x v l
>> The cursor stays at the top of the log view buffer.
>> Contrast this to emacs 22.1 where the cursor is positioned to the current
>> log entry for the revision of src/gmalloc.c that you are editing.

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

* Re: C-x v l does not move to current log entry
  2007-09-12  8:30   ` Glenn Morris
@ 2007-09-14  6:41     ` Jan Djärv
  2007-09-15 22:25       ` Stefan Monnier
  0 siblings, 1 reply; 14+ messages in thread
From: Jan Djärv @ 2007-09-14  6:41 UTC (permalink / raw)
  To: Glenn Morris; +Cc: Stefan Monnier, emacs-devel



Glenn Morris skrev:
> Jan Djärv wrote:
> 
>> Anyhow, I thought this would be mergeed from Emacs 22 to HEAD. It
>> works in EMACS_22_BASE, but not in HEAD. It might be the new VC
>> stuff in HEAD that is responsible?
> 
> Actually, this seems to be caused by this change:
> 
> 
> 2007-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
> 
>     * vc.el (vc-exec-after): Don't move point from the sentinel.
> 

Thanks for pointing this out.  What is the reason for this change?  It is very 
annoying when C-x v l does not move from the top of the buffer.  It cases a 
lot of manual searching and scrolling.

	Jan D.

> 
>>> % emacs -Q src/gmalloc.c
>>> C-x v l
>>> The cursor stays at the top of the log view buffer.
>>> Contrast this to emacs 22.1 where the cursor is positioned to the current
>>> log entry for the revision of src/gmalloc.c that you are editing.
> 
> 
> _______________________________________________
> Emacs-devel mailing list
> Emacs-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-devel
> 

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

* Re: C-x v l does not move to current log entry
  2007-09-14  6:41     ` Jan Djärv
@ 2007-09-15 22:25       ` Stefan Monnier
  2007-09-16  8:55         ` Jan Djärv
  0 siblings, 1 reply; 14+ messages in thread
From: Stefan Monnier @ 2007-09-15 22:25 UTC (permalink / raw)
  To: Jan Djärv; +Cc: Glenn Morris, emacs-devel

> Thanks for pointing this out.  What is the reason for this change?  It is
> very annoying when C-x v l does not move from the top of the buffer.
> It cases a lot of manual searching and scrolling.

I've just installed the patch below which should help.


        Stefan


Index: lisp/vc.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc.el,v
retrieving revision 1.455
diff -u -r1.455 vc.el
--- lisp/vc.el	6 Sep 2007 05:28:07 -0000	1.455
+++ lisp/vc.el	15 Sep 2007 22:24:51 -0000
@@ -975,6 +975,33 @@
           (inhibit-read-only t))
       (erase-buffer))))
 
+(defvar vc-sentinel-movepoint)          ;Dynamically scoped.
+
+(defun vc-process-sentinel (p s)
+  (let ((previous (process-get p 'vc-previous-sentinel)))
+    (if previous (funcall previous p s))
+    (with-current-buffer (process-buffer p)
+      (let (vc-sentinel-movepoint)
+        ;; Normally, we want async code such as sentinels to not move point.
+        (save-excursion
+          (goto-char (process-mark p))
+          (let ((cmds (process-get p 'vc-sentinel-commands)))
+            (process-put p 'vc-postprocess nil)
+            (dolist (cmd cmds)
+              ;; Each sentinel may move point and the next one should be run
+              ;; at that new point.  We could get the same result by having
+              ;; each sentinel read&set process-mark, but since `cmd' needs
+              ;; to work both for async and sync processes, this would be
+              ;; difficult to achieve.
+              (vc-exec-after cmd))))
+        ;; But sometimes the sentinels really want to move point.
+        (if vc-sentinel-movepoint
+            (let ((win (get-buffer-window (current-buffer) 0)))
+              (if (not win)
+                  (goto-char vc-sentinel-movepoint)
+                (with-selected-window win
+                  (goto-char vc-sentinel-movepoint)))))))))
+
 (defun vc-exec-after (code)
   "Eval CODE when the current buffer's process is done.
 If the current buffer has no process, just evaluate CODE.
@@ -992,17 +1019,12 @@
       (eval code))
      ;; If a process is running, add CODE to the sentinel
      ((eq (process-status proc) 'run)
-      (let ((sentinel (process-sentinel proc)))
-	(set-process-sentinel proc
-	  `(lambda (p s)
-	     (with-current-buffer ',(current-buffer)
-               (save-excursion
-                (goto-char (process-mark p))
- 	        ,@(append (cdr (cdr (car   ;Strip off (save-exc (goto-char...)
-                           (cdr (cdr       ;Strip off (with-current-buffer buf
- 			    (car (cdr (cdr ;Strip off (lambda (p s)
-                             sentinel))))))))
- 			  (list `(vc-exec-after ',code)))))))))
+      (let ((previous (process-sentinel proc)))
+        (unless (eq previous 'vc-process-sentinel)
+          (process-put proc 'vc-previous-sentinel previous))
+        (set-process-sentinel proc 'vc-process-sentinel))
+      (process-put proc 'vc-sentinel-commands
+                   (cons code (process-get proc 'vc-sentinel-commands))))
      (t (error "Unexpected process state"))))
   nil)
 
@@ -1087,7 +1109,8 @@
 	  (if vc-command-messages
 	      (message "Running %s...OK" full-command)))
 	(vc-exec-after
-	 `(run-hook-with-args 'vc-post-command-functions ',command ',file-or-list ',flags))
+	 `(run-hook-with-args 'vc-post-command-functions
+                              ',command ',file-or-list ',flags))
 	status))))
 
 (defun vc-position-context (posn)
@@ -2557,6 +2580,7 @@
 	(vc-call-backend ',(vc-backend file)
 			 'show-log-entry
 			 ',focus-rev)
+        (setq vc-sentinel-movepoint (point))
         (set-buffer-modified-p nil)))))
 
 (defun vc-default-log-view-mode (backend) (log-view-mode))
@@ -3279,10 +3303,8 @@
           ;; moved it elsewhere, but really point here is not the position
           ;; of the user's cursor :-(
           (when ,current-line           ;(and (bobp))
-            (let ((win (get-buffer-window (current-buffer) 0)))
-              (when win
-                (with-selected-window win
-                  (goto-line ,current-line)))))
+            (goto-line ,current-line)
+            (setq vc-sentinel-movepoint))
           (unless (active-minibuffer-window)
             (message "Annotating... done")))))))

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

* Re: C-x v l does not move to current log entry
  2007-09-15 22:25       ` Stefan Monnier
@ 2007-09-16  8:55         ` Jan Djärv
  0 siblings, 0 replies; 14+ messages in thread
From: Jan Djärv @ 2007-09-16  8:55 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Glenn Morris, emacs-devel

Stefan Monnier skrev:
>> Thanks for pointing this out.  What is the reason for this change?  It is
>> very annoying when C-x v l does not move from the top of the buffer.
>> It cases a lot of manual searching and scrolling.
> 
> I've just installed the patch below which should help.
> 
> 

It does, thanks!

	Jan D.

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

end of thread, other threads:[~2007-09-16  8:55 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-01  7:51 C-x v l does not move to current log entry Jan Djärv
2007-08-02 15:45 ` Richard Stallman
2007-08-04  3:08   ` Bob Rogers
2007-08-05  3:06     ` Richard Stallman
2007-08-10  8:09     ` Stefan Monnier
2007-08-12  4:15     ` Richard Stallman
2007-08-12  8:30       ` Jan Djärv
2007-08-12 22:01         ` Stefan Monnier
2007-08-13  6:03           ` Jan Djärv
2007-09-10  6:53 ` Jan Djärv
2007-09-12  8:30   ` Glenn Morris
2007-09-14  6:41     ` Jan Djärv
2007-09-15 22:25       ` Stefan Monnier
2007-09-16  8:55         ` Jan Djärv

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).