[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] M-S-RET doesn't work anymore?
From: |
Kévin Le Gouguec |
Subject: |
Re: [O] M-S-RET doesn't work anymore? |
Date: |
Thu, 24 Jan 2019 20:47:14 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Kaushal Modi <address@hidden> writes:
> On Wed, Jan 23, 2019 at 3:54 PM Marco Wahl <address@hidden> wrote:
>
> As a workaround you can evaluate the lines (that were active before the
> commit)
>
> (org-defkey org-mode-map (kbd "S-<return>") #'org-table-copy-down)
> (org-defkey org-mode-map (kbd "M-S-<return>") #'org-insert-todo-heading)
> (org-defkey org-mode-map (kbd "ESC S-<return>") #'org-insert-todo-heading)
>
> or put them into your init file AFAICS.
>
> Yep, that commit broke the -<return> bindings for me too. I'll have to do the
> same.
>
> Copying Kevin who originally requested the change of these bindings (this
> switching of bindings between RET and <return> feels like dejavu to me .. I
> have seen this done before in Org repo).
>
> Is this a reliable fix to add these lines to the source code again?
> To be honest I don't see clearly.
>
> May be those keys should be bound to both RET and <return> variants?
>
> For Emacs GUI, I think that the <return> variant is needed, RET does nothing.
Gah! Apologies for the breakage. I assumed that in GUI frames, since
<return> is translated to RET when the former is not bound
explicitly[1], *modifier*-<return> would also be translated to
*modifier*-RET, but that does not seem to be the case[2].
My previous experience with M-RET in markdown-mode[3] led me to assume I
could suggest this change without breaking anything… Next time I'll
know better and write those unit tests :)
Thank you for catching this and again, sorry for the disruption.
[1]: In fundamental-mode:
C-h k <return>
⇒ RET (translated from <return>) runs the command newline…
[2]: In fundamental-mode:
M-: (global-set-key (kbd "S-RET") (lambda () (interactive) (message "foo")))
C-h k S-<return>
⇒ RET (translated from <S-return>) runs the command newline…
M-: (global-set-key (kbd "M-S-RET") (lambda () (interactive) (message
"bar")))
C-h M-S-<return>
⇒ <M-S-return> is undefined
M-: (global-set-key (kbd "M-RET") (lambda () (interactive) (message "baz")))
C-h M-<return>
⇒ M-RET (translated from <M-return>) runs the command (lambda…)
[3]:
https://github.com/jrblevin/markdown-mode/commit/c0fc52461e845baa3c55d9b6f9e67c451a9ffa8d