Mercurial > emacs
changeset 103137:61c93763581b
(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.)
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sat, 02 May 2009 23:44:00 +0000 |
parents | 5a5e07d71f3c |
children | 55823cc572a6 |
files | lisp/ChangeLog lisp/wid-edit.el |
diffstat | 2 files changed, 11 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Sat May 02 20:16:55 2009 +0000 +++ b/lisp/ChangeLog Sat May 02 23:44:00 2009 +0000 @@ -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 @@ -253,7 +259,7 @@ 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,
--- a/lisp/wid-edit.el Sat May 02 20:16:55 2009 +0000 +++ b/lisp/wid-edit.el Sat May 02 23:44:00 2009 +0000 @@ -342,16 +342,12 @@ (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 @@ (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 @@ :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)