diff options
author | Dan Nicolaescu <dann@ics.uci.edu> | 2010-07-08 18:09:50 -0700 |
---|---|---|
committer | Dan Nicolaescu <dann@ics.uci.edu> | 2010-07-08 18:09:50 -0700 |
commit | 0508c67f47a9b79684f2f454010a2d086df7f35b (patch) | |
tree | 969478a9b4860eeee8ec737b30489924db0c301e /lib-src | |
parent | 45871610dd1fd2f0ac738c94b1963d347e438afe (diff) | |
download | emacs-0508c67f47a9b79684f2f454010a2d086df7f35b.tar.gz |
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.
Diffstat (limited to 'lib-src')
-rw-r--r-- | lib-src/ChangeLog | 5 | ||||
-rw-r--r-- | lib-src/make-docfile.c | 17 |
2 files changed, 21 insertions, 1 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index aa9fab0badb..4cbf5dd50f1 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -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. diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c index b3b6b190e48..3df7ec607d9 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c @@ -450,9 +450,24 @@ write_c_args (FILE *out, char *func, char *buf, int minargs, int maxargs) 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') |