From: Ihor Radchenko <yantar92@posteo.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: dmitry@gutov.dev, 66117@debbugs.gnu.org
Subject: bug#66117: 30.0.50; `find-buffer-visiting' is slow when opening large number of buffers
Date: Sun, 08 Oct 2023 09:00:49 +0000 [thread overview]
Message-ID: <87v8bhxzcu.fsf@localhost> (raw)
In-Reply-To: <83zg0uzlgw.fsf@gnu.org>
[-- 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>
next prev parent reply other threads:[~2023-10-08 9:00 UTC|newest]
Thread overview: 162+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87v8bhxzcu.fsf@localhost \
--to=yantar92@posteo.net \
--cc=66117@debbugs.gnu.org \
--cc=dmitry@gutov.dev \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.