diff options
author | zimoun <zimon.toutoune@gmail.com> | 2021-01-16 01:57:08 +0100 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2021-01-28 15:07:55 +0100 |
commit | 95852b305bcdcb7dea4575da3e1f8fbb9c292bd7 (patch) | |
tree | b4a1dcb5d4f70474c9ddbd92534deb9d927216ab | |
parent | 04b1a1f6bd2530ea46091ddfa04f9b81d62ed81e (diff) | |
download | guix-95852b305bcdcb7dea4575da3e1f8fbb9c292bd7.tar.gz |
ui: Look up extensions before built-in commands.
* guix/ui.scm (run-guix-command): Modify order so that extensions are allowed to override default commands. Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
-rw-r--r-- | guix/ui.scm | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/guix/ui.scm b/guix/ui.scm index bd504c68da..45ae14f83c 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -2124,24 +2124,20 @@ Run COMMAND with ARGS.\n")) "Run COMMAND with the given ARGS. Report an error when COMMAND is not found." (define module - (catch 'misc-error - (lambda () - (resolve-interface `(guix scripts ,command))) - (lambda _ - ;; Check if there is a matching extension. - (catch 'misc-error - (lambda () - (match (search-path (extension-directories) - (format #f "~a.scm" command)) - (#f - (throw 'misc-error)) - (file - (load file) - (resolve-interface `(guix extensions ,command))))) - (lambda _ - (format (current-error-port) - (G_ "guix: ~a: command not found~%") command) - (show-guix-usage)))))) + ;; Check if there is a matching extension. + (match (search-path (extension-directories) + (format #f "~a.scm" command)) + (#f + (catch 'misc-error + (lambda () + (resolve-interface `(guix scripts ,command))) + (lambda _ + (format (current-error-port) + (G_ "guix: ~a: command not found~%") command) + (show-guix-usage)))) + (file + (load file) + (resolve-interface `(guix extensions ,command))))) (let ((command-main (module-ref module (symbol-append 'guix- command)))) |