From: Eric Abrahamsen <email@example.com> To: Kyle Meyer <firstname.lastname@example.org> Cc: email@example.com Subject: Re: Free up C-c SPC/org-table-blank-field? Date: Thu, 04 Feb 2021 19:48:22 -0800 [thread overview] Message-ID: <firstname.lastname@example.org> (raw) In-Reply-To: <email@example.com> Kyle Meyer <firstname.lastname@example.org> writes: > Eric Abrahamsen writes: > >> Hi all, >> >> The C-c SPC keybinding is pretty prime property (it's also, according to >> Emacs conventions, meant to be reserved for the user, though I know >> that's already out the window with Org), > > Based on my reading of (info "(elisp)Key Binding Conventions"), I think > `C-c SPC` doesn't fall into the user's `C-c LETTER' territory but > instead into the this group: > > Sequences consisting of ‘C-c’ followed by any other ASCII > punctuation or symbol character are allocated for minor modes. > Using them in a major mode is not absolutely prohibited, but if you > do that, the major mode binding may be shadowed from time to time > by minor modes. Oh, interesting, thanks -- I've always found that section impossible to remember, and it seems to often be disregarded, anyway. In this case, I guess we could consider the keybinding to be kind of "minor-mode-ish", if you thought of commands that operate on Org tables to be like a minor mode that's only active when point is inside a table. [...] >> But, either way, I don't disagree with what you say next. >> >>> and it's currently bound to `org-table-blank-field', which is useless >>> unless you... happen to be in a table. I don't use tables often (or >>> blank fields when I do), which means this binding is effectively just >>> removed. > > Does it actually need a key binding? I've never used it and just use > <tab> to move to the next field, leaving the field blank. I assume it's meant for blanking a field you've already typed something into. But yes, I can't imagine it's a heavily-used command, and I suspect the C-c <SPC> binding is mostly mnemonic: "make this field contain only blanks". >>> >>> What do people think about making it a no-op when not on a table >>> (letting it fall through to the global map), or putting it in a keymap >>> text property on tables, or otherwise not hogging the binding? >> >> In my view, the first would be fine, and the second also unless someone >> chimes in with a technical reason not to. For the last, perhaps `C-c >> C-SPC' would be an okay replacement, though I'd assume that would break >> some users' muscle memory in a surprising and unpleasant way. > > I'm not familiar with how this is all put together inside org mode. > If it is possible to configure things so that it is only bound when > inside a table and does not shadow other bindings for that sequence > outside a table, I think that would be a positive change. However, I do > also note that this is the type of change which tends to cause 'ripples' > and may have unexpected impact in other areas, such as other packages, > predefined or 'canned' emacs configurations etc. The way Org handles these situations now is to have a command that is named for its actual keybinding (eg `org-shiftmetaleft'), which then examines its context and dispatches to various other functions. That's a bit odd and not really how it's done in Emacs -- but I am not proposing we change this as it is pretty fundamental to how Org is set up and would wreck a bunch of stuff if it were changed. I thought Emacs might have some easy way to let a key event "fall through" to other keymaps, but I haven't been able to find anything immediately obvious. Maybe I can ask on emacs.devel... Eric
next prev parent reply other threads:[~2021-02-05 3:49 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-25 18:05 Eric Abrahamsen 2021-02-03 6:16 ` Kyle Meyer 2021-02-03 6:26 ` Tim Cross 2021-02-05 3:48 ` Eric Abrahamsen [this message] 2021-02-05 4:45 ` Kyle Meyer 2021-02-05 5:32 ` Tim Cross 2021-02-05 9:41 ` Christian Moe 2021-02-05 10:44 ` Carsten Dominik 2021-02-05 18:33 ` Eric Abrahamsen 2021-02-11 9:45 ` Carsten Dominik 2021-03-04 19:49 ` Eric Abrahamsen 2021-04-28 3:50 ` Bastien 2021-05-01 21:09 ` Eric Abrahamsen
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.orgmode.org/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --subject='Re: Free up C-c SPC/org-table-blank-field?' \ /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
Code repositories for project(s) associated with this inbox: https://git.savannah.gnu.org/cgit/emacs/org-mode.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).