all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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>

  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.