aboutsummaryrefslogtreecommitdiff
path: root/src/property/file.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/property/file.lisp')
-rw-r--r--src/property/file.lisp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/property/file.lisp b/src/property/file.lisp
index 324049b..10eb6ee 100644
--- a/src/property/file.lisp
+++ b/src/property/file.lisp
@@ -474,10 +474,13 @@ removed, and semicolon comment chars will be replaced with '#'."
(let ((new-lines
(loop with current-section
for line in lines
- for sec = (etypecase line
- (list (cadr line))
- (string (re:regex-replace
- parse-section line #?/\1/)))
+ for sec
+ = (etypecase line
+ (list (cadr line))
+ (string
+ (multiple-value-bind (match groups)
+ (re:scan-to-strings parse-section line)
+ (and match (elt groups 0)))))
and key = (and (listp line) (caddr line))
for pair = (cons sec key)
for val = (and (listp line) (gethash pair keys))