summary refs log tree commit diff
path: root/gnu/packages/emacs.scm
diff options
context:
space:
mode:
authorMorgan Smith <Morgan.J.Smith@outlook.com>2021-10-19 15:10:09 -0400
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2021-10-24 10:49:45 +0200
commit49d19b35cebd749510b7dddd773d76a3a96d1358 (patch)
tree67225ddf98ec65ba810d6898762972f3b5717936 /gnu/packages/emacs.scm
parent9c3b2cf0b3328a08d026dbbf4fea4c26eafc67ef (diff)
downloadguix-49d19b35cebd749510b7dddd773d76a3a96d1358.tar.gz
gnu: emacs: Handle pdump filenames that contain a fingerprint.
* gnu/packages/emacs.scm (emacs) [restore-emacs-pdmp]: Use lax regular
expressions to match files by the “.pdmp” file ending only.  Adjust comment
accordingly.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r--gnu/packages/emacs.scm16
1 files changed, 7 insertions, 9 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 6d9950d068..22d8db3839 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -182,15 +182,13 @@
            (lambda* (#:key outputs target #:allow-other-keys)
              (let* ((libexec (string-append (assoc-ref outputs "out")
                                             "/libexec"))
-                    ;; each of these find-files should return one file
-                    (pdmp (find-files libexec "^emacs\\.pdmp$"))
-                    (pdmp-real (find-files libexec
-                                           "^\\.emacs\\.pdmp-real$")))
-               (for-each (lambda (wrapper real)
-                           (delete-file wrapper)
-                           (rename-file real wrapper))
-                         pdmp pdmp-real))
-             #t))
+                    ;; each of these ought to only match a single file,
+                    ;; but even if not (find-files) sorts by string<,
+                    ;; so the Nth element in one maps to the Nth element of
+                    ;; the other
+                    (pdmp (find-files libexec "\\.pdmp$"))
+                    (pdmp-real (find-files libexec "\\.pdmp-real$")))
+               (for-each rename-file pdmp-real pdmp))))
          (add-after 'glib-or-gtk-wrap 'strip-double-wrap
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped