Mercurial > hg > xemacs-beta
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. |