* guix/scripts/pull.scm (display-news-entry): Remove extra space in
format string for 'indented-string'.
(indented-string): Remove.
(display-new/upgraded-packages)[pretty]: Pass #:initial-indent? to
'indented-string'.
* guix/ui.scm (indented-string): New procedure.
* gnu/machine/ssh.scm (<remote-assertion>): New record type.
(remote-let): New macro.
(machine-check-file-system-availability): Rewrite to use 'remote-let'
instead of 'mlet' and 'machine-remote-eval'.
(machine-check-initrd-modules): Likewise.
(machine-check-building-for-appropriate-system): Make non-monadic.
(check-deployment-sanity): Rewrite to gather all the assertions as a
single gexp and pass it to 'machine-remote-eval'.
Reported by Mikael Djurfeldt <mikael@djurfeldt.com>
in <https://bugs.gnu.org/40125>.
* guix/ssh.scm (send-files)[inferior-remote-eval*]: New procedure.
[missing]: Use it. Add an explicit 'resolve-module' call.
(report-inferior-exception): New procedure.
* gnu/packages/emacs-xyz.scm (emacs-elpy): Update to 1.32.0.
[phases]{fake-virtualenv}: Rename to 'do-not-use-virtualenv. Use the new
ELPY_TEST_DONT_USE_VIRTUALENV environment variable to skip tests using
virtualenv, and set the elpy-rpc-virtualenv-path default value to 'system so
that a virtualenv is not needed.
[native-inputs]: Move the Python dependencies to...
[propagated] ...here. This is so that Elpy doesn't nag users with fetching
those from PyPI. Add python-rope.
Fixes <https://bugs.gnu.org/40079>.
Reported-by: sirgazil <sirgazil@zoho.com>
When attempting to run ert-runner in the build side environment where /bin/sh
doesn't exist as part of the emacs-elpy test suite, Emacs was throwing the
error "Searching for program: No such file or directory, /bin/sh". This is
because the default shell when SHELL is not set was "/bin/sh", as can be seen
in callproc.c:
sh = getenv ("SHELL");
Vshell_file_name = build_string (sh ? sh : "/bin/sh");
Thus, patch the occurrences of "/bin/sh" in the source files of Emacs to refer
to their correct store location.
* gnu/packages/emacs.scm (emacs)[phases]{patch-program-file-names}: Add phase.
This makes the EMACS-MINIMAL package more generally useful, by adding support
to load autoload definitions. Note that this doesn't negatively impact the
performance of the emacs-build-system, because at that time the --quick option
is used, which disables loading site-start.el (which is the one calling
GUIX-EMACS-AUTOLOAD-PACKAGES).
* gnu/packages/emacs.scm (emacs-minimal)[phases]: Do not delete the
'install-site-start phase.
[inputs]: Add the emacs/guix-emacs.el auxiliary file.
This re-instates what the previously reverted commit did, but without adding
a dependency on the (guix build emacs-utils) module.
* gnu/packages/emacs.scm (emacs)[phases]{install-site-start}: Define a
EMACS-BYTE-COMPILE-DIRECTORY procedure, and use it.
In Emacs 27, --eval now evaluates using lexical scoping. This change adds an
option to select dynamic scoping, by using a workaround proposed in
<https://bugs.gnu.org/39823>.
* guix/build/emacs-utils.scm (emacs-batch-eval): Add a DYNAMIC? keyword
argument. Wrap the EXPR with a call to EVAL that makes use of the argument
to select the scoping mode.
(emacs-generate-autoloads): Use it.