diff options
| author | Dan Nicolaescu | 2010-07-08 18:09:50 -0700 |
|---|---|---|
| committer | Dan Nicolaescu | 2010-07-08 18:09:50 -0700 |
| commit | 0508c67f47a9b79684f2f454010a2d086df7f35b (patch) | |
| tree | 969478a9b4860eeee8ec737b30489924db0c301e /lib-src | |
| parent | 45871610dd1fd2f0ac738c94b1963d347e438afe (diff) | |
| download | emacs-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/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 @@ | |||
| 1 | 2010-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 | |||
| 1 | 2010-07-08 Dan Nicolaescu <dann@ics.uci.edu> | 6 | 2010-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') |