[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scratch/etags-regen 798c90b 07/11: Support etags-regen-program-options i
From: |
Dmitry Gutov |
Subject: |
scratch/etags-regen 798c90b 07/11: Support etags-regen-program-options in --update-file |
Date: |
Sun, 3 Jan 2021 19:06:31 -0500 (EST) |
branch: scratch/etags-regen
commit 798c90ba1b4bc545860f8847bf6ec4e8e460218a
Author: Dmitry Gutov <dgutov@yandex.ru>
Commit: Dmitry Gutov <dgutov@yandex.ru>
Support etags-regen-program-options in --update-file
Also switch to shell-command for consistency, to avoid problems with
quoting in regexps.
---
lisp/progmodes/etags-regen.el | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/lisp/progmodes/etags-regen.el b/lisp/progmodes/etags-regen.el
index 21cd578..8876f38 100644
--- a/lisp/progmodes/etags-regen.el
+++ b/lisp/progmodes/etags-regen.el
@@ -92,11 +92,12 @@
(insert f "\n")))
files)
(shell-command-on-region (point-min) (point-max) command
- nil nil "*etags-project-tags-errors*" t))))
+ nil nil "*etags-project-tags-errors*" t))))
(defun etags-regen--update-file ()
;; TODO: Maybe only do this when Emacs is idle for a bit.
(let ((file-name buffer-file-name)
+ (options etags-regen-program-options)
(tags-file-buf (get-file-buffer etags-regen--tags-file))
pr should-scan)
(save-excursion
@@ -127,15 +128,13 @@
(goto-char (point-max))
(let ((inhibit-read-only t)
(current-end (point)))
- (call-process
- etags-regen-program
- nil
- '(t "*etags-project-tags-errors*")
- nil
- file-name
- "--append"
- "-o"
- "-")
+ ;; FIXME: call-process is significantly faster, though.
+ ;; Like 10ms vs 20ms here.
+ (shell-command
+ (format "%s %s %s -o -"
+ etags-regen-program (mapconcat #'identity options " ")
+ file-name)
+ t "*etags-project-tags-errors*")
;; XXX: When the project is big (tags file in 10s of megabytes),
;; this is much faster than revert-buffer. Or even using
;; write-region without APPEND.
- scratch/etags-regen updated (94437f9 -> 5270872), Dmitry Gutov, 2021/01/03
- scratch/etags-regen 4d0886e 02/11: Move to a separate file and minor mode, Dmitry Gutov, 2021/01/03
- scratch/etags-regen d6285de 05/11: New defcustom: etags-regen-program-options, Dmitry Gutov, 2021/01/03
- scratch/etags-regen d9e3afe 04/11: Make etags-regen-program a user option, Dmitry Gutov, 2021/01/03
- scratch/etags-regen 798c90b 07/11: Support etags-regen-program-options in --update-file,
Dmitry Gutov <=
- scratch/etags-regen 5270872 11/11: Undo the etags.el changes, Dmitry Gutov, 2021/01/03
- scratch/etags-regen aa4eddb 09/11: Ensure errors buffer name is more consistent, Dmitry Gutov, 2021/01/03
- scratch/etags-regen 8ce70eb 06/11: Use `silent' for appending, too, Dmitry Gutov, 2021/01/03
- scratch/etags-regen 46c1f2f 10/11: Solve (hopefully?) the local-variable-satefy issue, Dmitry Gutov, 2021/01/03
- scratch/etags-regen ab5bf3c 01/11: Merge branch 'master' into scratch/etags-regen, Dmitry Gutov, 2021/01/03
- scratch/etags-regen 6f26f60 08/11: Bookkeeping, Dmitry Gutov, 2021/01/03
- scratch/etags-regen 570f132 03/11: etags.c: Implement the -L flag, Dmitry Gutov, 2021/01/03