Subject: bug#43489: [PATCH] Don't signal scan-error when moving by sexp interactively

From: Lars Ingebrigtsen <[email-masked]>
Date: Fri, 18 Sep 2020 15:13:21 +0200

Mattias Engdegård <[email-masked]> writes:

> When moving by sexp (C-M-f, C-M-u and so on) and point is already at a
> boundary preventing further movement, Emacs currently signals an
> internal error such as
>
>  Scan error: "Containing expression ends prematurely", 5010, 5010
>
> or
>
>  Scan error: "Unbalanced parentheses", 5010, 1
>
> which is unhelpful and rather looks as if something went wrong in the
> internal machinery.

Yes, those error messages are confusing in interactive usage.

> The attached patch does away with this error when the commands are
> invoked interactively; programmatic use of the functions will get the
> scan-error just like before. There didn't seem to be much point in
> replacing the errors with new messages so the current version of the
> patch doesn't.

[...]

> +  (if noerror
> +      (condition-case _
> +          (forward-list arg nil)
> +        (scan-error (ding)))

So you basically just `ding' in interactive usage?

I wonder whether this would have any negative effect when people are
using these commands in keyboard macros.  For instance, if you've
recorded a macro that does `M-C-f M-DEL' or something, previously it
would signal an error and then stop, while now it'll just continue and
delete the wrong thing?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no