comparison src/symbols.c @ 5277:d804e621add0

Simplify the API of PARSE_KEYWORDS for callers. src/ChangeLog addition: 2010-09-18 Aidan Kehoe <kehoea@parhasard.net> Simplify the API of PARSE_KEYWORDS for callers. * lisp.h (PARSE_KEYWORDS): Simply the API, while making the implementation a little more complex; work out KEYWORDS_OFFSET from the appropriate Lisp_Subr struct, take the function name as the C name of the DEFUN rather than a symbol visible as a Lisp_Object, on debug builds assert that we're actually in the function so we choke on badly-done copy-and-pasting, * lisp.h (PARSE_KEYWORDS_8): New. This is the old PARSE_KEYWORDS. * fns.c (Fmerge, FsortX, Ffill, Freduce, Freplace): Change to use the new PARSE_KEYWORDS syntax. * elhash.c (Fmake_hash_table): Chance to the new PARSE_KEYWORDS syntax, rename a define to correspond to what other files use. * symbols.c (intern_massaging_name): * buffer.c (ADD_INT): Rename intern_converting_underscores_to_dashes() to intern_massaging_name(), now it does a little more.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 18 Sep 2010 15:57:20 +0100
parents b5611afbcc76
children 8608eadee6ba 308d34e9f07d
comparison
equal deleted inserted replaced
5276:dd2976af8783 5277:d804e621add0
196 { 196 {
197 return intern_istring ((Ibyte *) str); 197 return intern_istring ((Ibyte *) str);
198 } 198 }
199 199
200 Lisp_Object 200 Lisp_Object
201 intern_converting_underscores_to_dashes (const CIbyte *str) 201 intern_massaging_name (const CIbyte *str)
202 { 202 {
203 Bytecount len = strlen (str); 203 Bytecount len = strlen (str);
204 CIbyte *tmp = alloca_extbytes (len + 1); 204 CIbyte *tmp = alloca_extbytes (len + 1);
205 Bytecount i; 205 Bytecount i;
206 strcpy (tmp, str); 206 strcpy (tmp, str);
207 for (i = 0; i < len; i++) 207 for (i = 0; i < len; i++)
208 if (tmp[i] == '_') 208 {
209 tmp[i] = '-'; 209 if (tmp[i] == '_')
210 {
211 tmp[i] = '-';
212 }
213 else if (tmp[i] == 'X')
214 {
215 tmp[i] = '*';
216 }
217 }
210 return intern_istring ((Ibyte *) tmp); 218 return intern_istring ((Ibyte *) tmp);
211 } 219 }
212 220
213 DEFUN ("intern", Fintern, 1, 2, 0, /* 221 DEFUN ("intern", Fintern, 1, 2, 0, /*
214 Return the canonical symbol whose name is STRING. 222 Return the canonical symbol whose name is STRING.