1
0
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-11-26 07:33:39 +00:00

org.el (orgstruct-make-binding): Do not use loop in interpreted code.

* lisp/org.el (orgstruct-make-binding): Do not use loop in
interpreted code.
This commit is contained in:
Christopher Schmidt 2014-10-11 21:40:45 +02:00 committed by Bastien Guerry
parent 88457acff4
commit 9c3d22f864

View File

@ -9099,14 +9099,16 @@ if `orgstruct-heading-prefix-regexp' is not empty."
(if fallback
(let* ((orgstruct-mode)
(binding
(loop with key = ,key
for rep in
'(nil
("<\\([^>]*\\)tab>" . "\\1TAB")
("<\\([^>]*\\)return>" . "\\1RET")
("<\\([^>]*\\)escape>" . "\\1ESC")
("<\\([^>]*\\)delete>" . "\\1DEL"))
do
(let ((key ,key))
(catch 'exit
(dolist
(rep
'(nil
("<\\([^>]*\\)tab>" . "\\1TAB")
("<\\([^>]*\\)return>" . "\\1RET")
("<\\([^>]*\\)escape>" . "\\1ESC")
("<\\([^>]*\\)delete>" . "\\1DEL"))
nil)
(when rep
(setq key (read-kbd-macro
(let ((case-fold-search))
@ -9114,7 +9116,8 @@ if `orgstruct-heading-prefix-regexp' is not empty."
(car rep)
(cdr rep)
(key-description key))))))
thereis (key-binding key))))
(when (key-binding key)
(throw 'exit (key-binding key))))))))
(if (keymapp binding)
(org-set-transient-map binding)
(let ((func (or binding