Subject: bug#63626: closed (Re: bug#63626: [PATCH] Make forward and backward-to-word arg optional)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 31 May 2023 13:16:02 +0000

Your bug report

#63626: [PATCH] Make forward and backward-to-word arg optional

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
63626: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63626
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#63626: [PATCH] Make forward and backward-to-word arg optional
From: Eli Zaretskii <[email-masked]>
To: Juri Linkov <[email-masked]>
Cc: [email-masked], [email-masked], [email-masked]
Date: Wed, 31 May 2023 16:15:57 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Juri Linkov <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>,  Zaz Brown <[email-masked]>,
>   [email-masked]
> Date: Mon, 29 May 2023 19:46:59 +0300
> 
> > I have no opinion about how this 'should work'.
> > I was just confused by the docstring, and I assumed from the docstring,
> > that the intention was for the argument to be optional like in
> > forward-word/line
> 
> Aren't all forward-like commands more permissive and allow their arg
> to be optional?  It looks like the standard signature, e.g.:

Thanks for the feedback, all of you.  I've now installed those changes
on the master branch, and I'm therefore closing this bug.

Subject: [PATCH] Make forward and backward-to-word arg optional
From: Zaz Brown <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Sat, 20 May 2023 21:33:51 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

(forward-to-word) throws (wrong-number-of-arguments forward-to-word 0)
in spite of the doc string stating:

> Move forward until encountering the beginning of a word.
> With argument, do this that many times.

This behaviour is present in Spacemacs 28.2, and has been confirmed by
Daniel Nicolai on Emacs 30. It's also evident in the latest source code.

The same issue exists for (backward-to-word). But running each command
with M-x works with no argument.

I'm new to Emacs, so please take this with a grain of salt.  Thank you!

---
 lisp/misc.el | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git master/lisp/misc.el arg-optional/lisp/misc.el
index ca013d5..f97240e 100644
--- a/lisp/misc.el
+++ b/lisp/misc.el
@@ -166,18 +166,20 @@ is an upper-case character."
     (upcase-region (point) (progn (forward-char arg) (point)))))

 ;;;###autoload
-(defun forward-to-word (arg)
+(defun forward-to-word (&optional arg)
   "Move forward until encountering the beginning of a word.
 With argument, do this that many times."
   (interactive "^p")
+  (unless arg (setq arg 1))
   (or (re-search-forward (if (> arg 0) "\\W\\b" "\\b\\W") nil t arg)
       (goto-char (if (> arg 0) (point-max) (point-min)))))

 ;;;###autoload
-(defun backward-to-word (arg)
+(defun backward-to-word (&optional arg)
   "Move backward until encountering the end of a word.
 With argument, do this that many times."
   (interactive "^p")
+  (unless arg (setq arg 1))
   (forward-to-word (- arg)))

 ;;;###autoload
--
2.40.1