emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden: widget-forward skips empty editable-fields]


From: Per Abrahamsen
Subject: Re: address@hidden: widget-forward skips empty editable-fields]
Date: Thu, 02 Dec 2004 15:31:39 +0100
User-agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3 (gnu/linux)

2004-12-02  Per Abrahamsen  <address@hidden>

        * wid-edit.el (widget-specify-field): Add `real-field' property to
        boundary. 
        (widget-field-at): Use it.

*** wid-edit.el.~1.131.~        2004-12-02 15:16:13.000000000 +0100
--- wid-edit.el 2004-12-02 15:24:47.000000000 +0100
***************
*** 339,344 ****
--- 339,346 ----
        ;; one character.
        (let ((overlay (make-overlay (1- to) to nil t nil)))
        (overlay-put overlay 'field 'boundary)
+         ;; We need the real field for tabbing.
+       (overlay-put overlay 'real-field widget)
        ;; Use `local-map' here, not `keymap', so that normal editing
        ;; works in the field when, say, Custom uses `suppress-keymap'.
        (overlay-put overlay 'local-map keymap)
***************
*** 1149,1155 ****
    "Return the widget field at POS, or nil if none."
    (let ((field (get-char-property (or pos (point)) 'field)))
      (if (eq field 'boundary)
!       nil
        field)))
  
  (defun widget-field-buffer (widget)
--- 1151,1157 ----
    "Return the widget field at POS, or nil if none."
    (let ((field (get-char-property (or pos (point)) 'field)))
      (if (eq field 'boundary)
!       (get-char-property (or pos (point)) 'real-field)
        field)))
  
  (defun widget-field-buffer (widget)

Richard Stallman <address@hidden> writes:

> Could you please work on this?
>
> X-Injected-Via-Gmane: http://gmane.org/
> To: address@hidden
> From: Magnus Henoch <address@hidden>
> Date: Tue, 30 Nov 2004 21:08:31 +0100
> X-Gmane-NNTP-Posting-Host: h170n1fls23o1074.bredband.comhem.se
> Cancel-Lock: sha1:9auAt1gIL6riE7YCuej9N/BZTLM=
> Subject: widget-forward skips empty editable-fields
> Sender: address@hidden
> X-Spam-Status: No, hits=0.0 required=5.0
>       tests=RCVD_IN_ORBS,USER_AGENT_GNUS_UA
>       version=2.55
> X-Spam-Level: 
> X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp)
>
> widget-forward skips empty editable-fields.  The following code
> demonstrates the problem:
>
> (defun test-widget ()
>   (interactive)
>   (switch-to-buffer (get-buffer-create (generate-new-buffer-name "widget 
> test")))
>   (widget-minor-mode 1)
>   (widget-insert "Empty field: ")
>   (widget-create 'editable-field "")
>   (widget-insert "Not empty field: ")
>   (widget-create 'editable-field "foo")
>   (widget-setup)
>   (goto-char (point-min))
>   (message "Now, hit TAB.  Point should go to the first field, but doesn't."))
>
> In XEmacs point goes to the first editable field, but in Emacs (I
> tried 21.2 and the CVS version with same result) it goes to the second
> one.  If I enter some text in the first field, I get the expected
> behaviour.
>
>
> Magnus
>
>
>
> _______________________________________________
> Emacs-pretest-bug mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
> ------- End of forwarded message -------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]