summaryrefslogtreecommitdiff
path: root/lib-src
diff options
context:
space:
mode:
authorDan Nicolaescu <dann@ics.uci.edu>2010-07-08 18:09:50 -0700
committerDan Nicolaescu <dann@ics.uci.edu>2010-07-08 18:09:50 -0700
commit0508c67f47a9b79684f2f454010a2d086df7f35b (patch)
tree969478a9b4860eeee8ec737b30489924db0c301e /lib-src
parent45871610dd1fd2f0ac738c94b1963d347e438afe (diff)
downloademacs-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/ChangeLog5
-rw-r--r--lib-src/make-docfile.c17
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')