Function: register-preview-forward-line
register-preview-forward-line is a byte-compiled function defined in
register.el.gz.
Signature
(register-preview-forward-line ARG)
Documentation
Move to next or previous line in register preview buffer.
If ARG is positive, go to next line; if negative, go to previous line. Do nothing when defining or executing kmacros.
Source Code
;; Defined in /usr/src/emacs/lisp/register.el.gz
(defun register-preview-forward-line (arg)
"Move to next or previous line in register preview buffer.
If ARG is positive, go to next line; if negative, go to previous line.
Do nothing when defining or executing kmacros."
;; Ensure user enter manually key in minibuffer when recording a macro.
(unless (or defining-kbd-macro executing-kbd-macro
(not (get-buffer-window "*Register Preview*" 'visible)))
(let ((fn (if (> arg 0) #'eobp #'bobp))
(posfn (if (> arg 0)
#'point-min
(lambda () (1- (point-max)))))
str)
(with-current-buffer "*Register Preview*"
(let ((ovs (overlays-in (point-min) (point-max)))
pos)
(goto-char (if ovs
(overlay-start (car ovs))
(point-min)))
(setq pos (point))
(and ovs (forward-line arg))
(when (and (funcall fn)
(or (> arg 0) (eql pos (point))))
(goto-char (funcall posfn)))
(setq str (buffer-substring-no-properties
(pos-bol) (1+ (pos-bol))))
(remove-overlays)
(with-selected-window (minibuffer-window)
(delete-minibuffer-contents)
(insert str)))))))