all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Allen Li <vianchielfaura@gmail.com>
To: Tino Calancha <tino.calancha@gmail.com>
Cc: 28008@debbugs.gnu.org
Subject: bug#28008: 25.2; Resume kmacro definition errors C-u C-u <F3>
Date: Sun, 13 Aug 2017 14:13:07 -0700	[thread overview]
Message-ID: <CAJr1M6dDZJtVJjaOircGpAToXZ2x2T5CiZXEkdbeGYa85CynVQ@mail.gmail.com> (raw)
In-Reply-To: <8760dt32su.fsf@calancha-pc>

On Fri, Aug 11, 2017 at 5:41 AM, Tino Calancha <tino.calancha@gmail.com> wrote:
>  ** Patch 1 always save the macro in `last-kbd-macro' after an error or 'C-g'.
>     Then, A. B. and D.2 behaves similarly.
>
>  ** Patch 2 adds a new variable `last-aborted-kbd-macro': it saves the partial
>     macro there after an error or 'C-g'.  Called `start-kbd-macro' with
>     APPEND non-nil offers to append on `last-aborted-kbd-macro'; possible answers
>     are 'yes', 'no' or 'del' (i.e., append on `last-aborted-kbd-macro' after delete
>     its last character).
>
>     This is not backward compatible; for instance, the snippets A, B above won't be
>     saved in `last-kbd-macro' (currently they do).
>     It's more tidy; it separates 'good macros', i.e. those ended after
>     'F4' or 'C-x )', from 'partial macros', i.e., those ended after an error or 'C-g'.

I'm not the best qualified to comment on the patches themselves, but 2
sounds like the best solution except that it breaks backward
compatibility. However, I hypothesize that no one is relying on the
old behavior (that non-quit errors stop the macro recording and yet
save it).

On Fri, Aug 11, 2017 at 6:00 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> All these low-level changes just to support an obscure use case?  Is
> really worth the risk to break macros to cater to that?

I suspect that this bug is one of the reasons that this is an obscure
use case, i.e. that people don't use kmacros as often as they would
like to.  Humans make mistakes, and when they make mistakes that
translates to either an error or a C-g stopping the kmacro definition,
which makes it impractical to use kmacros in the current form.  If it
were easy to recover from an error during kmacro definition, I know I
would use them more.





  reply	other threads:[~2017-08-13 21:13 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-08  4:10 bug#28008: 25.2; Resume kmacro definition errors C-u C-u <F3> Allen Li
2017-08-08  5:26 ` Tino Calancha
2017-08-08 17:16   ` Allen Li
2017-08-11 12:41     ` Tino Calancha
2017-08-11 13:00       ` Eli Zaretskii
2017-08-11 13:17         ` Tino Calancha
2017-08-12  3:03           ` Tino Calancha
2017-08-13 21:13             ` Allen Li [this message]
2017-09-18 20:02           ` Allen Li
2017-09-19  7:42 ` Allen Li
2017-09-30  3:47   ` Allen Li
2017-09-30  4:20     ` Tino Calancha
2017-09-30 13:48   ` Eli Zaretskii
2020-08-24 14:07     ` Lars Ingebrigtsen
2018-09-09  0:23 ` Allen Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJr1M6dDZJtVJjaOircGpAToXZ2x2T5CiZXEkdbeGYa85CynVQ@mail.gmail.com \
    --to=vianchielfaura@gmail.com \
    --cc=28008@debbugs.gnu.org \
    --cc=tino.calancha@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.