Mercurial > octave
annotate scripts/help/__makeinfo__.m @ 30564:796f54d4ddbf stable
update Octave Project Developers copyright for the new year
In files that have the "Octave Project Developers" copyright notice,
update for 2021.
In all .txi and .texi files except gpl.txi and gpl.texi in the
doc/liboctave and doc/interpreter directories, change the copyright
to "Octave Project Developers", the same as used for other source
files. Update copyright notices for 2022 (not done since 2019). For
gpl.txi and gpl.texi, change the copyright notice to be "Free Software
Foundation, Inc." and leave the date at 2007 only because this file
only contains the text of the GPL, not anything created by the Octave
Project Developers.
Add Paul Thomas to contributors.in.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 28 Dec 2021 18:22:40 -0500 |
parents | 7854d5752dd2 |
children | 0ef88c485786 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 ######################################################################## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 ## |
30564
796f54d4ddbf
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
29359
diff
changeset
|
3 ## Copyright (C) 2009-2022 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
27899
diff
changeset
|
4 ## |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 ## See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 ## distribution or <https://octave.org/copyright/>. |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
7 ## |
11104 | 8 ## This file is part of Octave. |
9 ## | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
10 ## Octave is free software: you can redistribute it and/or modify it |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
11 ## under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
12 ## the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
13 ## (at your option) any later version. |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
14 ## |
11104 | 15 ## Octave is distributed in the hope that it will be useful, but |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22323
diff
changeset
|
18 ## GNU General Public License for more details. |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
19 ## |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
20 ## You should have received a copy of the GNU General Public License |
11104 | 21 ## along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
22 ## <https://www.gnu.org/licenses/>. |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 ## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 ######################################################################## |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
25 |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
26 ## -*- texinfo -*- |
20852
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20778
diff
changeset
|
27 ## @deftypefn {} {[@var{retval}, @var{status}] =} __makeinfo__ (@var{text}, @var{output_type}) |
25039
40a65b30fadf
maint: Match variable names in documentation to those in function prototype.
Rik <rik@octave.org>
parents:
24534
diff
changeset
|
28 ## @deftypefnx {} {[@var{retval}, @var{status}] =} __makeinfo__ (@var{text}, @var{output_type}, @var{fsee_also}) |
8768
e0fbf17a17bb
__makeinfo__.m: rename from makeinfo.m
John W. Eaton <jwe@octave.org>
parents:
8717
diff
changeset
|
29 ## Undocumented internal function. |
e0fbf17a17bb
__makeinfo__.m: rename from makeinfo.m
John W. Eaton <jwe@octave.org>
parents:
8717
diff
changeset
|
30 ## @end deftypefn |
e0fbf17a17bb
__makeinfo__.m: rename from makeinfo.m
John W. Eaton <jwe@octave.org>
parents:
8717
diff
changeset
|
31 |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
32 ## Run @code{makeinfo} on a given text. |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
33 ## |
8768
e0fbf17a17bb
__makeinfo__.m: rename from makeinfo.m
John W. Eaton <jwe@octave.org>
parents:
8717
diff
changeset
|
34 ## The string @var{text} is run through the @code{__makeinfo__} program |
21751
b571fc85953f
maint: Use two spaces after period to indicate sentence break.
Rik <rik@octave.org>
parents:
21000
diff
changeset
|
35 ## to generate output in various formats. This string must contain valid |
8768
e0fbf17a17bb
__makeinfo__.m: rename from makeinfo.m
John W. Eaton <jwe@octave.org>
parents:
8717
diff
changeset
|
36 ## Texinfo formatted text. |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
37 ## |
21751
b571fc85953f
maint: Use two spaces after period to indicate sentence break.
Rik <rik@octave.org>
parents:
21000
diff
changeset
|
38 ## The @var{output_type} selects the format of the output. This can be either |
b571fc85953f
maint: Use two spaces after period to indicate sentence break.
Rik <rik@octave.org>
parents:
21000
diff
changeset
|
39 ## @t{"html"}, @t{"texinfo"}, or @t{"plain text"}. By default this is |
b571fc85953f
maint: Use two spaces after period to indicate sentence break.
Rik <rik@octave.org>
parents:
21000
diff
changeset
|
40 ## @t{"plain text"}. If @var{output_type} is @t{"texinfo"}, the @t{@@seealso} |
17424
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
41 ## macro is expanded, but otherwise the text is unaltered. |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
42 ## |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
43 ## If the optional argument @var{see_also} is present, it is used to expand the |
25039
40a65b30fadf
maint: Match variable names in documentation to those in function prototype.
Rik <rik@octave.org>
parents:
24534
diff
changeset
|
44 ## Octave specific @t{@@seealso} macro. This argument must be a function |
40a65b30fadf
maint: Match variable names in documentation to those in function prototype.
Rik <rik@octave.org>
parents:
24534
diff
changeset
|
45 ## handle, that accepts a cell array of strings as input argument (each |
40a65b30fadf
maint: Match variable names in documentation to those in function prototype.
Rik <rik@octave.org>
parents:
24534
diff
changeset
|
46 ## elements of the array corresponds to the arguments to the @t{@@seealso} |
40a65b30fadf
maint: Match variable names in documentation to those in function prototype.
Rik <rik@octave.org>
parents:
24534
diff
changeset
|
47 ## macro), and return the expanded string. If this argument is not given, the |
40a65b30fadf
maint: Match variable names in documentation to those in function prototype.
Rik <rik@octave.org>
parents:
24534
diff
changeset
|
48 ## @t{@@seealso} macro will be expanded to the text |
17424
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
49 ## |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
50 ## @example |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
51 ## See also: arg1, arg2, ... |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
52 ## @end example |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
53 ## |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
54 ## @noindent |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
55 ## for @t{"plain text"} output, and |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
56 ## |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
57 ## @example |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
58 ## See also: @@ref@{arg1@}, @@ref@{arg2@}, ... |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
59 ## @end example |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
60 ## |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
61 ## @noindent |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
62 ## otherwise. |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
63 ## |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
64 ## The optional output argument @var{status} contains the exit status of the |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
65 ## @code{makeinfo} program as returned by @code{system}. |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
66 |
17424
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
67 function [retval, status] = __makeinfo__ (text, output_type = "plain text", fsee_also) |
8768
e0fbf17a17bb
__makeinfo__.m: rename from makeinfo.m
John W. Eaton <jwe@octave.org>
parents:
8717
diff
changeset
|
68 |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
69 ## Check input |
28789
28de41192f3c
Eliminate unneeded verification of nargin, nargout in m-files.
Rik <rik@octave.org>
parents:
27923
diff
changeset
|
70 if (nargin < 1) |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
71 print_usage (); |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
72 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
73 |
13122
f80273b38cc4
more fixes to __makeinfo__
Carlo de Falco <kingcrimson@tiscali.it>
parents:
13121
diff
changeset
|
74 if (! ischar (text)) |
8768
e0fbf17a17bb
__makeinfo__.m: rename from makeinfo.m
John W. Eaton <jwe@octave.org>
parents:
8717
diff
changeset
|
75 error ("__makeinfo__: first input argument must be a string"); |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
76 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
77 |
13122
f80273b38cc4
more fixes to __makeinfo__
Carlo de Falco <kingcrimson@tiscali.it>
parents:
13121
diff
changeset
|
78 if (! ischar (output_type)) |
17424
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
79 error ("__makeinfo__: second input argument must be a string"); |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
80 endif |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
81 |
25836
07cb3e098c0a
Use "Octave Forge" spelling in all files.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
82 ## NOTE: The 3rd argument is used by Octave Forge function |
17425
cc7815488981
__makeinfo__.m: Add documentation note to code about use of 3rd argument.
Rik <rik@octave.org>
parents:
17424
diff
changeset
|
83 ## generate_package_html, not by core Octave. This functionality |
cc7815488981
__makeinfo__.m: Add documentation note to code about use of 3rd argument.
Rik <rik@octave.org>
parents:
17424
diff
changeset
|
84 ## can only be removed when that function has been updated. |
17424
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
85 if (nargin < 3) |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
86 if (strcmpi (output_type, "plain text")) |
20778
8513c84a13cb
Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents:
19928
diff
changeset
|
87 fsee_also = @(T) ["\nSee also:", sprintf(" %s,", T{:})(1:end-1), "\n"]; |
17424
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
88 else |
20778
8513c84a13cb
Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents:
19928
diff
changeset
|
89 fsee_also = @(T) ["\nSee also:", sprintf(" @ref{%s},", T{:})(1:end-1), "\n"]; |
17424
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
90 endif |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
91 endif |
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
92 |
25803
23483673ba43
Use is_function_handle instead of isa (x, "function_handle").
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
93 if (! is_function_handle (fsee_also)) |
17424
8c22a8d42833
__makeinfo__.m: Backout changeset 687872d279be which removes 3rd argument to func.
Rik <rik@octave.org>
parents:
17339
diff
changeset
|
94 error ("__makeinfo__: third input argument must be a function handle"); |
13121
390add500107
Add back the third input parameter to __makeinfo__
Carlo de Falco <kingcrimson@tiscali.it>
parents:
13120
diff
changeset
|
95 endif |
13141
e81ddf9cacd5
maint: untabify and remove trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents:
13122
diff
changeset
|
96 |
14360
97883071e8e4
doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
97 ## Formatting in m-files has an extra space at the beginning of every line. |
97883071e8e4
doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
98 ## Remove these unwanted spaces if present. First text char is "\n" delim. |
97883071e8e4
doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
99 if (text(2) == " ") |
97883071e8e4
doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
100 text = strrep (text, "\n ", "\n"); |
97883071e8e4
doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
101 endif |
97883071e8e4
doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
102 ## Texinfo crashes if @end tex does not appear first on the line. |
97883071e8e4
doc: Correct off-by-1 spacings in all .cc docstrings
Rik <octave@nomad.inbox5.com>
parents:
14327
diff
changeset
|
103 text = regexprep (text, '^ +@end tex', '@end tex', 'lineanchors'); |
26941
ca5344dd5f1c
* __makeinfo__.m: Also translate @seealso here (bug #55952)
John W. Eaton <jwe@octave.org>
parents:
26736
diff
changeset
|
104 text = regexprep (text, '@seealso', '@xseealso'); |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
105 |
27566
b86adf277734
Display documentation cross-references more clearly in plaintext format (bug #56929).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26941
diff
changeset
|
106 ## We don't want *ref macros to clutter plain text output with "Note ..." |
b86adf277734
Display documentation cross-references more clearly in plaintext format (bug #56929).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26941
diff
changeset
|
107 if (strcmp (output_type, "plain text")) |
b86adf277734
Display documentation cross-references more clearly in plaintext format (bug #56929).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26941
diff
changeset
|
108 text = regexprep (text, '@ref{(?:[^}]*?),?(?:XREF)?([^,}]+)}', '$1'); |
b86adf277734
Display documentation cross-references more clearly in plaintext format (bug #56929).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26941
diff
changeset
|
109 text = regexprep (text, '@xref{(?:[^}]*?),?(?:XREF)?([^,}]+)}', 'See $1'); |
b86adf277734
Display documentation cross-references more clearly in plaintext format (bug #56929).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26941
diff
changeset
|
110 text = regexprep (text, '@pxref{(?:[^}]*?),?(?:XREF)?([^,}]+)}', 'see $1'); |
b86adf277734
Display documentation cross-references more clearly in plaintext format (bug #56929).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26941
diff
changeset
|
111 endif |
b86adf277734
Display documentation cross-references more clearly in plaintext format (bug #56929).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
26941
diff
changeset
|
112 |
14614
4e9dc46d4125
handle texinfo macros consistently in help system and manual
John W. Eaton <jwe@octave.org>
parents:
14363
diff
changeset
|
113 file = texi_macros_file (); |
4e9dc46d4125
handle texinfo macros consistently in help system and manual
John W. Eaton <jwe@octave.org>
parents:
14363
diff
changeset
|
114 fid = fopen (file, "r"); |
4e9dc46d4125
handle texinfo macros consistently in help system and manual
John W. Eaton <jwe@octave.org>
parents:
14363
diff
changeset
|
115 if (fid < 0) |
4e9dc46d4125
handle texinfo macros consistently in help system and manual
John W. Eaton <jwe@octave.org>
parents:
14363
diff
changeset
|
116 error ("unable to open %s for reading", file); |
4e9dc46d4125
handle texinfo macros consistently in help system and manual
John W. Eaton <jwe@octave.org>
parents:
14363
diff
changeset
|
117 else |
4e9dc46d4125
handle texinfo macros consistently in help system and manual
John W. Eaton <jwe@octave.org>
parents:
14363
diff
changeset
|
118 macros_text = fread (fid, Inf, "*char")'; |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
15701
diff
changeset
|
119 text = [macros_text text]; |
14614
4e9dc46d4125
handle texinfo macros consistently in help system and manual
John W. Eaton <jwe@octave.org>
parents:
14363
diff
changeset
|
120 endif |
4e9dc46d4125
handle texinfo macros consistently in help system and manual
John W. Eaton <jwe@octave.org>
parents:
14363
diff
changeset
|
121 fclose (fid); |
10803
75780a2b0417
__makeinfo__.m: Add support to process @nopsell macro.
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
122 |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
123 if (strcmpi (output_type, "texinfo")) |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
124 status = 0; |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
125 retval = text; |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
126 return; |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
127 endif |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
128 |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
129 ## Create the final TeXinfo input string |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
130 text = sprintf ("\\input texinfo\n\n%s\n\n@bye\n", text); |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
131 |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
132 unwind_protect |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
133 ## Write Texinfo to tmp file |
9983 | 134 template = "octave-help-XXXXXX"; |
15701
edce7d75597b
Change .m files to use tempdir instead of P_tmpdir (patch #7875)
Corbin Champion <corbinlc@gmail.com>
parents:
14614
diff
changeset
|
135 [fid, name] = mkstemp (fullfile (tempdir, template), true); |
9982
7cef030b8069
let __makeinfo__ create temporary file in P_tmpdir
Jaroslav Hajek <highegg@gmail.com>
parents:
9263
diff
changeset
|
136 if (fid < 0) |
7cef030b8069
let __makeinfo__ create temporary file in P_tmpdir
Jaroslav Hajek <highegg@gmail.com>
parents:
9263
diff
changeset
|
137 error ("__makeinfo__: could not create temporary file"); |
7cef030b8069
let __makeinfo__ create temporary file in P_tmpdir
Jaroslav Hajek <highegg@gmail.com>
parents:
9263
diff
changeset
|
138 endif |
18597
2633b5f3106a
__makeinfo__: Process Texinfo docstrings without type conversion (bug #41965)
Mike Miller <mtmiller@ieee.org>
parents:
18401
diff
changeset
|
139 fprintf (fid, "%s", text); |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
140 fclose (fid); |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
141 |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
142 ## Take action depending on output type |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
143 switch (lower (output_type)) |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
144 case "plain text" |
27899
fde18e0a2984
Have TexInfo errors result in warning delivered to user (patch #9464)
Colin Macdonald <cbm@m.fsf.org>
parents:
27566
diff
changeset
|
145 cmd = sprintf ('%s --no-headers --no-warn --no-validate --plaintext --output=- "%s"', |
13121
390add500107
Add back the third input parameter to __makeinfo__
Carlo de Falco <kingcrimson@tiscali.it>
parents:
13120
diff
changeset
|
146 makeinfo_program (), name); |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
147 case "html" |
27899
fde18e0a2984
Have TexInfo errors result in warning delivered to user (patch #9464)
Colin Macdonald <cbm@m.fsf.org>
parents:
27566
diff
changeset
|
148 cmd = sprintf ('%s --no-headers --html --no-warn --no-validate --output=- "%s"', |
13121
390add500107
Add back the third input parameter to __makeinfo__
Carlo de Falco <kingcrimson@tiscali.it>
parents:
13120
diff
changeset
|
149 makeinfo_program (), name); |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
150 otherwise |
8768
e0fbf17a17bb
__makeinfo__.m: rename from makeinfo.m
John W. Eaton <jwe@octave.org>
parents:
8717
diff
changeset
|
151 error ("__makeinfo__: unsupported output type: '%s'", output_type); |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
152 endswitch |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
153 |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
154 ## Call makeinfo |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
155 [status, retval] = system (cmd); |
10803
75780a2b0417
__makeinfo__.m: Add support to process @nopsell macro.
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
156 |
27899
fde18e0a2984
Have TexInfo errors result in warning delivered to user (patch #9464)
Colin Macdonald <cbm@m.fsf.org>
parents:
27566
diff
changeset
|
157 ## On error, retry with force to ensure user gets *something* |
fde18e0a2984
Have TexInfo errors result in warning delivered to user (patch #9464)
Colin Macdonald <cbm@m.fsf.org>
parents:
27566
diff
changeset
|
158 if (status) |
fde18e0a2984
Have TexInfo errors result in warning delivered to user (patch #9464)
Colin Macdonald <cbm@m.fsf.org>
parents:
27566
diff
changeset
|
159 cmd = regexprep (cmd, '--output=', '--force --output=', 'once'); |
fde18e0a2984
Have TexInfo errors result in warning delivered to user (patch #9464)
Colin Macdonald <cbm@m.fsf.org>
parents:
27566
diff
changeset
|
160 [status_force, retval] = system (cmd); |
fde18e0a2984
Have TexInfo errors result in warning delivered to user (patch #9464)
Colin Macdonald <cbm@m.fsf.org>
parents:
27566
diff
changeset
|
161 ## original return value usually more useful |
fde18e0a2984
Have TexInfo errors result in warning delivered to user (patch #9464)
Colin Macdonald <cbm@m.fsf.org>
parents:
27566
diff
changeset
|
162 if (status_force) |
fde18e0a2984
Have TexInfo errors result in warning delivered to user (patch #9464)
Colin Macdonald <cbm@m.fsf.org>
parents:
27566
diff
changeset
|
163 status = status_force; |
28947
b73a54c31152
maint: Use Octave-specific end keywords rather than just 'end'.
Rik <rik@octave.org>
parents:
28789
diff
changeset
|
164 endif |
b73a54c31152
maint: Use Octave-specific end keywords rather than just 'end'.
Rik <rik@octave.org>
parents:
28789
diff
changeset
|
165 endif |
27899
fde18e0a2984
Have TexInfo errors result in warning delivered to user (patch #9464)
Colin Macdonald <cbm@m.fsf.org>
parents:
27566
diff
changeset
|
166 |
19928
e884d5816471
Remove extra newlines at end of help printout (bug #44504).
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
167 ## Clean up extra newlines generated by makeinfo |
e884d5816471
Remove extra newlines at end of help printout (bug #44504).
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
168 if (strcmpi (output_type, "plain text")) |
e884d5816471
Remove extra newlines at end of help printout (bug #44504).
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
169 if (numel (retval) > 2 && retval(end-1:end) == "\n\n") |
e884d5816471
Remove extra newlines at end of help printout (bug #44504).
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
170 retval = retval(1:end-2); |
e884d5816471
Remove extra newlines at end of help printout (bug #44504).
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
171 endif |
e884d5816471
Remove extra newlines at end of help printout (bug #44504).
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
172 endif |
e884d5816471
Remove extra newlines at end of help printout (bug #44504).
Rik <rik@octave.org>
parents:
19697
diff
changeset
|
173 |
20944
a7ebc9815d71
doc: Start help text with " -- ", not " -- : ".
Rik <rik@octave.org>
parents:
19928
diff
changeset
|
174 ## Clean up start of @deftypefn expansion which includes extra ':' |
a7ebc9815d71
doc: Start help text with " -- ", not " -- : ".
Rik <rik@octave.org>
parents:
19928
diff
changeset
|
175 retval = regexprep (retval, '^ -- : +', ' -- ', "lineanchors"); |
a7ebc9815d71
doc: Start help text with " -- ", not " -- : ".
Rik <rik@octave.org>
parents:
19928
diff
changeset
|
176 |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
177 unwind_protect_cleanup |
8768
e0fbf17a17bb
__makeinfo__.m: rename from makeinfo.m
John W. Eaton <jwe@octave.org>
parents:
8717
diff
changeset
|
178 if (exist (name, "file")) |
e0fbf17a17bb
__makeinfo__.m: rename from makeinfo.m
John W. Eaton <jwe@octave.org>
parents:
8717
diff
changeset
|
179 delete (name); |
e0fbf17a17bb
__makeinfo__.m: rename from makeinfo.m
John W. Eaton <jwe@octave.org>
parents:
8717
diff
changeset
|
180 endif |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
181 end_unwind_protect |
20944
a7ebc9815d71
doc: Start help text with " -- ", not " -- : ".
Rik <rik@octave.org>
parents:
19928
diff
changeset
|
182 |
8575
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
183 endfunction |
f134925a1cfa
m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff
changeset
|
184 |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14360
diff
changeset
|
185 |
13044
a04e32272ecb
codesprint: Turn off test warning for various internal helper functions
Rik <octave@nomad.inbox5.com>
parents:
12606
diff
changeset
|
186 ## No test needed for internal helper function. |
a04e32272ecb
codesprint: Turn off test warning for various internal helper functions
Rik <octave@nomad.inbox5.com>
parents:
12606
diff
changeset
|
187 %!assert (1) |