mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-27 07:37:33 +00:00
(read-number): New function.
This commit is contained in:
parent
7c7085c052
commit
9bf2aa6a71
23
lisp/subr.el
23
lisp/subr.el
@ -1,6 +1,6 @@
|
||||
;;; subr.el --- basic lisp subroutines for Emacs
|
||||
|
||||
;; Copyright (C) 1985, 86, 92, 94, 95, 99, 2000, 2001, 2002, 2003
|
||||
;; Copyright (C) 1985, 86, 92, 94, 95, 99, 2000, 2001, 2002, 03, 2004
|
||||
;; Free Software Foundation, Inc.
|
||||
|
||||
;; Maintainer: FSF
|
||||
@ -1307,6 +1307,27 @@ Optional DEFAULT is a default password to use instead of empty input."
|
||||
(setq pass new-pass))))))
|
||||
(message nil)
|
||||
(or pass default ""))))
|
||||
|
||||
;; This should be used by `call-interactively' for `n' specs.
|
||||
(defun read-number (prompt &optional default)
|
||||
(let ((n nil))
|
||||
(when default
|
||||
(setq prompt
|
||||
(if (string-match "\\(\\):[^:]*" prompt)
|
||||
(replace-match (format " [%s]" default) t t prompt 1)
|
||||
(concat prompt (format " [%s] " default)))))
|
||||
(while
|
||||
(progn
|
||||
(let ((str (read-from-minibuffer prompt nil nil nil nil
|
||||
(number-to-string default))))
|
||||
(setq n (cond
|
||||
((zerop (length str)) default)
|
||||
((stringp str) (read str)))))
|
||||
(unless (numberp n)
|
||||
(message "Please enter a number.")
|
||||
(sit-for 1)
|
||||
t)))
|
||||
n))
|
||||
|
||||
;;; Atomic change groups.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user