Hi,
Am Montag, den 18.10.2021, 19:50 -0400 schrieb
morgan.j.sm...@outlook.com:
> From: Morgan Smith
>
> * gnu/packages/emacs.scm (emacs) [restore-emacs-pdmp]: Add regex to
> handle
> filenames that have a fingerprint in them
> ---
>
> Fixed your problem. Well it was also my problem. The regex is
> pretty simple but probably a little intimidating if you've never done
> it before. I highly recommend reading up on ERE's and BRE's from the
> POSIX specification if you have time. I still don't exactly know how
> guile does regex but knowing POSIX regex has served me quite well.
>
> I've tested this patch and it works great for me on the latest emacs
> commit. It should also be backwards compatible so that's nice.
>
>
> gnu/packages/emacs.scm | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index 6d9950d068..6ebcfecbc7 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm
> @@ -183,9 +183,10 @@ (define* (emacs-byte-compile-directory dir)
> (let* ((libexec (string-append (assoc-ref outputs
> "out")
> "/libexec"))
> ;; each of these find-files should return one
> file
> -(pdmp (find-files libexec "^emacs\\.pdmp$"))
> +;; there might be a fingerprint in the name
> +(pdmp (find-files libexec "^emacs(-
> [[:xdigit:]]+)?\\.pdmp$"))
> (pdmp-real (find-files libexec
> - "^\\.emacs\\.pdmp-
> real$")))
> + "^\\.emacs(-
> [[:xdigit:]]+)?\\.pdmp-real$")))
> (for-each (lambda (wrapper real)
> (delete-file wrapper)
> (rename-file real wrapper))
Hi, this might sound somewhat odd, but I think this solution could be a
little over-engineered (also it does not match the case where the
version is an actual version rather than a git hash). Perhaps instead
we ought to simply look for the .pdmp-real suffix, construct the old
file name and move the file back. WDYT?