mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
style: Fix conversion of ‘unquote-splicing’ by ‘-S arguments’.
* guix/scripts/style.scm (unquote->ungexp): Add missing comma for ‘ungexp-splicing’. * tests/style.scm ("gexpify arguments, substitute-keyword-arguments + unquote-splicing"): New test. Change-Id: I17dcdd9b4812d54ddba1137e369360706b137bb4
This commit is contained in:
parent
2f56845b33
commit
e8ab4ccaa7
2 changed files with 26 additions and 3 deletions
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2021-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -304,7 +304,7 @@ (define (unquote->ungexp value)
|
|||
value))
|
||||
(('unquote-splicing x)
|
||||
(if (= quotation 1)
|
||||
`(ungexp-splicing x)
|
||||
`(ungexp-splicing ,x)
|
||||
value))
|
||||
(('quasiquote x)
|
||||
(list 'quasiquote (loop x (+ quotation 1))))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2021-2024 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -500,6 +500,29 @@ (define file
|
|||
(load file)
|
||||
(read-package-field (@ (my-packages) my-coreutils) 'arguments 7))))
|
||||
|
||||
(test-equal "gexpify arguments, substitute-keyword-arguments + unquote-splicing"
|
||||
"\
|
||||
(substitute-keyword-arguments (package-arguments coreutils)
|
||||
((#:make-flags flags
|
||||
#~'())
|
||||
#~(cons \"-DXYZ=yes\"
|
||||
#$@(if #t flags
|
||||
'())))))\n"
|
||||
(call-with-test-package '((arguments
|
||||
(substitute-keyword-arguments
|
||||
(package-arguments coreutils)
|
||||
((#:make-flags flags ''())
|
||||
`(cons "-DXYZ=yes" ,@(if #t flags '()))))))
|
||||
(lambda (directory)
|
||||
(define file
|
||||
(string-append directory "/my-packages.scm"))
|
||||
|
||||
(system* "guix" "style" "-L" directory "my-coreutils"
|
||||
"-S" "arguments")
|
||||
|
||||
(load file)
|
||||
(read-package-field (@ (my-packages) my-coreutils) 'arguments 6))))
|
||||
|
||||
(test-equal "gexpify arguments, append substitute-keyword-arguments"
|
||||
"\
|
||||
(append (list #:tests? #f)
|
||||
|
|
Loading…
Reference in a new issue