> 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  <[EMAIL PROTECTED]>

        * 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


_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

Reply via email to