summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2016-01-02 14:10:49 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2016-01-02 14:10:49 +0100
commit6da1d9fc325deef1b6701151792e3c2c18fb157a (patch)
treeb6659c66a07012d1cccaf75c3558b142f69ccf93
parent0c14fa649950b905be42c46e751e42633442b9cb (diff)
downloadorg-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.el39
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)