Browse Source

org.el (org-overview): Stay on current line

* org.el (org-overview): Stay on current line.

This circumvents a bug in hide-sublevels which displays the
"..." ellipsis on top of the window when hiding levels that
are past the middle of the window---at least this is the
way I could understand the problem.

Thanks to Samuel Wales for reporting the problem, Arun Persaud and
William for creating reproducible recipes, Suvayu Ali, Nick Dokos
and Achim Gratz for further help.
Bastien Guerry 6 years ago
1 changed files with 5 additions and 2 deletions
  1. 5 2

+ 5 - 2

@@ -6436,13 +6436,16 @@ of the first headline in the buffer.  This is important, because if the
 first headline is not level one, then (hide-sublevels 1) gives confusing
-  (let ((level (save-excursion
+  (let ((l (org-current-line))
+	(level (save-excursion
 		 (goto-char (point-min))
 		 (if (re-search-forward (concat "^" outline-regexp) nil t)
 		       (goto-char (match-beginning 0))
 		       (funcall outline-level))))))
-    (and level (hide-sublevels level))))
+    (and level (hide-sublevels level))
+    (recenter '(4))
+    (org-goto-line l)))
 (defun org-content (&optional arg)
   "Show all headlines in the buffer, like a table of contents.