diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2016-01-02 14:10:49 +0100 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2016-01-02 14:10:49 +0100 |
commit | 6da1d9fc325deef1b6701151792e3c2c18fb157a (patch) | |
tree | b6659c66a07012d1cccaf75c3558b142f69ccf93 | |
parent | 0c14fa649950b905be42c46e751e42633442b9cb (diff) | |
download | org-mode-6da1d9fc325deef1b6701151792e3c2c18fb157a.tar.gz |
org-indent: Fix refresh when using `org-toggle-heading'
* lisp/org-indent.el (org-indent-notify-modified-headline):
(org-indent-refresh-maybe): Ignore narrowing. Also ignore inlinetasks.
Reported-by: Ingo Lohmar <i.lohmar@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/103919>
-rw-r--r-- | lisp/org-indent.el | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/lisp/org-indent.el b/lisp/org-indent.el index 197042d..93b8ad5 100644 --- a/lisp/org-indent.el +++ b/lisp/org-indent.el @@ -342,11 +342,12 @@ Flag will be non-nil if command is going to modify or delete an headline." (when org-indent-mode (setq org-indent-modified-headline-flag - (save-excursion - (goto-char beg) - (save-match-data - (or (and (org-at-heading-p) (< beg (match-end 0))) - (re-search-forward org-outline-regexp-bol end t))))))) + (org-with-wide-buffer + (goto-char beg) + (save-match-data + (or (and (org-at-heading-p) (< beg (match-end 0))) + (re-search-forward + (org-with-limited-levels org-outline-regexp-bol) end t))))))) (defun org-indent-refresh-maybe (beg end dummy) "Refresh indentation properties in an adequate portion of buffer. @@ -358,19 +359,21 @@ This function is meant to be called by `after-change-functions'." (save-match-data ;; If a headline was modified or inserted, set properties until ;; next headline. - (if (or org-indent-modified-headline-flag - (save-excursion - (goto-char beg) - (beginning-of-line) - (re-search-forward org-outline-regexp-bol end t))) - (let ((end (save-excursion - (goto-char end) - (org-with-limited-levels (outline-next-heading)) - (point)))) - (setq org-indent-modified-headline-flag nil) - (org-indent-add-properties beg end)) - ;; Otherwise, only set properties on modified area. - (org-indent-add-properties beg end))))) + (org-with-wide-buffer + (if (or org-indent-modified-headline-flag + (save-excursion + (goto-char beg) + (beginning-of-line) + (re-search-forward + (org-with-limited-levels org-outline-regexp-bol) end t))) + (let ((end (save-excursion + (goto-char end) + (org-with-limited-levels (outline-next-heading)) + (point)))) + (setq org-indent-modified-headline-flag nil) + (org-indent-add-properties beg end)) + ;; Otherwise, only set properties on modified area. + (org-indent-add-properties beg end)))))) (provide 'org-indent) |