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;