Mercurial > hg > xemacs-beta
comparison lib-src/make-docfile.c @ 5178:97eb4942aec8
merge
| author | Ben Wing <ben@xemacs.org> |
|---|---|
| date | Mon, 29 Mar 2010 21:28:13 -0500 |
| parents | d555581e3cba |
| children | 39d74978fd32 |
comparison
equal
deleted
inserted
replaced
| 5177:b785049378e3 | 5178:97eb4942aec8 |
|---|---|
| 1 /* Generate doc-string file for XEmacs from source files. | 1 /* Generate doc-string file for XEmacs from source files. |
| 2 Copyright (C) 1985, 86, 92, 93, 94, 97, 1999, 2000, 2001 | 2 Copyright (C) 1985, 86, 92, 93, 94, 97, 1999, 2000, 2001 |
| 3 Free Software Foundation, Inc. | 3 Free Software Foundation, Inc. |
| 4 Copyright (C) 1995 Board of Trustees, University of Illinois. | 4 Copyright (C) 1995 Board of Trustees, University of Illinois. |
| 5 Copyright (C) 1998, 1999 J. Kean Johnston. | 5 Copyright (C) 1998, 1999 J. Kean Johnston. |
| 6 Copyright (C) 2001, 2002 Ben Wing. | 6 Copyright (C) 2001, 2002, 2010 Ben Wing. |
| 7 | 7 |
| 8 This file is part of XEmacs. | 8 This file is part of XEmacs. |
| 9 | 9 |
| 10 XEmacs is free software; you can redistribute it and/or modify | 10 XEmacs is free software; you can redistribute it and/or modify |
| 11 it under the terms of the GNU General Public License as published by | 11 it under the terms of the GNU General Public License as published by |
| 649 } | 649 } |
| 650 } | 650 } |
| 651 } | 651 } |
| 652 | 652 |
| 653 /* Print the C argument list as it would appear in lisp: | 653 /* Print the C argument list as it would appear in lisp: |
| 654 print underscores as hyphens, and print commas and newlines | 654 print underscores as hyphens, and print commas, tabs and newlines |
| 655 as spaces. Collapse adjacent spaces into one. */ | 655 as spaces. Collapse adjacent spaces into one. */ |
| 656 if (c == '_') | 656 if (c == '_') |
| 657 c = '-'; | 657 c = '-'; |
| 658 else if (c == ',' /* || c == '\n' */) | 658 else if (c == ',' || c == '\n' || c == '\t') |
| 659 c = ' '; | 659 c = ' '; |
| 660 /* XEmacs change: handle \n below for readability */ | 660 /* XEmacs change: handle \n below for readability */ |
| 661 | 661 |
| 662 #if 0 | 662 #if 0 |
| 663 /* In C code, `default' is a reserved word, so we spell it | 663 /* In C code, `default' is a reserved word, so we spell it |
| 680 if (c == '-' && ! C_IDENTIFIER_CHAR_P (p[1])) | 680 if (c == '-' && ! C_IDENTIFIER_CHAR_P (p[1])) |
| 681 { | 681 { |
| 682 in_ident = 0; | 682 in_ident = 0; |
| 683 just_spaced = 0; | 683 just_spaced = 0; |
| 684 } | 684 } |
| 685 /* XEmacs change: if the character is carriage return or linefeed, | 685 #if 0 |
| 686 escape it for the compiler */ | 686 /* [[ XEmacs change: if the character is carriage return or linefeed, |
| 687 escape it for the compiler ]] I doubt the clause with '\r' ever | |
| 688 worked right, and outputting newlines now screws up the regexp | |
| 689 in function-documentation-1, so don't do this; instead, we treat | |
| 690 newlines like spaces. --ben */ | |
| 687 else if (c == '\n') | 691 else if (c == '\n') |
| 688 { | 692 { |
| 689 putc('\\', out); | 693 putc('\\', out); |
| 690 putc('\n', out); | 694 putc('\n', out); |
| 695 c = ' '; | |
| 691 } | 696 } |
| 692 else if (c == '\r') | 697 else if (c == '\r') |
| 693 { | 698 { |
| 694 putc('\\', out); | 699 putc('\\', out); |
| 695 putc('\r', out); | 700 putc('\r', out); |
| 696 } | 701 } |
| 702 #else | |
| 703 else if (c == '\r') /* Just eat it, since we expect a newline to | |
| 704 follow */ | |
| 705 ; | |
| 706 #endif /* (not) 0 */ | |
| 697 else if (c != ' ' || !just_spaced) | 707 else if (c != ' ' || !just_spaced) |
| 698 { | 708 { |
| 699 if (c >= 'a' && c <= 'z') | 709 if (c >= 'a' && c <= 'z') |
| 700 /* Upcase the letter. */ | 710 /* Upcase the letter. */ |
| 701 c += 'A' - 'a'; | 711 c += 'A' - 'a'; |
