Mercurial > emacs
changeset 109181:61d8d0cf32a8
Make make-docfile understand DEFUN arguments written in standard C.
* lib-src/make-docfile.c (write_c_args): Deal with type names in DEFUN
arguments.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Thu, 08 Jul 2010 18:09:50 -0700 |
parents | 6b6f31e8107e |
children | 843d932d732e c8a969d13eda 0b8608a36b55 |
files | lib-src/ChangeLog lib-src/make-docfile.c |
diffstat | 2 files changed, 21 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lib-src/ChangeLog Thu Jul 08 16:34:47 2010 -0700 +++ b/lib-src/ChangeLog Thu Jul 08 18:09:50 2010 -0700 @@ -1,3 +1,8 @@ +2010-07-09 Dan Nicolaescu <dann@ics.uci.edu> + + * make-docfile.c (write_c_args): Deal with type names in DEFUN + arguments. + 2010-07-08 Dan Nicolaescu <dann@ics.uci.edu> * update-game-score.c (P_): Remove macro.
--- a/lib-src/make-docfile.c Thu Jul 08 16:34:47 2010 -0700 +++ b/lib-src/make-docfile.c Thu Jul 08 18:09:50 2010 -0700 @@ -450,9 +450,24 @@ for (p = buf; *p; p++) { - char c = *p; + char c; int ident_start = 0; + /* FIXME: this must be made a bit more robust*/ + + /* Skip "register Lisp_Object", this can be removed when we get + rid of "register" for DEFUNs. */ + if (strncmp ("register Lisp_Object", p, 20) == 0) + p += 20; + + if (strncmp ("Lisp_Object", p, 11) == 0) + p += 11; + + if (strncmp ("void", p, 4) == 0) + p += 4; + + c = *p; + /* Notice when we start printing a new identifier. */ if ((('A' <= c && c <= 'Z') || ('a' <= c && c <= 'z')