Mercurial > hg > xemacs-beta
diff lisp/wid-edit.el @ 227:0e522484dd2a r20-5b12
Import from CVS: tag r20-5b12
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:12:37 +0200 |
parents | 6c0ae1f9357f |
children | 966663fcf606 |
line wrap: on
line diff
--- a/lisp/wid-edit.el Mon Aug 13 10:11:42 2007 +0200 +++ b/lisp/wid-edit.el Mon Aug 13 10:12:37 2007 +0200 @@ -586,8 +586,9 @@ (setq prompt (format "[%s] %s" (widget-type widget) prompt)) (setq widget (widget-convert widget)) (let ((answer (widget-apply widget :prompt-value prompt value unbound))) - (unless (widget-apply widget :match answer) - (error "Value does not match %S type." (car widget))) + (while (not (widget-apply widget :match answer)) + (setq answer (signal 'error (list "Answer does not match type" + answer (widget-type widget))))) answer)) (defun widget-get-sibling (widget) @@ -1704,7 +1705,7 @@ doc-text) buttons)))) (t - (error "Unknown escape `%c'" escape))) + (signal 'error (list "Unknown escape" escape)))) (widget-put widget :buttons buttons))) (defun widget-default-button-face-get (widget) @@ -2434,7 +2435,7 @@ (widget-create-child-value widget type (car (cdr chosen))))))) (t - (error "Unknown escape `%c'" escape))))) + (signal 'error (list "Unknown escape" escape)))))) ;; Update properties. (and button child (widget-put child :button button)) (and button (widget-put widget :buttons (cons button buttons))) @@ -2614,7 +2615,7 @@ (unless chosen (widget-apply child :deactivate))) (t - (error "Unknown escape `%c'" escape))))) + (signal 'error (list "Unknown escape" escape)))))) ;; Update properties. (when chosen (widget-put widget :choice type)) @@ -2898,7 +2899,7 @@ widget type value)) (setq child (widget-create-child widget type)))) (t - (error "Unknown escape `%c'" escape))))) + (signal 'error (list "Unknown escape" escape)))))) (widget-put widget :buttons (cons delete (cons insert @@ -3402,8 +3403,9 @@ (goto-char (point-min)) (let ((answer (read buffer))) (unless (eobp) - (error "Junk at end of expression: %s" - (buffer-substring (point) (point-max)))) + (signal 'error + (list "Junk at end of expression" + (buffer-substring (point) (point-max))))) answer))))) (define-widget 'restricted-sexp 'sexp