emacs-devel
[Top][All Lists]
Advanced

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

Re: visibility of overlays at end of buffer


From: Chong Yidong
Subject: Re: visibility of overlays at end of buffer
Date: Thu, 23 Feb 2006 23:54:10 -0500

> With emacs -Q evaluate ...

> (get-buffer-create "*over*")
> (defvar bar-over)
> (with-current-buffer "*over*"
>   (delete-region (point-min) (point-max))
>   (insert "foo\n")
>   (let ((at (point)))
>     (insert "bar\nbar\nbar\n")
>     (setq bar-over (make-overlay at (point-max))))
>   (overlay-put bar-over 'invisible t))
> (defun bar-over ()
>   (interactive)
>   (overlay-put bar-over 'invisible (not (overlay-get bar-over 'invisible))))
> (global-set-key [(control meta z)] 'bar-over)
>
> ... and enter buffer *over*.  On my system
>
> - with the cursor before "foo" C-M-z never displays / hides the "bar"s,

This can be fixed by making overlay-put tell redisplay that the window
is changed.

*** emacs/src/buffer.c.~1.498.~ 2006-02-20 23:20:14.000000000 -0500
--- emacs/src/buffer.c  2006-02-23 23:51:23.000000000 -0500
***************
*** 4090,4095 ****
--- 4090,4097 ----
              == OVERLAY_POSITION (OVERLAY_END (overlay))))
        Fdelete_overlay (overlay);
      }
+ 
+   windows_or_buffers_changed++;
    return value;
  }
  




reply via email to

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