[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 ()
- branch master updated (bed24ec -> 7842ddc), guix-commits, 2020/01/19
- 01/07: gnu: guile-commonmark: Add "guile3.0-commonmark" variant., guix-commits, 2020/01/19
- 02/07: tests: install: "raid-root-os" test uses RAID-1 instead of RAID-0., guix-commits, 2020/01/19
- 03/07: repl: Add "-q".,
guix-commits <=
- 07/07: guix package: Create profiles/per-user/$USER upfront., guix-commits, 2020/01/19
- 04/07: repl: Adjust "--listen" help message., guix-commits, 2020/01/19
- 05/07: repl: Avoid dependency on high-level package modules., guix-commits, 2020/01/19
- 06/07: syscalls: Pass the right 'throw' arguments in 'call-with-file-lock/no-wait'., guix-commits, 2020/01/19