diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-03-12 17:35:32 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-03-12 17:47:25 +0100 |
commit | 334c95306a298803096a0077c892d69473ad0824 (patch) | |
tree | 30467a565dd6c49dc996fb2cad64513ac4279b5f | |
parent | 239c22663ac928618028c4ec03cefc77de788e9d (diff) | |
download | guix-334c95306a298803096a0077c892d69473ad0824.tar.gz guix-334c95306a298803096a0077c892d69473ad0824.zip |
syscalls: Adjust 'define-bits' to macro literal semantics of 2.2.
* guix/build/syscalls.scm (define-bits): Do not define NAMES... as
top-level variables since that prevents literal matches in 2.2.
Instead, determine constant values at expansion time.
-rw-r--r-- | guix/build/syscalls.scm | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index b68c48a05a..58c23f2844 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -1346,12 +1346,12 @@ given an integer, returns the list of names of the constants that are or'd." (begin (define-syntax constructor (syntax-rules (names ...) + ((_) 0) ((_ names) values) ... - ((_ several (... ...)) - (logior (constructor several) (... ...))))) + ((_ first rest (... ...)) + (logior (constructor first) rest (... ...))))) (define (bits->symbols bits) - (bits->symbols-body bits (names ...) (values ...))) - (define names values) ...)))) + (bits->symbols-body bits (names ...) (values ...))))))) ;; 'local-flags' bits from <bits/termios.h> (define-bits local-flags |