From 30220ffcdcef45c0237f80a2347d4da19877f64a Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Thu, 12 Jun 2014 12:04:24 +0200 Subject: [PATCH] Prefer `set-window-start' over `recenter' in some places. * org-agenda.el (org-agenda-show-1): * org-table.el (org-table-show-reference): * org.el (org-fix-ellipsis-at-bol) (org-first-headline-recenter): Use `set-window-start' instead of `recenter'. * org-agenda.el (org-recenter-heading): Delete. --- lisp/org-agenda.el | 8 ++------ lisp/org-table.el | 5 +++-- lisp/org.el | 11 +++++------ 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index 2833fcafe..49c176c64 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -8599,7 +8599,8 @@ if it was hidden in the outline." (interactive "p") (let ((win (selected-window))) (org-agenda-goto t) - (org-recenter-heading 1) + (org-back-to-heading) + (set-window-start (selected-window) (point-at-bol)) (cond ((= more 0) (hide-subtree) @@ -8638,11 +8639,6 @@ if it was hidden in the outline." (message "Remote: SUBTREE AND ALL DRAWERS"))) (select-window win))) -(defun org-recenter-heading (n) - (save-excursion - (org-back-to-heading) - (recenter n))) - (defvar org-agenda-cycle-counter nil) (defun org-agenda-cycle-show (&optional n) "Show the current entry in another window, with default settings. diff --git a/lisp/org-table.el b/lisp/org-table.el index 1d6bee09a..6d649ab16 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -3863,9 +3863,10 @@ With prefix ARG, apply the new formulas to the table." (push org-table-current-begin-pos org-show-positions) (let ((min (apply 'min org-show-positions)) (max (apply 'max org-show-positions))) - (goto-char min) (recenter 0) + (set-window-start (selected-window) (point-min)) (goto-char max) - (or (pos-visible-in-window-p max) (recenter -1)))) + (or (pos-visible-in-window-p max) + (set-window-start (selected-window) (point-max))))) (select-window win)))) (defun org-table-force-dataline () diff --git a/lisp/org.el b/lisp/org.el index 1318ce19b..90657e071 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -5484,7 +5484,8 @@ The following commands are available: (put 'org-mode 'flyspell-mode-predicate 'org-mode-flyspell-verify) (defsubst org-fix-ellipsis-at-bol () - (save-excursion (goto-char (window-start)) (recenter 0))) + (save-excursion + (set-window-start (selected-window) (point-min)))) (defun org-find-invisible-foreground () (let ((candidates (remove @@ -7117,13 +7118,11 @@ Otherwise make it visible." (pos-visible-in-window-p (save-excursion (org-end-of-subtree t) (point)))) -(defun org-first-headline-recenter (&optional N) - "Move cursor to the first headline and recenter the headline. -Optional argument N means put the headline into the Nth line of the window." +(defun org-first-headline-recenter () + "Move cursor to the first headline and recenter the headline." (goto-char (point-min)) (when (re-search-forward (concat "^\\(" org-outline-regexp "\\)") nil t) - (beginning-of-line) - (recenter (prefix-numeric-value N)))) + (set-window-start (selected-window) (point-at-bol)))) ;;; Saving and restoring visibility