emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] bug#23917: 25.0.95; commit 3a9d6296b35e5317c497674d5725eb52699bd3b8


From: Eli Zaretskii
Subject: [O] bug#23917: 25.0.95; commit 3a9d6296b35e5317c497674d5725eb52699bd3b8 causing org-capture to error out
Date: Fri, 08 Jul 2016 20:03:35 +0300

> From: Robert Pluim <address@hidden>
> Cc: address@hidden
> Date: Fri, 08 Jul 2016 17:40:42 +0200
> 
> org-element--cache-after-change is:
> 
> (defun org-element--cache-after-change (beg end pre)
>   "Update buffer modifications for current buffer.
> BEG and END are the beginning and end of the range of changed
> text, and the length in bytes of the pre-change text replaced by
> that range.  See `after-change-functions' for more information."
>   (when (org-element--cache-active-p)
>     (org-with-wide-buffer
>      (goto-char beg)
>      (beginning-of-line)
>      (save-match-data
>        (let ((top (point))
>            (bottom (save-excursion (goto-char end) (line-end-position))))
>        ;; Determine if modified area needs to be extended, according
>        ;; to both previous and current state.  We make a special
>        ;; case for headline editing: if a headline is modified but
>        ;; not removed, do not extend.
>        (when (case org-element--cache-change-warning
>                ((t) t)
>                (headline
>                 (not (and (org-with-limited-levels (org-at-heading-p))
>                           (= (line-end-position) bottom))))
>                (otherwise
>                 (let ((case-fold-search t))
>                   (re-search-forward
>                    org-element--cache-sensitive-re bottom t))))
>          ;; Effectively extend modified area.
>          (org-with-limited-levels
>           (setq top (progn (goto-char top)
>                            (when (outline-previous-heading) (forward-line))
>                            (point)))
>           (setq bottom (progn (goto-char bottom)
>                               (if (outline-next-heading) (1- (point))
>                                 (point))))))
>        ;; Store synchronization request.
>        (let ((offset (- end beg pre)))
>          (org-element--cache-submit-request top (- bottom offset) offset)))))
>     ;; Activate a timer to process the request during idle time.
>     (org-element--cache-set-timer (current-buffer))))
> 
> which already does save-match-data. If I globally disable the org
> element cache by (setq org-element-use-cache nil) the issue
> disappears, so now I'm confused as to what's going on.

Load the file where this function lives as a .el file, and when the
watchpoint triggers, show the results of "xbacktrace".





reply via email to

[Prev in Thread] Current Thread [Next in Thread]