]> git.eshelyaron.com Git - emacs.git/commitdiff
(widget-specify-field, widget-field-value-get, character):
authorGlenn Morris <rgm@gnu.org>
Sat, 2 May 2009 23:44:00 +0000 (23:44 +0000)
committerGlenn Morris <rgm@gnu.org>
Sat, 2 May 2009 23:44:00 +0000 (23:44 +0000)
Revert 2009-03-24 change, since it causes a more serious problem than
the one it solves.  (Closes Bug#3136, reopens Bug#2689.)

lisp/ChangeLog
lisp/wid-edit.el

index 64ee5cd475863e6c05dac0235f61caa50a56c548..cdfb6fa604016a59113d1c7d67cebf023d2d574f 100644 (file)
@@ -1,3 +1,9 @@
+2009-05-02  Glenn Morris  <rgm@gnu.org>
+
+       * wid-edit.el (widget-specify-field, widget-field-value-get, character):
+       Revert 2009-03-24 change, since it causes a more serious problem than
+       the one it solves.  (Closes Bug#3136, reopens Bug#2689.)
+
 2009-05-02  Martin Rudalics  <rudalics@gmx.at>
 
        * frame.el (pop-up-frame-function): Remove choice nil since it
 
 2009-04-09  Richard M Stallman  <rms@gnu.org>
 
-       * mail/rmailkwd.el (rmail-set-label): Warn if multipe labels spec'd.
+       * mail/rmailkwd.el (rmail-set-label): Warn if multiple labels spec'd.
        (rmail-kill-label, rmail-add-label): Doc fixes.
 
        * mail/rmailout.el (rmail-output): If file is visited,
index 5de5f2d9ab525a047b23b8f424bbbe14afe1079e..ef89a01e050c042d6e72982c31286fa45ed7b3f3 100644 (file)
@@ -342,16 +342,12 @@ new value.")
         (or (not widget-field-add-space) (widget-get widget :size))))
     (if (functionp help-echo)
       (setq help-echo 'widget-mouse-help))
-    (when (and (> to (1+ from))
-              (= (char-before to) ?\n))
+    (when (= (char-before to) ?\n)
       ;; When the last character in the field is a newline, we want to
       ;; give it a `field' char-property of `boundary', which helps the
       ;; C-n/C-p act more naturally when entering/leaving the field.  We
-      ;; do this by making a small secondary overlay to contain just that
+     ;; do this by making a small secondary overlay to contain just that
       ;; one character.
-      ;; We DON'T do this if the field just consists of a newline, eg
-      ;; when specifying a character, since it breaks things (below
-      ;; does 1- to, which results in to = from).  Bug#2689.
       (let ((overlay (make-overlay (1- to) to nil t nil)))
        (overlay-put overlay 'field 'boundary)
         ;; We need the real field for tabbing.
@@ -1949,9 +1945,7 @@ the earlier input."
          (set-buffer buffer)
          (while (and size
                      (not (zerop size))
-                     ;; Bug#2689.  Don't allow this loop to reduce a
-                     ;; character field to zero size if it contains a space.
-                     (> to (1+ from))
+                     (> to from)
                      (eq (char-after (1- to)) ?\s))
            (setq to (1- to)))
          (let ((result (buffer-substring-no-properties from to)))
@@ -3456,8 +3450,7 @@ To use this type, you must define :match or :match-alternatives."
   :value 0
   :size 1
   :format "%{%t%}: %v\n"
-  ;; `.' does not match newline, but newline is a valid character.
-  :valid-regexp "\\`\\(.\\|\n\\)\\'"
+  :valid-regexp "\\`.\\'"
   :error "This field should contain a single character"
   :value-to-internal (lambda (widget value)
                       (if (stringp value)