* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
@ 2023-09-20 8:53 Ihor Radchenko
2023-09-22 1:36 ` Dmitry Gutov
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-09-20 8:53 UTC (permalink / raw)
To: 66117; +Cc: dmitry gutov
[-- Attachment #1: Type: text/plain, Size: 1353 bytes --]
X-Debbugs-CC: Dmitry Gutov <dmitry@gutov.dev>
Hello,
Background: Some Org users (especially org-roam users) often complain
that Org agenda is very slow (sometimes, tens of seconds or minutes)
when running it right after startup. The cause is often not Org agenda
itself, but Emacs opening files slowly.
In some cases, the main reason files are opened slowly is user-defined
hooks or various packages adding advices mindlessly. However, Emacs
itself is also taking a significant fraction of time when opening a
large number of buffers.
I have recently got data on opening a large number of Org files in
Emacs that clearly demonstrates that `file-buffer-visiting' (and thus
`find-file') scale poorly when the number of buffers increases. This is
especially clear when Org mode needs to open several hundreds of
not-yet-opened Org files in a new Emacs session.
In the attached profile, ~500 Org buffers are being opened and calls to
`find-buffer-visiting' take 12.4 sec out of total 30.9 sec - 1/3 of all
the execution time. After replacing some of the calls to
`find-buffer-visiting' with `get-file-buffer', the total execution time
decreased to ~20 sec, confirming that `find-buffer-visiting' is
contributing significantly to slow performance.
Would it be possible to implement some kind of caching mechanism to be
used by `find-buffer-visiting'?
[-- Attachment #2: org_agenda_profile_2 --]
[-- Type: application/octet-stream, Size: 477099 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 3694 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([syntax-ppss +emacs-lisp-highlight-vars-and-faces font-lock-fontify-keywords-region font-lock-default-fontify-region font-lock-fontify-region "#<compiled -0x1547d47eb7a70483>" jit-lock--run-functions jit-lock-fontify-now jit-lock-function redisplay_internal\ \(C\ function\) nil nil nil nil nil nil] 5 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 1109 ["#<compiled 0xfc390f5b345f153>" funcall if setq while let locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs funcall breadcrumb--header-line eval redisplay_internal\ \(C\ function\)] 910 [not and if let while let let* progn if dir-locals--all-files let or if if let* dir-locals-find-file] 2 [show-paren--default show-paren-function apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 1 [project-projectile project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs funcall breadcrumb--header-line eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil] 1 [file-name-directory setq equal cond while let locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs funcall breadcrumb--header-line eval redisplay_internal\ \(C\ function\)] 2 [forward-sexp elisp--beginning-of-sexp elisp--fnsym-in-current-sexp elisp-eldoc-funcall eldoc-documentation-default eldoc--invoke-strategy eldoc-print-current-symbol-info "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>" apply timer-event-handler nil nil nil nil nil nil] 2 [syntax-ppss scan-sexps forward-sexp elisp--beginning-of-sexp elisp--fnsym-in-current-sexp elisp-eldoc-funcall eldoc-documentation-default eldoc--invoke-strategy eldoc-print-current-symbol-info "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>" apply timer-event-handler nil nil nil nil] 1 [progn if let* progn if dir-locals--all-files let or if if let* dir-locals-find-file let progn if hack-dir-local--get-variables] 1 [project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs funcall breadcrumb--header-line eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil] 2 [general-unbind-non-prefix-key apply define-key breadcrumb--format-project-node breadcrumb--project-crumbs-1 breadcrumb-project-crumbs funcall breadcrumb--header-line eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil] 1 [eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 1 [setq progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs funcall breadcrumb--header-line eval redisplay_internal\ \(C\ function\) nil nil nil nil nil] 2 [file-attribute-modification-time let let while let let time-equal-p and let or if if let* dir-locals-find-file let progn] 1 [breadcrumb-imenu-crumbs funcall breadcrumb--header-line eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil] 1 [which-key--key-description< "#<compiled 0x1f5dae9b19c1f5eb>" which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil nil nil] 3 [which-key--extract-key which-key--key-description< "#<compiled 0x1f5dae9b19c1f5eb>" which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil nil] 1 [which-key--format-and-replace which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil nil nil nil] 1 [which-key--replace-in-repl-list-once which-key--maybe-replace which-key--format-and-replace which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil nil] 254 [which-key--propertize-description which-key--format-and-replace which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil nil nil] 6 [which-key--maybe-add-docstring which-key--format-and-replace which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil nil nil] 4 ["#<compiled -0x1ddf113b7d1423bf>" substitute-command-keys which-key--propertize-description which-key--format-and-replace which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil] 2 ["#<compiled 0x11af2921c1ab3bff>" cl-reduce which-key--pad-column "#<compiled -0x142f45536d22208e>" which-key--list-to-pages which-key--create-pages-1 which-key--create-pages which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil] 1 ["#<lambda 0x1e10ba4af4041cd>" window--display-buffer window--make-major-side-window and let* progn unwind-protect let* cond let* let* +popup-display-buffer-stacked-side-window-fn display-buffer-in-side-window which-key--show-buffer-side-window progn progn] 1 [eval format-mode-line doom-modeline-format--main eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil] 2 [breadcrumb--project-crumbs-1 breadcrumb-project-crumbs funcall breadcrumb--header-line eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil] 1 [funcall if setq while let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks apply run-mode-hooks fundamental-mode] 1 [progn progn while progn while progn unwind-protect let let* catch "#<lambda -0x1d2ee061f39ec78f>" apply progn unwind-protect let* progn] 1 [read-char-exclusive setq progn progn while progn while progn unwind-protect let let* catch "#<lambda -0x1d2ee061f39ec78f>" apply progn unwind-protect] 6 [setq progn progn while progn while progn unwind-protect let let* catch "#<lambda -0x1d2ee061f39ec78f>" apply progn unwind-protect let*] 23 [unwind-protect let let* catch "#<lambda -0x1d2ee061f39ec78f>" apply progn unwind-protect let* progn unwind-protect let* if +popup--suppress-delete-other-windows-a apply org-agenda-get-restriction-and-command] 1 [if "#<lambda 0x2809c34804ac1a6>" mapcar apply setq let org-agenda-files mapcar append easy-menu-change org-agenda-mode if if let org-agenda-prepare catch] 7 [and "#<lambda 0x1e10ba8b9bd7ff>" mapcar delq setq progn if let org-agenda-files mapcar append easy-menu-change org-agenda-mode if if let] 4 [easy-menu-create-menu easy-menu-change org-agenda-mode if if let org-agenda-prepare catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively] 1 [if "#<lambda 0x2809c34804ac1a6>" mapcar apply setq let org-agenda-files org-agenda-prepare-buffers if if let org-agenda-prepare catch org-agenda-list funcall-interactively call-interactively] 5 [and "#<lambda 0x1e10ba8b9bd7ff>" mapcar delq setq progn if let org-agenda-files org-agenda-prepare-buffers if if let org-agenda-prepare catch org-agenda-list] 4 [let if let* progn unwind-protect let abbreviate-file-name let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq] 4 ["#<compiled 0x1240c2c575c13f5e>" mapcar "#<compiled -0x196f9dc80b4e6e46>" projectile-locate-dominating-file projectile-root-bottom-up "#<compiled -0x33a92c97c1118b0>" cl-some projectile-project-root project-projectile project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks] 2 [let if set-auto-mode--apply-alist setq let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let] 7 [and unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq if progn if let* progn progn let* org-persist-read] 16 [locate-file locate-library jinx--load-module jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if] 4 [jinx--load-dicts jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 13 [setq progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if] 3 [yas--parse-template yas--load-directory-2 yas--load-directory-1 apply "#<compiled -0x1bc35949e8ff118e>" yas--load-pending-jits yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if] 1 [and if setq while let locate-dominating-file yas--calculate-group yas--parse-template yas--load-directory-2 yas--load-directory-1 apply "#<compiled -0x1bc35949e8ff118e>" yas--load-pending-jits yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers] 4 [file-exists-p and if setq while let locate-dominating-file yas--calculate-group yas--parse-template yas--load-directory-2 yas--load-directory-1 apply "#<compiled -0x1bc35949e8ff118e>" yas--load-pending-jits yas-minor-mode yas-minor-mode-on] 6 [abbreviate-file-name setq locate-dominating-file yas--calculate-group yas--parse-template yas--load-directory-2 yas--load-directory-1 apply "#<compiled -0x1bc35949e8ff118e>" yas--load-pending-jits yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode] 2 [find-auto-coding set-auto-coding "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents yas--load-directory-2 yas--load-directory-1 apply "#<compiled -0x1bc35949e8ff118e>" yas--load-pending-jits yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers] 2 [apply if editorconfig--advice-insert-file-contents apply insert-file-contents yas--load-directory-2 yas--load-directory-1 apply "#<compiled -0x1bc35949e8ff118e>" yas--load-pending-jits yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode] 1 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_22>" cl-remove cl-remove-if yas--subdirs yas--load-directory-2 yas--load-directory-1 apply "#<compiled -0x1bc35949e8ff118e>" yas--load-pending-jits yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall] 1 [apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply] 13 [while and let* or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect] 830 [substring if let file-name-sans-versions if let inhibit-local-variables-p so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>"] 1 [cconv-make-interpreted-closure function let* org-persist--normalize-associated setq progn progn let* org-persist-read progn let* org-persist-load progn if let progn] 1 [let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let*] 15 [while let or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer] 844 [not setq "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if save-current-buffer] 18 [assoc-default let or if setq while let if set-auto-mode--apply-alist setq if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode] 16 [funcall if setq while let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks apply run-mode-hooks org-mode] 42 [let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if] 1 [breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 18 [yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 7 [macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function maphash progn let editorconfig-call-get-properties-function setq progn if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect] 1 [let or if if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file] 8 [and if let while let let* progn if dir-locals--all-files funcall if setq while let locate-dominating-file let*] 112 ["#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn progn let* org-persist-read progn let* org-persist-load progn] 1 [smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 14 [let locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if] 1 [font-lock-flush whitespace-color-on whitespace-turn-on whitespace-mode if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if] 1 [while and let* or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer] 843 [save-current-buffer while let or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect] 1773 ["#<subr shell-command>" shell-command--shell-command-with-editor-mode apply shell-command "#<subr shell-command-to-string>" envrc-propagate-environment apply shell-command-to-string let* let age-config--make-age-configuration funcall let progn if let] 1 [setq progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file] 14 [and or let if let while let file-truename file-name-as-directory let if or let if let while] 73 [funcall if setq while let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode if] 135 [yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply] 19 [if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables cdr let*] 8 [and if org-element--cache-persist-after-read run-hook-with-args while let* progn if if progn if let* progn progn let* org-persist-read] 13 [setq if editorconfig-call-get-properties-function setq progn if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall] 5 [if progn unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents] 69 [equal if let if let while let file-truename file-name-as-directory let if or let if let while] 28 [if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let] 19 [setq let if let* progn unwind-protect let abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if] 1 [smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply] 19 ["#<compiled 0x176aeeb19ad2ef6d>" funcall if setq while let locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if] 155 [if doom-run-local-var-hooks-h run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 1 [find-auto-coding select-safe-coding-system secure-hash setq if let "#<lambda 0x337fc5751cb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn let*] 32 [hl-line-highlight hl-line-mode and if if if save-current-buffer progn if let while let let global-hl-line-mode-enable-in-buffers run-hooks run-mode-hooks] 5 [let if let* progn unwind-protect let abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply] 4 [uniquify--create-file-buffer-advice let* create-file-buffer setq if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect] 1006 [org-macro--set-templates org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 3 [advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let] 4 [while let or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 776 [age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let] 216 [setq if if let if let while let file-truename equal and if org-roam-descendant-of-p let* progn if] 25 [find-auto-coding set-auto-coding decode-coding-inserted-region save-restriction age-file-decode-and-insert if setq let save-excursion progn unwind-protect let* age-file-insert-file-contents apply if let] 72 [normal-backup-enable-predicate funcall not and save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 1 [global-undo-tree-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply] 23 [string= and if editorconfig--advice-insert-file-contents apply insert-file-contents if progn unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq if] 18 [project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn] 15 [funcall not and save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect] 1 [org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 4 [let* progn if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables] 102 [jit-lock-mode jit-lock-register jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let] 4 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let while let let cond org--tag-add-to-alist setq save-restriction save-excursion save-current-buffer] 1 [equal if if let if let while let file-truename file-name-as-directory let if or let if let] 30 [and let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables] 4 [if "#<lambda -0xcd6d6381d5dc192>" mapcar org-remove-keyword-keys if let* let* let while let let if let progn if org-set-regexps-and-options] 2 [and while let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall] 6 [and not and if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file project-try-vc project--find-in-directory] 1 [save-current-buffer while and let* or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if] 1878 [if let while let file-truename file-name-as-directory let if or let if let while let file-truename file-name-as-directory] 2 [and line-end-position search-forward and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line or and if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables] 1 [cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container let* cons setq if progn if while let* progn if if] 1 ["#<compiled 0x176aeeb19ad2ef6d>" funcall if setq while let locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks] 107 [if or let if let while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let*] 2 [let file-remote-p let if set-auto-mode--apply-alist setq if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let] 16 [org-macro--find-keyword-value org-macro--find-date org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 3 [editorconfig-core-get-properties-hash funcall setq condition-case let editorconfig-call-get-properties-function setq progn if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if] 8 [let if let* progn unwind-protect let abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if] 18 [and let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks apply] 3 [ctrlf-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 6 [abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>"] 1 [if if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if save-current-buffer] 1 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords] 1 [run-hooks apply run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 5 [cl-union set if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [setq if if let if let while let file-truename file-name-as-directory let if or let if let] 114 [let org-compute-latex-and-related-regexp if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0 progn] 1 [if let* progn if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file let progn if] 11 [let if let if let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode] 1 [editorconfig-core--get-handles editorconfig-core-get-properties-hash funcall setq condition-case let editorconfig-call-get-properties-function setq progn if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq] 8 [and unwind-protect save-current-buffer let progn if age-scrypt-p aset let* progn let* age-file-insert-file-contents apply if let progn] 4 [and if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn] 7 [let while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 4 [let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks] 4 [progn if let org-persist-load:elisp funcall let* cons setq if progn if while let* progn if if] 13 ["#<compiled -0x1ddf11012b3367bf>" project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if] 5 [save-current-buffer while and let* or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 1666 [concat setq if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let] 3 [replace-regexp-in-string org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [let if let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn] 3 [let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall] 25 [org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 12 [coding-system-change-text-conversion merge-coding-systems let editorconfig-merge-coding-systems setq progn if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>"] 1 [setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if] 1 [or let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if] 11 [let if or let if let while let file-truename equal and if org-roam-descendant-of-p let* progn if] 8 [and or let if let while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let*] 16 [or not while let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>"] 6 [called-interactively-p yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 1 [if setq progn progn if let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 4 [apply if editorconfig--advice-insert-file-contents apply insert-file-contents let if progn unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file] 41 [equal if if let if let while let file-truename equal and if org-roam-descendant-of-p let* progn if] 10 [equal if let if let while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let*] 3 [hack-local-variables-apply hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply] 1 [envrc-global-mode-cmhh text-mode outline-mode let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 2 [let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if let] 38 [or let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if] 5 [if let inhibit-local-variables-p not let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>"] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function avl-tree-mapc progn if progn if save-current-buffer progn if org-element--cache-persist-after-read run-hook-with-args] 2 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice let* create-file-buffer setq if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 3 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function avl-tree-mapc progn if progn if save-current-buffer] 1 [run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file] 23 [or and if let* progn progn let* org-persist-read progn let* org-persist-load progn if let progn org-mode] 21 [save-excursion let hack-local-variables--find-variables append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks] 2 [save-current-buffer while let or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer] 2258 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn] 1 [setq if org-persist--get-collection let progn let* org-persist-register progn if progn if progn if save-current-buffer let while] 1 [org-fold-core-initialize org-fold-initialize let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 3 [select-safe-coding-system secure-hash setq if let "#<lambda 0x343848d7dcb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register] 14 [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] 5 ["#<compiled 0x1406f359720b3de5>" "#<compiled -0x6aa168b2d51a5ea>" sort-coding-systems find-coding-systems-region select-safe-coding-system secure-hash equal and if save-current-buffer if progn if org-element--cache-persist-before-read run-hook-with-args-until-success "#<lambda 0x1a1c92fd1eb7a5df>"] 10 [turn-on-undo-tree-mode global-undo-tree-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 14 [apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer] 1 [not and while let inhibit-local-variables-p so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 6 [org-persist-register progn if progn if progn if save-current-buffer let while let org-element-cache-reset progn if or and] 1 [find-auto-coding select-safe-coding-system secure-hash equal and if save-current-buffer if progn if org-element--cache-persist-before-read run-hook-with-args-until-success "#<lambda -0xb43fe151b164b0>" "#<compiled -0x982f29874815e9a>" mapc seq-do] 14 [font-lock-compile-keywords font-lock-set-defaults font-lock-remove-keywords org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if] 2 [set let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers if if] 1 [not and while let while let inhibit-local-variables-p not and if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply] 10 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function cl-mapcan mapcar set let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn let*] 1 [equal and if let let if let* progn unwind-protect let abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>"] 4 [let while let file-truename file-name-as-directory let if or let if let while let file-truename abbreviate-file-name let*] 2 [not and while let inhibit-local-variables-p not let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode] 5 [if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables] 43 [equal and if let let if let* progn unwind-protect let abbreviate-file-name if setq save-current-buffer let find-file-noselect-1] 10 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function avl-tree-mapc] 3 [not and while let inhibit-local-variables-p not and if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode] 10 [let if let* progn unwind-protect let abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect] 4 [abort-if-file-too-large eq if progn if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn] 6 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function avl-tree-mapc progn if progn if save-current-buffer] 2 [not and while let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append let if] 16 [and if let let if let* progn unwind-protect let abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall] 3 [let or not let normal-backup-enable-predicate funcall not and save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>"] 4 [not and while let while let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line or] 6 [let* cons setq if progn if while let* progn if if progn if let* progn progn] 3 [let file-remote-p not or and if hack-dir-local--get-variables cdr let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode] 8 [let* create-file-buffer setq if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq] 14 [not and while let while let inhibit-local-variables-p not and let set-auto-mode-1 so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case] 4 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let*] 3 [sp--merge-pair-configurations sp-update-local-pairs -each sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0] 5 [catch let while let let org-agenda-prepare-buffers if if let org-agenda-prepare catch org-agenda-list funcall-interactively call-interactively cond let*] 4 [setq if if let if let while let file-truename abbreviate-file-name let find-buffer-visiting and let* if if] 7 [if save-current-buffer let while let org-element-cache-reset let progn org-mode funcall progn if if set-auto-mode-0 progn if] 2 [editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core-get-properties-hash funcall setq condition-case let editorconfig-call-get-properties-function setq progn if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect] 7 [apply if editorconfig--advice-insert-file-contents apply insert-file-contents let condition-case if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>"] 20 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn if] 1 [buffer-substring-no-properties org-trim let save-excursion org-element-keyword-parser org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0] 1 [global-undo-tree-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 12 [condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer] 3 [if or let if let while let file-truename file-name-as-directory let if or let if let while] 5 [display-warning editorconfig--advice-insert-file-contents apply insert-file-contents if progn unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq if progn if] 12 [turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 3 [if org-extract-log-state-settings let let while let let* let while let let if let progn if org-set-regexps-and-options] 3 [display-warning editorconfig-major-mode-hook run-hooks apply run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 4 [add-hook font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn] 1 [if substring if let file-name-sans-versions if let inhibit-local-variables-p not and let set-auto-mode-1 so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode] 4 [jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 11 [setq let cond file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect] 1 [progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if let "#<lambda 0x1b80d08c0306706f>"] 3 [font-lock-add-keywords whitespace-color-on whitespace-turn-on whitespace-mode if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if] 4 [and if save-current-buffer while and let* or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply] 112 [or let if let while let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and] 7 [apply "#<compiled -0x14f150d120d607e>" apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply] 32 [or not while let locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if] 10 [org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 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] 5 [let while let file-truename file-name-as-directory let if or let if let while let file-truename file-name-as-directory let] 13 [ctrlf-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply] 20 [seq-filter let progn if save-current-buffer let while let org-element-cache-reset progn if or and save-current-buffer org-element--cache-active-p if] 6 ["#<compiled -0x6aa168b2d51a5ea>" sort-coding-systems find-coding-systems-region select-safe-coding-system secure-hash equal and if save-current-buffer if progn if org-element--cache-persist-before-read run-hook-with-args-until-success "#<lambda 0x1131d5a7970ba7da>" "#<compiled -0x982f29874815e9a>"] 6 [advice--member-p advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn] 1 [let file-name-sans-versions if let inhibit-local-variables-p not let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode] 9 [let let org-persist--read-elisp-file or setq if progn if let* progn progn let* org-persist-read progn let* org-persist-load] 6 [equal and if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file project-try-vc project--find-in-directory project-current] 8 [file-truename file-name-as-directory let if or let if let while let file-truename file-name-as-directory let if or let] 2 [font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply] 2 [apply if editorconfig--advice-insert-file-contents apply insert-file-contents if progn unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq if progn] 12 [> progn if let cond let* not or and if let* progn progn let* org-persist-read progn] 3 [let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if] 10 [let* or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch] 26 [and if save-current-buffer while and let* or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq] 108 [advice-add org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 20 [save-current-buffer catch let while let let org-agenda-prepare-buffers if if let org-agenda-prepare catch org-agenda-list funcall-interactively call-interactively cond] 2 [let or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect] 34 [macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function] 4 [and if save-current-buffer while let or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer] 30 [cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn let* org-persist-register progn if progn if] 2 [progn unwind-protect let* org-unfontify-region org-modern--unfontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_27>" internal--without-restriction org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if] 2 [equal and if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let] 22 [set let org-set-font-lock-defaults let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core-get-properties-hash funcall setq condition-case let editorconfig-call-get-properties-function setq progn if condition-case let editorconfig--advice-find-file-noselect] 4 [decode-coding-inserted-region save-restriction age-file-decode-and-insert if setq let save-excursion progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect] 1 [setq if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 9 [not and while let inhibit-local-variables-p not and if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables setq and let] 6 [macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 1 [if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a] 5 [org-compute-latex-and-related-regexp if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0 progn if] 2 [let if save-excursion let hack-local-variables--find-variables append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode funcall] 2 [let while let let cond org--tag-add-to-alist setq save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers] 1 [if substring if let file-name-sans-versions if let inhibit-local-variables-p so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if] 1 [function let* org-persist--normalize-container setq progn progn let* org-persist-read progn let* org-persist-load progn if let progn org-mode] 1 [let file-name-sans-versions if let inhibit-local-variables-p not and if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode] 9 [while age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect] 41 [save-restriction age-file-decode-and-insert if setq let save-excursion progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let] 38 [if let* progn unwind-protect let abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>"] 7 [-each sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a] 8 [progn if org-element--cache-setup-change-functions progn if save-current-buffer let while let org-element-cache-reset let progn org-mode funcall progn if] 2 [ws-butler-mode ws-butler-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 8 [let if or let if let while let file-truename abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall] 1 [locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs] 2 [cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container list org-persist--find-index or] 8 [doom-run-hooks if doom-run-local-var-hooks-h run-hooks hack-local-variables-apply hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks] 1 [function assoc-default save-restriction save-excursion setq if if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let] 3 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn let* org-persist-register progn if progn if] 3 [let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode funcall] 1 [org--collect-keywords-1 let* org-collect-keywords let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers] 1 [cconv-make-interpreted-closure function mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn] 1 [concat if let if let if let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and] 10 [let cond let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file] 2 [doom-run-hooks if doom-run-local-var-hooks-h run-hooks hack-local-variables-apply hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if] 2 [let if set-auto-mode--apply-alist setq if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if] 5 [cconv-make-interpreted-closure function let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn let* org-persist-register progn if progn if] 2 [org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 17 [let while let file-truename abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if] 2 [if let make-temp-file let or aset let* progn progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let*] 7 [let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name or file-newer-than-file-p] 9 [turn-on-undo-tree-mode global-undo-tree-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 43 [macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn let* org-persist-register progn if progn if progn if save-current-buffer] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let*] 1 [let file-name-sans-versions if let inhibit-local-variables-p not and if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks] 9 [file-name-sans-extension file-name-base breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if] 1 [setq let if let while let file-truename file-name-as-directory let if or let if let while let] 22 [projectile-project-root project-projectile project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 1 [or if setq while let if set-auto-mode--apply-alist setq if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode] 1 [let org-set-font-lock-defaults let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 3 ["#<compiled 0x1406f359720b3de5>" "#<compiled -0x6aa168b2d51a5ea>" sort-coding-systems find-coding-systems-region select-safe-coding-system secure-hash setq if let "#<lambda 0x35d51fd55cb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection] 7 [advice--add-function advice-add org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 7 [inhibit-local-variables-p not and let set-auto-mode-1 setq and save-excursion let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case] 2 ["#<lambda 0x332928a1a27d1>" "#<compiled 0x91afedaf915df56>" mapcar "#<compiled 0x185766b07c2395f4>" apply seq-map seq-filter let progn if save-current-buffer let while let org-element-cache-reset progn] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq progn progn let* org-persist-read progn] 1 [org-modern--make-font-lock-keywords org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 2 [or let if let while let file-truename file-name-as-directory let if or let if let while let] 37 [file-attribute-inode-number progn if setq if let "#<lambda 0x365eea495cb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn let*] 11 [cconv-make-interpreted-closure function cl-mapcan let let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let let] 2 [setq progn while let if let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if] 9 [file-name-directory setq equal cond while let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode] 4 [setq equal cond while let locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode] 5 [function hack-dir-local--get-variables cdr let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode] 2 [text-mode outline-mode let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 4 [cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn if progn let* org-persist-register progn if progn if progn if] 1 [save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 54 ["#<compiled 0x8fdecbbba7cb3c2>" advice--add-function advice-add org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [and not if progn if org-element--cache-persist-before-read run-hook-with-args-until-success "#<lambda 0xca044fcc939c6d2>" "#<compiled -0x982f29874815e9a>" mapc seq-do seq-find if progn if let*] 13 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 19 [sp--merge-pairs sp--merge-pair-configurations sp-update-local-pairs -each sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if] 8 [whitespace-mode if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 2 [setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect] 5 [progn if progn if save-current-buffer let while let org-element-cache-reset let progn org-mode funcall progn if if] 2 [org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 11 [while let let* progn if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file let progn] 5 [or editorconfig--disabled-for-majormode not and if save-current-buffer condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall] 1 [while let file-truename file-name-as-directory let if or let if let while let file-truename file-name-as-directory let if] 5 [doom-highlight-non-default-indentation-h run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply] 1 [car if let hack-local-variables--find-variables or and if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables setq and let "#<lambda 0x1b80d08c0306706f>"] 2 [cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn let* org-persist-register progn if progn if] 2 [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 setq if] 7 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq progn progn] 1 [ws-butler-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 2 [equal and if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply] 10 [set progn if save-current-buffer let while let org-element-cache-reset let progn org-mode funcall progn if if set-auto-mode-0] 1 [locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables] 4 [concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn if org-set-regexps-and-options save-restriction save-excursion] 3 [setq if if let if let while let file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq] 4 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar append or let if let progn] 1 [concat setq let cond file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 5 [concat if setq let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply] 25 [let file-name-sans-versions if let inhibit-local-variables-p not and let set-auto-mode-1 so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode] 9 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let] 1 [display-warning editorconfig--advice-insert-file-contents apply insert-file-contents let condition-case if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 8 [progn if save-current-buffer let while let org-element-cache-reset progn if or and save-current-buffer org-element--cache-active-p if let save-restriction] 1 [setq progn progn if let "#<lambda 0x3794124edcb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn] 1 [set-buffer save-current-buffer if progn if org-element--cache-persist-before-read run-hook-with-args-until-success "#<lambda 0xdb0861f0807add3>" "#<compiled -0x982f29874815e9a>" mapc seq-do seq-find if progn if let*] 6 [let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>"] 3 [let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers] 5 [save-current-buffer if let org-persist-load:elisp funcall let* cons setq if progn if while let* progn if if] 1 [not and while let while let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append] 6 [equal and if let let if let* progn unwind-protect let abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 6 [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] 7 [envrc--apply "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks apply run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn] 1 [jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if] 1 [cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn if progn if progn if] 5 [if substring if let file-name-sans-versions if let inhibit-local-variables-p not and if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables] 1 [function let* let while let let cond org--tag-add-to-alist setq save-restriction save-excursion save-current-buffer catch let while let] 6 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let*] 2 [let save-excursion catch hack-local-variables-prop-line append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks] 2 [and or let if let while let file-truename abbreviate-file-name let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>"] 3 [apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 4 [org-trim let save-excursion org-element-keyword-parser cond cond let cond setq let save-excursion org-element--current-element setq if if while] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let] 2 [macroexp-macroexpand macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function cl-mapcan let let progn if org-set-regexps-and-options let progn org-mode funcall progn] 1 [if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let] 1 [set if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 2 [if let cond let* or let if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 2 [macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn] 2 [let file-remote-p not or and if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables] 4 [run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if let] 19 ["#<compiled 0x1cec8c9d83661af5>" advice--tweak advice--remove-function advice--add-function advice-add org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn if] 1 [funcall if setq while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if] 1 [whitespace-turn-on whitespace-mode if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 4 [concat setq if if let if let while let file-truename file-name-as-directory let if or let if] 24 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let*] 3 [+org-init-gifs-h funcall condition-case doom-run-hook run-hook-wrapped let condition-case let while let doom-run-hooks if doom-run-local-var-hooks-h run-hooks hack-local-variables-apply progn] 2 [cconv-make-interpreted-closure function let* let while let let cond org--tag-add-to-alist setq save-restriction save-excursion save-current-buffer catch let while] 2 [or not let normal-backup-enable-predicate funcall not and save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 2 [font-lock-add-keywords org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice let* create-file-buffer setq if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect] 6 [not and while let inhibit-local-variables-p not and let set-auto-mode-1 so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode] 4 [let* and 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] 3 [let let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 2 [if save-current-buffer while let or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 9 [let if let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>"] 3 [cond if org-element--next-mode if setq progn progn if let cond let while let let* save-restriction save-excursion] 1 [set-buffer save-current-buffer progn if org-element--cache-persist-after-read run-hook-with-args while let* progn if if progn if let* progn progn] 13 [jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 4 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq] 5 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn] 1 [and while let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append let if let] 1 [macroexp-macroexpand macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container] 1 [setq cond while let progn let* org-persist-load progn if let progn org-mode funcall progn if if] 1 [let if or let if let while let file-truename file-name-as-directory let if or let if let] 25 [if let or aset let* progn progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply] 3 [ws-butler-mode ws-butler-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 18 [let save-excursion org-at-comment-p and while save-restriction save-excursion or progn if let* save-restriction save-excursion org-element-org-data-parser setq cond] 2 [equal and if save-current-buffer if progn if org-element--cache-persist-before-read run-hook-with-args-until-success "#<lambda 0x1160924e9d93e316>" "#<compiled -0x982f29874815e9a>" mapc seq-do seq-find if progn] 4 [if save-restriction save-excursion or progn if let* save-restriction save-excursion org-element-org-data-parser setq cond let* save-restriction save-excursion save-current-buffer] 2 [let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>"] 1 [function seq-find if progn if let* progn progn let* org-persist-read progn let* org-persist-load progn if let] 2 [save-current-buffer let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply] 1 [replace-buffer-in-windows kill-buffer and unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let*] 4 [and cond file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file] 5 [run-at-time undo-auto--boundary-ensure-timer undo-auto--undoable-change insert save-restriction age-file-decode-and-insert if setq let save-excursion progn unwind-protect let* age-file-insert-file-contents apply if] 2 [setq if if let if let while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if] 18 [org-persist--find-index or org-persist--get-collection let progn let* org-persist-register progn if progn if progn if save-current-buffer let while] 2 [let* org-persist--normalize-associated setq progn progn let* org-persist-read progn let* org-persist-load progn if let progn org-mode funcall] 1 [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] 7 [let* progn if let* age-context-set-result-for age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply] 2 [projectile-project-p delete-file-projectile-remove-from-cache apply "#<compiled -0x14f150d120d607e>" apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn unwind-protect let*] 6 [if progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction save-excursion save-current-buffer catch] 4 [run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if let "#<lambda 0x1b80d08c0306706f>"] 1 [auto-minor-mode-set apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a] 1 [if save-current-buffer while and let* or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer] 12 [function let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn let* org-persist-register progn if progn if progn] 4 [generate-new-buffer let* create-file-buffer setq if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect] 1 [regexp-opt concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords org-macro--collect-macros org-macro-initialize-templates let progn org-mode] 1 [cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn let* org-persist-register progn if progn if progn if save-current-buffer let] 4 [prog1 let condition-case progn unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq if progn if let* progn] 9 [let while let file-truename abbreviate-file-name let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 1 [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 condition-case] 4 [regexp-opt concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn if org-set-regexps-and-options save-restriction] 1 [setq progn if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply] 1 [progn record set progn if save-current-buffer let while let org-element-cache-reset let progn org-mode funcall progn if] 1 [setq equal cond while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if] 3 [let progn if age-scrypt-p aset let* progn let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler] 9 ["#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let condition-case if save-current-buffer let find-file-noselect-1 if let* if if] 5 [concat setq if if let if let while let file-truename equal and if org-roam-descendant-of-p let* progn] 9 [file-truename file-name-as-directory let if or let if let while let file-truename abbreviate-file-name if setq save-current-buffer let] 1 [if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if] 2 [set-face-extend "#<compiled -0x14020638c76d334e>" org--set-faces-extend let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 3 [not and while let while let inhibit-local-variables-p not and let set-auto-mode-1 setq and save-excursion let "#<lambda 0x1b80d08c0306706f>"] 6 [list list let org-set-font-lock-defaults let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 4 [sp-update-local-pairs -each sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn] 2 [setq dir-locals-find-file let progn if hack-dir-local--get-variables cdr let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply] 2 [advice--make advice--add-function advice-add org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [while let inhibit-local-variables-p not and if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode funcall] 1 [if org-check-agenda-file if set-buffer save-current-buffer catch let while let let org-agenda-prepare-buffers if if let org-agenda-prepare catch] 10 [file-name-sans-extension file-name-base breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a] 1 [let if org-element--collect-affiliated-keywords let cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction] 1 [run-hook-with-args-until-success "#<lambda 0x1b9d7dea0cea1616>" "#<compiled -0x982f29874815e9a>" mapc seq-do seq-find if progn if let* progn progn let* org-persist-read progn let*] 1 [not while let if let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode] 1 [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 let*] 21 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 17 [editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core-get-properties-hash funcall setq condition-case let editorconfig-call-get-properties-function setq progn if condition-case let editorconfig--advice-find-file-noselect apply] 8 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function] 18 [yas-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 1 [if save-excursion setq and let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>"] 1 [cconv-make-interpreted-closure function cl-mapcan mapcar set let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let] 2 [let age-read-output if progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn] 87 [if save-excursion progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if] 66 [project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a] 2 [let file-remote-p let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>"] 7 [cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn let* org-persist-register progn if progn] 2 [and if save-current-buffer while let or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 41 [find-auto-coding set-auto-coding "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let condition-case if save-current-buffer let find-file-noselect-1 if let*] 10 [delq setq progn if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0] 1 [function cl-mapcan let let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers] 2 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn let* org-persist-register progn if progn if progn] 2 [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 org-element--cache-put or setq if if] 1 [org-element-create let save-excursion org-element-keyword-parser org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0 progn] 1 [if substring if let file-name-sans-versions let progn unwind-protect let file-name-sans-extension file-name-base breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks] 3 [progn if let* save-restriction save-excursion org-element-org-data-parser setq cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 1 [macroexpand-all cconv-make-interpreted-closure function hack-dir-local--get-variables cdr let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case] 1 [set let if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0 progn] 1 [whitespace-color-on whitespace-turn-on whitespace-mode if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let] 1 [regexp-opt-group regexp-opt-group regexp-opt concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn if] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated] 1 [save-current-buffer condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if] 3 [car-safe setq while let org-assign-fast-keys setq progn if let progn if org-set-regexps-and-options let progn org-mode funcall] 1 [called-interactively-p envrc-mode envrc-global-mode-enable-in-buffers run-hooks apply run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 ["#<compiled 0x3c5d8019df7e91>" advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn] 1 [if progn and while let* editorconfig--disabled-for-filename not and if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if] 3 [not and while let while let inhibit-local-variables-p not let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case] 1 [setq if let "#<lambda 0x372719dedcb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn if] 1 [puthash if let "#<lambda 0x34394dbe9cb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn if] 1 [advice--copy advice--make advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0] 1 [eq "#<lambda 0x332928a1a27d1>" "#<compiled 0x91afed19b229f56>" mapcar "#<compiled 0x185766b07c2395f4>" apply seq-map seq-filter let progn if save-current-buffer let while let org-element-cache-reset] 26 ["#<compiled -0x1ddf111e7d9173bf>" project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 19 [or cdr car let* org-persist-register progn if progn if progn if save-current-buffer let while let org-element-cache-reset] 1 [if let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 2 [let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch let while let let org-agenda-prepare-buffers] 6 ["#<compiled -0x6aa168b2d51a5ea>" sort-coding-systems find-coding-systems-region select-safe-coding-system secure-hash setq if let "#<lambda 0x365a3f221cb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let] 3 [cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container list org-persist--find-index] 4 [save-excursion let hack-local-variables--find-variables or and if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables setq and let "#<lambda 0x1b80d08c0306706f>" apply] 2 [hl-line-mode and if if if save-current-buffer progn if let while let let global-hl-line-mode-enable-in-buffers run-hooks run-mode-hooks org-mode] 2 [while let file-truename abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer] 2 [get-file-buffer set-buffer save-current-buffer progn if org-element--cache-persist-after-read run-hook-with-args while let* progn if if progn if let* progn] 3 [function cl-mapcan mapcar set let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let let] 1 [run-hook-with-args while let* progn if if progn if let* progn progn let* org-persist-read progn let* org-persist-load] 1 [make-auto-save-file-name or file-newer-than-file-p and if cond let* if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 1 [cconv-fv cconv-make-interpreted-closure function assoc-default save-restriction save-excursion setq if if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let] 2 [internal--without-restriction org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch let while let let] 1 [macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn] 1 [ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 1 [let* and 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 org-element--cache-put or] 6 [not and while let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line or and if] 8 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container] 1 [org-cite-try-load-processor if progn list let org-set-font-lock-defaults let progn org-mode funcall progn if if set-auto-mode-0 progn if] 1 [let save-excursion catch hack-local-variables-prop-line append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode funcall progn] 1 [cond editorconfig-set-indentation editorconfig-set-local-variables progn if save-current-buffer condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall] 1 [file-name-directory setq equal cond while let locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if] 5 [avl-tree-enter progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction save-excursion save-current-buffer catch] 1 [abbreviate-file-name setq "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let] 2 [progn if setq if let "#<lambda 0x37e602f71cb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register] 1 [concat if setq let progn unwind-protect let files--transform-file-name if let make-lock-file-name "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply] 1 [and if let save-restriction save-excursion save-excursion let if org-element-at-point let while let save-restriction save-excursion save-excursion let] 2 [if or let if let while let file-truename abbreviate-file-name let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>"] 1 [set progn if save-current-buffer let while let org-element-cache-reset progn if or and save-current-buffer org-element--cache-active-p if let] 2 [cond let* org-persist--normalize-container let* cons setq if progn if while let* progn if if progn if] 1 [let progn let* org-persist-register progn if progn if progn if save-current-buffer let while let org-element-cache-reset progn] 1 [function let* org-persist--normalize-container let* cons setq if progn if while let* progn if if progn if] 2 [if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 3 [file-name-directory setq equal cond while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables cdr let* condition-case] 1 [cconv-fv cconv-make-interpreted-closure function cl-mapcan let let progn if org-set-regexps-and-options let progn org-mode funcall progn if if] 1 [org-trim let save-excursion org-element-keyword-parser org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0 progn] 4 [if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables setq and let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case] 1 [cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn let*] 2 [progn progn let* org-persist-read progn let* org-persist-load progn if let progn org-mode funcall progn if if] 3 [org-fold-core-get-folding-spec-from-alias org-fold-core-set-folding-spec-property "#<compiled -0x41943c9146dd6e1>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize let progn org-mode funcall progn if if set-auto-mode-0 progn if] 3 [cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn if] 2 [org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 4 [breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [cconv-fv cconv-make-interpreted-closure function seq-filter let progn if save-current-buffer let while let org-element-cache-reset let progn org-mode funcall] 1 [let or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch] 12 [uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice let* create-file-buffer setq if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 4 [while let inhibit-local-variables-p so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let*] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 35 [setq cond let let if let* let progn if let while let save-restriction save-excursion save-excursion let] 1 [progn let* org-persist-register progn if progn if progn if save-current-buffer let while let org-element-cache-reset let progn] 2 [if substring if let file-name-sans-versions if let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line] 5 [let file-remote-p auto-minor-mode--plain-filename auto-minor-mode--run-auto auto-minor-mode-set apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply] 3 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall] 1 [while 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 let] 4 [save-current-buffer let let org-persist--read-elisp-file or setq if progn if let* progn progn let* org-persist-read progn let*] 2 [function let* org-persist--normalize-container setq progn let* org-persist-register progn if progn if progn if save-current-buffer let while] 1 [progn if let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 5 [cons gethash and or setq let let while let catch and let* with-no-warnings org-persist--find-index or org-persist--get-collection] 3 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function seq-find if progn if let* progn progn let* org-persist-read progn let*] 1 [let file-remote-p and if if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks org-mode] 9 [equal if let if let while let file-truename abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let] 3 [cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function seq-filter let progn if save-current-buffer let while let org-element-cache-reset] 1 [if progn if let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch] 4 [font-lock-set-defaults font-lock-remove-keywords org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let] 4 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection] 5 [function list let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch let while let let org-agenda-prepare-buffers if] 2 [check-face face-id make-glyph-code "#<lambda -0x80f93ec7555373c>" mapcar vconcat set-display-table-slot progn if let progn org-mode funcall progn if if] 2 [function mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn if progn let* org-persist-register progn] 1 [let progn unwind-protect let files--transform-file-name if let make-lock-file-name "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let condition-case] 3 [if let while let let* progn if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt concat org-make-options-regexp let save-restriction] 1 [buffer-list seq-filter let progn if save-current-buffer let while let org-element-cache-reset let progn org-mode funcall progn if] 2 [and while let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn if org-set-regexps-and-options let progn] 3 [progn if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let*] 1 [macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let] 2 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let while let let cond org--tag-add-to-alist setq save-restriction save-excursion save-current-buffer catch] 5 [funcall setq condition-case let editorconfig-call-get-properties-function setq progn if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let] 2 [advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply] 3 [if progn let save-excursion org-element-keyword-parser org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0] 2 [progn if or and save-current-buffer org-element--cache-active-p if let save-restriction save-excursion save-excursion let if org-element-at-point let while] 1 [equal and or and if let* progn progn let* org-persist-read progn let* org-persist-load progn if let] 1 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn if progn let* org-persist-register progn if progn] 2 [org-persist--find-index let* progn progn let* org-persist-read progn let* org-persist-load progn if let progn org-mode funcall progn] 1 [not and while let inhibit-local-variables-p not and if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks] 4 [whitespace-display-char-on whitespace-turn-on whitespace-mode if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let] 1 [setq "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond] 2 [or and if let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq progn progn let*] 1 [let if let file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect] 2 [cond let* and 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] 2 [backtrace-frame called-interactively-p org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let] 1 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function cl-mapcan let let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let] 1 [string-match not and while let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append let] 2 [if if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [editorconfig--advice-insert-file-contents apply insert-file-contents let if progn unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file setq condition-case] 5 [kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect] 9 [and let* progn unwind-protect let abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>"] 7 [while let inhibit-local-variables-p not and let set-auto-mode-1 setq and save-excursion let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply] 1 [org-element--get-cached-string progn let save-excursion org-element-keyword-parser cond cond let cond setq let save-excursion org-element--current-element setq if if] 1 [string= and if editorconfig--advice-insert-file-contents apply insert-file-contents let insert-file-contents-literally progn unwind-protect let* progn unwind-protect save-current-buffer let progn] 2 [and if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1] 2 [if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables cdr let*] 3 [cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let*] 1 ["#<lambda 0x332928a1a27d1>" "#<compiled 0x91afec5f5a25356>" mapcar "#<compiled 0x185766b07c2395f4>" apply seq-map seq-filter let progn if save-current-buffer let while let org-element-cache-reset let] 2 [if editorconfig-set-indentation editorconfig-set-local-variables progn if save-current-buffer condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall] 1 [display-warning editorconfig--advice-insert-file-contents apply insert-file-contents let if progn unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file setq] 53 [setq equal cond while let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode if] 5 [let progn unwind-protect let org-roam--file-name-extension let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file] 6 [plist-put setq let* cons setq if progn if while let* progn if if progn if let*] 6 [not while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>"] 1 [if let* progn unwind-protect let abbreviate-file-name setq "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq] 11 [mapc yas--modes-to-activate yas--load-pending-jits yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a] 1 [and let* org-element-contents-end setq progn progn if let cond let while let let* save-restriction save-excursion save-current-buffer] 1 [auto-save-file-name-p not and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn unwind-protect] 3 [directory-abbrev-apply setq let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode] 1 [while let while let inhibit-local-variables-p not and let set-auto-mode-1 so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode] 1 [cond file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if] 1 [replace-regexp-in-string string-prefix-p if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if] 24 [global-company-mode-cmhh kill-all-local-variables normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file] 1 [set-auto-mode-1 so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply] 1 [and while let if org-element--collect-affiliated-keywords let cond setq let save-excursion org-element--current-element setq if if while let] 2 [progn if progn if save-current-buffer progn if org-element--cache-persist-after-read run-hook-with-args while let* progn if if progn if] 1 [and let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks] 1 [kill-all-local-variables normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if] 10 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let] 1 [and or setq let let while let catch and let* with-no-warnings org-persist--find-index or org-persist--get-collection let progn] 2 [-each sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if] 1 [and 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] 1 [let file-remote-p let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file] 7 [let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name auto-save-mode progn] 5 [project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 16 [equal and if let let if let* progn unwind-protect let abbreviate-file-name setq "#<lambda -0xd6e9bb25a48132a>" apply setq let] 2 [outline-mode let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 7 [progn if let let while let catch and let* with-no-warnings org-persist--find-index or org-persist--get-collection let progn let*] 1 [setq if if let if let while let file-truename abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall] 2 [if 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] 1 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container] 3 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_4>" mapc yas--modes-to-activate yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a] 2 [seq-find if progn if let* progn progn let* org-persist-read progn let* org-persist-load progn if let progn] 1 [let* save-restriction save-excursion org-element-org-data-parser setq cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 2 [while let while let inhibit-local-variables-p not let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode] 1 [if org-element--collect-affiliated-keywords let cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 10 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 16 [if let while let let* let while let let if let progn if org-set-regexps-and-options let progn] 2 [auto-minor-mode--run-auto auto-minor-mode-set apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let*] 1 [breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 3 [while let while let inhibit-local-variables-p not and if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode] 1 [apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch let while let let org-agenda-prepare-buffers if if let org-agenda-prepare catch] 1 [not and let set-auto-mode-1 so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 1 [set-face-foreground progn if let let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [file-exists-p if age-scrypt-p aset let* progn let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>"] 3 [string= and if editorconfig--advice-insert-file-contents apply insert-file-contents let if progn unwind-protect save-current-buffer let age-read-output if progn unwind-protect] 15 [and unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply] 73 [or if let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name or file-newer-than-file-p and if cond let* if "#<lambda -0x1c3665d8c491a6e>" apply progn] 4 [apply define-key global-set-key undo-tree-overridden-undo-bindings-p turn-on-undo-tree-mode global-undo-tree-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a] 1 [if let* if 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 org-element--cache-put] 2 [let* and let* org-element-contents-end let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case] 2 [progn file-exists-p and if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if] 2 [abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect] 2 [save-restriction save-excursion org-element-org-data-parser setq cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 1 [funcall cond let* if let* let while let let cond org--tag-add-to-alist setq save-restriction save-excursion save-current-buffer catch] 1 [cond let cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer] 10 [and if expand-file-name let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply] 3 [or not while let locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall] 4 [or let if let while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if] 11 [and 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] 2 [function let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn let* org-persist-register progn if progn if progn] 3 [if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn] 1 [if save-current-buffer while let or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if] 6 [let make-lock-file-name "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let condition-case if save-current-buffer let find-file-noselect-1 if let*] 1 [let cond let* and 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] 1 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container let* cons setq if progn if while let* progn] 3 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register] 1 [progn if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0 progn if] 2 [goggles-mode run-hooks apply run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 1 [breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 8 [not and if let if let if let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers] 1 [seq-filter let progn if save-current-buffer let while let org-element-cache-reset let progn org-mode funcall progn if if] 10 [cons let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if] 2 [setq equal cond while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables cdr let* condition-case if] 3 [let* and let* org-element-contents-end setq progn progn if let cond let while let let* save-restriction save-excursion] 1 [setq while let or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer] 1 [apply make-process--with-editor-process-filter apply make-process setq progn unwind-protect let let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file] 47 [let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case] 6 [and if cond let* if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply] 19 [regexp-opt concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn if org-set-regexps-and-options let] 4 [org-element-create let* save-restriction save-excursion org-element-org-data-parser setq cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 6 [setq let let while let let* let while let let if let progn if org-set-regexps-and-options let] 1 [cl-remove-if-not editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core-get-properties-hash funcall setq condition-case let editorconfig-call-get-properties-function setq progn if condition-case let] 1 [create-file-buffer setq if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if] 1 [let file-name-sans-versions if let inhibit-local-variables-p not and let set-auto-mode-1 setq and save-excursion let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>"] 7 [or setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 2 [and if editorconfig-set-line-length editorconfig-set-local-variables progn if save-current-buffer condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>"] 1 [let while let file-truename file-name-as-directory let if or let if let while let file-truename equal and] 3 [let file-remote-p not or and if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs] 3 [mapcar "#<compiled 0x185766b07c2395f4>" apply seq-map seq-filter let progn if save-current-buffer let while let org-element-cache-reset progn if or] 3 [and while let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn if org-set-regexps-and-options save-restriction save-excursion] 1 [let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if] 8 [not or if let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply] 3 [let file-remote-p let if set-auto-mode--apply-alist setq let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode] 2 [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 let let*] 6 [setq let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers] 1 [if let* progn unwind-protect let abbreviate-file-name let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 4 [file-name-as-directory setq progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if] 14 [global-hl-line-mode-cmhh text-mode outline-mode let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [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] 7 [company-mode-on global-company-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 2 [progn if progn if progn if save-current-buffer let while let org-element-cache-reset let progn org-mode funcall progn] 1 [let* or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect] 21 [if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if] 15 [let let* progn if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file let progn if] 2 [vconcat set-display-table-slot progn if let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 2 [cond let* cond let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn] 1 [inhibit-local-variables-p not and if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode funcall progn if] 6 [macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn if progn if] 1 [cond 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] 4 [oclosure--copy advice--copy advice--make advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 1 [unwind-protect let abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if] 1 [cconv--analyze-function cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let*] 4 [and or setq let let while let catch and let* with-no-warnings org-persist--find-index let* progn progn let*] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function cl-mapcan let let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch] 2 [breadcrumb-local-mode breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 4 [let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let] 3 [if let while let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a] 2 [cdr car if let cond let* and 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] 4 ["#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let if progn unwind-protect save-current-buffer let age-read-output if progn unwind-protect] 32 [let or if setq while let if set-auto-mode--apply-alist setq let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>"] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure] 1 [doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>"] 1 [apply if editorconfig--advice-insert-file-contents apply insert-file-contents apply let age-file-run-real-handler if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply] 9 [setq let if let while let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and] 7 [macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn let* org-persist-register progn if] 2 [while let org-remove-font-lock-display-properties progn unwind-protect let* org-unfontify-region org-modern--unfontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_27>" internal--without-restriction org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode] 2 [let* save-excursion org-element-section-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 3 [file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file] 2 ["#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if save-current-buffer let find-file-noselect-1] 2 [breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 3 [car if let cond let* and 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] 1 ["#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents if progn unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq if] 1 [memq cond 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] 2 [equal if if let if let while let file-truename abbreviate-file-name let find-buffer-visiting and let* if if] 2 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt concat org-make-options-regexp setq cond let let if let* let progn if] 1 [let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if] 1 [apply make-process setq progn unwind-protect let let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case] 1 [let if let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply] 3 [string-prefix-p if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect] 6 [let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode] 1 [delq let if let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>"] 2 [intern-soft doom-run-hooks if doom-run-local-var-hooks-h run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 2 [mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn if progn let* org-persist-register progn if] 1 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn] 1 [setq progn if if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch let] 2 [while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let] 3 [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 let] 1 [progn if let if progn if save-current-buffer org-element--cache-put cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case] 1 [if let while let file-truename file-name-as-directory let if or let if let while let file-truename abbreviate-file-name] 1 [after-find-file if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn] 2 [doom-run-hooks if doom-run-local-var-hooks-h run-hooks hack-local-variables-apply progn if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode] 1 [save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let] 3 [apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 2 [inhibit-local-variables-p not let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 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-enter progn if save-current-buffer org-element--cache-put or setq if if] 4 [list seq-find let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents] 4 [let cond let* and let* org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion] 3 [if let "#<lambda 0xdd7ba1d0c7fe34c>" apply abort-if-file-too-large eq if progn if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 1 [age-context-result-for let age--check-error-for-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn] 2 [not while let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated] 5 [undo-tree-overridden-undo-bindings-p turn-on-undo-tree-mode global-undo-tree-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [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 while let let*] 2 [let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables cdr] 3 [cconv-make-interpreted-closure function cl-mapcan "#<lambda 0x19948d2707a9d>" cl-mapcan mapcar set let progn if org-set-regexps-and-options let progn org-mode funcall progn] 1 [let* org-collect-keywords let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers if] 1 [and let* or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 3 [if age-scrypt-p aset let* progn let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply] 5 [and if setq let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply] 1 [if while 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] 5 [if let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name or file-newer-than-file-p and if cond let* if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 1 [cconv-make-interpreted-closure function assoc-default save-restriction save-excursion setq if if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case] 2 [progn progn 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] 7 [if setq while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc] 1 [and let* progn unwind-protect let abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer] 2 [if if let if let while let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p] 2 [let if or let if let while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if] 2 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn let* org-persist-register progn if] 2 [company-mode company-mode-on global-company-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 5 [and while let or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect] 2 [let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 1 [cconv-fv cconv-make-interpreted-closure function list let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch let while let let] 1 [macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn let* org-persist-register progn if progn if progn if] 1 [cond let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn let* org-persist-register progn if progn if progn] 2 [string= and if editorconfig--advice-insert-file-contents apply insert-file-contents apply let age-file-run-real-handler if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>"] 1 [advice--copy advice--make advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 2 [accept-process-output while age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn] 2 [let file-truename file-name-as-directory let if or let if let while let file-truename file-name-as-directory let if or] 3 [if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction save-excursion] 2 [org-persist--normalize-container let* cons setq if progn if while let* progn if if progn if let* progn] 1 [project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0] 7 [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] 4 [buffer-substring-no-properties prog1 cons setq if while let* let progn unwind-protect save-current-buffer let progn if age-scrypt-p aset] 2 [after-insert-file-set-coding "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let if progn unwind-protect save-current-buffer let age-read-output if progn] 4 ["#<compiled 0x1a5c8287b93d094d>" add-hook smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply] 2 [file-name-as-directory setq progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply] 2 [gethash and or setq let let while let catch and let* with-no-warnings org-persist--find-index or org-persist--get-collection let] 1 [let* org-unfontify-region org-modern--unfontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_27>" internal--without-restriction org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0] 1 [select-safe-coding-system secure-hash equal and if save-current-buffer if progn if org-element--cache-persist-before-read run-hook-with-args-until-success "#<lambda 0x1a7560f7c8e4d650>" "#<compiled -0x982f29874815e9a>" mapc seq-do seq-find] 4 [macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container let* cons setq if progn if while let* progn if if] 3 [let file-name-sans-versions if let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line or and if] 7 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register] 3 [org-setup-filling let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq progn progn let* org-persist-read progn let*] 1 [and if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks] 1 ["#<compiled 0x1a5c8287b93d094d>" add-hook font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0] 1 [if save-excursion let hack-local-variables--find-variables or and if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables setq and let "#<lambda 0x1b80d08c0306706f>"] 3 [envrc-global-mode-enable-in-buffers run-hooks apply run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 2 [and if let let if let* progn unwind-protect let abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq] 1 [or if if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if] 4 [global-set-key "#<compiled 0xa081e0099326ea0>" undo-tree-overridden-undo-bindings-p turn-on-undo-tree-mode global-undo-tree-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let] 1 [org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 10 [normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if save-current-buffer] 5 [if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables] 15 [while let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append let if let "#<lambda 0x112abd950ea11f77>"] 1 [replace-buffer-in-windows kill-buffer and unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq if progn if let* progn progn] 1 [if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if save-current-buffer let] 6 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function] 1 [+org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch let while let let org-agenda-prepare-buffers if if let org-agenda-prepare] 2 [cond while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory] 3 [cond let* org-persist--normalize-container setq progn let* org-persist-register progn if progn if progn if save-current-buffer let while] 2 [set-buffer save-current-buffer while and let* or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer] 5 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn if progn] 1 [string-match if substring if let file-name-sans-versions if let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch] 1 [eq if progn if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq] 1 [and while let or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer] 7 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq progn progn let* org-persist-read] 2 [let file-remote-p let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn] 3 [save-excursion catch hack-local-variables-prop-line append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks] 1 [editorconfig-set-trailing-nl editorconfig-set-local-variables progn if save-current-buffer condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let] 1 [progn unwind-protect let files--transform-file-name if let make-lock-file-name "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let condition-case if] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 8 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq progn progn] 2 [-union sp--merge-prop sp--merge-pairs sp--merge-pair-configurations sp-update-local-pairs -each sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn] 3 [file-name-as-directory let if or let if let while let file-truename file-name-as-directory let if or let if] 2 [let file-name-sans-versions setq let if set-auto-mode--apply-alist setq let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply] 2 [intern-soft doom-run-hooks if doom-run-local-var-hooks-h run-hooks hack-local-variables-apply hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks] 3 [if let "#<lambda 0x336705ca5cb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn let* org-persist-register progn] 1 [turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [equal if let if let while let file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 1 [or not while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let] 2 [if 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 condition-case] 1 [macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection] 1 [find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let] 1 [sort-coding-systems find-coding-systems-region select-safe-coding-system secure-hash setq if let "#<lambda 0x361fb8bf1cb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn] 1 [kill-buffer and unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq if progn if let* progn progn let*] 1 [and list and let progn if org-extract-log-state-settings let let while let let* let while let let] 1 [let save-excursion org-element-keyword-parser org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0 progn if] 3 [inhibit-local-variables-p not and let set-auto-mode-1 so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 5 [gethash or setq let let while let catch and let* with-no-warnings org-persist--find-index or org-persist--get-collection let progn] 1 [org-fold-initialize let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 1 [format-decode "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let condition-case if save-current-buffer let find-file-noselect-1 if let* if] 1 [macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let while let let] 1 [if let* progn unwind-protect let abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 4 [org-fold-core-set-folding-spec-property if let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 1 [let if or let if let while let file-truename abbreviate-file-name let find-buffer-visiting and let* if if] 2 [font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if] 3 [org-collect-keywords let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers if if] 1 [if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 1 [set if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0 progn if] 2 [if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks apply] 4 [let while let let if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let while let let cond org--tag-add-to-alist] 2 [not and while let while let inhibit-local-variables-p so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>"] 1 [and or let if let while let file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 4 [equal if if let if let while let file-truename "#<compiled 0x2f989732160c3bb>" cl-some projectile-project-root project-projectile project--find-in-directory project-current breadcrumb--project-crumbs-1] 1 [if let file-truename abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer] 1 ["#<compiled 0x82cf4bb5d989c98>" apply after-find-file if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 1 [let while let file-truename file-name-as-directory let if or let if let while let file-truename "#<compiled 0x1da724073fc2dde1>" cl-some] 1 ["#<compiled 0x91afeb3df1b2f56>" mapcar "#<compiled 0x185766b07c2395f4>" apply seq-map seq-filter let progn if save-current-buffer let while let org-element-cache-reset let progn] 9 [abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks apply run-mode-hooks org-mode funcall progn if] 2 [unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq if progn if let* progn progn let* org-persist-read progn] 1 [editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core-get-properties-hash funcall setq condition-case let editorconfig-call-get-properties-function setq progn if condition-case] 1 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_4>" "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_4>" mapc yas--modes-to-activate yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn] 4 ["#<compiled -0x453bd11ad00398c>" mapcar "#<compiled -0x3690cf2b16d4562>" projectile-locate-dominating-file projectile-root-bottom-up projectile-root-marked "#<compiled 0x1da724073fc2dde1>" cl-some projectile-project-root project-projectile project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers] 4 [intern-soft doom-run-hooks if doom-run-local-var-hooks-h run-hooks hack-local-variables-apply progn if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks] 1 ["#<compiled 0x13403800b8fc9d4>" cl-some "#<compiled -0x3690cf2b16d4562>" projectile-locate-dominating-file projectile-root-bottom-up projectile-root-marked "#<compiled 0x1da724073fc2dde1>" cl-some projectile-project-root project-projectile project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers] 3 ["#<compiled 0x91afedaca35bb56>" mapcar "#<compiled 0x185766b07c2395f4>" apply seq-map seq-filter let progn if save-current-buffer let while let org-element-cache-reset progn if] 3 [car eq if let cond let* and 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] 1 [company-mode company-mode-on global-company-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply] 3 [cconv-make-interpreted-closure function cl-mapcan mapcar set let progn if org-set-regexps-and-options let progn org-mode funcall progn if if] 1 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 3 [and or let if let while let file-truename abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let] 2 [org-element--cache-after-change insert let progn unwind-protect save-current-buffer let let cond org-element-parse-secondary-string org-macro--find-date org-macro--collect-macros org-macro-initialize-templates let progn org-mode] 1 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function assoc-default save-restriction save-excursion setq if if let] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 56 [or let if let while let file-truename abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a] 1 [advice--remove-function "#<compiled -0x1103d0c22555050b>" advice--tweak advice--remove-function advice--add-function advice-add org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn] 1 [org-fold-core--property-symbol-get-create org-fold-core-get-folding-spec org-fold-core--fix-folded-region insert let progn unwind-protect save-current-buffer let let cond org-element-parse-secondary-string org-macro--find-date org-macro--collect-macros org-macro-initialize-templates let] 1 [apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 2 [let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn let* org-persist-register progn] 1 [org-fold-core--fix-folded-region insert let progn unwind-protect save-current-buffer let let cond org-element-parse-secondary-string org-macro--find-date org-macro--collect-macros org-macro-initialize-templates let progn org-mode] 1 [if save-current-buffer condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function] 1 [let file-name-sans-versions if let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append let if] 6 [or setq let let while let catch and let* with-no-warnings org-persist--find-index or org-persist--get-collection let progn let*] 3 [org-element-create let let save-excursion org-element-property-drawer-parser cond setq let save-excursion org-element--current-element setq if if while let let*] 2 [editorconfig--disabled-for-filename not and if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a] 1 [setq org-persist--get-collection let progn let* org-persist-register progn if progn if progn if save-current-buffer let while let] 1 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_23>" mapcar org-fold-core-next-folding-state-change org-fold-core--fix-folded-region insert let progn unwind-protect save-current-buffer let let cond org-element-parse-secondary-string org-macro--find-date org-macro--collect-macros org-macro-initialize-templates] 1 [advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if] 1 [setq while let inhibit-local-variables-p not and let set-auto-mode-1 setq and save-excursion let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode] 1 [setq progn progn if let "#<lambda 0x33b7169e1cb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register] 1 [set if if progn condition-case let while let progn unwind-protect save-current-buffer let let cond org-element-parse-secondary-string org-macro--find-date] 1 [concat setq if if let if let while let file-truename abbreviate-file-name let find-buffer-visiting and let* if] 1 [if expand-file-name let* progn if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file let progn] 1 [search-forward and let set-auto-mode-1 setq and save-excursion let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let] 2 [concat setq let cond file-truename abbreviate-file-name let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 2 [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 save-current-buffer] 1 [and let* progn unwind-protect let abbreviate-file-name projectile-locate-dominating-file projectile-root-bottom-up projectile-root-marked "#<compiled -0x1b02e97213883eee>" cl-some projectile-project-root project-projectile project--find-in-directory project-current breadcrumb--project-crumbs-1] 1 [if while let if set-auto-mode--apply-alist setq if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let] 1 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn if progn if] 1 ["#<compiled 0x13403800b8fc9d4>" cl-some "#<compiled -0x196f9dc80b4e6e46>" projectile-locate-dominating-file projectile-root-bottom-up "#<compiled -0xfed3dcc6e3f8e65>" cl-some projectile-project-root project-projectile project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks] 1 [let while let file-truename "#<compiled -0xfed3dcc6e3f8e65>" cl-some projectile-project-root project-projectile project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if] 1 [cond let* and let* org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 2 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 2 [and line-end-position search-forward and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables] 2 [if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 3 ["#<compiled -0xfed3dcc6e3f8e65>" cl-some projectile-project-root project-projectile project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply] 1 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1] 2 [setq progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 2 [let* org-persist--normalize-container setq progn let* org-persist-register progn if progn if progn if save-current-buffer let while let] 1 [or let if let* progn if let save-excursion org-element--current-element setq if if while let let* save-restriction] 1 [editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core-get-properties-hash funcall setq condition-case let editorconfig-call-get-properties-function setq progn if condition-case let] 4 [if let org-element--cache-verify-element and if let save-restriction save-excursion save-excursion let if org-element-at-point let while let save-restriction] 1 [setq let let while let catch and let* with-no-warnings org-persist--find-index or org-persist--get-collection let progn let* org-persist-register] 1 [set-buffer save-current-buffer while let or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 2 [let* and let* org-element-contents-begin let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case] 3 [if let* progn if let if let* let progn if let while let save-restriction save-excursion save-excursion] 1 [<= and while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 5 [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 condition-case] 3 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn if progn let* org-persist-register progn if progn] 1 [let* and 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] 2 [save-excursion let hack-local-variables--find-variables append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode funcall progn if] 1 [-unfold sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if] 1 [save-current-buffer aset let* progn age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if] 4 [and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents] 2 [if progn if org-element--cache-persist-before-read run-hook-with-args-until-success "#<lambda 0x1d11aec9bab1300a>" "#<compiled -0x982f29874815e9a>" mapc seq-do seq-find if progn if let* progn progn] 1 [replace-buffer-in-windows kill-buffer and unwind-protect save-current-buffer let progn if age-scrypt-p aset let* progn let* age-file-insert-file-contents apply if] 4 [apply insert-file-contents let condition-case if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 2 [or if let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name auto-save-mode progn if if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a] 2 [save-restriction save-excursion setq if if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if] 1 [org-persist--read-elisp-file or setq if progn if let* progn progn let* org-persist-read progn let* org-persist-load progn if] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let while let let cond org--tag-add-to-alist setq] 1 [doom-fallback-buffer eq not doom-protect-fallback-buffer-h kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply] 2 [org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 1 [age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler] 1 [or not while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables cdr let* condition-case if let] 2 [add-hook whitespace-color-on whitespace-turn-on whitespace-mode if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if] 2 [let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name auto-save-mode progn if if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 4 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function assoc-default save-restriction save-excursion setq if if let "#<lambda 0x1b80d08c0306706f>"] 1 [if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks] 1 [and if let progn unwind-protect let org-roam--file-name-extension let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file] 4 [insert save-restriction age-file-decode-and-insert if setq let save-excursion progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect] 9 [if let while let save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers if if let] 1 [file-remote-p let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if] 1 [set-auto-coding decode-coding-inserted-region save-restriction age-file-decode-and-insert if setq let save-excursion progn unwind-protect let* age-file-insert-file-contents apply if let progn] 12 [equal cond while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables cdr let* condition-case if let] 1 [progn if save-current-buffer condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply] 2 [setq org-persist--get-collection let progn if progn let* org-persist-register progn if progn if progn if save-current-buffer let] 1 [apply if editorconfig--advice-insert-file-contents apply insert-file-contents let insert-file-contents-literally progn unwind-protect let* progn unwind-protect save-current-buffer let progn if] 2 [undo-auto--boundary-timer apply timer-event-handler accept-process-output while age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply] 2 [file-name-directory setq equal cond while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case] 1 [let if progn unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let*] 6 [setq dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode] 2 [if let while let file-truename abbreviate-file-name let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 1 [display-warning editorconfig--advice-insert-file-contents apply insert-file-contents let insert-file-contents-literally progn unwind-protect let* progn unwind-protect save-current-buffer let progn if age-scrypt-p] 4 [age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply] 1 [envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 2 [breadcrumb--format-project-node breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn let* org-persist-register] 2 [called-interactively-p getenv list seq-find let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect] 1 [funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name auto-save-mode progn if if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply] 2 [setq let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name auto-save-mode] 1 [let let while let let* let while let let if let progn if org-set-regexps-and-options let progn] 1 [and let* progn unwind-protect let abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 2 [and or let if let while let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p] 11 [cconv-make-interpreted-closure function mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn let* org-persist-register progn if] 1 [and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>"] 1 [string= and cond file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 1 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn if progn let*] 1 [if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name or file-newer-than-file-p and if cond let* if] 1 [sp-update-local-pairs -each sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let*] 6 [assq-delete-all unrecord-window-buffer replace-buffer-in-windows kill-buffer and unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file setq condition-case progn] 3 [concat setq let cond file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a] 10 [and not and if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file] 2 [list append age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if] 1 [setq equal cond while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir] 3 [cconv--analyze-function cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn] 1 [font-lock-remove-keywords org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [remove-hook font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode progn if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply] 3 [envrc--apply "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a] 2 [string-match-p or setq let while let let cond let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply] 1 [save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn if org-set-regexps-and-options let progn org-mode funcall progn] 3 [save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if] 2 [function seq-find let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents] 1 [global-eldoc-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply] 1 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_27>" internal--without-restriction org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let] 2 [let file-remote-p and if progn if save-current-buffer condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>"] 4 [let while let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply] 4 [global-undo-tree-mode-cmhh text-mode outline-mode let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [progn if if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if] 2 [cdr age-context-result-for let age--check-error-for-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let] 1 [sp--merge-pair-configurations sp-update-local-pairs -each sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 3 [setq let while let let* let* let while let let if let progn if org-set-regexps-and-options let] 2 [if save-current-buffer while and let* or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 9 [cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn if] 2 ["#<compiled 0x1a5c8287b93d094d>" add-hook goggles-mode run-hooks apply run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [if warn-maybe-out-of-memory progn if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq] 1 [apply if doom--inhibit-saveplace-in-long-files-a apply save-place-to-alist kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents] 2 [font-lock-compile-keywords font-lock-add-keywords whitespace-color-on whitespace-turn-on whitespace-mode if doom-highlight-non-default-indentation-h run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn] 2 [equal if if let if let while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if] 3 [if substring if let file-name-sans-versions if let inhibit-local-variables-p not let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode] 1 [seq-drop org-element-create let save-excursion org-element-keyword-parser org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0] 1 [file-truename file-name-as-directory let if or let if let while let file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>"] 1 [save-excursion progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents] 3 [sp--update-sp-pair-list sp-update-local-pairs -each sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 3 [progn if let* progn if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file let progn] 6 [macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let*] 3 [let let "#<lambda 0x34a6b3df9cb>" funcall cond let* org-persist--normalize-associated setq progn progn let* org-persist-read progn let* org-persist-load progn] 1 [equal if if let if let while let file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq] 1 [and if editorconfig--advice-insert-file-contents apply insert-file-contents if progn unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq if progn] 1 [function mapcar append or let if let progn if org-set-regexps-and-options let progn org-mode funcall progn if] 1 [function mapcar "#<lambda 0x1e109aac0cd3da>" funcall cond let* cond let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn let*] 1 [let while let file-truename file-name-as-directory let if or let if let while let file-truename abbreviate-file-name let] 1 [inhibit-local-variables-p not and if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables setq and let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode] 3 [and if editorconfig--advice-insert-file-contents apply insert-file-contents let if progn unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file] 1 [inhibit-local-variables-p so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply] 7 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>"] 2 [let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let insert-file-contents-literally progn unwind-protect let*] 1 [let while let file-truename file-name-as-directory let if or let if let while let file-truename abbreviate-file-name if] 1 [auto-save-mode progn if if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file] 2 [if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0 progn if let] 2 [cond file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 1 [let if let if let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 59 [not while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory] 1 [regexp-opt-group regexp-opt concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn if org-set-regexps-and-options] 2 [if let* progn unwind-protect let abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer] 3 [let cond file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file] 1 [if substring if let file-name-sans-versions if let inhibit-local-variables-p not and let set-auto-mode-1 setq and save-excursion let] 2 ["#<compiled 0xa081e0099326ea0>" undo-tree-overridden-undo-bindings-p turn-on-undo-tree-mode global-undo-tree-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let] 2 [let if let while let file-truename file-name-as-directory let if or let if let while let file-truename] 4 [-sort sp--update-sp-pair-list sp-update-local-pairs -each sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 2 [setq while and let* or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 2 [and if editorconfig--advice-insert-file-contents apply insert-file-contents let condition-case if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>"] 1 [cond file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if] 4 [setq while let inhibit-local-variables-p not let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if] 1 [with-no-warnings org-persist--find-index let* progn progn let* org-persist-read progn let* org-persist-load progn if let progn org-mode funcall] 1 [if substring if let file-name-sans-versions auto-minor-mode--plain-filename auto-minor-mode--run-auto auto-minor-mode-set apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode] 1 [and if warn-maybe-out-of-memory progn if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect] 1 [if or let if let while let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p] 2 [let* global-hl-line-mode-cmhh text-mode outline-mode let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [setq let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers if if] 2 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt concat org-make-options-regexp let save-restriction save-excursion] 1 [let progn if progn let* org-persist-register progn if progn if progn if save-current-buffer let while let] 1 [abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables] 3 [project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if] 1 [or file-newer-than-file-p and if cond let* if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply] 1 [or let if let while let file-truename abbreviate-file-name let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 1 [while let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file] 1 [while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq] 1 [if while let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name] 4 [general-unbind-non-prefix-key apply define-key breadcrumb--format-project-node breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0] 1 [org-fold-core-set-folding-spec-property "#<compiled -0x41943c912b796e1>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize let progn org-mode funcall progn if if set-auto-mode-0 progn if let] 2 [org-macro--find-date org-macro--collect-macros org-macro-initialize-templates let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 4 ["#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply] 3 [let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file] 1 [and if let let if let* progn unwind-protect let abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if] 3 [while let inhibit-local-variables-p not and if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables setq and let "#<lambda 0x1b80d08c0306706f>" apply] 1 [if while let file-truename file-name-as-directory let if or let if let while let file-truename file-name-as-directory let] 1 [secure-hash setq if let "#<lambda 0x33a6bb265cb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn] 1 [advice--tweak advice--remove-function advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 1 [function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection] 2 [set-buffer save-current-buffer while and let* or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 3 [sp--merge-pairs sp--merge-pair-configurations sp-update-local-pairs -each sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 3 [if if let if let while let file-truename file-name-as-directory let if or let if let while] 1 [file-newer-than-file-p and if cond let* if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 1 [better-jumper-local-mode turn-on-better-jumper-mode better-jumper-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply] 1 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq] 3 [apply insert-file-contents let if progn unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file setq condition-case progn] 3 [and let progn if org-extract-log-state-settings let let while let let* let while let let if let] 1 [while let if let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply] 1 [- < and let or not let normal-backup-enable-predicate funcall not and save-current-buffer let find-file-noselect-1 if let*] 1 [function find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if] 1 [let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 3 [set let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 4 [cdr age-context-result-for nreverse age-context-set-result-for age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if] 1 [save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq] 3 [let global-hl-line-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 1 [let file-remote-p envrc-global-mode-enable-in-buffers run-hooks apply run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 2 [progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let insert-file-contents-literally progn unwind-protect let* progn] 1 [oclosure--copy advice--copy advice--make advice--add-function advice-add org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn if] 1 [substring decode-coding-inserted-region save-restriction age-file-decode-and-insert if setq let save-excursion progn unwind-protect let* age-file-insert-file-contents apply if let progn] 5 [cconv-make-interpreted-closure function set org-setup-filling let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [mapcar "#<compiled 0x185766b07c2395f4>" apply seq-map seq-filter let progn if save-current-buffer let while let org-element-cache-reset let progn org-mode] 1 [line-end-position search-forward and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply] 1 [let* let while let let cond org--tag-add-to-alist setq save-restriction save-excursion save-current-buffer catch let while let let] 1 [cond let* cond let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn let* org-persist-register progn if progn] 1 [equal if let if let while let file-truename abbreviate-file-name let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>"] 2 [org-collect-keywords let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0 progn if let] 1 [set progn if progn if save-current-buffer progn if org-element--cache-persist-after-read run-hook-with-args while let* progn if if progn] 1 [inhibit-local-variables-p not and if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks] 1 [progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn] 1 [cl-subst projectile-project-root project-projectile project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 1 [let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if] 1 [while let org-assign-fast-keys setq progn if let progn if org-set-regexps-and-options let progn org-mode funcall progn if] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq] 1 [setq let if let while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if] 3 [while let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 1 [age-context-set-result-for age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect] 2 [org-persist-register progn if progn if progn if save-current-buffer let while let org-element-cache-reset let progn org-mode funcall] 2 [and "#<lambda 0x270430e7ac42be>" "#<compiled -0x982f29874815e9a>" mapc seq-do seq-find let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case] 3 [let org-roam--file-name-extension let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file] 1 ["#<compiled 0xadbf46e1a6d685a>" advice--add-function advice-add org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [face-attribute face-foreground list nconc remove let org-find-invisible-foreground let let progn org-mode funcall progn if if set-auto-mode-0] 1 [mapcar cons let* org-collect-keywords let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0] 1 [org-persist--get-collection let progn if progn let* org-persist-register progn if progn if progn if save-current-buffer let while] 1 [after-insert-file-set-coding "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let insert-file-contents-literally progn unwind-protect let* progn unwind-protect save-current-buffer let] 1 [and while and let* or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 3 [undo-auto--boundary-timer apply timer-event-handler sleep-for age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if] 12 [if let inhibit-local-variables-p not and let set-auto-mode-1 so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>"] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn] 1 [let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks] 1 [let if let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file] 3 [setq progn if while let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a] 2 [let if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0 progn if] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure] 12 [or not while let if let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if] 2 [if let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name or] 1 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function hack-dir-local--get-variables cdr let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply] 1 [let insert-file-contents-literally progn unwind-protect let* progn unwind-protect save-current-buffer let progn if age-scrypt-p aset let* progn let*] 1 [unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>"] 2 [cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn] 1 [substring let if let if let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks] 1 [if let while let file-truename file-name-as-directory let if or let if let while let file-truename equal] 1 [general-unbind-non-prefix-key apply define-key let let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 2 [let if let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 1 [setq dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks] 2 [company-init-backend company-mode company-mode-on global-company-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 2 [if let if set-auto-mode--apply-alist setq let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case] 1 [and let* progn unwind-protect let abbreviate-file-name let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 2 [derived-mode-p "#<subr save-place-to-alist>" apply if doom--inhibit-saveplace-in-long-files-a apply save-place-to-alist kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect] 2 [let file-remote-p envrc-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [nreverse age-context-set-result-for age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn] 1 [let while let save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers if if let org-agenda-prepare] 1 [cconv-make-interpreted-closure function maphash progn let editorconfig-call-get-properties-function setq progn if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 24 [jit-lock-register jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 3 [turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply] 2 [list org-persist--find-index or org-persist--get-collection let progn if progn let* org-persist-register progn if progn if progn if] 1 [let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables] 1 [and let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if] 1 [advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a] 1 [if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode funcall progn if] 1 [not doom-protect-fallback-buffer-h kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let] 1 [let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 1 [setq let while let let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory] 1 [setcar while let file-truename file-name-as-directory let if or let if let while let file-truename file-name-as-directory let] 1 [ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 4 [org-persist--display-time prog1 let condition-case progn unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq if progn if let*] 1 [and while and let* or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if] 3 [progn if let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name] 1 [undo-tree-overridden-undo-bindings-p turn-on-undo-tree-mode global-undo-tree-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply] 2 [progn if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode funcall progn if if set-auto-mode-0] 1 [file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq] 1 [function let* org-persist--normalize-associated setq progn progn let* org-persist-read progn let* org-persist-load progn if let progn org-mode] 1 [and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect] 1 [cdr let let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 3 [and if hack-dir-local--get-variables cdr let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let] 1 [and progn or progn kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply] 1 [let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if] 1 [setq progn if let let "#<lambda 0x33fdb1fa5cb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function maphash progn let editorconfig-call-get-properties-function setq progn if] 1 [while let file-truename file-name-as-directory let if or let if let while let file-truename equal and if] 1 [if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks] 3 [and if if if save-current-buffer progn if let while let let global-hl-line-mode-enable-in-buffers run-hooks if normal-mode if] 1 [progn if if progn if let* progn progn let* org-persist-read progn let* org-persist-load progn if let] 1 [if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn if] 1 [font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 1 [string= and if editorconfig--advice-insert-file-contents apply insert-file-contents let condition-case if save-current-buffer let find-file-noselect-1 if let* if if] 4 [and if let progn unwind-protect let file-name-sans-extension file-name-base breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if] 1 [save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn if org-set-regexps-and-options let progn org-mode funcall progn if if] 1 [if save-current-buffer let while let org-element-cache-reset progn if or and save-current-buffer org-element--cache-active-p if let save-restriction save-excursion] 1 [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 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container let* cons setq if] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let while let let cond org--tag-add-to-alist] 1 [and cond file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq] 1 [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 let* save-restriction] 2 [setq if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let] 1 [yas--modes-to-activate yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection] 1 [if if if let if let while let file-truename file-name-as-directory let if or let if let] 2 [advice--car advice--member-p advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 1 [apply seq-drop org-element-create let save-excursion org-element-keyword-parser cond cond let cond setq let save-excursion org-element--current-element setq if] 1 [macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container list] 1 [if let cond let* and 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] 1 [setq progn if let let "#<lambda 0x3a129e85dcb>" funcall cond let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn] 1 [function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn let* org-persist-register] 2 [macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function seq-find let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn] 1 [while let if set-auto-mode--apply-alist setq if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode] 1 [org-set-font-lock-defaults let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 1 [aset let* progn let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents] 1 [if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect] 3 [cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn let*] 1 [progn let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply] 1 [if progn let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq] 1 [cons "#<lambda 0x33292844b923e>" mapcar append or let if let progn if org-set-regexps-and-options let progn org-mode funcall progn] 1 [function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn if progn if progn if save-current-buffer] 2 [function mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn let* org-persist-register progn if progn] 1 [or not while let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks apply run-mode-hooks org-mode funcall] 2 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 1 [while let* progn if if progn if let* progn progn let* org-persist-read progn let* org-persist-load progn] 2 [let if save-excursion let hack-local-variables--find-variables append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode jinx--on global-jinx-mode-enable-in-buffers] 2 [looking-at-p if let if org-element--collect-affiliated-keywords let cond setq let save-excursion org-element--current-element setq if if while let] 2 [setq let cond file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply] 1 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-modern--make-font-lock-keywords org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0] 1 [while let let while let let let +company--backends set or +company-init-backends-h run-hooks run-mode-hooks org-mode funcall progn] 1 [string-match-p let progn if let progn unwind-protect save-current-buffer let progn if age-scrypt-p aset let* progn let*] 3 [while let inhibit-local-variables-p not and let set-auto-mode-1 so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>"] 1 [inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply] 5 [locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables cdr let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode] 2 [let file-name-sans-versions if let inhibit-local-variables-p so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 1 [setq let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name or] 1 [progn unwind-protect let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables cdr let* condition-case if] 1 [cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function cl-mapcan mapcar set let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer] 1 [abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 2 [and if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn] 2 [let save-restriction save-excursion save-excursion let if org-element-at-point let while let save-restriction save-excursion save-excursion let org--collect-keywords-1 let*] 1 [avl-tree-mapc progn if progn if save-current-buffer progn if org-element--cache-persist-after-read run-hook-with-args while let* progn if if progn] 1 [save-current-buffer progn if let while let let global-hl-line-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0] 1 [unwind-protect let org-roam--file-name-extension let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect] 2 [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 [chain-doom-first-file-hook-to-find-file-hook-h apply after-find-file if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 1 [derived-mode-p apply ws-butler-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply] 1 [not and while let inhibit-local-variables-p not and let set-auto-mode-1 setq and save-excursion let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>"] 5 [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* save-restriction] 2 [equal and if let let if let* progn unwind-protect let abbreviate-file-name let find-buffer-visiting and let* if] 2 [progn if let* age-context-set-result-for age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if] 1 [backup-file-name-p not and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn unwind-protect] 3 [if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let condition-case if save-current-buffer] 1 [backup-file-name-p or if if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file] 1 [while let inhibit-local-variables-p not and if let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode jinx--on global-jinx-mode-enable-in-buffers] 1 [merge-coding-systems let editorconfig-merge-coding-systems setq progn if condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall] 1 [concat setq if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply] 1 [unwind-protect let save-excursion org-at-comment-p and while save-restriction save-excursion or progn if let* save-restriction save-excursion org-element-org-data-parser setq] 2 [if let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file] 2 [secure-hash equal and if save-current-buffer if progn if org-element--cache-persist-before-read run-hook-with-args-until-success "#<lambda -0x64ee7661adc4dad>" "#<compiled -0x982f29874815e9a>" mapc seq-do seq-find if] 1 [not and if save-current-buffer condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a] 1 [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 condition-case if setq] 4 [function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn progn let*] 1 [global-company-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply] 1 [concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn if org-set-regexps-and-options let progn] 1 [unwind-protect let abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar org-remove-keyword-keys if let* let* let] 1 [font-lock-mode progn if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply] 1 [org-element-cache-reset progn if or and save-current-buffer org-element--cache-active-p if let save-restriction save-excursion save-excursion let if org-element-at-point let] 1 [if let while let file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 1 [seq-map seq-filter car if let hack-local-variables--find-variables or and if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables setq and] 1 [if let* if let* org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 2 [cconv--analyze-function cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container let* cons setq if progn if] 1 [save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers if if let org-agenda-prepare catch org-agenda-list funcall-interactively] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let] 1 [and if let while let let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc] 1 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn] 1 [cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn let*] 1 [cconv-make-interpreted-closure function seq-find let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let*] 1 [so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply] 2 [let org-find-invisible-foreground let let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function seq-filter let progn if save-current-buffer let while let org-element-cache-reset progn if] 2 [setq let while let let* progn if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file] 1 [car if let cond let* or let if progn if save-current-buffer org-element--cache-put cond let* save-restriction save-excursion] 1 [car string-match if while let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a] 1 [format-decode "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let if progn unwind-protect save-current-buffer let age-read-output if progn] 2 [let save-excursion org-element-keyword-parser cond cond let cond setq let save-excursion org-element--current-element setq if if while let] 2 [let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let while] 1 [global-set-key undo-tree-overridden-undo-bindings-p turn-on-undo-tree-mode global-undo-tree-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 1 [and while let while let inhibit-local-variables-p not and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append let] 1 [if let* if 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 [setq let* cons setq if progn if while let* progn if if progn if let* progn] 1 [if save-excursion let hack-local-variables--find-variables append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables jinx-mode jinx--on global-jinx-mode-enable-in-buffers run-hooks] 1 [apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let] 1 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn let* org-persist-register progn if progn if progn] 1 [list let org-set-font-lock-defaults let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 2 [if save-current-buffer let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply] 2 [if org-element--cache-persist-before-read run-hook-with-args-until-success "#<lambda -0x15fbfeadf35e8a76>" "#<compiled -0x982f29874815e9a>" mapc seq-do seq-find if progn if let* progn progn let* org-persist-read] 1 [buffer-list let or let find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 1 [or let if progn if let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 1 [and or org-fold-initialize let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [yas--load-pending-jits yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 2 [cconv-fv cconv-make-interpreted-closure function seq-find if progn if let* progn progn let* org-persist-read progn let* org-persist-load progn] 2 [face-attribute face-background list nconc remove let org-find-invisible-foreground let let progn org-mode funcall progn if if set-auto-mode-0] 1 [let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name or file-newer-than-file-p and if cond let* if "#<lambda -0x1c3665d8c491a6e>"] 3 [progn unwind-protect let save-excursion org-at-comment-p and while save-restriction save-excursion or progn if let* save-restriction save-excursion org-element-org-data-parser] 3 [smartparens-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 1 [condition-case progn if save-current-buffer condition-case let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a] 1 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection] 1 [cconv--analyze-function cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn if progn let* org-persist-register] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let*] 1 [progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name or file-newer-than-file-p and] 2 [unrecord-window-buffer replace-buffer-in-windows kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let] 1 [and 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] 5 [org-element-create let save-excursion org-element-keyword-parser cond cond let cond setq let save-excursion org-element--current-element setq if if while] 1 [cdr progn if "#<lambda -0x80217c7df7b1dfd>" mapcar nconc remove let org-find-invisible-foreground let let progn org-mode funcall progn if] 1 [list if if append age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents] 1 [cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn let* org-persist-register progn if progn if progn if save-current-buffer] 1 [cconv-make-interpreted-closure function hack-dir-local--get-variables cdr let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let] 2 ["#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn if progn let* org-persist-register progn] 1 [if chain-doom-first-buffer-hook-to-find-file-hook-h apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file if save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 1 [progn let save-excursion org-element-keyword-parser cond cond let cond setq let save-excursion org-element--current-element setq if if while] 3 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 23 [font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 1 [abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables cdr let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply] 1 [setq equal cond while let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks apply run-mode-hooks org-mode] 2 [org-roam--file-name-extension let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq] 1 [hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn] 2 [let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn progn let* org-persist-read] 1 [string= and cond file-truename file-name-as-directory let if or let if let while let file-truename file-name-as-directory let] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function seq-find let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq] 1 [hl-line-mode-set-explicitly hl-line-mode and if if if save-current-buffer progn if let while let let global-hl-line-mode-enable-in-buffers run-hooks run-mode-hooks] 1 [and if progn if progn if save-current-buffer let while let org-element-cache-reset let progn org-mode funcall progn] 1 [assq-delete-all unrecord-window-buffer replace-buffer-in-windows kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if] 2 [called-interactively-p smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>"] 1 [let abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch] 1 [timer-inc-time timer-event-handler accept-process-output while age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if] 1 [and if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect] 1 [global-dash-fontify-mode-cmhh kill-all-local-variables normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file] 1 [if let* if let* org-element-contents-end let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 1 [let age-find-configuration let let* age-context--make age-make-context let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>"] 1 [cconv-make-interpreted-closure function mapcar delq let if let progn if org-set-regexps-and-options let progn org-mode funcall progn if] 2 ["#<subr save-place-to-alist>" apply if doom--inhibit-saveplace-in-long-files-a apply save-place-to-alist kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let*] 1 [let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers] 1 [or not while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc] 1 [search-forward and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line or and if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables] 1 [if let* if 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] 3 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function avl-tree-mapc progn if] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let while let] 1 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-container let* cons setq if progn if while let* progn if] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let while let let cond] 1 [cl-remove-if-not editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core-get-properties-hash funcall setq condition-case let editorconfig-call-get-properties-function setq progn if condition-case] 2 [if setq progn while let if let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated] 1 [or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch let] 3 [file-attribute-file-identifier let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>"] 1 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function find-buffer-visiting and let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect] 1 [append and append setq let* let* let while let let if let progn if org-set-regexps-and-options let] 1 [cconv-make-interpreted-closure function let* org-persist--normalize-container let* cons setq if progn if while let* progn if if progn] 1 [apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer catch let] 1 [if substring if let file-name-sans-versions setq let if set-auto-mode--apply-alist setq let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply] 1 [let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file] 1 [setq while let locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update envrc-mode envrc-global-mode-enable-in-buffers run-hooks apply run-mode-hooks org-mode funcall progn] 1 [or setq let while let let cond let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file] 1 [envrc-global-mode-cmhh kill-all-local-variables normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply after-find-file] 1 [org-cite-get-processor org-cite-try-load-processor if progn list let org-set-font-lock-defaults let progn org-mode funcall progn if if set-auto-mode-0 progn] 1 [org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if let "#<lambda 0x1b80d08c0306706f>" apply] 1 [let age-file-run-real-handler condition-case let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents] 1 [advice--tweak advice--remove-function advice--add-function advice-add org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn if let] 1 [setq while let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container let* cons setq if progn if while let*] 1 [org-modern--update-label-face org-modern-mode org-modern--on global-org-modern-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 2 [yas--load-pending-jits yas-minor-mode yas-minor-mode-on yas-global-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [if let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq] 1 [progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler] 1 [let file-name-sans-versions let progn unwind-protect let file-name-sans-extension file-name-base breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function seq-find if progn if let* progn progn let* org-persist-read] 1 [save-excursion setq if if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if "#<lambda -0x1c3665d8c491a6e>"] 1 [buffer-list seq-filter let progn if save-current-buffer let while let org-element-cache-reset progn if or and save-current-buffer org-element--cache-active-p] 1 [cond org--tag-add-to-alist setq save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers if if let org-agenda-prepare] 1 [apply save-place-to-alist kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let] 3 [if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn unwind-protect] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e109aac0cd3da>" funcall cond let* cond let*] 1 [eq not doom-protect-fallback-buffer-h kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if] 1 [concat setq if if let if let while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1] 3 [apply define-key breadcrumb--format-project-node breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let*] 1 [org-persist--get-collection let progn let* org-persist-register progn if progn if progn if save-current-buffer let while let org-element-cache-reset] 1 [called-interactively-p auto-save-mode progn if if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply] 1 [progn let* save-restriction save-excursion org-element-org-data-parser setq cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 1 [set-buffer save-current-buffer while let or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if] 3 [upcase org-element--get-cached-string progn let save-excursion org-element-keyword-parser cond cond let cond setq let save-excursion org-element--current-element setq if] 1 [not or and if hack-dir-local--get-variables cdr let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode] 1 [and let or not let normal-backup-enable-predicate funcall not and save-current-buffer let find-file-noselect-1 if let* if if] 1 [while let let global-hl-line-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [let if progn if let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn] 3 [if let if let while let file-truename file-name-as-directory let if or let if let while let] 3 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function seq-find let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case] 2 [sp--update-local-pairs sp--init smartparens-mode turn-on-smartparens-mode smartparens-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply] 1 [let* or let if progn if save-current-buffer org-element--cache-put cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case] 1 [if unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler] 1 [and line-end-position search-forward and let set-auto-mode-1 setq and save-excursion let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode] 1 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1 let*] 1 [regexp-opt-group regexp-opt-group regexp-opt concat org-make-options-regexp setq cond let let if let* let progn if let while] 1 [equal if let if let while let file-truename equal and if org-roam-descendant-of-p let* progn if org-roam-file-p] 2 [macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let*] 1 [macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container list org-persist--find-index] 2 [cconv-make-interpreted-closure function mapcar org-remove-keyword-keys if let* let* let while let let if let progn if org-set-regexps-and-options] 1 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 5 [aset let* progn age-wait-for-completion progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let] 1 [let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers if if let] 1 [cconv-fv cconv-make-interpreted-closure function mapcar "#<lambda 0x1e109aac0cd3da>" funcall cond let* cond let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let] 1 [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] 3 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq progn progn let* org-persist-read progn let* org-persist-load progn] 1 [unrecord-window-buffer replace-buffer-in-windows kill-buffer and unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect] 1 [set-display-table-slot progn if let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [regexp-opt concat org-make-options-regexp setq cond let let if let* let progn if let while let save-restriction] 1 [org-persist-load progn if let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [prog1 cons setq if while let* let progn unwind-protect save-current-buffer let progn if age-scrypt-p aset let*] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 1 [if let* 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] 1 [abbreviate-file-name setq locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables hack-dir-local-variables-non-file-buffer project--value-in-dir project-try-vc project--find-in-directory project-current] 2 [yas-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function assoc-default save-restriction save-excursion setq if if let "#<lambda 0x1b80d08c0306706f>"] 1 [cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn if progn let* org-persist-register] 1 [cond +org-init-gifs-h funcall condition-case doom-run-hook run-hook-wrapped let condition-case let while let doom-run-hooks if doom-run-local-var-hooks-h run-hooks hack-local-variables-apply] 1 [after-insert-file-set-coding "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents if progn unwind-protect save-current-buffer let let org-persist--read-elisp-file or setq] 1 [and if let let if let* progn unwind-protect let abbreviate-file-name setq "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 1 [if while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 2 [if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect setq if let "#<lambda -0x168e06fb4fad9557>"] 1 [delq let if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0 progn] 1 [and let* or let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if set-buffer save-current-buffer] 1 [setq let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if] 1 [set progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents] 1 [advice--p advice--member-p advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container list org-persist--find-index or] 1 [or progn list append age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents] 1 [let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let] 1 [function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn if progn] 2 [kill-buffer and unwind-protect save-current-buffer let progn if age-scrypt-p aset let* progn let* age-file-insert-file-contents apply if let] 1 [funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>"] 1 [cond if org-element--next-mode setq cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 2 [and if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir "#<subr envrc--update>" apply envrc--update] 2 [save-restriction save-excursion save-excursion let if org-element-at-point let while let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords] 1 [and let set-auto-mode-1 let save-excursion catch hack-local-variables-prop-line append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks] 2 ["#<compiled -0x41943c9146dd6e1>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated] 1 [car if let cond let* and 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] 1 [macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn if progn if progn] 1 [apply abort-if-file-too-large eq if progn if let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply] 3 [if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect] 2 [org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e109aac0cd3da>" funcall cond let* cond let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn] 1 [setq let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply] 2 [assoc-delete-all assq-delete-all unrecord-window-buffer replace-buffer-in-windows kill-buffer and unwind-protect save-current-buffer let age-read-output if progn unwind-protect age-decrypt-file setq condition-case] 1 [derived-mode-p doom-modeline-auto-set-modeline run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 1 [progn if dir-locals--all-files funcall if setq while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables cdr] 1 [mapcar set let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let let org-agenda-prepare-buffers if] 1 [progn doom-disable-smartparens-navigate-skip-match-h run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 1 [let* if let* org-element-contents-begin goto-char cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 1 [advice--make advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn] 1 [unwind-protect let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents] 1 [or let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply] 2 [cconv-fv cconv-make-interpreted-closure function hack-dir-local--get-variables cdr let* condition-case if let "#<lambda 0x1b80d08c0306706f>" apply "#<compiled 0x1b90df2a1bf1d418>" so-long--set-auto-mode apply set-auto-mode condition-case] 1 [add-hook text-mode outline-mode let progn org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist] 1 [and if let progn unwind-protect let file-name-sans-extension file-name-base breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall] 1 [age-file-run-real-handler condition-case let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply] 1 [file-modes let or if if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply] 1 [set let org-compute-latex-and-related-regexp if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0] 1 [not and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file setq condition-case progn unwind-protect let*] 1 [doom-make-hashed-auto-save-file-name-a apply make-auto-save-file-name or file-newer-than-file-p and if cond let* if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a] 1 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt concat org-make-options-regexp setq cond let let if] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container "#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e109aac0cd3da>"] 1 [advice--remove-function advice--add-function advice-add org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [file-remote-p envrc-global-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>"] 1 [concat org-make-options-regexp setq cond let let if let* let progn if let while let save-restriction save-excursion] 1 [cl-find-if project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0] 1 [if save-excursion let hack-local-variables--find-variables append let if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables run-mode-hooks org-mode funcall progn] 1 [and progn or progn let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if] 1 [org-persist--normalize-associated setq org-persist--get-collection let progn let* org-persist-register progn if progn if progn if save-current-buffer let while] 1 [if 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] 3 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn let*] 1 [advice--member-p advice--add-function advice-add org-fold--advice-edit-commands let progn org-mode funcall progn if if set-auto-mode-0 progn if let if] 1 [string-match not and while let while let inhibit-local-variables-p so-long--check-header-modes so-long--set-auto-mode apply set-auto-mode condition-case let normal-mode if] 1 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt concat org-make-options-regexp let save-restriction save-excursion save-excursion let org--collect-keywords-1 let* org-collect-keywords let progn] 1 [let* if 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] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function avl-tree-mapc progn] 1 [global-jinx-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn if if set-auto-mode-0 progn if let if set-auto-mode--apply-alist setq if] 1 [progn unwind-protect let* progn unwind-protect save-current-buffer let progn if age-scrypt-p aset let* progn let* age-file-insert-file-contents apply] 1 [cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let while let let cond org--tag-add-to-alist setq save-restriction save-excursion] 1 [file-name-as-directory let if or let if let while let file-truename equal and if org-roam-descendant-of-p let* progn] 1 [= and not and if let let if let* progn unwind-protect let abbreviate-file-name setq locate-dominating-file envrc--find-env-dir] 1 [let if save-excursion let hack-local-variables--find-variables or and if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables setq and let] 1 [setq progn if let progn unwind-protect let files--transform-file-name if let if "#<lambda 0x24b6768056f86ba>" funcall let doom-make-hashed-auto-save-file-name-a apply] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form] 2 [if aset let* progn age-context-set-passphrase-callback let* age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply] 1 [unwind-protect let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect] 1 [save-current-buffer progn if progn let* org-persist-register progn if progn if progn if save-current-buffer let while let] 1 [file-remote-p let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply] 1 [cconv-fv cconv-make-interpreted-closure function mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container setq progn if progn let*] 1 [let* with-no-warnings org-persist--find-index or org-persist--get-collection let progn if progn let* org-persist-register progn if progn if progn] 1 [condition-case if setq let save-restriction save-excursion save-excursion let if org-element-at-point let while let save-restriction save-excursion save-excursion] 1 [regexp-opt setq progn if let progn if org-set-regexps-and-options let progn org-mode funcall progn if if set-auto-mode-0] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function maphash progn let editorconfig-call-get-properties-function setq progn if condition-case let editorconfig--advice-find-file-noselect] 1 [if org-roam-descendant-of-p let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if unwind-protect age-decrypt-file] 1 [setcar while let file-truename abbreviate-file-name if setq save-current-buffer let find-file-noselect-1 if let* if if "#<lambda -0xd6e9bb25a48132a>" apply] 1 [assoc if or let if let while let file-truename abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>" funcall] 1 ["#<lambda 0x11cd4521f>" mapcar "#<lambda 0x1e12b8fbffa8da>" funcall cond let* cond let* org-persist--normalize-container list org-persist--find-index or org-persist--get-collection let progn let*] 1 [setq while let locate-dominating-file project-try-vc project--find-in-directory project-current breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall progn] 1 [< if while let file-truename file-name-as-directory let if or let if let while let file-truename equal] 1 [list org-persist--find-index or org-persist--get-collection let progn let* org-persist-register progn if progn if progn if save-current-buffer let] 1 [let if let* progn unwind-protect let abbreviate-file-name setq "#<lambda -0xd6e9bb25a48132a>" apply setq let let editorconfig--advice-find-file-noselect apply find-file-noselect] 1 [progn let* org-persist-register progn if progn if progn if save-current-buffer let while let org-element-cache-reset progn if] 1 [concat setq if if let if let while let file-truename abbreviate-file-name let find-buffer-visiting org-find-base-buffer-visiting let "#<lambda -0x168e06fb4fad9557>"] 1 [if let if let progn unwind-protect let file-relative-name breadcrumb--project-crumbs-1 breadcrumb-project-crumbs breadcrumb--turn-on-local-mode-on-behalf-of-global-mode breadcrumb-mode-enable-in-buffers run-hooks run-mode-hooks org-mode funcall] 1 [getenv list seq-find let let* age--start let age-start-decrypt progn unwind-protect age-decrypt-file setq condition-case progn unwind-protect let*] 1 [doom-protect-fallback-buffer-h kill-buffer if age-reset unwind-protect age-decrypt-file setq condition-case progn unwind-protect let* age-file-insert-file-contents apply if let progn] 1 [cl-remove cl-remove-if-not editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core--get-handles editorconfig-core-get-properties-hash funcall setq condition-case let editorconfig-call-get-properties-function setq progn if] 1 [if if if let if let while let file-truename equal and if org-roam-descendant-of-p let* progn if] 1 [let* if 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] 1 [equal cond while let locate-dominating-file let* dir-locals-find-file let progn if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let] 1 [+company-init-backends-h run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let* doom--shut-up-autosave-a apply "#<compiled 0xf19d1e696d35b75>" apply "#<compiled 0x82cf4bb5d989c98>" apply] 1 [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 save-current-buffer] 1 [or file-remote-p not or and if hack-dir-local--get-variables let* hack-dir-local-variables condition-case if let "#<lambda 0x112abd950ea11f77>" so-long--hack-local-variables apply hack-local-variables] 1 [macroexpand-all cconv-make-interpreted-closure function cl-mapcan let let progn if org-set-regexps-and-options save-restriction save-excursion save-current-buffer catch let while let] 1 [setq age-file-insert-file-contents apply if let progn unwind-protect let age-file-handler "#<subr insert-file-contents>" apply if editorconfig--advice-insert-file-contents apply insert-file-contents let] 1 [if let progn unwind-protect let file-relative-name let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if] 1 [advice--member-p advice--add-function advice-add "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_37>" eval-after-load ctrlf-local-mode ctrlf-mode-enable-in-buffers run-hooks if normal-mode if "#<lambda -0x1c3665d8c491a6e>" apply progn unwind-protect let*] 1 [or let if let while let file-truename abbreviate-file-name let* if if "#<lambda -0xd6e9bb25a48132a>" apply setq let let] 1 [progn unwind-protect let org-roam--file-name-extension let* progn if org-roam-file-p and if org-roam-db-autosync--delete-file-a apply delete-file if age-delete-output-file if] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* org-persist--normalize-container setq progn if progn let* org-persist-register progn if] 1 [if "#<lambda 0x2809c34804ac1a6>" mapcar apply setq let org-agenda-files let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda] 5 [and "#<lambda 0x1e10ba8b9bd7ff>" mapcar delq setq progn if let org-agenda-files let* catch org-agenda-list funcall-interactively call-interactively cond let*] 4 [org-days-to-iso-week let* if let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively command-execute nil nil] 9 [do-after-load-evaluation require org-days-to-iso-week let* if let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively command-execute] 10 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 12 [org-agenda-get-sexps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if let*] 27 [byte-code require org-agenda-get-sexps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 11 [do-after-load-evaluation load byte-code require org-agenda-get-sexps cons setq let cond let while let let* progn let save-restriction] 8 [derived-mode-p elisp--font-lock-flush-elisp-buffers do-after-load-evaluation load byte-code require org-agenda-get-sexps cons setq let cond let while let let* progn] 1 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt diary-name-pattern diary-font-lock-date-forms diary-font-lock-keywords defvar require org-agenda-get-sexps cons setq let cond let] 1 [do-after-load-evaluation require org-agenda-get-sexps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 8 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 10 [nth goto-char progn let* save-excursion org-element-item-parser cond setq let save-excursion org-element--current-element setq if if while let] 1 [org-element-section-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let] 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] 2 [progn progn if let let* save-restriction save-excursion save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and if "#<lambda -0x2cea7ef4e5b5240>" funcall] 1 [and 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] 3 [let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-deadlines setq let cond let while] 39 [macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq] 1 [and let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-scheduled cons setq let cond let while] 35 [let* save-excursion org-element-paragraph-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 4 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let] 7 [equal and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-scheduled cons] 24 [org-element-contents-end let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 1 [function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond] 12 [cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn let] 29 [if 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 if if while] 1 [if let* if let* org-element-contents-end setq progn progn if let cond let while let let* save-restriction] 1 [org-check-agenda-file catch while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively command-execute nil] 5 [if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-timestamps cons setq let cond let while] 48 [if let cond let* and let* org-element-begin goto-char save-restriction save-excursion save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function] 6 [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 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure] 9 [let* and 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 [let cond let* and let* org-element-begin goto-char progn if progn if if if while if let*] 1 [cconv--analyze-function cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function] 6 [function list let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while] 9 [setq progn let if let* save-excursion progn if org-element-timestamp-parser let while let progn if save-excursion org-element--get-time-properties] 1 [let* 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] 5 [save-excursion if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 1 [if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch org-agenda-list funcall-interactively call-interactively cond] 102 [cond let* or let if let* progn if let save-excursion org-element--current-element setq if if while let] 3 [not or and cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 9 [cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction] 12 [save-excursion let cond while catch save-excursion let org-element--list-struct or org-element-plain-list-parser cond let cond setq let save-excursion] 2 [let* if 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] 1 [looking-at-p if org-element-timestamp-parser let while let progn if save-excursion org-element--get-time-properties nconc setcar save-restriction save-excursion save-current-buffer org-element--headline-deferred] 1 [save-current-buffer eq and save-current-buffer if progn if if if while if let* save-restriction save-excursion let progn] 2 [if 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] 3 [if let cond let* and 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] 2 [if let* if 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] 1 [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 while let let*] 2 [let cond 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] 5 [save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch org-agenda-list funcall-interactively call-interactively] 100 [cond let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond] 2 [let* save-excursion org-element-plain-list-parser cond let cond setq let save-excursion org-element--current-element setq if if while let let*] 1 [progn let* save-excursion org-element-item-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction] 2 [save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if] 11 [setcar let cond let* if let let* save-restriction save-excursion save-excursion let save-current-buffer org-element--headline-parse-title apply org-element--property org-element-property-inherited] 2 [if progn progn if let let* save-restriction save-excursion save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and if "#<lambda 0xd456269c3e9d16e>"] 1 [if let* if let* org-element-begin < and or if if progn unwind-protect let progn if progn] 3 [1- if list org-element-create let* save-excursion org-element-headline-parser cond setq let save-excursion org-element--current-element setq if if while] 1 [let* save-excursion progn if org-element-timestamp-parser let while let progn if save-excursion org-element--get-time-properties nconc setcar save-restriction save-excursion] 1 [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] 1 [not and or if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 2 [let org-get-wdays cond let* catch progn if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if progn if progn if] 3 [progn if let if progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction] 1 [let* cond org-entry-get let* catch progn if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if progn if progn if] 1 [cond let* catch progn if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if progn if progn if progn if] 4 [let* or org-element--cache-key org-element--cache-key-less-p and or and if setq if if while if let* save-restriction save-excursion] 2 [let cond let* if let let* save-restriction save-excursion save-excursion let save-current-buffer org-element--headline-parse-title apply org-element--property org-element-property-inherited if] 1 [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 [if let* if let* let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 3 [let* if let* 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] 1 [let* and let* let let* save-restriction save-excursion save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and if "#<lambda 0xd456269c3e9d16e>" funcall] 1 [eq if let cond let* and 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] 2 [car if let cond let* and 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] 1 [if let cond let* and let* let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to org-element-type memq if] 1 [if 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 org-element--cache-put or setq] 1 [save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to org-element-type memq if] 6 [org-time-string-to-time condition-case time-to-days cond org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute cond let* catch progn if "#<lambda 0xd456269c3e9d16e>" funcall cons] 7 [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] 2 [save-restriction save-excursion save-current-buffer catch org-element--parse-to org-element-type memq if if if if while if let* save-restriction save-excursion] 1 [org-element--property memq and if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if progn if progn if progn if if] 1 [if 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] 1 [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] 1 [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] 1 [if let cond let* and let* org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer] 1 [while let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 16 [and while save-excursion let* cond setq let org-element--object-lex let while catch let let* save-restriction save-excursion catch] 1 [let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-sexps cons setq let cond let] 39 [time-date--day-in-year time-to-days org-today let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction] 1 [looking-at-p cond let cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 1 [org-element-contents-end eq if catch progn setq progn if progn if if if while if let* save-restriction] 2 [let* and 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 org-element--cache-put] 1 [cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction] 6 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let*] 18 [save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch org-agenda-list] 61 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let while let] 4 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled] 18 [if or if progn unwind-protect let progn if progn if if if while if let* save-restriction] 19 [and cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch] 3 [car eq if let cond let* and 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] 2 [and let* set-buffer save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and if "#<lambda -0x1abe673db682f653>" funcall cons setq if progn] 1 [let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let] 10 [avl-tree--enter-balance 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*] 1 [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 org-element--cache-put or setq if] 4 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 28 [car if let cond let* and let* org-element--current-element setq if if while let let* save-restriction save-excursion] 1 [if let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 2 [save-excursion org-element-planning-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer] 3 [or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda -0x264dede300c3ab5>" funcall cons setq if progn if] 2 [org-element--list-struct or org-element-plain-list-parser cond let cond setq let save-excursion org-element--current-element setq if if while let let*] 3 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 25 [cond let* and let* set-buffer save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and if "#<lambda -0x1abe673db682f653>" funcall cons setq] 1 [or set-buffer save-current-buffer not if progn if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion] 1 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure] 3 [let progn if progn if progn if if if while if let* save-restriction save-excursion let progn] 9 [let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-timestamps cons setq let cond let] 38 [and let* save-excursion progn if org-element-timestamp-parser let while let progn if save-excursion org-element--get-time-properties nconc setcar save-restriction] 1 [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 save-current-buffer] 1 [let* if 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] 2 [and let* save-restriction save-excursion save-excursion let save-current-buffer org-element--headline-parse-title apply org-element--property org-element-property-inherited if org-in-archived-heading-p progn unwind-protect let] 7 [and 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] 1 [save-excursion progn if org-element-timestamp-parser let while let progn if save-excursion org-element--get-time-properties nconc setcar save-restriction save-excursion save-current-buffer] 1 [org-element-begin or max setq if if if progn unwind-protect let progn if progn if if if] 2 [and let* org-element-contents-end let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 1 [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 setq if] 1 [let* if 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 org-element--cache-put] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq] 17 [if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-scheduled cons setq let cond let while] 105 [org-element-create let* save-excursion org-element-plain-list-parser cond let cond setq let save-excursion org-element--current-element setq if if while let] 1 [if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-deadlines setq let cond let while let] 45 [let* and let* org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case] 2 [save-excursion org-element-section-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer] 3 [time-to-days org-today let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 8 [org-today eq org-agenda-today-p let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion] 8 [let* if 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 if] 1 [looking-at-p cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch] 1 [cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction] 8 [let* and 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] 1 [and let org-element--list-struct or org-element-plain-list-parser cond let cond setq let save-excursion org-element--current-element setq if if while] 3 [if save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch org-agenda-list funcall-interactively] 3 [while catch progn setq progn if progn if if if while if let* save-restriction save-excursion let] 2 [if save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch] 1 [time-to-days org-today let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion] 11 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 5 [let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-scheduled cons setq let cond let] 41 [let* if let* org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 1 [if org-check-agenda-file catch while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively command-execute] 45 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map] 32 [if let* if let* org-element-contents-begin goto-char cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 1 [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] 2 [setq progn if save-current-buffer org-element--cache-put cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 1 [cond 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] 1 [setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 1 [nconc setcar save-restriction save-excursion save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and if "#<lambda -0x2cea7ef4e5b5240>" funcall cons setq if] 2 [and let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-blocks cons setq let cond let while] 18 [setq if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-deadlines setq let] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond] 16 [if let* if let* org-element-begin < and or if if while if let* save-restriction save-excursion let] 3 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq] 10 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 19 [let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if let*] 17 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 5 [if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-blocks cons setq let cond let while] 91 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons] 27 [org-element-item-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch] 1 [mapcar let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 1 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 10 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let*] 8 [if let cond let* and 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] 1 [cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction] 27 [cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let] 11 [catch while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively command-execute nil nil] 6 [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*] 1 [function mapcar let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion] 18 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 10 [setq let while let let* progn let save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond] 1 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure] 15 [progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond] 6 [progn unwind-protect let and or and or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda 0xd456269c3e9d16e>"] 3 [if let* if 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] 1 [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 setq if] 2 [setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin] 1 [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] 1 [nconc org-element-create let* save-excursion progn if org-element-timestamp-parser let while let* save-excursion org-element-planning-parser cond setq let save-excursion] 1 [if org-element--next-mode if setq progn progn if let cond let while let let* save-restriction save-excursion save-current-buffer] 1 [save-excursion let* catch progn if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if progn if progn if progn if] 4 [if let* org-element-end setq progn while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to org-element-type memq] 1 [cond let* and 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] 1 [if let let* save-restriction save-excursion save-excursion let save-current-buffer org-element--headline-parse-title apply org-element--property org-element-property-inherited if org-in-archived-heading-p progn unwind-protect] 1 [let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to org-element-type memq if if if if while if let*] 1 [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 [let* save-excursion org-element-planning-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 1 [if 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] 1 [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] 2 [if let* if 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 progn if] 1 [cdr car if let cond let* and let* org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not and or] 1 [org-in-commented-heading-p and or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if] 2 [let* and let* and let* or org-element--cache-key org-element--cache-key-less-p not and or if if while if let*] 1 [save-excursion save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if progn if progn] 1 [and 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] 1 [org-element-create let* save-excursion org-element-planning-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction] 1 [while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to org-element-type memq if if] 1 [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 setq] 1 [not or and if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let*] 1 [progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let] 8 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let] 21 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 27 [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 [let "#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if let* org-agenda-get-day-entries apply setq cond let catch while] 59 [progn setq progn if progn if if if while if let* save-restriction save-excursion let progn if] 3 [and let* setq progn while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 1 [setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply] 5 [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 let if] 4 [progn cons setq let cond while catch save-excursion let org-element--list-struct or org-element-plain-list-parser cond let cond setq] 2 [equal and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-sexps cons] 18 [and 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 progn if save-current-buffer org-element--cache-put] 1 [while let let* progn let save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch] 3 [cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let*] 6 [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 progn if save-current-buffer org-element--cache-put or setq] 1 [not if progn if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if] 1 [if let* if let* org-element-contents-begin let let* save-restriction save-excursion save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and if] 1 [while let* org-agenda-get-blocks cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 8 [list let* org-agenda-get-sexps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 11 [memq and progn or progn aref progn progn org-element--cache-root let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion] 3 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure] 3 [cconv-fv cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons] 17 [car if let cond let* and let* org-element-contents-begin progn if or setq if progn setq progn] 1 [if or if progn unwind-protect let let* save-restriction save-excursion let progn if progn let* org-element-cache-map let*] 11 [let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while] 11 [cond not while let let* save-excursion org-element-paragraph-parser cond let cond setq let save-excursion org-element--current-element setq if] 1 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let*] 20 [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 setq] 2 [function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let] 18 [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 or] 2 [cons setq if progn if progn if progn if if if while if let* save-restriction save-excursion] 3 [time-to-days org-today let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction save-excursion] 6 [if save-current-buffer setq progn if if if while if let* save-restriction save-excursion let progn if progn] 2 [and let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-timestamps cons setq let cond let while] 17 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 9 [if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-sexps cons setq let cond let while] 58 [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 let* save-restriction save-excursion] 1 [if let* org-element-contents-begin let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 1 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn] 4 [let* org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq] 23 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn] 2 [cconv-fv cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond let while let let* progn let] 5 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 2 [let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-blocks cons setq let cond let] 34 [let* 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 condition-case] 1 [let* org-element-begin or max setq if if if progn unwind-protect let let if progn if if] 1 [org-element--parse-to org-element-type memq if if if if while if let* save-restriction save-excursion let progn if progn] 1 [if 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] 6 [and 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 progn] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons] 11 [eq if let* progn if let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 1 [and 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 let] 1 [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] 4 [cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map] 1 [save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq] 1 [while let let* save-excursion org-element-paragraph-parser cond let cond setq let save-excursion org-element--current-element setq if if while] 1 [if 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 progn if save-current-buffer org-element--cache-put] 1 [if progn let* save-excursion org-element-plain-list-parser cond let cond setq let save-excursion org-element--current-element setq if if while] 1 [time-date--day-in-year time-to-days org-today eq org-agenda-today-p let* org-agenda-get-deadlines setq let cond let while let let* progn let] 1 [org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 1 [cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq] 9 [let* org-element-contents-end let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 1 [let* progn if let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer catch] 1 [and 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] 1 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines] 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] 1 [cond let while let let* progn let save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond] 5 [let let* save-excursion org-element-paragraph-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction] 1 [format-time-string substring regexp-quote concat let* org-agenda-get-timestamps cons setq let cond let while let let* progn let] 25 [function org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion] 10 [format list let* org-agenda-get-blocks cons setq let cond let while let let* progn let save-restriction save-excursion] 1 [eq if let cond let* and 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] 1 [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 if if] 3 [and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-blocks cons setq] 4 [equal and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-blocks cons] 22 [let* save-excursion org-element-item-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 6 [let* or let if progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction] 1 [org-today let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 6 [let* and 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 progn if save-current-buffer] 1 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function] 4 [progn if progn if progn if if if while if let* save-restriction save-excursion let progn if] 7 [progn let* save-excursion org-element-plain-list-parser cond let cond setq let save-excursion org-element--current-element setq if if while let] 2 [or set-buffer 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] 1 [if progn if progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction save-excursion] 1 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond] 2 [looking-at-p cond while catch save-excursion let org-element--list-struct or org-element-plain-list-parser cond let cond setq let save-excursion org-element--current-element] 1 [function mapcar let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction save-excursion] 24 [setq if if if progn unwind-protect let let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 23 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 2 [progn if 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] 1 [org-headline-re re-search-forward and if if progn if cond let while let let* save-restriction save-excursion save-current-buffer catch] 1 [eq cond let* and 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] 1 [and let* org-element-begin = or if if if while if let* save-restriction save-excursion let progn if] 3 [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 progn if save-current-buffer org-element--cache-put or setq] 1 [car eq if let cond let* and let* org-element-begin let* while if let* save-current-buffer org-element--cache-find and] 4 [and let* if progn if if if while if let* save-restriction save-excursion let progn if progn] 2 [let* or let if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 1 [while let* org-agenda-get-sexps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 6 [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 save-excursion] 7 [save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while] 24 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let while let let*] 3 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled] 2 [macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let while let let* progn let] 1 [org-element--cache-put 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] 1 [cconv-fv cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq] 9 [if 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 progn if save-current-buffer org-element--cache-put] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines] 2 [if save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if progn let* org-element-cache-map let*] 2 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if] 2 [car eq if let cond let* and let* let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case] 2 [format list let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion] 2 [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 setq if if while] 1 [and not cond not while let let* save-excursion org-element-paragraph-parser cond setq let save-excursion org-element--current-element setq if] 4 [if let* if 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 progn] 2 [and let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-deadlines setq let cond let while let] 10 [save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let] 15 [or let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond] 2 [let let* save-restriction save-excursion save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and if "#<lambda -0x2cea7ef4e5b5240>" funcall cons setq if] 1 [let let* save-excursion org-element-item-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction] 1 [let cond while catch save-excursion let org-element--list-struct or org-element-plain-list-parser cond let cond setq let save-excursion org-element--current-element] 1 [let while 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] 6 [org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries] 8 [let if let* save-excursion progn if org-element-timestamp-parser let while let* save-excursion org-element-planning-parser cond setq let save-excursion] 1 [eq if let* if 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] 1 [progn if progn if if if while if let* save-restriction save-excursion let progn if progn let*] 7 [let* if 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] 1 [save-current-buffer setq progn if if if while if let* save-restriction save-excursion let progn if progn let*] 6 [if let cond let* and let* org-element-contents-end setq progn progn if let cond let while let] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond let while] 7 [condition-case if setq let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if progn] 4 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 8 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 19 [org-item-re looking-at-p cond let cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction] 1 [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] 12 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form] 2 [org-in-archived-heading-p progn unwind-protect let and or and or if progn unwind-protect let org-agenda-skip catch progn if] 5 [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 org-element-begin or] 2 [save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or max setq if if if] 1 [org-element-type memq if if if if while if let* save-restriction save-excursion let progn if progn let*] 1 [eq if let cond let* and let* org-element-contents-end let cond let while let let* save-restriction save-excursion] 1 [let org-in-src-block-p or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda -0x264dede300c3ab5>" funcall cons setq if] 3 [cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries] 3 [org-element--property org-element-property-inherited if org-in-archived-heading-p progn unwind-protect let and or and or if progn unwind-protect let org-agenda-skip] 3 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function] 23 [let cond let* and 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] 1 [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 setq] 1 [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 org-element-lineage] 4 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let*] 12 [if if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines] 2 [let* save-excursion org-element-paragraph-parser cond let cond setq let save-excursion org-element--current-element setq if if while let let*] 1 [unwind-protect let abbreviate-file-name format list let* org-agenda-get-timestamps cons setq let cond let while let let* progn] 3 [if if progn unwind-protect let let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled] 1 ["#<lambda -0x168e06fb4fad9557>" funcall let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while] 1 [if eq org-agenda-today-p let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction] 6 [org-element--property let* org--property-local-values let* cond org-entry-get let* catch progn if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if progn] 5 [car eq if let cond let* and 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] 1 [while let* save-excursion org-element-planning-parser cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction] 1 [if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond] 3 [memq if or setq if progn setq progn if progn if if if while if let*] 2 [if progn unwind-protect let let if progn if if if while if let* save-restriction save-excursion let] 1 [or cdr car let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn] 2 [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 if if while let] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 11 [if let cond let* and 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] 2 [if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let* cond org-entry-get let* catch] 1 [let if progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction save-excursion save-current-buffer] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines] 11 [if let* if 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] 1 [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] 2 [format list let* org-agenda-get-sexps cons setq let cond let while let let* progn let save-restriction save-excursion] 2 [progn let* save-excursion progn if org-element-timestamp-parser let while let progn if save-excursion org-element--get-time-properties nconc setcar save-restriction] 1 [progn 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] 2 [save-excursion org-element-plain-list-parser cond let cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction] 1 [cond or let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond] 1 [setq progn if save-current-buffer org-element--cache-put or setq if if while let let* save-restriction save-excursion save-current-buffer catch] 1 [let* if let* and let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction] 1 [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 setq] 9 [unwind-protect let abbreviate-file-name format list let* org-agenda-get-deadlines setq let cond let while let let* progn let] 3 [org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction save-excursion] 2 [progn if if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let*] 7 [and let* org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 1 [eq if let* if 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] 1 [org-element-begin goto-char progn if progn if if if while if let* save-restriction save-excursion let progn if] 2 [org-element-paragraph-parser cond let cond setq let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion] 1 [let abbreviate-file-name format list let* org-agenda-get-timestamps cons setq let cond let while let let* progn let] 4 [cond while catch save-excursion let org-element--list-struct or org-element-plain-list-parser cond let cond setq let save-excursion org-element--current-element setq] 1 [list let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if] 14 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure] 1 [list let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 4 [if let* if let* let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction save-excursion] 2 [progn if save-excursion org-element--get-time-properties nconc setcar save-restriction save-excursion save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and if "#<lambda -0x2cea7ef4e5b5240>"] 1 [and if setq if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 1 [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 while let] 1 [while let progn if let save-excursion org-element--get-node-properties let save-restriction save-excursion save-current-buffer org-element--get-global-node-properties apply org-element--property org-element--property org-element-property-inherited] 1 [org-element-at-point progn if if if if while if let* save-restriction save-excursion let progn if progn let*] 1 [let* or let if let* progn if let save-excursion org-element--current-element setq if if while let let*] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let*] 2 [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] 1 [cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let while let] 3 [org--property-local-values let* cond org-entry-get let* catch progn if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if progn if progn] 4 [if let* progn if let save-excursion org-element--current-element setq if if while let let* save-restriction save-excursion save-current-buffer] 1 [cond let* and 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] 1 [let* and let* let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or max] 1 [eq if let cond let* and let* org-element-contents-begin let cond let while let let* save-restriction save-excursion] 1 [let* if let* org-element-begin or max setq if if if progn unwind-protect let progn if progn] 1 [if if if progn unwind-protect let progn if progn if progn if if if while if] 4 [let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if] 13 [and let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-sexps cons setq let cond let while] 20 [or set-buffer 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] 2 [let cond let* or let if let* progn if let save-excursion org-element--current-element setq if if while] 1 [let org-agenda-skip catch progn if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if progn if progn if progn if] 3 [if let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or max] 1 [setq while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let] 1 [and let* org-element-contents-begin let let* save-restriction save-excursion save-current-buffer org-element--headline-deferred apply org-element--property org-element--property and if "#<lambda 0xd456269c3e9d16e>" funcall] 1 [cond let* or let if progn if save-current-buffer org-element--cache-put or setq if if while let let*] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 35 [upcase concat let* while let progn if let save-excursion org-element--get-node-properties let save-restriction save-excursion save-current-buffer org-element--get-global-node-properties apply] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 4 [if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or] 2 [unwind-protect let and or and or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda 0xd456269c3e9d16e>" funcall] 3 [eq if if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 1 [unwind-protect let progn if progn if if if while if let* save-restriction save-excursion let progn if] 1 [or if if let* catch progn if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if progn if progn if] 1 [if let* if let* org-element-end <= and while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 2 [if 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] 1 [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 setq] 1 [or or set-buffer save-current-buffer org-element--cache-active-p and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 2 [and if let save-restriction save-excursion save-excursion let if org-element-at-point if progn if if if while if] 1 [if let* if let* org-element-contents-begin let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 1 [string-match-p and cond let* catch progn if "#<lambda 0xd456269c3e9d16e>" funcall cons setq if progn if progn if] 1 [cdr car if let cond let* and 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] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn] 5 [if if progn if cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 1 [if let cond let* and let* if progn if if if while if let* save-restriction save-excursion] 4 [or if if progn unwind-protect let progn if progn if progn if if if while if] 1 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction] 1 [let* progn let "#<lambda 0x9c32a19d2c3b338>" sort mapcar setq progn let org-agenda-finalize-entries insert progn if progn if while] 1 [if if progn if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if] 2 [let* if let* org-element-contents-begin progn if or setq if progn setq progn if progn if if] 1 [and or if let org-time-stamp-format format-time-string substring regexp-quote concat let* org-agenda-get-timestamps cons setq let cond let] 1 [car let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction] 2 [not cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 2 [and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-timestamps cons setq] 3 [eq save-current-buffer and if progn if progn if if if while if let* save-restriction save-excursion let] 5 [cdr car if let cond let* and let* org-element-end let while let let* save-restriction save-excursion save-current-buffer] 2 [let* and let* or org-element--cache-key org-element--cache-key-less-p not and or if if while if let* save-restriction save-excursion] 1 [unwind-protect let org-in-src-block-p or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda 0xd45626f71e9d16e>" funcall cons setq] 1 [progn 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] 2 [and cond let* catch progn if "#<lambda 0xd45626f71e9d16e>" funcall cons setq if progn if progn if progn] 1 [org-parse-time-string encode-time org-time-string-to-time condition-case time-to-days cond org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute cond let* catch progn if "#<lambda 0xd45626f71e9d16e>"] 1 [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 let or org-at-planning-p] 2 [let* progn if progn condition-case eq and save-restriction save-excursion or org-at-planning-p or and or cond progn] 2 [let progn if progn if if if while if let* save-restriction save-excursion let progn if progn] 4 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let] 14 [if progn if if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 9 [let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if] 13 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled] 5 [if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq] 2 [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 save-restriction] 12 [cconv-fv cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let while let let* progn let] 7 [cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion] 14 [or set-buffer save-current-buffer let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let] 1 [cond let* and let* org-element-begin = or if if if while if let* save-restriction save-excursion let] 2 [and if "#<lambda -0x2cea7ef885b5240>" funcall cons setq if progn if progn if progn if if if while] 3 [save-current-buffer org-element--cache-active-p if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if progn] 2 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let while let let*] 3 [if progn if progn if if if while if let* save-restriction save-excursion let progn if progn] 10 [and 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] 2 [eq if let cond let* and let* org-element-begin < and or if if progn unwind-protect let] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 13 [eq or and save-current-buffer org-element--cache-active-p and if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion] 2 [substring regexp-quote concat let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction] 11 [org-element--property and if "#<lambda -0x2cea7ef885b5240>" funcall cons setq if progn if progn if progn if if if] 6 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 2 [list let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 4 [or and if progn if if if while if let* save-restriction save-excursion let progn if progn] 4 [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 org-element-begin] 1 [and let* 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] 2 [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 if progn] 1 [if let* org-element-end <= and while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 2 [progn 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] 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 condition-case if setq let] 9 [cond let org-time-stamp-format format-time-string substring regexp-quote concat let* org-agenda-get-timestamps cons setq let cond let while let] 2 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 4 [org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 4 [directory-abbrev-apply setq let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-scheduled cons setq let] 2 [cdr car let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction] 6 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 5 [let let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond] 5 [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 if] 4 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines] 10 [let let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let] 3 [if let* org-element-begin eq or and if progn if if if while if let* save-restriction save-excursion] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses] 3 [if let* if let* and if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 3 [function org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 18 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond let while] 2 [equal and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-deadlines setq] 26 [let* and 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] 7 [org-element--parse-to condition-case if setq let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if] 1 [and save-current-buffer org-element--cache-active-p and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction save-excursion] 1 [set-buffer save-current-buffer org-element--cache-active-p and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction save-excursion] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond let] 7 [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] 10 [and save-current-buffer org-element--cache-active-p if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let*] 7 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 4 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 6 [setq let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-deadlines setq let cond let] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond] 5 [with-no-warnings org-agenda-get-blocks cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let cond] 12 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map] 9 [progn unwind-protect let progn if progn if progn if if if while if let* save-restriction save-excursion] 1 [if save-excursion 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] 3 [if let* org-element-contents-begin progn if or setq if progn setq progn if progn if if if] 2 [if if if progn unwind-protect let let* save-restriction save-excursion let progn if progn let* org-element-cache-map let*] 7 [let* and let* org-element-begin < and if progn if if if while if let* save-restriction save-excursion] 1 [derived-mode-p if save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if progn let* org-element-cache-map] 2 [let* and let* and let* or org-element--cache-key org-element--cache-key-less-p and or and if setq if if while] 1 [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 let] 7 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 2 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 4 [cond org-entry-get let* catch progn if "#<lambda 0xd45626f71e9d16e>" funcall cons setq if progn if progn if progn] 5 [let let* progn let save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while] 3 [cond org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute cond let* catch progn if "#<lambda 0xd45626f71e9d16e>" funcall cons setq if progn] 5 [org-element--property eq let* catch progn if "#<lambda 0xd45626f71e9d16e>" funcall cons setq if progn if progn if progn] 3 [if let cond let* and let* org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction] 7 [cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or] 1 [if org-element-at-point save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let] 2 [org-today eq org-agenda-today-p let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction] 9 [time-to-days org-today eq org-agenda-today-p let* org-agenda-get-scheduled cons setq let cond let while let let* progn let] 4 [let abbreviate-file-name format list let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction] 1 [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 save-excursion save-excursion] 4 [if let* if let* org-element-end or let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 2 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 5 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn] 1 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map] 1 [if let* org-element-begin < and if progn if if if while if let* save-restriction save-excursion let] 1 [substring let* catch progn if "#<lambda 0xd45626f71e9d16e>" funcall cons setq if progn if progn if progn if] 1 [org-agenda--timestamp-to-absolute cond let* catch progn if "#<lambda 0xd45626f71e9d16e>" funcall cons setq if progn if progn if progn] 1 [let* if let* org-element-begin let* or org-element--cache-key org-element--cache-key-less-p and or and if setq if if while] 1 [if let* if let* org-element-begin or max setq if if if progn unwind-protect let progn if] 1 [let* org-agenda-get-blocks cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if] 7 [let* and let* org-element-begin < and or if if progn unwind-protect let progn if progn if] 1 [if save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let* cond org-entry-get let* catch progn] 1 [org-today let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 10 [org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if let*] 8 [and let* org-element-begin < and if progn if if if while if let* save-restriction save-excursion let] 1 [concat setq if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-blocks cons] 2 [let org-element--cache-verify-element and if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let* cond] 2 [if let* if let* org-element-contents-end eq if catch progn setq progn if progn if if if] 1 [org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute cond let* catch progn if "#<lambda 0xd45626f71e9d16e>" funcall cons setq if progn if] 2 [org-fold-core--property-symbol-get-create org-fold-core-get-region-at-point org-fold-core--fix-folded-region insert progn if while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda] 1 [org-today let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if] 7 [abbreviate-file-name format list let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction] 1 [org-agenda-get-day-entries apply setq cond let catch while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch] 5 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let] 3 [eq save-current-buffer not and if progn if progn if if if while if let* save-restriction save-excursion] 7 [org-element--property org-element-lineage setq org--property-local-values let* cond org-entry-get let* catch progn if "#<lambda 0xd45626f6ae9d16e>" funcall cons setq if] 1 [if progn unwind-protect let progn if progn if progn if if if while if let* save-restriction] 3 [cond let org-get-wdays cond let* catch progn if "#<lambda -0x1c508119b7ffba18>" funcall cons setq if progn if progn] 3 [let* if let* let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or] 1 [cdr car if let cond let* and let* org-element-begin let* while if let* save-current-buffer org-element--cache-find and] 2 [and 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] 3 [if let* and let* or org-element--cache-key org-element--cache-key-less-p and or and if setq if if while if] 1 [and let* org-element-contents-begin goto-char progn if "#<lambda -0x1c508119b7ffba18>" funcall cons setq if progn if progn if progn] 1 [and if let save-restriction save-excursion save-excursion let if org-element-at-point let or org-at-planning-p or if progn unwind-protect] 1 [org-element-begin < and if progn if if if while if let* save-restriction save-excursion let progn if] 2 [or set-buffer save-current-buffer eq and save-current-buffer if progn if if if while if let* save-restriction save-excursion] 1 [save-excursion 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] 5 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond let while] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses] 1 [cond let* and let* org-element-begin < and if progn if if if while if let* save-restriction] 3 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let while let let* progn] 3 [eq org-agenda-today-p let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion] 2 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [and save-current-buffer if progn if if if while if let* save-restriction save-excursion let progn if progn] 2 [progn progn and if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let*] 2 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 6 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let] 4 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map] 11 [car-safe if progn if progn if progn if if if while if let* save-restriction save-excursion let] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond let] 3 [if let* let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or max setq] 1 [if let* 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] 2 [if let cond let* and let* org-element-contents-begin goto-char save-excursion let* catch progn if "#<lambda 0xd45626f6ae9d16e>" funcall cons] 1 [if let* org-element-begin < and or if if while if let* save-restriction save-excursion let progn if] 1 [equal and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-timestamps cons] 18 [let* and let* org-element-contents-begin progn if or setq if progn setq progn if progn if if] 2 [cconv--analyze-function cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let*] 4 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let] 6 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [let* if let* org-element-contents-begin let cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case] 1 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond let while let let*] 2 [org-element--cache-interrupt-p if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction save-excursion] 1 [setq if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-blocks cons setq] 2 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 6 [let abbreviate-file-name format list let* org-agenda-get-sexps cons setq let cond let while let let* progn let] 4 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function] 4 [and or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda 0xd45626f6ae9d16e>" funcall cons setq if progn] 3 [let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-timestamps cons setq let cond] 2 [let* if 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] 5 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 1 [macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines] 1 [regexp-quote concat let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction save-excursion] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq] 4 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 3 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let] 2 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 16 [and if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq] 1 [list let* org-agenda-get-blocks cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 10 [org-element--headline-cache-root if save-current-buffer let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq] 1 [let if org-element-at-point save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let] 1 [or set-buffer save-current-buffer org-element--cache-active-p if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn] 2 [concat setq if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-sexps cons] 3 [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 save-restriction save-excursion] 4 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure] 5 [and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-scheduled cons setq] 4 [cond while let progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn] 2 [or set-buffer save-current-buffer let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq] 2 [save-current-buffer and if progn if progn if if if while if let* save-restriction save-excursion let progn] 2 [eq if let cond let* and let* org-element-contents-end eq if catch progn setq progn if progn] 1 [if progn unwind-protect let progn if progn if if if while if let* save-restriction save-excursion let] 1 [macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let while let let* progn] 1 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction save-excursion let] 2 [org-agenda-get-blocks cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if let*] 10 [let* 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 if] 1 [eq or and save-current-buffer org-element--cache-active-p if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values] 1 [cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 1 [progn progn setq progn cond let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer] 1 [if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq] 2 [org-entry-get let* catch progn if "#<lambda 0xd45626f6ae9d16e>" funcall cons setq if progn if progn if progn if] 3 [and let* org-element-begin eq or and if progn if if if while if let* save-restriction save-excursion] 4 [progn if progn org-element-begin or max setq if if if progn unwind-protect let progn if progn] 1 [setq org--property-local-values let* cond org-entry-get let* catch progn if "#<lambda 0xd45626f6ae9d16e>" funcall cons setq if progn if] 1 [apply condition-case org-agenda--timestamp-to-absolute cond let* catch progn if "#<lambda 0xd45626f6ae9d16e>" funcall cons setq if progn if progn] 3 [car if let cond let* and let* org-element-begin = and if let* save-current-buffer org-element--cache-find and let*] 2 [setq and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-scheduled cons] 1 [let* and let* org-element-begin or max setq if if if progn unwind-protect let progn if progn] 2 [let* catch progn if "#<lambda 0xd45626f6ae9d16e>" funcall cons setq if progn if progn if progn if if] 5 [goto-char let* org-agenda-get-blocks cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond] 1 [if let* if let* org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer] 3 [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] 3 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 3 [org-element--property org-element-parent setq while progn if progn org-element-begin or max setq if if if progn unwind-protect] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if] 9 [and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-deadlines setq let] 1 [org-element-begin = or if if if while if let* save-restriction save-excursion let progn if progn let*] 2 [and or let org-element--cache-verify-element and if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let] 1 [cond save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch] 2 [+org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch org-agenda-list] 1 [if progn setq progn if progn if if if while if let* save-restriction save-excursion let progn] 1 [cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure] 2 [car if let cond let* and let* org-element-contents-end eq if catch progn setq progn if progn] 1 [org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if] 2 [intern org-element--property let* org--property-local-values let* cond org-entry-get let* catch progn if "#<lambda 0xd4c93f9c849d16e>" funcall cons setq if] 1 [if let cond let* and let* org-element-begin eq or and if progn if if if while] 2 [let* org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin] 1 [or set-buffer save-current-buffer org-element--cache-active-p if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let*] 1 [set-buffer save-current-buffer org-element--cache-active-p if let save-restriction save-excursion save-excursion let if org-element-at-point let or org-at-planning-p or if] 1 [if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let] 1 [org-uniquify setq save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let*] 2 [let cond let org-time-stamp-format format-time-string substring regexp-quote concat let* org-agenda-get-timestamps cons setq let cond let while] 1 [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] 2 [if let 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] 3 [if let* and 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] 2 [let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion] 3 [setq prog1 car-safe setq while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively] 1 [let while let let* progn let save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let] 5 [if catch progn setq progn if progn if if if while if let* save-restriction save-excursion let] 1 [macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn let] 2 [if let* if let* org-element-begin = or if if if while if let* save-restriction save-excursion let] 1 [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 condition-case] 1 [setq save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch] 3 [if let cond let* and let* org-element-contents-end eq if while catch progn setq progn if progn] 1 [eq if let* if let* org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case] 1 [and let* catch progn if "#<lambda 0xd4c93f9c849d16e>" funcall cons setq if progn if progn if progn if] 1 [if let cond let* and let* org-element-end <= and while let cond let* save-restriction save-excursion save-current-buffer] 1 [org-get-wdays cond let* catch progn if "#<lambda 0xd4c93f9c849d16e>" funcall cons setq if progn if progn if progn] 2 [< and or if if progn unwind-protect let progn if progn if if if while if] 2 [memq if save-current-buffer setq progn if if if while if let* save-restriction save-excursion let progn if] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 3 [cond let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let] 2 [list or cdr car let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let*] 1 [if let cond let* and let* org-element-contents-end eq if catch progn setq progn if progn if] 1 [= and 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] 1 [let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 5 [let* and let* if progn if if if while if let* save-restriction save-excursion let progn if] 6 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let*] 2 [let abbreviate-file-name format list let* org-agenda-get-scheduled cons setq let cond let while let let* progn let] 3 [setq progn 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] 1 [setq let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-timestamps cons setq let cond] 1 [eq cond let* and let* org-element-end or let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn] 1 [or and save-current-buffer org-element--cache-active-p and if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values] 1 [macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction] 3 [cconv-make-interpreted-closure function list let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if let* org-agenda-get-day-entries apply setq cond let catch while] 5 [> or if if let* catch progn if "#<lambda 0xd4c93f9c849d16e>" funcall cons setq if progn if progn] 1 [org-element-parent setq while progn if progn org-element-begin or max setq if if if progn unwind-protect let] 4 [and or if if let* catch progn if "#<lambda 0xd4c93f9c849d16e>" funcall cons setq if progn if progn] 1 [if let catch while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively command-execute] 2 [and let* org-element-end <= and while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if] 3 [org-element-contents-end eq if while catch progn setq progn if progn if if if while if let*] 1 [and if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let* cond org-entry-get let*] 1 [let* and let* and 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] 3 [progn setq while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq] 1 [let* and let* 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] 3 [or let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or max setq] 1 [if let* if let* org-element-contents-begin goto-char progn if "#<lambda 0xd4c93f9c849d16e>" funcall cons setq if progn if progn] 1 [org-element--property org-element-property-inherited if org-in-commented-heading-p and or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda 0xd4c93f9c849d16e>" funcall] 2 [and or and or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda 0xd4c93f9c849d16e>" funcall cons setq] 2 [if org-element--cache-sync if if progn if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let] 2 [while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively command-execute nil nil nil] 1 [progn and if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled] 1 [encode-time org-time-string-to-time condition-case time-to-days cond org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute cond let* catch progn if "#<lambda 0xd4c93f9c849d16e>" funcall] 5 [org-element-property-inherited if org-in-commented-heading-p and or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda 0xd4c93f9c849d16e>" funcall cons] 1 [setq progn if progn if org-agenda-fix-displayed-tags setq progn unwind-protect let let* org-agenda-format-item let* save-excursion let* catch] 1 [catch progn if "#<lambda 0xd4c93f9c849d16e>" funcall cons setq if progn if progn if progn if if if] 6 [save-current-buffer org-element--cache-active-p if progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let] 1 [concat setq progn if progn if let if let org-agenda-highlight-todo mapcar setq progn let org-agenda-finalize-entries insert] 1 [let* and 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] 1 [setq progn if if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 2 [if or if progn unwind-protect let progn if progn if progn if if if while if] 7 [apply org-get-agenda-file-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch org-agenda-list funcall-interactively] 2 [macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons] 1 [or and save-current-buffer org-element--cache-active-p if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let] 2 [progn progn setq progn if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled] 8 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let] 1 [let* and let* org-element-end <= and while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case] 1 [let catch save-excursion org-at-date-range-p or if progn unwind-protect let catch while let* org-agenda-get-timestamps cons setq let] 1 [cond let* cond setq let while save-excursion let* cond setq let org-element--object-lex let while catch let] 1 [cdr car if let cond let* and let* org-element-begin < and if progn if if if] 1 [cdr car let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn let] 2 [time-date--day-in-year time-to-days cond org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute cond let* catch progn if "#<lambda -0x264dede6f0c3ab5>" funcall cons setq] 1 [org-element--cache-active-p if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn] 2 [setq progn 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] 2 [or set-buffer save-current-buffer org-element--cache-active-p if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let] 1 [setq cond let catch while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively] 3 [goto-char progn if progn if if if while if let* save-restriction save-excursion let progn if progn] 1 [if if progn unwind-protect let progn if progn if progn if if if while if let*] 1 [abbreviate-file-name format list let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction] 1 [< and if progn if if if while if let* save-restriction save-excursion let progn if progn] 1 [let* and let* let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction save-excursion] 2 [or if progn unwind-protect let let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled] 1 [if org-closest-date cond org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute let cond let* catch progn if "#<lambda 0xd45626fb8e9d16e>" funcall cons] 2 [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 save-excursion save-excursion let] 1 [unwind-protect let progn if progn if progn if if if while if let* save-restriction save-excursion let] 2 [or if progn unwind-protect let progn if progn if progn if if if while if let*] 1 [list or cdr car let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn] 3 [if org-in-archived-heading-p progn unwind-protect let and or and or if progn unwind-protect let org-agenda-skip catch progn] 3 [let cond let* and let* org-element-contents-end eq if while catch progn setq progn if progn if] 1 [setq while catch progn setq progn if progn if if if while if let* save-restriction save-excursion] 4 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond let while let let*] 2 [car-safe setq while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively command-execute nil] 1 [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 save-restriction save-excursion let] 2 [memq and progn or progn aref progn progn org-element--headline-cache-root if save-current-buffer let* save-restriction save-excursion let progn] 9 [time-to-days org-today eq org-agenda-today-p let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction] 3 [let* if let* org-element-begin < and or if if while if let* save-restriction save-excursion let progn] 3 [save-excursion let if org-element-at-point save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq] 2 [cond let* and let* org-element-begin eq or and if progn if if if while if let*] 2 [cond let* and let* org-element-end <= and while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 1 [if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if progn let* org-element-cache-map] 5 [if cons let cond let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled] 1 [setq if progn if progn if progn if if if while if let* save-restriction save-excursion let] 2 [eq or and save-current-buffer org-element--cache-active-p if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while] 1 [cond let* and let* org-element-contents-end eq if while catch progn setq progn if progn if if] 1 [unwind-protect let abbreviate-file-name format list let* org-agenda-get-blocks cons setq let cond let while let let* progn] 1 [or if if progn unwind-protect let let* save-restriction save-excursion let progn if progn let* org-element-cache-map let*] 1 [if or setq if progn setq progn if progn if if if while if let* save-restriction] 1 [let cond let while let let* progn let save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq] 2 [if let* if let* org-element-begin eq or and if progn if if if while if let*] 1 [save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch org-agenda-list funcall-interactively] 3 [if let cond let* and let* org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to] 1 [if if progn unwind-protect let let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines] 1 [org-element--property org-element-parent setq while catch progn setq progn if progn if if if while if let*] 2 [if let* if let* org-element-contents-end eq if while catch progn setq progn if progn if if] 1 [progn 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] 1 [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] 1 [save-current-buffer not and if progn if progn if if if while if let* save-restriction save-excursion let] 2 [setq let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-blocks cons setq let cond] 1 [while progn if progn org-element-begin or max setq if if if progn unwind-protect let progn if] 1 [catch progn setq progn if progn if if if while if let* save-restriction save-excursion let progn] 1 [while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let] 2 [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 condition-case] 2 [if progn if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let* cond org-entry-get] 1 [cdr car if let cond let* and let* org-element-begin < and or if if while if] 1 [or if progn unwind-protect let progn if progn if if if while if let* save-restriction save-excursion] 1 [let cond let* and let* let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction] 1 [and if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if progn let*] 3 [or cond let org-get-wdays cond let* catch progn if "#<lambda 0xd45626fb8e9d16e>" funcall cons setq if progn if] 1 [setq prog1 car-safe if progn if progn if progn if if if while if let* save-restriction] 4 [and not and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-scheduled] 1 [org-element-begin < and or if if while if let* save-restriction save-excursion let progn if progn let*] 2 [max setq if if if progn unwind-protect let progn if progn if if if while if] 1 [concat intern org-element--property let* org--property-local-values let* cond org-entry-get let* catch progn if "#<lambda 0xd45626fb8e9d16e>" funcall cons setq] 3 [or and cond org-entry-get let* catch progn if "#<lambda 0xd45626fb8e9d16e>" funcall cons setq if progn if progn] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-timestamps cons setq let cond let while] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while] 1 [let* if let* org-element-end or let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn] 1 [org-get-time-of-day and let* progn unwind-protect let let* org-agenda-format-item let* save-excursion let* catch progn if "#<lambda -0x1feac24d6b8d2a74>" funcall] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond let] 1 [let abbreviate-file-name format list let* org-agenda-get-blocks cons setq let cond let while let let* progn let] 1 [if let* 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] 2 [org-element--property and if "#<lambda 0xd45626988e9d16e>" funcall cons setq if progn if progn if progn if if if] 4 [let* and let* or org-element--cache-key org-element--cache-key-less-p and or and if setq if if while if let*] 1 [let* if let if org-closest-date cond org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute let cond let* catch progn if] 1 [cond let* and let* org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let*] 1 [save-current-buffer if let org-agenda-new-marker org-add-props let* save-excursion let* catch progn if "#<lambda 0x5059fe599442c04>" funcall cons setq if] 1 ["#<lambda -0x13b97209a70b9fd6>" org-element-lineage-map let org-entry-get-with-inheritance or org-get-category let* save-excursion let* catch progn if "#<lambda 0x5059fe599442c04>" funcall cons setq] 1 [setq progn if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled] 1 [if save-current-buffer progn if org-element--cache-sync if if progn if let save-restriction save-excursion save-excursion let if org-element-at-point] 1 [let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or max setq] 1 [while let progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let] 1 [and 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] 1 [if let* org-element-begin = or if if if while if let* save-restriction save-excursion let progn if] 1 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction save-excursion] 3 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function list let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if let* org-agenda-get-day-entries apply setq cond let] 2 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function] 2 [cond 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] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 4 [progn setq progn cond let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer catch] 1 [org-parse-time-string encode-time org-time-string-to-time time-to-days if org-closest-date cond org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute let cond let* catch progn] 2 [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] 2 [encode-time org-time-string-to-time time-to-days if org-closest-date cond org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute let cond let* catch progn if] 1 [and or if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let*] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn] 4 [let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let*] 1 [macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [if progn org-element-begin or max setq if if if progn unwind-protect let progn if progn if] 1 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let] 2 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let*] 1 [let org-element--cache-verify-element and if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if] 2 [car eq if let cond let* and let* if progn if if if while if let*] 1 [cond let* and let* org-element-end or let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 2 [if eq org-agenda-today-p let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 1 [and not and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-deadlines] 1 [let* org-element-contents-end eq if catch progn setq progn if progn if if if while if let*] 1 [eq if while catch progn setq progn if progn if if if while if let* save-restriction] 2 [org-element-begin eq or and if progn if if if while if let* save-restriction save-excursion let progn] 1 [let* and 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] 1 [macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 3 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines] 6 [if let* if let* org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not and or if if while if] 1 [or set-buffer save-current-buffer and if progn if progn if if if while if let* save-restriction save-excursion] 2 [cconv-fv cconv-make-interpreted-closure function list let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if let* org-agenda-get-day-entries apply setq cond let catch] 2 [let* org--property-local-values let* cond org-entry-get let* catch progn if "#<lambda 0xd45626988e9d16e>" funcall cons setq if progn if] 1 [if let* if let* let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin] 1 [setq let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-sexps cons setq let cond] 2 [org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if let*] 2 [let* and let* and let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let* save-restriction] 2 [list encode-time format-time-string substring regexp-quote concat let* org-agenda-get-timestamps cons setq let cond let while let let*] 4 [cond let* and let* org-element-begin let* while if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer] 2 [if let* if let* org-element-contents-begin goto-char save-excursion let* catch progn if "#<lambda 0xfd86500cf75cc02>" funcall cons setq if] 1 [cond org-date-to-gregorian let* if let if org-closest-date cond org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute let cond let* catch] 1 [car eq if let cond let* and let* org-element-begin or max setq if if if progn] 1 [save-excursion save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or max setq if if] 1 [let cond let* and let* org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case] 1 [cond setq let while save-excursion let* cond setq let org-element--object-lex let while catch let let* save-restriction] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 3 [progn if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn if progn let*] 1 [org-element-contents-begin progn if or setq if progn setq progn if progn if if if while if] 1 [eq if let* if let* org-element-end <= and while let cond let* save-restriction save-excursion save-current-buffer catch] 1 [org-time-stamp-format format-time-string substring regexp-quote concat let* org-agenda-get-timestamps cons setq let cond let while let let* progn] 1 [setq cond save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let*] 1 [unwind-protect let abbreviate-file-name format list let* org-agenda-get-sexps cons setq let cond let while let let* progn] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 4 [< or if if progn unwind-protect let let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 1 [time-date--day-in-year time-to-days org-today let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion] 1 [save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let* cond org-entry-get let* catch progn if] 2 [and let* 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] 1 [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] 1 [cond let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let save-restriction save-excursion] 3 [setq save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch org-agenda-list funcall-interactively] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 1 [and if "#<lambda 0xd45626987e9d16e>" funcall cons setq if progn if progn if progn if if if while] 2 [let cond let* catch progn if "#<lambda 0xd45626987e9d16e>" funcall cons setq if progn if progn if progn] 1 [cdr car if let cond let* and let* org-element-end <= and while let cond let* save-restriction] 1 [macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let] 1 [memq cond while let progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let] 1 [car eq if let cond let* and let* org-element-begin eq or and if progn if if] 1 [macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond let while let let* progn] 2 [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 condition-case] 2 [eq org-agenda-today-p let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 1 [or set-buffer save-current-buffer if progn if progn if progn if if if while if let* save-restriction] 1 [let* org-element-contents-begin goto-char progn if "#<lambda -0xd8d9a4db5711d79>" funcall cons setq if progn if progn if progn if] 1 [progn if if let* catch progn if "#<lambda -0x264de1cc40c3ab5>" funcall cons setq if progn if progn if] 1 [cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond let while] 1 [concat let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer] 1 [memq if not and while progn if progn org-element-begin or max setq if if if progn] 1 [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] 3 [setq if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-timestamps cons setq] 2 [let org-time-stamp-format format-time-string substring regexp-quote concat let* org-agenda-get-timestamps cons setq let cond let while let let*] 1 [progn progn org-element--headline-cache-root if save-current-buffer let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines] 1 [and if progn if progn if if if while if let* save-restriction save-excursion let progn if] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 4 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [save-excursion let if org-element-at-point save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let] 1 [or and save-current-buffer org-element--cache-active-p if progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let] 2 [or and save-current-buffer org-element--cache-active-p if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let*] 1 [funcall let org-time-stamp-format format-time-string substring regexp-quote concat let* org-agenda-get-timestamps cons setq let cond let while let] 1 [and save-current-buffer org-element--cache-active-p if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let] 1 [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 let] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 3 [and save-current-buffer org-element--cache-active-p and if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let*] 1 [if save-current-buffer let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let] 1 [let catch while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively command-execute nil] 3 [org-element--cache-active-p and 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] 2 [or cdr car let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let] 2 [eq if let cond let* and let* org-element-begin = and if let* save-current-buffer org-element--cache-find and let*] 1 [cond let* and let* org-element-begin > not or and if while if let* save-restriction save-excursion let] 1 [time-since time-to-days org-today let* org-agenda-get-deadlines setq let cond let while let let* progn let save-restriction save-excursion] 1 [org-in-src-block-p or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda -0xd8d9a4da4711d79>" funcall cons setq if progn] 2 [if let cond let* and let* let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn] 1 [< and or if if progn unwind-protect let progn if progn if progn if if if] 2 [eq or and save-current-buffer org-element--cache-active-p if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let] 1 [progn let save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let*] 1 [string= and if let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let] 1 [progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn] 3 [member-ignore-case cond org-entry-get let* catch progn if "#<lambda 0xd456269fae9d16e>" funcall cons setq if progn if progn if] 1 [org-time-string-to-time time-to-days if org-closest-date cond org-time-string-to-absolute apply condition-case org-agenda--timestamp-to-absolute let cond let* catch progn if "#<lambda 0xd456269fae9d16e>"] 2 [eq if catch progn setq progn if progn if if if while if let* save-restriction save-excursion] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq] 1 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 2 [if let cond let* and let* org-element-end or let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case] 1 [save-current-buffer org-element--cache-active-p if progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 2 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [if let* if let* org-element-begin > not or and if while if let* save-restriction save-excursion let] 1 [cdr setq cond while let progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while] 1 [setq if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-sexps cons setq] 1 [plist-member cdr car let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn] 1 [if progn if progn if progn if if if while if let* save-restriction save-excursion let progn] 2 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [let +org--optimize-backgrounded-agenda-buffers-a apply org-get-agenda-file-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch] 1 [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 let if] 1 [let* let* save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let] 1 [cond let* and let* org-element-begin < and or if if progn unwind-protect let progn if progn] 1 [org-element--parse-to condition-case if setq let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let* cond] 1 [and let* or org-element--cache-key org-element--cache-key-less-p and or and if setq if if while if let* save-restriction] 1 [directory-abbrev-apply setq let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-deadlines setq let cond] 1 [not and if progn if progn if if if while if let* save-restriction save-excursion let progn] 2 [if let cond let* and let* and if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer] 2 [let* if progn if if if while if let* save-restriction save-excursion let progn if progn let*] 2 [and let* 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] 1 [= 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 if] 2 [and let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or max setq if] 2 [cond let* and let* org-element-begin goto-char progn if progn if if if while if let* save-restriction] 1 [concat setq if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-deadlines setq] 1 [org-get-priority + if org-add-props let* save-excursion let* catch progn if "#<lambda -0xefa39590d06b5b4>" funcall cons setq if progn] 1 [let* if let* org-element-contents-end eq if while catch progn setq progn if progn if if if] 1 [< and or if if while if let* save-restriction save-excursion let progn if progn let* org-element-cache-map] 1 [let* if let* org-element-contents-begin goto-char save-excursion let* catch progn if "#<lambda 0xd456269fae9d16e>" funcall cons setq if progn] 1 [prog1 car-safe if progn if progn if progn if if if while if let* save-restriction save-excursion] 1 [if let* if let* org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not or and if while if let*] 1 [let org-element--cache-verify-element and if let save-restriction save-excursion save-excursion let if org-element-at-point let or org-at-planning-p or if] 1 [with-no-warnings org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq] 1 [or set-buffer save-current-buffer setq progn if if if while if let* save-restriction save-excursion let progn if] 1 [if 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 let] 1 [progn if or setq if progn setq progn if progn if if if while if let*] 1 [funcall cons setq if progn if progn if progn if if if while if let* save-restriction] 3 [let* 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] 1 [and or if if progn unwind-protect let progn if progn if if if while if let*] 1 [if let* 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] 1 [if let cond let* and let* org-element-begin let* or org-element--cache-key org-element--cache-key-less-p not and or if if] 1 [and if progn if if if while if let* save-restriction save-excursion let progn if progn let*] 1 [save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or max setq if if if progn] 1 [progn unwind-protect let progn if progn if if if while if let* save-restriction save-excursion let progn] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let] 1 [and let* org-element-begin goto-char progn if progn if if if while if let* save-restriction save-excursion let] 1 [progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-blocks cons setq let cond let while let let*] 1 [if let* org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn] 1 [save-current-buffer org-element--cache-active-p if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let*] 1 [if if progn if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let* cond] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let*] 1 [setq if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-scheduled cons setq] 1 [cond let* and let* org-element-begin = and if let* save-current-buffer org-element--cache-find and let* save-restriction save-excursion save-current-buffer] 1 [time-since time-to-days org-today let* org-agenda-get-scheduled cons setq let cond let while let let* progn let save-restriction] 2 [if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let* progn let] 1 [set-buffer save-current-buffer not and if progn if progn if if if while if let* save-restriction save-excursion] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond let while] 1 [let* and let* org-element-begin = or if if if while if let* save-restriction save-excursion let progn] 1 [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 max setq] 1 [let and or and or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda -0x264de1c520c3ab5>" funcall cons] 1 [if let cond let* and let* let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq] 2 [let* org-element-begin or max setq if if if progn unwind-protect let progn if progn if if] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 1 [and not and if let let if let* progn unwind-protect let abbreviate-file-name format list let* org-agenda-get-timestamps] 1 [and let* org-element-end <= and while let cond let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn] 1 [and let* and let* or org-element--cache-key org-element--cache-key-less-p and or and if setq if if while if] 1 [setq cond while let progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let*] 1 [apply let let* progn let save-restriction save-excursion save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch] 1 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let*] 1 [org-element--cache-active-p if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn let] 1 [if org-in-src-block-p or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda 0xd456269e1e9d16e>" funcall cons setq if] 1 [or cond let* catch progn if "#<lambda 0xd456269e1e9d16e>" funcall cons setq if progn if progn if progn] 1 [progn if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let* cond org-entry-get let*] 1 [and let* org-element-begin < and or if if progn unwind-protect let progn if progn if if] 1 [org-element-property-inherited if org-in-archived-heading-p progn unwind-protect let and or and or if progn unwind-protect let org-agenda-skip catch] 1 [macroexpand-all cconv-make-interpreted-closure function mapcar let* org-agenda-get-scheduled cons setq let cond let while let let* progn let] 1 [org-element-lineage setq org--property-local-values let* cond org-entry-get let* catch progn if "#<lambda 0xd45626dd3e9d16e>" funcall cons setq if progn] 1 [cond let* and let* org-element-end let while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn] 1 [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 if] 1 [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 org-element-begin or max] 2 [let catch while let* org-agenda-get-timestamps cons setq let cond let while let let* progn let save-restriction] 1 [apply setq cond let catch while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda] 1 [cond while let progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond let while let let*] 1 [memq cond while let progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let*] 1 [not or if progn unwind-protect let progn if progn if if if while if let* save-restriction] 1 [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] 1 [let* and let* org-element-contents-end eq if while catch progn setq progn if progn if if if] 3 [let progn if progn let* org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let let* progn] 2 [and let* org-element-begin < and or if if progn unwind-protect let progn if progn if progn] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-cache-map let* org-agenda-get-deadlines setq let cond let while let] 1 [car-safe or re-search-forward if or if progn unwind-protect let progn if progn if if if while] 1 [if org-element-at-point save-restriction save-excursion let progn if progn let* org-element-cache-map let* org-agenda-get-scheduled cons setq let cond] 1 [or re-search-forward if or if progn unwind-protect let let* save-restriction save-excursion let progn if progn let*] 1 [if let org-element--cache-verify-element and if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn] 1 [let* and let* org-element-end or let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to condition-case if setq let] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [save-current-buffer not if progn if let save-restriction save-excursion save-excursion let if org-element-at-point save-restriction save-excursion let progn] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [and progn 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] 1 [not and 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] 1 [org-element--cache-verify-element and if let save-restriction save-excursion save-excursion let if org-element-at-point org-element-lineage setq org--property-local-values let* cond org-entry-get] 1 [cond let catch while while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively command-execute] 1 [progn org-element-begin or max setq if if if progn unwind-protect let progn if progn if if] 1 [derived-mode-p if save-current-buffer if let* org-agenda-get-day-entries apply setq cond let catch while while let* catch org-agenda-list] 1 [setq progn if progn if if if while if let* save-restriction save-excursion let progn if progn] 1 [and let* org-element-begin > not or and if while if let* save-restriction save-excursion let progn if] 1 [if 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] 1 [while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or max setq] 1 [and or cond let org-get-wdays cond let* catch progn if "#<lambda 0xd45626dd3e9d16e>" funcall cons setq if progn] 1 [let org-agenda-skip-eval or let or if progn unwind-protect let org-agenda-skip catch progn if "#<lambda 0xd45626dd3e9d16e>" funcall cons] 1 [let* org-agenda-get-sexps cons setq let cond let while let let* progn let save-restriction save-excursion save-current-buffer if] 1 [org-element--cache-interrupt-p if while let let* save-restriction save-excursion save-current-buffer catch org-element--parse-to setq progn if progn org-element-begin or] 1 [org-fold-core-next-folding-state-change org-fold-core--fix-folded-region insert progn if while let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively] 1 [and or if let* catch org-agenda-list funcall-interactively call-interactively cond let* catch org-agenda funcall-interactively command-execute nil nil] 1 [ad-Advice-delete-region apply "#<compiled 0x1e0c1b402123427b>" goggles--advice apply delete-region while save-excursion progn unwind-protect let let org-agenda-align-tags if save-excursion let] 1 [while let save-excursion org-agenda-fontify-priorities progn if save-excursion let if org-agenda-finalize let* catch org-agenda-list funcall-interactively call-interactively cond] 1 [progn if let while let +org-defer-mode-in-agenda-buffers-h run-hooks let if org-agenda-finalize let* catch org-agenda-list funcall-interactively call-interactively cond] 1 [save-current-buffer progn if let while let +org-defer-mode-in-agenda-buffers-h run-hooks let if org-agenda-finalize let* catch org-agenda-list funcall-interactively call-interactively] 10 [redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 2 [nav-flash-show if +nav-flash-blink-cursor if +nav-flash-blink-cursor-maybe-h run-hooks if let doom-run-switch-window-or-frame-hooks-h redisplay_internal\ \(C\ function\) nil nil nil nil nil nil] 3 [char-displayable-p doom-modeline-icon doom-modeline-segment--mu4e eval format-mode-line doom-modeline-format--main eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil] 8 [apply tooltip-show-help-non-mode nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 6 [doom-modeline-format--main eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil] 1 [doom-modeline-string-pixel-width doom-modeline-format--main eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil] 3 [timer-inc-time timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 1 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil nil] 17 [syntax-ppss show-paren--default show-paren-function apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil] 1 ["#<compiled -0x7a12432b106ea4>" which-key--get-keymap-bindings-1 which-key--get-keymap-bindings which-key--get-current-bindings which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil] 1 ["#<compiled 0x1f5dae9b19c1f5eb>" which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil nil nil nil] 2 [substitute-command-keys which-key--propertize-description which-key--format-and-replace which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil nil] 4 ["#<compiled -0x1ddf11de2783d3bf>" substitute-command-keys which-key--maybe-add-docstring which-key--format-and-replace which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil] 3 [kbd which-key--format-and-replace which-key--get-bindings which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil nil nil] 1 [which-key--replace-in-repl-list-once which-key--maybe-replace which-key--maybe-get-prefix-title which-key--create-pages which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil nil] 4 [apply which-key--echo "#<compiled -0x9f5a68cb9951893>" which-key--show-page which-key--create-buffer-and-show which-key--update apply timer-event-handler nil nil nil nil nil nil nil nil] 1 [window--size-fixed-1 window-size-fixed-p window--min-delta-1 window-min-delta window--resizable window--resizable-p window-resize window-resize-no-error fit-window-to-buffer "#<lambda 0x1e10ba4af4041cd>" window--display-buffer window--make-major-side-window and let* progn unwind-protect] 1 [if doom/toggle-profiler funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil] 2 [Automatic\ GC] 6550)) (25865 56008 253574 480000) nil]
[-- Attachment #3: Type: text/plain, Size: 551 bytes --]
In GNU Emacs 30.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version
3.24.38, cairo version 1.17.8) of 2023-09-19 built on localhost
Repository revision: 6721c616653279913f51f211b80614bff82c24c3
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
System Description: Gentoo Linux
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-20 8:53 bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers Ihor Radchenko
@ 2023-09-22 1:36 ` Dmitry Gutov
2023-09-22 11:03 ` Ihor Radchenko
2023-10-04 10:58 ` Ihor Radchenko
0 siblings, 2 replies; 162+ messages in thread
From: Dmitry Gutov @ 2023-09-22 1:36 UTC (permalink / raw)
To: Ihor Radchenko, 66117
Hi Ihor,
On 20/09/2023 11:53, Ihor Radchenko wrote:
> In the attached profile, ~500 Org buffers are being opened and calls to
> `find-buffer-visiting' take 12.4 sec out of total 30.9 sec - 1/3 of all
> the execution time. After replacing some of the calls to
> `find-buffer-visiting' with `get-file-buffer', the total execution time
> decreased to ~20 sec, confirming that `find-buffer-visiting' is
> contributing significantly to slow performance.
>
> Would it be possible to implement some kind of caching mechanism to be
> used by `find-buffer-visiting'?
I'm guessing you Cc'd me because of an existing comment inside xref.el?
As you can see I decided not to use this function there, but even
get-file-buffer wasn't as fast as I would've wanted, so there's a
quick-and-dirty caching solution for sequential lookups (which assumes
that the same file would be looked up multiple times in a row).
Putting aside the perspective of maintaining a cache in the core
(hopefully this will be discussed later in this feature request), any
chance you could initialize that cache yourself first (by iterating
through buffers and building file-truename -> buffer map), before you
are doing those many lookups? Somewhere in org-agenda-list, perhaps.
That should change the complexity from N*M to N+M, more or less.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 1:36 ` Dmitry Gutov
@ 2023-09-22 11:03 ` Ihor Radchenko
2023-09-22 12:11 ` Dmitry Gutov
2023-10-04 10:58 ` Ihor Radchenko
1 sibling, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-09-22 11:03 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: 66117
Dmitry Gutov <dmitry@gutov.dev> writes:
>> Would it be possible to implement some kind of caching mechanism to be
>> used by `find-buffer-visiting'?
>
> I'm guessing you Cc'd me because of an existing comment inside xref.el?
Actually, mostly because I though that this discussion might be of
interest for you.
> As you can see I decided not to use this function there, but even
> get-file-buffer wasn't as fast as I would've wanted, so there's a
> quick-and-dirty caching solution for sequential lookups (which assumes
> that the same file would be looked up multiple times in a row).
For me, the situation is different - a new not-yet-open file is looked
up multiple times in a row, which is a bit more tricky.
> Putting aside the perspective of maintaining a cache in the core
> (hopefully this will be discussed later in this feature request), any
> chance you could initialize that cache yourself first (by iterating
> through buffers and building file-truename -> buffer map), before you
> are doing those many lookups? Somewhere in org-agenda-list, perhaps.
>
> That should change the complexity from N*M to N+M, more or less.
Sure. That's my plan to address older Emacs versions. But such iteration
will involve copy-pasting a big part of `find-buffer-visiting' source
code, which is not something I want to maintain in a long term (what if
`find-buffer-visiting' changes in future?).
Moreover, `find-buffer-visiting' is called by `find-file-noselect', and
I simply cannot make use of cache there without modifying the code
upstream; or writing my own version of `find-file-noselect' - bad idea
maintenance-wise.
I think that the best way that will benefit more than Org mode is
arranging internal cache that will link buffer-file-name,
buffer-file-truename, and buffer-file-number with buffers; and maintain
the correctness of the cache if buffer-file-name changes for any reason.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 11:03 ` Ihor Radchenko
@ 2023-09-22 12:11 ` Dmitry Gutov
2023-09-22 12:41 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Dmitry Gutov @ 2023-09-22 12:11 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: 66117
On 22/09/2023 14:03, Ihor Radchenko wrote:
> Dmitry Gutov <dmitry@gutov.dev> writes:
>
>>> Would it be possible to implement some kind of caching mechanism to be
>>> used by `find-buffer-visiting'?
>>
>> I'm guessing you Cc'd me because of an existing comment inside xref.el?
>
> Actually, mostly because I though that this discussion might be of
> interest for you.
All right, thank you for that.
>> As you can see I decided not to use this function there, but even
>> get-file-buffer wasn't as fast as I would've wanted, so there's a
>> quick-and-dirty caching solution for sequential lookups (which assumes
>> that the same file would be looked up multiple times in a row).
>
> For me, the situation is different - a new not-yet-open file is looked
> up multiple times in a row, which is a bit more tricky.
This could be handled with a locally held dictionary as well, but...
>> Putting aside the perspective of maintaining a cache in the core
>> (hopefully this will be discussed later in this feature request), any
>> chance you could initialize that cache yourself first (by iterating
>> through buffers and building file-truename -> buffer map), before you
>> are doing those many lookups? Somewhere in org-agenda-list, perhaps.
>>
>> That should change the complexity from N*M to N+M, more or less.
>
> Sure. That's my plan to address older Emacs versions. But such iteration
> will involve copy-pasting a big part of `find-buffer-visiting' source
> code, which is not something I want to maintain in a long term (what if
> `find-buffer-visiting' changes in future?).
>
> Moreover, `find-buffer-visiting' is called by `find-file-noselect', and
> I simply cannot make use of cache there without modifying the code
> upstream; or writing my own version of `find-file-noselect' - bad idea
> maintenance-wise.
...if most of said calls are done through find-file-noselect, I suppose
that solution is a no-go.
> I think that the best way that will benefit more than Org mode is
> arranging internal cache that will link buffer-file-name,
> buffer-file-truename, and buffer-file-number with buffers; and maintain
> the correctness of the cache if buffer-file-name changes for any reason.
I think that is doable.
It probably won't regress the performance of any particular scenario
either, but we should benchmark opening a bunch of files this way anyway
(might actually get faster, due to find-buffer-visiting calls).
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 12:11 ` Dmitry Gutov
@ 2023-09-22 12:41 ` Ihor Radchenko
2023-09-22 12:59 ` Eli Zaretskii
2023-09-22 13:02 ` Dmitry Gutov
0 siblings, 2 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-09-22 12:41 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: 66117
Dmitry Gutov <dmitry@gutov.dev> writes:
>> Moreover, `find-buffer-visiting' is called by `find-file-noselect', and
>> I simply cannot make use of cache there without modifying the code
>> upstream; or writing my own version of `find-file-noselect' - bad idea
>> maintenance-wise.
>
> ...if most of said calls are done through find-file-noselect, I suppose
> that solution is a no-go.
Not a no-go, but not a complete solution either.
I asked the user who provided the profiler report I have attached to
replace `find-buffer-visiting' with `get-file-buffer' in the relevant Org
sources and it did lead to ~30% runtime reduction.
However, upon recording the profiler report with that change,
`find-buffer-visiting' still took a significant fraction of CPU time.
So, I decided to reach out upstream.
Will it be acceptable to implement the cache using variable watchers?
>> I think that the best way that will benefit more than Org mode is
>> arranging internal cache that will link buffer-file-name,
>> buffer-file-truename, and buffer-file-number with buffers; and maintain
>> the correctness of the cache if buffer-file-name changes for any reason.
>
> I think that is doable.
>
> It probably won't regress the performance of any particular scenario
> either, but we should benchmark opening a bunch of files this way anyway
> (might actually get faster, due to find-buffer-visiting calls).
The regression might happen when the number of buffers is small -
when hash tables become slower compared to simple list lookup.
But in such scenario, we will be talking about very small absolute
runtimes anyway, so it should probably not matter in practice.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 12:41 ` Ihor Radchenko
@ 2023-09-22 12:59 ` Eli Zaretskii
2023-09-22 13:30 ` Ihor Radchenko
2023-09-22 13:02 ` Dmitry Gutov
1 sibling, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-09-22 12:59 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> Cc: 66117@debbugs.gnu.org
> From: Ihor Radchenko <yantar92@posteo.net>
> Date: Fri, 22 Sep 2023 15:41:01 +0300
>
> Will it be acceptable to implement the cache using variable watchers?
I don't like us using variable watchers for such stuff.
Why cannot we just cache the correspondence between files and buffers
in some hash-table?
> The regression might happen when the number of buffers is small -
> when hash tables become slower compared to simple list lookup.
> But in such scenario, we will be talking about very small absolute
> runtimes anyway, so it should probably not matter in practice.
Alternatively, only create the hash-table when the number of buffers
exceeds some threshold.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 12:41 ` Ihor Radchenko
2023-09-22 12:59 ` Eli Zaretskii
@ 2023-09-22 13:02 ` Dmitry Gutov
2023-09-22 13:10 ` Eli Zaretskii
2023-09-22 13:38 ` Ihor Radchenko
1 sibling, 2 replies; 162+ messages in thread
From: Dmitry Gutov @ 2023-09-22 13:02 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: 66117
On 22/09/2023 15:41, Ihor Radchenko wrote:
> Dmitry Gutov <dmitry@gutov.dev> writes:
>
>>> Moreover, `find-buffer-visiting' is called by `find-file-noselect', and
>>> I simply cannot make use of cache there without modifying the code
>>> upstream; or writing my own version of `find-file-noselect' - bad idea
>>> maintenance-wise.
>>
>> ...if most of said calls are done through find-file-noselect, I suppose
>> that solution is a no-go.
>
> Not a no-go, but not a complete solution either.
> I asked the user who provided the profiler report I have attached to
> replace `find-buffer-visiting' with `get-file-buffer' in the relevant Org
> sources and it did lead to ~30% runtime reduction.
>
> However, upon recording the profiler report with that change,
> `find-buffer-visiting' still took a significant fraction of CPU time.
> So, I decided to reach out upstream.
Because the rest of the calls are made from Org?
I see this in the profile, though:
6247 20% - editorconfig--advice-find-file-noselect
There seems to be a lot of timers in that profile, and this is in one of
them (under "Automatic GC" which takes up 53% of the time).
So one was to improve this in the meantime would be to bring it up with
"editorconfig" authors. I would even question the wisdom of advising
find-file-noselect.
> Will it be acceptable to implement the cache using variable watchers?
I think variable watchers are mostly for debugging? I was thinking of a
straight approach where the base primitives that visit a file or kill a
buffer update said cache.
>>> I think that the best way that will benefit more than Org mode is
>>> arranging internal cache that will link buffer-file-name,
>>> buffer-file-truename, and buffer-file-number with buffers; and maintain
>>> the correctness of the cache if buffer-file-name changes for any reason.
>>
>> I think that is doable.
>>
>> It probably won't regress the performance of any particular scenario
>> either, but we should benchmark opening a bunch of files this way anyway
>> (might actually get faster, due to find-buffer-visiting calls).
>
> The regression might happen when the number of buffers is small -
> when hash tables become slower compared to simple list lookup.
> But in such scenario, we will be talking about very small absolute
> runtimes anyway, so it should probably not matter in practice.
I suppose.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 13:02 ` Dmitry Gutov
@ 2023-09-22 13:10 ` Eli Zaretskii
2023-09-22 13:38 ` Ihor Radchenko
1 sibling, 0 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-09-22 13:10 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: yantar92, 66117
> Cc: 66117@debbugs.gnu.org
> Date: Fri, 22 Sep 2023 16:02:59 +0300
> From: Dmitry Gutov <dmitry@gutov.dev>
>
> I think variable watchers are mostly for debugging?
It is also okay to use watchers when there's no other way of reacting
to a change. For example, if we need to do something when some
variable is changed that is exposed to Lisp.
> I was thinking of a straight approach where the base primitives that
> visit a file or kill a buffer update said cache.
Yes, in this case find-file-noselect could update the cache.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 12:59 ` Eli Zaretskii
@ 2023-09-22 13:30 ` Ihor Radchenko
2023-09-22 14:57 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-09-22 13:30 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
Eli Zaretskii <eliz@gnu.org> writes:
>> Will it be acceptable to implement the cache using variable watchers?
>
> I don't like us using variable watchers for such stuff.
>
> Why cannot we just cache the correspondence between files and buffers
> in some hash-table?
Because `buffer-file-name' can be modified from Lisp (via
`set-visited-file-name' or directly). Same for `buffer-file-truename'
and `buffer-file-number'.
Or should we just assume that these variables remain unchanged other
than by primitives?
>> The regression might happen when the number of buffers is small -
>> when hash tables become slower compared to simple list lookup.
>> But in such scenario, we will be talking about very small absolute
>> runtimes anyway, so it should probably not matter in practice.
>
> Alternatively, only create the hash-table when the number of buffers
> exceeds some threshold.
Indeed, this is a good idea.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 13:02 ` Dmitry Gutov
2023-09-22 13:10 ` Eli Zaretskii
@ 2023-09-22 13:38 ` Ihor Radchenko
2023-09-22 13:45 ` Dmitry Gutov
1 sibling, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-09-22 13:38 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: 66117
Dmitry Gutov <dmitry@gutov.dev> writes:
>> However, upon recording the profiler report with that change,
>> `find-buffer-visiting' still took a significant fraction of CPU time.
>> So, I decided to reach out upstream.
>
> Because the rest of the calls are made from Org?
I am not 100% sure what you mean.
> I see this in the profile, though:
>
> 6247 20% - editorconfig--advice-find-file-noselect
>
> There seems to be a lot of timers in that profile, and this is in one of
> them (under "Automatic GC" which takes up 53% of the time).
>
> So one was to improve this in the meantime would be to bring it up with
> "editorconfig" authors. I would even question the wisdom of advising
> find-file-noselect.
Nope. If you dig deeper, you will see that it is an around advice that
later calls the original `find-file-noselect', where we spend most of
the time:
6247 20% - editorconfig--advice-find-file-noselect
6247 20% - let
6247 20% - let
6247 20% - setq
6247 20% - apply
1773 5% - #<lambda -0xd6e9bb25a48132a>
1773 5% - if
1773 5% - if
1773 5% - let*
1773 5% - and
1773 5% + find-buffer-visiting
1666 5% - #<lambda -0xd6e9bb25a48132a>
1666 5% - if
1666 5% - if
1666 5% - let*
1666 5% - and
1666 5% + find-buffer-visiting
1006 3% - #<lambda -0xd6e9bb25a48132a>
1006 3% - if
1006 3% - if
1006 3% - let*
1006 3% - if
1006 3% - setq
1006 3% + create-file-buffer
830 2% - #<lambda -0xd6e9bb25a48132a>
830 2% - if
830 2% - if
830 2% - let*
830 2% - and
830 2% + find-buffer-visiting
776 2% - #<lambda -0xd6e9bb25a48132a>
776 2% - if
776 2% - if
776 2% - let*
776 2% - and
776 2% + find-buffer-visiting
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 13:38 ` Ihor Radchenko
@ 2023-09-22 13:45 ` Dmitry Gutov
0 siblings, 0 replies; 162+ messages in thread
From: Dmitry Gutov @ 2023-09-22 13:45 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: 66117
On 22/09/2023 16:38, Ihor Radchenko wrote:
> Nope. If you dig deeper, you will see that it is an around advice that
> later calls the original `find-file-noselect', where we spend most of
> the time:
I don't see find-file-noselect in the callstack, but I suppose it's
possible that the profiler just skips it, printing just the name of the
advice instead.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 13:30 ` Ihor Radchenko
@ 2023-09-22 14:57 ` Eli Zaretskii
2023-09-23 8:22 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-09-22 14:57 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Fri, 22 Sep 2023 13:30:41 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Will it be acceptable to implement the cache using variable watchers?
> >
> > I don't like us using variable watchers for such stuff.
> >
> > Why cannot we just cache the correspondence between files and buffers
> > in some hash-table?
>
> Because `buffer-file-name' can be modified from Lisp (via
> `set-visited-file-name' or directly). Same for `buffer-file-truename'
> and `buffer-file-number'.
You could update the cache in set-visited-file-name, and ignore
direct changes.
> Or should we just assume that these variables remain unchanged other
> than by primitives?
Programs that make these changes are asking for trouble, IMO. AFAICT,
find-buffer-visiting will never find such buffers anyway.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 14:57 ` Eli Zaretskii
@ 2023-09-23 8:22 ` Ihor Radchenko
2023-09-23 8:57 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-09-23 8:22 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
Eli Zaretskii <eliz@gnu.org> writes:
>> Because `buffer-file-name' can be modified from Lisp (via
>> `set-visited-file-name' or directly). Same for `buffer-file-truename'
>> and `buffer-file-number'.
>
> You could update the cache in set-visited-file-name, and ignore
> direct changes.
I have eyeballed Emacs sources, and it looks like a huge number of
libraries sets `buffer-file-name' directly. Also, even
`find-file-noselect' does not use `set-visited-file-name'.
- Functions setting ~buffer-file-name~ manually (except those setting it to nil):
- tests
- ~vc-find-revision-no-save~
- ~url-insert-buffer-contents~
- ~plstore-open~
- ~protect-innocence-hook~ (really?)
- ~tramp-handle-insert-file-contents~
- ~tramp-archive-handle-insert-file-contents~
- ~mailcap-view-file~
- ~ange-ftp-parse-netrc~
- ~ange-ftp-write-region~
- ~ange-ftp-insert-file-contents~
- ~mh-display-msg~
- ~mh-make-folder~
- ~mh-read-draft~
- ~feedmail-vm-mail-mode~
- ~feedmail-send-it~
- ~jka-compr-write-region~
- ~jka-compr-insert-file-contents~
- ~image-dired-write-tags~
- ~image-dired-remove-tag~
- ~image-dired-write-comments~
- ~hfy-buffer~
- ~nndraft-request-associate-buffer~
- ~nndraft-auto-save-file-name~
- ~nnbabyl-create-mbox~
- ~mm-display-inline-fontify~
- ~mm-url-insert-file-contents~
- ~mm-extern-url~
- ~message-send-mail-with-mh~
- ~message-set-auto-save-file-name~
- ~gnus-dribble-read-file~
- ~gnus-save-newsrc-file~
- ~gnus-gnus-to-newsrc-format~
- ~gnus-mime-copy-part~
- ~find-alternate-file~
- ~find-file-noselect-1~ (but not by default?)
- ~set-visited-file-name~
- ~file-name-non-special~
- ~erc-dcc-find-file~
- ~epa-file-insert-file-contents~
- ~epa-file-write-region~
- ~save-completions-to-file~
- ~load-completions-from-file~
- ~archive-extract~
- Functions setting ~buffer-file-truename~ manually (except those setting it to nil):
- ~tar-extract~
- ~find-alternate-file~
- ~find-file-noselect-1~
- ~set-visited-file-name~
- ~revert-buffer--default~
- ~archive-extract~
- Functions setting ~buffer-file-number~ manually (except those setting it to nil):
- ~find-alternate-file~
- ~find-file-noselect-1~
- ~set-visited-file-name~
- ~basic-save-buffer~
>> Or should we just assume that these variables remain unchanged other
>> than by primitives?
>
> Programs that make these changes are asking for trouble, IMO. AFAICT,
> find-buffer-visiting will never find such buffers anyway.
It would, in its current form. Because it calls `get-file-buffer' that
loops over all the buffers and checks their buffer-local
`buffer-file-name' value, including values set via `setq' in Elisp.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-23 8:22 ` Ihor Radchenko
@ 2023-09-23 8:57 ` Eli Zaretskii
2023-09-24 10:54 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-09-23 8:57 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sat, 23 Sep 2023 08:22:17 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Because `buffer-file-name' can be modified from Lisp (via
> >> `set-visited-file-name' or directly). Same for `buffer-file-truename'
> >> and `buffer-file-number'.
> >
> > You could update the cache in set-visited-file-name, and ignore
> > direct changes.
>
> I have eyeballed Emacs sources, and it looks like a huge number of
> libraries sets `buffer-file-name' directly.
I think this is an exaggeration, see below.
> Also, even `find-file-noselect' does not use
> `set-visited-file-name'.
Why does it matter? We need to catch this in find-file-noselect and
in set-visited-file-name anyway.
> - Functions setting ~buffer-file-name~ manually (except those setting it to nil):
> - tests
> - ~vc-find-revision-no-save~
> - ~url-insert-buffer-contents~
> - ~plstore-open~
> - ~protect-innocence-hook~ (really?)
> - ~tramp-handle-insert-file-contents~
> - ~tramp-archive-handle-insert-file-contents~
> - ~mailcap-view-file~
> - ~ange-ftp-parse-netrc~
> - ~ange-ftp-write-region~
> - ~ange-ftp-insert-file-contents~
> - ~mh-display-msg~
> - ~mh-make-folder~
> - ~mh-read-draft~
> - ~feedmail-vm-mail-mode~
> - ~feedmail-send-it~
> - ~jka-compr-write-region~
> - ~jka-compr-insert-file-contents~
> - ~image-dired-write-tags~
> - ~image-dired-remove-tag~
> - ~image-dired-write-comments~
> - ~hfy-buffer~
> - ~nndraft-request-associate-buffer~
> - ~nndraft-auto-save-file-name~
> - ~nnbabyl-create-mbox~
> - ~mm-display-inline-fontify~
> - ~mm-url-insert-file-contents~
> - ~mm-extern-url~
> - ~message-send-mail-with-mh~
> - ~message-set-auto-save-file-name~
> - ~gnus-dribble-read-file~
> - ~gnus-save-newsrc-file~
> - ~gnus-gnus-to-newsrc-format~
> - ~gnus-mime-copy-part~
IMO, these are not important for your purpose. The few buffers whose
buffer-file-name is set as in those functions are not going to get in
the way of your looking for a buffer that visits a specific name. And
if a few of them do, we can always add the cache-updating code to them.
> - ~find-alternate-file~
> - ~find-file-noselect-1~ (but not by default?)
> - ~set-visited-file-name~
> - ~file-name-non-special~
These _must_ update the cache.
> - ~erc-dcc-find-file~
> - ~epa-file-insert-file-contents~
> - ~epa-file-write-region~
> - ~save-completions-to-file~
> - ~load-completions-from-file~
> - ~archive-extract~
These belong to the first group, I think.
> - Functions setting ~buffer-file-truename~ manually (except those setting it to nil):
Are the cases where we find the buffer via file's truename significant
in the profiles you've seen? if not, these functions are not relevant
to the issue at hand. If the search by truename _is_ significant, we
could cache that as well.
> - ~tar-extract~
> - ~find-alternate-file~
> - ~find-file-noselect-1~
> - ~set-visited-file-name~
> - ~revert-buffer--default~
> - ~archive-extract~
>
>
> - Functions setting ~buffer-file-number~ manually (except those setting it to nil):
Same question as for truename above.
> - ~find-alternate-file~
> - ~find-file-noselect-1~
> - ~set-visited-file-name~
> - ~basic-save-buffer~
>
>
> >> Or should we just assume that these variables remain unchanged other
> >> than by primitives?
> >
> > Programs that make these changes are asking for trouble, IMO. AFAICT,
> > find-buffer-visiting will never find such buffers anyway.
>
> It would, in its current form. Because it calls `get-file-buffer' that
> loops over all the buffers and checks their buffer-local
> `buffer-file-name' value, including values set via `setq' in Elisp.
Again, which of the loops took the significant time in the profiles
you have? the one in get-file-buffer or the ones in
find-buffer-visiting?
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-23 8:57 ` Eli Zaretskii
@ 2023-09-24 10:54 ` Ihor Radchenko
2023-09-24 12:50 ` Eli Zaretskii
2023-09-26 13:06 ` Ihor Radchenko
0 siblings, 2 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-09-24 10:54 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
Eli Zaretskii <eliz@gnu.org> writes:
>> Also, even `find-file-noselect' does not use
>> `set-visited-file-name'.
>
> Why does it matter? We need to catch this in find-file-noselect and
> in set-visited-file-name anyway.
Mostly because I feel that I misunderstand where `buffer-file-name' is
set. `find-file-noselect-1' only sets `buffer-file-name' when
(if find-file-visit-truename ;; defcustom, nil by default
(setq buffer-file-name (expand-file-name buffer-file-truename)))
>> - ~find-alternate-file~
>> - ~find-file-noselect-1~ (but not by default?)
>> - ~set-visited-file-name~
>> - ~file-name-non-special~
>
> These _must_ update the cache.
I feel that I am still missing where `buffer-file-name' is set when
opening file via C-x C-f. Debugger showed something weird in my testing.
>> - Functions setting ~buffer-file-truename~ manually (except those setting it to nil):
>
> Are the cases where we find the buffer via file's truename significant
> in the profiles you've seen?
Not significant for the profiles I got, but I did not want to break the
existing code.
> ... if not, these functions are not relevant
> to the issue at hand. If the search by truename _is_ significant, we
> could cache that as well.
Just to make sure that we are on the same page: the cache I am proposing
should be complete - if a buffer is missing from the cache, we should be
sure that there is no matching buffer.
`find-buffer-visiting' explicitly checks for `buffer-file-truename'.
So, if the cache does not account for `buffer-file-truename', there will
be divergence between the existing code and when using the cache.
Same argument for `buffer-file-number'
>> > Programs that make these changes are asking for trouble, IMO. AFAICT,
>> > find-buffer-visiting will never find such buffers anyway.
>>
>> It would, in its current form. Because it calls `get-file-buffer' that
>> loops over all the buffers and checks their buffer-local
>> `buffer-file-name' value, including values set via `setq' in Elisp.
>
> Again, which of the loops took the significant time in the profiles
> you have? the one in get-file-buffer or the ones in
> find-buffer-visiting?
Most of the time was taken by `find-buffer-visiting'. Replacing
`find-buffer-visiting' with `get-file-buffer' in certain (not all)
places reduced the total runtime by 30%. I do not have more granular data
because the profiler did not give very granular data for the internals
of `find-buffer-visiting'.
I will try to setup a test on my machine for more detailed data.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-24 10:54 ` Ihor Radchenko
@ 2023-09-24 12:50 ` Eli Zaretskii
2023-09-26 8:54 ` Ihor Radchenko
2023-09-26 11:11 ` Dmitry Gutov
2023-09-26 13:06 ` Ihor Radchenko
1 sibling, 2 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-09-24 12:50 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sun, 24 Sep 2023 10:54:34 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Also, even `find-file-noselect' does not use
> >> `set-visited-file-name'.
> >
> > Why does it matter? We need to catch this in find-file-noselect and
> > in set-visited-file-name anyway.
>
> Mostly because I feel that I misunderstand where `buffer-file-name' is
> set. `find-file-noselect-1' only sets `buffer-file-name' when
>
> (if find-file-visit-truename ;; defcustom, nil by default
> (setq buffer-file-name (expand-file-name buffer-file-truename)))
>
> >> - ~find-alternate-file~
> >> - ~find-file-noselect-1~ (but not by default?)
> >> - ~set-visited-file-name~
> >> - ~file-name-non-special~
> >
> > These _must_ update the cache.
>
> I feel that I am still missing where `buffer-file-name' is set when
> opening file via C-x C-f. Debugger showed something weird in my testing.
With local files, it seems like insert-file-contents sets it. So
maybe we should record the file name in the cache in bset_filename.
> >> - Functions setting ~buffer-file-truename~ manually (except those setting it to nil):
> >
> > Are the cases where we find the buffer via file's truename significant
> > in the profiles you've seen?
>
> Not significant for the profiles I got, but I did not want to break the
> existing code.
>
> > ... if not, these functions are not relevant
> > to the issue at hand. If the search by truename _is_ significant, we
> > could cache that as well.
>
> Just to make sure that we are on the same page: the cache I am proposing
> should be complete - if a buffer is missing from the cache, we should be
> sure that there is no matching buffer.
Since we will keep buffer-list (we must), even with this cache
available, we can always leave the current code that scans the buffer
list if the name is not in the cache. This way, we don't need to
worry to have all the buffers in the cache, only those which are
looked for frequently and need the efficiency.
> `find-buffer-visiting' explicitly checks for `buffer-file-truename'.
> So, if the cache does not account for `buffer-file-truename', there will
> be divergence between the existing code and when using the cache.
>
> Same argument for `buffer-file-number'
As I said, we could have hash-tables for these as well, if that is
needed. But I'd like to see the profiles that indicate we do need
them.
> >> > Programs that make these changes are asking for trouble, IMO. AFAICT,
> >> > find-buffer-visiting will never find such buffers anyway.
> >>
> >> It would, in its current form. Because it calls `get-file-buffer' that
> >> loops over all the buffers and checks their buffer-local
> >> `buffer-file-name' value, including values set via `setq' in Elisp.
> >
> > Again, which of the loops took the significant time in the profiles
> > you have? the one in get-file-buffer or the ones in
> > find-buffer-visiting?
>
> Most of the time was taken by `find-buffer-visiting'. Replacing
> `find-buffer-visiting' with `get-file-buffer' in certain (not all)
> places reduced the total runtime by 30%.
So you are saying that 30% of file-visiting buffers are not found by
get-file-buffer? Or is the 30% increase due to file names for which
there's no corresponding buffer? If so, does the benchmark indeed
look for so many buffers that don't exist?
> I will try to setup a test on my machine for more detailed data.
Thanks, I think we need to understand the hot spots better, indeed.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-24 12:50 ` Eli Zaretskii
@ 2023-09-26 8:54 ` Ihor Radchenko
2023-09-26 14:18 ` Michael Albinus
2023-09-26 11:11 ` Dmitry Gutov
1 sibling, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-09-26 8:54 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
Eli Zaretskii <eliz@gnu.org> writes:
>> I feel that I am still missing where `buffer-file-name' is set when
>> opening file via C-x C-f. Debugger showed something weird in my testing.
>
> With local files, it seems like insert-file-contents sets it. So
> maybe we should record the file name in the cache in bset_filename.
Thanks for the pointer!
AFAIU, the relevant code is
if (NILP (handler))
{
current_buffer->modtime = mtime;
current_buffer->modtime_size = st.st_size;
bset_filename (current_buffer, orig_filename);
However, it looks like file handlers are responsible for setting the
filename. So,
> - ~tramp-handle-insert-file-contents~
> - ~tramp-archive-handle-insert-file-contents~
> - ~ange-ftp-insert-file-contents~
> - ~jka-compr-insert-file-contents~
> - ~mm-url-insert-file-contents~
> - ~epa-file-insert-file-contents~
may also need to handle the caching. And also all the third-party handlers.
>> Just to make sure that we are on the same page: the cache I am proposing
>> should be complete - if a buffer is missing from the cache, we should be
>> sure that there is no matching buffer.
>
> Since we will keep buffer-list (we must), even with this cache
> available, we can always leave the current code that scans the buffer
> list if the name is not in the cache. This way, we don't need to
> worry to have all the buffers in the cache, only those which are
> looked for frequently and need the efficiency.
I need to elaborate then.
The problem Org faces happens when we open a file that is not yet opened
in Emacs. So, the FILENAME in question is missing from the buffer list
and `find-buffer-visiting' must (1) traverse every buffer in
`get-file-buffer'; (2) traverse every buffer again, checking
`buffer-file-name' values; (3) traverse every buffer yet again, checking
for `buffer-file-number'. We have the worst-case scenario for the
current code when the buffer with a given file name is not available and
all the checks fail.
To address the above scenario, it is not enough to cache _some_ buffer
names. Because not-yet-open FILENAME will be missing from the cache, but
we will still have to go through the above process, which is slow.
What is needed is a _complete_ cache, so that the fact that FILENAME is
missing there means that no buffer associated with FILENAME is open in
Emacs.
>> `find-buffer-visiting' explicitly checks for `buffer-file-truename'.
>> So, if the cache does not account for `buffer-file-truename', there will
>> be divergence between the existing code and when using the cache.
>>
>> Same argument for `buffer-file-number'
>
> As I said, we could have hash-tables for these as well, if that is
> needed. But I'd like to see the profiles that indicate we do need
> them.
I hope that the above clarified why I want to cache everything.
>> Most of the time was taken by `find-buffer-visiting'. Replacing
>> `find-buffer-visiting' with `get-file-buffer' in certain (not all)
>> places reduced the total runtime by 30%.
>
> So you are saying that 30% of file-visiting buffers are not found by
> get-file-buffer? Or is the 30% increase due to file names for which
> there's no corresponding buffer? If so, does the benchmark indeed
> look for so many buffers that don't exist?
The rough code flow for the profile I attached to the initial message
is: For each of 500 files used to build agenda: (1) check if file is
open in Emacs via `find-buffer-visiting' and open it if not yet open;
(2) search the file to find matching headings to be added to agenda.
The total CPU time spend building agenda from fresh Emacs decreased by
1/3 (~10 seconds) by replacing calls to `find-buffer-visiting' with
`get-file-buffer'. And this replacement did not yet replace every call
to `find-buffer-visiting' (in particular, find-file-no-select by itself
also calls `find-buffer-visiting'; I replaced no more than half of the
calls only). I estimate that over half of the 30 seconds building agenda
was spent repeatedly searching over all the buffers.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-24 12:50 ` Eli Zaretskii
2023-09-26 8:54 ` Ihor Radchenko
@ 2023-09-26 11:11 ` Dmitry Gutov
1 sibling, 0 replies; 162+ messages in thread
From: Dmitry Gutov @ 2023-09-26 11:11 UTC (permalink / raw)
To: Eli Zaretskii, Ihor Radchenko; +Cc: 66117
On 24/09/2023 15:50, Eli Zaretskii wrote:
>>> ... if not, these functions are not relevant
>>> to the issue at hand. If the search by truename_is_ significant, we
>>> could cache that as well.
>> Just to make sure that we are on the same page: the cache I am proposing
>> should be complete - if a buffer is missing from the cache, we should be
>> sure that there is no matching buffer.
> Since we will keep buffer-list (we must), even with this cache
> available, we can always leave the current code that scans the buffer
> list if the name is not in the cache. This way, we don't need to
> worry to have all the buffers in the cache, only those which are
> looked for frequently and need the efficiency.
If the cache was exhaustive (i.e. we could guarantee that
'find-buffer-visiting' is always fast), we could use it in Xref as well.
Instead of doing the memoization dance in xref--find-file-buffer which
still doesn't account for symlinks.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-24 10:54 ` Ihor Radchenko
2023-09-24 12:50 ` Eli Zaretskii
@ 2023-09-26 13:06 ` Ihor Radchenko
2023-09-27 23:30 ` Michael Heerdegen
2023-09-29 7:30 ` Eli Zaretskii
1 sibling, 2 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-09-26 13:06 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
[-- Attachment #1: Type: text/plain, Size: 4755 bytes --]
Ihor Radchenko <yantar92@posteo.net> writes:
> Most of the time was taken by `find-buffer-visiting'. Replacing
> `find-buffer-visiting' with `get-file-buffer' in certain (not all)
> places reduced the total runtime by 30%. I do not have more granular data
> because the profiler did not give very granular data for the internals
> of `find-buffer-visiting'.
>
> I will try to setup a test on my machine for more detailed data.
Here is a reproducer anyone can try locally:
1. Create a dummy set of 1000 files in /tmp/test/:
(dotimes (i 1000) (with-temp-file (format "/tmp/test/%d.org" i) (insert "* This is test")))
2. emacs -Q
3. Open all the 1000 files one by one:
(dolist (file (directory-files "/tmp/test/" t "org"))
(unless (find-buffer-visiting file) (find-file-noselect file)))
Step (3) takes 18.8 seconds on my machine. The CPU profile attached as
cpu-profile.
If one uses `get-file-buffer' instead of `find-buffer-visiting', the
total runtime becomes 5.1 sec - almost 4x faster.
To test:
(dolist (file (directory-files "/tmp/test/" t "org"))
(unless (get-file-buffer file)
(cl-letf (((symbol-function 'find-buffer-visiting)
(lambda (file &optional predicate)
(when-let ((buf (get-file-buffer file)))
(and (funcall predicate buf) buf)))))
(find-file-noselect file))))
With `get-file-buffer' instead of `find-buffer-visiting', matching
against the opened buffers no longer dominates the profiler. See the
attached cpu-profile-get-file-buffer.
So, it looks like caching `get-file-buffer' is not really necessary.
From the profile, the slowest parts of `find-buffer-visiting' are the
two loops checking `buffer-file-truename' and `buffer-file-number' with
most of the time apparently spent executing `with-current-buffer'. I
tested whether `with-current-buffer' is the culprit by replacing it with
`buffer-local-value' calls:
(defun find-buffer-visiting (filename &optional predicate)
"Return the buffer visiting file FILENAME (a string).
This is like `get-file-buffer', except that it checks for any buffer
visiting the same file, possibly under a different name.
If PREDICATE is non-nil, only buffers satisfying it are eligible,
and others are ignored. PREDICATE is called with the buffer as
the only argument, but not with the buffer as the current buffer.
If there is no such live buffer, return nil."
(let ((predicate (or predicate #'identity))
(truename (abbreviate-file-name (file-truename filename))))
(or (let ((buf (get-file-buffer filename)))
(when (and buf (funcall predicate buf)) buf))
(let ((list (buffer-list)) found)
(while (and (not found) list)
(if (and (buffer-local-value 'buffer-file-name (car list))
(string= (buffer-local-value 'buffer-file-truename (car list)) truename)
(funcall predicate (car list)))
(setq found (car list)))
(setq list (cdr list)))
found)
(let* ((attributes (file-attributes truename))
(number (file-attribute-file-identifier attributes))
(list (buffer-list)) found)
(and buffer-file-numbers-unique
(car-safe number) ;Make sure the inode is not just nil.
(while (and (not found) list)
(if (and (buffer-local-value 'buffer-file-name (car list))
(equal (buffer-local-value 'buffer-file-number (car list)) number)
;; Verify this buffer's file number
;; still belongs to its file.
(file-exists-p (buffer-local-value 'buffer-file-name (car list)))
(equal (file-attributes (buffer-local-value 'buffer-file-truename (car list)))
attributes)
(funcall predicate (car list)))
(setq found (car list)))
(setq list (cdr list))))
found))))
The result is 7.8 sec execution time - much better compared to 18.8
seconds in `with-current-buffer' version, but still worse compared to
5.1 sec in `get-file-buffer' version. See the attached
cpu-profile-buffer-local-value.
So, using `with-current-buffer' when looping over all the buffers is
certainly not optimal (maybe in other places as well).
However, even `buffer-local-value' is still costly - it adds up over 50%
run time.
Also, looking at the 5.1 sec profile, there are other things that may
slow down opening a large number of files:
0. GC (as usual)
1. hack-local-variables
2. vc-refresh-state
3. uniquify--create-file-buffer-advice -> uniquify-rationalize-file-buffer-names
4. Org mode loading (nothing new here for me)
[-- Attachment #2: cpu-profile --]
[-- Type: application/octet-stream, Size: 60391 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 325 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 8 [redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 12 [org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 31 [require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 16 [require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 19 [require byte-code org-babel-do-load-languages custom-initialize-reset custom-declare-variable byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 4 [custom-add-to-group custom-handle-keyword custom-declare-variable byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [require byte-code require byte-code require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 7 [require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 27 [require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 19 [tool-bar-local-item-from-menu byte-code defvar require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 3 [require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 7 [decode-coding-string "#<compiled -0x70321de29603a99>" mapcar byte-code defvar require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist] 3 [require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 13 [function funcall eval custom-initialize-reset custom-declare-variable byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 3 [require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 11 [jit-lock-refontify font-lock-flush elisp--font-lock-flush-elisp-buffers do-after-load-evaluation require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code] 7 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe] 13 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0] 9 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code] 15 [byte-compile-constants-vector byte-compile-out-toplevel byte-compile-top-level byte-compile-lambda byte-compile-function-form byte-compile-form byte-compile-top-level "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_49>" byte-compile cl--generic-get-dispatcher cl--generic-make-next-function cl--generic-make-function cl-generic-define-method byte-code require byte-code] 3 [format byte-code defconst require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require] 3 [make-closure key-valid-p keymap--check keymap-set define-keymap byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [key-parse keymap-set define-keymap byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 2 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 3 [org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [require require byte-code org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [elisp--font-lock-flush-elisp-buffers do-after-load-evaluation require byte-code require byte-code org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 3 [abbreviate-file-name let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 17 [getenv vc-sccs-search-project-dir vc-possible-master "#<compiled 0x47f20649bdec3af>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0xb679acdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file] 4 [org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 56 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 56 [set-buffer save-current-buffer while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 2212 [insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 37 [org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 6 [set-buffer save-current-buffer while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 2358 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_14>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 3 [file-remote-p set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 14 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0xa9702cdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 48 [save-current-buffer while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 926 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 72 [save-current-buffer while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 1018 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 10 [global-eldoc-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 4 [org--set-faces-extend org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [save-current-buffer while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 1042 [assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 36 [save-current-buffer while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 946 [file-truename abbreviate-file-name let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 17 [set-buffer save-current-buffer while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 2208 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 9 [org-persist--find-index org-persist--add-to-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0xb3fd6cdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 52 [set-buffer save-current-buffer while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 2215 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 14 [org-id-uuid org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 59 [file-truename file-truename abbreviate-file-name let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 8 [lookup-key easy-menu-lookup-name "#<compiled 0x13deef3096ffb1fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 11 [set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [regexp-quote org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0xba326cdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 48 [file-truename file-truename file-truename find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 8 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0xb8906cdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let] 3 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 32 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0xb92b2cdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let] 25 [sgml-html-meta-auto-coding-function find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 10 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 53 [file-remote-p hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 10 [equal and if save-current-buffer while and let* or let find-buffer-visiting find-file-noselect if let while let progn] 168 [org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 16 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 661 [file-truename abbreviate-file-name let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 17 [file-directory-p find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 3 [org-element-restriction org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [file-exists-p "#<compiled 0x1c013a749bdec3af>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0xb4a6acdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 13 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 27 [file-truename file-truename find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 13 [dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 12 [font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 3 [get-file-buffer let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 19 [gethash org-persist--find-index org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 6 [org-fold-core-get-folding-spec-from-alias org-fold-core-set-folding-spec-property "#<compiled -0x426f07672d13921>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 4 [reverse regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 3 [org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 43 [org-extract-log-state-settings org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 4 [file-truename find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 15 [file-exists-p "#<compiled 0x1cea018c9bdec3af>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x1cd9b2cdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 13 [add-hook "#<compiled -0x12edfa46083b8890>" run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [get-file-buffer let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 7 [alist-get org-fold-core-get-folding-spec-from-alias org-fold-core-set-folding-spec-property "#<compiled -0x426f0713907f921>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 4 [org-fold-core-set-folding-spec-property "#<compiled -0x426f07672d13921>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 14 [cdr uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 10 [intern org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 7 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 11 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 9 [file-remote-p hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 7 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0xf93fa6eba59451f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let] 11 [set-face-attribute set-face-extend "#<compiled -0x141516b6144d5b8e>" org--set-faces-extend org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 4 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x1ca52acdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let] 45 [let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 3 [org-persist--normalize-container org-persist--normalize-container org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [equal and if save-current-buffer while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp] 122 [easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 4 [string= and if save-current-buffer while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp] 64 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x14d7facdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 23 [file-name-sans-versions inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [org-persist--remove-from-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 24 [make-closure seq-filter hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 ["#<compiled -0x141516b6144dbf8e>" org--set-faces-extend org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 3 [and while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6 [auto-coding-alist-lookup find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 12 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 10 [string= and if save-current-buffer while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp] 92 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 10 [abbreviate-file-name locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x1d9606cdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let] 20 [org-persist-read org-persist-load org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 11 [files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 6 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 7 [vc-make-backend-sym vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x153b7ecdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 16 [delete-dups org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 6 [abbreviate-file-name find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 34 [file-exists-p "#<compiled 0x64c03e09bdec3af>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x14ab26cdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 17 [while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 3 [not and while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 12 [file-truename file-truename file-truename abbreviate-file-name let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [replace-regexp-in-string org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 6 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 12 [string-match org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 13 [and if save-current-buffer while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp] 34 [regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 3 [hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 3 [while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 14 [org-babel-hide-all-hashes run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 20 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 20 [regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 6 [expand-file-name vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 7 [file-truename file-truename abbreviate-file-name let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 10 [throw "#<compiled -0x188d0948570f756c>" map-keymap easy-menu-lookup-name "#<compiled 0x13deef31abe051fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 6 [inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 29 [called-interactively-p font-lock-mode font-lock-change-mode text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 4 [cdr buffer-list let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 7 [regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 3 [mapcar "#<compiled 0x1840833841898cb4>" apply seq-map seq-filter hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 4 [let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [string-match vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [org-fold-core-get-folding-spec-from-alias "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_14>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 3 [vc-call-backend "#<compiled -0x155c3ecdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 8 [add-hook font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [cdr setq while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 15 [org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 16 [and if save-current-buffer while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 29 [cl-mapcan org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 7 [while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 13 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 33 [buffer-list let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 17 [make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 11 [org-fold-core--property-symbol-get-create "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 7 [and if save-current-buffer while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp] 27 [generate-new-buffer create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 41 [car set-buffer save-current-buffer while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp] 16 [delete-dups regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 3 [abbreviate-file-name let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 6 [file-remote-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [set-match-data "#<compiled 0xb4ba1a148e0af>" abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x199196cdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 3 [jit-lock-refontify jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 8 [add-hook font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 17 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [buffer-list org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 21 [text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 6 [regexp-opt org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 3 [org-find-invisible-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [and while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 16 [org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 14 [org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 22 [get-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 18 [if save-current-buffer while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 6 [if save-current-buffer while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [and if save-current-buffer while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 18 [setq while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 13 [setq while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 [car set-buffer save-current-buffer while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 19 [font-lock-specified-p font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [font-lock-mode font-lock-change-mode text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 4 [set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 6 [and while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 7 [uniquify-rationalize-conflicting-sublist uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [cdr buffer-list let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6 [after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [file-attributes find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 4 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 10 [cdr buffer-list let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [file-writable-p after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [org-macro--find-keyword-value org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 9 [file-name-directory find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 19 [format vc-possible-master "#<compiled -0x129484f364213c51>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x33232cdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 4 [find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 6 [buffer-list let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [buffer-list let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 11 [add-hook font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [global-font-lock-mode-cmhh text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [setq while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [looking-at set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 7 [find-file-name-handler vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 ["#<compiled 0xc570fa3cbbbffce>" add-hook jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist] 4 [and while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 9 [add-hook jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 3 [font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [format org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 14 [hack-local-variables--find-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 20 [if save-current-buffer while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 9 [easy-menu-convert-item easy-menu-create-menu easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 6 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 3 [uniquify--create-file-buffer-advice create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 6 [if save-current-buffer while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 9 [global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [org-babel-result-hide-spec run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [org-persist--add-to-index org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 7 [set-face-attribute set-face-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 4 [not and while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 10 [org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 7 [hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 20 [add-hook jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 11 [search-forward find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 6 [add-hook vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [alist-get "#<compiled 0xc570fa3cbbbffce>" add-hook font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 3 [not and while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 ["#<compiled 0x520fae4f5a085dc>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 9 [add-hook org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [setq while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 ["#<compiled 0xb4ba1a148e0af>" files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [provided-mode-derived-p derived-mode-p org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [cdr setq while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [org-cycle-set-startup-visibility org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [file-attributes let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [last org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 3 [file-truename file-truename file-truename abbreviate-file-name let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 7 [while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 12 [font-lock-compile-keyword font-lock-compile-keywords font-lock-set-defaults font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 6 [cdr setq while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 9 ["#<compiled 0x1980034abd99>" add-hook text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 7 [dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [org-element--cache-setup-change-functions org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 3 [select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [cdr buffer-list org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [car set-buffer save-current-buffer while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [cdr setq while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [string-prefix-p create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [org-setup-filling org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 3 [not and while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [expand-file-name vc-cvs-registered vc-call-backend "#<compiled -0xcb4facdb558840c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [car set-buffer save-current-buffer while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [seq-find org-cite-get-processor org-cite-try-load-processor org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [org-cite-get-processor org-cite-try-load-processor org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 7 [format-decode insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [jit-lock-context-fontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 14 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 11 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled 0x1f845b097ce1eb04>" completion--some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled -0x1426878d9d0164b7>" apply "#<compiled -0xf522f70719e9a2>" completion--in-region completion-in-region minibuffer-complete] 18 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 7 [self-insert-command funcall-interactively command-execute completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil] 1 [Automatic\ GC nil] 2096 [profiler-report funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 6)) (25874 53178 230250 476000) nil]
[-- Attachment #3: cpu-profile-get-file-buffer --]
[-- Type: application/octet-stream, Size: 57195 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 325 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 16 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 5 [frame-parameter if eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil] 3 [function-get macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 1 [find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 16 [org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn] 23 [require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 17 [require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 19 [autoload load require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [make-temp-file byte-code defvar require byte-code org-babel-do-load-languages custom-initialize-reset custom-declare-variable byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [require byte-code require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 4 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group] 3 [require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 9 [require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 22 [key-parse keymap-set define-keymap byte-code defvar require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [make-closure key-valid-p keymap--check keymap-set define-keymap byte-code defvar require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist] 3 [key-parse keymap-set define-keymap byte-code defvar require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 3 [tool-bar-local-item-from-menu byte-code defvar require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 3 [require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 7 [require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 17 [require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 9 [cl--plist-to-alist cl-struct-define byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 4 [require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 13 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0] 17 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code] 17 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe] 9 [custom-add-option require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist] 4 [make-byte-code byte-compile-lambda byte-compile-function-form byte-compile-form byte-compile-top-level "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_49>" byte-compile cl--generic-get-dispatcher cl--generic-make-next-function cl--generic-make-function cl-generic-define-method byte-code require byte-code require byte-code] 3 [cconv-convert cconv-convert "#<compiled 0x1e37bdef5a5ff6d0>" cconv--convert-funcbody cconv--convert-function cconv-convert cconv-closure-convert byte-compile-preprocess "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_49>" byte-compile cl--generic-get-dispatcher cl--generic-make-next-function cl--generic-make-function cl-generic-define-method byte-code require] 3 [byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 4 [org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 16 [org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 10 [require byte-code org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 3 [regexp-opt-charset regexp-opt-group regexp-opt rx--translate-or rx--translate-form rx--translate rx--translate-seq rx--translate-rep rx--translate-form rx--translate rx--translate-seq rx--translate-rep rx--translate-form rx--translate rx--translate-seq rx--translate-form] 3 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 10 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 53 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled 0x27acacd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 43 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 752 [outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 10 [format org-macro--find-keyword-value org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled 0x21752cd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 52 [get-file-buffer and let* find-buffer-visiting find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 19 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 6 [org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 27 [vc-find-root vc-svn-registered vc-call-backend "#<compiled 0x24b32cd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [add-hook outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 3 [org-setup-filling org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 3 [org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 42 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled 0x3d8eecd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 55 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 16 [regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 9 [dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 10 [file-truename find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 24 [file-remote-p hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 10 [delete-dups org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 10 [file-exists-p "#<compiled 0x45a29b257dec3af>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x24162cd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 16 [file-truename file-truename file-truename find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 8 [after-insert-file-set-coding insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [uniquify--create-file-buffer-advice create-file-buffer find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 10 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp] 45 [org-id-uuid org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 28 [inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 40 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0x2a1d2cd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 56 [cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [generate-new-buffer create-file-buffer find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 23 [expand-file-name vc-cvs-registered vc-call-backend "#<compiled 0x2d666cd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 7 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn] 26 [format org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 17 [org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 13 [file-writable-p after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 48 [alist-get org-fold-core-get-folding-spec-from-alias org-fold-core-set-folding-spec-property "#<compiled -0x426e37c150d4921>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 6 [string-match org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 20 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled 0x40d2ecd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 41 [add-hook font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 4 [file-name-directory vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled 0x4f352cd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 3 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0x4fe0acd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 22 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled 0x4f45acd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 19 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 7 [expand-file-name vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil] 3 [get-file-buffer if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 23 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 36 [set-face-extend "#<compiled -0x14151ece28c19b8e>" org--set-faces-extend org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 4 [re-search-forward org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [auto-coding-regexp-alist-lookup find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 8 ["#<compiled -0x1367859120f61499>" "#<compiled 0x9dfcef2c7cfd12e>" mapc seq-do seq-find org-cite-get-processor org-cite-try-load-processor org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [file-remote-p set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 13 [regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 10 [uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 [file-truename file-truename find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 12 [org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 91 [org-persist-read org-persist-load org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 10 [org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 15 [dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 7 [vc-possible-master "#<compiled 0x1d7cc5f257dec3af>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x52aa2cd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 3 [search-forward find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 4 [add-to-list global-font-lock-mode-cmhh text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [add-hook font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 7 [font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 7 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 10 [vc-file-setprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn] 9 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp] 21 [file-name-sans-versions inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 4 [org-babel-hide-all-hashes run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 26 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp] 17 [cconv-make-interpreted-closure function let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 6 [org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 28 [file-name-directory vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x1f6d899b0504051e>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 3 [org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 26 [get-file-buffer find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 23 [org-fold-core-set-folding-spec-property "#<compiled -0x426e367a9760921>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 6 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp] 29 [current-active-maps easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 ["#<compiled -0x426e36795c08921>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 4 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 [hack-local-variables--find-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 9 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn] 7 [auto-coding-alist-lookup find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 41 [org-assign-fast-keys org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 15 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x6d2b2cd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 7 [abbreviate-file-name locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled 0x6cccacd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 28 [org-macro--find-keyword-value org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 14 [font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 4 [find-file-name-handler make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 34 [format vc-possible-master "#<compiled 0x526062657dec3af>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled 0x6417ecd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 3 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 13 [abbreviate-file-name find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 40 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn] 6 [getenv vc-sccs-search-project-dir vc-possible-master "#<compiled 0x1c0a7ba257dec3af>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x70992cd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file] 4 [org-fold-core-get-folding-spec-from-alias org-fold-core-set-folding-spec-property "#<compiled -0x426e37c15678921>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 4 [intern org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 7 [org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 17 [org-persist--remove-from-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 17 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 19 [org--set-faces-extend org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 4 [org-persist--normalize-container org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [create-file-buffer find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_14>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 4 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp] 44 [expand-file-name find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 11 [org-fold-core--property-symbol-get-create "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 3 [hack-local-variables-filter hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 3 [org-fold-core--isearch-setup org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 4 [vc-make-backend-sym vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x484f2cd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 4 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 4 [add-hook org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 3 [file-modes after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [reverse regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0xb257ecd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 3 [select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 4 [backup-file-name-p after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [add-hook org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 3 [cdr uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 7 ["#<compiled 0x198008571d49>" add-hook org-element--cache-setup-change-functions org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist] 7 [vc-make-backend-sym vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0xb4a22cd947ebbf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 6 ["#<compiled 0xb51085af320af>" files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [set-face-attribute set-face-extend "#<compiled -0x14151ece28c17f8e>" org--set-faces-extend org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 38 [jit-lock-refontify jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 4 [alist-get org-fold-core-get-folding-spec-from-alias "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_14>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 4 [upcase org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 3 [find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 24 [advice--called-interactively-skip called-interactively-p font-lock-mode font-lock-change-mode text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 4 [uniquify-rationalize-conflicting-sublist uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 6 [format org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode] 7 [org-persist--find-index org-persist--remove-from-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 24 [vc-call-backend "#<compiled -0x114b1d326b814409>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 3 [org-setup-comments-handling org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 4 [file-readable-p vc-cvs-registered vc-call-backend "#<compiled -0x115dd9326b814409>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [macroexpand-all cconv-make-interpreted-closure function let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 4 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 4 [set-face-attribute set-face-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 7 [file-name-directory vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn] 7 [file-exists-p "#<compiled -0x14f66d59a8213c51>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x1d9201326b814409>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 3 [file-exists-p "#<compiled -0x12f7be69a8213c51>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x1d9611326b814409>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 12 ["#<compiled 0xb51085a1719af>" regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 3 [gethash org-persist--find-index org-persist--add-to-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [org-fold-region org-fold-show-all org-cycle-set-startup-visibility org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 3 [add-hook org-element--cache-setup-change-functions org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 3 [org-persist--add-to-index org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 4 [sgml-html-meta-auto-coding-function find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 13 [map-keymap easy-menu-lookup-name "#<compiled 0x13de3b8364ec51fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 4 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x1d1ad9326b814409>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let] 17 [file-attributes find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [cdr buffer-list org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 6 [set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 7 [buffer-list org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 7 [sgml-xml-auto-coding-function find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 3 [search-forward find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [file-directory-p find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [remq remove-hook font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 3 [hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 13 [add-hook global-eldoc-mode-cmhh kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 3 [reverse regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist] 3 [abbrev-table-get outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 3 [find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 16 [throw "#<compiled -0x18e8e34c0f7d356c>" map-keymap easy-menu-lookup-name "#<compiled 0x13de3b8364ec51fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [string-match vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn] 3 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_26>" cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [plist-get org-persist--find-index org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 3 [easy-menu-convert-item easy-menu-create-menu easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 4 [find-new-buffer-file-coding-system after-insert-file-set-coding insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [set-match-data "#<compiled 0xb51085a1719af>" replace-regexp-in-string org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 4 [eq alist-get "#<compiled 0xcd08f22e7bbffce>" add-hook jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode] 4 [replace-regexp-in-string org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 7 ["#<compiled 0xb51085af320af>" abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x14a5ed326b814409>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_132>" backtrace-frame called-interactively-p auto-save-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp] 3 [regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 4 [format-decode insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [cdr setq let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 3 ["#<compiled 0x520fae4f5a085dc>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 4 [easy-menu-define-key easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [find-file-name-handler make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [org-persist--add-to-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let] 3 [kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [org-element-restriction org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if] 3 [font-lock-compile-keyword font-lock-compile-keywords font-lock-set-defaults font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 3 [called-interactively-p font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while] 3 [called-interactively-p auto-save-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [jit-lock-context-fontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 10 [timer-relative-time run-at-time undo-auto--boundary-ensure-timer undo-auto--undoable-change completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil] 1 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 3 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 12 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled -0x17f7331e283a14fc>" completion--some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled 0x38598f735d29b54>" apply "#<compiled -0xf7c6e963e7a9a2>" completion--in-region completion-in-region minibuffer-complete] 14 [timer-event-handler completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 2 [minibuffer-inactive-mode completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 1 [Automatic\ GC nil] 1869 [profiler-report funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 6)) (25874 53414 475486 299000) nil]
[-- Attachment #4: cpu-profile-buffer-local-value --]
[-- Type: application/octet-stream, Size: 64389 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 325 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([menu-bar-update-buffers-1 menu-bar-update-buffers redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil] 3 [redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 30 [parse-partial-sexp syntax-ppss show-paren--default show-paren-function apply timer-event-handler nil nil nil nil nil nil nil nil nil nil] 4 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 1 [org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 38 [require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 14 [require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 20 [org-babel-do-load-languages custom-initialize-reset custom-declare-variable byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 4 [locate-file locate-library org-version defconst org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [set-face-attribute face-spec-reset-face face-spec-recalc face-spec-set custom-declare-face require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 3 [require byte-code require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 3 [require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 8 [require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 10 [require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 23 [key-parse keymap-set define-keymap byte-code defvar require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 20 [tool-bar-local-item-from-menu byte-code defvar require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 3 [require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 13 ["#<compiled 0x19800016fe914>" funcall eval custom-initialize-reset custom-declare-variable byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 4 [require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 13 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0] 15 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe] 7 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code] 11 [custom-declare-variable byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe] 4 [dbus-init-bus dbus--init byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode] 3 [byte-optimize-one-form byte-compile-top-level "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_49>" byte-compile cl--generic-get-dispatcher cl--generic-make-next-function cl--generic-make-function cl-generic-define-method byte-code require byte-code require byte-code require byte-code require] 3 [require require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require] 3 [record cl--make-slot-desc cl-struct-define byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code] 4 [key-parse keymap-set define-keymap byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 4 [key-parse keymap-set define-keymap byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 2 [jit-lock-refontify font-lock-flush elisp--font-lock-flush-elisp-buffers do-after-load-evaluation require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 4 [org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 13 [require require byte-code org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [reverse regexp-opt-group regexp-opt org-link-make-regexps org-link-set-parameters byte-code require byte-code require byte-code org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 4 [file-truename abbreviate-file-name let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 11 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0x130893ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 47 [file-attributes let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 10 [file-truename file-truename file-truename find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 18 [file-attributes find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 6 [file-truename file-truename abbreviate-file-name let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 24 [file-truename abbreviate-file-name let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 30 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x137a87ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let] 34 [vc-file-getprop vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [remove-hook global-eldoc-mode-check-buffers run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 45 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 59 [org-setup-comments-handling org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [plist-get org-persist--find-index org-persist--remove-from-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 680 [expand-file-name find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 10 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x129fc3ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 59 [org-persist-read org-persist-load org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 28 ["#<compiled -0x1434455cc099cc8e>" regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 38 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 13 [easy-menu-define-key easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [file-writable-p after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 7 [file-truename find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 22 [file-exists-p "#<compiled 0x4c40e0883dec3af>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x12fcd7ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 15 [file-remote-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 7 [regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 8 [set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x132473ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 43 [add-hook org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 9 [looking-at set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 11 [if while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 23 [org-persist--find-index org-persist--add-to-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 6 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 62 [file-truename file-truename find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 10 [inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 19 [files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 7 [org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 84 [org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 10 [not and while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 22 [coding-system-get select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 4 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 21 [file-truename file-truename file-truename abbreviate-file-name let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 9 [org-id-uuid org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 32 [search-forward find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 11 [vc-file-setprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 23 [buffer-local-value equal and if while and let* or let find-buffer-visiting find-file-noselect if let while let progn] 651 [get-file-buffer let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 20 [org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 23 [find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 10 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x1820fbea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 55 [lookup-key easy-menu-lookup-name "#<compiled 0x13ec4630ce3851fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 6 [file-name-sans-versions inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [org-persist--add-to-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 10 [vc-make-backend-sym vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0xdd06a9a4f75c51d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 6 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 18 [abbreviate-file-name locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x19c77bea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let] 20 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 54 [buffer-local-value equal and if while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp] 696 [org-fold-region org-fold-show-all org-cycle-set-startup-visibility org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 10 [abbreviate-file-name let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 32 [org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 13 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 11 [string= and if while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 47 [car buffer-local-value equal and if while and let* or let find-buffer-visiting if let while let progn] 8 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 6 [replace-regexp-in-string org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 7 [buffer-local-value string= and if while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp] 43 [org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 8 [file-truename file-truename abbreviate-file-name let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 16 [insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 59 [file-truename file-truename file-truename abbreviate-file-name let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6 [regexp-opt org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 6 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 18 [auto-coding-alist-lookup find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 50 [car buffer-local-value string= and if while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp] 6 [org-persist--remove-from-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 36 [vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0xdd4529a4f75c51d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 4 [make-local-variable find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [gethash org-fold-core--property-symbol-get-create org-fold-region org-fold-show-all org-cycle-set-startup-visibility org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [vc-rcs-registered vc-call-backend "#<compiled -0x10040fea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [get-file-buffer let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 17 [file-remote-p set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6 [and while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 18 [auto-coding-regexp-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 10 [dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [string-match org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 26 [file-exists-p "#<compiled 0xb96c883dec3af>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x18a797ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 15 [and if while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 17 [buffer-list org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 11 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 38 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 29 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 15 [set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 6 [expand-file-name vc-cvs-registered vc-call-backend "#<compiled -0x189affea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let] 4 [org-find-invisible-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [org-macro--find-keyword-value org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 29 [not and while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 [turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [and while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 22 [while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 7 [outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 8 [jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 3 [abbreviate-file-name find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 46 [alist-get "#<compiled 0x1d1e474f83bbffce>" add-hook org-element--cache-setup-change-functions org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [buffer-local-value and if while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp] 32 [files--transform-file-name make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 7 [add-hook outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 7 [file-name-directory vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x11a5ffea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let] 8 [cdr setq while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 22 [equal and if while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp] 12 [select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 7 [internal-get-lisp-face-attribute face-attribute face-background org-find-invisible-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 22 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 38 [uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 22 [run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [buffer-list let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 17 [car buffer-local-value and if while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp] 12 [cdr setq while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 15 [equal and if while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp] 21 [buffer-local-value and if while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 38 [alist-get org-fold-core-get-folding-spec-from-alias "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_14>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 4 [format org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 17 [file-remote-p hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 12 [org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 14 [setq while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 16 [and while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 10 [org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 25 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_14>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 3 [org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [expand-file-name vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [string= and if while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 35 [get-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 13 [derived-mode-p font-lock-set-defaults font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [sgml-xml-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [buffer-list let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 13 [file-name-directory find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [setq while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 11 [cdr setq while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 10 [quote buffer-local-value equal and if while and let* or let find-buffer-visiting if let while let progn] 4 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 10 [not and while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 6 [erase-buffer find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [font-lock-mode font-lock-change-mode text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 4 [regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 3 [and if while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 9 [add-hook font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 4 [and if while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 19 [cdr setq while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 14 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0] 3 [buffer-local-value and if while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp] 16 [hack-local-variables--find-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 10 [car buffer-local-value and if while and let* or let find-buffer-visiting find-file-noselect if let while let progn] 7 [and if while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 12 [regexp-opt-group regexp-opt-group regexp-opt org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [format vc-possible-master "#<compiled -0x12cea1f77c213c51>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x170cd7ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 3 [run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 4 [not and while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 11 [while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 19 [if while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [org-fold-core--property-symbol-get-create org-fold-region org-fold-show-all org-cycle-set-startup-visibility org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [alist-get "#<compiled 0x1d1e474f83bbffce>" add-hook jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0] 3 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 9 [while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [buffer-local-value string= and if while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp] 30 [cdr buffer-list org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [buffer-local-value and if while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 35 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x17ba3bea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let] 19 [uniquify-rationalize-conflicting-sublist uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 11 [kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [auto-coding-regexp-alist-lookup find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 8 [setq while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 9 [add-hook "#<compiled -0x1dd2bf6385bed090>" run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [uniquify--create-file-buffer-advice create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [abbreviate-file-name let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 15 ["#<compiled 0xa575483ce60af>" files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [file-exists-p "#<compiled -0x12118d377c213c51>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0xe8b97ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 9 [org-delete-all org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 3 [car buffer-local-value string= and if while let or let find-buffer-visiting find-file-noselect if let while let progn] 7 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 3 [font-lock-specified-p font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 7 [org-babel-hide-all-hashes run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 23 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0xe84d3ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let] 23 [file-name-sans-versions inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 7 [regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 4 [dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [current-active-maps easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 7 [org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 20 [buffer-list let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [org-fold-core--property-symbol-get-create org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 4 [org-element-restriction org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 6 ["#<compiled 0x2e3911fb793099c>" map-keymap easy-menu-lookup-name "#<compiled 0x13ec4630ce3851fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [epa-file-find-file-hook run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 7 [easy-menu-create-menu easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 4 [hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 21 [eq alist-get "#<compiled 0x1d1e474f83bbffce>" add-hook text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 3 [quote buffer-local-value string= and if while let or let find-buffer-visiting find-file-noselect if let while let progn] 3 [sgml-html-meta-auto-coding-function find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 6 [cdr buffer-list let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 8 [generate-new-buffer create-file-buffer find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 30 [regexp-quote org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let] 7 [gethash org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [quote buffer-local-value and if while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [vc-make-backend-sym vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0xfd433ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [cdr buffer-list let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [add-to-list global-eldoc-mode-cmhh kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [car buffer-local-value and if while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp] 7 [setq while and let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 19 [while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 15 [turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [gethash org-persist--find-index org-persist--add-to-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [and while let or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 14 [provided-mode-derived-p derived-mode-p org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [cdr buffer-list let* or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [car buffer-local-value equal and if while and let* or let find-buffer-visiting find-file-noselect if let while let] 9 [abort-if-file-too-large find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 4 [if while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [add-hook vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if] 16 [file-attributes let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 11 [org-setup-filling org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [search-backward hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [org-persist--add-to-index org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 3 [obarray-get abbrev-table-get org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 4 [if while and let* or let find-buffer-visiting find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [re-search-forward org-macro--find-keyword-value org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 4 [copy-tree font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [font-lock-compile-keyword font-lock-compile-keywords font-lock-set-defaults font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 3 [jit-lock-refontify jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [set-match-data "#<compiled 0xa575483ce60af>" abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0xc5e37ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 3 [file-readable-p vc-cvs-registered vc-call-backend "#<compiled -0xdc5f7ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let] 4 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let] 4 [buffer-list let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 7 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options] 3 [org-update-radio-target-regexp org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [quote buffer-local-value and if while and let* or let find-buffer-visiting find-file-noselect if let while let progn] 3 [intern org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 [quote buffer-local-value string= and if while let or let find-buffer-visiting if let while let progn elisp--eval-last-sexp] 3 [org-persist--normalize-container org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 4 ["#<compiled -0x17b2b58b7c213c52>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0xd9ef3ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if] 3 [make-closure vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0xd5e93ea77cb046f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let] 4 [mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while] 3 ["#<compiled -0x141622d895fe3f8e>" org--set-faces-extend org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 3 [file-name-directory vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [upcase org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn] 3 [make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect if let while let progn elisp--eval-last-sexp] 4 [parse-partial-sexp syntax-ppss lisp--el-funcall-position-p lisp--el-match-keyword font-lock-fontify-keywords-region font-lock-default-fontify-region font-lock-fontify-region "#<compiled -0x7339493694aa027>" jit-lock--run-functions jit-lock-fontify-now jit-lock-function redisplay_internal\ \(C\ function\) nil nil nil nil] 3 [line-move-visual line-move previous-line funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 4 [scan-sexps show-paren--default show-paren-function apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil] 1 [eldoc-display-in-echo-area run-hook-with-args "#<compiled 0x11815915ee59bc6>" "#<compiled 0xec3ff97d5870465>" elisp-eldoc-funcall "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_17>" eldoc-documentation-default eldoc--invoke-strategy eldoc-print-current-symbol-info "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>" apply timer-event-handler nil nil nil nil] 5 [jit-lock-context-fontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 10 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 26 [redisplay--pre-redisplay-functions redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil] 1 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled -0x1b40019b67d614fc>" completion--some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled 0x642de6705869b5c>" apply "#<compiled -0xf9786f92b569a2>" completion--in-region completion-in-region minibuffer-complete] 20 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 5 [Automatic\ GC nil] 2276 [profiler-report funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 7)) (25874 54556 743257 687000) nil]
[-- Attachment #5: Type: text/plain, Size: 224 bytes --]
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-26 8:54 ` Ihor Radchenko
@ 2023-09-26 14:18 ` Michael Albinus
2023-10-04 10:57 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Michael Albinus @ 2023-09-26 14:18 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, Eli Zaretskii, 66117
Ihor Radchenko <yantar92@posteo.net> writes:
Hi Ihor,
>> With local files, it seems like insert-file-contents sets it. So
>> maybe we should record the file name in the cache in bset_filename.
>
> Thanks for the pointer!
> AFAIU, the relevant code is
>
> if (NILP (handler))
> {
> current_buffer->modtime = mtime;
> current_buffer->modtime_size = st.st_size;
> bset_filename (current_buffer, orig_filename);
>
> However, it looks like file handlers are responsible for setting the
> filename. So,
>
> > - ~tramp-handle-insert-file-contents~
> > - ~tramp-archive-handle-insert-file-contents~
> > - ~ange-ftp-insert-file-contents~
> > - ~jka-compr-insert-file-contents~
> > - ~mm-url-insert-file-contents~
> > - ~epa-file-insert-file-contents~
>
> may also need to handle the caching. And also all the third-party handlers.
That might be hard to synchronize. Why not fill the cache after that
code snippet? The handlers have already done their job, buffer-file-name
is set. And so does bset_filename in the local case.
Best regards, Michael.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-26 13:06 ` Ihor Radchenko
@ 2023-09-27 23:30 ` Michael Heerdegen
2023-10-05 14:25 ` Ihor Radchenko
2023-09-29 7:30 ` Eli Zaretskii
1 sibling, 1 reply; 162+ messages in thread
From: Michael Heerdegen @ 2023-09-27 23:30 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, Eli Zaretskii, 66117
Ihor Radchenko <yantar92@posteo.net> writes:
> So, using `with-current-buffer' when looping over all the buffers is
> certainly not optimal (maybe in other places as well).
>
> However, even `buffer-local-value' is still costly - it adds up over 50%
> run time.
OTOH - I tried to reproduce your experiments here locally -
`find-buffer-visiting' only takes 12% of the total run time here when
using the `buffer-local-value' tuned definition of `find-buffer-visiting'.
When we additionally merge the two loops in `find-buffer-visiting' into
one loop and avoid the duplicated calls of `buffer-local-value', don't we
reach a region where maintaining a separate cache doesn't make sense for
the additional gain?
And I wonder which part(s) of `buffer-local-value' is/are that costly,
and why.
Storing the same information twice - once in a buffer local variable,
and then again in a cache that needs to be updated separately doesn't
sound very reasonable.
Michael.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-26 13:06 ` Ihor Radchenko
2023-09-27 23:30 ` Michael Heerdegen
@ 2023-09-29 7:30 ` Eli Zaretskii
2023-09-29 13:56 ` Ihor Radchenko
1 sibling, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-09-29 7:30 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Tue, 26 Sep 2023 13:06:04 +0000
>
> Here is a reproducer anyone can try locally:
>
> 1. Create a dummy set of 1000 files in /tmp/test/:
> (dotimes (i 1000) (with-temp-file (format "/tmp/test/%d.org" i) (insert "* This is test")))
>
> 2. emacs -Q
> 3. Open all the 1000 files one by one:
> (dolist (file (directory-files "/tmp/test/" t "org"))
> (unless (find-buffer-visiting file) (find-file-noselect file)))
>
> Step (3) takes 18.8 seconds on my machine. The CPU profile attached as
> cpu-profile.
Since find-file-noselect calls find-buffer-visiting internally, I'm
not sure the above test case makes sense. A Lisp program should feel
free to call find-file-noselect directly, and Emacs will find the
visiting buffer, if it already exists, as part of the job of
find-file-noselect.
Let's please focus on test cases where the Lisp code being benchmarked
doesn't do any unnecessary stuff, since what's at stake is a
significant change in our internals.
> If one uses `get-file-buffer' instead of `find-buffer-visiting', the
> total runtime becomes 5.1 sec - almost 4x faster.
This is also not very interesting, since find-file-noselect calls
get-file-buffer as well.
> So, it looks like caching `get-file-buffer' is not really necessary.
I don't think we are ready for conclusions yet, see above.
> >From the profile, the slowest parts of `find-buffer-visiting' are the
> two loops checking `buffer-file-truename' and `buffer-file-number' with
> most of the time apparently spent executing `with-current-buffer'. I
> tested whether `with-current-buffer' is the culprit by replacing it with
> `buffer-local-value' calls:
If we come to the conclusion that those loops in find-buffer-visiting
are the hot spot, the right thing is to implement them in C, where we
don't need to use the equivalent of with-current-buffer to examine the
truename and file-number of every buffer, we can just access them
directly.
> The result is 7.8 sec execution time - much better compared to 18.8
> seconds in `with-current-buffer' version, but still worse compared to
> 5.1 sec in `get-file-buffer' version. See the attached
> cpu-profile-buffer-local-value.
As explained above, both the 18.8 and the 5.1 figures are not good
base lines upon which to make decisions.
> So, using `with-current-buffer' when looping over all the buffers is
> certainly not optimal (maybe in other places as well).
with-current-buffer is normally very expensive. Which is why any
performance-critical loop should try to avoid it as much as possible.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-29 7:30 ` Eli Zaretskii
@ 2023-09-29 13:56 ` Ihor Radchenko
2023-09-29 16:12 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-09-29 13:56 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
[-- Attachment #1: Type: text/plain, Size: 2816 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> 3. Open all the 1000 files one by one:
>> (dolist (file (directory-files "/tmp/test/" t "org"))
>> (unless (find-buffer-visiting file) (find-file-noselect file)))
>>
>> Step (3) takes 18.8 seconds on my machine. The CPU profile attached as
>> cpu-profile.
>
> Since find-file-noselect calls find-buffer-visiting internally, I'm
> not sure the above test case makes sense. A Lisp program should feel
> free to call find-file-noselect directly, and Emacs will find the
> visiting buffer, if it already exists, as part of the job of
> find-file-noselect.
>
> Let's please focus on test cases where the Lisp code being benchmarked
> doesn't do any unnecessary stuff, since what's at stake is a
> significant change in our internals.
The reason I left an extra `find-buffer-visiting' call was because Org
mode does it (for a reason - we need information if a file was already
open or not).
You may as well do
(dolist (file (directory-files "/tmp/test/" t "org"))
(find-file-noselect file))
as step (3).
The same conclusions will hold - `find-file-noselect' calls
`find-buffer-visiting' as well and it also takes most of the CPU time.
I am attaching an updated set of the same profiles, but based on the
above `dolist' that only calls `find-file-noselect'.
The run times are now: 12.0 seconds, 5.3 seconds, and 6.6 seconds.
>> If one uses `get-file-buffer' instead of `find-buffer-visiting', the
>> total runtime becomes 5.1 sec - almost 4x faster.
>
> This is also not very interesting, since find-file-noselect calls
> get-file-buffer as well.
No. `find-file-noselect' calls `find-buffer-visiting'.
> If we come to the conclusion that those loops in find-buffer-visiting
> are the hot spot, the right thing is to implement them in C, where we
> don't need to use the equivalent of with-current-buffer to examine the
> truename and file-number of every buffer, we can just access them
> directly.
I still think that my previous conclusions are true. And I agree that
rewriting these expensive loops in C makes sense. Maybe two new
subroutines to find buffer by `buffer-file-truename' and by
`buffer-file-number'? They will be an equivalent of `get-file-buffer'
that searches by `buffer-file-name'.
>> So, using `with-current-buffer' when looping over all the buffers is
>> certainly not optimal (maybe in other places as well).
>
> with-current-buffer is normally very expensive. Which is why any
> performance-critical loop should try to avoid it as much as possible.
Aside: this reminds me about obsoletion of generalized buffer-local
variable. AFAIU, there is currently no way to set buffer-local value in
buffer without setting that buffer to current. It would be nice if such
setting were possible, especially in performance-critical code.
[-- Attachment #2: cpu-profile --]
[-- Type: application/octet-stream, Size: 53555 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 325 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 5 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 2 [abbreviate-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 59 [org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 37 [require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 13 [require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 23 [define-key byte-code defvar require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [require byte-code org-babel-do-load-languages custom-initialize-reset custom-declare-variable byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [require byte-code require byte-code require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 5 [require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 17 [require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 22 [easy-menu-convert-item easy-menu-create-menu easy-menu-convert-item-1 easy-menu-convert-item easy-menu-create-menu easy-menu-do-define require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 4 [make-composed-keymap byte-code defvar require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [tool-bar-local-item-from-menu byte-code defvar require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 4 [require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 11 [require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 14 [require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 14 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0] 16 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe] 10 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code] 12 [do-after-load-evaluation require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist] 4 [key-parse keymap-set define-keymap byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 4 [cl--generic-build-combined-method cl--generic-make-next-function cl--generic-make-function cl-generic-define-method byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require] 4 [byte-optimize-lapcode byte-compile-out-toplevel byte-compile-top-level byte-compile-lambda byte-compile-make-closure byte-compile-form byte-compile-body byte-compile-let byte-compile-form byte-compile-top-level byte-compile-lambda byte-compile-function-form byte-compile-form byte-compile-top-level "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_49>" byte-compile] 3 [make-face-x-resource-internal face-spec-recalc face-spec-set custom-declare-face require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 3 [call-process-shell-command shell-command shell-command-to-string "#<compiled 0xfd79aa6f08ad2b4>" funcall eval custom-initialize-reset custom-declare-variable byte-code require byte-code require byte-code require org-load-modules-maybe org-mode] 3 [key-parse keymap-set define-keymap byte-code defvar require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 4 [org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 7 [require byte-code org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [require byte-code require byte-code org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 6 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0x5530bcf9627bbf2>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 35 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled 0x54c33cf9627bbf2>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 33 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 69 [org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 46 [file-name-sans-versions inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 7073 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled 0x544cbcf9627bbf2>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 32 [regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [erase-buffer find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 3 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 64 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 35 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [file-truename file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 10 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 35 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 678 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 17 [auto-coding-alist-lookup find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 46 [insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 46 [global-font-lock-mode-cmhh kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 6 [uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 21 [search-forward find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 4 [file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 22 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 13 [org-persist-read org-persist-load org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 10 [inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 32 [abbreviate-file-name find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 25 [lookup-key easy-menu-lookup-name "#<compiled 0x13dceb560d3c51fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 4 [font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 6 [regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 7 [global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [add-to-invisibility-spec org-fold-core-set-folding-spec-property "#<compiled -0x426d143b3f2d121>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [add-hook org-element--cache-setup-change-functions org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 8 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 ["#<compiled 0xf45bd1ef6f7c99c>" map-keymap easy-menu-lookup-name "#<compiled 0x13dceb560d3c51fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [auto-coding-regexp-alist-lookup find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 7 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 64 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 15 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 33 [generate-new-buffer create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 41 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 18 [org-persist--normalize-container org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 4 [auto-coding-regexp-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 47 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 26 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 10 [string-match org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 16 [org-babel-hide-all-hashes run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 14 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 11 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 7 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 34 [after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 4 [file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 28 [set-face-attribute set-face-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 34 [add-hook org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 4 [file-exists-p "#<compiled 0x1961159d87dec3ae>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0xd03003069d8440e>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 17 [let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil] 3 [org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 6 [find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 7 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 20 [file-exists-p "#<compiled 0x1d62e74187dec3af>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x130743069d8440e>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 10 [org-setup-comments-handling org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [add-hook font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 14 [file-name-directory vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0xbe383069d8440e>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 7 [regexp-opt-group regexp-opt-group regexp-opt org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [file-exists-p "#<compiled 0x1d2b709587dec3af>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x17d883069d8440e>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 6 [sgml-xml-auto-coding-function find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 8 [file-directory-p find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 12 [org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 56 [delete-dups org-setup-filling org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x105cc3069d8440e>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 26 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0x11cd03069d8440e>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 10 [vc-possible-master "#<compiled 0x1d0782e187dec3af>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x110543069d8440e>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 3 [hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 10 ["#<compiled 0x520fae4f5a085dc>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 7 [add-hook org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [format org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 6 [org-fold-core-set-folding-spec-property "#<compiled -0x426d143b3c81121>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 12 [easy-menu-convert-item easy-menu-create-menu easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 9 [regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 6 [org-fold-core--property-symbol-get-create "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 3 ["#<compiled 0x15036a0bd7bbffce>" add-hook font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [uniquify-rationalize-conflicting-sublist uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 19 [alist-get org-fold-core-get-folding-spec-from-alias org-fold-core-set-folding-spec-property "#<compiled -0x426d15fa43d5121>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 4 [file-writable-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 6 [file-name-directory vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [get-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 20 [file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 17 [normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [file-name-sans-versions inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [hack-local-variables--find-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 10 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled 0x1e8587cf9627bbf2>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 18 [org-update-radio-target-regexp org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [org-fold-region org-fold-show-all org-cycle-set-startup-visibility org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 7 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 12 [car org-fold-core-get-folding-spec-from-alias org-fold-core-set-folding-spec-property "#<compiled -0x426d143b3f2d121>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 3 [search-forward find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 ["#<compiled -0x1434455cc099cc8e>" regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 4 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled 0x1c8043cf9627bbf2>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 21 [file-name-directory vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x1c9f3fcf9627bbf2>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 4 [run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [cdr buffer-list org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 6 [org-id-uuid org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 19 [internal-get-lisp-face-attribute face-attribute face-foreground org-find-invisible-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist] 6 [upcase org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 7 [abbreviate-file-name locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0xe07072cf804fafe>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 18 [org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 7 ["#<compiled -0x426d15faa46d121>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 4 [file-truename file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 8 [file-attributes find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 4 [face-background org-find-invisible-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 ["#<compiled 0xad403577420af>" files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 7 [sgml-html-meta-auto-coding-function find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 34 [vc-git-registered vc-call-backend "#<compiled -0x1f9da83069d8440e>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [replace-regexp-in-string org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [seq-filter hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [mapc seq-do seq-find org-cite-get-processor org-cite-try-load-processor org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [throw "#<compiled -0x18cecda4f908356c>" map-keymap easy-menu-lookup-name "#<compiled 0x13dceb560d3c51fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [org-agenda-files org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [vc-call-backend "#<compiled -0x1fb2283069d8440e>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 4 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 10 [abort-if-file-too-large find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 4 [find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 9 [font-lock-flush font-lock-set-defaults font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 4 [string-match vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [font-lock-initial-fontify font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [file-remote-p set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 7 ["#<compiled 0x198007434609>" add-hook font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [buffer-list org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 24 [intern org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 22 ["#<compiled 0x15036a0bd7bbffce>" add-hook text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 4 [org-fold-core-get-folding-spec-from-alias org-fold-core-set-folding-spec-property "#<compiled -0x426d15faa46d121>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 4 ["#<compiled -0x11a7c22a9da89c90>" run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 4 [uniquify-get-proposed-name uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [derived-mode-p font-lock-set-defaults font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [set-match-data "#<compiled 0xad4035d4819af>" regexp-opt org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 4 [hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [font-lock-compile-keyword font-lock-compile-keywords font-lock-set-defaults font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 3 [global-eldoc-mode-cmhh kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [gethash org-persist--find-index org-persist--add-to-index org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [org-fold-core--property-symbol-get-create org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 4 ["#<subr string-lessp>" regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [org-fold-core--property-symbol-get-create org-fold-region org-fold-show-all org-cycle-set-startup-visibility org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [org-persist--remove-from-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 13 [org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 ["#<compiled 0x81d833549a6a>" org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 [vector easy-menu-lookup-name "#<compiled 0x13dceb560d3c51fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 ["#<compiled -0xbd48ffacbfe4f6d>" add-hook font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [vc-file-setprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [org-macro--find-keyword-value org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 8 [org-extract-log-state-settings org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [set-face-attribute set-face-extend "#<compiled -0x141533d838ae7f8e>" org--set-faces-extend org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [intern easy-menu-lookup-name "#<compiled 0x13dceb560d3c51fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [org-fold-core-get-folding-spec-from-alias org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [org-compute-latex-and-related-regexp org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [cdr find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 7 [remq font-lock-default-function font-lock-mode font-lock-change-mode text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [org-macro--counter-initialize org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [file-truename file-truename file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [epa-file-find-file-hook run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [add-hook vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [jit-lock-refontify jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 4 [text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [delq seq-filter hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [intern-soft lisp--el-match-keyword font-lock-fontify-keywords-region font-lock-default-fontify-region font-lock-fontify-region "#<compiled -0x7334482d902f027>" jit-lock--run-functions jit-lock-fontify-now jit-lock-function redisplay_internal\ \(C\ function\) nil nil nil nil nil nil] 3 [scan-sexps show-paren--default show-paren-function apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil] 2 [jit-lock-context-fontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 18 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 19 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 3 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled -0xeec12b7df2a14fc>" completion--some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled -0x16e9a7de8dfd64b5>" apply "#<compiled -0x50a8991544a9a2>" completion--in-region completion-in-region minibuffer-complete] 13 [Automatic\ GC nil] 1989 [profiler-report funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 10)) (25878 54541 644743 742000) nil]
[-- Attachment #3: cpu-profile-get-file-buffer --]
[-- Type: application/octet-stream, Size: 56660 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 325 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 5 [redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 17 [scan-sexps show-paren--default show-paren-function apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil] 3 [function-get macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all elisp--eval-last-sexp eval-last-sexp] 1 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 55 [org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp] 39 [require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 28 [require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 13 [require byte-code org-babel-do-load-languages custom-initialize-reset custom-declare-variable byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 4 [require byte-code require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt "#<compiled -0xcec7ed746291599>" funcall eval custom-initialize-reset custom-declare-variable] 3 [require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 13 [require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 13 [require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 18 [easy-menu-convert-item-1 easy-menu-convert-item easy-menu-create-menu easy-menu-do-define require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 21 [key-valid-p keymap--check keymap-set define-keymap defvar require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist] 3 [sort-coding-systems byte-code defvar require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 3 [require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 7 [require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 17 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0] 9 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code] 20 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe] 7 [do-after-load-evaluation require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode] 3 [key-parse keymap-set define-keymap byte-code defvar require byte-code require byte-code require byte-code require byte-code require byte-code require] 4 [dbus-init-bus dbus--init byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode] 2 [key-parse keymap-set define-keymap byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [byte-optimize-one-form byte-compile-top-level "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_49>" byte-compile cl--generic-get-dispatcher cl--generic-make-next-function cl--generic-make-function cl-generic-define-method byte-code require byte-code require byte-code require byte-code require] 3 [require require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require] 3 [key-parse keymap-set define-keymap byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [elisp--font-lock-flush-elisp-buffers do-after-load-evaluation require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 1 [string-match key-valid-p keymap--check keymap-set define-keymap defvar require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 22 [require require byte-code org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 4 [abbreviate-file-name locate-user-emacs-file "#<compiled 0x152fa4ee108a8599>" funcall eval custom-initialize-reset custom-declare-variable byte-code require byte-code require byte-code org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist] 3 [cconv-make-interpreted-closure function let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 3 [files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 13 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 75 [easy-menu-define-key easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 6 [auto-coding-regexp-alist-lookup find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 6 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 61 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x1c9253754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 38 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x1c90fb754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 27 [file-truename find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 27 ["#<compiled 0x2cf2574f107c99c>" map-keymap easy-menu-lookup-name "#<compiled 0x13ddc61d483c51fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 7 [search-forward find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 11 [remove-hook font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 802 [abbreviate-file-name find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 44 [vc-make-backend-sym vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x1faf4f754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 7 [org-persist-read org-persist-load org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 22 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0x1e3e57754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 62 [get-file-buffer find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 20 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 44 [add-hook org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 4 [inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 20 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x1ffebb754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 50 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x1f92ff754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 37 [file-truename file-truename find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 9 [uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 11 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 18 [cdr buffer-list org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 9 [string-match org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 20 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode] 6 ["#<compiled 0x9dc20ecbe1ad12e>" mapc seq-do seq-find org-cite-get-processor org-cite-try-load-processor org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 4 [auto-coding-alist-lookup find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 40 [org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 19 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 3 ["#<compiled -0x1f8b57754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 4 [dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 7 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 [vc-file-getprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp] 14 [org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 22 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 17 [file-remote-p set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp] 7 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp] 29 [org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 13 [org-fold-core--property-symbol-get-create "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_14>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 4 ["#<compiled 0x1980024cea39>" add-hook text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 3 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp] 16 [set-face-attribute set-face-extend "#<compiled -0x14153ad528fe9b8e>" org--set-faces-extend org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 4 [org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 25 [org-persist--find-index org-persist--add-to-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 3 [throw org-persist--find-index org-persist--remove-from-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 4 [org-id-uuid org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 34 [regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 14 [org-fold-core-get-folding-spec-from-alias org-fold-core-set-folding-spec-property "#<compiled -0x426dcbf36108121>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 8 [remq remove-hook global-eldoc-mode-check-buffers run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 10 [sgml-html-meta-auto-coding-function find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 32 [regexp-opt-group regexp-opt org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 3 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 46 [abbreviate-file-name locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x712ab754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 20 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 33 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 6 [file-remote-p hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 4 [file-name-directory vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x7f07f754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 3 [run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 8 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp] 3 [set-face-attribute set-face-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 4 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp] 63 [find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 10 [add-hook font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp] 3 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 22 [org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 45 [org-fold-core-get-folding-spec-from-alias org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [file-attributes find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 6 [add-hook text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 4 [file-exists-p "#<compiled 0x568f07887dec3af>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x1477754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 14 [reverse regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 4 [insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 51 [find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 28 [file-directory-p find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 6 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6 [file-name-sans-versions inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp] 6 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0x18b07754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 13 [let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil] 3 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 20 ["#<compiled 0x159e26ecd7bbffce>" add-hook font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [vc-file-setprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp] 6 [org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 7 [eq alist-get "#<compiled 0x159e26ecd7bbffce>" add-hook jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode] 3 [function-get macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let while let progn elisp--eval-last-sexp] 3 [sgml-xml-auto-coding-function find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 9 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn] 14 [file-exists-p "#<compiled 0x1c22a0b887dec3af>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0xc237754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 4 [add-hook outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 3 [uniquify--create-file-buffer-advice create-file-buffer find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 14 [gethash org-persist--find-index org-persist--add-to-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [font-lock-compile-keyword font-lock-compile-keywords font-lock-set-defaults font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 9 [file-modes after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x11cab7754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 19 [org-fold-region org-fold-show-all org-cycle-set-startup-visibility org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 3 [make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 ["#<compiled 0x520fae4f5a085dc>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 6 [file-exists-p "#<compiled 0x43e610087dec3af>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x11f87f754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 10 [uniquify-rationalize-conflicting-sublist uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp] 17 [format org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 7 [easy-menu-convert-item easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 3 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 19 [files--transform-file-name make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 [org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 3 [outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 4 [make-closure vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp] 3 [org-persist--remove-from-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 45 [get-file-buffer and let* find-buffer-visiting find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 9 [buffer-list org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 29 [hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 4 [regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 4 [add-hook org-fold-core--isearch-setup org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 4 [mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [provided-mode-derived-p derived-mode-p org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 4 [generate-new-buffer create-file-buffer find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 24 [org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 34 [org-update-radio-target-regexp org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 9 [org-persist--add-to-index org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 4 [buffer-name org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 4 [org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 17 [org-babel-hide-all-hashes run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 20 [format vc-possible-master "#<compiled 0x1f70a59087dec3ae>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x10450f754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 4 [file-remote-p hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [remove-from-invisibility-spec org-fold-core-set-folding-spec-property "#<compiled -0x426dcbf36ca0121>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 7 [delq org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [org-macro--find-keyword-value org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 10 [mapc seq-do seq-find org-cite-get-processor org-cite-try-load-processor org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 3 [and let* find-buffer-visiting find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 ["#<compiled -0x5cf6469857a39cc>" "#<compiled 0x9dc20ecbe1ad12e>" mapc seq-do seq-find org-cite-get-processor org-cite-try-load-processor org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [org-persist--find-index org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 3 [add-hook font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [erase-buffer find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [remove-hook font-lock-mode font-lock-change-mode text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 3 [org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 4 [regexp-opt org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 4 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp] 23 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp] 6 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [hack-local-variables--find-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 15 [internal-get-lisp-face-attribute face-attribute face-background org-find-invisible-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 3 [delete-dups regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 3 [format org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 10 [getenv vc-sccs-search-project-dir vc-possible-master "#<compiled 0x12fcde2487dec3ae>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x4a5c48ab237bbf5>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file] 7 ["#<compiled 0x1980024ce285>" add-hook font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 3 [org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 3 [match-string org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 3 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [search-forward find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 13 [add-hook "#<compiled -0x1052908deff60090>" run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 7 [add-hook org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while] 6 [file-writable-p after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [file-name-sans-versions inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp] 4 ["#<compiled 0x13ddc61df5cbb1fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 3 [eldoc--supported-p turn-on-eldoc-mode global-eldoc-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp] 4 [org-setup-filling org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn] 7 [map-keymap easy-menu-lookup-name "#<compiled 0x13ddc61d483c51fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [cdr uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x107053754dc8440b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect] 3 [fset progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [vc-possible-master "#<compiled 0x1391494c87dec3ae>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x4247c8ab237bbf5>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 4 [backup-file-name-p after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [intern org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp] 16 [font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 7 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* let while let progn] 3 [find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 7 [epa-file-find-file-hook run-hooks after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [sgml-xml-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [set-match-data "#<compiled 0xadf57d83819af>" abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 4 [org-fold-core-set-folding-spec-property "#<compiled -0x426dc531dd88121>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let*] 3 [backtrace-frame called-interactively-p font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [org-assign-fast-keys org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 3 [cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [replace-regexp-in-string org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 3 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let] 6 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect progn unwind-protect let* let while let] 3 [jit-lock-context-fontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 17 [menu-bar-update-buffers redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil] 1 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 24 [all-completions complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-pcm--all-completions completion-basic-all-completions "#<compiled -0x1f986e195edd24fc>" completion--some completion--nth-completion completion-all-completions minibuffer-completion-help completion--do-completion completion--in-region-1 "#<compiled -0x16ab22a124fd64a4>" apply "#<compiled -0xf780b1dff4a9a2>" completion--in-region] 12 [window-in-direction "#<compiled -0x74d76540f34f8b0>" walk-window-tree-1 walk-window-tree display-buffer-at-bottom display-buffer temp-buffer-window-show minibuffer-completion-help completion--do-completion completion--in-region-1 "#<compiled -0x16ab22a124fd64a4>" apply "#<compiled -0xf780b1dff4a9a2>" completion--in-region completion-in-region minibuffer-complete] 4 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_59>" read-extended-command--affixation "#<compiled -0x38170b152eb6abe>" window--display-buffer display-buffer-at-bottom display-buffer temp-buffer-window-show minibuffer-completion-help completion--do-completion completion--in-region-1 "#<compiled -0x16ab22a124fd64a4>" apply "#<compiled -0xf780b1dff4a9a2>" completion--in-region completion-in-region minibuffer-complete] 3 [generate-new-buffer substitute-command-keys completion-setup-function display-completion-list "#<compiled -0x38170b152eb6abe>" window--display-buffer display-buffer-at-bottom display-buffer temp-buffer-window-show minibuffer-completion-help completion--do-completion completion--in-region-1 "#<compiled -0x16ab22a124fd64a4>" apply "#<compiled -0xf780b1dff4a9a2>" completion--in-region] 3 [fit-window-to-buffer completions--fit-window-to-buffer window--display-buffer display-buffer-at-bottom display-buffer temp-buffer-window-show minibuffer-completion-help completion--do-completion completion--in-region-1 "#<compiled -0x16ab22a124fd64a4>" apply "#<compiled -0xf780b1dff4a9a2>" completion--in-region completion-in-region minibuffer-complete funcall-interactively] 4 [display-graphic-p if eval redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil] 3 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 10 ["#<compiled -0x1e6c34dbf2498dab>" try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled -0x1f986dbb102a14fc>" completion--some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled -0x16ab22a124fd64a4>" apply "#<compiled -0xf780b1dff4a9a2>" completion--in-region completion-in-region] 4 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled -0x1f986dbb102a14fc>" completion--some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled -0x16ab22a124fd64a4>" apply "#<compiled -0xf780b1dff4a9a2>" completion--in-region completion-in-region minibuffer-complete] 11 [Automatic\ GC nil] 1899 [profiler-report funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 7)) (25878 54673 594148 752000) nil]
[-- Attachment #4: cpu-profile-buffer-local-value --]
[-- Type: application/octet-stream, Size: 64325 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 325 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 40 [directory-files let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil] 3 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 24 [org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 31 [require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 21 [load require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 4 [require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 10 [load byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [require byte-code require byte-code org-babel-do-load-languages custom-initialize-reset custom-declare-variable byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [match-string key-parse keymap-set define-keymap defvar require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 3 [require byte-code require byte-code require byte-code org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 11 [require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 20 [easy-menu-convert-item easy-menu-create-menu easy-menu-convert-item-1 easy-menu-convert-item easy-menu-create-menu easy-menu-do-define require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [tool-bar-local-item-from-menu byte-code defvar require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 4 [require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 13 [require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 16 [require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 17 [custom-declare-variable byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 3 [require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 14 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0] 13 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe] 7 [autoload byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code] 4 [require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code] 12 [byte-code require byte-code require byte-code require byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist] 3 [define-keymap byte-code require byte-code require byte-code require org-load-modules-maybe org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 4 [jit-lock-refontify font-lock-flush elisp--font-lock-flush-elisp-buffers do-after-load-evaluation require byte-code require byte-code require byte-code require byte-code require byte-code require byte-code] 3 [byte-run-strip-symbol-positions byte-compile-lambda byte-compile-function-form byte-compile-form byte-compile-top-level "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_49>" byte-compile cl--generic-get-dispatcher cl--generic-make-next-function cl--generic-make-function cl-generic-define-method byte-code require byte-code require byte-code] 4 [call-process "#<compiled -0x118b3194c914869f>" funcall eval custom-initialize-reset custom-declare-variable byte-code require byte-code require byte-code require byte-code require byte-code require] 3 [org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [require byte-code org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [require byte-code require byte-code org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x150116c323f27ae2>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 31 [let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 7 [create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 6 [insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 50 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 664 [buffer-local-value equal and if while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp] 714 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 36 [setq while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 19 [file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 34 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled 0xb5309ee54dd3bf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 68 [font-lock-set-defaults font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 4 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 69 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 11 [org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 10 [search-forward find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 12 [string-match org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 16 [looking-at set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 8 [abbreviate-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 43 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 16 [hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 48 [gethash org-persist--find-index org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 40 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 12 [find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 7 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled 0xb44ddee54dd3bf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 53 [org-id-uuid org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 36 [hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 33 [make-local-variable org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled 0xb7ec5ee54dd3bf4>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 55 [boundp run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 10 [find-new-buffer-file-coding-system after-insert-file-set-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [cdr buffer-list let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords] 4 ["#<compiled -0x426f4a50af60521>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [remove-hook org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 7 [org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 35 [file-writable-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 6 [buffer-local-value string= and if while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 54 [org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 55 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 31 [file-truename file-truename file-truename abbreviate-file-name let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 13 [add-hook jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode] 9 [font-lock-mode font-lock-change-mode text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 4 [sgml-xml-auto-coding-function find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 6 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_14>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [equal and if while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 55 [abbreviate-file-name let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 9 [face-foreground org-find-invisible-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [auto-coding-regexp-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 17 [inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 26 [get-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 29 [regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [not and while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 23 [org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 7 [auto-coding-alist-lookup find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 37 [uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 9 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 36 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0x158cba11ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 23 [easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [file-name-directory vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x158d4e11ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 4 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x1580f211ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 34 [file-exists-p "#<compiled 0x1c9eccce6fdec3af>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x1457a611ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 6 [org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 6 [string= and if while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 42 ["#<compiled 0x520fae4f5a085dc>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [file-truename abbreviate-file-name let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 18 ["#<compiled -0x188cb9614d09b56c>" map-keymap easy-menu-lookup-name "#<compiled 0x13df53af64d451fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 6 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 89 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 12 [file-remote-p set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [expand-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 15 [file-modes after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [org-babel-hide-all-hashes run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 34 [cdr setq while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 7 [org-fold-core-get-folding-spec-from-alias "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_14>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 4 [easy-menu-convert-item easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 40 [file-name-directory vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0xb9416c323f27ae2>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 6 [auto-coding-regexp-alist-lookup find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 3 [car buffer-local-value and if while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 8 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 12 [file-exists-p "#<compiled 0x7ff35f66fdec3af>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x17408e11ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 6 [org-update-radio-target-regexp org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 7 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist] 3 [file-truename file-truename abbreviate-file-name let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 15 [file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 6 [dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x1624fa11ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 42 [add-hook "#<compiled -0x12df43089314fc90>" run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [replace-regexp-in-string org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 9 [file-attributes find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 22 [org-macro--counter-initialize org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [buffer-list let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 18 [file-name-sans-versions inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [org-fold-core-set-folding-spec-property "#<compiled -0x426f4b09b9e8521>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 7 [file-exists-p "#<compiled 0x67c790e6fdec3af>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x17bbe611ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 17 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>" select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [file-remote-p hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 21 [epa-file-find-file-hook run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [uniquify-get-proposed-name uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [add-hook org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 4 [org-fold-core--property-symbol-get-create org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [remove-from-invisibility-spec org-fold-core-set-folding-spec-property "#<compiled -0x426f4a50af60521>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [files--transform-file-name make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 7 [org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 [outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 12 [buffer-local-value and if while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 20 [remove org-find-invisible-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [quote buffer-local-value equal and if while and let* or let find-buffer-visiting find-file-noselect let while let progn] 7 [sgml-html-meta-auto-coding-function find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 28 [add-hook org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 6 [while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 10 [not and while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 22 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 12 [file-directory-p find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 7 [gethash org-persist--find-index org-persist--add-to-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 6 [buffer-local-value and if while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 24 [car buffer-local-value and if while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp] 15 [org-cycle-set-startup-visibility org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [seq-find org-cite-get-processor org-cite-try-load-processor org-set-font-lock-defaults org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [jit-lock-refontify jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [file-truename file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 11 [get-file-buffer let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 13 [file-attributes let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 11 [normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>" mapcar org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 4 [org-persist-read org-persist-load org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 10 [while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 24 [and if while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 23 [format org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 9 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x16199211ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 4 [text-mode-hook-identify run-hooks apply run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [gethash org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [upcase org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 7 [org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 31 [quote buffer-local-value and if while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 6 [buffer-list let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 9 [if while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 10 [set-face-attribute set-face-extend "#<compiled -0x141513498f001b8e>" org--set-faces-extend org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [add-hook vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [generate-new-buffer create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 20 [uniquify-rationalize-conflicting-sublist uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 7 [org-macro--find-keyword-value org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 10 [easy-menu-lookup-name "#<compiled 0x13df53af64d451fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 7 [and if while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 23 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 18 [find-auto-coding select-safe-coding-system org-persist--normalize-associated org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 19 ["#<compiled 0xc0b95100fbbffce>" add-hook org-element--cache-setup-change-functions org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [lookup-key easy-menu-lookup-name "#<compiled 0x13df53af64d451fb>" mapcar easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect] 7 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 6 [org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 11 [re-search-forward org-macro--find-keyword-value org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [sxhash org-fold-core--property-symbol-get-create org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 23 [org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 17 [format vc-possible-master "#<compiled 0x1e4320066fdec3ae>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x107a3e11ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 4 [org-persist--remove-from-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 10 [search-forward find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 [make-closure vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 7 [setq while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 24 [regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [gethash org-fold-core--property-symbol-get-create org-fold-region org-fold-show-all org-cycle-set-startup-visibility org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 11 [internal-get-lisp-face-attribute face-attribute face-background org-find-invisible-foreground org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [current-active-maps easy-menu-get-map easy-menu-add-item easy-menu-change org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 6 [vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [vc-file-getprop vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 7 [provided-mode-derived-p derived-mode-p org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 6 [abbreviate-file-name locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x1e51e211ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 6 [car buffer-local-value equal and if while and let* or let find-buffer-visiting find-file-noselect let while let progn] 19 [dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [vc-src-registered vc-call-backend "#<compiled -0x1ecdb211ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 4 [font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1] 3 [auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 6 [called-interactively-p auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [add-hook org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [org-compute-latex-and-related-regexp org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 30 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 13 [add-hook global-eldoc-mode-cmhh text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 4 [copy-tree copy-tree font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [file-remote-p hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 7 [car buffer-local-value string= and if while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp] 6 [format org-macro--find-keyword-value org-macro--find-date org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [find-file-name-handler make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 4 [cdr setq while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 10 [plist-get org-persist--find-index org-persist-read org-persist-load org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [backtrace-frame called-interactively-p font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [cdr uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [and while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 20 [set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 4 [org-extract-log-state-settings org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [add-hook font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file] 3 [quote buffer-local-value string= and if while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp] 4 [and while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [org-persist--find-index org-persist--get-collection org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [org-fold-core-get-folding-spec-from-alias org-fold-core-set-folding-spec-property "#<compiled -0x426f4b08d9dc521>" org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [provided-mode-derived-p derived-mode-p font-lock-set-defaults font-lock-mode-internal font-lock-default-function font-lock-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 11 [copy-tree font-lock-default-function font-lock-mode font-lock-change-mode text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [remove-hook global-font-lock-mode-check-buffers run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [vc-make-backend-sym vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x1fb5d611ab22c40c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [add-hook text-mode outline-mode org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 4 [add-to-list org-fold-core-add-folding-spec org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [quote buffer-local-value and if while and let* or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp] 4 [hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 ["#<compiled 0xb478b458ba0af>" abbreviate-file-name let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 4 [font-lock-compile-keyword font-lock-compile-keywords font-lock-set-defaults font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 3 [format org-macro--find-keyword-value org-macro--collect-macros org-macro-initialize-templates org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [cl-mapcan org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [buffer-list org-install-agenda-files-menu org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 7 [delete-dups regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 4 [files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [vc-make-backend-sym vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x8e2fac323f27ae2>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [vc-file-setprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [org-persist--find-index org-persist--add-to-index org-persist-register org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [last org-set-regexps-and-options org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [if while let or let find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [eq alist-get "#<compiled 0xc0b95100fbbffce>" add-hook org-element--cache-setup-change-functions org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 4 [org-persist--find-index org-persist-read org-persist-load org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [file-remote-p hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [called-interactively-p font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 4 [org-fold-core-initialize org-fold-initialize org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [kill-local-variable find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 3 [eldoc--supported-p turn-on-eldoc-mode global-eldoc-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [jit-lock-mode jit-lock-register font-lock-turn-on-thing-lock font-lock-mode-internal font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode] 4 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt org-make-options-regexp org--collect-keywords-1 org-collect-keywords org-set-regexps-and-options org-mode] 3 [hack-local-variables--find-variables hack-local-variables run-mode-hooks org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [format-decode insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [derived-mode-p org-element--cache-setup-change-functions org-element-cache-reset org-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [parse-partial-sexp syntax-ppss show-paren--default show-paren-function apply timer-event-handler nil nil nil nil nil nil nil nil nil nil] 1 [jit-lock-context-fontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 15 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 10 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 16 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled 0x1b1048b0539deb04>" completion--some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled 0x2be5978b86a9b48>" apply "#<compiled -0xf539fe9bf829a2>" completion--in-region completion-in-region minibuffer-complete] 17 [interactive-form command-execute completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil] 3 [execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil nil] 4 [Automatic\ GC nil] 2067 [profiler-report funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 3)) (25878 54767 88993 414000) nil]
[-- Attachment #5: Type: text/plain, Size: 224 bytes --]
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-29 13:56 ` Ihor Radchenko
@ 2023-09-29 16:12 ` Eli Zaretskii
2023-10-03 3:25 ` Michael Heerdegen
2023-10-07 8:25 ` Ihor Radchenko
0 siblings, 2 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-09-29 16:12 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Fri, 29 Sep 2023 13:56:40 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> 3. Open all the 1000 files one by one:
> >> (dolist (file (directory-files "/tmp/test/" t "org"))
> >> (unless (find-buffer-visiting file) (find-file-noselect file)))
> >>
> >> Step (3) takes 18.8 seconds on my machine. The CPU profile attached as
> >> cpu-profile.
> >
> > Since find-file-noselect calls find-buffer-visiting internally, I'm
> > not sure the above test case makes sense. A Lisp program should feel
> > free to call find-file-noselect directly, and Emacs will find the
> > visiting buffer, if it already exists, as part of the job of
> > find-file-noselect.
> >
> > Let's please focus on test cases where the Lisp code being benchmarked
> > doesn't do any unnecessary stuff, since what's at stake is a
> > significant change in our internals.
>
> The reason I left an extra `find-buffer-visiting' call was because Org
> mode does it (for a reason - we need information if a file was already
> open or not).
>
> You may as well do
>
> (dolist (file (directory-files "/tmp/test/" t "org"))
> (find-file-noselect file))
>
> as step (3).
>
> The same conclusions will hold - `find-file-noselect' calls
> `find-buffer-visiting' as well and it also takes most of the CPU time.
>
> I am attaching an updated set of the same profiles, but based on the
> above `dolist' that only calls `find-file-noselect'.
>
> The run times are now: 12.0 seconds, 5.3 seconds, and 6.6 seconds.
12 sec is quite a far cry from 18.8, won't you agree?
> >> If one uses `get-file-buffer' instead of `find-buffer-visiting', the
> >> total runtime becomes 5.1 sec - almost 4x faster.
> >
> > This is also not very interesting, since find-file-noselect calls
> > get-file-buffer as well.
>
> No. `find-file-noselect' calls `find-buffer-visiting'.
Unless we use different Emacsen, find-file-noselect calls both
get-file-buffer and find-buffer-visiting:
(let* ((buf (get-file-buffer filename)) <<<<<<<<<<<<<<<<<<<<<<<<<<<<
(truename (abbreviate-file-name (file-truename filename)))
(attributes (file-attributes truename))
(number (file-attribute-file-identifier attributes))
;; Find any buffer for a file that has same truename.
(other (and (not buf)
(find-buffer-visiting <<<<<<<<<<<<<<<<<<<<<<<<<<<<
filename
;; We want to filter out buffers that we've
;; visited via symlinks and the like, where
;; the symlink no longer exists.
(lambda (buffer)
(let ((file (buffer-local-value
'buffer-file-name buffer)))
(and file (file-exists-p file))))))))
> > If we come to the conclusion that those loops in find-buffer-visiting
> > are the hot spot, the right thing is to implement them in C, where we
> > don't need to use the equivalent of with-current-buffer to examine the
> > truename and file-number of every buffer, we can just access them
> > directly.
>
> I still think that my previous conclusions are true. And I agree that
> rewriting these expensive loops in C makes sense. Maybe two new
> subroutines to find buffer by `buffer-file-truename' and by
> `buffer-file-number'?
Yes, that's what I had in mind.
> >> So, using `with-current-buffer' when looping over all the buffers is
> >> certainly not optimal (maybe in other places as well).
> >
> > with-current-buffer is normally very expensive. Which is why any
> > performance-critical loop should try to avoid it as much as possible.
>
> Aside: this reminds me about obsoletion of generalized buffer-local
> variable. AFAIU, there is currently no way to set buffer-local value in
> buffer without setting that buffer to current. It would be nice if such
> setting were possible, especially in performance-critical code.
Maybe, but is there any performance-critical code which needs that?
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-29 16:12 ` Eli Zaretskii
@ 2023-10-03 3:25 ` Michael Heerdegen
2023-10-03 6:00 ` Eli Zaretskii
2023-10-07 8:25 ` Ihor Radchenko
1 sibling, 1 reply; 162+ messages in thread
From: Michael Heerdegen @ 2023-10-03 3:25 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, Ihor Radchenko, 66117
Eli Zaretskii <eliz@gnu.org> writes:
> > Aside: this reminds me about obsoletion of generalized buffer-local
> > variable. AFAIU, there is currently no way to set buffer-local value in
> > buffer without setting that buffer to current. It would be nice if such
> > setting were possible, especially in performance-critical code.
>
> Maybe, but is there any performance-critical code which needs that?
I don't know, but the gv-setter of `buffer-local-value' also calls
`with-current-buffer', so using it was not better performance-wise.
Michael.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-03 3:25 ` Michael Heerdegen
@ 2023-10-03 6:00 ` Eli Zaretskii
0 siblings, 0 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-10-03 6:00 UTC (permalink / raw)
To: Michael Heerdegen; +Cc: dmitry, yantar92, 66117
> From: Michael Heerdegen <michael_heerdegen@web.de>
> Cc: Ihor Radchenko <yantar92@posteo.net>, dmitry@gutov.dev,
> 66117@debbugs.gnu.org
> Date: Tue, 03 Oct 2023 05:25:39 +0200
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > > Aside: this reminds me about obsoletion of generalized buffer-local
> > > variable. AFAIU, there is currently no way to set buffer-local value in
> > > buffer without setting that buffer to current. It would be nice if such
> > > setting were possible, especially in performance-critical code.
> >
> > Maybe, but is there any performance-critical code which needs that?
>
> I don't know, but the gv-setter of `buffer-local-value' also calls
> `with-current-buffer', so using it was not better performance-wise.
If we discover enough performance-critical cases with that, we could
provide a special way, implemented in C, of doing that efficiently.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-26 14:18 ` Michael Albinus
@ 2023-10-04 10:57 ` Ihor Radchenko
0 siblings, 0 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-04 10:57 UTC (permalink / raw)
To: Michael Albinus; +Cc: dmitry, Eli Zaretskii, 66117
Michael Albinus <michael.albinus@gmx.de> writes:
>> may also need to handle the caching. And also all the third-party handlers.
>
> That might be hard to synchronize. Why not fill the cache after that
> code snippet? The handlers have already done their job, buffer-file-name
> is set. And so does bset_filename in the local case.
Indeed you are right.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-22 1:36 ` Dmitry Gutov
2023-09-22 11:03 ` Ihor Radchenko
@ 2023-10-04 10:58 ` Ihor Radchenko
2023-10-04 11:46 ` Dmitry Gutov
1 sibling, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-04 10:58 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: 66117
Dmitry Gutov <dmitry@gutov.dev> writes:
>> Would it be possible to implement some kind of caching mechanism to be
>> used by `find-buffer-visiting'?
>
> I'm guessing you Cc'd me because of an existing comment inside xref.el?
> As you can see I decided not to use this function there, but even
> get-file-buffer wasn't as fast as I would've wanted, so there's a
> quick-and-dirty caching solution for sequential lookups (which assumes
> that the same file would be looked up multiple times in a row).
It looks like my example is quite different from yours.
Do you have a reproducer demonstrating `get-file-buffer' being slow?
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-04 10:58 ` Ihor Radchenko
@ 2023-10-04 11:46 ` Dmitry Gutov
2023-10-05 11:27 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Dmitry Gutov @ 2023-10-04 11:46 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: 66117
On 04/10/2023 13:58, Ihor Radchenko wrote:
> Dmitry Gutov<dmitry@gutov.dev> writes:
>
>>> Would it be possible to implement some kind of caching mechanism to be
>>> used by `find-buffer-visiting'?
>> I'm guessing you Cc'd me because of an existing comment inside xref.el?
>> As you can see I decided not to use this function there, but even
>> get-file-buffer wasn't as fast as I would've wanted, so there's a
>> quick-and-dirty caching solution for sequential lookups (which assumes
>> that the same file would be looked up multiple times in a row).
> It looks like my example is quite different from yours.
> Do you have a reproducer demonstrating `get-file-buffer' being slow?
I retested, and it seems most people here won't be impressed by my
example. Anyway:
1. Call (benchmark-run 1 (project-find-regexp "emacs") in an Emacs repo
checkout.
2. Change xref--collect-matches to call get-file-buffer instead of
xref--find-file-buffer (which does some caching). 'M-x
byte-compile-file', (load "xref.elc"), and run the benchmark again.
What I get here, is 3.60s vs 5.03.
It's a 1.40s difference over ~95000 calls, though (this is how many
matches are produced). Which is meaningful for my case, but probably not
for yours.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-04 11:46 ` Dmitry Gutov
@ 2023-10-05 11:27 ` Ihor Radchenko
2023-10-05 17:14 ` Dmitry Gutov
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-05 11:27 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: 66117
Dmitry Gutov <dmitry@gutov.dev> writes:
> I retested, and it seems most people here won't be impressed by my
> example. Anyway:
>
> 1. Call (benchmark-run 1 (project-find-regexp "emacs") in an Emacs repo
> checkout.
> 2. Change xref--collect-matches to call get-file-buffer instead of
> xref--find-file-buffer (which does some caching). 'M-x
> byte-compile-file', (load "xref.elc"), and run the benchmark again.
>
> What I get here, is 3.60s vs 5.03.
>
> It's a 1.40s difference over ~95000 calls, though (this is how many
> matches are produced). Which is meaningful for my case, but probably not
> for yours.
I can reproduce:
;; original code
(benchmark-run 10 (project-find-regexp "emacs")) ; => (26.459992888000002 17 7.026558985999998)
;; changed `xref--find-file-buffer' to `get-file-buffer'
(benchmark-run 10 (project-find-regexp "emacs")) ; => (43.623003254000004 18 8.161839762000001)
Looking into `xref--find-file-buffer', all it does is memoizing the
previous call. I think that we can easily achieve the same performance
improvement by maintaining approximate cache for Fget_file_buffer -
something like
(if (and (gethash file cache)
(equal (buffer-local-value 'buffer-file-name (gethash ...)) file))
<return cached>
<compute and cache the result>)
Or maybe even cache the last call separately to not pay `gethash' call price.
100% reliable cache is not necessary in this scenario. And not necessary
in my scenario, as I have found via my benchmarks in another message.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-27 23:30 ` Michael Heerdegen
@ 2023-10-05 14:25 ` Ihor Radchenko
0 siblings, 0 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-05 14:25 UTC (permalink / raw)
To: Michael Heerdegen; +Cc: dmitry, Eli Zaretskii, 66117
Michael Heerdegen <michael_heerdegen@web.de> writes:
> Ihor Radchenko <yantar92@posteo.net> writes:
>
>> So, using `with-current-buffer' when looping over all the buffers is
>> certainly not optimal (maybe in other places as well).
>>
>> However, even `buffer-local-value' is still costly - it adds up over 50%
>> run time.
>
> OTOH - I tried to reproduce your experiments here locally -
> `find-buffer-visiting' only takes 12% of the total run time here when
> using the `buffer-local-value' tuned definition of `find-buffer-visiting'.
> When we additionally merge the two loops in `find-buffer-visiting' into
> one loop and avoid the duplicated calls of `buffer-local-value', don't we
> reach a region where maintaining a separate cache doesn't make sense for
> the additional gain?
> And I wonder which part(s) of `buffer-local-value' is/are that costly,
> and why.
I looked closer, and it is not `buffer-local-value' being costly, but
rather the rest of the `find-buffer-visiting'. In particular, regexp
matching in `abbreviate-file-name' and `file-truename'.
I used the following:
(defun find-buffer-visiting (filename &optional predicate)
"Return the buffer visiting file FILENAME (a string).
This is like `get-file-buffer', except that it checks for any buffer
visiting the same file, possibly under a different name.
If PREDICATE is non-nil, only buffers satisfying it are eligible,
and others are ignored. PREDICATE is called with the buffer as
the only argument, but not with the buffer as the current buffer.
If there is no such live buffer, return nil."
(let ((predicate (or predicate #'identity))
(truename (abbreviate-file-name (file-truename filename))))
(or (let ((buf (get-file-buffer filename)))
(when (and buf (funcall predicate buf)) buf))
(let ((list (buffer-list)) found)
(while (and (not found) list)
(if (and (buffer-local-value 'buffer-file-name (car list))
(string= (buffer-local-value 'buffer-file-truename (car list)) truename)
(funcall predicate (car list)))
(setq found (car list)))
(setq list (cdr list)))
found)
(let* ((attributes (file-attributes truename))
(number (file-attribute-file-identifier attributes))
(list (buffer-list)) found local-filename)
(and buffer-file-numbers-unique
(car-safe number) ;Make sure the inode is not just nil.
(while (and (not found) list)
(setq local-filename (buffer-local-value 'buffer-file-name (car list)))
(if (and local-filename
(equal (buffer-local-value 'buffer-file-number (car list)) number)
;; Verify this buffer's file number
;; still belongs to its file.
(file-exists-p local-filename)
(equal (file-attributes (buffer-local-value 'buffer-file-truename (car list)))
attributes)
(funcall predicate (car list)))
(setq found (car list)))
(setq list (cdr list))))
found))))
(native-compile #'find-buffer-visiting)
Native compilation at the end is important - it reduced runtime
significantly.
> Storing the same information twice - once in a buffer local variable,
> and then again in a cache that needs to be updated separately doesn't
> sound very reasonable.
But see Dmitry's reproducer where even `get-file-buffer' is demonstrated
to be slow in certain scenarios. So, caching (although less rigorous)
might be still necessary.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-05 11:27 ` Ihor Radchenko
@ 2023-10-05 17:14 ` Dmitry Gutov
0 siblings, 0 replies; 162+ messages in thread
From: Dmitry Gutov @ 2023-10-05 17:14 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: 66117
On 05/10/2023 14:27, Ihor Radchenko wrote:
> Looking into `xref--find-file-buffer', all it does is memoizing the
> previous call. I think that we can easily achieve the same performance
> improvement by maintaining approximate cache for Fget_file_buffer -
> something like
> (if (and (gethash file cache)
> (equal (buffer-local-value 'buffer-file-name (gethash ...)) file))
> <return cached>
> <compute and cache the result>)
>
> Or maybe even cache the last call separately to not pay `gethash' call price.
That works for the Xref's scenario (where, when there are many matches,
they would tend to come several per file), but I'm not sure it's a good
caching strategy in general.
And applications that are suited for it might as well write a small
wrapper like I did.
> 100% reliable cache is not necessary in this scenario. And not necessary
> in my scenario, as I have found via my benchmarks in another message.
IIUC a cache that keys on non-abbreviated/non-expanded filenames would
be able to speed all that up anyway. But a more algorithmic improvement
first would be better, of course.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-09-29 16:12 ` Eli Zaretskii
2023-10-03 3:25 ` Michael Heerdegen
@ 2023-10-07 8:25 ` Ihor Radchenko
2023-10-07 8:48 ` Eli Zaretskii
1 sibling, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-07 8:25 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
Eli Zaretskii <eliz@gnu.org> writes:
>> >> If one uses `get-file-buffer' instead of `find-buffer-visiting', the
>> >> total runtime becomes 5.1 sec - almost 4x faster.
>> >
>> > This is also not very interesting, since find-file-noselect calls
>> > get-file-buffer as well.
>>
>> No. `find-file-noselect' calls `find-buffer-visiting'.
>
> Unless we use different Emacsen, find-file-noselect calls both
> get-file-buffer and find-buffer-visiting:
>
> (let* ((buf (get-file-buffer filename)) <<<<<<<<<<<<<<<<<<<<<<<<<<<<
We are probably mis-communicating. My point is that `get-file-buffer' is
very fast (for my purposes). So, it does not matter as much if it is
called somewhere else and how many times.
Although, as Dmitry demonstrated, `get-file-buffer' might be slow in
certain scenarios. But let's postpone that discussion after we handle
the much slower `find-buffer-visiting'.
>> I still think that my previous conclusions are true. And I agree that
>> rewriting these expensive loops in C makes sense. Maybe two new
>> subroutines to find buffer by `buffer-file-truename' and by
>> `buffer-file-number'?
>
> Yes, that's what I had in mind.
I looked closer, and there is already `get_truename_buffer', which can
simply be exposed to Lisp.
`buffer-file-number' is a bit more tricky - it is not defined in C, but
in files.el. However, I am wondering if this variable should be moved to
C or maybe into the buffer object. `make-indirect-buffer' (defined in C)
has
Fset (intern ("buffer-save-without-query"), Qnil);
Fset (intern ("buffer-file-number"), Qnil);
WDYT?
>> Aside: this reminds me about obsoletion of generalized buffer-local
>> variable. AFAIU, there is currently no way to set buffer-local value in
>> buffer without setting that buffer to current. It would be nice if such
>> setting were possible, especially in performance-critical code.
>
> Maybe, but is there any performance-critical code which needs that?
For example, org-element.el needs to set buffer-local values in base
buffer of an indirect buffer every time buffer text is being edited.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-07 8:25 ` Ihor Radchenko
@ 2023-10-07 8:48 ` Eli Zaretskii
2023-10-07 9:29 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-10-07 8:48 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sat, 07 Oct 2023 08:25:06 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> >> If one uses `get-file-buffer' instead of `find-buffer-visiting', the
> >> >> total runtime becomes 5.1 sec - almost 4x faster.
> >> >
> >> > This is also not very interesting, since find-file-noselect calls
> >> > get-file-buffer as well.
> >>
> >> No. `find-file-noselect' calls `find-buffer-visiting'.
> >
> > Unless we use different Emacsen, find-file-noselect calls both
> > get-file-buffer and find-buffer-visiting:
> >
> > (let* ((buf (get-file-buffer filename)) <<<<<<<<<<<<<<<<<<<<<<<<<<<<
>
> We are probably mis-communicating. My point is that `get-file-buffer' is
> very fast (for my purposes). So, it does not matter as much if it is
> called somewhere else and how many times.
It matters to me. Timing code must be very accurate and must not
modify the code in question, certainly not by invoking the same
primitives that are already called by the code being times.
I must say that this discussion is very frustrating from my POV. Lots
of information, a large portion of it irrelevant, and very little
systematical analysis of the involved code, its actual performance,
and the conclusions with numbers to back them up. On top of that,
gaps for a week or more between a message and a response, something
that makes it hard to follows the discussion. We should be able to do
better.
> >> I still think that my previous conclusions are true. And I agree that
> >> rewriting these expensive loops in C makes sense. Maybe two new
> >> subroutines to find buffer by `buffer-file-truename' and by
> >> `buffer-file-number'?
> >
> > Yes, that's what I had in mind.
>
> I looked closer, and there is already `get_truename_buffer', which can
> simply be exposed to Lisp.
>
> `buffer-file-number' is a bit more tricky - it is not defined in C, but
> in files.el. However, I am wondering if this variable should be moved to
> C or maybe into the buffer object. `make-indirect-buffer' (defined in C)
> has
>
> Fset (intern ("buffer-save-without-query"), Qnil);
> Fset (intern ("buffer-file-number"), Qnil);
>
> WDYT?
TTTT, I don't know what to think.
From my POV, there are two alternatives here:
. expose several new primitives to Lisp to make find-buffer-visiting
faster without changing the way we store the file-to-buffer
association information
. introduce caches or change the way file-to-buffer associations are
stored to speed up find-buffer-visiting
What I'd like to see is that someone implements the first idea, and
times find-buffer-visiting after that to see if it becomes fast
enough. Then we can discuss whether anything else is needed.
> >> Aside: this reminds me about obsoletion of generalized buffer-local
> >> variable. AFAIU, there is currently no way to set buffer-local value in
> >> buffer without setting that buffer to current. It would be nice if such
> >> setting were possible, especially in performance-critical code.
> >
> > Maybe, but is there any performance-critical code which needs that?
>
> For example, org-element.el needs to set buffer-local values in base
> buffer of an indirect buffer every time buffer text is being edited.
And that is performance-critical? in what way and in which situations?
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-07 8:48 ` Eli Zaretskii
@ 2023-10-07 9:29 ` Ihor Radchenko
2023-10-07 10:57 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-07 9:29 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
Eli Zaretskii <eliz@gnu.org> writes:
>> We are probably mis-communicating. My point is that `get-file-buffer' is
>> very fast (for my purposes). So, it does not matter as much if it is
>> called somewhere else and how many times.
>
> It matters to me. Timing code must be very accurate and must not
> modify the code in question, certainly not by invoking the same
> primitives that are already called by the code being times.
My point is that an extra call to `get-file-buffer' in (unless (get-file-buffer ...) ...)
does not change the profiling results - `get-file-buffer' only takes 49
samples out of 5157 (<1%). Calling `get-file-buffer' multiple times
literally make no difference in my benchmark.
> I must say that this discussion is very frustrating from my POV. Lots
> of information, a large portion of it irrelevant, and very little
> systematical analysis of the involved code, its actual performance,
> and the conclusions with numbers to back them up.
Sorry, but I do not fully understand what you expected. I tried my best
to provide all the details of my testing during the course of this
branch of the discussion.
In particular, see
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#59 and later
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#71 where I addressed
your concern about calling `find-buffer-visiting'/`get-file-buffer'
unnecessarily in the testing code. I provided the code, the timing, and
the raw data from the profiler report.
Please, let me know if you need more.
> ... On top of that,
> gaps for a week or more between a message and a response, something
> that makes it hard to follows the discussion. We should be able to do
> better.
I can understand the frustration, but I just have as much time as I can
allocate. I was mostly AFC for about a week and was not able to reply to
many of the Emacs-related discussions.
Also, I am used to mailing list rule that one month is allowed for a
reply (https://orgmode.org/worg/org-mailing-list.html#i-didnt-receive-an-answer).
I thought that emacs-devel is not different.
>> I looked closer, and there is already `get_truename_buffer', which can
>> simply be exposed to Lisp.
>>
>> `buffer-file-number' is a bit more tricky - it is not defined in C, but
>> in files.el. However, I am wondering if this variable should be moved to
>> C or maybe into the buffer object. `make-indirect-buffer' (defined in C)
>> has
>>
>> Fset (intern ("buffer-save-without-query"), Qnil);
>> Fset (intern ("buffer-file-number"), Qnil);
>>
>> WDYT?
>
> TTTT, I don't know what to think.
>
> From my POV, there are two alternatives here:
>
> . expose several new primitives to Lisp to make find-buffer-visiting
> faster without changing the way we store the file-to-buffer
> association information
> . introduce caches or change the way file-to-buffer associations are
> stored to speed up find-buffer-visiting
>
> What I'd like to see is that someone implements the first idea, and
> times find-buffer-visiting after that to see if it becomes fast
> enough. Then we can discuss whether anything else is needed.
Agree. That's what I was trying to do. However, one of the new primitives
will require searching a buffer with given value of `buffer-file-number'
- the variable not defined in C. That's why my question - I can either
query buffer-local variable in generic way via `Fbuffer_local_value' or
faster, by adding `buffer-file-number' to buffer object. The latter also
makes sense in the context of `make-indirect-buffer' implementation.
>> >> Aside: this reminds me about obsoletion of generalized buffer-local
>> >> variable. AFAIU, there is currently no way to set buffer-local value in
>> >> buffer without setting that buffer to current. It would be nice if such
>> >> setting were possible, especially in performance-critical code.
>> >
>> > Maybe, but is there any performance-critical code which needs that?
>>
>> For example, org-element.el needs to set buffer-local values in base
>> buffer of an indirect buffer every time buffer text is being edited.
>
> And that is performance-critical? in what way and in which situations?
When making a large number of edits in Org buffer. The code I am
referring to runs in `after-change-functions' and therefore should be as
fast as possible.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-07 9:29 ` Ihor Radchenko
@ 2023-10-07 10:57 ` Eli Zaretskii
2023-10-07 11:08 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-10-07 10:57 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sat, 07 Oct 2023 09:29:15 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > From my POV, there are two alternatives here:
> >
> > . expose several new primitives to Lisp to make find-buffer-visiting
> > faster without changing the way we store the file-to-buffer
> > association information
> > . introduce caches or change the way file-to-buffer associations are
> > stored to speed up find-buffer-visiting
> >
> > What I'd like to see is that someone implements the first idea, and
> > times find-buffer-visiting after that to see if it becomes fast
> > enough. Then we can discuss whether anything else is needed.
>
> Agree. That's what I was trying to do. However, one of the new primitives
> will require searching a buffer with given value of `buffer-file-number'
> - the variable not defined in C.
buffer-file-number is defined as follows:
(file-attribute-file-identifier
(file-attributes buffer-file-name)))
whereas file-attribute-file-identifier is
(defsubst file-attribute-file-identifier (attributes)
"The inode and device numbers in ATTRIBUTES returned by `file-attributes'.
The value is a list of the form (INODENUM DEVICE), where DEVICE could be
either a single number or a cons cell of two numbers.
This tuple of numbers uniquely identifies the file."
(nthcdr 10 attributes))
So in C this is:
list2 (INT_TO_INTEGER (s.st_ino), INT_TO_INTEGER (s.st_dev));
> >> For example, org-element.el needs to set buffer-local values in base
> >> buffer of an indirect buffer every time buffer text is being edited.
> >
> > And that is performance-critical? in what way and in which situations?
>
> When making a large number of edits in Org buffer. The code I am
> referring to runs in `after-change-functions' and therefore should be as
> fast as possible.
I'd need to see measurements for that. In any case, this is a
separate issue.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-07 10:57 ` Eli Zaretskii
@ 2023-10-07 11:08 ` Ihor Radchenko
2023-10-07 11:24 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-07 11:08 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
Eli Zaretskii <eliz@gnu.org> writes:
>> Agree. That's what I was trying to do. However, one of the new primitives
>> will require searching a buffer with given value of `buffer-file-number'
>> - the variable not defined in C.
>
> buffer-file-number is defined as follows:
>
> (file-attribute-file-identifier
> (file-attributes buffer-file-name)))
>
> whereas file-attribute-file-identifier is
>
> (defsubst file-attribute-file-identifier (attributes)
> ...
> (nthcdr 10 attributes))
>
> So in C this is:
>
> list2 (INT_TO_INTEGER (s.st_ino), INT_TO_INTEGER (s.st_dev));
But how to get `s'? Do you mean that we should re-run `sys_fstat' on
every buffer? That's slow (query to FS), isn't it?
> I'd need to see measurements for that. In any case, this is a
> separate issue.
Ok. I will look into it later and open a separate bug report if necessary.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-07 11:08 ` Ihor Radchenko
@ 2023-10-07 11:24 ` Eli Zaretskii
2023-10-07 11:43 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-10-07 11:24 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sat, 07 Oct 2023 11:08:10 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > So in C this is:
> >
> > list2 (INT_TO_INTEGER (s.st_ino), INT_TO_INTEGER (s.st_dev));
>
> But how to get `s'? Do you mean that we should re-run `sys_fstat' on
> every buffer? That's slow (query to FS), isn't it?
No, it's very fast, at least on Posix hosts. But if we decide it
isn't fast enough, we can record that in the buffer when the file is
visited.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-07 11:24 ` Eli Zaretskii
@ 2023-10-07 11:43 ` Ihor Radchenko
2023-10-07 12:05 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-07 11:43 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
Eli Zaretskii <eliz@gnu.org> writes:
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> > So in C this is:
>> >
>> > list2 (INT_TO_INTEGER (s.st_ino), INT_TO_INTEGER (s.st_dev));
>>
>> But how to get `s'? Do you mean that we should re-run `sys_fstat' on
>> every buffer? That's slow (query to FS), isn't it?
>
> No, it's very fast, at least on Posix hosts. But if we decide it
> isn't fast enough, we can record that in the buffer when the file is
> visited.
I am mostly concerned about network FS, where any file operation can be
slow.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-07 11:43 ` Ihor Radchenko
@ 2023-10-07 12:05 ` Eli Zaretskii
2023-10-08 9:00 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-10-07 12:05 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sat, 07 Oct 2023 11:43:38 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Eli Zaretskii <eliz@gnu.org> writes:
> >>
> >> > So in C this is:
> >> >
> >> > list2 (INT_TO_INTEGER (s.st_ino), INT_TO_INTEGER (s.st_dev));
> >>
> >> But how to get `s'? Do you mean that we should re-run `sys_fstat' on
> >> every buffer? That's slow (query to FS), isn't it?
> >
> > No, it's very fast, at least on Posix hosts. But if we decide it
> > isn't fast enough, we can record that in the buffer when the file is
> > visited.
>
> I am mostly concerned about network FS, where any file operation can be
> slow.
My advice is to have a prototype working, then time it on local
filesystems. Optimizing for networked filesystems is the next step,
assuming it is needed. Please keep in mind that the current code does
that as well, only from Lisp: the call to file-attributes calls
'stat', then conses the 11-member list that is the return value. So
the C implementation cannot possibly be worse.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-07 12:05 ` Eli Zaretskii
@ 2023-10-08 9:00 ` Ihor Radchenko
2023-10-08 9:56 ` Eli Zaretskii
` (2 more replies)
0 siblings, 3 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-08 9:00 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
[-- Attachment #1: Type: text/plain, Size: 1951 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
> My advice is to have a prototype working, then time it on local
> filesystems.
See the attached patch.
I used the following simplified reproducer that does not involve loading
Org (which skews the relative numbers as Org loading is relatively slow):
(dotimes (i 1000) (with-temp-file (format "/tmp/test/%d.txt" i) (insert "* This is test")))
(dolist (file (directory-files "/tmp/test/" t "txt"))
(find-file-noselect file))
Without the patch (cpu-profiler-without-patch): 4.3 sec
With the patch (cpu-profiler-w-patch ): 2.5 sec
> ... Optimizing for networked filesystems is the next step,
> assuming it is needed. Please keep in mind that the current code does
> that as well, only from Lisp: the call to file-attributes calls
> 'stat', then conses the 11-member list that is the return value. So
> the C implementation cannot possibly be worse.
I left the `file-attributes' call in Elisp. Looking at the
cpu-profiler-w-patch, `find-buffer-visiting' is no longer the main
contributor to CPU time. I am not sure if we really need to squeeze the
performance yet further from `find-buffer-visiting' - `file-attributes'
is taking pretty much no time:
(reverse call-tree)
924 36% Automatic GC
173 6% + inhibit-local-variables-p
172 6% + locate-dominating-file
139 5% + abbreviate-file-name
113 4% + dir-locals--all-files
109 4% + file-truename
92 3% + find-buffer-visiting
...
6 0% + file-attributes
comapare with cpu-profiler-without-patch:
(reverse call-tree)
1714 39% + find-buffer-visiting
1131 26% Automatic GC
202 4% + locate-dominating-file
147 3% + abbreviate-file-name
140 3% + inhibit-local-variables-p
104 2% + dir-locals--all-files
98 2% + uniquify-rationalize-file-buffer-names
91 2% + file-truename
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Improve-performance-of-find-buffer-visiting-bug-6611.patch --]
[-- Type: text/x-patch, Size: 7798 bytes --]
From 3b6a9eec3ccc9ff69dbce10d207bddb3e7611606 Mon Sep 17 00:00:00 2001
Message-ID: <3b6a9eec3ccc9ff69dbce10d207bddb3e7611606.1696755521.git.yantar92@posteo.net>
From: Ihor Radchenko <yantar92@posteo.net>
Date: Sun, 8 Oct 2023 11:48:42 +0300
Subject: [PATCH] Improve performance of `find-buffer-visiting' (bug#66117)
* src/buffer.c (Fget_truename_buffer): Expose `get_truename_buffer' to
Elisp.
(Ffind_buffer): New subr searching for a live buffer with a given
value of buffer-local variable.
(syms_of_buffer): Register the new added subroutines.
* src/filelock.c (lock_file): Use the new `Fget_truename_buffer' name.
* src/lisp.h:
* test/manual/etags/c-src/emacs/src/lisp.h: Remove no-longer-necessary
extern declarations for `get_truename_buffer'.
* lisp/files.el (find-buffer-visiting): Refactor, using subroutines to
search for buffers instead of slow manual Elisp iterations.
---
lisp/files.el | 54 ++++++++++--------------
src/buffer.c | 25 ++++++++++-
src/filelock.c | 2 +-
src/lisp.h | 1 -
test/manual/etags/c-src/emacs/src/lisp.h | 1 -
5 files changed, 47 insertions(+), 36 deletions(-)
diff --git a/lisp/files.el b/lisp/files.el
index 884c6b74247..dde1a2cc136 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -2183,37 +2183,29 @@ find-buffer-visiting
the only argument, but not with the buffer as the current buffer.
If there is no such live buffer, return nil."
- (let ((predicate (or predicate #'identity))
- (truename (abbreviate-file-name (file-truename filename))))
- (or (let ((buf (get-file-buffer filename)))
- (when (and buf (funcall predicate buf)) buf))
- (let ((list (buffer-list)) found)
- (while (and (not found) list)
- (with-current-buffer (car list)
- (if (and buffer-file-name
- (string= buffer-file-truename truename)
- (funcall predicate (current-buffer)))
- (setq found (car list))))
- (setq list (cdr list)))
- found)
- (let* ((attributes (file-attributes truename))
- (number (file-attribute-file-identifier attributes))
- (list (buffer-list)) found)
- (and buffer-file-numbers-unique
- (car-safe number) ;Make sure the inode is not just nil.
- (while (and (not found) list)
- (with-current-buffer (car list)
- (if (and buffer-file-name
- (equal buffer-file-number number)
- ;; Verify this buffer's file number
- ;; still belongs to its file.
- (file-exists-p buffer-file-name)
- (equal (file-attributes buffer-file-truename)
- attributes)
- (funcall predicate (current-buffer)))
- (setq found (car list))))
- (setq list (cdr list))))
- found))))
+ (or (let ((buf (get-file-buffer filename)))
+ (when (and buf (or (not predicate) (funcall predicate buf))) buf))
+ (let ((truename (abbreviate-file-name (file-truename filename))))
+ (or
+ (let ((buf (get-truename-buffer truename)))
+ (when (and buf (buffer-local-value 'buffer-file-name buf)
+ (or (not predicate) (funcall predicate buf)))
+ buf))
+ (let* ((attributes (file-attributes truename))
+ (number (file-attribute-file-identifier attributes)))
+ (and buffer-file-numbers-unique
+ (car-safe number) ;Make sure the inode is not just nil.
+ (let ((buf (find-buffer 'buffer-file-number number)))
+ (when (and buf (buffer-local-value 'buffer-file-name buf)
+ ;; Verify this buffer's file number
+ ;; still belongs to its file.
+ (file-exists-p buffer-file-name)
+ (equal (file-attributes buffer-file-truename)
+ attributes)
+ (or (not predicate)
+ (funcall predicate (current-buffer))))
+ buf))))))))
+
\f
(defcustom find-file-wildcards t
"Non-nil means file-visiting commands should handle wildcards.
diff --git a/src/buffer.c b/src/buffer.c
index a7299f4a49e..12f226d8249 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -519,8 +519,11 @@ DEFUN ("get-file-buffer", Fget_file_buffer, Sget_file_buffer, 1, 1, 0,
return Qnil;
}
-Lisp_Object
-get_truename_buffer (register Lisp_Object filename)
+DEFUN ("get-truename-buffer", Fget_truename_buffer, Sget_truename_buffer, 1, 1, 0,
+ doc: /* Return the buffer with `file-truename' equal to FILENAME (a string).
+If there is no such live buffer, return nil.
+See also `find-buffer-visiting'. */)
+ (register Lisp_Object filename)
{
register Lisp_Object tail, buf;
@@ -533,6 +536,22 @@ get_truename_buffer (register Lisp_Object filename)
return Qnil;
}
+DEFUN ("find-buffer", Ffind_buffer, Sfind_buffer, 2, 2, 0,
+ doc: /* Return the buffer with buffer-local VARIABLE equal to VALUE.
+ If there is no such live buffer, return nil.
+See also `find-buffer-visiting'. */)
+ (Lisp_Object variable, Lisp_Object value)
+{
+ register Lisp_Object tail, buf;
+
+ FOR_EACH_LIVE_BUFFER (tail, buf)
+ {
+ if (!NILP (Fequal (value, Fbuffer_local_value(variable, buf))))
+ return buf;
+ }
+ return Qnil;
+}
+
/* Run buffer-list-update-hook if Vrun_hooks is non-nil and BUF does
not have buffer hooks inhibited. */
@@ -6010,6 +6029,8 @@ Functions (implicitly) running this hook are `get-buffer-create',
defsubr (&Sbuffer_list);
defsubr (&Sget_buffer);
defsubr (&Sget_file_buffer);
+ defsubr (&Sget_truename_buffer);
+ defsubr (&Sfind_buffer);
defsubr (&Sget_buffer_create);
defsubr (&Smake_indirect_buffer);
defsubr (&Sgenerate_new_buffer_name);
diff --git a/src/filelock.c b/src/filelock.c
index c2b306ab47d..9ce51c724b1 100644
--- a/src/filelock.c
+++ b/src/filelock.c
@@ -563,7 +563,7 @@ lock_file (Lisp_Object fn)
/* See if this file is visited and has changed on disk since it was
visited. */
- Lisp_Object subject_buf = get_truename_buffer (fn);
+ Lisp_Object subject_buf = Fget_truename_buffer (fn);
if (!NILP (subject_buf)
&& NILP (Fverify_visited_file_modtime (subject_buf))
&& !NILP (Ffile_exists_p (fn))
diff --git a/src/lisp.h b/src/lisp.h
index 39aa51531fe..544b1691556 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -4715,7 +4715,6 @@ XMODULE_FUNCTION (Lisp_Object o)
Lisp_Object, Lisp_Object, Lisp_Object);
extern bool overlay_touches_p (ptrdiff_t);
extern Lisp_Object other_buffer_safely (Lisp_Object);
-extern Lisp_Object get_truename_buffer (Lisp_Object);
extern void init_buffer_once (void);
extern void init_buffer (void);
extern void syms_of_buffer (void);
diff --git a/test/manual/etags/c-src/emacs/src/lisp.h b/test/manual/etags/c-src/emacs/src/lisp.h
index aa8dc8c9a66..19463828270 100644
--- a/test/manual/etags/c-src/emacs/src/lisp.h
+++ b/test/manual/etags/c-src/emacs/src/lisp.h
@@ -4075,7 +4075,6 @@ intern_c_string (const char *str)
Lisp_Object, Lisp_Object, Lisp_Object);
extern bool overlay_touches_p (ptrdiff_t);
extern Lisp_Object other_buffer_safely (Lisp_Object);
-extern Lisp_Object get_truename_buffer (Lisp_Object);
extern void init_buffer_once (void);
extern void init_buffer (int);
extern void syms_of_buffer (void);
--
2.42.0
[-- Attachment #3: cpu-profiler-without-patch --]
[-- Type: application/octet-stream, Size: 24357 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 145 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 7 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 11 [directory-files let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil] 3 [uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 7 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 10 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x10cb2b1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 55 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 98 [find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 1714 [file-readable-p vc-cvs-registered vc-call-backend "#<compiled 0x254bcd52c15ebd9>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 4 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 42 [files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 20 ["#<compiled -0x114ccb1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 32 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 6 [abbreviate-file-name find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 20 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 22 [vc-file-setprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 24 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0x115abb1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 26 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 48 [abbreviate-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 42 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 56 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x113b3b1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 58 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x12571f1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 54 [file-attributes find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 10 [abbreviate-file-name locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x11784b1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 13 [file-exists-p "#<compiled -0xa5039d919847a19>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x2321cd52c15ebd9>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 21 [file-exists-p "#<compiled 0x1d9d71df58256b6f>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x118f6b1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 21 [add-hook text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [delq seq-filter hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 20 [file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 20 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 21 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x1f1f631c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 6 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 9 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 15 [hack-local-variables--find-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 16 [file-directory-p find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 7 [auto-coding-regexp-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 6 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 22 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 29 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 7 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 14 [called-interactively-p font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 4 [epa-file-find-file-hook run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 9 [seq-filter hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [search-forward find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 9 [file-truename file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 15 [file-exists-p "#<compiled 0x19b5262758256b6e>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x1eae231c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 6 [file-remote-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 9 [file-name-sans-versions inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0x14648f1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 28 [looking-at set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [find-file-name-handler make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 6 [dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 15 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 49 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 15 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6 [file-modes after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 10 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 11 [functionp vc-possible-master "#<compiled 0x1c77677758256b6f>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x14cb131c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 3 [run-hooks generate-new-buffer create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 22 [eldoc--supported-p turn-on-eldoc-mode global-eldoc-mode-enable-in-buffers run-hooks run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 3 [get-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 13 [hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 8 [file-remote-p hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x15ab4b1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 4 [file-remote-p hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 6 [file-name-directory find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 6 [vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x14b36b1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 4 [expand-file-name vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x155b271c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 20 [file-truename file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 15 [find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 3 [let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil] 4 [generate-new-buffer create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 38 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x198abb1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 20 [find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 18 [uniquify-rationalize-conflicting-sublist uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [expand-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 8 [file-name-directory vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0xdf4f1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 3 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 10 [font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [add-to-list global-eldoc-mode-cmhh kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [file-name-directory vc-cvs-registered vc-call-backend "#<compiled -0x16f1f1c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [cdr find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 7 [mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [format vc-possible-master "#<compiled 0x1358643358256b6e>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x1d5771c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 4 [expand-file-name vc-cvs-registered vc-call-backend "#<compiled -0x1a3971c72514e4d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 4 [make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 4 [find-file-name-handler vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [file-truename file-truename file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 4 [font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks special-mode eldoc--format-doc-buffer eldoc-display-in-buffer run-hook-with-args "#<compiled 0x3c097f3988c1a0a>" "#<compiled 0x5403752c810465>" elisp-eldoc-funcall "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_17>" eldoc-documentation-default eldoc--invoke-strategy] 3 [jit-lock-context-fontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 3 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 29 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 9 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled -0x10b65d08f778e6fc>" "#<compiled -0x15c6f027975771aa>" mapc seq-do seq-some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled 0x7d033ed0dbf78c7>" apply "#<compiled -0xf0b5ef6ab5af22>"] 9 [jit-lock-context-fontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil] 16 [Automatic\ GC nil] 1131)) (25890 27685 217269 556000) nil]
[-- Attachment #4: cpu-profiler-w-patch --]
[-- Type: application/octet-stream, Size: 22693 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 145 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([profiler-start funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 3 [redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 15 [undo-auto--add-boundary nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 3 [directory-files let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil] 3 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0x41acdef76c3ebc2>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 51 [dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 10 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 63 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 50 [file-remote-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 12 [file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 50 [search-backward hack-local-variables--find-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 74 [file-exists-p "#<compiled 0x197ab682f8256b6e>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x4cde6c1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 20 [insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 53 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled 0x55adac1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 34 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 30 [abbreviate-file-name find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 10 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 38 [file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 10 [file-exists-p "#<compiled 0x19efc932f8256b6e>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x51b16c1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 10 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 26 [file-attributes find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 6 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 7 [file-truename file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 22 [hack-local-variables--find-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 21 [uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 17 [file-name-directory vc-cvs-registered vc-call-backend "#<compiled 0x5f442c1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled 0x5e966c1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 37 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 43 [file-truename file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 6 [find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 92 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 13 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 39 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled 0xfddf2c1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 40 [files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 9 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 12 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 29 [hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 12 [file-name-sans-versions inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 7 [sgml-xml-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 16 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 17 [expand-file-name vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [file-modes after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 14 [mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [vc-find-root vc-svn-registered vc-call-backend "#<compiled 0xf1322c1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 27 [font-lock-mode font-lock-change-mode text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 16 [file-remote-p hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 13 [file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 17 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 31 [abbreviate-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 40 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled 0xebba6c1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 17 [generate-new-buffer create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 27 [abbreviate-file-name locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x1030ee10893c143d>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 16 [expand-file-name vc-cvs-registered vc-call-backend "#<compiled 0xe97f2c1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 7 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0xefe16c1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 17 [file-remote-p set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 14 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 14 [vc-possible-master "#<compiled 0x1e8531caf8256b6f>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0xe118ec1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 4 [eq alist-get "#<compiled 0x17f044d7b7418b0e>" add-hook text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [make-closure vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x1f745ac1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 4 [auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 21 [vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0x1f1fcec1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 8 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 17 [expand-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 6 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 13 [find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 10 [run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [vc-git-registered vc-call-backend "#<compiled 0x1ecca2c1cfb8b1c0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [uniquify-rationalize-conflicting-sublist uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 9 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 9 [search-forward find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [file-exists-p "#<compiled 0x12b214cef8256b6e>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0xea5cd3e30474e40>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 11 [create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 15 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil] 3 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x476693e30474e40>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 13 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [get-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 10 [files--transform-file-name make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [auto-coding-regexp-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [file-writable-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [format vc-possible-master "#<compiled 0x1a09145af8256b6e>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x50fe13e30474e40>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 3 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x56a653e30474e40>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 3 [make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 7 [find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [file-name-directory vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x4633d3e30474e40>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 3 [search-forward hack-local-variables--find-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [file-truename file-truename file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 4 [vc-file-getprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [format vc-possible-master "#<compiled -0x13af57b507da9491>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x4bbf13e30474e40>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 3 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 24 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 24 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled -0x16dd34d91fc8e6fc>" "#<compiled -0x15f79d48245571aa>" mapc seq-do seq-some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled -0xe52fe92eda086c0>" apply "#<compiled -0x50d80d56f3af22>"] 5 [execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil nil] 3 [Automatic\ GC nil] 924 [profiler-report funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 3)) (25890 27355 617016 381000) nil]
[-- Attachment #5: Type: text/plain, Size: 224 bytes --]
--
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 related [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-08 9:00 ` Ihor Radchenko
@ 2023-10-08 9:56 ` Eli Zaretskii
2023-10-09 10:02 ` Ihor Radchenko
2023-10-08 11:16 ` Dmitry Gutov
2023-12-23 8:54 ` Eli Zaretskii
2 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-10-08 9:56 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sun, 08 Oct 2023 09:00:49 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > My advice is to have a prototype working, then time it on local
> > filesystems.
>
> See the attached patch.
Thanks. This still has some unnecessary overhead (I actually thought
about moving the entire find-buffer-visiting into C, not replacing it
with Lisp that calls new primitives). But this already makes
find-buffer-visiting take an insignificant portion of CPU time, so I
think it proves that the idea is workable:
> I left the `file-attributes' call in Elisp. Looking at the
> cpu-profiler-w-patch, `find-buffer-visiting' is no longer the main
> contributor to CPU time. I am not sure if we really need to squeeze the
> performance yet further from `find-buffer-visiting' - `file-attributes'
> is taking pretty much no time:
>
> (reverse call-tree)
> 924 36% Automatic GC
> 173 6% + inhibit-local-variables-p
> 172 6% + locate-dominating-file
> 139 5% + abbreviate-file-name
> 113 4% + dir-locals--all-files
> 109 4% + file-truename
> 92 3% + find-buffer-visiting
> ...
> 6 0% + file-attributes
>
> comapare with cpu-profiler-without-patch:
>
> (reverse call-tree)
> 1714 39% + find-buffer-visiting
> 1131 26% Automatic GC
> 202 4% + locate-dominating-file
> 147 3% + abbreviate-file-name
> 140 3% + inhibit-local-variables-p
> 104 2% + dir-locals--all-files
> 98 2% + uniquify-rationalize-file-buffer-names
> 91 2% + file-truename
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-08 9:00 ` Ihor Radchenko
2023-10-08 9:56 ` Eli Zaretskii
@ 2023-10-08 11:16 ` Dmitry Gutov
2023-10-08 11:25 ` Ihor Radchenko
2023-12-23 8:54 ` Eli Zaretskii
2 siblings, 1 reply; 162+ messages in thread
From: Dmitry Gutov @ 2023-10-08 11:16 UTC (permalink / raw)
To: Ihor Radchenko, Eli Zaretskii; +Cc: 66117
On 08/10/2023 12:00, Ihor Radchenko wrote:
> I am not sure if we really need to squeeze the
> performance yet further from `find-buffer-visiting' - `file-attributes'
> is taking pretty much no time:
If file-attributes is the main source of consing, it could be the reason
for the line
924 36% Automatic GC
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-08 11:16 ` Dmitry Gutov
@ 2023-10-08 11:25 ` Ihor Radchenko
2023-10-08 11:44 ` Eli Zaretskii
2023-10-08 12:11 ` Dmitry Gutov
0 siblings, 2 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-08 11:25 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: Eli Zaretskii, 66117
[-- Attachment #1: Type: text/plain, Size: 721 bytes --]
Dmitry Gutov <dmitry@gutov.dev> writes:
> On 08/10/2023 12:00, Ihor Radchenko wrote:
>> I am not sure if we really need to squeeze the
>> performance yet further from `find-buffer-visiting' - `file-attributes'
>> is taking pretty much no time:
>
> If file-attributes is the main source of consing, it could be the reason
> for the line
>
> 924 36% Automatic GC
No, the main source of consing, according to the memory profiler, is
`inhibit-local-variables-p':
170,592,016 49% + inhibit-local-variables-p
45,619,488 13% + string-match
28,171,152 8% + insert-file-contents
26,066,069 7% + file-name-sans-versions
18,699,245 5% + file-remote-p
The full memory profile is attached.
[-- Attachment #2: mem-profile-w-patch --]
[-- Type: application/octet-stream, Size: 28156 bytes --]
[profiler-profile "28.1" memory #s(hash-table size 145 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([profiler-start funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 631 [timer--time-setter timer-set-time run-at-time execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 24 [timer--time-less-p timer--activate timer-activate run-at-time execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil] 24 [timer--time-setter timer-set-idle-time run-with-idle-timer eldoc-schedule-timer nil nil nil nil nil nil nil nil nil nil nil nil] 24 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 2448 [menu-bar-update-buffers-1 menu-bar-update-buffers redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil] 336 [redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 124658 [string-match kill-this-buffer-enabled-p redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil] 1024 [command-execute nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 0 [looking-back elisp--preceding-sexp elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 1024 [elisp--preceding-sexp elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 1024 [eval-sexp-add-defvars elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 1024 [directory-files let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil] 145296 [expand-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 27048 [abbreviate-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 52104 [file-truename file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 148512 [file-attributes find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 222672 [file-truename file-truename file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 58488 [generate-new-buffer create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 1397904 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 7487552 [auto-coding-regexp-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 5155688 [sgml-xml-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 1034280 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 1736312 [insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 28171152 [format-decode insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 1195992 [make-local-variable find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 40 [files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 1050056 [backup-file-name-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 1090520 [file-name-sans-versions inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 1053584 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 28834232 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 7189765 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 27908008 [set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 1042848 [file-remote-p hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6460425 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 1069288 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 1233520 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 1205448 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 2257448 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 28859048 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 6820603 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 28045112 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 1027272 [looking-at set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 1045992 [file-remote-p set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6364960 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 44524288 [text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 40 [file-remote-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 5868740 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 1036040 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 1199288 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 1319632 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 1957760 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 28008496 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 1031720 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 6671085 [inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 28937120 [epa-file-find-file-hook run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 1027528 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 5732048 [add-hook vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 40 [string-match vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 1094176 [file-name-directory vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x16731fdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 12376 [format vc-possible-master "#<compiled -0x1bb43f10b1847a19>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x16731fdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 516576 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled 0x16731fdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 1044096 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled 0x16731fdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 1165576 [format vc-possible-master "#<compiled -0x1bb43f10b1847a19>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x16731fdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 347480 [format vc-possible-master "#<compiled -0x1bb43f10b1847a19>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled 0x16731fdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 215192 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0x16731fdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 338144 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled 0x16731fdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 384104 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled 0x16731fdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 1213632 [get-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 36280 [file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 970456 [file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 146816 [file-truename file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 280904 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 1007472 [file-name-directory find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 12376 [file-name-sans-versions inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 115824 [make-symbol seq-filter hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 29792 [file-exists-p "#<compiled -0x1a313244b1847a19>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x16166bdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 11528 [find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 241592 [uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 957280 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 22008 [file-exists-p "#<compiled -0xdcb5590b1847a19>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x3259fdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 22856 [vc-make-backend-sym vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x3259fdb0c436bd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 191576 [vc-file-getprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6288 [file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 331904 [abbreviate-file-name find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 78304 [files--transform-file-name make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 35032 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x1537928e8360ce4b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 10480 [file-writable-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 6288 [file-directory-p find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 180448 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 10480 [file-name-directory vc-cvs-registered vc-call-backend "#<compiled -0x1530ca8e8360ce4b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 15520 [vc-file-setprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 10480 [vc-make-backend-sym vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x15c1528e8360ce4b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 9432 [vc-file-getprop vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 16568 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 7336 [uniquify-get-proposed-name uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4192 [expand-file-name vc-cvs-registered vc-call-backend "#<compiled -0x1564028e8360ce4b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 105544 [file-name-directory vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x1564028e8360ce4b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 3144 [expand-file-name vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 1048 [file-name-directory vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4192 [dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 27696 [file-name-directory vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x16546e8e8360ce4b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 3144 [dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 24752 [file-readable-p vc-cvs-registered vc-call-backend "#<compiled -0x1c5c5a8e8360ce4c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3144 [create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 22656 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x1c43928e8360ce4c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 2096 [file-exists-p "#<compiled 0x1ed6930bb0256b6f>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x1d351a8e8360ce4c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 1048 [vc-make-backend-sym vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x1d35868e8360ce4c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 5240 [called-interactively-p font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 32792 [font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 32792 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_137>" backtrace-frame called-interactively-p getenv vc-sccs-search-project-dir vc-possible-master "#<compiled 0x4b24adbb0256b6f>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x10be0a8e8360ce4c>" mapc vc-registered vc-backend] 32792 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0x1113428e8360ce4c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 20560 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x1104828e8360ce4c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 4192 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x13409e8e8360ce4c>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 1048 [elisp--eval-last-sexp-print-value elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 1000 [timer--time-setter timer-set-time run-at-time run-with-timer blink-cursor--start-timer blink-cursor-start apply timer-event-handler nil nil nil nil nil nil nil nil] 24 [timer--time-less-p timer--activate timer-activate run-at-time run-with-timer blink-cursor--start-timer blink-cursor-start apply timer-event-handler nil nil nil nil nil nil nil] 24 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 6791 [minibuffer--regexp-setup completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 1024 [x-device-class device-class minibuffer-setup-on-screen-keyboard completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil] 14336 [menu-bar-update-buffers redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil] 24416 [menu-bar-update-buffers-1 menu-bar-update-buffers redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil] 2520 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 98334 [file-remote-p redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil] 5120 [funcall-interactively command-execute completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil] 176 [interactive-form command-execute completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil] 8184 [execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil nil] 90016 [funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 16 [profiler-report funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 3414992 [Automatic\ GC nil] 77830)) (25890 37001 146161 106000) nil]
[-- Attachment #3: Type: text/plain, Size: 224 bytes --]
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-08 11:25 ` Ihor Radchenko
@ 2023-10-08 11:44 ` Eli Zaretskii
2023-10-08 12:10 ` Ihor Radchenko
2023-10-08 12:28 ` Dmitry Gutov
2023-10-08 12:11 ` Dmitry Gutov
1 sibling, 2 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-10-08 11:44 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: Eli Zaretskii <eliz@gnu.org>, 66117@debbugs.gnu.org
> Date: Sun, 08 Oct 2023 11:25:20 +0000
>
> > If file-attributes is the main source of consing, it could be the reason
> > for the line
> >
> > 924 36% Automatic GC
>
> No, the main source of consing, according to the memory profiler, is
> `inhibit-local-variables-p':
The so-called "memory" profiler doesn't profile memory usage...
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-08 11:44 ` Eli Zaretskii
@ 2023-10-08 12:10 ` Ihor Radchenko
2023-10-08 12:28 ` Dmitry Gutov
1 sibling, 0 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-08 12:10 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
Eli Zaretskii <eliz@gnu.org> writes:
>> > If file-attributes is the main source of consing, it could be the reason
>> > for the line
>> >
>> > 924 36% Automatic GC
>>
>> No, the main source of consing, according to the memory profiler, is
>> `inhibit-local-variables-p':
>
> The so-called "memory" profiler doesn't profile memory usage...
This is annoying... Would be so nice if there were an actual profiler
for consing.
I tried
- (let* ((attributes (file-attributes truename))
+ (let* ((attributes (and nil (file-attributes truename)))
which should effectively eliminate the calls to `file-attributes' from
`find-file-visiting'. The GC time did not change significantly:
916 38% Automatic GC
213 8% + locate-dominating-file
157 6% + abbreviate-file-name
141 5% + inhibit-local-variables-p
120 5% + file-truename
108 4% + dir-locals--all-files
60 2% + file-name-sans-versions
54 2% + insert-file-contents
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-08 11:25 ` Ihor Radchenko
2023-10-08 11:44 ` Eli Zaretskii
@ 2023-10-08 12:11 ` Dmitry Gutov
2023-10-08 12:20 ` Ihor Radchenko
1 sibling, 1 reply; 162+ messages in thread
From: Dmitry Gutov @ 2023-10-08 12:11 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: Eli Zaretskii, 66117
On 08/10/2023 14:25, Ihor Radchenko wrote:
> Dmitry Gutov <dmitry@gutov.dev> writes:
>
>> On 08/10/2023 12:00, Ihor Radchenko wrote:
>>> I am not sure if we really need to squeeze the
>>> performance yet further from `find-buffer-visiting' - `file-attributes'
>>> is taking pretty much no time:
>>
>> If file-attributes is the main source of consing, it could be the reason
>> for the line
>>
>> 924 36% Automatic GC
>
> No, the main source of consing, according to the memory profiler, is
> `inhibit-local-variables-p':
>
> 170,592,016 49% + inhibit-local-variables-p
> 45,619,488 13% + string-match
> 28,171,152 8% + insert-file-contents
> 26,066,069 7% + file-name-sans-versions
> 18,699,245 5% + file-remote-p
>
> The full memory profile is attached.
That's odd. Do many/any of your files being visited match
inhibit-local-variables-suffixes or inhibit-local-variables-regexps?
This might help a little bit:
diff --git a/lisp/files.el b/lisp/files.el
index b99ccf66d8a..8cab08bc6b6 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -3208,7 +3208,7 @@ inhibit-local-variables-p
sufs)
(setq name (substring name 0 (match-beginning 0))))
(while (and temp
- (not (string-match (car temp) name)))
+ (not (string-match-p (car temp) name)))
(setq temp (cdr temp)))
temp))
^ permalink raw reply related [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-08 12:11 ` Dmitry Gutov
@ 2023-10-08 12:20 ` Ihor Radchenko
2023-10-09 0:48 ` Dmitry Gutov
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-08 12:20 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: Eli Zaretskii, 66117
Dmitry Gutov <dmitry@gutov.dev> writes:
>> The full memory profile is attached.
>
> That's odd. Do many/any of your files being visited match
> inhibit-local-variables-suffixes or inhibit-local-variables-regexps?
I used the same reproducer. You can try it on your side if you want.
> This might help a little bit:
>
> - (not (string-match (car temp) name)))
> + (not (string-match-p (car temp) name)))
It is the first thing I tried. Nope.
And, as Eli pointed, memory profiler is not measuring consing... So, it
is useless for the purposes of reducing GC time.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-08 11:44 ` Eli Zaretskii
2023-10-08 12:10 ` Ihor Radchenko
@ 2023-10-08 12:28 ` Dmitry Gutov
1 sibling, 0 replies; 162+ messages in thread
From: Dmitry Gutov @ 2023-10-08 12:28 UTC (permalink / raw)
To: Eli Zaretskii, Ihor Radchenko; +Cc: 66117
On 08/10/2023 14:44, Eli Zaretskii wrote:
>> From: Ihor Radchenko<yantar92@posteo.net>
>> Cc: Eli Zaretskii<eliz@gnu.org>,66117@debbugs.gnu.org
>> Date: Sun, 08 Oct 2023 11:25:20 +0000
>>
>>> If file-attributes is the main source of consing, it could be the reason
>>> for the line
>>>
>>> 924 36% Automatic GC
>> No, the main source of consing, according to the memory profiler, is
>> `inhibit-local-variables-p':
> The so-called "memory" profiler doesn't profile memory usage...
It does seem to be recording allocations (in push_handler_nosignal).
Are you making the point that it doesn't record the consing values (i.e.
the real numbers that affect the time spent in GC)?
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-08 12:20 ` Ihor Radchenko
@ 2023-10-09 0:48 ` Dmitry Gutov
0 siblings, 0 replies; 162+ messages in thread
From: Dmitry Gutov @ 2023-10-09 0:48 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: Eli Zaretskii, 66117
On 08/10/2023 15:20, Ihor Radchenko wrote:
> Dmitry Gutov <dmitry@gutov.dev> writes:
>
>>> The full memory profile is attached.
>>
>> That's odd. Do many/any of your files being visited match
>> inhibit-local-variables-suffixes or inhibit-local-variables-regexps?
>
> I used the same reproducer. You can try it on your side if you want.
Tried it, didn't find anything obvious (that helped) either. Thanks.
>> This might help a little bit:
>>
>> - (not (string-match (car temp) name)))
>> + (not (string-match-p (car temp) name)))
>
> It is the first thing I tried. Nope.
>
> And, as Eli pointed, memory profiler is not measuring consing... So, it
> is useless for the purposes of reducing GC time.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-08 9:56 ` Eli Zaretskii
@ 2023-10-09 10:02 ` Ihor Radchenko
2023-10-09 10:16 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-09 10:02 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
[-- Attachment #1: Type: text/plain, Size: 2944 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> > My advice is to have a prototype working, then time it on local
>> > filesystems.
>>
>> See the attached patch.
>
> Thanks. This still has some unnecessary overhead (I actually thought
> about moving the entire find-buffer-visiting into C, not replacing it
> with Lisp that calls new primitives). But this already makes
> find-buffer-visiting take an insignificant portion of CPU time, so I
> think it proves that the idea is workable:
I looked into rewriting `find-buffer-visiting' fully in C, but it
appears to be rather tricky because it calls `file-truename' and
`abbreviate-file-name', which are Elisp functions recursively calling
other Elisp functions.
And `abbreviate-file-name' is the slowest function showing up in the
profiler (with my patch applied):
;; Increased the number of files to get more than ~2 sec CPU samples.
(dotimes (i 3000) (with-temp-file (format "/tmp/test/%d.txt" i) (insert "* This is test")))
(dolist (file (directory-files "/tmp/test/" t "txt"))
(find-file-noselect file))
(cpu-profile-w-patch-3000-files, reverse call tree)
3130 29% Automatic GC
1305 12% + abbreviate-file-name
845 7% + inhibit-local-variables-p
842 7% + uniquify-rationalize-file-buffer-names
719 6% + find-buffer-visiting
619 5% + locate-dominating-file
350 3% + dir-locals--all-files
332 3% + set-auto-mode--apply-alist
283 2% + hack-local-variables--find-variables
272 2% + file-truename
I am not sure if we want to go deeper into the rabbit hole, but if we
do, here is also the perf profile:
25.35% emacs emacs [.] set_default_internal
15.73% emacs emacs [.] process_mark_stack
10.18% emacs emacs [.] re_match_2_internal
8.88% emacs emacs [.] assq_no_quit
2.23% emacs emacs [.] Fstring_equal
2.01% emacs emacs [.] pdumper_marked_p_impl
The main contributor is set_default_internal. I _suspect_ (because we
have non-linear scaling with the number of buffers - 3x increase in the
number of files lead to ~6x increase in the run time) that the main
contributor here is let-binding `case-fold-search' - special per-buffer
variable with no default value. In particular, `specbind' has the
following comment:
/* If SYMBOL is a per-buffer variable which doesn't have a
buffer-local value here, make the `let' change the global
value by changing the value of SYMBOL in all buffers not
having their own value. This is consistent with what
happens with other buffer-local variables. */
which implies that the binding will iterate over all the buffers,
leading to non-linear scaling in our scenario.
[-- Attachment #2: cpu-profile-w-patch-3000-files --]
[-- Type: application/octet-stream, Size: 37309 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 217 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 10 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 20 [directory-files let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil] 9 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 184 [vc-call-backend "#<compiled 0x1bf44ab8b08eabd8>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 10 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 105 [file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 66 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x54e35474f715428>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 155 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 23 [file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 46 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 842 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0x33965c8556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 168 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 68 [abbreviate-file-name find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 183 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x32e39c8556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 7 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 166 [uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [get-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 74 [format vc-possible-master "#<compiled 0x1db0dec7f4256b6f>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x54a90f42b8af1b5>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 6 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 194 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0x55124f42b8af1b5>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 125 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 35 [abbreviate-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 302 [vc-sccs-registered vc-call-backend "#<compiled -0x827e9c8556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 4 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 27 [find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 113 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 23 [file-truename file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 64 [dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 17 [find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 719 [text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 15 [set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 12 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 138 [insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 90 [find-file-name-handler make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 14 [generate-new-buffer create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 207 [assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 7 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 146 [search-forward find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 8 [called-interactively-p font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 4 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled 0x6ee98cfaa932631>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 121 [file-exists-p "#<compiled 0xdafce6433ba8b00>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x6ca3b30556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 52 [file-name-directory vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x1e474f30556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 4 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0x6e4b0cfaa932631>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 138 [vc-file-getprop vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x9a03730556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 114 [file-exists-p "#<compiled 0x1dd4c81ff4256b6f>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x65e28f42b8af1b5>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 31 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 134 [called-interactively-p auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [string-match vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 10 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled 0x6e578cfaa932631>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 162 [mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x1f7e1b30556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 4 [search-backward hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 12 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 141 [expand-file-name vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 7 [file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 59 [file-remote-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 17 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 28 [called-interactively-p font-lock-mode font-lock-change-mode text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 4 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 20 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 176 [file-directory-p find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 18 [uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 36 [hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 163 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 15 [uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 12 [abbreviate-file-name locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x22a37d8556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 140 [file-attributes find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 21 [after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 7 [file-name-directory find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 12 [global-eldoc-mode-cmhh text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 332 [set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 6 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 128 [expand-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 12 [file-writable-p after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 32 [find-file-name-handler make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 6 [expand-file-name vc-cvs-registered vc-call-backend "#<compiled -0x6afd834556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 12 [normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 143 ["#<compiled -0x77f9db428457500>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x1f7e1034556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let] 4 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 18 [called-interactively-p getenv vc-sccs-search-project-dir vc-possible-master "#<compiled -0x77d1cf2fc457500>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x1f616c80556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks] 8 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 22 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x19983c80556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 4 [file-truename file-truename file-truename find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 24 [hack-local-variables--find-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 120 [file-truename file-truename file-truename find-buffer-visiting find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 13 [font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 9 [vc-file-setprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 7 [directory-abbrev-apply abbreviate-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 3 [vc-possible-master "#<compiled 0x9ca84fc2fba8b00>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x6f90f23aa932631>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 7 [file-remote-p hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 26 [file-name-sans-versions inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 17 [global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [getenv vc-sccs-search-project-dir vc-possible-master "#<compiled -0x772df0004457500>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x1f6b5aa8556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file] 3 [files--transform-file-name make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 9 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 81 [run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 7 [auto-coding-regexp-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 11 [cdr uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 25 [epa-file-find-file-hook run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [global-eldoc-mode-enable-in-buffers global-eldoc-mode-check-buffers run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [stringp auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [file-readable-p vc-cvs-registered vc-call-backend "#<compiled -0x199609e4556cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn] 10 [find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 3 [file-exists-p "#<compiled 0x8a6baab8d8a8b00>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x24f4dc9456cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 20 [vc-file-getprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6 [file-name-sans-versions inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6 [file-name-directory vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 13 [uniquify-rationalize-conflicting-sublist uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 37 [global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 7 [vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [font-lock-initial-fontify font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [file-name-directory vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x1f6bd331456cd9d0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 10 [file-remote-p set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 12 [add-to-list global-eldoc-mode-cmhh text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [car let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil] 4 [file-remote-p hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 8 [search-forward hack-local-variables--find-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 6 [logand after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [file-name-directory vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x182ba8f42b8af1b5>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 7 [files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 12 [dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [hack-local-variables-apply hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 7 [sgml-xml-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 13 [looking-at set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 14 [vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 4 [copy-tree font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 4 [backtrace-frame called-interactively-p font-lock-mode font-lock-change-mode text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn] 3 [called-interactively-p font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 4 [normal-backup-enable-predicate find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 4 [buffer-file-name run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [remove-hook font-lock-mode font-lock-change-mode text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 3 [remq remove-hook global-eldoc-mode-check-buffers run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [set-match-data "#<compiled 0xad2118268e6af>" abbreviate-file-name find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [make-local-variable find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 3 ["#<compiled 0x1961d0f42b8af1b5>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 4 [setq let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil] 3 [format-decode insert-file-contents find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 6 [vc-make-backend-sym vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x1d77e0f42b8af1b5>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 7 [create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 3 [search-forward hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil] 3 [run-hooks run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp] 3 [vc-bzr-registered vc-call-backend "#<compiled -0x193a670bd4750e4b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp] 4 [add-to-list global-eldoc-mode-cmhh kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [uniquify-get-proposed-name uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let progn elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [jit-lock-context-fontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 13 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 23 [menu-bar-update-buffers redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil] 4 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 18 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled 0x1ed68be23bc31904>" "#<compiled -0x15c71be6601631aa>" mapc seq-do seq-some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled -0x932a59147ec86a5>" apply "#<compiled -0xf68868d25bef22>"] 19 [back-to-indentation show-paren--locate-near-paren show-paren--default show-paren-function apply timer-event-handler completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil] 2 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled 0x1e32c1e2dc106884>" "#<compiled -0x15c71be6601631aa>" mapc seq-do seq-some completion--nth-completion completion-try-completion completion--do-completion "#<compiled -0xafbd7d5382c68ee>" completion--complete-and-exit completion-complete-and-exit minibuffer-complete-and-exit] 3 [completion-pcm--all-completions completion-pcm--find-all-completions completion-pcm-try-completion "#<compiled 0x1e32c1e2dc106884>" "#<compiled -0x15c71be6601631aa>" mapc seq-do seq-some completion--nth-completion completion-try-completion completion--do-completion "#<compiled -0xafbd7d5382c68ee>" completion--complete-and-exit completion-complete-and-exit minibuffer-complete-and-exit funcall-interactively] 3 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-emacs22-try-completion "#<compiled 0x1e32c1e2dc106884>" "#<compiled -0x15c71be6601631aa>" mapc seq-do seq-some completion--nth-completion completion-try-completion completion--do-completion "#<compiled -0xafbd7d5382c68ee>" completion--complete-and-exit completion-complete-and-exit minibuffer-complete-and-exit] 3 [Automatic\ GC nil] 3130 [profiler-report funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 3)) (25891 52261 556368 437000) nil]
[-- Attachment #3: Type: text/plain, Size: 224 bytes --]
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-09 10:02 ` Ihor Radchenko
@ 2023-10-09 10:16 ` Ihor Radchenko
2023-12-12 14:24 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-10-09 10:16 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
Ihor Radchenko <yantar92@posteo.net> writes:
> The main contributor is set_default_internal. I _suspect_ (because we
> have non-linear scaling with the number of buffers - 3x increase in the
> number of files lead to ~6x increase in the run time) that the main
> contributor here is let-binding `case-fold-search' - special per-buffer
> variable with no default value.
My suspicion appears to be correct - removing let-binding for
case-fold-search from `abbreviate-file-name' and
`inhibit-local-variables-p' made them disappear from the top of the
reverse call tree.
Then, considering the ubiquity of let-binding case-fold-search across
Elisp code, speeding up let-binding of special per-buffer variables may
give us performance boost across Emacs.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-09 10:16 ` Ihor Radchenko
@ 2023-12-12 14:24 ` Ihor Radchenko
2023-12-12 14:49 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-12 14:24 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117
Ihor Radchenko <yantar92@posteo.net> writes:
> Ihor Radchenko <yantar92@posteo.net> writes:
>
>> The main contributor is set_default_internal. I _suspect_ (because we
>> have non-linear scaling with the number of buffers - 3x increase in the
>> number of files lead to ~6x increase in the run time) that the main
>> contributor here is let-binding `case-fold-search' - special per-buffer
>> variable with no default value.
>
> My suspicion appears to be correct - removing let-binding for
> case-fold-search from `abbreviate-file-name' and
> `inhibit-local-variables-p' made them disappear from the top of the
> reverse call tree.
>
> Then, considering the ubiquity of let-binding case-fold-search across
> Elisp code, speeding up let-binding of special per-buffer variables may
> give us performance boost across Emacs.
What do you think about introducing something like
struct buffer buffer_overrides;
It will be similar to buffer_defaults in buffer.c, but will hold the
overriding values of buffer-local variables that are to be used instead
of proper buffer-local variables. That way, we can speed up let-binding
of case-fold-search.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 14:24 ` Ihor Radchenko
@ 2023-12-12 14:49 ` Eli Zaretskii
2023-12-12 16:33 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-12 14:49 UTC (permalink / raw)
To: Ihor Radchenko, Stefan Monnier; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Tue, 12 Dec 2023 14:24:35 +0000
>
> Ihor Radchenko <yantar92@posteo.net> writes:
>
> > Ihor Radchenko <yantar92@posteo.net> writes:
> >
> >> The main contributor is set_default_internal. I _suspect_ (because we
> >> have non-linear scaling with the number of buffers - 3x increase in the
> >> number of files lead to ~6x increase in the run time) that the main
> >> contributor here is let-binding `case-fold-search' - special per-buffer
> >> variable with no default value.
> >
> > My suspicion appears to be correct - removing let-binding for
> > case-fold-search from `abbreviate-file-name' and
> > `inhibit-local-variables-p' made them disappear from the top of the
> > reverse call tree.
> >
> > Then, considering the ubiquity of let-binding case-fold-search across
> > Elisp code, speeding up let-binding of special per-buffer variables may
> > give us performance boost across Emacs.
>
> What do you think about introducing something like
>
> struct buffer buffer_overrides;
>
> It will be similar to buffer_defaults in buffer.c, but will hold the
> overriding values of buffer-local variables that are to be used instead
> of proper buffer-local variables. That way, we can speed up let-binding
> of case-fold-search.
I'm sorry, I don't think I understand how this will work and avoid the
problems we have with let-binding. So I added Stefan, in the hope
that he might understand what I am evidently missing.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 14:49 ` Eli Zaretskii
@ 2023-12-12 16:33 ` Ihor Radchenko
2023-12-12 17:26 ` Eli Zaretskii
2023-12-12 20:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-12 16:33 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, Stefan Monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> What do you think about introducing something like
>>
>> struct buffer buffer_overrides;
>>
>> It will be similar to buffer_defaults in buffer.c, but will hold the
>> overriding values of buffer-local variables that are to be used instead
>> of proper buffer-local variables. That way, we can speed up let-binding
>> of case-fold-search.
>
> I'm sorry, I don't think I understand how this will work and avoid the
> problems we have with let-binding. So I added Stefan, in the hope
> that he might understand what I am evidently missing.
Let me elaborate.
- In eval.c, `Flet' always uses `specbind' to bind `case-fold-search'.
Because `case-fold-search' is declared special (u.s.declared_special =
true).
- For `case-fold-search', `specbind' does
/* If SYMBOL is a per-buffer variable which doesn't have a
buffer-local value here, make the `let' change the global
value by changing the value of SYMBOL in all buffers not
having their own value. This is consistent with what
happens with other buffer-local variables. */
if (NILP (Flocal_variable_p (symbol, Qnil)))
specpdl_ptr->let.kind = SPECPDL_LET_DEFAULT;
- Later, `specbind' calls `do_specbind' where SPECPDL_LET_DEFAULT causes
a call to `set_default_internal'.
- Then, `set_default_internal', for any variable with positive
buffer_local_flags loops over all the live buffers to overwrite the
buffer-local value.
This loop is the bottleneck, making let-binding
of `case-fold-search' (and any other variable marked in buffer.c:4691
block) scale with the number of open buffers.
- What I propose is to avoid this loop in `do_specbind' altogether.
Instead of having to loop through all the buffers to set temporary
buffer-local value, I propose to introduce special buffer object
`buffer_overrides' that will hold such temporary bindings.
Then, we can change BVAR to something like
#define BVAR(buf, field) (buffer_overrides->field ## _ == UNSET ?\
(buf)->field ## _ :\
buffer_overrides->field ## _)
and replace the loop with simply setting buffer_overrides slot.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 16:33 ` Ihor Radchenko
@ 2023-12-12 17:26 ` Eli Zaretskii
2023-12-12 17:44 ` Ihor Radchenko
2023-12-12 20:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-12 17:26 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, dmitry@gutov.dev,
> 66117@debbugs.gnu.org
> Date: Tue, 12 Dec 2023 16:33:05 +0000
>
> - Then, `set_default_internal', for any variable with positive
> buffer_local_flags loops over all the live buffers to overwrite the
> buffer-local value.
>
> This loop is the bottleneck, making let-binding
> of `case-fold-search' (and any other variable marked in buffer.c:4691
> block) scale with the number of open buffers.
>
> - What I propose is to avoid this loop in `do_specbind' altogether.
> Instead of having to loop through all the buffers to set temporary
> buffer-local value, I propose to introduce special buffer object
> `buffer_overrides' that will hold such temporary bindings.
> Then, we can change BVAR to something like
>
> #define BVAR(buf, field) (buffer_overrides->field ## _ == UNSET ?\
> (buf)->field ## _ :\
> buffer_overrides->field ## _)
>
> and replace the loop with simply setting buffer_overrides slot.
So for starters, we make each BVAR more expensive, i.e. make Emacs
uniformly slower (because we call BVAR all over the place). And then
I'm not sure I understand how buffer_overrides will get the values of
those temporary bindings without having to use the same loops when we
have let-binding within another one. Also, what about threads?
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 17:26 ` Eli Zaretskii
@ 2023-12-12 17:44 ` Ihor Radchenko
2023-12-12 18:36 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-12 17:44 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> #define BVAR(buf, field) (buffer_overrides->field ## _ == UNSET ?\
>> (buf)->field ## _ :\
>> buffer_overrides->field ## _)
>>
>> and replace the loop with simply setting buffer_overrides slot.
>
> So for starters, we make each BVAR more expensive, i.e. make Emacs
> uniformly slower (because we call BVAR all over the place).
Yes, although I do not believe that it will have large impact in
practice. It is just an extra == comparison.
> ... And then
> I'm not sure I understand how buffer_overrides will get the values of
> those temporary bindings without having to use the same loops when we
> have let-binding within another one. Also, what about threads?
Just as any other global state variable - via `specbind'. Entering inner
let will push the previous value into specpdl and recover it upon
exiting.
Threads work similarly, maintaining their own local specpdl queue heads
that make sure that global state is recorded and rewinded as needed.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 17:44 ` Ihor Radchenko
@ 2023-12-12 18:36 ` Eli Zaretskii
2023-12-12 19:10 ` Dmitry Gutov
2023-12-12 19:18 ` Ihor Radchenko
0 siblings, 2 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-12 18:36 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Tue, 12 Dec 2023 17:44:15 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> #define BVAR(buf, field) (buffer_overrides->field ## _ == UNSET ?\
> >> (buf)->field ## _ :\
> >> buffer_overrides->field ## _)
> >>
> >> and replace the loop with simply setting buffer_overrides slot.
> >
> > So for starters, we make each BVAR more expensive, i.e. make Emacs
> > uniformly slower (because we call BVAR all over the place).
>
> Yes, although I do not believe that it will have large impact in
> practice. It is just an extra == comparison.
We've seen how similar extra comparisons slow down Emacs when we
introduced symbols-with-location. IMO, BVAR might be even more
expensive, since it is used much more frequently and widely.
> > ... And then
> > I'm not sure I understand how buffer_overrides will get the values of
> > those temporary bindings without having to use the same loops when we
> > have let-binding within another one. Also, what about threads?
>
> Just as any other global state variable - via `specbind'. Entering inner
> let will push the previous value into specpdl and recover it upon
> exiting.
And that will not require looping similar to what we have now?
> Threads work similarly, maintaining their own local specpdl queue heads
> that make sure that global state is recorded and rewinded as needed.
I don't think I follow you here.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 18:36 ` Eli Zaretskii
@ 2023-12-12 19:10 ` Dmitry Gutov
2023-12-12 19:16 ` Eli Zaretskii
2023-12-12 19:18 ` Ihor Radchenko
1 sibling, 1 reply; 162+ messages in thread
From: Dmitry Gutov @ 2023-12-12 19:10 UTC (permalink / raw)
To: Eli Zaretskii, Ihor Radchenko; +Cc: 66117, monnier
On 12/12/2023 20:36, Eli Zaretskii wrote:
>> From: Ihor Radchenko<yantar92@posteo.net>
>> Cc:monnier@iro.umontreal.ca,dmitry@gutov.dev,66117@debbugs.gnu.org
>> Date: Tue, 12 Dec 2023 17:44:15 +0000
>>
>> Eli Zaretskii<eliz@gnu.org> writes:
>>
>>>> #define BVAR(buf, field) (buffer_overrides->field ## _ == UNSET ?\
>>>> (buf)->field ## _ :\
>>>> buffer_overrides->field ## _)
>>>>
>>>> and replace the loop with simply setting buffer_overrides slot.
>>> So for starters, we make each BVAR more expensive, i.e. make Emacs
>>> uniformly slower (because we call BVAR all over the place).
>> Yes, although I do not believe that it will have large impact in
>> practice. It is just an extra == comparison.
> We've seen how similar extra comparisons slow down Emacs when we
> introduced symbols-with-location. IMO, BVAR might be even more
> expensive, since it is used much more frequently and widely.
We also have dynamic variable bindings all over the place, so it might
be worth a try (with measurements).
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 19:10 ` Dmitry Gutov
@ 2023-12-12 19:16 ` Eli Zaretskii
0 siblings, 0 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-12 19:16 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: yantar92, monnier, 66117
> Date: Tue, 12 Dec 2023 21:10:13 +0200
> Cc: monnier@iro.umontreal.ca, 66117@debbugs.gnu.org
> From: Dmitry Gutov <dmitry@gutov.dev>
>
> On 12/12/2023 20:36, Eli Zaretskii wrote:
> >> From: Ihor Radchenko<yantar92@posteo.net>
> >> Cc:monnier@iro.umontreal.ca,dmitry@gutov.dev,66117@debbugs.gnu.org
> >> Date: Tue, 12 Dec 2023 17:44:15 +0000
> >>
> >> Eli Zaretskii<eliz@gnu.org> writes:
> >>
> >>>> #define BVAR(buf, field) (buffer_overrides->field ## _ == UNSET ?\
> >>>> (buf)->field ## _ :\
> >>>> buffer_overrides->field ## _)
> >>>>
> >>>> and replace the loop with simply setting buffer_overrides slot.
> >>> So for starters, we make each BVAR more expensive, i.e. make Emacs
> >>> uniformly slower (because we call BVAR all over the place).
> >> Yes, although I do not believe that it will have large impact in
> >> practice. It is just an extra == comparison.
> > We've seen how similar extra comparisons slow down Emacs when we
> > introduced symbols-with-location. IMO, BVAR might be even more
> > expensive, since it is used much more frequently and widely.
>
> We also have dynamic variable bindings all over the place
But not all of them are special like case-fold-search.
> so it might be worth a try (with measurements).
I didn't say it isn't worth a try.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 18:36 ` Eli Zaretskii
2023-12-12 19:10 ` Dmitry Gutov
@ 2023-12-12 19:18 ` Ihor Radchenko
2023-12-12 19:20 ` Eli Zaretskii
1 sibling, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-12 19:18 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> > So for starters, we make each BVAR more expensive, i.e. make Emacs
>> > uniformly slower (because we call BVAR all over the place).
>>
>> Yes, although I do not believe that it will have large impact in
>> practice. It is just an extra == comparison.
>
> We've seen how similar extra comparisons slow down Emacs when we
> introduced symbols-with-location. IMO, BVAR might be even more
> expensive, since it is used much more frequently and widely.
It might. Do you know a good way to test such thing? Because I do not
think that a mere suspicion that this change might make things slower
should stop the discussion.
>> > ... And then
>> > I'm not sure I understand how buffer_overrides will get the values of
>> > those temporary bindings without having to use the same loops when we
>> > have let-binding within another one. Also, what about threads?
>>
>> Just as any other global state variable - via `specbind'. Entering inner
>> let will push the previous value into specpdl and recover it upon
>> exiting.
>
> And that will not require looping similar to what we have now?
No.
AFAIK, the way let-binding for dynamic scoping works is:
1. push existing variable value to specpdl
2. assign a new value
3. when leaving let scope, pop the record from specpdl and assign the
old value
What I propose is changing the way value is assigned. Now, the assignment of
buffer-local variable that is recorded into buffer object slot involves
doing it in all the live buffers. I propose to do it in a special buffer
object instead, which is strictly faster.
>> Threads work similarly, maintaining their own local specpdl queue heads
>> that make sure that global state is recorded and rewinded as needed.
>
> I don't think I follow you here.
See `rebind_for_thread_switch' and `unbind_for_thread_switch'.
The workhorse is `specpdl_unrewind', which see.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 19:18 ` Ihor Radchenko
@ 2023-12-12 19:20 ` Eli Zaretskii
0 siblings, 0 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-12 19:20 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Tue, 12 Dec 2023 19:18:19 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> > So for starters, we make each BVAR more expensive, i.e. make Emacs
> >> > uniformly slower (because we call BVAR all over the place).
> >>
> >> Yes, although I do not believe that it will have large impact in
> >> practice. It is just an extra == comparison.
> >
> > We've seen how similar extra comparisons slow down Emacs when we
> > introduced symbols-with-location. IMO, BVAR might be even more
> > expensive, since it is used much more frequently and widely.
>
> It might. Do you know a good way to test such thing? Because I do not
> think that a mere suspicion that this change might make things slower
> should stop the discussion.
To measure such things, you need to run some benchmarks.
Byte-compiling might be one such kind; "make bootstrap" could be
another; scrolling one line at a time through a large file could be
yet another one. Several such benchmarks were posted to the lists on
several similar occasions.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 16:33 ` Ihor Radchenko
2023-12-12 17:26 ` Eli Zaretskii
@ 2023-12-12 20:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 20:47 ` Dmitry Gutov
1 sibling, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-12 20:01 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, Eli Zaretskii, 66117
> - What I propose is to avoid this loop in `do_specbind' altogether.
> Instead of having to loop through all the buffers to set temporary
> buffer-local value, I propose to introduce special buffer object
> `buffer_overrides' that will hold such temporary bindings.
> Then, we can change BVAR to something like
>
> #define BVAR(buf, field) (buffer_overrides->field ## _ == UNSET ?\
> (buf)->field ## _ :\
> buffer_overrides->field ## _)
If we're willing to pay the cost of such a test, then we don't need
a new `buffer_overrides`, we can just set `buf->field` to a special value
(e.g. `Qunbound`, tho we'll probably need to use a new similar special
value) and then do:
#define BVAR(buf, field) ((buf)->field ## _ != Qunbound ?\
(buf)->field ## _ :\
buffer_defaults->field ## _)
This said, in the case of `case-fold-search` I think there's a simpler
solution: make it "buffer-local only", meaning that let-binding it
affects only the current buffer (rather than affecting all the buffers
which have not made it buffer-local yet).
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 20:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-12 20:47 ` Dmitry Gutov
2023-12-12 22:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 23:09 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 162+ messages in thread
From: Dmitry Gutov @ 2023-12-12 20:47 UTC (permalink / raw)
To: Stefan Monnier, Ihor Radchenko; +Cc: Eli Zaretskii, 66117
On 12/12/2023 22:01, Stefan Monnier wrote:
> This said, in the case of `case-fold-search` I think there's a simpler
> solution: make it "buffer-local only", meaning that let-binding it
> affects only the current buffer (rather than affecting all the buffers
> which have not made it buffer-local yet).
Wouldn't that be a breaking change? And a non-obvious one.
E.g. company-dabbrev-code creates a dynamic binding for case-fold-search
in one place and then calls a function (company-dabbrev--search) that
iterates across all buffers with re-search-forward.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 20:47 ` Dmitry Gutov
@ 2023-12-12 22:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 23:40 ` Dmitry Gutov
2023-12-12 23:09 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-12 22:57 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: Ihor Radchenko, Eli Zaretskii, 66117
>> This said, in the case of `case-fold-search` I think there's a simpler
>> solution: make it "buffer-local only", meaning that let-binding it
>> affects only the current buffer (rather than affecting all the buffers
>> which have not made it buffer-local yet).
> Wouldn't that be a breaking change? And a non-obvious one.
Yup.
> E.g. company-dabbrev-code creates a dynamic binding for case-fold-search in
> one place and then calls a function (company-dabbrev--search) that iterates
> across all buffers with re-search-forward.
I think we call this collateral damage.
My suggestion was indeed not completely serious, tho I do think in the
long run it's what we should do.
BTW, regarding making BVAR slower, we could reduce its cost by
introducing two versions of BVAR, so we only pay the price when
accessing one of the problematic variables like `case-fold-search`.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 20:47 ` Dmitry Gutov
2023-12-12 22:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-12 23:09 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 23:43 ` Ihor Radchenko
1 sibling, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-12 23:09 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: Ihor Radchenko, Eli Zaretskii, 66117
> E.g. company-dabbrev-code creates a dynamic binding for case-fold-search in
> one place and then calls a function (company-dabbrev--search) that iterates
> across all buffers with re-search-forward.
BTW, that `company-dabbrev-code` function may not do what you expect
in those buffers that have set `case-fold-search` buffer-locally.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 22:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-12 23:40 ` Dmitry Gutov
2023-12-13 3:50 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 162+ messages in thread
From: Dmitry Gutov @ 2023-12-12 23:40 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Ihor Radchenko, Eli Zaretskii, 66117
On 13/12/2023 00:57, Stefan Monnier wrote:
>>> This said, in the case of `case-fold-search` I think there's a simpler
>>> solution: make it "buffer-local only", meaning that let-binding it
>>> affects only the current buffer (rather than affecting all the buffers
>>> which have not made it buffer-local yet).
>> Wouldn't that be a breaking change? And a non-obvious one.
> Yup.
>
>> E.g. company-dabbrev-code creates a dynamic binding for case-fold-search in
>> one place and then calls a function (company-dabbrev--search) that iterates
>> across all buffers with re-search-forward.
> I think we call this collateral damage.
>
> My suggestion was indeed not completely serious, tho I do think in the
> long run it's what we should do.
>
> BTW, regarding making BVAR slower, we could reduce its cost by
> introducing two versions of BVAR, so we only pay the price when
> accessing one of the problematic variables like `case-fold-search`.
Perhaps in the long run it might be good to do the opposite? Introduce
never-buffer-local variables, and make case-fold-search one of them.
I do see a few hits for
(setq-local case-fold-search
across the Emacs codebase, but in none of these I can clearly understand
the end goal (is that for interactive isearch?). Except for
ido-make-buffer-list-1, which is done purely for performance, working
around a problem related to what's being discussed here (df4991093b94).
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 23:09 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-12 23:43 ` Ihor Radchenko
2023-12-12 23:47 ` Dmitry Gutov
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-12 23:43 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Dmitry Gutov, Eli Zaretskii, 66117
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> E.g. company-dabbrev-code creates a dynamic binding for case-fold-search in
>> one place and then calls a function (company-dabbrev--search) that iterates
>> across all buffers with re-search-forward.
>
> BTW, that `company-dabbrev-code` function may not do what you expect
> in those buffers that have set `case-fold-search` buffer-locally.
Yup.
Steps to reproduce:
1. emacs -Q
2. M-: (setq-local case-fold-search nil)
3. C-x b <RET> (to *Messages*)
4. M-: (let ((case-fold-search t)) (with-current-buffer (get-buffer "*scratch*") (search-forward "CREATE")))
5. Observe search failing
If step (2) is omitted, search succeeds.
Although, I am not sure if I like that let-binding is not reliable for
buffer-locals. It is simply confusing from the point of view of let
usage; even if documented. I'd rather go for `let' becoming more consistent.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 23:43 ` Ihor Radchenko
@ 2023-12-12 23:47 ` Dmitry Gutov
2023-12-13 3:55 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 162+ messages in thread
From: Dmitry Gutov @ 2023-12-12 23:47 UTC (permalink / raw)
To: Ihor Radchenko, Stefan Monnier; +Cc: Eli Zaretskii, 66117
On 13/12/2023 01:43, Ihor Radchenko wrote:
> Stefan Monnier<monnier@iro.umontreal.ca> writes:
>
>>> E.g. company-dabbrev-code creates a dynamic binding for case-fold-search in
>>> one place and then calls a function (company-dabbrev--search) that iterates
>>> across all buffers with re-search-forward.
>> BTW, that `company-dabbrev-code` function may not do what you expect
>> in those buffers that have set `case-fold-search` buffer-locally.
> Yup.
>
> Steps to reproduce:
>
> 1. emacs -Q
> 2. M-: (setq-local case-fold-search nil)
> 3. C-x b <RET> (to*Messages*)
> 4. M-: (let ((case-fold-search t)) (with-current-buffer (get-buffer "*scratch*") (search-forward "CREATE")))
> 5. Observe search failing
>
> If step (2) is omitted, search succeeds.
That's a good data point, but since I don't understand why anybody would
make (or does make) case-fold-search buffer-local, I'm not going to
hurry to fix those cases.
> Although, I am not sure if I like that let-binding is not reliable for
> buffer-locals. It is simply confusing from the point of view of let
> usage; even if documented. I'd rather go for `let' becoming more consistent.
That sounds attractive (ignoring all buffer-locals when let-bound?), but
I'm guessing there are enough valid use cases for this behavior.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 23:40 ` Dmitry Gutov
@ 2023-12-13 3:50 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-13 3:50 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: Ihor Radchenko, Eli Zaretskii, 66117
> Perhaps in the long run it might be good to do the opposite? Introduce
> never-buffer-local variables, and make case-fold-search one of them.
>
> I do see a few hits for
>
> (setq-local case-fold-search
>
> across the Emacs codebase, but in none of these I can clearly understand the
> end goal (is that for interactive isearch?).
If it's really rare, then the simpler&better solution is to move it out
of the `struct buffer` altogether (i.e. make it normal DEFVAR_LISP or
DEFVAR_BOOL).
> Except for
> ido-make-buffer-list-1, which is done purely for performance, working
> around a problem related to what's being discussed here (df4991093b94).
Of course, ideally there should be no such var for `re-search-*`
and friends. Such vars are good for user-configs impacting the behavior
of commands but they're a bit clunky when used as implicit parameters to
low-level ELisp primitives.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-12 23:47 ` Dmitry Gutov
@ 2023-12-13 3:55 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-13 12:10 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-13 3:55 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: Ihor Radchenko, Eli Zaretskii, 66117
> That sounds attractive (ignoring all buffer-locals when let-bound?),
> but I'm guessing there are enough valid use cases for this behavior.
Yup, that would break lots of existing code, indeed, and in subtle
enough ways that people would go crazy.
Luckily, there's no "100% ideal" way buffer-local and scoped bindings
can interact. All choices suck in some circumstances, so there's really
no good reason to lament the current choice: it's no worse than
the alternatives, AFAIK.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-13 3:55 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-13 12:10 ` Eli Zaretskii
2023-12-13 13:06 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-13 12:10 UTC (permalink / raw)
To: Stefan Monnier; +Cc: dmitry, yantar92, 66117
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Ihor Radchenko <yantar92@posteo.net>, Eli Zaretskii <eliz@gnu.org>,
> 66117@debbugs.gnu.org
> Date: Tue, 12 Dec 2023 22:55:15 -0500
>
> > That sounds attractive (ignoring all buffer-locals when let-bound?),
> > but I'm guessing there are enough valid use cases for this behavior.
>
> Yup, that would break lots of existing code, indeed, and in subtle
> enough ways that people would go crazy.
>
> Luckily, there's no "100% ideal" way buffer-local and scoped bindings
> can interact. All choices suck in some circumstances, so there's really
> no good reason to lament the current choice: it's no worse than
> the alternatives, AFAIK.
Btw, the title of this bug is about find-buffer-visiting, and AFAIR I
proposed to have a primitive written in C that replaces
find-buffer-visiting without a need to actually switch to each buffer
(which is what triggers the costly rebinding of buffer-local variables
like case-fold-search). So why we are talking about case-fold-search
instead of solving the original problem? If we want to discuss the
case-fold-search issue, IMO we should discuss it in a separate bug
report.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-13 12:10 ` Eli Zaretskii
@ 2023-12-13 13:06 ` Ihor Radchenko
2023-12-13 13:25 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-13 13:06 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, Stefan Monnier
Eli Zaretskii <eliz@gnu.org> writes:
> Btw, the title of this bug is about find-buffer-visiting, and AFAIR I
> proposed to have a primitive written in C that replaces
> find-buffer-visiting without a need to actually switch to each buffer
> (which is what triggers the costly rebinding of buffer-local variables
> like case-fold-search). So why we are talking about case-fold-search
> instead of solving the original problem? If we want to discuss the
> case-fold-search issue, IMO we should discuss it in a separate bug
> report.
The bottlenecks now (after applying my patch for `find-buffer-visiting')
are `abbreviate-file-name' and `inhibit-local-variables-p'; not the
`find-buffer-visiting' per se (both are slow because they let-bind
case-fold-search).
AFAIU, it is very hard to rewrite them in C, as I explained in
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#157
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-13 13:06 ` Ihor Radchenko
@ 2023-12-13 13:25 ` Eli Zaretskii
2023-12-13 13:43 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-13 13:25 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, dmitry@gutov.dev,
> 66117@debbugs.gnu.org
> Date: Wed, 13 Dec 2023 13:06:06 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Btw, the title of this bug is about find-buffer-visiting, and AFAIR I
> > proposed to have a primitive written in C that replaces
> > find-buffer-visiting without a need to actually switch to each buffer
> > (which is what triggers the costly rebinding of buffer-local variables
> > like case-fold-search). So why we are talking about case-fold-search
> > instead of solving the original problem? If we want to discuss the
> > case-fold-search issue, IMO we should discuss it in a separate bug
> > report.
>
> The bottlenecks now (after applying my patch for `find-buffer-visiting')
> are `abbreviate-file-name' and `inhibit-local-variables-p'; not the
> `find-buffer-visiting' per se (both are slow because they let-bind
> case-fold-search).
Then let's see about implementing in C of these two, or their subsets
needed by find-buffer-visiting, because case-insensitive operations in
C don't need to bind case-fold-search.
Another possibility is to rewrite the parts of these two functions
that need case-insensitive matching in a way that doesn't need to bind
case-fold-search. For example, case-insensitive match against "abcd"
using string-match can be replaced by a case-sensitive match against
"[aA][bB][cC][dD]" or by a call to compare-strings.
> AFAIU, it is very hard to rewrite them in C, as I explained in
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#157
The only explanation I see there is that they "recursively call
other Elisp functions". Is there any other reason?
My point is that by trying to speed-up let-binding of case-fold-search
and similar variables you are trying to solve a much more general
problem, and a much harder one at that. IME, if an idea for a
solution leads to a more general and harder-to-solve problem than the
original, then the idea should be dropped, and one should look for
alternative ideas.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-13 13:25 ` Eli Zaretskii
@ 2023-12-13 13:43 ` Ihor Radchenko
2023-12-13 13:51 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-13 13:43 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> AFAIU, it is very hard to rewrite them in C, as I explained in
>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#157
>
> The only explanation I see there is that they "recursively call
> other Elisp functions". Is there any other reason?
The main problem I see is that `abbreviate-file-name' uses a number of
variables, including customizations, defined in ELisp. I suspect that
moving all of those to Elisp will neither be easy nor practical.
> My point is that by trying to speed-up let-binding of case-fold-search
> and similar variables you are trying to solve a much more general
> problem, and a much harder one at that. IME, if an idea for a
> solution leads to a more general and harder-to-solve problem than the
> original, then the idea should be dropped, and one should look for
> alternative ideas.
The simplest solution would be what `ido-make-buffer-list-1' does:
;; Each call to ido-ignore-item-p LET-binds case-fold-search.
;; That is slow if there's no buffer-local binding available,
;; roughly O(number of buffers). This hack avoids it.
(setq-local case-fold-search nil)
But it will only solve specific problem with `find-buffer-visiting' and
we can always go for it if we cannot find anything better.
I thought that trying to solve a more general problem would benefit more
code - let-binding case-fold-search is extremely common across packages.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-13 13:43 ` Ihor Radchenko
@ 2023-12-13 13:51 ` Eli Zaretskii
2023-12-13 14:12 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-13 14:32 ` Ihor Radchenko
0 siblings, 2 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-13 13:51 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Wed, 13 Dec 2023 13:43:23 +0000
>
> The simplest solution would be what `ido-make-buffer-list-1' does:
>
> ;; Each call to ido-ignore-item-p LET-binds case-fold-search.
> ;; That is slow if there's no buffer-local binding available,
> ;; roughly O(number of buffers). This hack avoids it.
> (setq-local case-fold-search nil)
>
> But it will only solve specific problem with `find-buffer-visiting' and
> we can always go for it if we cannot find anything better.
Which other popular functions need to loop through all the buffers in
Lisp?
> I thought that trying to solve a more general problem would benefit more
> code - let-binding case-fold-search is extremely common across packages.
IMO, the general way you are trying to solve this makes this a very
hard problem with potentially Emacs-wide implications. So we might as
well look for easier alternatives.
We could, for example, document the above trick, for those who need
it.
Or we could have a separate variable, which would not be a defcustom
nor automatically buffer-local, and will have the same effect as
case-fold-search on low-level searching and matching functions.
Btw, are you aware that many case-insensitive operations in Emacs
depend also on the case table in effect, which can also be
buffer-local? So case-insensitive operations in Lisp can be
unexpectedly affected by stuff like the current buffer. One more
reason to use them as little as possible.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-13 13:51 ` Eli Zaretskii
@ 2023-12-13 14:12 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-13 14:58 ` Eli Zaretskii
2023-12-13 14:32 ` Ihor Radchenko
1 sibling, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-13 14:12 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, Ihor Radchenko, 66117
>> But it will only solve specific problem with `find-buffer-visiting' and
>> we can always go for it if we cannot find anything better.
> Which other popular functions need to loop through all the buffers in
> Lisp?
Not sure why that matters. The performance problem comes from repeated
uses of `(let ((case-fold-search ..)) ...)` where the repetition can be
due to anything (not only enumerating buffers).
The "loop through buffers" happens when entering and leaving the `let`,
because it has to `set/unset` the corresponding filed of the `struct
buffer` of all the buffers whose `case-fold-search` is "global".
Making it a DEFVAR_LISP rather than a DEFVAR_PER_BUFFER will fix this
problem (at the cost of making it less efficient to `set-buffer` when
that variable has been made buffer-local).
DEFVAR_PER_BUFFER should be for variables which are usually
buffer-local, and apparently that's not the case of `case-fold-search`,
so I'm starting to think that changing it from DEFVAR_PER_BUFFER to
DEFVAR_LISP might be the better option.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-13 13:51 ` Eli Zaretskii
2023-12-13 14:12 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-13 14:32 ` Ihor Radchenko
2023-12-13 15:22 ` Eli Zaretskii
1 sibling, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-13 14:32 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, Mattias Engdegård, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> ;; Each call to ido-ignore-item-p LET-binds case-fold-search.
>> ;; That is slow if there's no buffer-local binding available,
>> ;; roughly O(number of buffers). This hack avoids it.
>> (setq-local case-fold-search nil)
>>
>> But it will only solve specific problem with `find-buffer-visiting' and
>> we can always go for it if we cannot find anything better.
>
> Which other popular functions need to loop through all the buffers in
> Lisp?
Org mode... When activating the major mode, Org binds case-fold-search
many times - for each Org buffer being opened. The same with happen for
other major modes that let-bind case-fold-search during initialization.
Also, various multi-buffer search functions, like multi-occur, tag
search (etags.el), fileloop.el.
>> I thought that trying to solve a more general problem would benefit more
>> code - let-binding case-fold-search is extremely common across packages.
>
> IMO, the general way you are trying to solve this makes this a very
> hard problem with potentially Emacs-wide implications. So we might as
> well look for easier alternatives.
The solution with Emacs-wide implications is not what I proposed, if you
are talking about breaking changes in let.
What I proposed might slow thing down because of more complex BVAR, but
that is yet to be proven. I want to try first before giving up.
> We could, for example, document the above trick, for those who need
> it.
>
> Or we could have a separate variable, which would not be a defcustom
> nor automatically buffer-local, and will have the same effect as
> case-fold-search on low-level searching and matching functions.
That's indeed another option. Also, we may introduce something similar
to `with-syntax-table' macro - `with-case-fold' and then throw a warning
if case-fold-search is let-bound directly.
> Btw, are you aware that many case-insensitive operations in Emacs
> depend also on the case table in effect, which can also be
> buffer-local? So case-insensitive operations in Lisp can be
> unexpectedly affected by stuff like the current buffer. One more
> reason to use them as little as possible.
... and syntax-table can be set in text properties; so not just affected
by current buffer - also by position in buffer.
Yet, it is sometimes necessary and there is no simple way around
available.
In the past, me and Mattias Engdegård even discussed a possibility to
incorporate case-fold-search flag into regexps directly
(https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63225#74)
That way, things would be less affected by the buffer-locals.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-13 14:12 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-13 14:58 ` Eli Zaretskii
0 siblings, 0 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-13 14:58 UTC (permalink / raw)
To: Stefan Monnier; +Cc: dmitry, yantar92, 66117
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Ihor Radchenko <yantar92@posteo.net>, dmitry@gutov.dev,
> 66117@debbugs.gnu.org
> Date: Wed, 13 Dec 2023 09:12:39 -0500
>
> >> But it will only solve specific problem with `find-buffer-visiting' and
> >> we can always go for it if we cannot find anything better.
> > Which other popular functions need to loop through all the buffers in
> > Lisp?
>
> Not sure why that matters.
Because if using the setq-local trick solves this problem, we could do
it in those other places as well.
> The performance problem comes from repeated
> uses of `(let ((case-fold-search ..)) ...)` where the repetition can be
> due to anything (not only enumerating buffers).
>
> The "loop through buffers" happens when entering and leaving the `let`,
> because it has to `set/unset` the corresponding filed of the `struct
> buffer` of all the buffers whose `case-fold-search` is "global".
That's not the loop through buffers I had in mind. I meant the loop
in find-buffer-visiting.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-13 14:32 ` Ihor Radchenko
@ 2023-12-13 15:22 ` Eli Zaretskii
2023-12-14 14:20 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-13 15:22 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, mattias.engdegard, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org,
> Mattias Engdegård <mattias.engdegard@gmail.com>
> Date: Wed, 13 Dec 2023 14:32:21 +0000
>
> > Btw, are you aware that many case-insensitive operations in Emacs
> > depend also on the case table in effect, which can also be
> > buffer-local? So case-insensitive operations in Lisp can be
> > unexpectedly affected by stuff like the current buffer. One more
> > reason to use them as little as possible.
>
> ... and syntax-table can be set in text properties; so not just affected
> by current buffer - also by position in buffer.
If you search the buffer text, then having syntax-table on that text
is less surprising: after all, it only affects the text which has this
property.
But buffer-local case-table is much more subtle: it is in effect even
if you match strings, not portions of buffer text, and only because
some buffer _happens_ to be the current buffer when, say, string-match
is called.
> In the past, me and Mattias Engdegård even discussed a possibility to
> incorporate case-fold-search flag into regexps directly
> (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63225#74)
> That way, things would be less affected by the buffer-locals.
Indeed.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-13 15:22 ` Eli Zaretskii
@ 2023-12-14 14:20 ` Ihor Radchenko
2023-12-14 16:40 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-14 14:20 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, mattias.engdegard, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> ... and syntax-table can be set in text properties; so not just affected
>> by current buffer - also by position in buffer.
>
> If you search the buffer text, then having syntax-table on that text
> is less surprising: after all, it only affects the text which has this
> property.
>
> But buffer-local case-table is much more subtle: it is in effect even
> if you match strings, not portions of buffer text, and only because
> some buffer _happens_ to be the current buffer when, say, string-match
> is called.
Good point. I did not even think about this subtlety.
Then, I think that having a global variable like
`case-fold-search-override' could make things more predictable if we
advertise it for let-bindings.
Also, it is much easier to implement.
WDYT?
>> In the past, me and Mattias Engdegård even discussed a possibility to
>> incorporate case-fold-search flag into regexps directly
>> (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63225#74)
>> That way, things would be less affected by the buffer-locals.
>
> Indeed.
There are multiple ways to implement this. Though I think that this part
of the discussion should continue in bug#63225 or even a separate
feature request.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 14:20 ` Ihor Radchenko
@ 2023-12-14 16:40 ` Eli Zaretskii
2023-12-14 17:07 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-14 16:40 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, mattias.engdegard, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org,
> mattias.engdegard@gmail.com
> Date: Thu, 14 Dec 2023 14:20:18 +0000
>
> Then, I think that having a global variable like
> `case-fold-search-override' could make things more predictable if we
> advertise it for let-bindings.
> Also, it is much easier to implement.
> WDYT?
I'd choose a different name (since this is supposed to affect any
matching, not just search).
And then we will need to decide which case-equivalence table this will
use. The current default is affected by language-environment, so it
might not be a good idea (it causes known problems in Turkish locales,
for example). Perhaps we need a new standard kind of table for that.
But for starters, a new Lisp-only global variable should be good, I
think. Stefan, any comments?
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 16:40 ` Eli Zaretskii
@ 2023-12-14 17:07 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 17:14 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-14 17:07 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, Ihor Radchenko, mattias.engdegard, 66117
> But for starters, a new Lisp-only global variable should be good, I
> think. Stefan, any comments?
I must say I don't understand the reasoning behind this.
What would it do different from `case-fold-search`?
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 17:07 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-14 17:14 ` Eli Zaretskii
2023-12-14 18:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 19:15 ` Ihor Radchenko
0 siblings, 2 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-14 17:14 UTC (permalink / raw)
To: Stefan Monnier; +Cc: dmitry, yantar92, mattias.engdegard, 66117
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Ihor Radchenko <yantar92@posteo.net>, dmitry@gutov.dev,
> 66117@debbugs.gnu.org, mattias.engdegard@gmail.com
> Date: Thu, 14 Dec 2023 12:07:13 -0500
>
> > But for starters, a new Lisp-only global variable should be good, I
> > think. Stefan, any comments?
>
> I must say I don't understand the reasoning behind this.
> What would it do different from `case-fold-search`?
It won't be buffer-local-if-changed, so binding it will not be costly.
It also won't be a defcustom, so let-binding it will not step on the
user's preferences.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 17:14 ` Eli Zaretskii
@ 2023-12-14 18:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 18:30 ` Ihor Radchenko
2023-12-14 18:49 ` Eli Zaretskii
2023-12-14 19:15 ` Ihor Radchenko
1 sibling, 2 replies; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-14 18:11 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, yantar92, mattias.engdegard, 66117
>> > But for starters, a new Lisp-only global variable should be good, I
>> > think. Stefan, any comments?
>>
>> I must say I don't understand the reasoning behind this.
>> What would it do different from `case-fold-search`?
>
> It won't be buffer-local-if-changed, so binding it will not be costly.
As mentioned elsewhere in this bug-report we can make `case-fold-search`
into a `DEFVAR_LISP`: it would have no visible impact to ELisp and would
avoid the costly let-bindings.
> It also won't be a defcustom, so let-binding it will not step on the
> user's preferences.
Hmm... when/where do existing let-bindings of `case-fold-search` step on
user settings of that var?
IME the problem is rather the opposite: most calls to search functions
don't explicitly let-bind `case-fold-search` and instead rely naively on
the default value and are thus susceptible to bugs if/when someone sets
the custom var (globally or buffer-locally).
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 18:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-14 18:30 ` Ihor Radchenko
2023-12-14 18:41 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 18:49 ` Eli Zaretskii
1 sibling, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-14 18:30 UTC (permalink / raw)
To: Stefan Monnier; +Cc: dmitry, Eli Zaretskii, mattias.engdegard, 66117
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> It won't be buffer-local-if-changed, so binding it will not be costly.
>
> As mentioned elsewhere in this bug-report we can make `case-fold-search`
> into a `DEFVAR_LISP`: it would have no visible impact to ELisp and would
> avoid the costly let-bindings.
Wouldn't DEFVAR_LISP break major modes that do (setq case-fold-search ...)?
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 18:30 ` Ihor Radchenko
@ 2023-12-14 18:41 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 19:02 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-14 18:41 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, Eli Zaretskii, mattias.engdegard, 66117
>>> It won't be buffer-local-if-changed, so binding it will not be costly.
>> As mentioned elsewhere in this bug-report we can make `case-fold-search`
>> into a `DEFVAR_LISP`: it would have no visible impact to ELisp and would
>> avoid the costly let-bindings.
> Wouldn't DEFVAR_LISP break major modes that do (setq case-fold-search ...)?
No, it makes no difference to Lisp. It only changes the implementation
strategy: DEFVAR_LISP stores the value in a global C variable (which
thus requires more processing when the var is buffer-local, more
specifically updating the C var when we `set-buffer`), whereas
DEFVAR_PER_BUFFER stores the value inside the buffer object (which
thus requires more processing when the var is *not* buffer-local since
the global value is duplicated in all the buffers where it's not made
buffer-local).
DEFVAR_PER_BUFFER are thus the better option for vars which are set
buffer-locally in most buffers whereas DEFVAR_LISP is the better option
for vars which are made buffer-local only in a few buffers.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 18:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 18:30 ` Ihor Radchenko
@ 2023-12-14 18:49 ` Eli Zaretskii
2023-12-14 19:49 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-14 18:49 UTC (permalink / raw)
To: Stefan Monnier; +Cc: dmitry, yantar92, mattias.engdegard, 66117
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: yantar92@posteo.net, dmitry@gutov.dev, 66117@debbugs.gnu.org,
> mattias.engdegard@gmail.com
> Date: Thu, 14 Dec 2023 13:11:58 -0500
>
> >> > But for starters, a new Lisp-only global variable should be good, I
> >> > think. Stefan, any comments?
> >>
> >> I must say I don't understand the reasoning behind this.
> >> What would it do different from `case-fold-search`?
> >
> > It won't be buffer-local-if-changed, so binding it will not be costly.
>
> As mentioned elsewhere in this bug-report we can make `case-fold-search`
> into a `DEFVAR_LISP`: it would have no visible impact to ELisp and would
> avoid the costly let-bindings.
Didn't we just agree that would be a breaking change?
> > It also won't be a defcustom, so let-binding it will not step on the
> > user's preferences.
>
> Hmm... when/where do existing let-bindings of `case-fold-search` step on
> user settings of that var?
Each time we let-bind it in code used in searching and/or matching
commands.
> IME the problem is rather the opposite: most calls to search functions
> don't explicitly let-bind `case-fold-search` and instead rely naively on
> the default value and are thus susceptible to bugs if/when someone sets
> the custom var (globally or buffer-locally).
I don't see that as a bug: the user said he/she wants the search to be
case-insensitive, so they should get what they asked for.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 18:41 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-14 19:02 ` Ihor Radchenko
2023-12-14 19:36 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-14 19:02 UTC (permalink / raw)
To: Stefan Monnier; +Cc: dmitry, Eli Zaretskii, mattias.engdegard, 66117
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>>> It won't be buffer-local-if-changed, so binding it will not be costly.
>>> As mentioned elsewhere in this bug-report we can make `case-fold-search`
>>> into a `DEFVAR_LISP`: it would have no visible impact to ELisp and would
>>> avoid the costly let-bindings.
>> Wouldn't DEFVAR_LISP break major modes that do (setq case-fold-search ...)?
>
> No, it makes no difference to Lisp. It only changes the implementation
> strategy: DEFVAR_LISP stores the value in a global C variable (which
> thus requires more processing when the var is buffer-local, more
> specifically updating the C var when we `set-buffer`), whereas
> DEFVAR_PER_BUFFER stores the value inside the buffer object (which
> thus requires more processing when the var is *not* buffer-local since
> the global value is duplicated in all the buffers where it's not made
> buffer-local).
Do I understand correctly that what is needed to implement your
suggestion is
1. Remove case_fold_search_ slot from buffer objects
2. Use DEFVAR_LISP for case-fold-search
3. Declare case-fold-search buffer-local
4. Replace BVAR(...) references in C with Vcase_fold_search
?
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 17:14 ` Eli Zaretskii
2023-12-14 18:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-14 19:15 ` Ihor Radchenko
2023-12-14 19:56 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-14 19:15 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, mattias.engdegard, Stefan Monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> I must say I don't understand the reasoning behind this.
>> What would it do different from `case-fold-search`?
>
> It won't be buffer-local-if-changed, so binding it will not be costly.
> It also won't be a defcustom, so let-binding it will not step on the
> user's preferences.
In my mind, another benefit is that the new variable will not be
affected by buffer-local values - (let (case-fold-search-override value) ...)
will be guaranteed to use VALUE everywhere, even if current buffer is
changed. This will make the case I described in
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#208 more predictable
(and, since it is a new variable, will not break any existing code).
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 19:02 ` Ihor Radchenko
@ 2023-12-14 19:36 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-15 11:01 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-14 19:36 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, Eli Zaretskii, mattias.engdegard, 66117
>>>>> It won't be buffer-local-if-changed, so binding it will not be costly.
>>>> As mentioned elsewhere in this bug-report we can make `case-fold-search`
>>>> into a `DEFVAR_LISP`: it would have no visible impact to ELisp and would
>>>> avoid the costly let-bindings.
>>> Wouldn't DEFVAR_LISP break major modes that do (setq case-fold-search ...)?
>>
>> No, it makes no difference to Lisp. It only changes the implementation
>> strategy: DEFVAR_LISP stores the value in a global C variable (which
>> thus requires more processing when the var is buffer-local, more
>> specifically updating the C var when we `set-buffer`), whereas
>> DEFVAR_PER_BUFFER stores the value inside the buffer object (which
>> thus requires more processing when the var is *not* buffer-local since
>> the global value is duplicated in all the buffers where it's not made
>> buffer-local).
>
> Do I understand correctly that what is needed to implement your
> suggestion is
>
> 1. Remove case_fold_search_ slot from buffer objects
> 2. Use DEFVAR_LISP for case-fold-search
> 3. Declare case-fold-search buffer-local
> 4. Replace BVAR(...) references in C with Vcase_fold_search
Yes (assuming that 3 refers to the use of `make-variable-buffer-local`).
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 18:49 ` Eli Zaretskii
@ 2023-12-14 19:49 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 20:24 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-14 19:49 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, yantar92, mattias.engdegard, 66117
>> >> > But for starters, a new Lisp-only global variable should be good, I
>> >> > think. Stefan, any comments?
>> >>
>> >> I must say I don't understand the reasoning behind this.
>> >> What would it do different from `case-fold-search`?
>> >
>> > It won't be buffer-local-if-changed, so binding it will not be costly.
>>
>> As mentioned elsewhere in this bug-report we can make `case-fold-search`
>> into a `DEFVAR_LISP`: it would have no visible impact to ELisp and would
>> avoid the costly let-bindings.
> Didn't we just agree that would be a breaking change?
No, when? where?
You might be confusing that proposition to my proposition to make it
always-buffer-local (like `mode-name` or `buffer-file-name`).
>> > It also won't be a defcustom, so let-binding it will not step on the
>> > user's preferences.
>> Hmm... when/where do existing let-bindings of `case-fold-search` step on
>> user settings of that var?
> Each time we let-bind it in code used in searching and/or matching
> commands.
I don't think that true of all those let-binding.
Obviously the mere fact that the let-binding takes precedence means that
we override the user's setting, but that's just an internal technical
detail. To "step on the user's preference" we additionally need
a situation where the user-visible result is not what the user wanted.
Which of those let-binding can really be said to "step on the user's
preference"?
AFAICT most/all the times we do that, it's because we do a search that's
"internal" to some operation and has thus no reason to obey the custom
setting ,which AFAICT is meant to affect interactive uses like Isearch
(tho Isearch doesn't Isearch doesn't pay attention to
`case-fold-search`, AFAICT, so really the user-visible effect of setting
`case-fold-search` is quite limited).
I don't think that when users set `case-fold-search` to t they mean that
indentation and highlighting should treat `STrucT` as a keyword in
C mode, right?
>> IME the problem is rather the opposite: most calls to search functions
>> don't explicitly let-bind `case-fold-search` and instead rely naively on
>> the default value and are thus susceptible to bugs if/when someone sets
>> the custom var (globally or buffer-locally).
>
> I don't see that as a bug: the user said he/she wants the search to be
> case-insensitive, so they should get what they asked for.
But that's only true if the user runs a search command.
If the search is done within a non-search command (e.g. indentation),
then the result is often not what the user wanted.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 19:15 ` Ihor Radchenko
@ 2023-12-14 19:56 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-15 10:19 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-14 19:56 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, Eli Zaretskii, mattias.engdegard, 66117
>>> I must say I don't understand the reasoning behind this.
>>> What would it do different from `case-fold-search`?
>> It won't be buffer-local-if-changed, so binding it will not be costly.
>> It also won't be a defcustom, so let-binding it will not step on the
>> user's preferences.
> In my mind, another benefit is that the new variable will not be
> affected by buffer-local values - (let (case-fold-search-override value) ...)
> will be guaranteed to use VALUE everywhere, even if current buffer is
> changed. This will make the case I described in
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#208 more predictable
> (and, since it is a new variable, will not break any existing code).
But of course, as always it cuts both ways. E.g. if you do
(let ((case-fold-search-override t))
(dolist (buf (buffer-list))
(when (string-match "foo" buffer-file-name)
(do-something))))
your `case-fold-search-override` will override all the careful
`case-fold-search` let-bindings used during the execution of `do-something`
which will likely lead to new bugs.
[ Say, if `do-something` ends up calling `syntax-ppss` which ends up
running `syntax-propertize` which often needs to perform
case-sensitive searches. ]
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 19:49 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-14 20:24 ` Eli Zaretskii
2023-12-14 20:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-14 20:24 UTC (permalink / raw)
To: Stefan Monnier; +Cc: dmitry, yantar92, mattias.engdegard, 66117
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: yantar92@posteo.net, dmitry@gutov.dev, 66117@debbugs.gnu.org,
> mattias.engdegard@gmail.com
> Date: Thu, 14 Dec 2023 14:49:54 -0500
>
> >> As mentioned elsewhere in this bug-report we can make `case-fold-search`
> >> into a `DEFVAR_LISP`: it would have no visible impact to ELisp and would
> >> avoid the costly let-bindings.
> > Didn't we just agree that would be a breaking change?
>
> No, when? where?
>
> You might be confusing that proposition to my proposition to make it
> always-buffer-local (like `mode-name` or `buffer-file-name`).
Maybe. This discussion has enough confusion to confuse everyone.
> >> > It also won't be a defcustom, so let-binding it will not step on the
> >> > user's preferences.
> >> Hmm... when/where do existing let-bindings of `case-fold-search` step on
> >> user settings of that var?
> > Each time we let-bind it in code used in searching and/or matching
> > commands.
>
> I don't think that true of all those let-binding.
Not all, just some.
> Obviously the mere fact that the let-binding takes precedence means that
> we override the user's setting, but that's just an internal technical
> detail. To "step on the user's preference" we additionally need
> a situation where the user-visible result is not what the user wanted.
Yes, and you are sure there aren't such cases, what with our
willy-nilly binding this variable whenever we need that?
> AFAICT most/all the times we do that, it's because we do a search that's
> "internal" to some operation and has thus no reason to obey the custom
> setting ,which AFAICT is meant to affect interactive uses like Isearch
> (tho Isearch doesn't Isearch doesn't pay attention to
> `case-fold-search`, AFAICT, so really the user-visible effect of setting
> `case-fold-search` is quite limited).
This is wishful thinking not based by any data.
> >> IME the problem is rather the opposite: most calls to search functions
> >> don't explicitly let-bind `case-fold-search` and instead rely naively on
> >> the default value and are thus susceptible to bugs if/when someone sets
> >> the custom var (globally or buffer-locally).
> >
> > I don't see that as a bug: the user said he/she wants the search to be
> > case-insensitive, so they should get what they asked for.
>
> But that's only true if the user runs a search command.
That's what I had in mind, and even said so.
> If the search is done within a non-search command (e.g. indentation),
> then the result is often not what the user wanted.
My point is that we use case-fold-search for two different purposes,
and so it is good to have 2 variables, one each for every purpose.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 20:24 ` Eli Zaretskii
@ 2023-12-14 20:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 21:32 ` Dmitry Gutov
0 siblings, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-14 20:57 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, yantar92, mattias.engdegard, 66117
> Maybe. This discussion has enough confusion to confuse everyone.
I've already been fooled more than once in this thread, indeed :-)
>> Obviously the mere fact that the let-binding takes precedence means that
>> we override the user's setting, but that's just an internal technical
>> detail. To "step on the user's preference" we additionally need
>> a situation where the user-visible result is not what the user wanted.
>
> Yes, and you are sure there aren't such cases,
Oh, no, I'm definitely not sure, but since fixing this problem was cited
as part of the motivation for the introduction of
`case-fold-search-override`, I hope we have at least one or two concrete
cases showing that it's a real problem.
>> AFAICT most/all the times we do that, it's because we do a search that's
>> "internal" to some operation and has thus no reason to obey the custom
>> setting, which AFAICT is meant to affect interactive uses like Isearch
>> (tho Isearch doesn't Isearch doesn't pay attention to
>> `case-fold-search`, AFAICT, so really the user-visible effect of setting
>> `case-fold-search` is quite limited).
> This is wishful thinking not based by any data.
Really? There are many let-bindings of `case-fold-search` in the tree,
so it's hard to get a clear picture, but a random sampling of them
suggests they mostly wrap searches where the regexps are not provided by
the user but by the wrapped code (they're typically hard-coded).
Admittedly, that doesn't mean that it would be wrong to obey the user's choice
of `case-fold-search` there, but I think it clearly leans this way.
>> >> IME the problem is rather the opposite: most calls to search functions
>> >> don't explicitly let-bind `case-fold-search` and instead rely naively on
>> >> the default value and are thus susceptible to bugs if/when someone sets
>> >> the custom var (globally or buffer-locally).
>> > I don't see that as a bug: the user said he/she wants the search to be
>> > case-insensitive, so they should get what they asked for.
>> But that's only true if the user runs a search command.
> That's what I had in mind, and even said so.
But I was talking about code which performs a search that's internal to
the command rather than being the purpose of the command. Things like
searches performed during indentation, searches performed to parse
the output of processes, ...
>> If the search is done within a non-search command (e.g. indentation),
>> then the result is often not what the user wanted.
> My point is that we use case-fold-search for two different purposes,
> and so it is good to have 2 variables, one each for every purpose.
We do use it for 2 different purposes, indeed.
And I have seen this lead to bugs.
But the bugs I recall went in the direction "user setting unexpectedly
affecting internal searches" rather than "let-binding unexpected
affecting user searches".
I must admit that I can't point to concrete examples of the kind of bugs
"I recall". But I don't know of examples of bugs caused by let-bindings
overriding user settings either.
So all in all, this seems like a weak justification for any change.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 20:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-14 21:32 ` Dmitry Gutov
2023-12-14 23:03 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 162+ messages in thread
From: Dmitry Gutov @ 2023-12-14 21:32 UTC (permalink / raw)
To: Stefan Monnier, Eli Zaretskii; +Cc: yantar92, mattias.engdegard, 66117
On 14/12/2023 22:57, Stefan Monnier wrote:
> But the bugs I recall went in the direction "user setting unexpectedly
> affecting internal searches" rather than "let-binding unexpected
> affecting user searches".
>
> I must admit that I can't point to concrete examples of the kind of bugs
> "I recall".
You just pointed at one in company-dabbrev several messages ago.
Nobody ever reported this, though, so I have to assume that "user
settings" for case-fold-search are rare enough.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 21:32 ` Dmitry Gutov
@ 2023-12-14 23:03 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-14 23:03 UTC (permalink / raw)
To: Dmitry Gutov; +Cc: Eli Zaretskii, mattias.engdegard, yantar92, 66117
Dmitry Gutov [2023-12-14 23:32:01] wrote:
> On 14/12/2023 22:57, Stefan Monnier wrote:
>> But the bugs I recall went in the direction "user setting unexpectedly
>> affecting internal searches" rather than "let-binding unexpected
>> affecting user searches".
>> I must admit that I can't point to concrete examples of the kind of bugs
>> "I recall".
>
> You just pointed at one in company-dabbrev several messages ago.
> Nobody ever reported this, though, so I have to assume that "user settings"
> for case-fold-search are rare enough.
I suspect that buffer-local settings are indeed rare, and I'd
expect them to come from packages rather than from users.
I was instead thinking of cases where the global setting (more likely to
be set by the user) incorrectly affected a package's behavior.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 19:56 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-15 10:19 ` Ihor Radchenko
0 siblings, 0 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-15 10:19 UTC (permalink / raw)
To: Stefan Monnier; +Cc: dmitry, Eli Zaretskii, mattias.engdegard, 66117
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> In my mind, another benefit is that the new variable will not be
>> affected by buffer-local values - (let (case-fold-search-override value) ...)
>> will be guaranteed to use VALUE everywhere, even if current buffer is
>> changed. This will make the case I described in
>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#208 more predictable
>> (and, since it is a new variable, will not break any existing code).
>
> But of course, as always it cuts both ways. E.g. if you do
>
> (let ((case-fold-search-override t))
> (dolist (buf (buffer-list))
> (when (string-match "foo" buffer-file-name)
> (do-something))))
>
> your `case-fold-search-override` will override all the careful
> `case-fold-search` let-bindings used during the execution of `do-something`
> which will likely lead to new bugs.
Good point. I was hoping that together with this new variable we also
add a compiler warning encouraging to use the case-fold-search-override
_instead_ of case-fold-search everywhere. But I can indeed see how
people can get even more confused in such scenario.
Within the scope of this particular bug report, I am now leaning more
towards your idea with DEFVAR_LISP then.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-14 19:36 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-15 11:01 ` Ihor Radchenko
2023-12-15 13:47 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 6:04 ` Eli Zaretskii
0 siblings, 2 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-15 11:01 UTC (permalink / raw)
To: Stefan Monnier; +Cc: dmitry, Eli Zaretskii, mattias.engdegard, 66117
[-- Attachment #1: Type: text/plain, Size: 1477 bytes --]
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> Do I understand correctly that what is needed to implement your
>> suggestion is
>>
>> 1. Remove case_fold_search_ slot from buffer objects
>> 2. Use DEFVAR_LISP for case-fold-search
>> 3. Declare case-fold-search buffer-local
>> 4. Replace BVAR(...) references in C with Vcase_fold_search
>
> Yes (assuming that 3 refers to the use of `make-variable-buffer-local`).
See the attached patch.
I used my `find-buffer-visiting' benchmark
(dolist (file (directory-files "/tmp/test/" t "txt"))
(find-file-noselect file))
Without the patch: 10.3 sec
With the patch: 7.0 sec
Without the patch, the reverse profiler tree is
2728 26% Automatic GC
1187 11% + abbreviate-file-name ;; <---
1080 10% + inhibit-local-variables-p ;; <---
913 8% + uniquify-rationalize-file-buffer-names
816 7% + find-buffer-visiting
547 5% + locate-dominating-file
With the patch, the `abbreviate-file-name' and
`inhibit-local-variables-p' no longer appear on top
2559 35% Automatic GC
892 12% + uniquify-rationalize-file-buffer-names
704 9% + find-buffer-visiting
473 6% + locate-dominating-file
295 4% + dir-locals--all-files
241 3% + generate-new-buffer
219 3% + file-truename
169 2% + inhibit-local-variables-p
128 1% + abbreviate-file-name
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Improve-performance-let-binding-case-fold-search-bug.patch --]
[-- Type: text/x-patch, Size: 8182 bytes --]
From fb7677be03e8c49d6a549f0d993b4df6f0ea404d Mon Sep 17 00:00:00 2001
Message-ID: <fb7677be03e8c49d6a549f0d993b4df6f0ea404d.1702638101.git.yantar92@posteo.net>
From: Ihor Radchenko <yantar92@posteo.net>
Date: Fri, 15 Dec 2023 11:47:45 +0100
Subject: [PATCH] Improve performance let-binding `case-fold-search'
(bug#66117)
* src/buffer.h: Remove case_fold_search_ buffer object slot.
* src/buffer.c (bset_case_fold_search): Remove - no longer needed.
(init_buffer_once): Remove removed buffer slot init.
(syms_of_buffer): Use DEFVAR_LISP to define `case-fold-search' and
declare it buffer-local.
* src/minibuf.c (syms_of_minibuf): Remove DEFSYM call for
`case-fold-search' symbol. It now lives in `syms_of_buffer'.
* src/editfns.c (Fcompare_buffer_substrings):
(Fchar_equal):
* src/search.c (looking_at_1):
(string_match_1):
(search_command):
(Fre__describe_compiled): Adjust C queries to `case-fold-search' value
to use C globals instead of BVAR macro.
* doc/lispref/internals.texi (Buffer Internals): Do not list
`case_fold_search' slot.
See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#259
When used as buffer slot, let-binding `case-fold-search' would scale
with the number of live buffers and can be slow. This change makes
let-binding much faster at the cost of slightly slower `set-buffer'.
---
doc/lispref/internals.texi | 1 -
src/buffer.c | 17 ++++++-----------
src/buffer.h | 1 -
src/editfns.c | 4 ++--
src/minibuf.c | 1 -
src/search.c | 10 +++++-----
6 files changed, 13 insertions(+), 21 deletions(-)
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi
index 1fba683223e..4b4edda6d46 100644
--- a/doc/lispref/internals.texi
+++ b/doc/lispref/internals.texi
@@ -2519,7 +2519,6 @@ Buffer Internals
@item mode_line_format
@itemx header_line_format
-@itemx case_fold_search
@itemx tab_width
@itemx fill_column
@itemx left_margin
diff --git a/src/buffer.c b/src/buffer.c
index 12f226d8249..919c470d9e5 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -210,11 +210,6 @@ bset_buffer_file_coding_system (struct buffer *b, Lisp_Object val)
b->buffer_file_coding_system_ = val;
}
static void
-bset_case_fold_search (struct buffer *b, Lisp_Object val)
-{
- b->case_fold_search_ = val;
-}
-static void
bset_ctl_arrow (struct buffer *b, Lisp_Object val)
{
b->ctl_arrow_ = val;
@@ -4692,7 +4687,6 @@ init_buffer_once (void)
XSETFASTINT (BVAR (&buffer_local_flags, mode_line_format), idx); ++idx;
XSETFASTINT (BVAR (&buffer_local_flags, abbrev_mode), idx); ++idx;
XSETFASTINT (BVAR (&buffer_local_flags, overwrite_mode), idx); ++idx;
- XSETFASTINT (BVAR (&buffer_local_flags, case_fold_search), idx); ++idx;
XSETFASTINT (BVAR (&buffer_local_flags, auto_fill_function), idx); ++idx;
XSETFASTINT (BVAR (&buffer_local_flags, selective_display), idx); ++idx;
XSETFASTINT (BVAR (&buffer_local_flags, selective_display_ellipses), idx); ++idx;
@@ -4785,7 +4779,6 @@ init_buffer_once (void)
bset_tab_line_format (&buffer_defaults, Qnil);
bset_abbrev_mode (&buffer_defaults, Qnil);
bset_overwrite_mode (&buffer_defaults, Qnil);
- bset_case_fold_search (&buffer_defaults, Qt);
bset_auto_fill_function (&buffer_defaults, Qnil);
bset_selective_display (&buffer_defaults, Qnil);
bset_selective_display_ellipses (&buffer_defaults, Qt);
@@ -5215,10 +5208,6 @@ syms_of_buffer (void)
doc: /* Non-nil if Abbrev mode is enabled.
Use the command `abbrev-mode' to change this variable. */);
- DEFVAR_PER_BUFFER ("case-fold-search", &BVAR (current_buffer, case_fold_search),
- Qnil,
- doc: /* Non-nil if searches and matches should ignore case. */);
-
DEFVAR_PER_BUFFER ("fill-column", &BVAR (current_buffer, fill_column),
Qintegerp,
doc: /* Column beyond which automatic line-wrapping should happen.
@@ -5951,6 +5940,12 @@ Functions (implicitly) running this hook are `get-buffer-create',
This is the default. If nil, auto-save file deletion is inhibited. */);
delete_auto_save_files = 1;
+ DEFVAR_LISP ("case-fold-search", Vcase_fold_search,
+ doc: /* Non-nil if searches and matches should ignore case. */);
+ Vcase_fold_search = Qt;
+ DEFSYM (Qcase_fold_search, "case-fold-search");
+ Fmake_variable_buffer_local (Qcase_fold_search);
+
DEFVAR_LISP ("clone-indirect-buffer-hook", Vclone_indirect_buffer_hook,
doc: /* Normal hook to run in the new buffer at the end of `make-indirect-buffer'.
diff --git a/src/buffer.h b/src/buffer.h
index b2bd15657dc..399c6585158 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -379,7 +379,6 @@ #define BVAR(buf, field) ((buf)->field ## _)
/* Values of several buffer-local variables. */
/* tab-width is buffer-local so that redisplay can find it
in buffers that are not current. */
- Lisp_Object case_fold_search_;
Lisp_Object tab_width_;
Lisp_Object fill_column_;
Lisp_Object left_margin_;
diff --git a/src/editfns.c b/src/editfns.c
index 49d552c4a75..aa410ea7091 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -1785,7 +1785,7 @@ DEFUN ("compare-buffer-substrings", Fcompare_buffer_substrings, Scompare_buffer_
register EMACS_INT begp1, endp1, begp2, endp2, temp;
register struct buffer *bp1, *bp2;
register Lisp_Object trt
- = (!NILP (BVAR (current_buffer, case_fold_search))
+ = (!NILP (Vcase_fold_search)
? BVAR (current_buffer, case_canon_table) : Qnil);
ptrdiff_t chars = 0;
ptrdiff_t i1, i2, i1_byte, i2_byte;
@@ -4367,7 +4367,7 @@ DEFUN ("char-equal", Fchar_equal, Schar_equal, 2, 2, 0,
if (XFIXNUM (c1) == XFIXNUM (c2))
return Qt;
- if (NILP (BVAR (current_buffer, case_fold_search)))
+ if (NILP (Vcase_fold_search))
return Qnil;
i1 = XFIXNAT (c1);
diff --git a/src/minibuf.c b/src/minibuf.c
index 58adde1bf66..0d5b375e450 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -2320,7 +2320,6 @@ syms_of_minibuf (void)
DEFSYM (Qcurrent_input_method, "current-input-method");
DEFSYM (Qactivate_input_method, "activate-input-method");
- DEFSYM (Qcase_fold_search, "case-fold-search");
DEFSYM (Qmetadata, "metadata");
DEFSYM (Qcycle_sort_function, "cycle-sort-function");
diff --git a/src/search.c b/src/search.c
index 2996d32fca1..75a67ff3223 100644
--- a/src/search.c
+++ b/src/search.c
@@ -281,7 +281,7 @@ looking_at_1 (Lisp_Object string, bool posix, bool modify_data)
struct regexp_cache *cache_entry = compile_pattern (
string,
modify_match_data ? &search_regs : NULL,
- (!NILP (BVAR (current_buffer, case_fold_search))
+ (!NILP (Vcase_fold_search)
? BVAR (current_buffer, case_canon_table) : Qnil),
posix,
!NILP (BVAR (current_buffer, enable_multibyte_characters)));
@@ -402,7 +402,7 @@ string_match_1 (Lisp_Object regexp, Lisp_Object string, Lisp_Object start,
struct regexp_cache *cache_entry
= compile_pattern (regexp,
modify_match_data ? &search_regs : NULL,
- (!NILP (BVAR (current_buffer, case_fold_search))
+ (!NILP (Vcase_fold_search)
? BVAR (current_buffer, case_canon_table)
: Qnil),
posix,
@@ -1068,10 +1068,10 @@ search_command (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror,
BVAR (current_buffer, case_eqv_table));
np = search_buffer (string, PT, PT_BYTE, lim, lim_byte, n, RE,
- (!NILP (BVAR (current_buffer, case_fold_search))
+ (!NILP (Vcase_fold_search)
? BVAR (current_buffer, case_canon_table)
: Qnil),
- (!NILP (BVAR (current_buffer, case_fold_search))
+ (!NILP (Vcase_fold_search)
? BVAR (current_buffer, case_eqv_table)
: Qnil),
posix);
@@ -3402,7 +3402,7 @@ DEFUN ("re--describe-compiled", Fre__describe_compiled, Sre__describe_compiled,
{
struct regexp_cache *cache_entry
= compile_pattern (regexp, NULL,
- (!NILP (BVAR (current_buffer, case_fold_search))
+ (!NILP (Vcase_fold_search)
? BVAR (current_buffer, case_canon_table) : Qnil),
false,
!NILP (BVAR (current_buffer,
--
2.42.0
[-- Attachment #3: profile-w-case-fold-search-patch --]
[-- Type: application/octet-stream, Size: 34196 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 217 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 10 [line-move-visual line-move next-line funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 3 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 6 [elisp--preceding-sexp elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 8 [directory-files let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil] 3 [file-truename file-truename find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 50 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0x17cf61feae7188b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 87 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0x1e8d619185a0b090>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 105 [file-truename file-truename find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 37 [file-truename find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 49 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 37 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 52 [vc-file-getprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x73a6e7a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 27 [find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 704 [file-exists-p "#<compiled 0xd938658982c0f40>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x12a466e7a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 32 [search-forward find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 22 [set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 10 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 144 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled 0x124f119185a0b090>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 107 [file-truename file-truename file-truename find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 37 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 3 [abbreviate-file-name find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 36 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 53 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 28 [search-forward hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 10 [file-exists-p "#<compiled -0x728023b67d3f0c0>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x18776d9185a0b0f0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 40 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x3e9be6e7a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 21 [insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 59 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 25 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp] 17 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 892 [file-remote-p hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [file-truename find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 26 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_139>" backtrace-frame called-interactively-p getenv vc-sccs-search-project-dir vc-possible-master "#<compiled 0x266cd25542c0f40>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x2ba41fa7a5f4f70>" mapc vc-registered vc-backend] 3 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 35 [inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 31 [find-file-name-handler make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 7 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 151 ["#<compiled 0x198003143d09>" add-hook text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp] 3 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval] 24 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled -0x7fce9fa7a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 93 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 41 [vc-make-backend-sym vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x16afe1feae7188b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 8 [font-lock-specified-p font-lock-initial-fontify font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 3 [cdr uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 31 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 32 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 10 [file-readable-p vc-cvs-registered vc-call-backend "#<compiled -0x8e9cc67a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval] 21 [expand-file-name vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 6 [file-remote-p hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 20 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 49 [global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 10 [make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [file-exists-p "#<compiled 0xc5e884b802c0f40>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x124b6f3985a0b090>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 47 [after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 3 [string-prefix-p create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 3 [vc-file-setprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 13 [vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x7f9bcc67a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval] 7 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 12 [file-writable-p after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 10 [file-attributes find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 28 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 9 [uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 23 [buffer-file-name run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp] 4 [get-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 97 [font-lock-mode font-lock-change-mode text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp] 8 [generate-new-buffer create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 237 [backtrace-frame called-interactively-p font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 3 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 26 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x61e907e7a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 10 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled -0x1aa7a1feae7188b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 6 [vc-file-getprop vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [file-name-directory find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 6 [file-name-sans-versions inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 10 [hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [file-remote-p set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 25 [getenv vc-sccs-search-project-dir vc-possible-master "#<compiled 0xd4a8056082c0f40>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x12c9c7e7a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file] 4 [format vc-possible-master "#<compiled -0x733dee1f7d3f0c0>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x186e6b8185a0b0f0>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 6 [global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 4 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 25 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 32 [vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x15d721feae7188b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [file-remote-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 9 [file-truename file-truename file-truename find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 20 [backup-file-name-p after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 9 [make-symbol seq-filter hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 16 [create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 16 [dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 11 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x6d33f167a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 3 [abbreviate-file-name find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 28 [files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 13 [add-hook text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 13 [search-backward hack-local-variables--find-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval] 8 [find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 7 [vc-cvs-registered vc-call-backend "#<compiled -0x631bb167a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 3 [dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 9 [find-file-name-handler vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 7 [expand-file-name find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 8 [run-hooks generate-new-buffer create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [uniquify-rationalize-conflicting-sublist uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 44 [files--transform-file-name make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 6 [search-forward hack-local-variables--find-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval] 3 [add-hook global-eldoc-mode-cmhh kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 7 [vc-possible-master "#<compiled 0x396a52124bc0f40>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x63092720a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 4 [file-directory-p find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 10 ["#<compiled 0xb55a1be80946f>" files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [make-closure seq-filter hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [directory-abbrev-apply abbreviate-file-name find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [expand-file-name vc-cvs-registered vc-call-backend "#<compiled -0x3a9cda0a5f4f70>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval] 10 [run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 28 [find-new-buffer-file-coding-system after-insert-file-set-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [seq-map seq-filter hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [hack-local-variables-filter hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 3 [called-interactively-p font-lock-mode font-lock-change-mode text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 6 [boundp run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp] 3 [file-modes after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 7 [text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 10 [format-decode insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 10 [epa-file-find-file-hook run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 4 [add-hook font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 4 [hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval] 8 [eldoc--supported-p turn-on-eldoc-mode global-eldoc-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval] 7 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 13 [sgml-xml-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [vc-bzr-registered vc-call-backend "#<compiled -0xcba4a1feae7188b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 4 [file-name-directory vc-cvs-registered vc-call-backend "#<compiled -0xd99761feae7188b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval] 4 [global-eldoc-mode-enable-in-buffers run-hooks run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 3 [format vc-possible-master "#<compiled 0x1e5ca410a7bcc3ae>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled -0x185bda1feae7188b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 3 [vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 ["#<compiled -0x107d1a1feae7188b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [vc-make-backend-sym vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x115dce1feae7188b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [file-name-directory vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 3 [set-match-data "#<compiled 0xb55a1be80946f>" abbreviate-file-name find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [find-file-name-handler make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [uniquify-get-proposed-name uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [vc-git-registered vc-call-backend "#<compiled -0x118d0a1feae7188b>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 3 [generate-new-buffer substitute-command-keys elisp-get-fnsym-args-string elisp-eldoc-funcall "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_17>" eldoc-documentation-default eldoc--invoke-strategy eldoc-print-current-symbol-info "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>" apply timer-event-handler nil nil nil nil nil] 4 [jit-lock-context-fontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 10 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 30 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 49 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled -0x1048322f406168fc>" "#<compiled -0x15c4c924921fbaaa>" mapc seq-do seq-some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled -0xb6451129451c6af>" apply "#<compiled -0xf46f2532b39362>"] 10 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_48>" self-insert-command funcall-interactively command-execute completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil] 2 [execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil nil] 4 [Automatic\ GC nil] 2559 [profiler-report funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 3)) (25980 11781 34132 425000) nil]
[-- Attachment #4: profile-without-case-fold-search-patch --]
[-- Type: application/octet-stream, Size: 33179 bytes --]
[profiler-profile "28.1" cpu #s(hash-table size 217 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([profiler-start funcall-interactively command-execute execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 3 [redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 7 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 10 [directory-files let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil nil nil nil] 4 [file-remote-p hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 19 [file-truename file-truename file-truename find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 9 [abbreviate-file-name locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled 0x1e4a8fa6e03375cf>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 126 [locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled 0x1f2cdba6e03375c3>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 122 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval] 6 [file-remote-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 22 [locate-dominating-file vc-find-root vc-git-registered vc-call-backend "#<compiled 0x38cbdfb39102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 84 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 151 [locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled -0x1e6004f27887a83f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 129 [uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 913 [string-match assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 54 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 55 [file-name-sans-versions inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 12 [string-match vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 12 [file-truename find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 47 [sgml-html-meta-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 115 [locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 57 [locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled 0x48aadfb39102d32>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 100 [inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 204 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 179 [font-lock-default-function font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp] 3 [file-modes after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 15 [file-remote-p hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [getenv vc-sccs-search-project-dir vc-possible-master "#<compiled 0xdeb8f89e02c0f40>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x133f5fb39102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file] 13 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp] 27 [dir-locals--all-files locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 133 [find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 816 [inhibit-local-variables-p set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 177 [file-truename file-truename find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 36 [inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 188 [inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 171 [file-exists-p "#<compiled -0x4791039e3d3f0c0>" mapcar vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled 0x698a27739102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 11 [set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 424 [file-exists-p "#<compiled -0x47a5525e3d3f0c0>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x6888e7739102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 30 [file-truename find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 50 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 159 [expand-file-name vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 18 [font-lock-mode font-lock-change-mode text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp] 4 [file-exists-p "#<compiled -0x4c10409e3d3f0c0>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x1cc94d88c6efd2c9>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 56 [insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 104 [auto-coding-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 144 [set-auto-mode-1 hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 11 [file-writable-p after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 6 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled 0x6c2027739102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 3 [file-name-directory vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 28 [font-lock-mode-set-explicitly font-lock-mode font-lock-change-mode text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 3 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 32 [format-decode insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 14 [generate-new-buffer create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 176 [file-name-directory find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 3 [format vc-possible-master "#<compiled -0x1743edcf90433c52>" mapcar vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled -0x1e7208f27887a83f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1] 3 [find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 110 [get-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 86 [files--transform-file-name make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 23 [hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 165 [vc-possible-master "#<compiled -0x471f5ecb7d3f0c0>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x68fea9339102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect] 4 [inhibit-local-variables-p hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 161 [remove-hook font-lock-mode font-lock-change-mode text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 4 [set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [hack-local-variables--find-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 123 [file-truename file-truename find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 26 [file-name-sans-versions inhibit-local-variables-p hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval] 32 [find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 14 [file-attributes find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 42 [vc-file-getprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 9 [abbreviate-file-name find-buffer-visiting find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 120 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x6c2058f39102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 18 [abbreviate-file-name locate-dominating-file vc-find-root vc-svn-registered vc-call-backend "#<compiled -0x1cf5d670c6efd2c9>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 130 [make-closure seq-filter hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 3 [set-auto-mode-1 set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 6 [abbreviate-file-name find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 241 [global-eldoc-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 [vc-file-setprop vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 6 [text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 10 [dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [expand-file-name find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 14 [file-remote-p set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 13 [font-lock-mode-set-explicitly font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 3 [abbreviate-file-name locate-dominating-file dir-locals-find-file hack-dir-local--get-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 120 [abbreviate-file-name locate-dominating-file vc-find-root vc-bzr-registered vc-call-backend "#<compiled 0x190a5a739102d32>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 153 [vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [search-forward hack-local-variables--find-variables hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [file-directory-p find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 13 [files--transform-file-name make-lock-file-name insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 10 [auto-coding-regexp-alist-lookup find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 7 [file-truename file-truename file-truename find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 15 [dir-locals-find-file hack-dir-local--get-variables hack-dir-local-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let] 12 [backtrace-frame called-interactively-p font-lock-mode font-lock-change-mode text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval] 4 [called-interactively-p getenv vc-sccs-search-project-dir vc-possible-master "#<compiled 0xdeb8d25782c0f40>" mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0x133ede339102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks] 3 [add-hook text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 16 [create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 9 [uniquify-rationalize-conflicting-sublist uniquify-rationalize-a-list uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 52 [abbreviate-file-name locate-dominating-file vc-find-root vc-hg-registered vc-call-backend "#<compiled 0x134855b39102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 138 [warn-maybe-out-of-memory find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil nil] 3 [file-name-sans-versions set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 10 [set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 10 [cdr uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 38 [file-name-nondirectory vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x4a88c5739102d32>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 7 [files--transform-file-name make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 10 [font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 6 [uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 15 [auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [vc-file-getprop vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 6 [find-file-name-handler vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute] 4 [vc-check-master-templates vc-default-registered vc-rcs-registered vc-call-backend "#<compiled 0x39abe9f09102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 3 [assoc-default set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 7 [set-match-data "#<compiled 0xa90267489102f>" abbreviate-file-name find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 4 [hack-local-variables-prop-line hack-local-variables set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 4 [called-interactively-p font-lock-mode font-lock-change-mode text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 4 [backup-file-name-p after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 7 [file-newer-than-file-p after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 22 [vc-file-clearprops vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 20 [file-name-directory vc-check-master-templates vc-default-registered vc-src-registered vc-call-backend "#<compiled 0xa629ef09102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 4 [file-readable-p vc-cvs-registered vc-call-backend "#<compiled 0x640af7309102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval] 10 [find-file-name-handler make-auto-save-file-name after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 7 [search-forward hack-local-variables--find-variables hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval] 3 [called-interactively-p font-lock-mode turn-on-font-lock turn-on-font-lock-if-desired global-font-lock-mode-enable-in-buffers run-hooks run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let] 3 [vc-src-registered vc-call-backend "#<compiled 0x46a0f7309102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 3 [vc-cvs-registered vc-call-backend "#<compiled 0x152237309102d34>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 3 [file-name-sans-versions inhibit-local-variables-p set-auto-mode-1 hack-local-variables-prop-line hack-local-variables run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while] 10 [sgml-xml-auto-coding-function find-auto-coding set-auto-coding insert-file-contents find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 6 [make-local-variable find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 4 [normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil] 3 [uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil nil nil] 4 [vc-make-backend-sym vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x1b3ac8f27887a83f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled -0x1b8fe4f27887a83f>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let] 4 [add-hook global-eldoc-mode-cmhh kill-all-local-variables normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [alist-get "#<compiled 0x114f2821288fffce>" add-hook text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp] 4 [uniquify-get-proposed-name uniquify-rationalize uniquify-rationalize-file-buffer-names uniquify--create-file-buffer-advice create-file-buffer find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil] 3 ["#<compiled 0xa90267489102f>" files--transform-file-name make-auto-save-file-name auto-save-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil] 3 [mapcar vc-check-master-templates vc-default-registered vc-sccs-registered vc-call-backend "#<compiled 0xd08f30d877857c1>" mapc vc-registered vc-backend vc-refresh-state run-hooks after-find-file find-file-noselect-1 find-file-noselect let while] 3 [epa-file-find-file-hook run-hooks after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively command-execute nil nil nil] 3 [run-mode-hooks text-mode set-auto-mode-0 set-auto-mode--apply-alist set-auto-mode normal-mode after-find-file find-file-noselect-1 find-file-noselect let while let eval elisp--eval-last-sexp eval-last-sexp funcall-interactively] 4 [message eldoc-minibuffer-message eldoc--message eldoc-display-in-echo-area run-hook-with-args "#<compiled 0x27907d0a087bf5e>" "#<compiled 0x468067b6eff0465>" elisp-eldoc-funcall "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_17>" eldoc-documentation-default eldoc--invoke-strategy eldoc-print-current-symbol-info "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_12>" apply timer-event-handler nil] 7 [jit-lock-context-fontify "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 10 [completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil nil] 8 [redisplay_internal\ \(C\ function\) completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil nil] 15 [try-completion complete-with-action "#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_54>" completion-basic-try-completion "#<compiled 0xc85b8b0eae69704>" "#<compiled -0x15f6f320592fc4ea>" mapc seq-do seq-some completion--nth-completion completion-try-completion completion--do-completion completion--in-region-1 "#<compiled -0x1c744f21551eda96>" apply "#<compiled -0x561067063d0ba2>"] 19 [minibuffer-hide-completions completion--do-completion completion--in-region-1 "#<compiled -0x1c744f21551eda96>" apply "#<compiled -0x561067063d0ba2>" completion--in-region completion-in-region minibuffer-complete funcall-interactively command-execute completing-read-default read-extended-command-1 read-extended-command byte-code command-execute] 3 [interactive-form command-execute completing-read-default read-extended-command-1 read-extended-command byte-code command-execute nil nil nil nil nil nil nil nil nil] 1 [execute-extended-command funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil nil nil] 6 [Automatic\ GC nil] 2728)) (25980 11901 629500 322000) nil]
[-- Attachment #5: Type: text/plain, Size: 224 bytes --]
--
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 related [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-15 11:01 ` Ihor Radchenko
@ 2023-12-15 13:47 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 6:04 ` Eli Zaretskii
1 sibling, 0 replies; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-15 13:47 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, Eli Zaretskii, mattias.engdegard, 66117
> See the attached patch.
LGTM,
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-15 11:01 ` Ihor Radchenko
2023-12-15 13:47 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-17 6:04 ` Eli Zaretskii
2023-12-17 6:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-17 6:04 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, mattias.engdegard, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: Eli Zaretskii <eliz@gnu.org>, dmitry@gutov.dev, 66117@debbugs.gnu.org,
> mattias.engdegard@gmail.com
> Date: Fri, 15 Dec 2023 11:01:53 +0000
>
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
> >> Do I understand correctly that what is needed to implement your
> >> suggestion is
> >>
> >> 1. Remove case_fold_search_ slot from buffer objects
> >> 2. Use DEFVAR_LISP for case-fold-search
> >> 3. Declare case-fold-search buffer-local
> >> 4. Replace BVAR(...) references in C with Vcase_fold_search
> >
> > Yes (assuming that 3 refers to the use of `make-variable-buffer-local`).
>
> See the attached patch.
Thanks, but I wonder what, if anything, we should say about this
change in NEWS? Also, do any of the manuals require any changes wrt
this?
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 6:04 ` Eli Zaretskii
@ 2023-12-17 6:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 8:30 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-17 6:11 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, Ihor Radchenko, mattias.engdegard, 66117
> Thanks, but I wonder what, if anything, we should say about this
> change in NEWS? Also, do any of the manuals require any changes wrt
> this?
AFAIK this is a purely internal change with no visible effect at the
ELisp level other than a slightly different performance profile when
accessing `case-fold-search` (barring subtle inconsistencies in our
implementation of let/setq/symbol-value, of course).
So, I think it doesn't require any change in the docs or the etc/NEWS.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 6:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-17 8:30 ` Eli Zaretskii
2023-12-17 10:31 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-17 8:30 UTC (permalink / raw)
To: Stefan Monnier; +Cc: dmitry, yantar92, mattias.engdegard, 66117
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Ihor Radchenko <yantar92@posteo.net>, dmitry@gutov.dev,
> 66117@debbugs.gnu.org, mattias.engdegard@gmail.com
> Date: Sun, 17 Dec 2023 01:11:46 -0500
>
> > Thanks, but I wonder what, if anything, we should say about this
> > change in NEWS? Also, do any of the manuals require any changes wrt
> > this?
>
> AFAIK this is a purely internal change with no visible effect at the
> ELisp level
??? Then what were these about:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#199
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#217
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#283
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#295
It sounds like there will be some effect on some Lisp programs, at
least in some cases, and if so, we should mention those cases, even if
we think they are rare.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 8:30 ` Eli Zaretskii
@ 2023-12-17 10:31 ` Ihor Radchenko
2023-12-17 10:36 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-17 10:31 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, mattias.engdegard, Stefan Monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> AFAIK this is a purely internal change with no visible effect at the
>> ELisp level
> It sounds like there will be some effect on some Lisp programs, at
> least in some cases, and if so, we should mention those cases, even if
> we think they are rare.
We have discussed a number of approaches to handle the let-binding
performance and to handle sometimes-confusing behaviour of
`case-fold-search'. Most of them had problems with breaking the existing
behaviour or potentially causing unexpected side effects. Except the one
I used in the patch.
The messages you linked to discuss problems with _other_ proposed
approaches.
> ??? Then what were these about:
>
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#199
This is about an idea to make let-binding the `case-fold-search' affect
current buffer only, but never other buffers.
What the patch does is different - it turns `case-fold-search' into an
ordinary buffer-local variable, like the ones defined from Elisp.
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#217
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#283
These two are about creating a new case-fold-search-override that
ignores buffer-local bindings. Again, a different idea.
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#295
This was not about this patch, but about a more general problem of
case-fold-search serving two purposes - user setting for interactive
searches and internal regexp search switch.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 10:31 ` Ihor Radchenko
@ 2023-12-17 10:36 ` Eli Zaretskii
2023-12-17 10:46 ` Eli Zaretskii
2023-12-17 10:52 ` Ihor Radchenko
0 siblings, 2 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-17 10:36 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, mattias.engdegard, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, dmitry@gutov.dev,
> 66117@debbugs.gnu.org, mattias.engdegard@gmail.com
> Date: Sun, 17 Dec 2023 10:31:50 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> AFAIK this is a purely internal change with no visible effect at the
> >> ELisp level
>
> > It sounds like there will be some effect on some Lisp programs, at
> > least in some cases, and if so, we should mention those cases, even if
> > we think they are rare.
>
> We have discussed a number of approaches to handle the let-binding
> performance and to handle sometimes-confusing behaviour of
> `case-fold-search'. Most of them had problems with breaking the existing
> behaviour or potentially causing unexpected side effects. Except the one
> I used in the patch.
>
> The messages you linked to discuss problems with _other_ proposed
> approaches.
Maybe I'm confused, but won't this change have at least _some_ effect
on Lisp programs? For example, what about this fragment from the
ELisp manual, which describes the effect of
make-variable-buffer-local:
A peculiar wrinkle of this feature is that binding the variable
(with ‘let’ or other binding constructs) does not create a
buffer-local binding for it. Only setting the variable (with ‘set’
or ‘setq’), while the variable does not have a ‘let’-style binding
that was made in the current buffer, does so.
Will this case work the same after the change as it did before?
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 10:36 ` Eli Zaretskii
@ 2023-12-17 10:46 ` Eli Zaretskii
2023-12-17 10:56 ` Ihor Radchenko
2023-12-17 10:52 ` Ihor Radchenko
1 sibling, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-17 10:46 UTC (permalink / raw)
To: yantar92; +Cc: dmitry, 66117, mattias.engdegard, monnier
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org, mattias.engdegard@gmail.com,
> monnier@iro.umontreal.ca
> Date: Sun, 17 Dec 2023 12:36:59 +0200
> From: Eli Zaretskii <eliz@gnu.org>
>
> Maybe I'm confused, but won't this change have at least _some_ effect
> on Lisp programs? For example, what about this fragment from the
> ELisp manual, which describes the effect of
> make-variable-buffer-local:
>
> A peculiar wrinkle of this feature is that binding the variable
> (with ‘let’ or other binding constructs) does not create a
> buffer-local binding for it. Only setting the variable (with ‘set’
> or ‘setq’), while the variable does not have a ‘let’-style binding
> that was made in the current buffer, does so.
>
> Will this case work the same after the change as it did before?
Also, re this part of the patch:
> + DEFVAR_LISP ("case-fold-search", Vcase_fold_search,
> + doc: /* Non-nil if searches and matches should ignore case. */);
> + Vcase_fold_search = Qt;
> + DEFSYM (Qcase_fold_search, "case-fold-search");
> + Fmake_variable_buffer_local (Qcase_fold_search);
Which value does this set to t -- the global default? Isn't that
different from what we had before?
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 10:36 ` Eli Zaretskii
2023-12-17 10:46 ` Eli Zaretskii
@ 2023-12-17 10:52 ` Ihor Radchenko
2023-12-17 11:01 ` Eli Zaretskii
2023-12-17 15:24 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 2 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-17 10:52 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, mattias.engdegard, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> The messages you linked to discuss problems with _other_ proposed
>> approaches.
>
> Maybe I'm confused, but won't this change have at least _some_ effect
> on Lisp programs? For example, what about this fragment from the
> ELisp manual, which describes the effect of
> make-variable-buffer-local:
>
> A peculiar wrinkle of this feature is that binding the variable
> (with ‘let’ or other binding constructs) does not create a
> buffer-local binding for it. Only setting the variable (with ‘set’
> or ‘setq’), while the variable does not have a ‘let’-style binding
> that was made in the current buffer, does so.
>
> Will this case work the same after the change as it did before?
I read this differently - when you have
(let ((var 'val))
(make-variable-buffer-local 'var))
it will not set buffer-local value to 'val.
You have to set the buffer value explicitly via set/setq outside let
context.
And the patch makes `case-fold-search' buffer-local internally. Nothing
needs to call (make-variable-buffer-local 'case-fold-search).
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 10:46 ` Eli Zaretskii
@ 2023-12-17 10:56 ` Ihor Radchenko
2023-12-17 11:06 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-17 10:56 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, mattias.engdegard, monnier
Eli Zaretskii <eliz@gnu.org> writes:
> Also, re this part of the patch:
>
>> + DEFVAR_LISP ("case-fold-search", Vcase_fold_search,
>> + doc: /* Non-nil if searches and matches should ignore case. */);
>> + Vcase_fold_search = Qt;
>> + DEFSYM (Qcase_fold_search, "case-fold-search");
>> + Fmake_variable_buffer_local (Qcase_fold_search);
>
> Which value does this set to t -- the global default? Isn't that
> different from what we had before?
AFAIU, not different. Previously, we had
> @@ -4785,7 +4779,6 @@ init_buffer_once (void)
> bset_tab_line_format (&buffer_defaults, Qnil);
> bset_abbrev_mode (&buffer_defaults, Qnil);
> bset_overwrite_mode (&buffer_defaults, Qnil);
> - bset_case_fold_search (&buffer_defaults, Qt);
So, the default value was Qt previously as well.
The DEFVAR_LISP + V... + DEFSYM + Fmake_variable_buffer_local is taken
from other buffer-local variables. For example,
DEFVAR_LISP ("display-line-numbers-width", Vdisplay_line_numbers_width,
doc: /* Minimum width of space reserved for line number display.
A positive number means reserve that many columns for line numbers,
even if the actual number needs less space.
The default value of nil means compute the space dynamically.
Any other value is treated as nil. */);
Vdisplay_line_numbers_width = Qnil;
DEFSYM (Qdisplay_line_numbers_width, "display-line-numbers-width");
Fmake_variable_buffer_local (Qdisplay_line_numbers_width);
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 10:52 ` Ihor Radchenko
@ 2023-12-17 11:01 ` Eli Zaretskii
2023-12-17 11:26 ` Ihor Radchenko
2023-12-17 15:24 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-17 11:01 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, mattias.engdegard, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org,
> mattias.engdegard@gmail.com
> Date: Sun, 17 Dec 2023 10:52:33 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Maybe I'm confused, but won't this change have at least _some_ effect
> > on Lisp programs? For example, what about this fragment from the
> > ELisp manual, which describes the effect of
> > make-variable-buffer-local:
> >
> > A peculiar wrinkle of this feature is that binding the variable
> > (with ‘let’ or other binding constructs) does not create a
> > buffer-local binding for it. Only setting the variable (with ‘set’
> > or ‘setq’), while the variable does not have a ‘let’-style binding
> > that was made in the current buffer, does so.
> >
> > Will this case work the same after the change as it did before?
>
> I read this differently
Differently from what?
> - when you have
>
> (let ((var 'val))
> (make-variable-buffer-local 'var))
>
> it will not set buffer-local value to 'val.
And before the patch what would have happened?
> And the patch makes `case-fold-search' buffer-local internally. Nothing
> needs to call (make-variable-buffer-local 'case-fold-search).
The patch itself calls make-variable-buffer-local.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 10:56 ` Ihor Radchenko
@ 2023-12-17 11:06 ` Eli Zaretskii
2023-12-17 11:19 ` Ihor Radchenko
2023-12-17 15:17 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-17 11:06 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, mattias.engdegard, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org, mattias.engdegard@gmail.com,
> monnier@iro.umontreal.ca
> Date: Sun, 17 Dec 2023 10:56:45 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Also, re this part of the patch:
> >
> >> + DEFVAR_LISP ("case-fold-search", Vcase_fold_search,
> >> + doc: /* Non-nil if searches and matches should ignore case. */);
> >> + Vcase_fold_search = Qt;
> >> + DEFSYM (Qcase_fold_search, "case-fold-search");
> >> + Fmake_variable_buffer_local (Qcase_fold_search);
> >
> > Which value does this set to t -- the global default? Isn't that
> > different from what we had before?
>
> AFAIU, not different. Previously, we had
>
> > @@ -4785,7 +4779,6 @@ init_buffer_once (void)
> > bset_tab_line_format (&buffer_defaults, Qnil);
> > bset_abbrev_mode (&buffer_defaults, Qnil);
> > bset_overwrite_mode (&buffer_defaults, Qnil);
> > - bset_case_fold_search (&buffer_defaults, Qt);
>
> So, the default value was Qt previously as well.
buffer_defaults is not the default value, AFAIU.
> The DEFVAR_LISP + V... + DEFSYM + Fmake_variable_buffer_local is taken
> from other buffer-local variables. For example,
I'm talking specifically about any changes from previous behavior
visible from Lisp. I think we should test all of the following:
default-value
default-boundp
setq-default
default-toplevel-value
set-default-toplevel-value
and make sure they all behave exactly the same, both in and out of a
let-binding.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 11:06 ` Eli Zaretskii
@ 2023-12-17 11:19 ` Ihor Radchenko
2023-12-17 12:06 ` Eli Zaretskii
2023-12-17 15:17 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-17 11:19 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, mattias.engdegard, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> AFAIU, not different. Previously, we had
>>
>> > @@ -4785,7 +4779,6 @@ init_buffer_once (void)
>> > bset_tab_line_format (&buffer_defaults, Qnil);
>> > bset_abbrev_mode (&buffer_defaults, Qnil);
>> > bset_overwrite_mode (&buffer_defaults, Qnil);
>> > - bset_case_fold_search (&buffer_defaults, Qt);
>>
>> So, the default value was Qt previously as well.
>
> buffer_defaults is not the default value, AFAIU.
Unless I misunderstand, the comment says that buffer_defaults does hold
the default values.
/* This structure holds the default values of the buffer-local variables
that have special slots in each buffer.
The default value occupies the same slot in this structure
as an individual buffer's value occupies in that buffer.
Setting the default value also goes through the alist of buffers
and stores into each buffer that does not say it has a local value. */
extern struct buffer buffer_defaults;
>> The DEFVAR_LISP + V... + DEFSYM + Fmake_variable_buffer_local is taken
>> from other buffer-local variables. For example,
>
> I'm talking specifically about any changes from previous behavior
> visible from Lisp. I think we should test all of the following:
>
> default-value
> default-boundp
> setq-default
> default-toplevel-value
> set-default-toplevel-value
>
> and make sure they all behave exactly the same, both in and out of a
> let-binding.
The patch did not introduce test failures for make check on my side. Are
there existing tests for buffer-locals? Or do we need to add them?
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 11:01 ` Eli Zaretskii
@ 2023-12-17 11:26 ` Ihor Radchenko
2023-12-17 12:14 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-17 11:26 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, mattias.engdegard, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> > Maybe I'm confused, but won't this change have at least _some_ effect
>> > on Lisp programs? For example, what about this fragment from the
>> > ELisp manual, which describes the effect of
>> > make-variable-buffer-local:
>> >
>> > A peculiar wrinkle of this feature is that binding the variable
>> > (with ‘let’ or other binding constructs) does not create a
>> > buffer-local binding for it. Only setting the variable (with ‘set’
>> > or ‘setq’), while the variable does not have a ‘let’-style binding
>> > that was made in the current buffer, does so.
>> >
>> > Will this case work the same after the change as it did before?
>>
>> I read this differently
>
> Differently from what?
AFAIU, you are concerned that my call to Fmake_variable_buffer_local may
have unexpected side effects because make-variable-buffer-local can be
tricky, as stated in the quoted paragraph.
But it is not how I read this.
Or did you mean something else?
>> - when you have
>>
>> (let ((var 'val))
>> (make-variable-buffer-local 'var))
>>
>> it will not set buffer-local value to 'val.
>
> And before the patch what would have happened?
I did not make changes to `make-variable-buffer-local' in the patch.
Nothing changed there. I just wanted to make sure that we understand
that paragraph the same way - that `make-variable-buffer-local' has
"wrinkle" when called inside let context.
>> And the patch makes `case-fold-search' buffer-local internally. Nothing
>> needs to call (make-variable-buffer-local 'case-fold-search).
>
> The patch itself calls make-variable-buffer-local.
On top level, when Emacs defines all other variables. So, my call to
make-variable-buffer-local is not inside let and thus should not have
any problem with the paragraph you quoted.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 11:19 ` Ihor Radchenko
@ 2023-12-17 12:06 ` Eli Zaretskii
2023-12-19 13:24 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-17 12:06 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, mattias.engdegard, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org, mattias.engdegard@gmail.com,
> monnier@iro.umontreal.ca
> Date: Sun, 17 Dec 2023 11:19:57 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > I'm talking specifically about any changes from previous behavior
> > visible from Lisp. I think we should test all of the following:
> >
> > default-value
> > default-boundp
> > setq-default
> > default-toplevel-value
> > set-default-toplevel-value
> >
> > and make sure they all behave exactly the same, both in and out of a
> > let-binding.
>
> The patch did not introduce test failures for make check on my side. Are
> there existing tests for buffer-locals? Or do we need to add them?
I don't see any such tests. So yes, it would be good to add them.
But at the very least we should consider all of the above
theoretically and see if any of them are expected/supposed to change
as result of this.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 11:26 ` Ihor Radchenko
@ 2023-12-17 12:14 ` Eli Zaretskii
0 siblings, 0 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-17 12:14 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, mattias.engdegard, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org,
> mattias.engdegard@gmail.com
> Date: Sun, 17 Dec 2023 11:26:28 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> > Maybe I'm confused, but won't this change have at least _some_ effect
> >> > on Lisp programs? For example, what about this fragment from the
> >> > ELisp manual, which describes the effect of
> >> > make-variable-buffer-local:
> >> >
> >> > A peculiar wrinkle of this feature is that binding the variable
> >> > (with ‘let’ or other binding constructs) does not create a
> >> > buffer-local binding for it. Only setting the variable (with ‘set’
> >> > or ‘setq’), while the variable does not have a ‘let’-style binding
> >> > that was made in the current buffer, does so.
> >> >
> >> > Will this case work the same after the change as it did before?
> >>
> >> I read this differently
> >
> > Differently from what?
>
> AFAIU, you are concerned that my call to Fmake_variable_buffer_local may
> have unexpected side effects because make-variable-buffer-local can be
> tricky, as stated in the quoted paragraph.
> But it is not how I read this.
>
> Or did you mean something else?
I meant to ask whether the behavior with case-fold-search before your
changes in the context of the above situation differs from its
behavior after the changes.
>
> >> - when you have
> >>
> >> (let ((var 'val))
> >> (make-variable-buffer-local 'var))
> >>
> >> it will not set buffer-local value to 'val.
> >
> > And before the patch what would have happened?
>
> I did not make changes to `make-variable-buffer-local' in the patch.
> Nothing changed there. I just wanted to make sure that we understand
> that paragraph the same way - that `make-variable-buffer-local' has
> "wrinkle" when called inside let context.
>
> >> And the patch makes `case-fold-search' buffer-local internally. Nothing
> >> needs to call (make-variable-buffer-local 'case-fold-search).
> >
> > The patch itself calls make-variable-buffer-local.
>
> On top level, when Emacs defines all other variables. So, my call to
> make-variable-buffer-local is not inside let and thus should not have
> any problem with the paragraph you quoted.
I think this is a misunderstanding: the quote from the ELisp manual
doesn't describe the situation where make-variable-buffer-local is
called inside a let-binding. It is describing the behavior of 'let'
when the variable was made buffer-local via make-variable-buffer-local.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 11:06 ` Eli Zaretskii
2023-12-17 11:19 ` Ihor Radchenko
@ 2023-12-17 15:17 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 16:02 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-17 15:17 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, Ihor Radchenko, mattias.engdegard, 66117
> I'm talking specifically about any changes from previous behavior
> visible from Lisp. I think we should test all of the following:
>
> default-value
> default-boundp
> setq-default
> default-toplevel-value
> set-default-toplevel-value
>
> and make sure they all behave exactly the same, both in and out of a
> let-binding.
There should be absolutely no change visible using any combination of
the above function (including with the addition of `let`).
If there is, it's a bug in our C code (I don't know of such bugs, but
given the complexity of the code and its past history of a long litany
of bugs, I definitely won't vouch for it).
Some DEFVAR_PER_BUFFER variables *do* behave differently from normal
DEFVAR_LISP, but these are the "always buffer-local" ones, like
`mode-name`, `buffer-file-name`, etc...
Most of the DEFVAR_PER_BUFFER variables behave just like any
normal variable. They just use a different implementation strategy and
the C code works hard to hide that difference.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 10:52 ` Ihor Radchenko
2023-12-17 11:01 ` Eli Zaretskii
@ 2023-12-17 15:24 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 0 replies; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-17 15:24 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, Eli Zaretskii, mattias.engdegard, 66117
>> Maybe I'm confused, but won't this change have at least _some_ effect
>> on Lisp programs? For example, what about this fragment from the
>> ELisp manual, which describes the effect of
>> make-variable-buffer-local:
>>
>> A peculiar wrinkle of this feature is that binding the variable
>> (with ‘let’ or other binding constructs) does not create a
>> buffer-local binding for it. Only setting the variable (with ‘set’
>> or ‘setq’), while the variable does not have a ‘let’-style binding
>> that was made in the current buffer, does so.
>>
>> Will this case work the same after the change as it did before?
>
> I read this differently - when you have
>
> (let ((var 'val))
> (make-variable-buffer-local 'var))
>
> it will not set buffer-local value to 'val.
So, what the paragraph above says is that
(setq var val)
will make `var` buffer-local, but
(let ((var val))
...)
will not and neither will
(let ((var val))
...
(setq var val2)
...)
IOW, `setq` makes the var buffer-local only when the assignment affects
the global binding.
The same holds for DEFVAR_PER_BUFFER variables like `case-fold-search`:
(with-temp-buffer
(let ((case-fold-search nil))
(list (local-variable-p 'case-fold-search)
(setq case-fold-search t)
(local-variable-p 'case-fold-search))))
==> (nil t nil)
-- Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 15:17 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-17 16:02 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-17 16:02 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, Ihor Radchenko, mattias.engdegard, 66117
> Most of the DEFVAR_PER_BUFFER variables behave just like any
> normal variable. They just use a different implementation strategy and
> the C code works hard to hide that difference.
BTW, one reason why the C code works hard to hide that difference is
that we already have enough different kinds of variables making life
complicated for the poor ELisp coders:
- lexical vars
- "normal" vars (`defvar`)
- buffer-local vars (`make-local-variable`)
- automatically buffer-local vars (`make-variable-buffer-local` or DEFVAR_PER_BUFFER)
- always buffer-local vars (DEFVAR_PER_BUFFER plus a -1 value in buffer_local_flags)
- integer-only vars (DEFVAR_INT)
- boolean-only vars (DEFVAR_BOOL)
- aliases (defvaralias)
- so-called "terminal-local" vars which are actually keyboard-local, where
several "terminals" can share the same keyboard (DEFVAR_KBOARD), tho
nowadays this virtually never happens, but makes for extra complexity/bugs.
[ And we used to also have frame-local vars, as well as simultaneously
frame-local and buffer-local vars, but we got rid of those. ]
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-17 12:06 ` Eli Zaretskii
@ 2023-12-19 13:24 ` Ihor Radchenko
2023-12-19 13:38 ` Eli Zaretskii
2023-12-20 20:33 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-19 13:24 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, mattias.engdegard, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> > I'm talking specifically about any changes from previous behavior
>> > visible from Lisp. I think we should test all of the following:
>> >
>> > default-value
>> > default-boundp
>> > setq-default
>> > default-toplevel-value
>> > set-default-toplevel-value
>> >
>> > and make sure they all behave exactly the same, both in and out of a
>> > let-binding.
>>
>> The patch did not introduce test failures for make check on my side. Are
>> there existing tests for buffer-locals? Or do we need to add them?
>
> I don't see any such tests. So yes, it would be good to add them.
> But at the very least we should consider all of the above
> theoretically and see if any of them are expected/supposed to change
> as result of this.
Do you still think that we need to discuss special cases further, after
Stefan's reply?
If yes, I will need help with various edge cases, because I am not
really sure about them. For example, I have no clue if below is expected
(defvar test/foo 'value)
(default-boundp 'test/foo)
(default-value 'test/foo) ;; -> value
(let ((test/foo t))
(default-value 'test/foo)) ;; -> t ???
(defvar-local test/foo2 'value)
(default-boundp 'test/foo2) ;; -> t
(default-value 'test/foo2) ;; -> value
(let ((test/foo2 t))
(default-value 'test/foo2)) ;; -> t ???
(setq-default test/foo2 'value2)
(default-boundp 'test/foo2) ;; -> t
(default-value 'test/foo2) ;; -> value2
(let ((test/foo2 t))
(default-value 'test/foo2)) ;; -> t ???
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-19 13:24 ` Ihor Radchenko
@ 2023-12-19 13:38 ` Eli Zaretskii
2023-12-20 20:33 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 0 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-19 13:38 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, mattias.engdegard, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org, mattias.engdegard@gmail.com,
> monnier@iro.umontreal.ca
> Date: Tue, 19 Dec 2023 13:24:12 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > I don't see any such tests. So yes, it would be good to add them.
> > But at the very least we should consider all of the above
> > theoretically and see if any of them are expected/supposed to change
> > as result of this.
>
> Do you still think that we need to discuss special cases further, after
> Stefan's reply?
Stefan seems to say the problem shouldn't exist, barring bugs. So no,
discussions are not needed, but tests will be welcome
> For example, I have no clue if below is expected
>
> (defvar test/foo 'value)
> (default-boundp 'test/foo)
> (default-value 'test/foo) ;; -> value
> (let ((test/foo t))
> (default-value 'test/foo)) ;; -> t ???
>
> (defvar-local test/foo2 'value)
> (default-boundp 'test/foo2) ;; -> t
> (default-value 'test/foo2) ;; -> value
> (let ((test/foo2 t))
> (default-value 'test/foo2)) ;; -> t ???
> (setq-default test/foo2 'value2)
> (default-boundp 'test/foo2) ;; -> t
> (default-value 'test/foo2) ;; -> value2
> (let ((test/foo2 t))
> (default-value 'test/foo2)) ;; -> t ???
I'll let Stefan answer that.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-19 13:24 ` Ihor Radchenko
2023-12-19 13:38 ` Eli Zaretskii
@ 2023-12-20 20:33 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-21 5:56 ` Gerd Möllmann
2023-12-21 13:25 ` Ihor Radchenko
1 sibling, 2 replies; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-20 20:33 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, Eli Zaretskii, mattias.engdegard, 66117
> If yes, I will need help with various edge cases, because I am not
> really sure about them. For example, I have no clue if below is expected
>
> (defvar test/foo 'value)
> (default-boundp 'test/foo)
> (default-value 'test/foo) ;; -> value
Yup.
> (let ((test/foo t))
> (default-value 'test/foo)) ;; -> t ???
Yup.
> (defvar-local test/foo2 'value)
> (default-boundp 'test/foo2) ;; -> t
Yup.
> (default-value 'test/foo2) ;; -> value
Yup.
> (let ((test/foo2 t))
> (default-value 'test/foo2)) ;; -> t ???
Yup.
> (setq-default test/foo2 'value2)
> (default-boundp 'test/foo2) ;; -> t
Yup.
> (default-value 'test/foo2) ;; -> value2
Yup.
> (let ((test/foo2 t))
> (default-value 'test/foo2)) ;; -> t ???
Yup.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-20 20:33 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-21 5:56 ` Gerd Möllmann
2023-12-21 13:25 ` Ihor Radchenko
1 sibling, 0 replies; 162+ messages in thread
From: Gerd Möllmann @ 2023-12-21 5:56 UTC (permalink / raw)
To: 66117; +Cc: yantar92, mattias.engdegard, dmitry, monnier, eliz
Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <bug-gnu-emacs@gnu.org> writes:
>> If yes, I will need help with various edge cases, because I am not
>> really sure about them. For example, I have no clue if below is expected
>>
>> (defvar test/foo 'value)
>> (default-boundp 'test/foo)
>> (default-value 'test/foo) ;; -> value
>
> Yup.
...
BTW, not directly related to this ticket, (set-)default-toplevel-value
might also be interesting to test, with and without buffer-local stuff.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-20 20:33 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-21 5:56 ` Gerd Möllmann
@ 2023-12-21 13:25 ` Ihor Radchenko
2023-12-21 13:39 ` Gerd Möllmann
1 sibling, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-21 13:25 UTC (permalink / raw)
To: Stefan Monnier; +Cc: dmitry, Eli Zaretskii, mattias.engdegard, 66117
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> (let ((test/foo2 t))
>> (default-value 'test/foo2)) ;; -> t ???
>
> Yup.
Hmm.. Then, what about
(defvar-local let-tests-buffer-local-var 'value)
(with-temp-buffer
(setq-local let-tests-buffer-local-var 'baz)
(let ((let-tests-buffer-local-var 'bar))
;; This is failing.
(should (eq 'bar (default-value 'let-tests-buffer-local-var)))
(should (eq 'bar let-tests-buffer-local-var))
(with-temp-buffer
(should (eq 'bar (default-value 'let-tests-buffer-local-var)))
(should (eq 'bar let-tests-buffer-local-var)))))
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-21 13:25 ` Ihor Radchenko
@ 2023-12-21 13:39 ` Gerd Möllmann
2024-01-01 18:02 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Gerd Möllmann @ 2023-12-21 13:39 UTC (permalink / raw)
To: Ihor Radchenko
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Ihor Radchenko <yantar92@posteo.net> writes:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>>> (let ((test/foo2 t))
>>> (default-value 'test/foo2)) ;; -> t ???
>>
>> Yup.
>
> Hmm.. Then, what about
>
> (defvar-local let-tests-buffer-local-var 'value)
> (with-temp-buffer
> (setq-local let-tests-buffer-local-var 'baz)
> (let ((let-tests-buffer-local-var 'bar))
> ;; This is failing.
> (should (eq 'bar (default-value 'let-tests-buffer-local-var)))
C-h f default-value explains this:
Return SYMBOL’s default value.
This is the value that is seen in buffers that do not have their own values
for this variable.
> (should (eq 'bar let-tests-buffer-local-var))
> (with-temp-buffer
> (should (eq 'bar (default-value 'let-tests-buffer-local-var)))
> (should (eq 'bar let-tests-buffer-local-var)))))
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-10-08 9:00 ` Ihor Radchenko
2023-10-08 9:56 ` Eli Zaretskii
2023-10-08 11:16 ` Dmitry Gutov
@ 2023-12-23 8:54 ` Eli Zaretskii
2023-12-23 9:41 ` Ihor Radchenko
2 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-23 8:54 UTC (permalink / raw)
To: Ihor Radchenko, Stefan Monnier; +Cc: dmitry, 66117
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sun, 08 Oct 2023 09:00:49 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > My advice is to have a prototype working, then time it on local
> > filesystems.
>
> See the attached patch.
What do we want to do with this? any reasons not to install this on
master (and close this bug then)?
Thanks.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-23 8:54 ` Eli Zaretskii
@ 2023-12-23 9:41 ` Ihor Radchenko
2023-12-23 11:16 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-23 9:41 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, Stefan Monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> > My advice is to have a prototype working, then time it on local
>> > filesystems.
>>
>> See the attached patch.
>
> What do we want to do with this? any reasons not to install this on
> master (and close this bug then)?
I thought that it is already installed...
I do not think that we should close the bug even after installing the
patch for `find-buffer-visiting'.
What I had in mind wrt improving `find-buffer-visiting' performance is:
1. Improve the Elisp part (this patch)
2. Improve case-fold-search binding, which will give another speedup
(another patch I submitted)
3. Optionally add tests
4. Address the scenario Dmitry described in https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#91
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-23 9:41 ` Ihor Radchenko
@ 2023-12-23 11:16 ` Eli Zaretskii
2023-12-23 11:28 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-23 11:16 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, dmitry@gutov.dev,
> 66117@debbugs.gnu.org
> Date: Sat, 23 Dec 2023 09:41:44 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> > My advice is to have a prototype working, then time it on local
> >> > filesystems.
> >>
> >> See the attached patch.
> >
> > What do we want to do with this? any reasons not to install this on
> > master (and close this bug then)?
>
> I thought that it is already installed...
The find-buffer part? I don't see it, did I miss something?
> I do not think that we should close the bug even after installing the
> patch for `find-buffer-visiting'.
>
> What I had in mind wrt improving `find-buffer-visiting' performance is:
>
> 1. Improve the Elisp part (this patch)
Let's install it.
> 2. Improve case-fold-search binding, which will give another speedup
> (another patch I submitted)
It should be installed, after you add the tests we've been discussing.
> 3. Optionally add tests
I hope the tests will not be optional...
> 4. Address the scenario Dmitry described in https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#91
That could be a separate bug report. This one is already too long,
and includes too many different issues.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-23 11:16 ` Eli Zaretskii
@ 2023-12-23 11:28 ` Ihor Radchenko
2023-12-23 11:51 ` Eli Zaretskii
2023-12-29 7:47 ` Eli Zaretskii
0 siblings, 2 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-23 11:28 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> I thought that it is already installed...
>
> The find-buffer part? I don't see it, did I miss something?
No. I just had a problem with my local git repo. git reset fixed it and
revealed that the patch is indeed not installed yet.
>> 2. Improve case-fold-search binding, which will give another speedup
>> (another patch I submitted)
>
> It should be installed, after you add the tests we've been discussing.
>
>> 3. Optionally add tests
>
> I hope the tests will not be optional...
Didn't you say earlier that tests are not strictly necessary in
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#361>?
I do not mind adding tests, but it will not be as fast - I need help
with them.
>> 4. Address the scenario Dmitry described in https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#91
>
> That could be a separate bug report. This one is already too long,
> and includes too many different issues.
Ok. I will create a separate bug report after the two submitted patches
are handled.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-23 11:28 ` Ihor Radchenko
@ 2023-12-23 11:51 ` Eli Zaretskii
2023-12-23 14:30 ` Ihor Radchenko
2023-12-29 7:47 ` Eli Zaretskii
1 sibling, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-23 11:51 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sat, 23 Dec 2023 11:28:33 +0000
>
> >> 3. Optionally add tests
> >
> > I hope the tests will not be optional...
>
> Didn't you say earlier that tests are not strictly necessary in
> <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#361>?
>
> I do not mind adding tests, but it will not be as fast - I need help
> with them.
We could install just a few now, and the rest afterwards. You have
already presented enough non-trivial cases that can be easily
converted to tests, and I think it is a good idea to do that when we
change such low-level and veteran code.
So yes, it is not strictly necessary, but highly desirable.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-23 11:51 ` Eli Zaretskii
@ 2023-12-23 14:30 ` Ihor Radchenko
2023-12-30 7:39 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-23 14:30 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, monnier
[-- Attachment #1: Type: text/plain, Size: 474 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> I do not mind adding tests, but it will not be as fast - I need help
>> with them.
>
> We could install just a few now, and the rest afterwards. You have
> already presented enough non-trivial cases that can be easily
> converted to tests, and I think it is a good idea to do that when we
> change such low-level and veteran code.
See the attached.
I am not sure if these few cases are enough to warrant a separate commit
though.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Add-tests-for-let-bug-66117.patch --]
[-- Type: text/x-patch, Size: 1886 bytes --]
From 147ae00df849f04cdb00e09d8079533fa5dea98a Mon Sep 17 00:00:00 2001
Message-ID: <147ae00df849f04cdb00e09d8079533fa5dea98a.1703341788.git.yantar92@posteo.net>
From: Ihor Radchenko <yantar92@posteo.net>
Date: Sat, 23 Dec 2023 15:29:36 +0100
Subject: [PATCH] Add tests for `let' (bug#66117)
* test/src/eval-tests.el (eval-tests/default-value): New test.
---
test/src/eval-tests.el | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/test/src/eval-tests.el b/test/src/eval-tests.el
index 4589763b2f5..c1219591e40 100644
--- a/test/src/eval-tests.el
+++ b/test/src/eval-tests.el
@@ -282,4 +282,25 @@ eval-tests-defvaralias
(should-error (defvaralias 'eval-tests--my-c 'eval-tests--my-d)
:type 'cyclic-variable-indirection))
+(defvar eval-tests/global-var 'value)
+(defvar-local eval-tests/buffer-local-var 'value)
+(ert-deftest eval-tests/default-value ()
+ ;; `let' overrides the default value for global variables.
+ (should (default-boundp 'eval-tests/global-var))
+ (should (eq 'value (default-value 'eval-tests/global-var)))
+ (should (eq 'value eval-tests/global-var))
+ (let ((eval-tests/global-var 'bar))
+ (should (eq 'bar (default-value 'eval-tests/global-var)))
+ (should (eq 'bar eval-tests/global-var)))
+ ;; `let' overrides the default value everywhere, but leaves
+ ;; buffer-local values unchanged in current buffer and in the
+ ;; buffers where there is no explicitly set buffer-local value.
+ (should (default-boundp 'eval-tests/buffer-local-var))
+ (should (eq 'value (default-value 'eval-tests/buffer-local-var)))
+ (should (eq 'value eval-tests/buffer-local-var))
+ (with-temp-buffer
+ (let ((eval-tests/buffer-local-var 'bar))
+ (should (eq 'bar (default-value 'eval-tests/buffer-local-var)))
+ (should (eq 'bar eval-tests/buffer-local-var)))))
+
;;; eval-tests.el ends here
--
2.42.0
[-- Attachment #3: Type: text/plain, Size: 224 bytes --]
--
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 related [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-23 11:28 ` Ihor Radchenko
2023-12-23 11:51 ` Eli Zaretskii
@ 2023-12-29 7:47 ` Eli Zaretskii
2023-12-29 13:55 ` Ihor Radchenko
1 sibling, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-29 7:47 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sat, 23 Dec 2023 11:28:33 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> I thought that it is already installed...
> >
> > The find-buffer part? I don't see it, did I miss something?
>
> No. I just had a problem with my local git repo. git reset fixed it and
> revealed that the patch is indeed not installed yet.
Is that patch still valid, or do you need to rebase it? Would you
like to repost it?
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-29 7:47 ` Eli Zaretskii
@ 2023-12-29 13:55 ` Ihor Radchenko
2023-12-30 8:08 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-29 13:55 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> No. I just had a problem with my local git repo. git reset fixed it and
>> revealed that the patch is indeed not installed yet.
>
> Is that patch still valid, or do you need to rebase it? Would you
> like to repost it?
All the three patches I submitted in this thread are cleanly applying
onto freshly cloned master.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-23 14:30 ` Ihor Radchenko
@ 2023-12-30 7:39 ` Eli Zaretskii
0 siblings, 0 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-30 7:39 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sat, 23 Dec 2023 14:30:42 +0000
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> I do not mind adding tests, but it will not be as fast - I need help
> >> with them.
> >
> > We could install just a few now, and the rest afterwards. You have
> > already presented enough non-trivial cases that can be easily
> > converted to tests, and I think it is a good idea to do that when we
> > change such low-level and veteran code.
>
> See the attached.
> I am not sure if these few cases are enough to warrant a separate commit
> though.
I installed it, thanks.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-29 13:55 ` Ihor Radchenko
@ 2023-12-30 8:08 ` Eli Zaretskii
2023-12-30 9:50 ` Eli Zaretskii
2023-12-30 12:51 ` Ihor Radchenko
0 siblings, 2 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-30 8:08 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Fri, 29 Dec 2023 13:55:45 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> No. I just had a problem with my local git repo. git reset fixed it and
> >> revealed that the patch is indeed not installed yet.
> >
> > Is that patch still valid, or do you need to rebase it? Would you
> > like to repost it?
>
> All the three patches I submitted in this thread are cleanly applying
> onto freshly cloned master.
Thanks, I installed them.
Should we now close this bug?
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-30 8:08 ` Eli Zaretskii
@ 2023-12-30 9:50 ` Eli Zaretskii
2023-12-30 10:10 ` Eli Zaretskii
2023-12-30 12:51 ` Ihor Radchenko
1 sibling, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-30 9:50 UTC (permalink / raw)
To: yantar92; +Cc: dmitry, 66117, monnier
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org, monnier@iro.umontreal.ca
> Date: Sat, 30 Dec 2023 10:08:34 +0200
> From: Eli Zaretskii <eliz@gnu.org>
>
> > From: Ihor Radchenko <yantar92@posteo.net>
> > Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org
> > Date: Fri, 29 Dec 2023 13:55:45 +0000
> >
> > Eli Zaretskii <eliz@gnu.org> writes:
> >
> > >> No. I just had a problem with my local git repo. git reset fixed it and
> > >> revealed that the patch is indeed not installed yet.
> > >
> > > Is that patch still valid, or do you need to rebase it? Would you
> > > like to repost it?
> >
> > All the three patches I submitted in this thread are cleanly applying
> > onto freshly cloned master.
>
> Thanks, I installed them.
>
> Should we now close this bug?
Ehmm... I see that test/src/buffer-tests now have 5 failures that
were not there before:
5 unexpected results:
FAILED test-buffer-modifications
FAILED test-kill-buffer-auto-save-default
FAILED test-kill-buffer-auto-save-delete-no
FAILED test-kill-buffer-auto-save-delete-yes
FAILED test-restore-buffer-modified-p
Also, 7 of the lisp/files-test fail:
7 unexpected results:
FAILED files-tests-bug-18141
FAILED files-tests-file-name-non-special-make-auto-save-file-name
FAILED files-tests-file-name-non-special-set-visited-file-modtime
FAILED files-tests-no-file-write-contents
FAILED files-tests-revert-buffer
FAILED files-tests-revert-buffer-with-fine-grain
FAILED files-tests-zzdont-rewrite-precious-files
Could you please look into these? (Interestingly, those 5+7 don't
fail for me on MS-Windows, only on GNU/Linux...)
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-30 9:50 ` Eli Zaretskii
@ 2023-12-30 10:10 ` Eli Zaretskii
2023-12-30 10:39 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-30 10:10 UTC (permalink / raw)
To: yantar92; +Cc: dmitry, 66117, monnier
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org, monnier@iro.umontreal.ca
> Date: Sat, 30 Dec 2023 11:50:02 +0200
> From: Eli Zaretskii <eliz@gnu.org>
>
> > Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org, monnier@iro.umontreal.ca
> > Date: Sat, 30 Dec 2023 10:08:34 +0200
> > From: Eli Zaretskii <eliz@gnu.org>
> >
> > > From: Ihor Radchenko <yantar92@posteo.net>
> > > Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org
> > > Date: Fri, 29 Dec 2023 13:55:45 +0000
> > >
> > > Eli Zaretskii <eliz@gnu.org> writes:
> > >
> > > >> No. I just had a problem with my local git repo. git reset fixed it and
> > > >> revealed that the patch is indeed not installed yet.
> > > >
> > > > Is that patch still valid, or do you need to rebase it? Would you
> > > > like to repost it?
> > >
> > > All the three patches I submitted in this thread are cleanly applying
> > > onto freshly cloned master.
> >
> > Thanks, I installed them.
> >
> > Should we now close this bug?
>
> Ehmm... I see that test/src/buffer-tests now have 5 failures that
> were not there before:
>
> 5 unexpected results:
> FAILED test-buffer-modifications
> FAILED test-kill-buffer-auto-save-default
> FAILED test-kill-buffer-auto-save-delete-no
> FAILED test-kill-buffer-auto-save-delete-yes
> FAILED test-restore-buffer-modified-p
>
> Also, 7 of the lisp/files-test fail:
>
> 7 unexpected results:
> FAILED files-tests-bug-18141
> FAILED files-tests-file-name-non-special-make-auto-save-file-name
> FAILED files-tests-file-name-non-special-set-visited-file-modtime
> FAILED files-tests-no-file-write-contents
> FAILED files-tests-revert-buffer
> FAILED files-tests-revert-buffer-with-fine-grain
> FAILED files-tests-zzdont-rewrite-precious-files
>
> Could you please look into these? (Interestingly, those 5+7 don't
> fail for me on MS-Windows, only on GNU/Linux...)
I think at least part of the problem is in this fragment from
find-file-noselect:
;; Find any buffer for a file that has same truename.
(other (and (not buf)
(find-buffer-visiting
filename
;; We want to filter out buffers that we've
;; visited via symlinks and the like, where
;; the symlink no longer exists.
(lambda (buffer)
(let ((file (buffer-local-value
'buffer-file-name buffer)))
(and file (file-exists-p file))))))))
This call to find-buffer-visiting fails because file-exists-p is
called with a nil argument:
Test test-buffer-modifications backtrace:
file-exists-p(nil)
find-buffer-visiting("/tmp/emacs-test-MzitxT-buffer" #f(compiled-fun
find-file-noselect("/tmp/emacs-test-MzitxT-buffer" nil nil nil)
find-file("/tmp/emacs-test-MzitxT-buffer")
Please attend to this as soon as you can, because I think this same
problem will break many other use cases.
(I guess this doesn't happen on Windows because the involved
files/directories are not symlinks.)
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-30 10:10 ` Eli Zaretskii
@ 2023-12-30 10:39 ` Ihor Radchenko
2023-12-30 11:07 ` Eli Zaretskii
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-30 10:39 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, monnier
[-- Attachment #1: Type: text/plain, Size: 2437 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> Ehmm... I see that test/src/buffer-tests now have 5 failures that
>> were not there before:
>>
>> 5 unexpected results:
>> FAILED test-buffer-modifications
>> FAILED test-kill-buffer-auto-save-default
>> FAILED test-kill-buffer-auto-save-delete-no
>> FAILED test-kill-buffer-auto-save-delete-yes
>> FAILED test-restore-buffer-modified-p
>>
>> Also, 7 of the lisp/files-test fail:
>>
>> 7 unexpected results:
>> FAILED files-tests-bug-18141
>> FAILED files-tests-file-name-non-special-make-auto-save-file-name
>> FAILED files-tests-file-name-non-special-set-visited-file-modtime
>> FAILED files-tests-no-file-write-contents
>> FAILED files-tests-revert-buffer
>> FAILED files-tests-revert-buffer-with-fine-grain
>> FAILED files-tests-zzdont-rewrite-precious-files
>>
>> Could you please look into these? (Interestingly, those 5+7 don't
>> fail for me on MS-Windows, only on GNU/Linux...)
FYI, all the tests are passing on my side (GNU/Linux):
cd test
make src/buffer-tests
Ran 406 tests, 406 results as expected, 0 unexpected (2023-12-30 11:24:04+0100, 0.464788 sec)
> I think at least part of the problem is in this fragment from
> find-file-noselect:
>
> ;; Find any buffer for a file that has same truename.
> (other (and (not buf)
> (find-buffer-visiting
> filename
> ;; We want to filter out buffers that we've
> ;; visited via symlinks and the like, where
> ;; the symlink no longer exists.
> (lambda (buffer)
> (let ((file (buffer-local-value
> 'buffer-file-name buffer)))
> (and file (file-exists-p file))))))))
Not this one - (and file ...) will never trigger when file is nil.
> Test test-buffer-modifications backtrace:
> file-exists-p(nil)
> find-buffer-visiting("/tmp/emacs-test-MzitxT-buffer" #f(compiled-fun
> find-file-noselect("/tmp/emacs-test-MzitxT-buffer" nil nil nil)
> find-file("/tmp/emacs-test-MzitxT-buffer")
>
> Please attend to this as soon as you can, because I think this same
> problem will break many other use cases.
I think I found the problem - it is rather silly.
See the attached patch.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-find-buffer-visiting-Fix-test-breakage-introduced-in.patch --]
[-- Type: text/x-patch, Size: 2157 bytes --]
From 0edc966cd7e2b9c2ce3af44a4a72e6f467eaf713 Mon Sep 17 00:00:00 2001
Message-ID: <0edc966cd7e2b9c2ce3af44a4a72e6f467eaf713.1703932575.git.yantar92@posteo.net>
From: Ihor Radchenko <yantar92@posteo.net>
Date: Sat, 30 Dec 2023 11:31:51 +0100
Subject: [PATCH] find-buffer-visiting: Fix test breakage introduced in
b7a737ef49
* lisp/files.el (find-buffer-visiting): Fix code branch checking for
buffers referring to the same file number. We should check the found
buffer with the file number, not current.
Link: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#412
---
lisp/files.el | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/lisp/files.el b/lisp/files.el
index 315ba831e8..78e2bca3cf 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -2220,15 +2220,17 @@ find-buffer-visiting
(number (file-attribute-file-identifier attributes)))
(and buffer-file-numbers-unique
(car-safe number) ;Make sure the inode is not just nil.
- (let ((buf (find-buffer 'buffer-file-number number)))
- (when (and buf (buffer-local-value 'buffer-file-name buf)
+ (let* ((buf (find-buffer 'buffer-file-number number))
+ (buf-file-name (and buf (buffer-local-value 'buffer-file-name buf))))
+ (when (and buf-file-name
;; Verify this buffer's file number
;; still belongs to its file.
- (file-exists-p buffer-file-name)
- (equal (file-attributes buffer-file-truename)
- attributes)
+ (file-exists-p buf-file-name)
+ (equal
+ (file-attributes (buffer-local-value 'buffer-file-truename buf))
+ attributes)
(or (not predicate)
- (funcall predicate (current-buffer))))
+ (funcall predicate buf)))
buf))))))))
\f
--
2.42.0
[-- Attachment #3: Type: text/plain, Size: 224 bytes --]
--
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 related [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-30 10:39 ` Ihor Radchenko
@ 2023-12-30 11:07 ` Eli Zaretskii
0 siblings, 0 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-30 11:07 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org, monnier@iro.umontreal.ca
> Date: Sat, 30 Dec 2023 10:39:49 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > I think at least part of the problem is in this fragment from
> > find-file-noselect:
> >
> > ;; Find any buffer for a file that has same truename.
> > (other (and (not buf)
> > (find-buffer-visiting
> > filename
> > ;; We want to filter out buffers that we've
> > ;; visited via symlinks and the like, where
> > ;; the symlink no longer exists.
> > (lambda (buffer)
> > (let ((file (buffer-local-value
> > 'buffer-file-name buffer)))
> > (and file (file-exists-p file))))))))
>
> Not this one - (and file ...) will never trigger when file is nil.
Granted, that call to file-exists-p was not what I meant.
> I think I found the problem - it is rather silly.
> See the attached patch.
Thanks, installed.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-30 8:08 ` Eli Zaretskii
2023-12-30 9:50 ` Eli Zaretskii
@ 2023-12-30 12:51 ` Ihor Radchenko
2023-12-30 13:24 ` Eli Zaretskii
2024-01-01 17:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 2 replies; 162+ messages in thread
From: Ihor Radchenko @ 2023-12-30 12:51 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: dmitry, 66117, monnier
Eli Zaretskii <eliz@gnu.org> writes:
>> All the three patches I submitted in this thread are cleanly applying
>> onto freshly cloned master.
>
> Thanks, I installed them.
Thanks!
> Should we now close this bug?
Yes, I think. I hope that closing the bug will not make question to
Stefan (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#373) fall
through the cracks.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-30 12:51 ` Ihor Radchenko
@ 2023-12-30 13:24 ` Eli Zaretskii
2024-01-01 17:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 0 replies; 162+ messages in thread
From: Eli Zaretskii @ 2023-12-30 13:24 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, 66117-done, monnier
> From: Ihor Radchenko <yantar92@posteo.net>
> Cc: monnier@iro.umontreal.ca, dmitry@gutov.dev, 66117@debbugs.gnu.org
> Date: Sat, 30 Dec 2023 12:51:09 +0000
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Should we now close this bug?
>
> Yes, I think. I hope that closing the bug will not make question to
> Stefan (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#373) fall
> through the cracks.
Thanks, closing.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-30 12:51 ` Ihor Radchenko
2023-12-30 13:24 ` Eli Zaretskii
@ 2024-01-01 17:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 0 replies; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-01 17:11 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: dmitry, Eli Zaretskii, 66117
> Yes, I think. I hope that closing the bug will not make question to
> Stefan (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66117#373) fall
> through the cracks.
I thought Gerd replied to that one.
If there's still something unclear, let me know.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2023-12-21 13:39 ` Gerd Möllmann
@ 2024-01-01 18:02 ` Ihor Radchenko
2024-01-01 19:39 ` Gerd Möllmann
` (2 more replies)
0 siblings, 3 replies; 162+ messages in thread
From: Ihor Radchenko @ 2024-01-01 18:02 UTC (permalink / raw)
To: Gerd Möllmann
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>> (defvar-local let-tests-buffer-local-var 'value)
>> (with-temp-buffer
>> (setq-local let-tests-buffer-local-var 'baz)
>> (let ((let-tests-buffer-local-var 'bar))
>> ;; This is failing.
>> (should (eq 'bar (default-value 'let-tests-buffer-local-var)))
>
> C-h f default-value explains this:
>
> Return SYMBOL’s default value.
> This is the value that is seen in buffers that do not have their own values
> for this variable.
Are you saying that `let' never changes `default-value' output?
Unfortunately, no.
I first expected (by reading the C sources) that the default value is
changed by `let', but it actually looks like `let' sometimes does change
the default value and sometimes does not.
See the following two almost identical snippets that yield completely
different results depending on the present of `setq-default':
(defvar-local let-tests-buffer-local-var 'value) ;; default value is 'value
(with-temp-buffer
(let ((existing-buffer (current-buffer)))
(with-temp-buffer
(setq-local let-tests-buffer-local-var 'baz)
(let ((let-tests-buffer-local-var 'bar))
;; Let does not change the default value for variable.
(should (eq 'value (default-value 'let-tests-buffer-local-var)))
(should (eq 'bar let-tests-buffer-local-var))
(with-temp-buffer
;; We are in a new buffer - `let-tests-buffer-local-var' has its global default value.
(should (eq 'value (default-value 'let-tests-buffer-local-var)))
(should (eq 'value let-tests-buffer-local-var)))
(with-current-buffer existing-buffer
;; The above let DOES NOT change the current value in all the buffer
;; _existing_ when `let' is invoked.
(should (eq 'value let-tests-buffer-local-var))
;; Global default value is still unchanged.
(should (eq 'value (default-value 'let-tests-buffer-local-var))))))))
(with-temp-buffer
(let ((existing-buffer (current-buffer)))
(with-temp-buffer
;; !!! After commenting out this line, the behaviour changes.
;; (setq-local let-tests-buffer-local-var 'baz)
(let ((let-tests-buffer-local-var 'bar))
;; Now, let DOES change the default value for variable.
(should (eq 'bar (default-value 'let-tests-buffer-local-var)))
(should (eq 'bar let-tests-buffer-local-var))
(with-temp-buffer
;; We are in a new buffer - `let-tests-buffer-local-var' still has
;; let-bound global and local values.
(should (eq 'bar (default-value 'let-tests-buffer-local-var)))
(should (eq 'bar let-tests-buffer-local-var)))
(with-current-buffer existing-buffer
;; The above let DOES change the current value in all the buffer
;; _existing_ when `let' is invoked.
(should (eq 'bar let-tests-buffer-local-var))
;; Global default value is still let-bound.
(should (eq 'bar (default-value 'let-tests-buffer-local-var))))))))
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-01 18:02 ` Ihor Radchenko
@ 2024-01-01 19:39 ` Gerd Möllmann
2024-01-01 20:39 ` Ihor Radchenko
2024-01-02 1:30 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-02 11:08 ` Ihor Radchenko
2 siblings, 1 reply; 162+ messages in thread
From: Gerd Möllmann @ 2024-01-01 19:39 UTC (permalink / raw)
To: Ihor Radchenko
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Ihor Radchenko <yantar92@posteo.net> writes:
> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>>> (defvar-local let-tests-buffer-local-var 'value)
>>> (with-temp-buffer
>>> (setq-local let-tests-buffer-local-var 'baz)
>>> (let ((let-tests-buffer-local-var 'bar))
>>> ;; This is failing.
>>> (should (eq 'bar (default-value 'let-tests-buffer-local-var)))
>>
>> C-h f default-value explains this:
>>
>> Return SYMBOL’s default value.
>> This is the value that is seen in buffers that do not have their own values
>> for this variable.
>
> Are you saying that `let' never changes `default-value' output?
Not really. I tried to explain why default-value, in this case, returns
what it returns.
> Unfortunately, no.
Maybe you are seeing something like bug#65209? Or the fix done by Stefan
Monnier in the course of that bug? (See the mails under the bug.)
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-01 19:39 ` Gerd Möllmann
@ 2024-01-01 20:39 ` Ihor Radchenko
2024-01-02 4:43 ` Gerd Möllmann
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2024-01-01 20:39 UTC (permalink / raw)
To: Gerd Möllmann
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>>>> (defvar-local let-tests-buffer-local-var 'value)
>>>> (with-temp-buffer
>>>> (setq-local let-tests-buffer-local-var 'baz)
>>>> (let ((let-tests-buffer-local-var 'bar))
>>>> ;; This is failing.
>>>> (should (eq 'bar (default-value 'let-tests-buffer-local-var)))
>>>
>>> C-h f default-value explains this:
>>>
>>> Return SYMBOL’s default value.
>>> This is the value that is seen in buffers that do not have their own values
>>> for this variable.
>>
>> Are you saying that `let' never changes `default-value' output?
>
> Not really. I tried to explain why default-value, in this case, returns
> what it returns.
I am sorry, but I do not see how the docstring explains what is
happening there. Because it is not clear what `let' does with the
default value.
>> Unfortunately, no.
>
> Maybe you are seeing something like bug#65209? Or the fix done by Stefan
> Monnier in the course of that bug? (See the mails under the bug.)
I am on the latest master.
And I do not think that it is bug#65209.
Let me simplify my example to avoid `setq-local' inside `let'.
AFAIU, what `let' does to the default value depends on whether current
buffer has its own local value of the variable or not.
(defvar-local let-tests-buffer-local-var2 'value) ;; default value is 'value
(with-temp-buffer
(setq-local let-tests-buffer-local-var2 'baz)
(let ((let-tests-buffer-local-var2 'bar))
;; Let does not change the default value for variable.
(should (eq 'value (default-value 'let-tests-buffer-local-var2)))
(should (eq 'bar let-tests-buffer-local-var2))
(with-temp-buffer
;; We are in a new buffer - `let-tests-buffer-local-var2' has its global default value.
(should (eq 'value (default-value 'let-tests-buffer-local-var2)))
(should (eq 'value let-tests-buffer-local-var2)))))
(with-temp-buffer
;; !!! After commenting out this line, the behaviour changes.
;; (setq-local let-tests-buffer-local-var2 'baz)
(let ((let-tests-buffer-local-var2 'bar))
;; Now, let DOES change the default value for variable.
(should (eq 'bar (default-value 'let-tests-buffer-local-var2)))
(should (eq 'bar let-tests-buffer-local-var2))
(with-temp-buffer
;; We are in a new buffer - `let-tests-buffer-local-var2' still has
;; let-bound global and local values.
(should (eq 'bar (default-value 'let-tests-buffer-local-var2)))
(should (eq 'bar let-tests-buffer-local-var2)))))
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-01 18:02 ` Ihor Radchenko
2024-01-01 19:39 ` Gerd Möllmann
@ 2024-01-02 1:30 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-02 11:00 ` Ihor Radchenko
2024-01-02 11:08 ` Ihor Radchenko
2 siblings, 1 reply; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-02 1:30 UTC (permalink / raw)
To: Ihor Radchenko
Cc: Gerd Möllmann, dmitry, Eli Zaretskii, mattias.engdegard,
66117
Ihor Radchenko [2024-01-01 18:02:30] wrote:
> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>>> (defvar-local let-tests-buffer-local-var 'value)
>>> (with-temp-buffer
>>> (setq-local let-tests-buffer-local-var 'baz)
>>> (let ((let-tests-buffer-local-var 'bar))
>>> ;; This is failing.
>>> (should (eq 'bar (default-value 'let-tests-buffer-local-var)))
>>
>> C-h f default-value explains this:
>>
>> Return SYMBOL’s default value.
>> This is the value that is seen in buffers that do not have their own values
>> for this variable.
>
> Are you saying that `let' never changes `default-value' output?
> Unfortunately, no.
Indeed, see the doc that Eli quoted 10 posts "ago":
[...] ELisp manual, which describes the effect of
make-variable-buffer-local:
A peculiar wrinkle of this feature is that binding the variable
(with ‘let’ or other binding constructs) does not create
a buffer-local binding for it. Only setting the variable (with
‘set’ or ‘setq’), while the variable does not have a ‘let’-style
binding that was made in the current buffer, does so.
IOW, `let` changes the binding that is "current": if the variable is
buffer-local in the current buffer it changes that buffer-local value
and otherwise it changes the global value.
[ This for "automatically buffer-local variables". ]
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-01 20:39 ` Ihor Radchenko
@ 2024-01-02 4:43 ` Gerd Möllmann
2024-01-02 10:52 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Gerd Möllmann @ 2024-01-02 4:43 UTC (permalink / raw)
To: Ihor Radchenko
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Ihor Radchenko <yantar92@posteo.net> writes:
> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>>>>> (defvar-local let-tests-buffer-local-var 'value)
>>>>> (with-temp-buffer
>>>>> (setq-local let-tests-buffer-local-var 'baz)
>>>>> (let ((let-tests-buffer-local-var 'bar))
>>>>> ;; This is failing.
>>>>> (should (eq 'bar (default-value 'let-tests-buffer-local-var)))
>>>>
>>>> C-h f default-value explains this:
>>>>
>>>> Return SYMBOL’s default value.
>>>> This is the value that is seen in buffers that do not have their own values
>>>> for this variable.
>>>
>>> Are you saying that `let' never changes `default-value' output?
>>
>> Not really. I tried to explain why default-value, in this case, returns
>> what it returns.
>
> I am sorry, but I do not see how the docstring explains what is
> happening there. Because it is not clear what `let' does with the
> default value.
Sorry for not being clear. What I wanted to hint at is the part of the
doc string that reads "that do not have their own values...", which
means that what default-value returns depends whether or not SYMBOL got
its own value in the buffer, and that depends on the presence of lets,
and so on.
It's (too) complicated, but it is what it is :-/.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 4:43 ` Gerd Möllmann
@ 2024-01-02 10:52 ` Ihor Radchenko
2024-01-02 11:08 ` Gerd Möllmann
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2024-01-02 10:52 UTC (permalink / raw)
To: Gerd Möllmann
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>>>>> C-h f default-value explains this:
>>>>>
>>>>> Return SYMBOL’s default value.
>>>>> This is the value that is seen in buffers that do not have their own values
>>>>> for this variable.
>>>>
>> ...
>> I am sorry, but I do not see how the docstring explains what is
>> happening there. Because it is not clear what `let' does with the
>> default value.
>
> Sorry for not being clear. What I wanted to hint at is the part of the
> doc string that reads "that do not have their own values...", which
> means that what default-value returns depends whether or not SYMBOL got
> its own value in the buffer, and that depends on the presence of lets,
> and so on.
It is not how I read this. AFAIU, `default-value' returns the value that
is used for buffers where the value is not explicitly set. Calling
`default-value' from inside the buffer where the value is set does not
change that global default value and should not change what
`default-value' returns.
And indeed
(defvar-local yant/test 'default-value)
(with-temp-buffer
(setq yant/test 'local-value)
(default-value 'yant/test)) ; => 'default-value
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 1:30 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-01-02 11:00 ` Ihor Radchenko
2024-01-02 11:57 ` Gerd Möllmann
2024-01-03 2:13 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 2 replies; 162+ messages in thread
From: Ihor Radchenko @ 2024-01-02 11:00 UTC (permalink / raw)
To: Stefan Monnier
Cc: Gerd Möllmann, dmitry, Eli Zaretskii, mattias.engdegard,
66117
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>>>> (defvar-local let-tests-buffer-local-var 'value)
>>>> (with-temp-buffer
>>>> (setq-local let-tests-buffer-local-var 'baz)
>>>> (let ((let-tests-buffer-local-var 'bar))
>>>> ;; This is failing.
>>>> (should (eq 'bar (default-value 'let-tests-buffer-local-var)))
>> ...
>> Are you saying that `let' never changes `default-value' output?
>> Unfortunately, no.
>
> Indeed, see the doc that Eli quoted 10 posts "ago":
>
> [...] ELisp manual, which describes the effect of
> make-variable-buffer-local:
>
> A peculiar wrinkle of this feature is that binding the variable
> (with ‘let’ or other binding constructs) does not create
> a buffer-local binding for it. Only setting the variable (with
> ‘set’ or ‘setq’), while the variable does not have a ‘let’-style
> binding that was made in the current buffer, does so.
>
> IOW, `let` changes the binding that is "current": if the variable is
> buffer-local in the current buffer it changes that buffer-local value
> and otherwise it changes the global value.
> [ This for "automatically buffer-local variables". ]
What you say is indeed what I observe, but I do not see how it follows
from the quoted manual text. When I read the above part of the manual, I
see a warning about using `set'/`setq' inside `let' that binds the same
variable.
I think that the caveat about binding buffer-local variables should be
documented.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 10:52 ` Ihor Radchenko
@ 2024-01-02 11:08 ` Gerd Möllmann
2024-01-02 11:17 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Gerd Möllmann @ 2024-01-02 11:08 UTC (permalink / raw)
To: Ihor Radchenko
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Ihor Radchenko <yantar92@posteo.net> writes:
> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>>>>>> C-h f default-value explains this:
>>>>>>
>>>>>> Return SYMBOL’s default value.
>>>>>> This is the value that is seen in buffers that do not have their own values
>>>>>> for this variable.
>>>>>
>>> ...
>>> I am sorry, but I do not see how the docstring explains what is
>>> happening there. Because it is not clear what `let' does with the
>>> default value.
>>
>> Sorry for not being clear. What I wanted to hint at is the part of the
>> doc string that reads "that do not have their own values...", which
>> means that what default-value returns depends whether or not SYMBOL got
>> its own value in the buffer, and that depends on the presence of lets,
>> and so on.
>
> It is not how I read this. AFAIU, `default-value' returns the value that
> is used for buffers where the value is not explicitly set. Calling
> `default-value' from inside the buffer where the value is set does not
> change that global default value and should not change what
> `default-value' returns.
>
> And indeed
>
> (defvar-local yant/test 'default-value)
> (with-temp-buffer
> (setq yant/test 'local-value)
> (default-value 'yant/test)) ; => 'default-value
Maybe the documentation could be changed to be clearer, but I'm afraid I
don't know how, because I think it describes 100% what is happening: the
setq creates a buffer-local binding in the temp buffer, and
default-value returns the value that is used in the case that a buffer
does _not_ have its own value, which is the value set in the
defvar-local...
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-01 18:02 ` Ihor Radchenko
2024-01-01 19:39 ` Gerd Möllmann
2024-01-02 1:30 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-01-02 11:08 ` Ihor Radchenko
2024-01-02 14:08 ` Gerd Möllmann
2 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2024-01-02 11:08 UTC (permalink / raw)
To: Gerd Möllmann
Cc: 66117, dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier
[-- Attachment #1: Type: text/plain, Size: 350 bytes --]
Ihor Radchenko <yantar92@posteo.net> writes:
> See the following two almost identical snippets that yield completely
> different results depending on the present of `setq-default':
> ...
I believe that I now understand enough to add a new meaningful test.
See the attached. Please check the comments in the test to make sure
that they make sense.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-test-src-eval-tests.el-eval-tests-default-value-Add-.patch --]
[-- Type: text/x-patch, Size: 3379 bytes --]
From dfc6dbcd844fbd8b8634b056fb441848b86311ca Mon Sep 17 00:00:00 2001
Message-ID: <dfc6dbcd844fbd8b8634b056fb441848b86311ca.1704193627.git.yantar92@posteo.net>
From: Ihor Radchenko <yantar92@posteo.net>
Date: Tue, 2 Jan 2024 12:06:16 +0100
Subject: [PATCH] test/src/eval-tests.el (eval-tests/default-value): Add new
test case
---
test/src/eval-tests.el | 37 +++++++++++++++++++++++++------------
1 file changed, 25 insertions(+), 12 deletions(-)
diff --git a/test/src/eval-tests.el b/test/src/eval-tests.el
index c1219591e40..5cf9d4e2188 100644
--- a/test/src/eval-tests.el
+++ b/test/src/eval-tests.el
@@ -282,25 +282,38 @@ eval-tests-defvaralias
(should-error (defvaralias 'eval-tests--my-c 'eval-tests--my-d)
:type 'cyclic-variable-indirection))
-(defvar eval-tests/global-var 'value)
-(defvar-local eval-tests/buffer-local-var 'value)
+(defvar eval-tests/global-var 'global-value)
+(defvar-local eval-tests/buffer-local-var 'default-value)
(ert-deftest eval-tests/default-value ()
;; `let' overrides the default value for global variables.
(should (default-boundp 'eval-tests/global-var))
- (should (eq 'value (default-value 'eval-tests/global-var)))
- (should (eq 'value eval-tests/global-var))
- (let ((eval-tests/global-var 'bar))
- (should (eq 'bar (default-value 'eval-tests/global-var)))
- (should (eq 'bar eval-tests/global-var)))
+ (should (eq 'global-value (default-value 'eval-tests/global-var)))
+ (should (eq 'global-value eval-tests/global-var))
+ (let ((eval-tests/global-var 'let-value))
+ (should (eq 'let-value (default-value 'eval-tests/global-var)))
+ (should (eq 'let-value eval-tests/global-var)))
;; `let' overrides the default value everywhere, but leaves
;; buffer-local values unchanged in current buffer and in the
;; buffers where there is no explicitly set buffer-local value.
(should (default-boundp 'eval-tests/buffer-local-var))
- (should (eq 'value (default-value 'eval-tests/buffer-local-var)))
- (should (eq 'value eval-tests/buffer-local-var))
+ (should (eq 'default-value (default-value 'eval-tests/buffer-local-var)))
+ (should (eq 'default-value eval-tests/buffer-local-var))
(with-temp-buffer
- (let ((eval-tests/buffer-local-var 'bar))
- (should (eq 'bar (default-value 'eval-tests/buffer-local-var)))
- (should (eq 'bar eval-tests/buffer-local-var)))))
+ (let ((eval-tests/buffer-local-var 'let-value))
+ (should (eq 'let-value (default-value 'eval-tests/buffer-local-var)))
+ (should (eq 'let-value eval-tests/buffer-local-var))))
+ ;; When current buffer has explicit buffer-local binding, `let' does
+ ;; not alter the default binding.
+ (with-temp-buffer
+ (setq-local eval-tests/buffer-local-var 'local-value)
+ (let ((eval-tests/buffer-local-var 'let-value))
+ ;; Let in a buffer with local binding does not change the
+ ;; default value for variable.
+ (should (eq 'default-value (default-value 'eval-tests/buffer-local-var)))
+ (should (eq 'let-value eval-tests/buffer-local-var))
+ (with-temp-buffer
+ ;; We are in a new buffer - `eval-tests/buffer-local-var' has its global default value.
+ (should (eq 'default-value (default-value 'eval-tests/buffer-local-var)))
+ (should (eq 'default-value eval-tests/buffer-local-var))))))
;;; eval-tests.el ends here
--
2.42.0
[-- Attachment #3: Type: text/plain, Size: 224 bytes --]
--
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 related [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 11:08 ` Gerd Möllmann
@ 2024-01-02 11:17 ` Ihor Radchenko
2024-01-02 11:48 ` Gerd Möllmann
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2024-01-02 11:17 UTC (permalink / raw)
To: Gerd Möllmann
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>> (defvar-local yant/test 'default-value)
>> (with-temp-buffer
>> (setq yant/test 'local-value)
>> (default-value 'yant/test)) ; => 'default-value
>
> Maybe the documentation could be changed to be clearer, but I'm afraid I
> don't know how, because I think it describes 100% what is happening: the
> setq creates a buffer-local binding in the temp buffer, and
> default-value returns the value that is used in the case that a buffer
> does _not_ have its own value, which is the value set in the
> defvar-local...
We clearly have some misunderstanding.
Doesn't your statement contradict the earlier one:
>>>> doc string that reads "that do not have their own values...", which
>>>> means that what default-value returns depends whether or not SYMBOL got
>>>> its own value in the buffer
In my example, SYMBOL does get its own value in the buffer, but
`default-value' still returns 'default-value.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 11:17 ` Ihor Radchenko
@ 2024-01-02 11:48 ` Gerd Möllmann
2024-01-02 12:07 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Gerd Möllmann @ 2024-01-02 11:48 UTC (permalink / raw)
To: Ihor Radchenko
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Ihor Radchenko <yantar92@posteo.net> writes:
> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>>> (defvar-local yant/test 'default-value)
>>> (with-temp-buffer
>>> (setq yant/test 'local-value)
>>> (default-value 'yant/test)) ; => 'default-value
>>
>> Maybe the documentation could be changed to be clearer, but I'm afraid I
>> don't know how, because I think it describes 100% what is happening: the
>> setq creates a buffer-local binding in the temp buffer, and
>> default-value returns the value that is used in the case that a buffer
>> does _not_ have its own value, which is the value set in the
>> defvar-local...
>
> We clearly have some misunderstanding.
I tend to agree :-).
> Doesn't your statement contradict the earlier one:
>
> >>>> doc string that reads "that do not have their own values...", which
> >>>> means that what default-value returns depends whether or not SYMBOL got
> >>>> its own value in the buffer
>
> In my example, SYMBOL does get its own value in the buffer, but
> `default-value' still returns 'default-value.
I assume you mean the example from above? This one:
>>> (defvar-local yant/test 'default-value)
>>> (with-temp-buffer
>>> (setq yant/test 'local-value)
>>> (default-value 'yant/test)) ; => 'default-value
If so, the "gets its own ... _but_ default-value still returns..." hints
at the misunderstanding, maybe. It should be something like "because it
gets its own..., default-value returns...".
Maybe one could reformulate the doc string of default-value like this?
Return SYMBOL’s default value.
This is the value that is seen in buffers that do not have their own values
for this variable.
=>
Return SYMBOL’s default value.
This is the value that would be seen in the buffer if it didn't have
its own value.
Although I find the original clearer...
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 11:00 ` Ihor Radchenko
@ 2024-01-02 11:57 ` Gerd Möllmann
2024-01-02 12:11 ` Ihor Radchenko
2024-01-03 2:13 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 1 reply; 162+ messages in thread
From: Gerd Möllmann @ 2024-01-02 11:57 UTC (permalink / raw)
To: Ihor Radchenko
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Ihor Radchenko <yantar92@posteo.net> writes:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
>>>>> (defvar-local let-tests-buffer-local-var 'value)
>>>>> (with-temp-buffer
>>>>> (setq-local let-tests-buffer-local-var 'baz)
>>>>> (let ((let-tests-buffer-local-var 'bar))
>>>>> ;; This is failing.
>>>>> (should (eq 'bar (default-value 'let-tests-buffer-local-var)))
>>> ...
>>> Are you saying that `let' never changes `default-value' output?
>>> Unfortunately, no.
>>
>> Indeed, see the doc that Eli quoted 10 posts "ago":
>>
>> [...] ELisp manual, which describes the effect of
>> make-variable-buffer-local:
>>
>> A peculiar wrinkle of this feature is that binding the variable
>> (with ‘let’ or other binding constructs) does not create
>> a buffer-local binding for it. Only setting the variable (with
>> ‘set’ or ‘setq’), while the variable does not have a ‘let’-style
>> binding that was made in the current buffer, does so.
>>
>> IOW, `let` changes the binding that is "current": if the variable is
>> buffer-local in the current buffer it changes that buffer-local value
>> and otherwise it changes the global value.
>> [ This for "automatically buffer-local variables". ]
>
> What you say is indeed what I observe, but I do not see how it follows
> from the quoted manual text. When I read the above part of the manual, I
> see a warning about using `set'/`setq' inside `let' that binds the same
> variable.
But it is talking about make-variable-buffer-local, so "the variable" is
a local variable, IMHO.
> I think that the caveat about binding buffer-local variables should be
> documented.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 12:07 ` Ihor Radchenko
@ 2024-01-02 12:07 ` Gerd Möllmann
2024-01-02 12:15 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Gerd Möllmann @ 2024-01-02 12:07 UTC (permalink / raw)
To: Ihor Radchenko
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Ihor Radchenko <yantar92@posteo.net> writes:
> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>>> In my example, SYMBOL does get its own value in the buffer, but
>>> `default-value' still returns 'default-value.
>>
>> I assume you mean the example from above? This one:
>
> Yes.
>
>>>>> (defvar-local yant/test 'default-value)
>>>>> (with-temp-buffer
>>>>> (setq yant/test 'local-value)
>>>>> (default-value 'yant/test)) ; => 'default-value
>>
>> If so, the "gets its own ... _but_ default-value still returns..." hints
>> at the misunderstanding, maybe. It should be something like "because it
>> gets its own..., default-value returns...".
>>
>> Maybe one could reformulate the doc string of default-value like this?
>>
>> Return SYMBOL’s default value.
>> This is the value that is seen in buffers that do not have their own values
>> for this variable.
>>
>> =>
>>
>> Return SYMBOL’s default value.
>> This is the value that would be seen in the buffer if it didn't have
>> its own value.
>>
>> Although I find the original clearer...
>
> Both versions are actually clear for me. What was not clear for me is
> how the docstring explains my `let' example.
Sorry, I've lost track what the let example is.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 11:48 ` Gerd Möllmann
@ 2024-01-02 12:07 ` Ihor Radchenko
2024-01-02 12:07 ` Gerd Möllmann
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2024-01-02 12:07 UTC (permalink / raw)
To: Gerd Möllmann
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>> In my example, SYMBOL does get its own value in the buffer, but
>> `default-value' still returns 'default-value.
>
> I assume you mean the example from above? This one:
Yes.
>>>> (defvar-local yant/test 'default-value)
>>>> (with-temp-buffer
>>>> (setq yant/test 'local-value)
>>>> (default-value 'yant/test)) ; => 'default-value
>
> If so, the "gets its own ... _but_ default-value still returns..." hints
> at the misunderstanding, maybe. It should be something like "because it
> gets its own..., default-value returns...".
>
> Maybe one could reformulate the doc string of default-value like this?
>
> Return SYMBOL’s default value.
> This is the value that is seen in buffers that do not have their own values
> for this variable.
>
> =>
>
> Return SYMBOL’s default value.
> This is the value that would be seen in the buffer if it didn't have
> its own value.
>
> Although I find the original clearer...
Both versions are actually clear for me. What was not clear for me is
how the docstring explains my `let' example.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 11:57 ` Gerd Möllmann
@ 2024-01-02 12:11 ` Ihor Radchenko
0 siblings, 0 replies; 162+ messages in thread
From: Ihor Radchenko @ 2024-01-02 12:11 UTC (permalink / raw)
To: Gerd Möllmann
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>> What you say is indeed what I observe, but I do not see how it follows
>> from the quoted manual text. When I read the above part of the manual, I
>> see a warning about using `set'/`setq' inside `let' that binds the same
>> variable.
>
> But it is talking about make-variable-buffer-local, so "the variable" is
> a local variable, IMHO.
Of course. But my question was about what `let' does to the default
value of buffer-local variables. While the manual only explains about
setq/set.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 12:07 ` Gerd Möllmann
@ 2024-01-02 12:15 ` Ihor Radchenko
2024-01-02 12:57 ` Gerd Möllmann
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2024-01-02 12:15 UTC (permalink / raw)
To: Gerd Möllmann
Cc: dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier, 66117
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>> Both versions are actually clear for me. What was not clear for me is
>> how the docstring explains my `let' example.
>
> Sorry, I've lost track what the let example is.
(defvar-local eval-tests/buffer-local-var 'default-value)
(with-temp-buffer
(setq-local eval-tests/buffer-local-var 'local-value)
(let ((eval-tests/buffer-local-var 'let-value))
;; Let in a buffer with local binding does not change the
;; default value for variable.
(should (eq 'default-value (default-value 'eval-tests/buffer-local-var)))))
(with-temp-buffer
;; (setq-local eval-tests/buffer-local-var 'local-value)
(let ((eval-tests/buffer-local-var 'let-value))
;; Let in a buffer with local binding does not change the
;; default value for variable.
(should (eq 'let-value (default-value 'eval-tests/buffer-local-var)))))
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 12:15 ` Ihor Radchenko
@ 2024-01-02 12:57 ` Gerd Möllmann
2024-01-02 13:09 ` Ihor Radchenko
0 siblings, 1 reply; 162+ messages in thread
From: Gerd Möllmann @ 2024-01-02 12:57 UTC (permalink / raw)
To: Ihor Radchenko
Cc: 66117, dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier
Ihor Radchenko <yantar92@posteo.net> writes:
> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>>> Both versions are actually clear for me. What was not clear for me is
>>> how the docstring explains my `let' example.
>>
>> Sorry, I've lost track what the let example is.
>
> (defvar-local eval-tests/buffer-local-var 'default-value)
>
Thanks.
> (with-temp-buffer
> (setq-local eval-tests/buffer-local-var 'local-value)
> (let ((eval-tests/buffer-local-var 'let-value))
> ;; Let in a buffer with local binding does not change the
> ;; default value for variable.
> (should (eq 'default-value (default-value
> 'eval-tests/buffer-local-var)))))
I assume this is clear. Temp buffer has local value, the let changes the
local (current) value, default-value determines the value as if the
local values weren't there, and so on.
>
> (with-temp-buffer
> ;; (setq-local eval-tests/buffer-local-var 'local-value)
> (let ((eval-tests/buffer-local-var 'let-value))
> ;; Let in a buffer with local binding does not change the
> ;; default value for variable.
> (should (eq 'let-value (default-value 'eval-tests/buffer-local-var)))))
Here, temp has no local value, so the current value is the global one.
Let changes the global (current) value, and default-value picks that up.
In both cases, I don't know if that's mentioned explicitly in some doc
string. It's the normal behavior of let with special variables (dynamic
variables). The current value that is set changes depending on
circumstances.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 12:57 ` Gerd Möllmann
@ 2024-01-02 13:09 ` Ihor Radchenko
2024-01-02 13:28 ` Gerd Möllmann
0 siblings, 1 reply; 162+ messages in thread
From: Ihor Radchenko @ 2024-01-02 13:09 UTC (permalink / raw)
To: Gerd Möllmann
Cc: 66117, dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>> (with-temp-buffer
>> ;; (setq-local eval-tests/buffer-local-var 'local-value)
>> (let ((eval-tests/buffer-local-var 'let-value))
>> ;; Let in a buffer with local binding does not change the
>> ;; default value for variable.
>> (should (eq 'let-value (default-value 'eval-tests/buffer-local-var)))))
>
> Here, temp has no local value, so the current value is the global one.
> Let changes the global (current) value, and default-value picks that up.
>
> In both cases, I don't know if that's mentioned explicitly in some doc
> string. It's the normal behavior of let with special variables (dynamic
> variables). The current value that is set changes depending on
> circumstances.
AFAIK, this detail is not documented anywhere.
--
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] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 13:09 ` Ihor Radchenko
@ 2024-01-02 13:28 ` Gerd Möllmann
2024-01-03 14:28 ` Gerd Möllmann
0 siblings, 1 reply; 162+ messages in thread
From: Gerd Möllmann @ 2024-01-02 13:28 UTC (permalink / raw)
To: Ihor Radchenko
Cc: 66117, dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier
Ihor Radchenko <yantar92@posteo.net> writes:
> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
>
>>> (with-temp-buffer
>>> ;; (setq-local eval-tests/buffer-local-var 'local-value)
>>> (let ((eval-tests/buffer-local-var 'let-value))
>>> ;; Let in a buffer with local binding does not change the
>>> ;; default value for variable.
>>> (should (eq 'let-value (default-value 'eval-tests/buffer-local-var)))))
>>
>> Here, temp has no local value, so the current value is the global one.
>> Let changes the global (current) value, and default-value picks that up.
>>
>> In both cases, I don't know if that's mentioned explicitly in some doc
>> string. It's the normal behavior of let with special variables (dynamic
>> variables). The current value that is set changes depending on
>> circumstances.
>
> AFAIK, this detail is not documented anywhere.
elisp.info, 12.10.2 Dynamic Binding has a bit.
(And, BTW, the doc string of let says it's a generalized variable?
Is that right?)
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 11:08 ` Ihor Radchenko
@ 2024-01-02 14:08 ` Gerd Möllmann
0 siblings, 0 replies; 162+ messages in thread
From: Gerd Möllmann @ 2024-01-02 14:08 UTC (permalink / raw)
To: Ihor Radchenko
Cc: 66117, dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier
Ihor Radchenko <yantar92@posteo.net> writes:
> Ihor Radchenko <yantar92@posteo.net> writes:
>
>> See the following two almost identical snippets that yield completely
>> different results depending on the present of `setq-default':
>> ...
>
> I believe that I now understand enough to add a new meaningful test.
> See the attached. Please check the comments in the test to make sure
> that they make sense.
Looks good to me.
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 11:00 ` Ihor Radchenko
2024-01-02 11:57 ` Gerd Möllmann
@ 2024-01-03 2:13 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
1 sibling, 0 replies; 162+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-01-03 2:13 UTC (permalink / raw)
To: Ihor Radchenko
Cc: Gerd Möllmann, dmitry, Eli Zaretskii, mattias.engdegard,
66117
>> Indeed, see the doc that Eli quoted 10 posts "ago":
>>
>> [...] ELisp manual, which describes the effect of
>> make-variable-buffer-local:
>>
>> A peculiar wrinkle of this feature is that binding the variable
>> (with ‘let’ or other binding constructs) does not create
>> a buffer-local binding for it. Only setting the variable (with
>> ‘set’ or ‘setq’), while the variable does not have a ‘let’-style
>> binding that was made in the current buffer, does so.
>>
>> IOW, `let` changes the binding that is "current": if the variable is
>> buffer-local in the current buffer it changes that buffer-local value
>> and otherwise it changes the global value.
>> [ This for "automatically buffer-local variables". ]
>
> What you say is indeed what I observe, but I do not see how it follows
> from the quoted manual text.
It follows from the first sentence:
A peculiar wrinkle of this feature is that binding the variable
(with ‘let’ or other binding constructs) does not create
a buffer-local binding for it.
> When I read the above part of the manual, I see a warning about using
> `set'/`setq' inside `let' that binds the same variable.
That's in the second sentence.
> I think that the caveat about binding buffer-local variables should be
> documented.
Actually, let-binding works the same for all vars: it affects only the
binding that's currently active.
Stefan
^ permalink raw reply [flat|nested] 162+ messages in thread
* bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
2024-01-02 13:28 ` Gerd Möllmann
@ 2024-01-03 14:28 ` Gerd Möllmann
0 siblings, 0 replies; 162+ messages in thread
From: Gerd Möllmann @ 2024-01-03 14:28 UTC (permalink / raw)
To: Ihor Radchenko
Cc: 66117, dmitry, Eli Zaretskii, mattias.engdegard, Stefan Monnier
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
> (And, BTW, the doc string of let says it's a generalized variable?
> Is that right?)
To answer my own question: it is indeed
(defvar x '(1 . 2))
(setf (let ((a x)) (cdr a)) 4)
x
=> (1 . 4)
^ permalink raw reply [flat|nested] 162+ messages in thread
end of thread, other threads:[~2024-01-03 14:28 UTC | newest]
Thread overview: 162+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-20 8:53 bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers Ihor Radchenko
2023-09-22 1:36 ` Dmitry Gutov
2023-09-22 11:03 ` Ihor Radchenko
2023-09-22 12:11 ` Dmitry Gutov
2023-09-22 12:41 ` Ihor Radchenko
2023-09-22 12:59 ` Eli Zaretskii
2023-09-22 13:30 ` Ihor Radchenko
2023-09-22 14:57 ` Eli Zaretskii
2023-09-23 8:22 ` Ihor Radchenko
2023-09-23 8:57 ` Eli Zaretskii
2023-09-24 10:54 ` Ihor Radchenko
2023-09-24 12:50 ` Eli Zaretskii
2023-09-26 8:54 ` Ihor Radchenko
2023-09-26 14:18 ` Michael Albinus
2023-10-04 10:57 ` Ihor Radchenko
2023-09-26 11:11 ` Dmitry Gutov
2023-09-26 13:06 ` Ihor Radchenko
2023-09-27 23:30 ` Michael Heerdegen
2023-10-05 14:25 ` Ihor Radchenko
2023-09-29 7:30 ` Eli Zaretskii
2023-09-29 13:56 ` Ihor Radchenko
2023-09-29 16:12 ` Eli Zaretskii
2023-10-03 3:25 ` Michael Heerdegen
2023-10-03 6:00 ` Eli Zaretskii
2023-10-07 8:25 ` Ihor Radchenko
2023-10-07 8:48 ` Eli Zaretskii
2023-10-07 9:29 ` Ihor Radchenko
2023-10-07 10:57 ` Eli Zaretskii
2023-10-07 11:08 ` Ihor Radchenko
2023-10-07 11:24 ` Eli Zaretskii
2023-10-07 11:43 ` Ihor Radchenko
2023-10-07 12:05 ` Eli Zaretskii
2023-10-08 9:00 ` Ihor Radchenko
2023-10-08 9:56 ` Eli Zaretskii
2023-10-09 10:02 ` Ihor Radchenko
2023-10-09 10:16 ` Ihor Radchenko
2023-12-12 14:24 ` Ihor Radchenko
2023-12-12 14:49 ` Eli Zaretskii
2023-12-12 16:33 ` Ihor Radchenko
2023-12-12 17:26 ` Eli Zaretskii
2023-12-12 17:44 ` Ihor Radchenko
2023-12-12 18:36 ` Eli Zaretskii
2023-12-12 19:10 ` Dmitry Gutov
2023-12-12 19:16 ` Eli Zaretskii
2023-12-12 19:18 ` Ihor Radchenko
2023-12-12 19:20 ` Eli Zaretskii
2023-12-12 20:01 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 20:47 ` Dmitry Gutov
2023-12-12 22:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 23:40 ` Dmitry Gutov
2023-12-13 3:50 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 23:09 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-12 23:43 ` Ihor Radchenko
2023-12-12 23:47 ` Dmitry Gutov
2023-12-13 3:55 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-13 12:10 ` Eli Zaretskii
2023-12-13 13:06 ` Ihor Radchenko
2023-12-13 13:25 ` Eli Zaretskii
2023-12-13 13:43 ` Ihor Radchenko
2023-12-13 13:51 ` Eli Zaretskii
2023-12-13 14:12 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-13 14:58 ` Eli Zaretskii
2023-12-13 14:32 ` Ihor Radchenko
2023-12-13 15:22 ` Eli Zaretskii
2023-12-14 14:20 ` Ihor Radchenko
2023-12-14 16:40 ` Eli Zaretskii
2023-12-14 17:07 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 17:14 ` Eli Zaretskii
2023-12-14 18:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 18:30 ` Ihor Radchenko
2023-12-14 18:41 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 19:02 ` Ihor Radchenko
2023-12-14 19:36 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-15 11:01 ` Ihor Radchenko
2023-12-15 13:47 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 6:04 ` Eli Zaretskii
2023-12-17 6:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 8:30 ` Eli Zaretskii
2023-12-17 10:31 ` Ihor Radchenko
2023-12-17 10:36 ` Eli Zaretskii
2023-12-17 10:46 ` Eli Zaretskii
2023-12-17 10:56 ` Ihor Radchenko
2023-12-17 11:06 ` Eli Zaretskii
2023-12-17 11:19 ` Ihor Radchenko
2023-12-17 12:06 ` Eli Zaretskii
2023-12-19 13:24 ` Ihor Radchenko
2023-12-19 13:38 ` Eli Zaretskii
2023-12-20 20:33 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-21 5:56 ` Gerd Möllmann
2023-12-21 13:25 ` Ihor Radchenko
2023-12-21 13:39 ` Gerd Möllmann
2024-01-01 18:02 ` Ihor Radchenko
2024-01-01 19:39 ` Gerd Möllmann
2024-01-01 20:39 ` Ihor Radchenko
2024-01-02 4:43 ` Gerd Möllmann
2024-01-02 10:52 ` Ihor Radchenko
2024-01-02 11:08 ` Gerd Möllmann
2024-01-02 11:17 ` Ihor Radchenko
2024-01-02 11:48 ` Gerd Möllmann
2024-01-02 12:07 ` Ihor Radchenko
2024-01-02 12:07 ` Gerd Möllmann
2024-01-02 12:15 ` Ihor Radchenko
2024-01-02 12:57 ` Gerd Möllmann
2024-01-02 13:09 ` Ihor Radchenko
2024-01-02 13:28 ` Gerd Möllmann
2024-01-03 14:28 ` Gerd Möllmann
2024-01-02 1:30 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-02 11:00 ` Ihor Radchenko
2024-01-02 11:57 ` Gerd Möllmann
2024-01-02 12:11 ` Ihor Radchenko
2024-01-03 2:13 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-02 11:08 ` Ihor Radchenko
2024-01-02 14:08 ` Gerd Möllmann
2023-12-17 15:17 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 16:02 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-17 10:52 ` Ihor Radchenko
2023-12-17 11:01 ` Eli Zaretskii
2023-12-17 11:26 ` Ihor Radchenko
2023-12-17 12:14 ` Eli Zaretskii
2023-12-17 15:24 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 18:49 ` Eli Zaretskii
2023-12-14 19:49 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 20:24 ` Eli Zaretskii
2023-12-14 20:57 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 21:32 ` Dmitry Gutov
2023-12-14 23:03 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-14 19:15 ` Ihor Radchenko
2023-12-14 19:56 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-15 10:19 ` Ihor Radchenko
2023-10-08 11:16 ` Dmitry Gutov
2023-10-08 11:25 ` Ihor Radchenko
2023-10-08 11:44 ` Eli Zaretskii
2023-10-08 12:10 ` Ihor Radchenko
2023-10-08 12:28 ` Dmitry Gutov
2023-10-08 12:11 ` Dmitry Gutov
2023-10-08 12:20 ` Ihor Radchenko
2023-10-09 0:48 ` Dmitry Gutov
2023-12-23 8:54 ` Eli Zaretskii
2023-12-23 9:41 ` Ihor Radchenko
2023-12-23 11:16 ` Eli Zaretskii
2023-12-23 11:28 ` Ihor Radchenko
2023-12-23 11:51 ` Eli Zaretskii
2023-12-23 14:30 ` Ihor Radchenko
2023-12-30 7:39 ` Eli Zaretskii
2023-12-29 7:47 ` Eli Zaretskii
2023-12-29 13:55 ` Ihor Radchenko
2023-12-30 8:08 ` Eli Zaretskii
2023-12-30 9:50 ` Eli Zaretskii
2023-12-30 10:10 ` Eli Zaretskii
2023-12-30 10:39 ` Ihor Radchenko
2023-12-30 11:07 ` Eli Zaretskii
2023-12-30 12:51 ` Ihor Radchenko
2023-12-30 13:24 ` Eli Zaretskii
2024-01-01 17:11 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-22 13:02 ` Dmitry Gutov
2023-09-22 13:10 ` Eli Zaretskii
2023-09-22 13:38 ` Ihor Radchenko
2023-09-22 13:45 ` Dmitry Gutov
2023-10-04 10:58 ` Ihor Radchenko
2023-10-04 11:46 ` Dmitry Gutov
2023-10-05 11:27 ` Ihor Radchenko
2023-10-05 17:14 ` Dmitry Gutov
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.