* bug#12976: 24.2; C-c i is bound to custom function, but in a term buffer it gets bound to ido-insert-file
@ 2012-11-24 0:32 Joseph Mingrone
2012-11-24 3:43 ` Glenn Morris
0 siblings, 1 reply; 5+ messages in thread
From: Joseph Mingrone @ 2012-11-24 0:32 UTC (permalink / raw)
To: 12976
I bind C-c i to a custom function, but when I'm in a term buffer C-c i is
bound to ido-insert-file. When I asked about this in #emacs on freenode
I was told to report a bug.
In GNU Emacs 24.2.1 (i386-portbld-freebsd8.3)
of 2012-09-17 on gly.ath.cx
Configured using:
`configure '--localstatedir=/var' '--without-x' '--without-sound'
'--without-dbus' '--without-xml2' '--without-gnutls'
'--prefix=/usr/local' '--mandir=/usr/local/man'
'--infodir=/usr/local/info/' '--build=i386-portbld-freebsd8.3'
'build_alias=i386-portbld-freebsd8.3' 'CC=cc' 'CFLAGS=-O2 -pipe
-fno-strict-aliasing' 'LDFLAGS= -L/usr/local/lib
-rpath=/usr/lib:/usr/local/lib' 'CPPFLAGS=-I/usr/local/include'
'CPP=cpp''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en_CA.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default enable-multibyte-characters: t
Major mode: Help
Minor modes in effect:
erc-list-mode: t
erc-menu-mode: t
erc-autojoin-mode: t
erc-ring-mode: t
erc-networks-mode: t
erc-pcomplete-mode: t
erc-track-mode: t
erc-track-minor-mode: t
erc-match-mode: t
erc-button-mode: t
erc-fill-mode: t
erc-stamp-mode: t
erc-netsplit-mode: t
show-paren-mode: t
global-auto-revert-mode: t
erc-spelling-mode: t
shell-dirtrack-mode: t
erc-irccontrols-mode: t
erc-noncommands-mode: t
erc-move-to-prompt-mode: t
erc-readonly-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
SPC SPC H a v e SPC a SPC g o o d SPC n i g h t . RET
C-x o C-p C-p RET C-x k RET ESC x r e p TAB o TAB r
TAB RET C - c SPC i SPC i s DEL DEL b o u n d SPC t
o SPC c u s t o m e SPC DEL DEL SPC f u n c t i o n
, SPC b u t SPC i n SPC t e r m SPC DEL DEL DEL DEL
DEL a SPC t e r m SPC b u f f e r SPC i t SPC g e t
s SPC b o u n d SPC t o SPC C-y DEL DEL DEL DEL DEL
DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL
DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL
C-x o C-x o C-c n C-x h k C-c i C-x o i d o - f i n
d - i l DEL DEL f i l e RET C-x o C-x C-f C-g C-c n
C-x h k C-c i C-x b RET C-x o C-x b C-s RET C-p C-p
C-p C-f C-e DEL DEL DEL DEL DEL DEL DEL DEL DEL DEL
DEL DEL DEL i d o - i n s e r t - f i l e C-a C-n C-n
C-n C-n C-p C-p C-n C-n C-n C-n C-n C-n C-n C-n C-n
ESC > ESC < C-n C-n C-f C-f C-f C-f C-f C-f C-f C-f
C-f C-@ C-e ESC w C-x o C-x o C-x k RET y e s RET ESC
x r e p o r TAB RET
Recent messages:
Checking 148 files in /usr/local/share/emacs/24.2/lisp/emacs-lisp...
Checking 24 files in /usr/local/share/emacs/24.2/lisp/cedet...
Checking 57 files in /usr/local/share/emacs/24.2/lisp/calendar...
Checking 87 files in /usr/local/share/emacs/24.2/lisp/calc...
Checking 65 files in /usr/local/share/emacs/24.2/lisp/obsolete...
Checking 1 files in /usr/local/share/emacs/24.2/leim...
Checking for load-path shadows...done
Quit
Type "q" in help window to restore its previous buffer.
Mark set [3 times]
Load-path shadows:
/home/jrm/.emacs.d/elpa/multi-eshell-0.0.1/multi-eshell hides ~/.elisp/multi-eshell
/home/jrm/.emacs.d/elpa/rainbow-delimiters-1.3.4/rainbow-delimiters hides ~/.elisp/rainbow-delimiters
/home/jrm/.emacs.d/elpa/multi-term-0.8.8/multi-term hides ~/.elisp/multi-term
Features:
(shadow debug emacsbug help-mode view multi-term term disp-table ehelp
electric erc-menu erc-join erc-ring erc-networks erc-pcomplete erc-track
erc-match erc-button wid-edit erc-fill erc-stamp erc-netsplit mule-util
network-stream starttls mailalias smtpmail auth-source eieio
password-cache sendmail mail-extr sort gnus-util message rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader
server time-date paren autorevert cus-start cus-load edit-server derived
erc-spelling flyspell ispell auctex-autoloads tex-site info
dired+-autoloads multi-eshell-autoloads multi-term-autoloads
rainbow-delimiters-autoloads uniquify byte-opt warnings advice help-fns
advice-preload tls package tabulated-list org-install mode-compile-kill
mode-compile reporter cl bytecomp byte-compile cconv macroexp ido
ess-toolbar ess-mouse mouseme compile tool-bar browse-url ess-menu
speedbar sb-image ezimage dframe ess-swv ess-noweb noweb-font-lock-mode
ess-bugs-l essd-els ess-sas-d ess-sas-l ess-sas-a executable shell
pcomplete ess-arc-d ess-vst-d ess-xls-d ess-lsp-l ess-sta-d ess-sta-l
cc-vars cc-defs make-regexp ess-sp6-d ess-sp5-d ess-sp3-d ess-r-d
ess-r-args assoc tooltip ess-s-l ess-inf ess-utils comint ansi-color
ring ess-mode noweb-mode edmacro kmacro ess ess-custom ess-compat
ess-site erc-goodies erc erc-backend erc-compat format-spec thingatpt pp
doc-view easymenu jka-compr image-mode image dired regexp-opt ediff-hook
vc-hooks lisp-float-type lisp-mode register page menu-bar rfn-eshadow
timer jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer loaddefs button faces cus-face files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process multi-tty emacs)
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#12976: 24.2; C-c i is bound to custom function, but in a term buffer it gets bound to ido-insert-file
2012-11-24 0:32 bug#12976: 24.2; C-c i is bound to custom function, but in a term buffer it gets bound to ido-insert-file Joseph Mingrone
@ 2012-11-24 3:43 ` Glenn Morris
2013-07-12 1:52 ` Leo Liu
0 siblings, 1 reply; 5+ messages in thread
From: Glenn Morris @ 2012-11-24 3:43 UTC (permalink / raw)
To: Joseph Mingrone; +Cc: 12976
Joseph Mingrone wrote:
> I bind C-c i to a custom function, but when I'm in a term buffer C-c i is
> bound to ido-insert-file.
Nothing to do with ido, really, which just remaps insert-file.
emacs -Q -f term
bash RET
Now `C-c i' is bound to insert-file. I guess this is because
term-escape-char = C-c, and term-raw-escape-map has Control-X-prefix as
parent keymap. I don't know what, if anything, to do about this.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#12976: 24.2; C-c i is bound to custom function, but in a term buffer it gets bound to ido-insert-file
2012-11-24 3:43 ` Glenn Morris
@ 2013-07-12 1:52 ` Leo Liu
2013-07-14 1:14 ` Josh
0 siblings, 1 reply; 5+ messages in thread
From: Leo Liu @ 2013-07-12 1:52 UTC (permalink / raw)
To: Glenn Morris; +Cc: Joseph Mingrone, 12976-done
On 2012-11-24 11:43 +0800, Glenn Morris wrote:
> Now `C-c i' is bound to insert-file. I guess this is because
> term-escape-char = C-c, and term-raw-escape-map has Control-X-prefix as
> parent keymap. I don't know what, if anything, to do about this.
I consider this not a bug.
This is how term.el works because it has drastically different key
bindings. Thus it gives the user C-c to invoke those critical commands
on the C-x prefix, or you will be trapped in term-mode forever.
User-defined commands are secondary in this scenario.
Leo
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#12976: 24.2; C-c i is bound to custom function, but in a term buffer it gets bound to ido-insert-file
2013-07-12 1:52 ` Leo Liu
@ 2013-07-14 1:14 ` Josh
2021-12-04 4:31 ` Lars Ingebrigtsen
0 siblings, 1 reply; 5+ messages in thread
From: Josh @ 2013-07-14 1:14 UTC (permalink / raw)
To: 12976, jrm; +Cc: 12976-done
On Thu, Jul 11, 2013 at 6:52 PM, Leo Liu <sdl.web@gmail.com> wrote:
> On 2012-11-24 11:43 +0800, Glenn Morris wrote:
>> Now `C-c i' is bound to insert-file. I guess this is because
>> term-escape-char = C-c, and term-raw-escape-map has Control-X-prefix as
>> parent keymap. I don't know what, if anything, to do about this.
>
> I consider this not a bug.
I certainly do. From (info "(elisp) Key Binding Conventions") :
* Don't define `C-c LETTER' as a key in Lisp programs. Sequences
consisting of `C-c' and a letter (either upper or lower case) are
reserved for users; they are the *only* sequences reserved for
users, so do not block them.
Changing all the Emacs major modes to respect this convention was a
lot of work; abandoning this convention would make that work go to
waste, and inconvenience users. Please comply with it.
> This is how term.el works because it has drastically different key
> bindings. Thus it gives the user C-c to invoke those critical commands
> on the C-x prefix, or you will be trapped in term-mode forever.
Several of the commands that term.el binds to C-c <letter> are
anything but critical, e.g. set-fill-column (C-c f) and
count-lines-page (C-c l). Furthermore, as for being "trapped
forever," I see no reason for C-c in particular to be appropriated for
this purpose instead of some other control character that would leave
users' bindings intact, or even moving `ctl-x-map' from C-c to C-c
C-x, though this would be more effort to implement.
> User-defined commands are secondary in this scenario.
The passage I cited refers to "all the Emacs major modes". Is there
any reason to believe that term.el should be exempt from adhering to
this convention?
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#12976: 24.2; C-c i is bound to custom function, but in a term buffer it gets bound to ido-insert-file
2013-07-14 1:14 ` Josh
@ 2021-12-04 4:31 ` Lars Ingebrigtsen
0 siblings, 0 replies; 5+ messages in thread
From: Lars Ingebrigtsen @ 2021-12-04 4:31 UTC (permalink / raw)
To: Josh; +Cc: jrm, Glenn Morris, 12976
Josh <josh@foxtail.org> writes:
>> I consider this not a bug.
>
> I certainly do. From (info "(elisp) Key Binding Conventions") :
>
> * Don't define `C-c LETTER' as a key in Lisp programs. Sequences
> consisting of `C-c' and a letter (either upper or lower case) are
> reserved for users; they are the *only* sequences reserved for
> users, so do not block them.
[...]
> The passage I cited refers to "all the Emacs major modes". Is there
> any reason to believe that term.el should be exempt from adhering to
> this convention?
(I'm going through old bug reports that unfortunately weren't resolved
at the time.)
It's an oddball mode, and it breaks many Emacs conventions. In any
case, this isn't something we can change at this point, since the `C-c'
key bindings are ingrained at this point. (You can change
`term-escape-char' if you want, though.)
So I'm reclosing this bug report as a WONTFIX.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-12-04 4:31 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-24 0:32 bug#12976: 24.2; C-c i is bound to custom function, but in a term buffer it gets bound to ido-insert-file Joseph Mingrone
2012-11-24 3:43 ` Glenn Morris
2013-07-12 1:52 ` Leo Liu
2013-07-14 1:14 ` Josh
2021-12-04 4:31 ` Lars Ingebrigtsen
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).