emacs-build-system: Change how patch-el-files substitutes commands.

Previously the regex would match from /bin/ to a closing quote. However, this
is greedy, so will match up until the last ". This causes problems when there
are several quotes on the same line, for example:

org-effectiveness.el:
196:      (call-process "/bin/bash" nil t nil "-c" strplot)

Therefore, change . to \S so that it doesn't include whitespace
characters. Changing to a lazy quantifier would be an option, if that were
supported.

* guix/build/emacs-build-system.scm (patch-el-files): Change the regular
  expression used.
This commit is contained in:
Christopher Baines 2017-10-11 11:51:25 +01:00
parent dd2de28423
commit 4cb036d604
No known key found for this signature in database
GPG Key ID: 5E28A33B0B84F577
1 changed files with 1 additions and 1 deletions

View File

@ -92,7 +92,7 @@ store in '.el' files."
(el-dir (string-append out %install-suffix "/" elpa-name-ver))
(substitute-cmd (lambda ()
(substitute* (find-files "." "\\.el$")
(("\"/bin/([^.].*)\"" _ cmd-name)
(("\"/bin/([^.]\\S*)\"" _ cmd-name)
(let ((cmd (which cmd-name)))
(unless cmd
(error