diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2022-05-01 08:34:42 +0200 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2022-06-06 13:26:45 +0200 |
commit | e3337f35afa83e746f0a66451fd4d2212c032b03 (patch) | |
tree | edab05615f5ca472cf136d579373d10e735b08d3 /guix/import | |
parent | 001e0bac99c977d2ff04910295b154f91aa3d369 (diff) |
import: cabal: Allow curly bracket before else statement.
* guix/import/cabal.scm (is-else): Turn into procedure.
(lex-line): Move IS-ELSE…
(lex-word): …here.
* tests/hackage.scm (test-cabal-elif-brackets): Extend testcase.
Diffstat (limited to 'guix/import')
-rw-r--r-- | guix/import/cabal.scm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/guix/import/cabal.scm b/guix/import/cabal.scm index 9f3862fa14..8f59a63cb9 100644 --- a/guix/import/cabal.scm +++ b/guix/import/cabal.scm @@ -384,7 +384,7 @@ matching a string against the created regexp." (define is-lib (make-rx-matcher "^library *" regexp/icase)) -(define is-else (make-rx-matcher "^else" regexp/icase)) +(define (is-else s) (string-ci=? s "else")) (define (is-elif s) (string-ci=? s "elif")) @@ -576,6 +576,7 @@ LOC is the current port location." (let* ((w (read-delimited " <>=():\t\n" port 'peek))) (cond ((is-if w) (lex-if loc)) ((is-elif w) (lex-elif loc)) + ((is-else w) (lex-else loc)) ((is-test w port) (lex-test w loc)) ((is-true w) (lex-true loc)) ((is-false w) (lex-false loc)) @@ -599,7 +600,6 @@ the current port location." ((is-custom-setup s) => (cut lex-custom-setup <> loc)) ((is-benchmark s) => (cut lex-benchmark <> loc)) ((is-lib s) (lex-lib loc)) - ((is-else s) (lex-else loc)) (else (unread-string s port) #f)))) (define (lex-property port loc) |