From 95852b305bcdcb7dea4575da3e1f8fbb9c292bd7 Mon Sep 17 00:00:00 2001 From: zimoun Date: Sat, 16 Jan 2021 01:57:08 +0100 Subject: [PATCH] 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 --- guix/ui.scm | 32 ++++++++++++++------------------ 1 file 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))))