Serghei Iakovlev <li...@serghei.pl> writes: > I encountered an issue with `org-mode' in my Emacs configuration > related to periodic clearing of the refile cache during idle time. I > am using the following code snippet, which runs during idle time to > clear the cache of refile targets: > > --8<---------------cut here---------------start------------->8--- > (run-with-idle-timer 600 t (lambda () > (require 'org-refile) > (org-refile-cache-clear) > (org-refile-get-targets))) > --8<---------------cut here---------------end--------------->8--- > ... > --8<---------------cut here---------------start------------->8--- > Debugger entered--Lisp error: (wrong-type-argument stringp nil) > looking-at(nil) > org-refile-get-targets() > ... > org-refile-targets '((nil :maxlevel . 4) (my-org-opened-buffer-files > :maxlevel . 4) > (org-agenda-files :maxlevel . 4))
You are running `org-refile-get-targets' using idle timer. It means that it may be called in any buffer. At the same time, you have (nil :maxlevel .4) in your `org-refile-targets', instructing Org mode to examine current buffer for refile targets. Since you are on 9.6.15, Org mode should actually barf if `org-refile-targets' is called in non-Org buffer. So, I am a bit puzzled why you are running into errors that seemingly originate from deeper into `org-refile-get-targets' logic (there is a single `looking-at' call in `org-refile-get-targets' and it is after checking major mode). My only guess is that some of your Org buffers is not properly initialized somehow. Maybe the timer is triggering in the middle of Org mode loading or something? -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>