GNU bug report logs - #848
doc for recenter, redisplay

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Mon, 1 Sep 2008 07:35:03 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

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 848 in the body.
You can then email your comments to 848 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#848; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to "Drew Adams" <drew.adams <at> oracle.com>:
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: "Drew Adams" <drew.adams <at> oracle.com>
To: <bug-gnu-emacs <at> gnu.org>
Subject: doc for recenter, redisplay
Date: Mon, 1 Sep 2008 00:26:38 -0700
I notice that `recenter' has the effect of calling (redisplay t); that
is, it seems to force a redisplay. I don't see this mentioned
anywhere. It might be helpful to mention it. We might want to mention
it in the Elisp manual node Textual Scrolling, where `recenter' is
covered, and also in node Forcing Redisplay, where redisplay is
covered (with an xref to Textual Scrolling).
 
Users who want to both recenter and redisplay might want to know
that `recenter' alone suffices.
 
Users who do not want to force a redisplay might want to know that
`recenter' does that.
 

In GNU Emacs 22.2.1 (i386-mingw-nt5.1.2600)
 of 2008-03-26 on RELEASE
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'
 






Reply sent to Chong Yidong <cyd <at> stupidchicken.com>:
You have taken responsibility. Full text and rfc822 format available.

Notification sent to "Drew Adams" <drew.adams <at> oracle.com>:
bug acknowledged by developer. Full text and rfc822 format available.

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

From: Chong Yidong <cyd <at> stupidchicken.com>
To: "Drew Adams" <drew.adams <at> oracle.com>
Cc: 848-done <at> debbugs.gnu.org
Subject: Re: doc for recenter, redisplay
Date: Mon, 01 Sep 2008 13:54:52 -0400
> I notice that `recenter' has the effect of calling (redisplay t); that
> is, it seems to force a redisplay. I don't see this mentioned
> anywhere. It might be helpful to mention it. We might want to mention
> it in the Elisp manual node Textual Scrolling, where `recenter' is
> covered, and also in node Forcing Redisplay, where redisplay is
> covered (with an xref to Textual Scrolling).

In the docstring:
  
  If arg is omitted or nil, erase the entire frame and then redraw with
  point in the center of the current window.

In the Emacs manual:

  It also clears the screen and redisplays all windows; this is useful
  in case the screen becomes garbled for any reason (*note Screen
  Garbled::).

In the Elisp manual:

  If @var{count} is @code{nil}, @code{recenter} puts the line containing
  point in the middle of the window, then clears and redisplays the
  entire selected frame.

However, the docstring for recenter-top-bottom (new to Emacs 23) did not
mention this; I've updated it accordingly.




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

From: "Drew Adams" <drew.adams <at> oracle.com>
To: "'Chong Yidong'" <cyd <at> stupidchicken.com>
Cc: <848-done <at> debbugs.gnu.org>
Subject: RE: doc for recenter, redisplay
Date: Mon, 1 Sep 2008 11:13:52 -0700
> > I notice that `recenter' has the effect of calling 
> > (redisplay t); that is, it seems to force a redisplay. I don't
> > see this mentioned anywhere. It might be helpful to mention it.
> > We might want to mention it in the Elisp manual node Textual
> > Scrolling, where `recenter' is covered, and also in node
> > Forcing Redisplay, where redisplay is
> > covered (with an xref to Textual Scrolling).
>
> > Users who want to both recenter and redisplay might want to
> > know that `recenter' alone suffices.
>  
> > Users who do not want to force a redisplay might want to
> > know that `recenter' does that.
>  
> 
> In the docstring:
>   
>   If arg is omitted or nil, erase the entire frame and then 
>   redraw with point in the center of the current window.
> 
> In the Emacs manual:
> 
>   It also clears the screen and redisplays all windows; this is useful
>   in case the screen becomes garbled for any reason (*note Screen
>   Garbled::).
> 
> In the Elisp manual:
> 
>   If @var{count} is @code{nil}, @code{recenter} puts the line 
>   containing point in the middle of the window, then clears and
>   redisplays the entire selected frame.
> 
> However, the docstring for recenter-top-bottom (new to Emacs 
> 23) did not mention this; I've updated it accordingly.

OK, thanks.

I was mainly concerned about the redisplay doc in the Elisp manual, where I was
looking for info about functions that can cause redisplay. Could you please also
mention this effect in node Forcing Redisplay (and cross-reference node Textual
Scrolling for more info about `recenter'). Thx.

Reasons (again):

1. You might have a (recenter) in your code and not be able to figure out why or
where redisplay is occurring. Knowing this redisplay effect would help
debugging.

2. You might want to both recenter and redisplay. Looking up `redisplay' in the
manual should let you know that recentering will also cause redisplay.


Also, the Emacs manual (node Scrolling) says that `C-l' redisplays "on a text
terminal". I don't think that restriction is applicable anymore; I think it
redisplays always and everywhere. Perhaps what gets redisplayed is different for
a text terminal? Not sure just what was meant here.

The Scrolling node passage also sends you to node Screen Garbled, which also
speaks only of text terminals. Dunno if that restriction is appropriate there
either, but it is certainly true that `C-l' redisplay can be important for text
terminals (or at least it used to be important).





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

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

Previous Next


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