guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/07: repl: Add "-q".


From: guix-commits
Subject: 03/07: repl: Add "-q".
Date: Sun, 19 Jan 2020 17:12:12 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit a9f4a7eee379accded2bd1515d8acb0746ea0517
Author: Ludovic Courtès <address@hidden>
AuthorDate: Sun Jan 19 21:54:46 2020 +0100

    repl: Add "-q".
    
    * guix/scripts/repl.scm (%options, show-help): Add "-q".
    (guix-repl): Add 'user-config' and use it.  Honor 'ignore-dot-guile?'.
---
 doc/guix.texi         |  4 ++++
 guix/scripts/repl.scm | 22 ++++++++++++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 56fa4ff..dea4584 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -8008,6 +8008,10 @@ Add @var{directory} to the front of the package module 
search path
 
 This allows users to define their own packages and make them visible to
 the command-line tool.
+
+@item -q
+Inhibit loading of the @file{~/.guile} file.  By default, that
+configuration file is loaded when spawning a @code{guile} REPL.
 @end table
 
 @c *********************************************************************
diff --git a/guix/scripts/repl.scm b/guix/scripts/repl.scm
index fc3e4e2..721c0a7 100644
--- a/guix/scripts/repl.scm
+++ b/guix/scripts/repl.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2018, 2019 Ludovic Courtès <address@hidden>
+;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <address@hidden>
 ;;; Copyright © 2020 Simon Tournier <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -55,6 +55,9 @@
         (option '("listen") #t #f
                 (lambda (opt name arg result)
                   (alist-cons 'listen arg result)))
+        (option '(#\q) #f #f
+                (lambda (opt name arg result)
+                  (alist-cons 'ignore-dot-guile? #t result)))
         (find (lambda (option)
                 (member "load-path" (option-names option)))
               %standard-build-options)))
@@ -67,6 +70,8 @@ Start a Guile REPL in the Guix execution environment.\n"))
   -t, --type=TYPE        start a REPL of the given TYPE"))
   (display (G_ "
       --listen=ENDPOINT  listen ENDPOINT instead of standard I/O"))
+  (display (G_ "
+  -q                     inhibit loading of ~/.guile"))
   (newline)
   (display (G_ "
   -L, --load-path=DIR    prepend DIR to the package module search path"))
@@ -139,6 +144,11 @@ call THUNK."
                   (leave (G_ "~A: extraneous argument~%") arg))
                 %default-options))
 
+  (define user-config
+    (and=> (getenv "HOME")
+           (lambda (home)
+             (string-append home "/.guile"))))
+
   (with-error-handling
     (let ((type (assoc-ref opts 'type)))
       (call-with-connection (assoc-ref opts 'listen)
@@ -148,11 +158,11 @@ call THUNK."
              (save-module-excursion
               (lambda ()
                 (set-current-module user-module)
-                (and=> (getenv "HOME")
-                       (lambda (home)
-                         (let ((guile (string-append home "/.guile")))
-                           (when (file-exists? guile)
-                             (load guile)))))
+                (when (and (not (assoc-ref opts 'ignore-dot-guile?))
+                           user-config
+                           (file-exists? user-config))
+                  (load user-config))
+
                 ;; Do not exit repl on SIGINT.
                 ((@@ (ice-9 top-repl) call-with-sigint)
                  (lambda ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]