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

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

bug#29198: Cursor fringe arrow indicator not updating.


From: Keith David Bershatsky
Subject: bug#29198: Cursor fringe arrow indicator not updating.
Date: Tue, 07 Nov 2017 11:57:49 -0800

The following code works fine with no user configuration in Emacs 25.3.  
However, it does not work well with the current version of the master branch.  
The overlay arrow indicator is not updating as the user moves up or down in the 
buffer with the keyboard arrow keys.

Step 1:  Open an Emacs built from the current master branch.

Step 2:  Got to the scratch buffer and evaluate the code below.

Step 3:  Maneuver up and down with the arrow keys navigating the code below.  
The fringe bitmap indicator should track the vertical cursor position, but it 
does not work.


(defface +-left-fringe-cursor-face
  '((t (:foreground "firebrick")))
  "Face for `+-left-fringe-cursor-face'."
  :group '+-mode)

(defun set-fringe-cursor ()
"Doc-string"
  (if (not (and (eobp) (bolp)))
     (setq +-left-fringe-overlay-position (copy-marker 
(line-beginning-position)))
    (setq +-left-fringe-overlay-position  nil)))

(define-fringe-bitmap '+-cursor-left-fringe-bitmap [128 192 96 48 24 48 96 192 
128] 9 8 'center)
(set-fringe-bitmap-face '+-cursor-left-fringe-bitmap '+-left-fringe-cursor-face)

;;; `overlay-arrow-bitmap' is a special SYMBOL defined in xdisp.c.
(defvar +-left-fringe-overlay-position nil
  "Doc-string.")
(make-variable-buffer-local '+-left-fringe-overlay-position)
(add-to-list 'overlay-arrow-variable-list '+-left-fringe-overlay-position)
(put '+-left-fringe-overlay-position 'overlay-arrow-bitmap 
'+-cursor-left-fringe-bitmap)

(add-hook 'post-command-hook 'set-fringe-cursor 'append 'local)





reply via email to

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