[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CUA property not set for multiple functions
From: |
M Jared Finder |
Subject: |
Re: CUA property not set for multiple functions |
Date: |
Mon, 26 Sep 2005 08:59:58 -0700 |
User-agent: |
Debian Thunderbird 1.0.6 (X11/20050802) |
Kim F. Storm wrote:
This list can be further reduced to:
down-list
mark-word
search-forward
mark-sexp
back-to-indentation
end-of-defun
forward-list
backward-up-list
forward-sexp
backward-list
backward-sexp
beginning-of-defun
I will add CUA properties for these in CVS.
Thank you. I will move setting the CUA property to the bugfixes section
of my .emacs.
You may argue that if a user binds one of the other commands that may
be regarded as a CUA movement command to a single key, CUA will not
work for that key -- which is true, but then the user will have to add
the necessary CUA property too. I don't want to "pollude" the sources
with properties that are only needed in theory. But if you know of
some specific commands where it may be relevant, pls. tell me and I
will consider them case by case.
I do disagree with this logic.
You'd want to eliminate commands where the interactive call prompts the
user for input (like search-backward-regexp) or commands that most
likely will change the buffer (like find-tag), but not any other
command. If I rebind a command to a single key sequence, I do not
expect to have to also set a property of the command, would you expect that?
There's another advantage. "Polluting" the source code also has the
advantage of implicitly documenting that I have to set the property.
When writing code, I rely on existing Emacs Lisp code to document the
implicit assumptions that have to be made (setting this property is not
explicitly documented ANYWHERE.) When I write forward-my-darling and it
does not work properly with CUA, I'd look at the code for some other
forward command, like forward-page. If forward-page has (put
'forward-page 'CUA 'move) right near it will, I will immediately notice
that difference and be able to fix it.
All of the following functions should have the CUA property set, but do
not. (I have done only the most trivial of removals; I'm sure some
commands here should not have the CUA property set.) Please consider
each of these:
Buffer-menu-backup-unmark
Buffer-menu-delete-backwards
Buffer-menu-unmark
View-goto-line
View-goto-percent
backward-button
backward-page
backward-to-indentation
beginning-of-defun-raw
beginning-of-line-text
comint-bol-or-process-mark
comint-goto-process-mark
comint-next-prompt
comint-previous-prompt
ebrowse-back-in-position-stack
ebrowse-forward-in-position-stack
expand-jump-to-next-slot
expand-jump-to-previous-slot
forward-button
forward-line
forward-page
forward-to-indentation
goto-next-locus
highlight-changes-next-change
highlight-changes-previous-change
ibuffer-backward-filter-group
ibuffer-backwards-next-marked
ibuffer-clear-filter-groups
ibuffer-delete-saved-filter-groups
ibuffer-forward-filter-group
ibuffer-forward-next-marked
ibuffer-jump-to-filter-group
jump-to-register
jump-to-register-compatibility-binding
move-to-column
move-to-tab-stop
next-completion
previous-completion
register-to-point
scan-buf-next-region
speedbar-backward-list
speedbar-forward-list
speedbar-navigate-list
speedbar-next
speedbar-prev
speedbar-restricted-next
speedbar-restricted-prev
table-backward-cell
table-forward-cell
up-list
widget-backward
widget-forward
-- MJF