From: "Drew Adams" <drew.adams@oracle.com>
To: "'Chong Yidong'" <cyd@stupidchicken.com>, <emacs-devel@gnu.org>
Subject: RE: Updated proposal for DEL to delete active region
Date: Sat, 22 May 2010 11:37:18 -0700 [thread overview]
Message-ID: <611EBC8A88E34310966D561E92C6B1B3@us.oracle.com> (raw)
In-Reply-To: <87ljbbbzl1.fsf@stupidchicken.com>
> + ** New commands delete-forward and delete-backward.
> + C-d and DEL are now bound to these commands, instead of delete-char
> + and delete-backward-char.
So we now break any existing code that counts on `delete-char' or
`delete-backward-char' being key-bound. In particular, customizations (e.g. key
remappings) involving those commands no longer work.
And what about `backward-delete-char-untabify'?
To cite Stefan (who got the untabify name slightly wrong):
>> But this doesn't seem right: we're not going to have one
>> such variable for delete-backward-char, delete-char,
>> delete-backward-char-untabify, and the handful of other commands
>> that grep "'delete-selection 'supersede" lisp/**/*.el
>> indicate will want a similar treatment.
So instead of having one such var per command (bad), or one var for all such
commands (bad), or using a property on a command symbol such as delsel does
(good), we now have two new commands whose implementations hard-code this
feature (bad). The new commands and the new option hard-code each other.
Flexibility and legacy out the window. Might as well stuff users in a sack, tie
it tight, and dump it overboard.
> * Incompatible Lisp Changes in Emacs 24.1
>
> + ** mouse-region-delete-keys has been removed.
> +
> + ** delete-backward-char no longer untabifies in overwrite mode.
> + The new command `delete-backward', which is intended for interactive
> + use, does so.
Those might be the only incompatible vanilla-Emacs code changes for this, but
they are not the only incompatible changes that can affect Lisp code (including
user code). Basic, traditional key bindings are changed. Any Lisp code that
expects those is now broken.
Why do this by defining new commands and changing existing key bindings?
Why not just attach a property to any existing command symbols that you want to
become sensitive to this new feature? That's the way `delete-selection-mode'
does this sort of thing.
Oh yeah, I remember: you guys don't like attaching properties to command
symbols... The delsel and thingatpt treatment is a saner approach, IMO. Yes,
it's true that symbols are not functions and not all functions are associated
with symbols. It's still saner.
next prev parent reply other threads:[~2010-05-22 18:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-22 17:44 Updated proposal for DEL to delete active region Chong Yidong
2010-05-22 18:37 ` Drew Adams [this message]
2010-05-22 19:02 ` Eli Zaretskii
2010-05-22 20:43 ` Drew Adams
2010-05-22 21:39 ` David Kastrup
2010-05-22 22:14 ` Drew Adams
2010-05-22 21:37 ` David Kastrup
2010-05-22 23:40 ` Chong Yidong
2010-05-23 0:30 ` Drew Adams
2010-05-23 17:10 ` Andreas Schwab
2010-05-24 21:03 ` Stefan Monnier
2010-05-23 1:33 ` Stefan Monnier
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=611EBC8A88E34310966D561E92C6B1B3@us.oracle.com \
--to=drew.adams@oracle.com \
--cc=cyd@stupidchicken.com \
--cc=emacs-devel@gnu.org \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).