Mercurial > emacs
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)) |