Commit 1d869634 authored by Dave Love's avatar Dave Love
Browse files

(widget-sexp-validate): Fix garbled code.

parent 14473664
...@@ -1635,7 +1635,7 @@ If END is omitted, it defaults to the length of LIST." ...@@ -1635,7 +1635,7 @@ If END is omitted, it defaults to the length of LIST."
:action 'widget-field-action :action 'widget-field-action
:validate 'widget-field-validate :validate 'widget-field-validate
:valid-regexp "" :valid-regexp ""
:error "No match" :error "Field's value doesn't match allowed form"
:value-create 'widget-field-value-create :value-create 'widget-field-value-create
:value-delete 'widget-field-value-delete :value-delete 'widget-field-value-delete
:value-get 'widget-field-value-get :value-get 'widget-field-value-get
...@@ -2998,25 +2998,26 @@ It will read a directory name from the minibuffer when invoked." ...@@ -2998,25 +2998,26 @@ It will read a directory name from the minibuffer when invoked."
(with-temp-buffer (with-temp-buffer
(insert (widget-apply widget :value-get)) (insert (widget-apply widget :value-get))
(goto-char (point-min)) (goto-char (point-min))
(let (err)
(condition-case data (condition-case data
(progn (progn
;; Avoid a confusing end-of-file error. ;; Avoid a confusing end-of-file error.
(skip-syntax-forward "\\s-") (skip-syntax-forward "\\s-")
(if (eobp) (if (eobp)
(error "Empty sexp -- use `nil'?")) (setq err "Empty sexp -- use `nil'?")
(if (eobp)
(unless (widget-apply widget :match (read (current-buffer))) (unless (widget-apply widget :match (read (current-buffer)))
(widget-put widget :error (widget-get widget :type-error)) (setq err (widget-get widget :type-error))))
widget) (if (and (not (eobp))
(widget-put widget (not err))
:error (format "Junk at end of expression: %s" (setq err (format "Junk at end of expression: %s"
(buffer-substring (point) (buffer-substring (point)
(point-max)))) (point-max))))))
widget))
(end-of-file ; Avoid confusing error message. (end-of-file ; Avoid confusing error message.
(widget-put widget :error "Unbalanced sexp") (setq err "Unbalanced sexp"))
widget) (error (setq err (error-message-string data))))
(error (widget-put widget :error (error-message-string data)) (if (not err)
nil
(widget-put widget :error err)
widget)))) widget))))
(defvar widget-sexp-prompt-value-history nil (defvar widget-sexp-prompt-value-history nil
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment