aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
authorDan Nicolaescu2010-07-08 18:09:50 -0700
committerDan Nicolaescu2010-07-08 18:09:50 -0700
commit0508c67f47a9b79684f2f454010a2d086df7f35b (patch)
tree969478a9b4860eeee8ec737b30489924db0c301e /lib-src
parent45871610dd1fd2f0ac738c94b1963d347e438afe (diff)
downloademacs-0508c67f47a9b79684f2f454010a2d086df7f35b.tar.gz
emacs-0508c67f47a9b79684f2f454010a2d086df7f35b.zip
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 @@
12010-07-09 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * make-docfile.c (write_c_args): Deal with type names in DEFUN
4 arguments.
5
12010-07-08 Dan Nicolaescu <dann@ics.uci.edu> 62010-07-08 Dan Nicolaescu <dann@ics.uci.edu>
2 7
3 * update-game-score.c (P_): Remove macro. 8 * 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)
450 450
451 for (p = buf; *p; p++) 451 for (p = buf; *p; p++)
452 { 452 {
453 char c = *p; 453 char c;
454 int ident_start = 0; 454 int ident_start = 0;
455 455
456 /* FIXME: this must be made a bit more robust*/
457
458 /* Skip "register Lisp_Object", this can be removed when we get
459 rid of "register" for DEFUNs. */
460 if (strncmp ("register Lisp_Object", p, 20) == 0)
461 p += 20;
462
463 if (strncmp ("Lisp_Object", p, 11) == 0)
464 p += 11;
465
466 if (strncmp ("void", p, 4) == 0)
467 p += 4;
468
469 c = *p;
470
456 /* Notice when we start printing a new identifier. */ 471 /* Notice when we start printing a new identifier. */
457 if ((('A' <= c && c <= 'Z') 472 if ((('A' <= c && c <= 'Z')
458 || ('a' <= c && c <= 'z') 473 || ('a' <= c && c <= 'z')