(tex-validate-region): Obey syntax-table text properties.
[bpt/emacs.git] / lisp / wid-edit.el
index 8029fb3..f659518 100644 (file)
@@ -1085,14 +1085,23 @@ the field."
   :type 'function
   :group 'widgets)
 
+(defun widget-narrow-to-field ()
+  "Narrow to field"
+  (interactive)
+  (let ((field (widget-field-find (point))))
+    (if field
+       (narrow-to-region (line-beginning-position) (line-end-position)))))
+
 (defun widget-complete ()
   "Complete content of editable field from point.
 When not inside a field, move to the previous button or field."
   (interactive)
   (let ((field (widget-field-find (point))))
     (if field
-       (widget-apply field :complete)
-      (error "Not in an editable field"))))
+       (save-restriction
+         (widget-narrow-to-field)
+         (widget-apply field :complete))
+         (error "Not in an editable field"))))
 
 ;;; Setting up the buffer.
 
@@ -3153,6 +3162,8 @@ It will read a directory name from the minibuffer when invoked."
                (setq err "Empty sexp -- use `nil'?")
              (unless (widget-apply widget :match (read (current-buffer)))
                (setq err (widget-get widget :type-error))))
+           ;; Allow whitespace after expression.
+           (skip-syntax-forward "\\s-")
            (if (and (not (eobp))
                     (not err))
                (setq err (format "Junk at end of expression: %s"