[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master fb26929 34/60: Fix parsec-make-alternatives
From: |
Junpeng Qiu |
Subject: |
[elpa] master fb26929 34/60: Fix parsec-make-alternatives |
Date: |
Tue, 25 Oct 2016 17:45:15 +0000 (UTC) |
branch: master
commit fb269292ed1cbd73a9d3463414a1361c20a0ed4b
Author: Junpeng Qiu <address@hidden>
Commit: Junpeng Qiu <address@hidden>
Fix parsec-make-alternatives
---
parsec-tests.el | 18 ++++++++++++++++++
parsec.el | 13 +++++++------
2 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/parsec-tests.el b/parsec-tests.el
index 63721b3..471957f 100644
--- a/parsec-tests.el
+++ b/parsec-tests.el
@@ -104,6 +104,24 @@
:group 2))
"bc")))
+(ert-deftest test-parsec-make-alternatives ()
+ (should
+ (equal
+ (parsec-make-alternatives '(?-))
+ "-"))
+ (should
+ (equal
+ (parsec-make-alternatives '(?- ?\] ?a ?^))
+ "]a^-"))
+ (should
+ (equal
+ (parsec-make-alternatives '(?- ?^))
+ "-^"))
+ (should
+ (equal
+ (parsec-make-alternatives '(?^ ?\"))
+ "\"^")))
+
(ert-deftest test-parsec-one-of ()
(should
(equal
diff --git a/parsec.el b/parsec.el
index 8c9b2e2..4911142 100644
--- a/parsec.el
+++ b/parsec.el
@@ -129,12 +129,13 @@
((char-equal c ?-) (setq regex-end "-"))
((char-equal c ?^) (setq contains-caret-p t))
(t (setq regex-str (concat regex-str (char-to-string c))))))
- (if (and contains-caret-p
- (string-equal regex-end "-")
- (string-equal regex-head "")
- (string-equal regex-str ""))
- (setq regex-end "-^")
- (setq regex-str (concat regex-str "^")))
+ (when contains-caret-p
+ (if (and
+ (string-equal regex-end "-")
+ (string-equal regex-head "")
+ (string-equal regex-str ""))
+ (setq regex-end "-^")
+ (setq regex-str (concat regex-str "^"))))
(concat regex-head regex-str regex-end)))
(defun parsec-one-of (&rest chars)
- [elpa] master 108879f 11/60: Better propagate naming and implementation, (continued)
- [elpa] master 108879f 11/60: Better propagate naming and implementation, Junpeng Qiu, 2016/10/25
- [elpa] master 5810eef 21/60: Remove parsec-continue, Junpeng Qiu, 2016/10/25
- [elpa] master 452ec1e 35/60: Update scheme parser, Junpeng Qiu, 2016/10/25
- [elpa] master 14b28a1 16/60: Add basic README, Junpeng Qiu, 2016/10/25
- [elpa] master 606fed1 10/60: Add simple JSON parser, Junpeng Qiu, 2016/10/25
- [elpa] master d8cd9d6 17/60: Better naming, Junpeng Qiu, 2016/10/25
- [elpa] master a5ca813 04/60: Full & simple parser, Junpeng Qiu, 2016/10/25
- [elpa] master 9996b5b 31/60: Update full-csv-parser, Junpeng Qiu, 2016/10/25
- [elpa] master bdfcbde 23/60: Update library description, Junpeng Qiu, 2016/10/25
- [elpa] master 2e8c52b 40/60: Make sure parsec-not-followed-by consumes no input, Junpeng Qiu, 2016/10/25
- [elpa] master fb26929 34/60: Fix parsec-make-alternatives,
Junpeng Qiu <=
- [elpa] master 31388e6 52/60: Add -s aliases, Junpeng Qiu, 2016/10/25
- [elpa] master 34521c6 53/60: Update README about *-s functions, Junpeng Qiu, 2016/10/25
- [elpa] master 8f0c266 58/60: Add doc for parsec-peek(-p), Junpeng Qiu, 2016/10/25
- [elpa] master ffd42de 45/60: Use simple-csv-parser.el as a demo, Junpeng Qiu, 2016/10/25
- [elpa] master bf49fb6 38/60: Upate README, Junpeng Qiu, 2016/10/25
- [elpa] master 966ca9e 43/60: Add comments to parsec.el, Junpeng Qiu, 2016/10/25
- [elpa] master c61a38c 22/60: Add convenient newline methods, Junpeng Qiu, 2016/10/25
- [elpa] master 0c3408a 01/60: Init commit, Junpeng Qiu, 2016/10/25
- [elpa] master 1929932 02/60: Split into two files, Junpeng Qiu, 2016/10/25
- [elpa] master fd77961 25/60: Add a few simple API, Junpeng Qiu, 2016/10/25