comparison lisp/subr.el @ 90813:e6fdae9180d4

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 698-710) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 216) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-196
author Miles Bader <miles@gnu.org>
date Tue, 24 Apr 2007 21:56:25 +0000
parents 4ef881a120fe 954d7a5a16f6
children 3619e7770f2e
comparison
equal deleted inserted replaced
90812:6137cc8ddf90 90813:e6fdae9180d4
1717 (message nil) 1717 (message nil)
1718 (or pass default ""))))) 1718 (or pass default "")))))
1719 1719
1720 ;; This should be used by `call-interactively' for `n' specs. 1720 ;; This should be used by `call-interactively' for `n' specs.
1721 (defun read-number (prompt &optional default) 1721 (defun read-number (prompt &optional default)
1722 "Read a numeric value in the minibuffer, prompting with PROMPT.
1723 DEFAULT specifies a default value to return if the user just types RET.
1724 The value of DEFAULT is inserted into PROMPT."
1722 (let ((n nil)) 1725 (let ((n nil))
1723 (when default 1726 (when default
1724 (setq prompt 1727 (setq prompt
1725 (if (string-match "\\(\\):[ \t]*\\'" prompt) 1728 (if (string-match "\\(\\):[ \t]*\\'" prompt)
1726 (replace-match (format " (default %s)" default) t t prompt 1) 1729 (replace-match (format " (default %s)" default) t t prompt 1)
1730 (while 1733 (while
1731 (progn 1734 (progn
1732 (let ((str (read-from-minibuffer prompt nil nil nil nil 1735 (let ((str (read-from-minibuffer prompt nil nil nil nil
1733 (and default 1736 (and default
1734 (number-to-string default))))) 1737 (number-to-string default)))))
1735 (setq n (cond 1738 (condition-case nil
1736 ((zerop (length str)) default) 1739 (setq n (cond
1737 ((stringp str) (read str))))) 1740 ((zerop (length str)) default)
1741 ((stringp str) (read str))))
1742 (error nil)))
1738 (unless (numberp n) 1743 (unless (numberp n)
1739 (message "Please enter a number.") 1744 (message "Please enter a number.")
1740 (sit-for 1) 1745 (sit-for 1)
1741 t))) 1746 t)))
1742 n)) 1747 n))