Function: goto-line-read-args
goto-line-read-args is a byte-compiled function defined in
simple.el.gz.
Signature
(goto-line-read-args &optional RELATIVE)
Documentation
Read arguments for goto-line related commands.
Source Code
;; Defined in /usr/src/emacs/lisp/simple.el.gz
(defun goto-line-read-args (&optional relative)
"Read arguments for `goto-line' related commands."
(if (and current-prefix-arg (not (consp current-prefix-arg)))
(list (prefix-numeric-value current-prefix-arg))
;; Look for a default, a number in the buffer at point.
(let* ((number (number-at-point))
(default (and (natnump number) number))
;; Decide if we're switching buffers.
(buffer
(if (consp current-prefix-arg)
(other-buffer (current-buffer) t)))
(buffer-prompt
(if buffer
(concat " in " (buffer-name buffer))
"")))
;; Has the buffer locality of `goto-line-history' changed?
(cond ((and goto-line-history-local (not (local-variable-p 'goto-line-history)))
(make-local-variable 'goto-line-history))
((and (not goto-line-history-local) (local-variable-p 'goto-line-history))
(kill-local-variable 'goto-line-history)))
;; Read the argument, offering that number (if any) as default.
(list (read-number (format "Goto%s line%s: "
(if (buffer-narrowed-p)
(if relative " relative" " absolute")
"")
buffer-prompt)
(list default (if (or relative (not (buffer-narrowed-p)))
(line-number-at-pos)
(save-restriction
(widen)
(line-number-at-pos))))
'goto-line-history)
buffer))))