Mercurial > hg > xemacs-beta
comparison src/callint.c @ 169:15872534500d r20-3b11
Import from CVS: tag r20-3b11
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:46:53 +0200 |
parents | 25f70ba0133c |
children | 8eaf7971accc |
comparison
equal
deleted
inserted
replaced
168:9851d5c6556e | 169:15872534500d |
---|---|
143 (args)) | 143 (args)) |
144 { | 144 { |
145 return Qnil; | 145 return Qnil; |
146 } | 146 } |
147 | 147 |
148 /* Quotify EXP: if EXP is constant, return it. | 148 /* Quotify EXPR: if EXPR is constant, return it. |
149 If EXP is not constant, return (quote EXP). */ | 149 If EXPR is not constant, return (quote EXPR). */ |
150 static Lisp_Object | 150 static Lisp_Object |
151 quotify_arg (Lisp_Object exp) | 151 quotify_arg (Lisp_Object expr) |
152 { | 152 { |
153 if (!INTP (exp) && !CHARP (exp) && !STRINGP (exp) | 153 return (INTP (expr) || |
154 && !NILP (exp) && !EQ (exp, Qt)) | 154 CHARP (expr) || |
155 return Fcons (Qquote, Fcons (exp, Qnil)); | 155 STRINGP (expr) || |
156 | 156 NILP (expr) || |
157 return exp; | 157 EQ (Qt, expr)) ? expr : Fcons (Qquote, Fcons (expr, Qnil)); |
158 } | 158 } |
159 | 159 |
160 /* Modify EXP by quotifying each element (except the first). */ | 160 /* Modify EXPR by quotifying each element (except the first). */ |
161 static Lisp_Object | 161 static Lisp_Object |
162 quotify_args (Lisp_Object exp) | 162 quotify_args (Lisp_Object expr) |
163 { | 163 { |
164 REGISTER Lisp_Object tail; | 164 REGISTER Lisp_Object tail; |
165 REGISTER struct Lisp_Cons *ptr; | 165 REGISTER struct Lisp_Cons *ptr; |
166 for (tail = exp; CONSP (tail); tail = ptr->cdr) | 166 for (tail = expr; CONSP (tail); tail = ptr->cdr) |
167 { | 167 { |
168 ptr = XCONS (tail); | 168 ptr = XCONS (tail); |
169 ptr->car = quotify_arg (ptr->car); | 169 ptr->car = quotify_arg (ptr->car); |
170 } | 170 } |
171 return exp; | 171 return expr; |
172 } | 172 } |
173 | 173 |
174 static Bufpos | 174 static Bufpos |
175 check_mark (void) | 175 check_mark (void) |
176 { | 176 { |