branch: externals/system-packages commit 4f82d2499c9c25029e166ed62724eb18e11a08da Author: Artyom Khramov <futu.f...@gmail.com> Commit: Artyom Khramov <futu.f...@gmail.com>
Fix missing space before a nonconfirm option Currently `system-packages-get-command` does not put a space before a nonconfirm option and it results in incorrect command, so instead of ```sh sudo apt-get install rg -y ``` We receive ```sh sudo apt-get install rg-y ``` This change adds an additional space before noconfirm option if `PACK` parameter was provided. --- system-packages.el | 6 +++--- test/system-packages-test.el | 8 +++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/system-packages.el b/system-packages.el index 220984f..9312fa5 100644 --- a/system-packages.el +++ b/system-packages.el @@ -328,9 +328,9 @@ of passing additional arguments to the package manager." (setq command (mapcar (lambda (part) (concat "sudo " part)) command))) (setq command (mapconcat 'identity command " && ")) (setq command (mapconcat 'identity (list command pack) " ")) - (setq args (concat args noconfirm)) - (when args - (setq command (concat command args))))) + (when noconfirm + (setq args (concat args (and pack " ") noconfirm))) + (concat command args))) (defun system-packages--run-command (action &optional pack args) "Run a command asynchronously using the system's package manager. diff --git a/test/system-packages-test.el b/test/system-packages-test.el index 4360a4a..67b1d7a 100644 --- a/test/system-packages-test.el +++ b/test/system-packages-test.el @@ -33,7 +33,13 @@ (system-packages-use-sudo t) (system-packages-package-manager 'pacman)) (system-packages-get-command 'install)) - "sudo pacman -S --noconfirm"))) + "sudo pacman -S --noconfirm")) + (should (string= + (let ((system-packages-noconfirm t) + (system-packages-use-sudo t) + (system-packages-package-manager 'apt)) + (system-packages-get-command 'install "rg")) + "sudo apt-get install rg -y"))) (ert-deftest system-packages-errors () "Error when we don't know a command."