GNU bug report logs - #18545
24.4.50: Bug - forward-line inside with-selected-window

Previous Next

Package: emacs;

Reported by: lompik <at> voila.fr

Date: Wed, 24 Sep 2014 13:40:02 UTC

Severity: normal

Found in version 24.4.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: lompik <at> voila.fr
Cc: 18545 <at> debbugs.gnu.org
Subject: bug#18545: 24.4.50: Bug - forward-line inside with-selected-window
Date: Sat, 27 Sep 2014 10:05:19 +0300
> Date: Fri, 26 Sep 2014 10:31:18 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 18545 <at> debbugs.gnu.org
> 
> > Date: Thu, 25 Sep 2014 22:05:36 +0200 (CEST)
> > From: lompik <at> voila.fr
> > Cc: 18545 <at> debbugs.gnu.org
> > 
> > here's a related scrolling involving the lisp function recenter:
> > 
> > 1. emacs -Q
> > 2. define those binding:
> > 
> > 
> > (global-set-key (kbd "C-`") '(lambda ()
> > (interactive)
> > (with-selected-window (get-buffer-window "*Completions*")
> > (forward-line 1))))
> > 
> > (global-set-key (kbd "C-~") '(lambda ()
> > (interactive)
> > (with-selected-window (get-buffer-window "*Completions*")
> > (forward-line -1))))
> > 
> > (global-set-key (kbd "C-;") '(lambda ()
> > (interactive)
> > (with-selected-window (get-buffer-window "*Completions*")
> > (recenter 5))))
> > 
> > 3. do:
> > 
> > C-x C-f -> in a directory with lots of file.
> > tab tab -> open completion buffer
> > C-` -> to until scrolling down the *completion* buffer
> > 
> > hit "C-;" -> nothing happens. it should recenter. 
> > hit "C-'`" -> it recenter then move one line down
> 
> I'm not sure this is related to this bug.  The problem here was that
> the display engine was not considering for redisplay the window
> showing the *Completions* buffer.  The patch below fixes that.
> 
> === modified file 'src/window.c'
> --- src/window.c	2014-09-11 08:47:34 +0000
> +++ src/window.c	2014-09-26 07:28:02 +0000
> @@ -5897,6 +5897,8 @@ and redisplay normally--don't erase and 
>    w->start_at_line_beg = (bytepos == BEGV_BYTE ||
>  			  FETCH_BYTE (bytepos - 1) == '\n');
>  
> +  wset_redisplay (w);
> +
>    set_buffer_internal (obuf);
>    return Qnil;
>  }

Does this fix the other problem which you saw with scrolling?  (I
doubt it does.)  If so, could you please tell me how to reproduce
that?

Thanks.




This bug report was last modified 10 years and 237 days ago.

Previous Next


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