From 6f0a38e64e0b76f1759bce9f9495c7f45d9b9a81 Mon Sep 17 00:00:00 2001 From: Tim Quelch Date: Thu, 27 Aug 2020 15:23:38 +1000 Subject: [PATCH] (feat): disable unnecessary org-mode startup for temp buffers (#1057) Set `org-inhibit-startup` to `t` to reduce the amount of time taken to set up org-mode buffers. For example, this disables latex image generation, and table alignment. Also introduces `org-roam-doctor-inhibit-startup`, which speeds up `org-roam-doctor` runs. --- CHANGELOG.md | 2 ++ doc/AUTHORS.md | 2 +- org-roam-doctor.el | 12 +++++++++++- org-roam-macs.el | 3 ++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d8e11f..2b478a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ In this release we support fuzzy links of the form `[[Title]]`, `[[*Headline]]` ### Bugfixes +- [#1057](https://github.com/org-roam/org-roam/pull/1057) Improve performance of database builds by preventing generation of LaTeX and image previews. + ## 1.2.1 (27-07-2020) This release consisted of a big deal of refactoring and bug fixes. Notably, we fixed several catastrophic failures on db builds with bad setups (#854), and modularized tag and title extractions. diff --git a/doc/AUTHORS.md b/doc/AUTHORS.md index d928862..75857cc 100644 --- a/doc/AUTHORS.md +++ b/doc/AUTHORS.md @@ -34,4 +34,4 @@ Contributors - Rafael Accácio Nogueira - Roland Coeurjoly - Sayan -- Tim Quelch +- Tim Quelch diff --git a/org-roam-doctor.el b/org-roam-doctor.el index 143c48f..b83a76b 100644 --- a/org-roam-doctor.el +++ b/org-roam-doctor.el @@ -59,6 +59,15 @@ (defvar org-roam-verbose) (defvar org-roam-mode) +(defcustom org-roam-doctor-inhibit-startup t + "Inhibit `org-mode' startup when processing files with `org-doctor'. +When non-nil, images and LaTeX preview will not be generated, +tables will not be aligned, and headlines will not respect +startup visability. This significantly improves performance when +processing multiple files" + :type 'boolean + :group 'org-roam) + (cl-defstruct (org-roam-doctor-checker (:copier nil)) (name 'missing-checker-name) (description "") @@ -294,7 +303,8 @@ If CHECKALL, run the check for all Org-roam files." (defun org-roam-doctor-start (files checkers) "Lint FILES using CHECKERS." (save-window-excursion - (let ((existing-buffers (org-roam--get-roam-buffers))) + (let ((existing-buffers (org-roam--get-roam-buffers)) + (org-inhibit-startup org-roam-doctor-inhibit-startup)) (dolist (f files) (let ((buf (find-file-noselect f))) (org-roam-doctor--check buf checkers) diff --git a/org-roam-macs.el b/org-roam-macs.el index 2d2c6d6..86fed3e 100644 --- a/org-roam-macs.el +++ b/org-roam-macs.el @@ -55,7 +55,8 @@ If FILE, set `org-roam-temp-file-name' to file and insert its contents." `(let ((,current-org-roam-directory org-roam-directory)) (with-temp-buffer (let ((org-roam-directory ,current-org-roam-directory) - (org-mode-hook nil)) + (org-mode-hook nil) + (org-inhibit-startup t)) (org-mode) (when ,file (insert-file-contents ,file)