summaryrefslogtreecommitdiff
path: root/lisp/wid-edit.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2009-05-02 23:44:00 +0000
committerGlenn Morris <rgm@gnu.org>2009-05-02 23:44:00 +0000
commit1d3c7fd69d9488ba2839f1524169e3b7fdfa7349 (patch)
tree19f9015c9a714711326ccdc69c8ef56f5a828501 /lisp/wid-edit.el
parent51520a1a835ed916c9d014957defbd7d71e5236a (diff)
downloademacs-1d3c7fd69d9488ba2839f1524169e3b7fdfa7349.tar.gz
(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.)
Diffstat (limited to 'lisp/wid-edit.el')
-rw-r--r--lisp/wid-edit.el15
1 files changed, 4 insertions, 11 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index 5de5f2d9ab5..ef89a01e050 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -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)