From 1a7033f1f3de4ad8c1bfd68b54e6c9d8444a3bcc Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Sun, 20 Dec 2020 22:05:51 +0200 Subject: [PATCH] * lisp/simple.el (goto-line-read-args): Use number-at-point (bug#45199) * lisp/subr.el (goto-char--read-natnum-interactive): Add the value of point to the end of default values, and move function slightly higher. --- lisp/simple.el | 12 ++---------- lisp/subr.el | 18 +++++++++--------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/lisp/simple.el b/lisp/simple.el index b1c949d7c6d..2b13a0d4867 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -1264,7 +1264,6 @@ that uses or sets the mark." ;; minibuffer, this is at the end of the prompt. (goto-char (minibuffer-prompt-end))) - ;; Counting lines, one way or another. (defvar goto-line-history nil @@ -1276,15 +1275,8 @@ that uses or sets the mark." (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* ((default - (save-excursion - (skip-chars-backward "0-9") - (if (looking-at "[0-9]") - (string-to-number - (buffer-substring-no-properties - (point) - (progn (skip-chars-forward "0-9") - (point))))))) + (let* ((number (number-at-point)) + (default (and (natnump number) number)) ;; Decide if we're switching buffers. (buffer (if (consp current-prefix-arg) diff --git a/lisp/subr.el b/lisp/subr.el index cb64b3f6e74..9527f7120aa 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -2719,6 +2719,15 @@ floating point support." (push (cons t read) unread-command-events) nil)))))) +(defun goto-char--read-natnum-interactive (prompt) + "Get a natural number argument, optionally prompting with PROMPT. +If there is a natural number at point, use it as default." + (if (and current-prefix-arg (not (consp current-prefix-arg))) + (list (prefix-numeric-value current-prefix-arg)) + (let* ((number (number-at-point)) + (default (and (natnump number) number))) + (list (read-number prompt (list default (point))))))) + (defvar read-char-history nil "The default history for the `read-char-from-minibuffer' function.") @@ -2820,15 +2829,6 @@ There is no need to explicitly add `help-char' to CHARS; (message "%s%s" prompt (char-to-string char)) char)) -(defun goto-char--read-natnum-interactive (prompt) - "Get a natural number argument, optionally prompting with PROMPT. -If there is a natural number at point, use it as default." - (if (and current-prefix-arg (not (consp current-prefix-arg))) - (list (prefix-numeric-value current-prefix-arg)) - (let* ((number (number-at-point)) - (default (and (natnump number) number))) - (list (read-number prompt default))))) - ;; Behind display-popup-menus-p test. (declare-function x-popup-dialog "menu.c" (position contents &optional header)) -- 2.39.2