Mercurial > hg > xemacs-beta
comparison src/lread.c @ 456:e7ef97881643 r21-2-43
Import from CVS: tag r21-2-43
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:41:24 +0200 |
parents | 576fb035e263 |
children | ed498ef2108b |
comparison
equal
deleted
inserted
replaced
455:5b97c1cd6ed0 | 456:e7ef97881643 |
---|---|
2499 } | 2499 } |
2500 #ifdef FEATUREP_SYNTAX | 2500 #ifdef FEATUREP_SYNTAX |
2501 case '+': | 2501 case '+': |
2502 case '-': | 2502 case '-': |
2503 { | 2503 { |
2504 Lisp_Object fexp, obj, tem; | 2504 Lisp_Object feature_exp, obj, tem; |
2505 struct gcpro gcpro1, gcpro2; | 2505 struct gcpro gcpro1, gcpro2; |
2506 | 2506 |
2507 fexp = read0(readcharfun); | 2507 feature_exp = read0(readcharfun); |
2508 obj = read0(readcharfun); | 2508 obj = read0(readcharfun); |
2509 | 2509 |
2510 /* the call to `featurep' may GC. */ | 2510 /* the call to `featurep' may GC. */ |
2511 GCPRO2 (fexp, obj); | 2511 GCPRO2 (feature_exp, obj); |
2512 tem = call1 (Qfeaturep, fexp); | 2512 tem = call1 (Qfeaturep, feature_exp); |
2513 UNGCPRO; | 2513 UNGCPRO; |
2514 | 2514 |
2515 if (c == '+' && NILP(tem)) goto retry; | 2515 if (c == '+' && NILP(tem)) goto retry; |
2516 if (c == '-' && !NILP(tem)) goto retry; | 2516 if (c == '-' && !NILP(tem)) goto retry; |
2517 return obj; | 2517 return obj; |