From 4508b8c2a7f2bf3928967adb1cab20aff466e5bd Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sun, 2 Nov 2014 01:32:43 -0400 Subject: [PATCH] org-goto: Update for isearch changes * lisp/org.el (org-goto): Update for isearch changes that removed isearch-other-control-char. isearch-other-control-char has been removed from isearch.el [1]. The default interface for org-goto uses isearch-other-control-char to pass certain key presses from org-goto-local-auto-isearch-map to org-goto-map. Specifically, 'C-i' calls org-cycle and 'C-m' calls org-goto-ret. With the current isearch, the keys that should be passed to org-goto-map can be set to nil. In addition to 'C-i' and 'C-m', RET must also be set to nil because isearch-mode-map sets both 'C-m' and RET. [1] bzr revision 114586, git commit aa04ac2c6, http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15200 --- lisp/org.el | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index ff086c6b4..634374662 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -7399,8 +7399,14 @@ or nil." (defvar org-goto-local-auto-isearch-map (make-sparse-keymap)) (set-keymap-parent org-goto-local-auto-isearch-map isearch-mode-map) -(define-key org-goto-local-auto-isearch-map "\C-i" 'isearch-other-control-char) -(define-key org-goto-local-auto-isearch-map "\C-m" 'isearch-other-control-char) +;; `isearch-other-control-char' was removed in Emacs 24.4. +(if (fboundp 'isearch-other-control-char) + (progn + (define-key org-goto-local-auto-isearch-map "\C-i" 'isearch-other-control-char) + (define-key org-goto-local-auto-isearch-map "\C-m" 'isearch-other-control-char)) + (define-key org-goto-local-auto-isearch-map "\C-i" nil) + (define-key org-goto-local-auto-isearch-map "\C-m" nil) + (define-key org-goto-local-auto-isearch-map [return] nil)) (defun org-goto-local-search-headings (string bound noerror) "Search and make sure that any matches are in headlines."