--- lisp/outline.el 2011-04-19 13:44:55 +0000 +++ lisp/outline.el 2011-08-15 13:41:50 +0000 @@ -83,6 +83,7 @@ (define-key map "\C-k" 'show-branches) (define-key map "\C-q" 'hide-sublevels) (define-key map "\C-o" 'hide-other) + (define-key map "\C-s" 'outline-narrow-to-subtree) (define-key map "\C-^" 'outline-move-subtree-up) (define-key map "\C-v" 'outline-move-subtree-down) (define-key map [(control ?<)] 'outline-promote) @@ -1116,6 +1117,18 @@ (insert "\n\n")))))) (kill-new (buffer-string))))))) +(defun outline-narrow-to-subtree () + "Narrow buffer to the current subtree." + (interactive) + (save-excursion + (save-match-data + (narrow-to-region + (progn (outline-back-to-heading t) (point)) + (progn (outline-end-of-subtree) + (if (and (outline-on-heading-p t) (not (eobp))) + (backward-char 1)) + (point)))))) + (provide 'outline) (provide 'noutline)