bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Eli Zaretskii
Subject: bug#18545: 24.4.50: Bug - forward-line inside with-selected-window
Date: Fri, 26 Sep 2014 10:31:18 +0300

> Date: Thu, 25 Sep 2014 22:05:36 +0200 (CEST)
> From: lompik@voila.fr
> Cc: 18545@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;
 }






reply via email to

[Prev in Thread] Current Thread [Next in Thread]