GNU bug report logs - #349
show-paren-mode overlay extending onto new text

Previous Next

Package: emacs;

Reported by: Kevin Ryde <user42 <at> zip.com.au>

Date: Mon, 2 Jun 2008 01:55:04 UTC

Severity: normal

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 349 in the body.
You can then email your comments to 349 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#349; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Kevin Ryde <user42 <at> zip.com.au>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Kevin Ryde <user42 <at> zip.com.au>
To: bug-gnu-emacs <at> gnu.org
Subject: show-paren-mode overlay extending onto new text
Date: Mon, 02 Jun 2008 11:46:20 +1000
In show-paren-mode, when point is after a closing paren so it and the
opener are highlighted, sometimes newly inserted text is covered with
the paren colour too, for a little while.

This doesn't happen all the time, but I've noticed in particular in
program output from M-x compile.  So from "emacs -Q",

    M-x show-paren-mode
    M-x compile
    echo -n '(hello)'; sleep 6; yes
    C-x o    # to *compilation* buffer
    M->      # go to end of buffer

    => the (hello) parens are highlighted

    => but then the output of "yes" is highlighted too

The "sleep 6" gives you a chance to switch to the compilation buffer,
the "echo -n" is so there's no trailing newline in the buffer yet.

An "echo" like this is of course a contrivance, but I've struck the
effect in real program output when switching to the buffer at a random
point or when a close paren is a genuine last bit of its output so far.

I guess for most insertions the timer or whatever gets a chance to reset
or hide the overlay, but for heavy running compile output maybe that
doesn't happen.  I wondered if the make-overlay in show-paren-function
might have the "rear-advance" arg nil, unless there's ever a time it
ought to extend.



In GNU Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.12.9)
 of 2008-04-27 on raven, modified by Debian
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.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/22.2/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/22.2/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' '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: en_AU
  locale-coding-system: iso-8859-1
  default-enable-multibyte-characters: t

Major mode: Group

Minor modes in effect:
  gnus-topic-mode: t
  gnus-undo-mode: t
  show-paren-mode: t
  encoded-kbd-mode: t
  file-name-shadow-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  line-number-mode: t





Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#349; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to martin rudalics <rudalics <at> gmx.at>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #10 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Kevin Ryde <user42 <at> zip.com.au>, 349 <at> debbugs.gnu.org
Cc: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#349: show-paren-mode overlay extending onto new text
Date: Mon, 02 Jun 2008 08:23:40 +0200
> I wondered if the make-overlay in show-paren-function
> might have the "rear-advance" arg nil, unless there's ever a time it
> ought to extend.
>
> In GNU Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.12.9)
[...]
>   show-paren-mode: t
[...]

Version 1.75 of paren.el has

		(setq show-paren-overlay-1 (make-overlay from to nil t)))

and

	      (setq show-paren-overlay (make-overlay from to nil t))))

hence both overlays seem to have "rear-advance" nil.






Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#349; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to martin rudalics <rudalics <at> gmx.at>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#349; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> IRO.UMontreal.CA>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #20 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 349 <at> debbugs.gnu.org, Kevin Ryde <user42 <at> zip.com.au>,
        bug-gnu-emacs <at> gnu.org
Subject: Re: bug#349: show-paren-mode overlay extending onto new text
Date: Mon, 02 Jun 2008 09:47:54 -0400
>> I wondered if the make-overlay in show-paren-function
>> might have the "rear-advance" arg nil, unless there's ever a time it
>> ought to extend.
>> 
>> In GNU Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.12.9)
> [...]
>> show-paren-mode: t
> [...]

> Version 1.75 of paren.el has
> 		(setq show-paren-overlay-1 (make-overlay from to nil t)))
> and
> 	      (setq show-paren-overlay (make-overlay from to nil t))))
> hence both overlays seem to have "rear-advance" nil.

Indeed, the problem is that compile.el uses insert-before-markers.
So no amount of rear-advance will help.

I have been using a simple patch which adds a buffer-local variable
which I called `window-marker-insertion-type' (but I realize now it
should rather be `window-point-insertion-type'), so major modes can set
this variable if they want `window-point' to be "move after insertion".

This way, compile.el (and other similar packages) might not need to use
insert-before-markers.


        Stefan





Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#349; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#349; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Kevin Ryde <user42 <at> zip.com.au>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #30 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Kevin Ryde <user42 <at> zip.com.au>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 349 <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
Subject: Re: bug#349: show-paren-mode overlay extending onto new text
Date: Tue, 03 Jun 2008 11:00:51 +1000
martin rudalics <rudalics <at> gmx.at> writes:
>
> hence both overlays seem to have "rear-advance" nil.

Oops, yep, I got myself completely confused about nil, t, front and
rear!





Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#349; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Kevin Ryde <user42 <at> zip.com.au>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Reply sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
You have taken responsibility. Full text and rfc822 format available.

Notification sent to Kevin Ryde <user42 <at> zip.com.au>:
bug acknowledged by developer. Full text and rfc822 format available.

Message #40 received at 349-done <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: 349-done <at> debbugs.gnu.org
Subject: Re: show-paren-mode overlay extending onto new text
Date: Tue, 10 Jun 2008 12:20:19 -0400
I've installed a change which fixes this problem for `compile' buffers
as well as a few others (e.g. comint).  The underlying problem is still
present and currently unavoidable, so it may show up anywhere where
insert-before-markers is used, but the new window-point-insertion-type
should reduce the need for insert-before-markers.


        Stefan




bug archived. Request was from Debbugs Internal Request <don <at> donarmstrong.com> to internal_control <at> emacsbugs.donarmstrong.com. (Wed, 09 Jul 2008 14:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 16 years and 343 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.