> Date: Fri, 08 Jul 2016 20:03:35 +0300 > From: Eli Zaretskii <e...@gnu.org> > Cc: 23...@debbugs.gnu.org > > > 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".
Actually, we might be looking in the wrong direction: since some of these functions do use save-match-data, the search registers might be legitimately changed and restored several times. So I think you need to type "continue" and see what other parts of code change the match data, all the way until the call to replace_range returns. Once we've seen all those changes, with backtraces for each of them, we will probably see the culprit. It is still advisable to load the involved files as *.el files, as the results of "xbacktrace" will then be more detailed. Thanks.