X-Loop: help-debbugs@HIDDEN Subject: bug#70594: 30.0.50; Error when tabbing with only one active widget Resent-From: Stephen Berman <stephen.berman@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 26 Apr 2024 12:45:09 +0000 Resent-Message-ID: <handler.70594.B.17141354778192 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 70594 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 70594 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.17141354778192 (code B ref -1); Fri, 26 Apr 2024 12:45:09 +0000 Received: (at submit) by debbugs.gnu.org; 26 Apr 2024 12:44:37 +0000 Received: from localhost ([127.0.0.1]:34287 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s0KwC-00026U-Sg for submit <at> debbugs.gnu.org; Fri, 26 Apr 2024 08:44:34 -0400 Received: from lists.gnu.org ([2001:470:142::17]:40106) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <stephen.berman@HIDDEN>) id 1s0Kw3-00023T-Vz for submit <at> debbugs.gnu.org; Fri, 26 Apr 2024 08:44:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <stephen.berman@HIDDEN>) id 1s0Kvc-00026i-LH for bug-gnu-emacs@HIDDEN; Fri, 26 Apr 2024 08:43:49 -0400 Received: from mout.gmx.net ([212.227.17.21]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <stephen.berman@HIDDEN>) id 1s0Kva-00019U-Hq for bug-gnu-emacs@HIDDEN; Fri, 26 Apr 2024 08:43:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1714135423; x=1714740223; i=stephen.berman@HIDDEN; bh=BEdgv7fx58enB9EUtCxHBkiZrWYP6sCrKsmmfTS7+a0=; h=X-UI-Sender-Class:From:To:Subject:Date:Message-ID:MIME-Version: Content-Type:cc:content-transfer-encoding:content-type:date:from: message-id:mime-version:reply-to:subject:to; b=Tmp9Tp0Rp4NJ9N1QGW1gar2XidSvml4jLUEjiMGbultJHdFr8kak0DryeE2yQQVf 0UGCcN4ov26w6eBt5C2u0e5AFgRt8kTdCFPYQjROMquBbVit/YgfSh7V/Fk1EI8aF F+Za1pRMDJsWksryEXn9i/Ro0jxEa50PULFMF8oBWau1C0rM7HEUz+r9yyLxA5m8T mCWq3X0mx74usuEqi2NhIBu2KsoyLk9tedyA1cXGNTz42h6hW6LwMlZztCs/nRl+4 Ga1VBOOY4hyE/Ij970Dp3s205zNVJJzv2Dndsa5f1bVcx020knkGWXRjRsf+Oe8BI el6UTPfy3O5l8ewY8Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from strobelfs ([94.134.94.5]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MUGeB-1s8LW80aSB-00RJdN for <bug-gnu-emacs@HIDDEN>; Fri, 26 Apr 2024 14:43:43 +0200 From: Stephen Berman <stephen.berman@HIDDEN> Date: Fri, 26 Apr 2024 14:43:42 +0200 Message-ID: <87r0esl2f5.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:FiuTLSCd20owfLxmbq4i65DJ/ASTbEc4MaOZSuEhIv8r2Ief3/D Eo2WRd8ot47HDxwZax4fsFcF8/EexoihdXD0DgvtwAF+FlhZqO+jpQPMQWh01aqUnSX0H5K Az2/oW9noUXqXMuhI/dYXeG4oifYqi6OGy04EDCvW9auA4rEuT3Pt2OosCFT9MdTVDoRtQJ mI9EFDvOx0vrmgQVcM4cQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:xJJMHECmHe0=;XDNQmkXkpL/iEGTBDFy3S9pZkg5 4JooTvo+zt4qUrrMfvRdgNvioZmi6EgBjOnaeM/iOX1czjUpqz9RZuekLeTsdSA9k6HVqA0Y8 2g9WnE8iLZgAyz4evl0GWyK/9M5o5BBq2t0Vm8K8Qgz+Tgqjsse6l2HvoLzQFfTzLTitCg9q8 6eH/tCkCr+fl7Baf0IkOEl8EKfk2YvdqH9oB6OqDJeWpbi6bweN27cEdUCUZY3TDVuYe8QBHx EOaAk8290J05f0u370uAELRN2IG6C3dnOJme+DH917woPPBMAKo7CAQPYRQZ0b2GzVrI0uPk9 OjFZ8Cs5eegKB4Oh+XnZ+nG1/Tt2QWJB+AWCGHdsnYeI4RE3Hw1Jmmuo8AessUP51qywpzzcW WXkop+oNrH0VqW8FVkw40BDJvjpwUUTUDjeIoTJgBjbQSv9rvyT+ZB2A/LJunaoLPmgs8BBgT +h4XRLCj8+71w6Uslccp8c1wU9qJqkEjJ8amrfImMjgwRt3JoQ1yFXYGh9tYebB2oqcMzQIFm 3F3ZHU6tpAqBJX4ftiPNtMCKyeTVWng4r4SmmWkHX1+cFpOvl35lDmRvZBB3w18Ba7R2arI6R kfxSXQaxSNd0Hu3YCDcafPVCGazRx/m0fjjrOk5mNvfMwr4z2uMsMdm3iaQJjcAGuXqaK11i0 +PM/eTDP+D2OO1TWRhifzw813syceOWuTYf5TKSotnpPAGOzRegp5BTChw4omivvD/z+c9ux7 3Mlt+5DfSTFU/H1CO8gPFlX2dg6xCc2ttvE+d+WbKC9WM4iUFabYBg/+WOcwO4WaPkynkkxsl ifFSShrx+SHJGV3vD3+k+rlPhGCg7C3nNTdu6GGKWtL9Y= Received-SPF: pass client-ip=212.227.17.21; envelope-from=stephen.berman@HIDDEN; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Commit 91333dacfa1, which adds the feature of optionally skipping over inactive widgets when tabbing (bug#70413), fails to handle buffers that contain only one active widget; in that case, pressing TAB or S-TAB raises the error "No buttons or fields found". To reproduce: 0. emacs -Q 1. Load the attached file widget-test.el and then type `M-x my-widget-test'. 2. In the buffer "*My Widget Test*" repeatedly press TAB and S-TAB and observe that point moves successively between the active radio buttons labelled "One" and "Two" and the active push button "Submit", but skips the inactive push button "Reset", since the user option widget-skip-inactive is enabled. 3. Now press (via RET or mouse-click) the "Submit" button, which makes the radio buttons and the "Submit" button inactive and the "Reset" button active. 4. Pressing TAB once moves point to the "Reset" button, then pressing TAB again moves point to BOB and raises the error "No buttons or fields found". Likewise, pressing S-TAB once moves point to "Reset", then pressing S-TAB again moves to EOB and raises the same error. The attached patched fixes this bug. In addition, when only one widget is active and point is on it, since pressing TAB or S-TAB does not move point, the informational message "Only one tabable widget" is displayed. The original code in widget-move contained separate loops to handle forward and backward movement and this involved some code duplication. The changes to this code to fix the bug would have required further duplication, so I took the opportunity to parameterize the directionality, allowing handling both directions in a single loop. This shortens the code and IMO makes the similarities and differences in the handling easier to see. Configured using: 'configure 'CFLAGS=3D-Og -g3' PKG_CONFIG_PATH=3D/opt/qt5/lib/pkgconfig' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB --=-=-= Content-Type: application/emacs-lisp Content-Disposition: attachment; filename=widget-test.el Content-Transfer-Encoding: quoted-printable (custom-set-variables '(widget-skip-inactive t)) (defun my-widget-test () (interactive) (switch-to-buffer "*My Widget Test*") (kill-all-local-variables) (let ((inhibit-read-only t)) (erase-buffer)) (remove-overlays) (setq my-radio-widget (widget-create 'radio-button-choice '(item "One") '(item "Two"))) (setq my-submit-button (widget-create 'push-button :notify (lambda (widget &rest _) (widget-apply my-radio-widget :deactivate) (widget-apply my-reset-button :activate) (widget-apply widget :deactivate)) "Submit")) (setq my-reset-button (widget-create 'push-button :notify (lambda (widget &rest _) (when (widget-value my-radio-widget) (widget-value-set my-radio-widget nil)) (widget-apply my-radio-widget :activate) (widget-apply my-submit-button :activate) (widget-apply widget :deactivate)) "Reset")) (widget-apply my-reset-button :deactivate) (use-local-map widget-keymap) (widget-setup)) --=-=-= Content-Type: text/x-patch Content-Disposition: attachment Content-Description: widget-move patch diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index dc481d4d0a5..407309c3429 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -1263,42 +1263,40 @@ widget-move ARG may be negative to move backward. When the second optional argument is non-nil, nothing is shown in the echo area." - (let ((wrapped 0) - (number arg) - (old (widget-tabable-at))) - ;; Forward. - (while (> arg 0) - (cond ((eobp) - (goto-char (point-min)) - (setq wrapped (1+ wrapped))) - (widget-use-overlay-change - (goto-char (next-overlay-change (point)))) - (t - (forward-char 1))) - (and (= wrapped 2) - (eq arg number) - (error "No buttons or fields found")) - (let ((new (widget-tabable-at))) - (when new - (unless (eq new old) - (setq arg (1- arg)) - (setq old new))))) - ;; Backward. - (while (< arg 0) - (cond ((bobp) - (goto-char (point-max)) - (setq wrapped (1+ wrapped))) - (widget-use-overlay-change - (goto-char (previous-overlay-change (point)))) - (t - (backward-char 1))) - (and (= wrapped 2) - (eq arg number) - (error "No buttons or fields found")) - (let ((new (widget-tabable-at))) - (when new - (unless (eq new old) - (setq arg (1+ arg)))))) + (let* ((wrapped 0) + (number arg) + (fwd (> arg 0)) ; widget-forward is caller. + (bwd (< arg 0)) ; widget-backward is caller. + (old (widget-tabable-at)) + (tabable (if old 1 0)) + pos) + (catch 'one + (while (> (abs arg) 0) + (cond ((or (and fwd (eobp)) (and bwd (bobp))) + (goto-char (cond (fwd (point-min)) + (bwd (point-max)))) + (setq wrapped (1+ wrapped))) + (widget-use-overlay-change + (goto-char (cond (fwd (next-overlay-change (point))) + (bwd (previous-overlay-change (point)))))) + (t + (cond (fwd (forward-char 1)) + (bwd (backward-char 1))))) + (and (= wrapped 2) + (eq arg number) + (if (= tabable 1) + (progn + (goto-char pos) + (throw 'one (message "Only one tabable widget"))) + (error "No buttons or fields found"))) + (let ((new (widget-tabable-at))) + (when new + (if (eq new old) + (setq pos (point)) + (cl-incf tabable) + (setq arg (cond (fwd (1- arg)) + (bwd (1+ arg)))) + (setq old new)))))) (let ((new (widget-tabable-at))) (while (and (eq (widget-tabable-at) new) (not (bobp))) (backward-char))) --=-=-=--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Stephen Berman <stephen.berman@HIDDEN> Subject: bug#70594: Acknowledgement (30.0.50; Error when tabbing with only one active widget) Message-ID: <handler.70594.B.17141354778192.ack <at> debbugs.gnu.org> References: <87r0esl2f5.fsf@HIDDEN> X-Gnu-PR-Message: ack 70594 X-Gnu-PR-Package: emacs Reply-To: 70594 <at> debbugs.gnu.org Date: Fri, 26 Apr 2024 12:45:14 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 70594 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 70594: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D70594 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#70594: 30.0.50; Error when tabbing with only one active widget Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 26 Apr 2024 15:03:08 +0000 Resent-Message-ID: <handler.70594.B70594.171414376616474 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 70594 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stephen Berman <stephen.berman@HIDDEN>, Mauro Aranda <maurooaranda@HIDDEN> Cc: 70594 <at> debbugs.gnu.org Received: via spool by 70594-submit <at> debbugs.gnu.org id=B70594.171414376616474 (code B ref 70594); Fri, 26 Apr 2024 15:03:08 +0000 Received: (at 70594) by debbugs.gnu.org; 26 Apr 2024 15:02:46 +0000 Received: from localhost ([127.0.0.1]:38213 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s0N63-0004H6-4w for submit <at> debbugs.gnu.org; Fri, 26 Apr 2024 11:02:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60848) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s0N60-0004FO-Fv for 70594 <at> debbugs.gnu.org; Fri, 26 Apr 2024 11:02:41 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s0N5b-0003IQ-KV; Fri, 26 Apr 2024 11:02:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=J9/agLaTXBrhMNdwqjeO74LKzGqnI3T5HxX8ID0ffpA=; b=LGN+PHnMWU/r oXK1GN0LB3qsV0CK8GcyARkvsp3VOtfGgb3GlBP33v+dQSu8kcysuJjZ1/3Z1ezl8CpnDMN7SEU0A vNlPAlJi5SVNsMk9xVgN/4Pvg+OQkRxoKuj4UnAbWTemFVpOiMGuXEi0JQiE2sUmYAkwmCeqfozuZ F2Veyr/39pVDCB0NQ80igjrXfb4kWebpBmCtMnX7T9xY3FoLz7gdRhXaY3mDOVrCYgjoD05d5OWc+ QVnDZnwVWgRp7l+iza4+76VJQhej1wzXwaX83JXMjX0YQ0T7wKfWb/0Cc69wFC80b9zr2zVKpgW+/ GeB2M1uRJbN64kIkYy4pdA==; Date: Fri, 26 Apr 2024 18:02:13 +0300 Message-Id: <86y190xj4a.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <87r0esl2f5.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN) References: <87r0esl2f5.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Date: Fri, 26 Apr 2024 14:43:42 +0200 > From: Stephen Berman via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> > > Commit 91333dacfa1, which adds the feature of optionally skipping over > inactive widgets when tabbing (bug#70413), fails to handle buffers that > contain only one active widget; in that case, pressing TAB or S-TAB > raises the error "No buttons or fields found". To reproduce: > > 0. emacs -Q > 1. Load the attached file widget-test.el and then type `M-x > my-widget-test'. > 2. In the buffer "*My Widget Test*" repeatedly press TAB and S-TAB and > observe that point moves successively between the active radio > buttons labelled "One" and "Two" and the active push button "Submit", > but skips the inactive push button "Reset", since the user option > widget-skip-inactive is enabled. > 3. Now press (via RET or mouse-click) the "Submit" button, which makes > the radio buttons and the "Submit" button inactive and the "Reset" > button active. > 4. Pressing TAB once moves point to the "Reset" button, then pressing > TAB again moves point to BOB and raises the error "No buttons or > fields found". Likewise, pressing S-TAB once moves point to "Reset", > then pressing S-TAB again moves to EOB and raises the same error. > > The attached patched fixes this bug. In addition, when only one widget > is active and point is on it, since pressing TAB or S-TAB does not move > point, the informational message "Only one tabable widget" is displayed. > > The original code in widget-move contained separate loops to handle > forward and backward movement and this involved some code duplication. > The changes to this code to fix the bug would have required further > duplication, so I took the opportunity to parameterize the > directionality, allowing handling both directions in a single loop. > This shortens the code and IMO makes the similarities and differences in > the handling easier to see. Adding Mauro to the discussion.
X-Loop: help-debbugs@HIDDEN Subject: bug#70594: 30.0.50; Error when tabbing with only one active widget Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 09 May 2024 07:24:02 +0000 Resent-Message-ID: <handler.70594.B70594.171523943427428 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 70594 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: stephen.berman@HIDDEN, maurooaranda@HIDDEN Cc: 70594 <at> debbugs.gnu.org Received: via spool by 70594-submit <at> debbugs.gnu.org id=B70594.171523943427428 (code B ref 70594); Thu, 09 May 2024 07:24:02 +0000 Received: (at 70594) by debbugs.gnu.org; 9 May 2024 07:23:54 +0000 Received: from localhost ([127.0.0.1]:53609 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s4y8A-00078K-0T for submit <at> debbugs.gnu.org; Thu, 09 May 2024 03:23:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45414) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s4y88-00078E-7S for 70594 <at> debbugs.gnu.org; Thu, 09 May 2024 03:23:52 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s4y7d-0007PX-17; Thu, 09 May 2024 03:23:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Jy/XoAj/GUc3hpRk3QIJWubMDKeAflTA3NgQhNCvEwA=; b=oFV9IiaQXxzs hMTSJDlY6LMP1f6hMmRVyeq+giBOd1Ogi0cvgWhiaIUZ5gAZVnVandi7Ho2YGAk2gTLbDbshU1cht 2CQ7MdKdUfRgR2Iz03Un5WDK6knMHoEyEBPSWbKnEZiTnxMQJ87H5s12D0jE55ogMmlZcx+To7kiO UfGXseP4TTR747xXytB37+WeVw2vfvgY1dIrH2vk0rRhkffS4xHZoX07qhf7UR5pqLStvGdrJEIie ulnL9542iurdjKJVaWUCq8FM2BN7lz0QQERRT2k84L99Zwkt2laiS5CUkz4QjnRFaNs50g2G9DZAK +lE+w2BRcEClf/GKGlLwNA==; Date: Thu, 09 May 2024 10:23:13 +0300 Message-Id: <86y18j78ke.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <86y190xj4a.fsf@HIDDEN> (message from Eli Zaretskii on Fri, 26 Apr 2024 18:02:13 +0300) References: <87r0esl2f5.fsf@HIDDEN> <86y190xj4a.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Ping! > Cc: 70594 <at> debbugs.gnu.org > Date: Fri, 26 Apr 2024 18:02:13 +0300 > From: Eli Zaretskii <eliz@HIDDEN> > > > Date: Fri, 26 Apr 2024 14:43:42 +0200 > > From: Stephen Berman via "Bug reports for GNU Emacs, > > the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> > > > > Commit 91333dacfa1, which adds the feature of optionally skipping over > > inactive widgets when tabbing (bug#70413), fails to handle buffers that > > contain only one active widget; in that case, pressing TAB or S-TAB > > raises the error "No buttons or fields found". To reproduce: > > > > 0. emacs -Q > > 1. Load the attached file widget-test.el and then type `M-x > > my-widget-test'. > > 2. In the buffer "*My Widget Test*" repeatedly press TAB and S-TAB and > > observe that point moves successively between the active radio > > buttons labelled "One" and "Two" and the active push button "Submit", > > but skips the inactive push button "Reset", since the user option > > widget-skip-inactive is enabled. > > 3. Now press (via RET or mouse-click) the "Submit" button, which makes > > the radio buttons and the "Submit" button inactive and the "Reset" > > button active. > > 4. Pressing TAB once moves point to the "Reset" button, then pressing > > TAB again moves point to BOB and raises the error "No buttons or > > fields found". Likewise, pressing S-TAB once moves point to "Reset", > > then pressing S-TAB again moves to EOB and raises the same error. > > > > The attached patched fixes this bug. In addition, when only one widget > > is active and point is on it, since pressing TAB or S-TAB does not move > > point, the informational message "Only one tabable widget" is displayed. > > > > The original code in widget-move contained separate loops to handle > > forward and backward movement and this involved some code duplication. > > The changes to this code to fix the bug would have required further > > duplication, so I took the opportunity to parameterize the > > directionality, allowing handling both directions in a single loop. > > This shortens the code and IMO makes the similarities and differences in > > the handling easier to see. > > Adding Mauro to the discussion. > > > >
X-Loop: help-debbugs@HIDDEN Subject: bug#70594: 30.0.50; Error when tabbing with only one active widget Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 25 May 2024 07:43:01 +0000 Resent-Message-ID: <handler.70594.B70594.171662297126439 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 70594 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: stephen.berman@HIDDEN, maurooaranda@HIDDEN Cc: 70594 <at> debbugs.gnu.org Received: via spool by 70594-submit <at> debbugs.gnu.org id=B70594.171662297126439 (code B ref 70594); Sat, 25 May 2024 07:43:01 +0000 Received: (at 70594) by debbugs.gnu.org; 25 May 2024 07:42:51 +0000 Received: from localhost ([127.0.0.1]:41831 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sAm3G-0006sN-Mu for submit <at> debbugs.gnu.org; Sat, 25 May 2024 03:42:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:40490) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sAm3F-0006sH-8K for 70594 <at> debbugs.gnu.org; Sat, 25 May 2024 03:42:49 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sAm32-0006Pt-GP; Sat, 25 May 2024 03:42:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=4yM8PAeaqELr/R1Xko3+7j6+yHgci/Eets81mZQPbuY=; b=NEmxqgs/XVyo vlXjdUey84d/Evms6BezUzEEYKQi9aV7rNY5bz8QMFO7NuPDLkwDAigWNp1ceKIyqBVMiCesPu5cZ PVRcidsyzUJfa8Uxj47zOGNDosPWqD4e9huxAu75t/lB8Ps6/puXVu59tnS5rtljrBOo3FQIKO1ju 5wtDldyCDPfwy7aDZlLwDiXFygLnQThGwz7az4uSE/REQaw8+XttjsZy+jf0B0VCEuciDh0VSAtGY v9Pb9mxkPc+2YHcUyXGXDQ4qQ++1WT4KT/WT0OEmJOaDsm3tyFuJxsgQLxrYckJD11PlAlCZoySdA LqjQ8bCRz8X/7FemFawURQ==; Date: Sat, 25 May 2024 10:42:33 +0300 Message-Id: <867cfi1gnq.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <86y18j78ke.fsf@HIDDEN> (message from Eli Zaretskii on Thu, 09 May 2024 10:23:13 +0300) References: <87r0esl2f5.fsf@HIDDEN> <86y190xj4a.fsf@HIDDEN> <86y18j78ke.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Ping! Ping! Can we please make some progress here? > Cc: 70594 <at> debbugs.gnu.org > Date: Thu, 09 May 2024 10:23:13 +0300 > From: Eli Zaretskii <eliz@HIDDEN> > > Ping! > > > Cc: 70594 <at> debbugs.gnu.org > > Date: Fri, 26 Apr 2024 18:02:13 +0300 > > From: Eli Zaretskii <eliz@HIDDEN> > > > > > Date: Fri, 26 Apr 2024 14:43:42 +0200 > > > From: Stephen Berman via "Bug reports for GNU Emacs, > > > the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> > > > > > > Commit 91333dacfa1, which adds the feature of optionally skipping over > > > inactive widgets when tabbing (bug#70413), fails to handle buffers that > > > contain only one active widget; in that case, pressing TAB or S-TAB > > > raises the error "No buttons or fields found". To reproduce: > > > > > > 0. emacs -Q > > > 1. Load the attached file widget-test.el and then type `M-x > > > my-widget-test'. > > > 2. In the buffer "*My Widget Test*" repeatedly press TAB and S-TAB and > > > observe that point moves successively between the active radio > > > buttons labelled "One" and "Two" and the active push button "Submit", > > > but skips the inactive push button "Reset", since the user option > > > widget-skip-inactive is enabled. > > > 3. Now press (via RET or mouse-click) the "Submit" button, which makes > > > the radio buttons and the "Submit" button inactive and the "Reset" > > > button active. > > > 4. Pressing TAB once moves point to the "Reset" button, then pressing > > > TAB again moves point to BOB and raises the error "No buttons or > > > fields found". Likewise, pressing S-TAB once moves point to "Reset", > > > then pressing S-TAB again moves to EOB and raises the same error. > > > > > > The attached patched fixes this bug. In addition, when only one widget > > > is active and point is on it, since pressing TAB or S-TAB does not move > > > point, the informational message "Only one tabable widget" is displayed. > > > > > > The original code in widget-move contained separate loops to handle > > > forward and backward movement and this involved some code duplication. > > > The changes to this code to fix the bug would have required further > > > duplication, so I took the opportunity to parameterize the > > > directionality, allowing handling both directions in a single loop. > > > This shortens the code and IMO makes the similarities and differences in > > > the handling easier to see. > > > > Adding Mauro to the discussion. > > > > > > > > > > > >
X-Loop: help-debbugs@HIDDEN Subject: bug#70594: 30.0.50; Error when tabbing with only one active widget Resent-From: Stephen Berman <stephen.berman@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 25 May 2024 09:31:02 +0000 Resent-Message-ID: <handler.70594.B70594.171662941819443 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 70594 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii <eliz@HIDDEN> Cc: maurooaranda@HIDDEN, 70594 <at> debbugs.gnu.org Received: via spool by 70594-submit <at> debbugs.gnu.org id=B70594.171662941819443 (code B ref 70594); Sat, 25 May 2024 09:31:02 +0000 Received: (at 70594) by debbugs.gnu.org; 25 May 2024 09:30:18 +0000 Received: from localhost ([127.0.0.1]:42345 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sAnjG-00053X-1K for submit <at> debbugs.gnu.org; Sat, 25 May 2024 05:30:18 -0400 Received: from mout.gmx.net ([212.227.15.19]:43643) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <stephen.berman@HIDDEN>) id 1sAnjD-00053O-P7 for 70594 <at> debbugs.gnu.org; Sat, 25 May 2024 05:30:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1716629402; x=1717234202; i=stephen.berman@HIDDEN; bh=fPkXp8XJZBGgevSoBIzEECvhF5U1PoB6F4hvM8X1u1o=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=BSZ+iMcbZJKHqLx3/oNl1I6iey1L/0EZc8hRmPRABNryjgficlya9jVk5yDl9oAL 5bn1Tg6vO7VeIdMbTsPprEWPudmbyg2Y0b3l7YHoM3/oemH7snbAlflGBbaM1bAJJ SiLu9X98ZK0XGZXZAgkWi2Z6EYfKilwepy5ewdxCg6JhT1HUIhdr/3L2eyhRwvgrj LClSQuSrskgxdT36GAyvNKlsEBNTUX0bhzqNH74Oq+QxzseatfXmsZh5yl6RAPFjt dfbmoUQtWY/SaGxTKxeQWsGHdcukRmqclF9DYXBK+u9J4Y5FpIfieE1xUvDl9+Ryw b81KStn/Pyw+eK8zsQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from strobelfs ([94.134.95.181]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M89Gj-1s6gqv06CJ-005EuX; Sat, 25 May 2024 11:30:02 +0200 From: Stephen Berman <stephen.berman@HIDDEN> In-Reply-To: <867cfi1gnq.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 25 May 2024 10:42:33 +0300") References: <87r0esl2f5.fsf@HIDDEN> <86y190xj4a.fsf@HIDDEN> <86y18j78ke.fsf@HIDDEN> <867cfi1gnq.fsf@HIDDEN> Date: Sat, 25 May 2024 11:30:01 +0200 Message-ID: <875xv29r3a.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:7gHJNgbMV5a8MlegjDwk8AIRgGTvl77JgxgZnAllwwpZFx+K10h Pm5G8kIYHuoDC7A8D5cQb5KRVEFL3bp6vKgg80joQmQvuREM5lB6E8aFjmgeg2tOb91vnB2 JsXDLUCoA+W+4wmarCSvjHfR+xEWVosEyd3xoAT7nCNYYBpf+2wA260Gy1b5eJY1gkzMAKo aJinN8OgoH0LKwSZzTtKw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:78XDI92XEdI=;2Q2//MF0t7l3jkKjZJcxTcmOQ1X lSerN6Zh1sYxhVZcPFwKKlY70RcHe+H1pd6RA0sda9dXW2VOcGjSaA4QcaD64jE3NlCMdEKeo g6QrJ3ug9y5kwsxZisB0LByZ9SbrKJPUBOYzaiQsFUK+/djjUDDziTOSLG6i/xPDcfG0cvT2S LzegY4k97x/W6I3JoXzyfhH2ROU87m7uPRk+KZ5d4O/KSoDGaqQbBaTyGl2uPlbGskMEeka/A NP5D3gSLqKhxkZF2UiteJgwKNCIunL74BrkMeNT1NXfENqVpMM9Eqv4lBccbVBKwZq4A3Zwb0 9JzLI4ZCFYjSdVdh2i31EglEK5Vl2//Pq1wkNfqDETR65XzLnSZdeI2/A3/5RrTHa/aaoKVbZ ioQ0+tgKbSK0YLQQwdzbQBZXobPapXeBi99r6evposb2BQulImAPHJ+Wkvt5UvVCz108sK3KZ M7ANRCAKIPJfjR6nrx1FSUm5CRlYQsRhxHSBvHLVk0D9aJyjSlJUMR2MkItGQTh+nY2w0O7FP EOemsR/UqnmVFceLaXORCgE3ZzN/s906KVKI9f2ovwLWH7xAkmI9aXYqg2EzFuuc1DmoIn38t dAdb2ZhGuA2IrwvWLGfE9K+j8MRk9CRnfDARKGhqGQE0LM7RJntNNNShSRuQAEt90E47tzAcy p/Th8B1KeVgNDwyE6eeuddpr7DCIAJa0jFtDKoZEn3+xAhWFqlU3iur8fCJdViQ9ET1UWPDmW JIF+iE2uV/V7VWpVVe/0F0XMdvnxd3wBUrD17/MeUMfUnObVWhT0DbGbxuThbOYbuqvwiPh7g 5iLUEyuTg1VB7mTlDUnwDbc8XdxJ4CpGIT6/E3SEI75Uw= Content-Transfer-Encoding: quoted-printable X-Spam-Score: 2.9 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: On Sat, 25 May 2024 10:42:33 +0300 Eli Zaretskii wrote: > Ping! Ping! Can we please make some progress here? Since the patch fixes (according to me testing) a clear bug, either the patch should be installed (or a better one, if someone comes up with one) or commit 91333dacfa1, which introduced the bug, shoul [...] Content analysis details: (2.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [94.134.95.181 listed in zen.spamhaus.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.15.19 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stephen.berman[at]gmx.net) -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [212.227.15.19 listed in wl.mailspike.net] X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: On Sat, 25 May 2024 10:42:33 +0300 Eli Zaretskii wrote: > Ping! Ping! Can we please make some progress here? Since the patch fixes (according to me testing) a clear bug, either the patch should be installed (or a better one, if someone comes up with one) or commit 91333dacfa1, which introduced the bug, shoul [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [212.227.15.19 listed in wl.mailspike.net] 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [94.134.95.181 listed in zen.spamhaus.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.15.19 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stephen.berman[at]gmx.net) -0.0 SPF_PASS SPF: sender matches SPF record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager On Sat, 25 May 2024 10:42:33 +0300 Eli Zaretskii <eliz@HIDDEN> wrote: > Ping! Ping! Can we please make some progress here? Since the patch fixes (according to me testing) a clear bug, either the patch should be installed (or a better one, if someone comes up with one) or commit 91333dacfa1, which introduced the bug, should be reverted; my preference is to install the patch. Steve Berman >> Cc: 70594 <at> debbugs.gnu.org >> Date: Thu, 09 May 2024 10:23:13 +0300 >> From: Eli Zaretskii <eliz@HIDDEN> >> >> Ping! >> >> > Cc: 70594 <at> debbugs.gnu.org >> > Date: Fri, 26 Apr 2024 18:02:13 +0300 >> > From: Eli Zaretskii <eliz@HIDDEN> >> > >> > > Date: Fri, 26 Apr 2024 14:43:42 +0200 >> > > From: Stephen Berman via "Bug reports for GNU Emacs, >> > > the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> >> > > >> > > Commit 91333dacfa1, which adds the feature of optionally skipping o= ver >> > > inactive widgets when tabbing (bug#70413), fails to handle buffers = that >> > > contain only one active widget; in that case, pressing TAB or S-TAB >> > > raises the error "No buttons or fields found". To reproduce: >> > > >> > > 0. emacs -Q >> > > 1. Load the attached file widget-test.el and then type `M-x >> > > my-widget-test'. >> > > 2. In the buffer "*My Widget Test*" repeatedly press TAB and S-TAB = and >> > > observe that point moves successively between the active radio >> > > buttons labelled "One" and "Two" and the active push button "Sub= mit", >> > > but skips the inactive push button "Reset", since the user optio= n >> > > widget-skip-inactive is enabled. >> > > 3. Now press (via RET or mouse-click) the "Submit" button, which ma= kes >> > > the radio buttons and the "Submit" button inactive and the "Rese= t" >> > > button active. >> > > 4. Pressing TAB once moves point to the "Reset" button, then pressi= ng >> > > TAB again moves point to BOB and raises the error "No buttons or >> > > fields found". Likewise, pressing S-TAB once moves point to "Re= set", >> > > then pressing S-TAB again moves to EOB and raises the same error= . >> > > >> > > The attached patched fixes this bug. In addition, when only one wi= dget >> > > is active and point is on it, since pressing TAB or S-TAB does not = move >> > > point, the informational message "Only one tabable widget" is displ= ayed. >> > > >> > > The original code in widget-move contained separate loops to handle >> > > forward and backward movement and this involved some code duplicati= on. >> > > The changes to this code to fix the bug would have required further >> > > duplication, so I took the opportunity to parameterize the >> > > directionality, allowing handling both directions in a single loop. >> > > This shortens the code and IMO makes the similarities and differenc= es in >> > > the handling easier to see. >> > >> > Adding Mauro to the discussion. >> > >> > >> > >> > >> >> >> >>
X-Loop: help-debbugs@HIDDEN Subject: bug#70594: 30.0.50; Error when tabbing with only one active widget Resent-From: Eli Zaretskii <eliz@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 08 Jun 2024 11:51:01 +0000 Resent-Message-ID: <handler.70594.B70594.171784740930485 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 70594 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: maurooaranda@HIDDEN, Stephen Berman <stephen.berman@HIDDEN> Cc: 70594 <at> debbugs.gnu.org Received: via spool by 70594-submit <at> debbugs.gnu.org id=B70594.171784740930485 (code B ref 70594); Sat, 08 Jun 2024 11:51:01 +0000 Received: (at 70594) by debbugs.gnu.org; 8 Jun 2024 11:50:09 +0000 Received: from localhost ([127.0.0.1]:37661 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sFuaH-0007vb-5O for submit <at> debbugs.gnu.org; Sat, 08 Jun 2024 07:50:09 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48946) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1sFuaF-0007vC-7a for 70594 <at> debbugs.gnu.org; Sat, 08 Jun 2024 07:50:07 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1sFuZu-0007LO-2b; Sat, 08 Jun 2024 07:49:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=fkbqSMtYQTAUEXtnUY5RlpwZHfnxzCQLOhVO6OPRb0k=; b=Cu1/aQRTtrTV m3mPr7pdaCkaYI+xn0yabOdEPlcIyQHczTkvVmRHWfdAHAs+anBoA+pUWvv5ZJDSunJynzTetZgvd +EO+W0+Xlf2EkrrTTy+cuQU5HVrvVs0hE8afVmaHYKglzGLrxR5sj6+KvyeE0qG8u7E/JOHsEM27t MNEU0bR2fHGlGlAxoCx2+7ifEH2a7NT6IR9Wj+F+By2JSCIxkXfJ+tSTB24dGZ19H5Kkrz099iy6P rVxXkZB4F1DD2Z4N5hM86kDF0OC1Rqj0yHfQNgcYTVVWs6DIa9PONxTTtAyMFytFLxyjmEUaFF+f/ Lchsg0HaCqOWp+Hhr2vLJA==; Date: Sat, 08 Jun 2024 14:49:20 +0300 Message-Id: <86tti3d58f.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> In-Reply-To: <875xv29r3a.fsf@HIDDEN> (message from Stephen Berman on Sat, 25 May 2024 11:30:01 +0200) References: <87r0esl2f5.fsf@HIDDEN> <86y190xj4a.fsf@HIDDEN> <86y18j78ke.fsf@HIDDEN> <867cfi1gnq.fsf@HIDDEN> <875xv29r3a.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Stephen Berman <stephen.berman@HIDDEN> > Cc: maurooaranda@HIDDEN, 70594 <at> debbugs.gnu.org > Date: Sat, 25 May 2024 11:30:01 +0200 > > On Sat, 25 May 2024 10:42:33 +0300 Eli Zaretskii <eliz@HIDDEN> wrote: > > > Ping! Ping! Can we please make some progress here? > > Since the patch fixes (according to me testing) a clear bug, either the > patch should be installed (or a better one, if someone comes up with > one) or commit 91333dacfa1, which introduced the bug, should be > reverted; my preference is to install the patch. Mauro, what do you prefer? > >> Cc: 70594 <at> debbugs.gnu.org > >> Date: Thu, 09 May 2024 10:23:13 +0300 > >> From: Eli Zaretskii <eliz@HIDDEN> > >> > >> Ping! > >> > >> > Cc: 70594 <at> debbugs.gnu.org > >> > Date: Fri, 26 Apr 2024 18:02:13 +0300 > >> > From: Eli Zaretskii <eliz@HIDDEN> > >> > > >> > > Date: Fri, 26 Apr 2024 14:43:42 +0200 > >> > > From: Stephen Berman via "Bug reports for GNU Emacs, > >> > > the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> > >> > > > >> > > Commit 91333dacfa1, which adds the feature of optionally skipping over > >> > > inactive widgets when tabbing (bug#70413), fails to handle buffers that > >> > > contain only one active widget; in that case, pressing TAB or S-TAB > >> > > raises the error "No buttons or fields found". To reproduce: > >> > > > >> > > 0. emacs -Q > >> > > 1. Load the attached file widget-test.el and then type `M-x > >> > > my-widget-test'. > >> > > 2. In the buffer "*My Widget Test*" repeatedly press TAB and S-TAB and > >> > > observe that point moves successively between the active radio > >> > > buttons labelled "One" and "Two" and the active push button "Submit", > >> > > but skips the inactive push button "Reset", since the user option > >> > > widget-skip-inactive is enabled. > >> > > 3. Now press (via RET or mouse-click) the "Submit" button, which makes > >> > > the radio buttons and the "Submit" button inactive and the "Reset" > >> > > button active. > >> > > 4. Pressing TAB once moves point to the "Reset" button, then pressing > >> > > TAB again moves point to BOB and raises the error "No buttons or > >> > > fields found". Likewise, pressing S-TAB once moves point to "Reset", > >> > > then pressing S-TAB again moves to EOB and raises the same error. > >> > > > >> > > The attached patched fixes this bug. In addition, when only one widget > >> > > is active and point is on it, since pressing TAB or S-TAB does not move > >> > > point, the informational message "Only one tabable widget" is displayed. > >> > > > >> > > The original code in widget-move contained separate loops to handle > >> > > forward and backward movement and this involved some code duplication. > >> > > The changes to this code to fix the bug would have required further > >> > > duplication, so I took the opportunity to parameterize the > >> > > directionality, allowing handling both directions in a single loop. > >> > > This shortens the code and IMO makes the similarities and differences in > >> > > the handling easier to see. > >> > > >> > Adding Mauro to the discussion. > >> > > >> > > >> > > >> > > >> > >> > >> > >> >
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.