From ac2415ae3857ae6280916497bcb9c933f0d5a6b8 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Fri, 15 Mar 2013 22:16:47 +0100 Subject: [PATCH] org.el: Make the hijacker commands of orgstruct-mode try both general and specialised (function) key bindings * org.el (orgstruct-make-binding): Make the hijacker commands try both general and specialized (function) key bindings. --- lisp/org.el | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lisp/org.el b/lisp/org.el index af9b04a48..db3edc026 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -8892,7 +8892,22 @@ if `orgstruct-heading-prefix-regexp' is non-nil." 'item-body)))))))) (if fallback (let* ((orgstruct-mode) - (binding (key-binding ,key))) + (binding + (loop with key = ,key + for rep in '(nil + ("" . "TAB") + ("" . "RET") + ("" . "ESC") + ("" . "DEL")) + do + (when rep + (setq key (read-kbd-macro + (let ((case-fold-search)) + (replace-regexp-in-string + (regexp-quote (car rep)) + (cdr rep) + (key-description key)))))) + thereis (key-binding key)))) (if (keymapp binding) (set-temporary-overlay-map binding) (let ((func (or binding