Hi Carsten Attached is the patch with this changelog:
Completion of remapping for Outline functions * lisp/org.el Key bindings: remap the Outline functions from `outline-mode-prefix-map' where possible. Michael On Sat, Oct 22, 2011 at 10:15, Michael Brand <michael.ch.br...@gmail.com> wrote: > On Fri, Oct 21, 2011 at 16:40, Carsten Dominik > <carsten.domi...@gmail.com> wrote: >> Would you like to carefully think about which other functions you >> might want to have remapped ... > > I started to go through the functions that are bound in > outline-mode-prefix-map to compare their behavior with that of the Org > equivalents. Now I stumbled upon > outline/org-forward/backward-same-level. All four doc strings state > "Stop at the first and last subheadings of a superior heading", but > the Org ones don't. As I remember, Org "motion on same level" C-c > C-f/b once stopped. Git bisect shows that this had been the case > before the "motion on same level" functionality moved into the new > functions org-forward/backward-same-level with > http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=0eaf3cce > At that time the (error "No following same-level heading") > disappeared. > > I assume that Org mode should still stop as documented and like > Outline mode. If this is true I'd like to ask you if you could help to > resolve this. Of course I tried to do it myself but have to admit that > it would mean too much effort for me to understand what happens before > and after the commit with the three optimization levels that it > implements. > >> and then prepare a patch? > > I'll add the two new pairs from above and probably some more into a > follow-up to this > http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=b2632dc4 > when I'll be finished with going through outline-mode-prefix-map.
From 8de47296168ae9c83a81899046ce79a16136c6ee Mon Sep 17 00:00:00 2001 From: Michael Brand <michael.ch.br...@gmail.com> Date: Wed, 9 Nov 2011 19:07:45 +0100 Subject: [PATCH] Completion of remapping for Outline functions * lisp/org.el Key bindings: remap the Outline functions from `outline-mode-prefix-map' where possible. --- lisp/org.el | 36 +++++++++++++++++++++++++++++++++++- 1 files changed, 35 insertions(+), 1 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index 5c4ea33..e24cdae 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -17074,9 +17074,43 @@ (defun org-remove-inline-images () ;;;; Key bindings -;; Remap outline keys +;; Outline functions from `outline-mode-prefix-map' +;; that can be remapped in Org: +(define-key org-mode-map [remap outline-mark-subtree] 'org-mark-subtree) +(define-key org-mode-map [remap show-subtree] 'org-show-subtree) +(define-key org-mode-map [remap outline-forward-same-level] + 'org-forward-same-level) +(define-key org-mode-map [remap outline-backward-same-level] + 'org-backward-same-level) +(define-key org-mode-map [remap show-branches] + 'org-kill-note-or-show-branches) (define-key org-mode-map [remap outline-promote] 'org-promote-subtree) (define-key org-mode-map [remap outline-demote] 'org-demote-subtree) +(define-key org-mode-map [remap outline-insert-heading] 'org-ctrl-c-ret) + +;; Outline functions from `outline-mode-prefix-map' +;; that can not be remapped in Org: +;; - the column "key binding" shows whether the Outline function is still +;; available in Org mode on the same key that it has been bound to in +;; Outline mode: +;; - "overridden": key used for a different functionality in Org mode +;; - else: key still bound to the same Outline function in Org mode +;; | Outline function | key binding | Org replacement | +;; |------------------------------------+-------------+-----------------------| +;; | `outline-next-visible-heading' | `C-c C-n' | still same function | +;; | `outline-previous-visible-heading' | `C-c C-p' | still same function | +;; | `show-children' | `C-c C-i' | visibility cycling | +;; | `hide-subtree' | overridden | visibility cycling | +;; | `outline-up-heading' | `C-c C-u' | still same function | +;; | `hide-body' | overridden | no replacement | +;; | `show-all' | overridden | no replacement | +;; | `hide-entry' | overridden | visibility cycling | +;; | `show-entry' | overridden | no replacement | +;; | `hide-leaves' | overridden | no replacement | +;; | `hide-sublevels' | overridden | no replacement | +;; | `hide-other' | overridden | no replacement | +;; | `outline-move-subtree-up' | `C-c C-^' | better: org-shiftup | +;; | `outline-move-subtree-down' | overridden | better: org-shiftdown | ;; Make `C-c C-x' a prefix key (org-defkey org-mode-map "\C-c\C-x" (make-sparse-keymap)) -- 1.6.2.1