From 3606c098308cabb6b993c22f84bf20585823dc26 Mon Sep 17 00:00:00 2001 From: Matthew Wette Date: Mon, 7 Oct 2024 17:28:27 -0700 Subject: [PATCH 3/3] Create procedure to enable silencing the Guile welcome message. * module/system/repl/repl.scm: add parameter `%inhibit-welcome-message' * module/system/repl/repl.scm(run-repl*): add condition for calling procedure repl-welcome: if (%inhibit-welcome-message) is `#t', don't --- module/system/repl/repl.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/module/system/repl/repl.scm b/module/system/repl/repl.scm index d83d28759..fc525b547 100644 --- a/module/system/repl/repl.scm +++ b/module/system/repl/repl.scm @@ -26,7 +26,7 @@ #:use-module (system repl common) #:use-module (system repl command) #:use-module (ice-9 control) - #:export (start-repl run-repl)) + #:export (start-repl run-repl %inhibit-welcome-message)) ;;; @@ -127,6 +127,11 @@ ;;; The repl ;;; +;; Provide a hook for users to inhibit the welcome message. +;; For example, .guile might include +;; ((@ (system repl repl) %inhibit-welcome-message) #f) +(define %inhibit-welcome-message (make-parameter #f)) + (define* (start-repl #:optional (lang (current-language)) #:key debug) (start-repl* lang debug prompting-meta-read)) @@ -158,7 +163,8 @@ (% (with-fluids ((*repl-stack* (cons repl (or (fluid-ref *repl-stack*) '())))) - (if (null? (cdr (fluid-ref *repl-stack*))) + (if (and (null? (cdr (fluid-ref *repl-stack*))) + (not (%inhibit-welcome-message))) (repl-welcome repl)) (let prompt-loop () (let ((exp (prompting-meta-read repl))) -- 2.43.0