summaryrefslogtreecommitdiff
path: root/MLKCons.m
diff options
context:
space:
mode:
authorMatthias Benkard <mulk@minimulk.mst-plus>2008-07-27 09:44:01 +0200
committerMatthias Benkard <mulk@minimulk.mst-plus>2008-07-27 09:44:01 +0200
commita234e03248b1a8a97ee5f0b1d3a8f988d275cea8 (patch)
treeaa7ebafc37ced87a96855b9758310dd80c84d2fc /MLKCons.m
parent39c7ec616a22882c2b98244c7dcb39b6cd8ef122 (diff)
parentbcde0dca1696a9f9e754d52776700edc83663453 (diff)
Merge branch 'master' of http://matthias.benkard.de/code/mulklisp
Diffstat (limited to 'MLKCons.m')
-rw-r--r--MLKCons.m16
1 files changed, 12 insertions, 4 deletions
diff --git a/MLKCons.m b/MLKCons.m
index 5bc761a..8b3084b 100644
--- a/MLKCons.m
+++ b/MLKCons.m
@@ -113,10 +113,18 @@
-(NSString *)descriptionForLisp
{
- if ([_cdr isKindOfClass:[MLKCons class]]
- && _car == [[MLKPackage findPackage:@"COMMON-LISP"] intern:@"QUOTE"])
- return [NSString stringWithFormat:@"'%@", [_cdr bareDescriptionForLisp]];
- else
+ if ([_cdr isKindOfClass:[MLKCons class]])
+ {
+ if (_car == [[MLKPackage findPackage:@"COMMON-LISP"] intern:@"QUOTE"])
+ return [NSString stringWithFormat:@"'%@", [_cdr bareDescriptionForLisp]];
+ else if (_car == [[MLKPackage findPackage:@"TOILET-SYSTEM"] intern:@"QUASIQUOTE"])
+ return [NSString stringWithFormat:@"`%@", [_cdr bareDescriptionForLisp]];
+ else if (_car == [[MLKPackage findPackage:@"TOILET-SYSTEM"] intern:@"UNQUOTE"])
+ return [NSString stringWithFormat:@",%@", [_cdr bareDescriptionForLisp]];
+ else if (_car == [[MLKPackage findPackage:@"TOILET-SYSTEM"] intern:@"UNQUOTE-SPLICING"])
+ return [NSString stringWithFormat:@",@%@", [_cdr bareDescriptionForLisp]];
+ }
+
return [NSString stringWithFormat:@"(%@)", [self bareDescriptionForLisp]];
}