emacs-devel
[Top][All Lists]
Advanced

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

Re: [Emacs-diffs] master b88e7c8: Make transpose-regions interactive (Bu


From: Eli Zaretskii
Subject: Re: [Emacs-diffs] master b88e7c8: Make transpose-regions interactive (Bug#30343)
Date: Wed, 21 Mar 2018 09:22:19 +0200

> From: Karl Fogel <address@hidden>
> Date: Tue, 20 Mar 2018 16:33:52 -0500
> 
> So, here is why I would prefer to see that interactive spec moved to Lisp:
> 
> Having it in C makes it less hackable.  It's a rather complex interactive 
> spec, and I can imagine someone wanting to play around with it, perhaps with 
> the goal of suggesting a change to the interactive behavior of 
> `transpose-regions'.  If it were in an Elisp file, it would be much easier 
> for people to make those experiments.  (Yes, technically one could find ways 
> to do it anyway, but it would be harder, and in general I think reducing 
> barriers to hackability is a Good Thing.)
> 
> Originally I thought my concerns were aesthetic, but when I thought about it 
> more carefully, my concern is really about ease of hacking.  The same 
> argument could apply to the other non-trivial interactive specs defined as 
> `eval'-able strings in C (there are not many of them -- I listed them in my 
> previous mail, quoted below).  To keep things simple, my proposal right now 
> is just about `transpose-regions', though.
> 
> If other people have arguments for or against restoring commit 3a3aa0e05, 
> please speak up.  I'll wait at least a week before coming to any conclusions 
> about consensus, to ensure there's time for discussion.

Thanks.

Here are some reasons why not to make the change:

  . there's nothing wrong with that code
  . having it in C doesn't make hacking harder because one can always
    override functions in Emacs, and moving the interactive spec to
    Lisp will still leave the code preloaded anyway
  . it's good to have a small number of examples of using this feature
    of DEFUN in our sources, so that people knew it's possible, and
    could learn from these examples
  . moving code between files makes forensics harder ("git log -L" and
    its ilk become almost useless, for example)
  . there's nothing wrong with that code

Yes, they are all weak reasons, but so are the proposed reasons in
favor of the change.



reply via email to

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