emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Very slow getting tags for completion after 9.7 upgrade
@ 2024-06-06  6:55 Christian Moe
  2024-06-06 15:14 ` Ihor Radchenko
  0 siblings, 1 reply; 5+ messages in thread
From: Christian Moe @ 2024-06-06  6:55 UTC (permalink / raw)
  To: emacs-orgmode

Hi,

After upgrading to 9.7 (still on Emacs 27.1), I'm seeing very long waits
when trying to use tag completion in large files, whether with C-c C-q,
%^g in capture templates or running (org-get-buffer-tags) directly. This
applies both to 9.7.1 and 9.7.2 (on two different machines with similar
environments, both older hardware). On repeated tries I have also had
several freezes.

In my largest file, it takes over four minutes. At ~65K lines and loads
of tags, the file is admittedly badly in need of some pruning and
archiving, but still, before the upgrade, Org handled tag completion
here with maybe a couple of seconds of delay at most, and now it's
basically broken for me.

Anyone else seeing this?

Yours,
Christian


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Very slow getting tags for completion after 9.7 upgrade
  2024-06-06  6:55 Very slow getting tags for completion after 9.7 upgrade Christian Moe
@ 2024-06-06 15:14 ` Ihor Radchenko
  2024-06-07 13:08   ` Christian Moe
  0 siblings, 1 reply; 5+ messages in thread
From: Ihor Radchenko @ 2024-06-06 15:14 UTC (permalink / raw)
  To: Christian Moe; +Cc: emacs-orgmode

Christian Moe <mail@christianmoe.com> writes:

> After upgrading to 9.7 (still on Emacs 27.1), I'm seeing very long waits
> when trying to use tag completion in large files, whether with C-c C-q,
> %^g in capture templates or running (org-get-buffer-tags) directly. This
> applies both to 9.7.1 and 9.7.2 (on two different machines with similar
> environments, both older hardware). On repeated tries I have also had
> several freezes.

May you please record the CPU profile?
You can do
1. M-x profiler-stop
2. M-x profiler-start RET cpu RET
3. Query tags
4. M-x profiler-report
5. M-x profiler-report-write-profile
6. Share the saved file

-- 
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>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Very slow getting tags for completion after 9.7 upgrade
  2024-06-06 15:14 ` Ihor Radchenko
@ 2024-06-07 13:08   ` Christian Moe
  2024-06-07 15:19     ` Ihor Radchenko
  0 siblings, 1 reply; 5+ messages in thread
From: Christian Moe @ 2024-06-07 13:08 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Christian Moe, emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1588 bytes --]


Ihor Radchenko <yantar92@posteo.net> writes:

> Christian Moe <mail@christianmoe.com> writes:
>
>> After upgrading to 9.7 (still on Emacs 27.1), I'm seeing very long waits
>> when trying to use tag completion in large files, whether with C-c C-q,
>> %^g in capture templates or running (org-get-buffer-tags) directly. This
>> applies both to 9.7.1 and 9.7.2 (on two different machines with similar
>> environments, both older hardware). On repeated tries I have also had
>> several freezes.
>
> May you please record the CPU profile?
> You can do
> 1. M-x profiler-stop
> 2. M-x profiler-start RET cpu RET
> 3. Query tags
> 4. M-x profiler-report
> 5. M-x profiler-report-write-profile
> 6. Share the saved file

Thanks! I attach a profile report (for a largeish file with 67 tags
across 1515 headings, 17K+ lines, 18–36 seconds wait to get tags).

I thought for a while that maybe advice from vertico-mode was the
problem, but eliminating vertico-mode from the config didn't help;
still, I also attach a profile report from a run without vertico-mode.

I tried starting emacs with an empty .emacs file; it didn't solve the
problem, so I haven't located any problem in my config. (Starting emacs
with 'emacs -Q' did help - but only because it threw me back to built-in
org 9.3.)

I experimented with generating simulated Org documents with varying
numbers of tagged headings (n=500, 1000, ... 5000) and doing
(benchmark-run (org-get-buffer-tags)) in them. The time needed to get
the tags seems to grow polynomially with n^2.

Yours,
Christian


[-- Attachment #2: gettagsprofile.txt --]
[-- Type: text/plain, Size: 29218 bytes --]


[profiler-profile "24.3" memory #s(hash-table size 97 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([profiler-report-make-buffer-name profiler-report-setup-buffer-1 profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil] 519 [profiler-report-setup-buffer-1 profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil] 1069 [profiler-calltree-build-unified profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute] 4136 ["#<compiled 0x155a8e1555e5>" maphash profiler-calltree-build-unified profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively] 24704 ["#<compiled 0x155a8e1551e5>" maphash profiler-calltree-build-unified profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively] 85968 [apply type-of profiler-calltree-find "#<compiled 0x155a8ae9e2d5>" maphash profiler-calltree-build-unified profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively] 2440 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command] 228 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute] 252 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively] 840 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively] 672 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report] 840 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu] 1092 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window] 11800 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer] 2856 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree] 3192 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree] 2436 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1] 3444 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build] 2688 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages] 2184 [profiler-format-percent "#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk] 324692 ["#<compiled 0x155a8878b53d>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk] 27664 [replace-regexp-in-string profiler-report-header-line-format profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute] 9212 [profiler-format-entry profiler-report-make-entry-part profiler-report-make-name-part profiler-report-line-format profiler-report-insert-calltree mapc profiler-report-insert-calltree-children profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively] 84 [profiler-report-make-name-part profiler-report-line-format profiler-report-insert-calltree mapc profiler-report-insert-calltree-children profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command] 381 [mapc profiler-report-insert-calltree-children profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute] 2076 [profiler-report-move-to-entry profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil] 704 [window--display-buffer display-buffer-use-some-window display-buffer pop-to-buffer switch-to-buffer-other-window profiler-report-profile-other-window profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil] 3018033 [profiler-report-make-buffer-name profiler-report-setup-buffer-1 profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil] 519 [profiler-report-setup-buffer-1 profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil] 1069 ["#<compiled 0x155a88dc3ff9>" maphash profiler-calltree-build-unified profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively] 22056 ["#<compiled 0x155a88e3b00d>" maphash profiler-calltree-build-unified profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively] 188680 [profiler-format-percent "#<compiled 0x155a88e3f331>" profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively command-execute execute-extended-command] 84 [profiler-format-percent "#<compiled 0x155a88e3f331>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively command-execute] 420 [profiler-format-percent "#<compiled 0x155a88e3f331>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively] 840 [profiler-format-percent "#<compiled 0x155a88e3f331>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively] 924 [profiler-format-percent "#<compiled 0x155a88e3f331>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report] 1008 [profiler-format-percent "#<compiled 0x155a88e3f331>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory] 1680 ["#<compiled 0x155a88e3f331>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer] 1064 ["#<compiled 0x155a88e3f331>" profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-walk profiler-calltree-compute-percentages profiler-calltree-build profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory] 1064 [profiler-report-make-name-part profiler-report-line-format profiler-report-insert-calltree mapc profiler-report-insert-calltree-children profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively command-execute execute-extended-command] 635 [mapc profiler-report-insert-calltree-children profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute] 2076 [profiler-format-entry profiler-report-make-entry-part profiler-report-make-name-part profiler-report-line-format profiler-report-insert-calltree mapc profiler-report-insert-calltree-children profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively] 84 [profiler-format-number profiler-format apply profiler-format profiler-report-line-format profiler-report-insert-calltree mapc profiler-report-insert-calltree-children profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively] 8188 [profiler-report-move-to-entry profiler-report-render-calltree-1 profiler-report-rerender-calltree profiler-report-render-calltree profiler-report-setup-buffer profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil] 704 [apply error window-resize display-buffer-use-some-window display-buffer pop-to-buffer switch-to-buffer-other-window profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively] 1463 [window--display-buffer display-buffer-use-some-window display-buffer pop-to-buffer switch-to-buffer-other-window profiler-report-profile-other-window profiler-report-memory profiler-report funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil] 4044465 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 360 [menu-bar-update-buffers-1 menu-bar-update-buffers redisplay_internal\ \(C\ function\) redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 1344 [redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 86430 [image-search-load-path find-image eval "#<compiled 0x1fefa410dfa5>" mapcar tool-bar-make-keymap-1 tool-bar-make-keymap redisplay_internal\ \(C\ function\) redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil] 930 ["#<compiled 0x1fefa40b6457>" apply gui-backend-selection-exists-p "#<compiled 0x1fefa40ee46b>" funcall redisplay_internal\ \(C\ function\) redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil] 464 [execute-extended-command--shorter-1 execute-extended-command--shorter-1 execute-extended-command--shorter execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 1152 [completion-pcm--all-completions completion-pcm--find-all-completions completion-pcm-try-completion "#<compiled 0x155a89141771>" completion--some completion--nth-completion completion-try-completion execute-extended-command--shorter execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil] 20224 [completion-pcm--merge-completions completion-pcm--merge-try completion-pcm-try-completion "#<compiled 0x155a89141771>" completion--some completion--nth-completion completion-try-completion execute-extended-command--shorter execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil] 177602 ["#<compiled 0x155a88e499a5>" mapcar execute-extended-command--shorter-1 execute-extended-command--shorter-1 execute-extended-command--shorter-1 execute-extended-command--shorter execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 8188 ["#<compiled 0x155a89145f31>" mapcar execute-extended-command--shorter-1 execute-extended-command--shorter-1 execute-extended-command--shorter-1 execute-extended-command--shorter-1 execute-extended-command--shorter execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil] 8188 [completion-pcm--pattern->regex completion-pcm--all-completions completion-pcm--find-all-completions completion-pcm-try-completion "#<compiled 0x155a882d10d5>" completion--some completion--nth-completion completion-try-completion execute-extended-command--shorter execute-extended-command funcall-interactively call-interactively command-execute nil nil nil] 8188 [execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil] 74358 ["#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil] 25579 [vertico--update vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil] 6672 [complete-with-action "#<compiled 0x1fefa40d7af7>" all-completions completion-pcm--all-completions completion-basic-all-completions "#<compiled 0x155a8939e01d>" completion--some completion--nth-completion completion-all-completions apply vertico--all-completions vertico--recompute vertico--update vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>"] 1024 [vertico--prompt-selection vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil] 1760 [vertico--format-count vertico--display-count vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil] 49976 [seq-subseq vertico--arrange-candidates vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil] 67220 [string-search vertico--arrange-candidates vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil] 1024 [vertico--resize-window vertico--display-candidates vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil] 949248 [window--resize-mini-window window-resize vertico--resize-window vertico--display-candidates vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute] 945 [read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil] 164242 [image-search-load-path find-image eval "#<compiled 0x1fefa410dfa5>" mapcar tool-bar-make-keymap-1 tool-bar-make-keymap redisplay_internal\ \(C\ function\) read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command] 930 [call-interactively command-execute read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil] 352 ["#<compiled 0x1fefa40d7c25>" self-insert-command funcall-interactively call-interactively command-execute read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute] 2408 [redisplay vertico--update vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil] 13178 ["#<compiled 0x155a8b2279f5>" mapcar completion-hilit-commonality "#<compiled 0x155a896911f5>" vertico--arrange-candidates vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively] 4192 [vertico--arrange-candidates vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil] 3144 [apply vertico--display-candidates vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil] 8188 [completion-basic-all-completions "#<compiled 0x155a8c8998f5>" completion--some completion--nth-completion completion-all-completions apply vertico--all-completions vertico--recompute vertico--update vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default] 1048 [command-execute read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil] 1048 [completion-pcm--string->pattern completion-pcm--find-all-completions completion-pcm-all-completions "#<compiled 0x155a89757155>" completion--some completion--nth-completion completion-all-completions apply vertico--all-completions vertico--recompute vertico--update vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice] 1048 [vertico--recompute vertico--update vertico--exhibit read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil] 1048 [timer--time-setter timer-set-time run-at-time undo-auto--boundary-ensure-timer undo-auto--undoable-change self-insert-command funcall-interactively call-interactively command-execute read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read] 72 [timer--time-less-p timer--activate timer-activate run-at-time undo-auto--boundary-ensure-timer undo-auto--undoable-change self-insert-command funcall-interactively call-interactively command-execute read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default] 48 [vertico--update vertico--prepare read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil] 160 [delete-minibuffer-contents vertico-insert vertico-exit funcall-interactively call-interactively command-execute read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively] 80 [vertico-exit funcall-interactively call-interactively command-execute read-from-minibuffer "#<compiled 0x1fefa40caa83>" apply vertico--advice apply completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil] 80 [call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 16 [profiler-stop funcall-interactively call-interactively command-execute execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 3736824)) (26210 59343 527845 598000) nil]

[-- Attachment #3: gettagsprofile-no-vertico.txt --]
[-- Type: text/plain, Size: 74770 bytes --]


[profiler-profile "24.3" cpu #s(hash-table size 487 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([redisplay sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 6 [sit-for execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 4 [and while save-restriction save-excursion save-excursion let let org-element--get-category let* if let save-restriction save-excursion save-current-buffer org-element--get-global-node-properties apply] 9 [or let let org-element-property-raw setq if while let progn if let org-element--property "#<compiled 0x1586947ace01>" funcall cons setq] 4 [< and or if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 8 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if] 12 [setcdr if if while let let progn if org-element-create let* save-excursion org-element-section-parser cond setq let save-excursion] 8 [if save-excursion let* save-excursion org-element-headline-parser cond setq let save-excursion org-element--current-element setq if if while let let*] 23 [or if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn] 4 [let org-element--next-mode setq while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if if] 4 [and and let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer] 16 [looking-at-p and cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer] 12 [if if org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if] 4 [let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 8 [let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 4 [let org-element-end or let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn progn if] 8 [if let* let and let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction] 4 [car eq if if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter] 16 [and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer org-element--cache-put or] 4 [let* let* aset while let if let let progn if org-element-create let* save-excursion org-element-headline-parser cond setq] 16 [not cond org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 4 [cond let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or] 4 [let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or] 16 [not or and cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 16 [if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 16 [cond org-element-type let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 28 [car if if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter] 4 [not and or if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 4 [let let progn if org-element-create let* save-excursion org-element-section-parser cond setq let save-excursion org-element--current-element setq if if] 4 [org-element-type let* and and let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction] 4 [cond let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 8 [if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 12 [cond org-element-type let* or let if progn if save-current-buffer org-element--cache-put or setq if if while let] 4 [cond let cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer] 8 [org-element-type let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not or and if while] 4 [cdr car if if let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter] 12 [let* if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 4 [cond org-element-type let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 4 [if let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 4 [let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if] 4 [let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 20 [if let* if let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 16 [if let* if let* let org-element-contents-end setq progn if let cond let while let let* save-restriction] 8 [if if org-element--cache-key-less-p not or and if while if let* save-restriction save-excursion let progn if progn] 4 [org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn] 8 [org-element-type let* let* aset while let if let let progn if org-element-create let* save-excursion org-element-headline-parser cond] 4 [org-element-type let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 20 [let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 4 [let* let* aset while let if let let progn if org-element-create let* save-excursion org-element-paragraph-parser cond let] 3 [let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer org-element--cache-put or] 8 [if if let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 20 [or if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 20 [if if let* and and let* let org-element-end let while let let* save-restriction save-excursion save-current-buffer catch] 8 [if let* if let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion] 12 [or let if progn if let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 8 [cond org-element-type let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction save-excursion let] 8 [org-get-limited-outline-regexp re-search-forward if let* save-excursion org-element-section-parser cond setq let save-excursion org-element--current-element setq if if while let] 12 [let* if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 16 [cond org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq] 8 [while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if if if while if let*] 4 [let* if let* let org-element-end <= and while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 12 [apply org-element--deferred-resolve-once setq while let org-element--deferred-resolve let* catch while let progn if let org-element--property "#<compiled 0x1586947ace01>" funcall] 4 [cdr car if if let* and and let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find] 4 [car if if let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter] 16 [org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 4 [cond org-element-type let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 16 [save-excursion save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if if if while if let* save-restriction save-excursion] 8 [cond org-element-type let* if let* let let org-element-property-raw let org-element--property "#<compiled 0x1586947ace01>" funcall cons setq if progn] 8 [if let* if let* let let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if if] 4 [let* if let* let org-element-begin < and or if if while if let* save-restriction save-excursion let] 8 [cond let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 8 [and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 8 [org-element--property-idx and not if while let let progn if org-element-create let* save-excursion org-element-headline-parser cond setq let] 12 [progn if let if progn if let save-excursion org-element--current-element setq if if while let let* save-restriction] 4 [and and let* let org-element-end or let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if] 4 [let* if let* let org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 4 [let org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq] 12 [setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if if if] 4 [let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 8 [eq if if let* and and let* let org-element--next-mode setq while let cond let* save-restriction save-excursion] 4 [let org-element-property-raw let org-element--property org-element-parent setq while catch progn setq progn if progn if if if] 4 [or progn aref progn progn org-element--cache-root let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 4 [looking-at let and let* save-restriction save-excursion save-excursion let save-current-buffer org-element--headline-parse-title apply org-element--deferred-resolve-once setq while let org-element--deferred-resolve] 4 [org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 4 [let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not or and if while if] 20 [if let* if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p and or and if setq if] 4 [aset while let if let let progn if org-element-create let* save-excursion org-element-paragraph-parser cond let cond setq] 4 [if let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or] 4 [cond let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 8 [let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction save-excursion let progn if] 12 [if let* if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 16 [let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if] 3 [let* if let* let org-element-contents-begin let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 4 [not cond org-element-type let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter] 4 [org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer org-element--cache-put or] 8 [if if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p and or and if] 4 [let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 20 [while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 8 [let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 8 [org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction save-excursion let progn] 8 [if let* and and let* let org-element-contents-end let cond let while let let* save-restriction save-excursion save-current-buffer] 4 [while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if if] 4 [if let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 8 [let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 12 [let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 36 [if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map org-get-buffer-tags org-set-tags-command funcall-interactively call-interactively] 4 [or if let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not or and if] 4 [org-element-begin let* or org-element--cache-key org-element--cache-key-less-p and or and if setq if if while if let* save-restriction] 4 [org-element-begin = and if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn] 4 [if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 16 [let* if let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 8 [org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 4 [org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 4 [or set-buffer save-current-buffer setq progn if if if while if let* save-restriction save-excursion let progn if] 4 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer org-element--cache-put or] 8 [car if if let* and and let* let org-element-begin = and if let* save-current-buffer org-element--cache-find and] 4 [let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 16 [cond org-element-type let* let* aset while let if let let progn if org-element-create let* save-excursion org-element-headline-parser] 12 [not if while let let progn if org-element-create let* save-excursion org-element-section-parser cond setq let save-excursion org-element--current-element] 4 [avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq] 8 [car if if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter] 8 [not cond org-element-type let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter] 4 [and let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction save-excursion let progn] 4 [and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 4 [org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 4 [if or if progn unwind-protect let progn if save-excursion progn if progn if if if while] 4 [let* if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not and or if if while if] 4 [org-element-begin = or if if if while if let* save-restriction save-excursion let progn if progn let*] 4 [let if org-element-at-point progn if if if if while if let* save-restriction save-excursion let progn if] 4 [cond org-element-type let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn] 4 [let org-element-property-raw let org-element--property "#<compiled 0x1586947ace01>" funcall cons setq if progn if progn if progn if if] 4 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 16 [let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq] 4 [not cond org-element-type let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter] 8 [let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or] 8 [org-element-type let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 12 [and while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn progn if] 4 [let* if if if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 4 [if if let save-restriction save-excursion save-excursion let if org-element-at-point progn if if if if while if] 4 [and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if] 8 [avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer org-element--cache-put] 4 [let let org-element-property-raw setq if while let progn if let org-element--property "#<compiled 0x1586947ace01>" funcall cons setq if] 4 [aset while let if let let progn if org-element-create let* save-excursion org-element-headline-parser cond setq let save-excursion] 8 [if if let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not or and if] 4 [progn if let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if] 4 [car eq if if let* and and let* let setq while let cond let* save-restriction save-excursion] 4 [org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 8 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if] 12 [let* if let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 4 [and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn] 8 [if if let* and and let* let org-element-contents-end eq if catch progn setq progn if progn] 8 [let* and and let* let org-element-contents-end setq progn if let cond let while let let* save-restriction] 4 [let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer] 4 [if if let* and and let* let org-element-begin eq or and if progn if if if] 4 [eq if progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction save-excursion save-current-buffer] 4 [if let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 4 [org-element--property-idx let org-element-property-raw let org-element--property org-element-parent setq while catch progn setq progn if progn if if] 4 [not cond org-element-type let* let* aset while let if let let progn if org-element-create let* save-excursion] 4 [if let* if let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 4 [and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let*] 8 [cond let* let* aset while let if let let progn if org-element-create let* save-excursion org-element-paragraph-parser cond] 8 [while let let progn if org-element-create let* save-excursion org-element-headline-parser cond setq let save-excursion org-element--current-element setq if] 8 [if let* if let* let and let* or org-element--cache-key org-element--cache-key-less-p not or and if while if] 8 [let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 4 [let* and and let* let org-element-end setq while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 4 [and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 16 [and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 4 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 4 [car eq if if let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter] 8 [let* and and let* let org-element--next-mode setq while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 4 [eq or if let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter] 12 [let* and and let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion] 12 [and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 4 [org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 4 [let* if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 4 [cons setq if progn if progn if progn if if if while if let* save-restriction save-excursion] 4 [if org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer] 4 [org-element-type let* and and let* let org-element-begin < and or if if while if let* save-restriction] 4 [memq cond let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 4 [and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 12 [org-element-type let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p not or and if while] 4 [org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 4 [let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 4 [org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 8 [if let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch] 12 [cond let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if] 4 [cdr car if if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p not or] 4 [and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or] 12 [let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 20 [save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if] 4 [if setq if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map org-get-buffer-tags] 8 [if setq progn if let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq] 4 [cond org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 4 [not cond org-element-type let* and and let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find and] 4 [not cond org-element-type let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not or and] 4 [while let let progn if org-element-create let* save-excursion org-element-planning-parser cond setq let save-excursion org-element--current-element setq if] 4 [< and or if if progn unwind-protect let progn if save-excursion progn if progn if if] 4 [org-knuth-hash mod if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 4 [or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction save-excursion let progn if progn] 8 [let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 16 [save-excursion if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn progn] 4 [avl-tree-enter progn if progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction save-excursion] 4 [cond org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 4 [progn and if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map org-get-buffer-tags org-set-tags-command] 4 [progn if progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction save-excursion save-current-buffer] 4 [looking-at-p if org-element-timestamp-parser let while let* save-excursion org-element-planning-parser cond setq let save-excursion org-element--current-element setq if if] 8 [org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 4 [org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction save-excursion let progn if progn let*] 4 [re-search-forward if let* save-restriction save-excursion save-excursion let save-current-buffer org-element--headline-parse-title apply org-element--deferred-resolve-once setq while let org-element--deferred-resolve let*] 4 [let if let* progn if let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 4 [eq cond let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 8 [let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction save-excursion save-excursion let if org-element-at-point] 4 [let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 12 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if while let] 4 [and and let* let org-element-begin = or if if if while if let* save-restriction save-excursion let] 8 [cond let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer org-element--cache-put] 4 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 4 [org-element--property-idx and not if while let let progn if org-element-create let* save-excursion org-element-section-parser cond setq let] 4 [let* let* aset while let if let let progn if org-element-create let* save-excursion progn if org-element-timestamp-parser] 4 [let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 4 [org-element-create let* save-excursion org-element-headline-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction] 4 [and while let if org-element--collect-affiliated-keywords let cond setq let save-excursion org-element--current-element setq if if while let] 4 [let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 20 [let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 4 [eq if if let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter] 8 [avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction] 4 [let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p not or and if while if] 4 [save-restriction save-excursion save-excursion let save-current-buffer org-element--headline-parse-title apply org-element--deferred-resolve-once setq while let org-element--deferred-resolve let* catch while let] 4 [if org-element-create let* save-excursion org-element-section-parser cond setq let save-excursion org-element--current-element setq if if while let let*] 4 [org-element--property-idx and not if while let let progn if org-element-create let let save-excursion org-element-property-drawer-parser cond setq] 4 [let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 8 [let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 8 [let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 8 [cdr setq while let if let let progn if org-element-create let* save-excursion org-element-section-parser cond setq let] 4 [let org-element-contents-begin let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if] 4 [org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if] 4 [cond org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 4 [let* aset while let if let let progn if org-element-create let* save-excursion org-element-section-parser cond setq let] 8 [and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 8 [and not cond not while let let* save-excursion org-element-paragraph-parser cond let cond setq let save-excursion org-element--current-element] 4 [and not if while let let progn if org-element-create let* save-excursion org-element-headline-parser cond setq let save-excursion] 12 [let* if let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 4 [cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 4 [if let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 12 [<= and while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if if if] 4 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn] 8 [org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 4 [and and let* let and let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let*] 4 [or if progn if progn if if if while if let* save-restriction save-excursion let progn if] 4 [and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 4 [if if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 12 [let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if] 4 [eq if let* if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 4 [let* let* aset while let if let let progn if org-element-create let* save-excursion org-element-section-parser cond setq] 12 [cond org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 4 [cond org-element-type memq if progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction] 4 [if let* if let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 24 [let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or] 4 [let progn if org-element-create let* save-excursion org-element-headline-parser cond setq let save-excursion org-element--current-element setq if if while] 4 [cond let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 12 [if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction] 4 [let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if while] 4 [cond org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 8 [symbolp cond org-element-type let* and and let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find and] 4 [and let* save-excursion progn if org-element-timestamp-parser let while let* save-excursion org-element-planning-parser cond setq let save-excursion org-element--current-element] 4 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or] 16 [symbolp cond org-element-type let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p not or and] 4 [cond org-element-type let* and and let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find and let*] 8 [let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 4 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if] 4 [and and let* let org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn] 4 [setq progn if progn progn if progn if progn if if if while if let* save-restriction] 4 [let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if] 4 [if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 4 [org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn] 4 [and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 4 [let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 8 [org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer org-element--cache-put or setq] 4 [if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map org-get-buffer-tags org-set-tags-command funcall-interactively] 8 [save-excursion save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn progn if progn if progn if] 4 [and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 4 [cond let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 4 [let* let org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn] 4 [if let* and and let* let org-element--next-mode setq while let cond let* save-restriction save-excursion save-current-buffer catch] 4 [seq-drop setcdr if if while let let progn if org-element-create let* save-excursion org-element-headline-parser cond setq let] 8 [if let* if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter] 4 [cond org-element-type let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p not or and if] 8 [if let* if let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 8 [let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 4 [apply if cond org-element-create let* save-excursion org-element-section-parser cond setq let save-excursion org-element--current-element setq if if while] 4 [let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer] 4 [if let* let org-element-end or let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 4 [if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if if if] 8 [org-element--cache-key-less-p not or and if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 12 [cond let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn] 4 [org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer org-element--cache-put or setq if if] 4 [progn progn if if setq if if while if let* save-restriction save-excursion let progn if progn] 4 [and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or] 4 [org-element--cache-root let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if if if] 4 [cond let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer] 4 [and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 8 [save-current-buffer progn org-element-begin or max setq if if if progn unwind-protect let let if progn if] 4 [progn progn setq while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map org-get-buffer-tags org-set-tags-command] 4 [symbolp cond org-element-type let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter] 8 [eq if progn if let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer] 4 [let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 4 [let* or org-element--cache-key org-element--cache-key-less-p not and or if if while if let* save-restriction save-excursion let progn] 4 [org-element-end or let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction save-excursion save-excursion] 4 [or cond let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq] 8 [cdr car if if let* and and let* let org-element-end <= and while let cond let*] 4 [car if if let* or let if let* progn if let save-excursion org-element--current-element setq if if] 4 [if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if] 4 [while catch progn setq progn if progn if if if while if let* save-restriction save-excursion let] 4 [let save-excursion org-element-property-drawer-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 4 [let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or max setq if if] 4 [cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction save-excursion save-excursion let if] 4 [while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn progn if progn if] 4 [or if let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 4 [if let* and and let* let org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 4 [org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction] 4 [cond org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if] 4 [let* aset while let if let let progn if org-element-create let let save-excursion org-element-property-drawer-parser cond setq] 4 [let* let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if if if while if let*] 4 [or if let org-element--cache-verify-element and if let save-restriction save-excursion save-excursion let if org-element-at-point progn if if] 4 [and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if] 8 [let* let* aset while let if let let progn if org-element-create let let save-excursion org-element-property-drawer-parser cond] 4 [org-element-type let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction save-excursion let progn] 4 [and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 4 [let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 4 [let and let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction save-excursion let] 4 [eq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn progn] 4 [car if if let* and and let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find and] 4 [eq if let* if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 4 [match-string-no-properties let progn cons setq let cond while catch save-excursion let org-element--list-struct or org-element-plain-list-parser cond let] 4 [org-element-contents-end setq progn if let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq] 4 [if let* and and let* let org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction] 8 [org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if] 12 [let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put] 4 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter] 4 [and cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 4 [let* let* save-restriction save-excursion save-excursion let save-current-buffer org-element--headline-parse-title apply org-element--deferred-resolve-once setq while let org-element--deferred-resolve let* catch] 4 [cond let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if] 4 [org-element-type let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if] 4 [if org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq] 4 [let* let org-element-begin < and or if if while if let* save-restriction save-excursion let progn if] 4 [or set-buffer save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn progn] 4 [org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 4 [cond org-element-type let* and and let* let let org-element-property-raw let org-element--property org-element-parent setq while progn if] 4 [let* if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn] 4 [let* and and let* let org-element-end <= and while let cond let* save-restriction save-excursion save-current-buffer catch] 4 [eq if if let* and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter] 4 [car if if let* and and let* let org-element-end setq while let cond let* save-restriction save-excursion] 4 [if let if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if if] 4 [plist-put setcar cond let* if let let* save-restriction save-excursion save-excursion let save-current-buffer org-element--headline-parse-title apply org-element--deferred-resolve-once setq] 4 [if let* let org-element-contents-end eq if catch progn setq progn if progn if if if while] 4 [and or and if let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq] 4 [car eq if if let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p and or] 4 [car eq if if let* and and let* let let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 4 [cond org-element-type let* and and let* let org-element-end <= and while let cond let* save-restriction save-excursion] 4 [let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn progn if progn if progn if] 4 [progn progn org-element-begin < and or and if setq if if while if let* save-restriction save-excursion] 4 [and and let* let let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 4 [org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or] 4 [if if org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if while] 4 [or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if while] 4 [let and let* save-restriction save-excursion save-excursion let save-current-buffer org-element--headline-parse-title apply org-element--deferred-resolve-once setq while let org-element--deferred-resolve let*] 4 [progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 4 [if let* save-restriction save-excursion let progn if progn let* org-element-cache-map org-get-buffer-tags org-set-tags-command funcall-interactively call-interactively command-execute nil] 4 [if let org-element--cache-verify-element and if let save-restriction save-excursion save-excursion let if org-element-at-point progn if if if] 4 [if let* save-excursion org-element-section-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction] 4 [cl--old-struct-type-of apply type-of seq-drop setcdr if if while let let progn if org-element-create let* save-excursion org-element-headline-parser] 4 [let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn progn if progn] 8 [let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer] 4 [cond if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn] 4 [org-element-type let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer org-element--cache-put or setq] 4 [org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer org-element--cache-put or] 4 [org-element--cache-compare avl-tree--do-enter avl-tree-enter progn if progn if save-current-buffer org-element--cache-put or setq if if while let let*] 4 [if let* save-restriction save-excursion save-excursion let save-current-buffer org-element--headline-parse-title apply org-element--deferred-resolve-once setq while let org-element--deferred-resolve let* catch] 4 [save-excursion org-element-headline-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer] 4 [cond org-element-type let* and and let* let org-element-begin eq or and if progn if if if] 4 [org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not and or if if while if let* save-restriction save-excursion let] 4 [if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 4 [plist-member with-no-warnings if progn if or cond let* if let* let let org-element-property-raw setq if while] 4 [if if let* and and let* let org-element-end <= and while let cond let* save-restriction save-excursion] 4 [and progn or progn apply org-element--deferred-resolve-once setq while let org-element--deferred-resolve let* catch while let progn if] 4 [progn if org-element--cache-sync if if progn if let save-restriction save-excursion save-excursion let if org-element-at-point progn if] 4 [and and let* let and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer] 4 [and and let* let org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 4 [cond org-element-type let* and and let* let let org-element-property-raw let org-element--property org-element-parent setq while catch progn] 4 [set-buffer save-current-buffer org-element--cache-active-p and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or] 4 [org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or] 4 [avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 4 [and let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if progn if] 4 [if if let* and and let* let setq while let cond let* save-restriction save-excursion save-current-buffer catch] 4 [cond org-element-type let* and and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree-enter progn] 4 [= or if if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 4 [and let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction] 4 [and if cond org-element-create let* save-excursion org-element-paragraph-parser cond let cond setq let save-excursion org-element--current-element setq if] 4 [if let* let org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if] 4 [if let* if let* let org-element-begin let* or org-element--cache-key org-element--cache-key-less-p org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn] 4 [let if let let progn if org-element-create let* save-excursion org-element-headline-parser cond setq let save-excursion org-element--current-element setq] 4 [if let* let setq while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to let* if if] 4 [avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction save-excursion] 4 [org-element--cache-compare avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree--do-enter avl-tree-enter progn if save-current-buffer org-element--cache-put or] 4 [or and if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map org-get-buffer-tags org-set-tags-command] 4 [completing-read-multiple org-set-tags-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 24 [read-from-minibuffer completing-read-multiple org-set-tags-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 12 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 19 [timer-set-time run-at-time apply run-with-timer blink-cursor--start-timer blink-cursor-start apply timer-event-handler nil nil nil nil nil nil nil nil] 4 [completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 3 [read-from-minibuffer completing-read-default completing-read read-extended-command byte-code call-interactively command-execute nil nil nil nil nil nil nil nil nil] 36 [complete-with-action "#<compiled 0x1fe2fa6706f7>" try-completion completion-basic-try-completion "#<compiled 0x15869300a949>" completion--some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled 0x1fe2fa651d2f>" apply "#<compiled 0x158692f5e839>" completion--in-region completion-in-region minibuffer-complete] 20 [redisplay sit-for minibuffer-message completion--message completion--done completion--do-completion completion--in-region-1 "#<compiled 0x1fe2fa651d2f>" apply "#<compiled 0x158692f5e839>" completion--in-region completion-in-region minibuffer-complete funcall-interactively call-interactively command-execute] 4 [execute-extended-command funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil] 2 [Automatic\ GC] 8557)) (26211 922 43398 664000) nil]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Very slow getting tags for completion after 9.7 upgrade
  2024-06-07 13:08   ` Christian Moe
@ 2024-06-07 15:19     ` Ihor Radchenko
  2024-06-07 18:02       ` Christian Moe
  0 siblings, 1 reply; 5+ messages in thread
From: Ihor Radchenko @ 2024-06-07 15:19 UTC (permalink / raw)
  To: Christian Moe; +Cc: emacs-orgmode

Christian Moe <mail@christianmoe.com> writes:

> Thanks! I attach a profile report (for a largeish file with 67 tags
> across 1515 headings, 17K+ lines, 18–36 seconds wait to get tags).
>
> ...
> I tried starting emacs with an empty .emacs file; it didn't solve the
> problem, so I haven't located any problem in my config. (Starting emacs
> with 'emacs -Q' did help - but only because it threw me back to built-in
> org 9.3.)
>
> I experimented with generating simulated Org documents with varying
> numbers of tagged headings (n=500, 1000, ... 5000) and doing
> (benchmark-run (org-get-buffer-tags)) in them. The time needed to get
> the tags seems to grow polynomially with n^2.

The underlying also is NLogN, not N^2. And it cannot be avl-tree that
shows up in the profile - avl-tree code is built-in and it is
well-tested, with NLogN worst case complexity.

What is fishy is that GC takes 80% of the time. It is not normal.

May you try to clear ELPA directory completely, start emacs -Q, and
install Org mode? Just to make sure that there are no issues with mixed
compilation.

-- 
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>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Very slow getting tags for completion after 9.7 upgrade
  2024-06-07 15:19     ` Ihor Radchenko
@ 2024-06-07 18:02       ` Christian Moe
  0 siblings, 0 replies; 5+ messages in thread
From: Christian Moe @ 2024-06-07 18:02 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: Christian Moe, emacs-orgmode


Ihor Radchenko <yantar92@posteo.net> writes:

> Christian Moe <mail@christianmoe.com> writes:
>
>> Thanks! I attach a profile report (for a largeish file with 67 tags
>> across 1515 headings, 17K+ lines, 18–36 seconds wait to get tags).
>>
>> ...
>> I tried starting emacs with an empty .emacs file; it didn't solve the
>> problem, so I haven't located any problem in my config. (Starting emacs
>> with 'emacs -Q' did help - but only because it threw me back to built-in
>> org 9.3.)
>>
>> I experimented with generating simulated Org documents with varying
>> numbers of tagged headings (n=500, 1000, ... 5000) and doing
>> (benchmark-run (org-get-buffer-tags)) in them. The time needed to get
>> the tags seems to grow polynomially with n^2.
>
> The underlying also is NLogN, not N^2. And it cannot be avl-tree that
> shows up in the profile - avl-tree code is built-in and it is
> well-tested, with NLogN worst case complexity.
>
> What is fishy is that GC takes 80% of the time. It is not normal.
>
> May you try to clear ELPA directory completely, start emacs -Q, and
> install Org mode? Just to make sure that there are no issues with mixed
> compilation.

Looks like that did the trick! Even in the monster file, I'm now down to
1.6 seconds, which is absolutely fair given the size of the file.

Thanks for the advice!

Yours,
Christian


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-06-07 23:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-06  6:55 Very slow getting tags for completion after 9.7 upgrade Christian Moe
2024-06-06 15:14 ` Ihor Radchenko
2024-06-07 13:08   ` Christian Moe
2024-06-07 15:19     ` Ihor Radchenko
2024-06-07 18:02       ` Christian Moe

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).