emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/tuareg 12ccb48071 2/2: (tuareg-mode-revision): Don't secon


From: ELPA Syncer
Subject: [nongnu] elpa/tuareg 12ccb48071 2/2: (tuareg-mode-revision): Don't second-guess macroexp-file-name
Date: Sun, 17 Jul 2022 22:59:02 -0400 (EDT)

branch: elpa/tuareg
commit 12ccb48071fe9f5d570a78167f3438e297815941
Merge: 68b7c313ab 57a79f9444
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    (tuareg-mode-revision): Don't second-guess macroexp-file-name
---
 tuareg.el | 25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/tuareg.el b/tuareg.el
index dc13d6c047..b1e61e34ed 100644
--- a/tuareg.el
+++ b/tuareg.el
@@ -91,15 +91,22 @@
 
 (defconst tuareg-mode-revision
   (eval-when-compile
-    (with-temp-buffer
-      (if (file-directory-p ".git")
-           (progn
-             (insert "git: ")
-             (call-process "git" nil t nil "log" "--pretty=%h" "-1")))
-      (unless (zerop (buffer-size))
-        (buffer-substring-no-properties
-         (point-min) (1- (point-max))))))
-  "Tuareg revision from the control system used.")
+    (let ((dir (if (fboundp 'macroexp-file-name)
+                   (let ((f (macroexp-file-name)))
+                     (and f (file-name-directory f)))
+                 (or (and load-file-name (file-name-directory load-file-name))
+                     default-directory))))
+      (when dir
+        (with-temp-buffer
+          (let ((default-directory dir))
+            (and (file-exists-p ".git")
+                 (ignore-errors
+                   (call-process "git" nil t nil "log" "--pretty=%h" "-1"))
+                 (not (zerop (buffer-size)))
+                 (concat "git: "
+                         (buffer-substring-no-properties
+                          (point-min) (1- (point-max))))))))))
+  "Tuareg revision from the control system used, or nil.")
 
 (defconst tuareg-mode-version
   (let ((version (or (if (fboundp 'package-get-version)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]