emacs-devel
[Top][All Lists]
Advanced

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

Re: `overlay-arrow-position' should be automatically buffer-local


From: Nick Roberts
Subject: Re: `overlay-arrow-position' should be automatically buffer-local
Date: Wed, 19 Oct 2005 20:33:02 +1300

 > Well, the following doesn't work in 21.3 but does in recent cvs
 > versions (I get an arrow in each buffer in the latter):
 > 
 > (progn
 >   (switch-to-buffer "buf1")
 >   (delete-other-windows)
 >   (make-variable-buffer-local 'overlay-arrow-position)
 >   (setq overlay-arrow-position (make-marker))
 >   (set-marker overlay-arrow-position (point-min))
 >   (with-current-buffer (pop-to-buffer "buf2")
 >     (make-variable-buffer-local 'overlay-arrow-position)
 >     (setq overlay-arrow-position (make-marker))
 >     (set-marker overlay-arrow-position (point-min))))

But this works in 21.3:

(progn
  (switch-to-buffer "buf1")
  (delete-other-windows)
+  (setq overlay-arrow-string "=>")                
  (make-local-variable 'overlay-arrow-position)
  (setq overlay-arrow-position (make-marker))
  (set-marker overlay-arrow-position (point-min))
  (with-current-buffer (pop-to-buffer "buf2")
    (make-local-variable 'overlay-arrow-position)
    (setq overlay-arrow-position (make-marker))
    (set-marker overlay-arrow-position (point-min))))

This line is not needed in 22.0.50 because of this change:

2005-04-08  Kim F. Storm  <address@hidden>

        * xdisp.c (syms_of_xdisp): Init overlay-arrow-string to "=>".

 > Maybe I'm missing something, but I don't see why you need to use
 > `overlay-arrow-variable-list' since you can just make
 > `overlay-arrow-position' buffer local where you need it and get a
 > local arrow that way.  Or is that abusing `overlay-arrow-position'
 > which might be intended to be a single global arrow?

I've already given one reason.  With Edebug, the overlay arrow can hop from
file to file and hence, from buffer to buffer.  I'm not sure what the
consequences are.  You'd have to reset all their values to nil after debugging
for a start.

Nick




reply via email to

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