Mercurial > hg > xemacs-beta
diff 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 |
line wrap: on
line diff
--- a/src/symbols.c Sat Sep 18 15:03:54 2010 +0100 +++ b/src/symbols.c Sat Sep 18 15:57:20 2010 +0100 @@ -198,15 +198,23 @@ } Lisp_Object -intern_converting_underscores_to_dashes (const CIbyte *str) +intern_massaging_name (const CIbyte *str) { Bytecount len = strlen (str); CIbyte *tmp = alloca_extbytes (len + 1); Bytecount i; strcpy (tmp, str); for (i = 0; i < len; i++) - if (tmp[i] == '_') - tmp[i] = '-'; + { + if (tmp[i] == '_') + { + tmp[i] = '-'; + } + else if (tmp[i] == 'X') + { + tmp[i] = '*'; + } + } return intern_istring ((Ibyte *) tmp); }