annotate src/help.cc @ 10182:0522a65bcd56

assume unistd.h and sys/types.h exist
author John W. Eaton <jwe@octave.org>
date Thu, 21 Jan 2010 15:41:19 -0500
parents cd96d29c5efa
children 57a59eae83cc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
1 /*
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
2
7017
a1dbe9d80eee [project @ 2007-10-12 21:27:11 by jwe]
jwe
parents: 7016
diff changeset
3 Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
8920
eb63fbe60fab update copyright notices
John W. Eaton <jwe@octave.org>
parents: 8863
diff changeset
4 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 John W. Eaton
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
5
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
6 This file is part of Octave.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
7
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
8 Octave is free software; you can redistribute it and/or modify it
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
9 under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
10 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
11 option) any later version.
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
12
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
13 Octave is distributed in the hope that it will be useful, but WITHOUT
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
16 for more details.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
17
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
19 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7001
diff changeset
20 <http://www.gnu.org/licenses/>.
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
21
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
22 */
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
23
240
a99f28f5e351 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents: 1
diff changeset
24 #ifdef HAVE_CONFIG_H
1192
b6360f2d4fa6 [project @ 1995-03-30 21:38:35 by jwe]
jwe
parents: 1155
diff changeset
25 #include <config.h>
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
26 #endif
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
27
1343
94bedeb289e5 [project @ 1995-09-04 00:29:21 by jwe]
jwe
parents: 1315
diff changeset
28 #include <cstdlib>
94bedeb289e5 [project @ 1995-09-04 00:29:21 by jwe]
jwe
parents: 1315
diff changeset
29 #include <cstring>
94bedeb289e5 [project @ 1995-09-04 00:29:21 by jwe]
jwe
parents: 1315
diff changeset
30
5769
2b9a5ce46678 [project @ 2006-04-18 15:57:06 by jwe]
jwe
parents: 5768
diff changeset
31 #include <algorithm>
3503
d14c483b3c12 [project @ 2000-02-01 04:06:07 by jwe]
jwe
parents: 3408
diff changeset
32 #include <iostream>
d14c483b3c12 [project @ 2000-02-01 04:06:07 by jwe]
jwe
parents: 3408
diff changeset
33 #include <fstream>
5765
7ba9ad1fec11 [project @ 2006-04-17 05:05:15 by jwe]
jwe
parents: 5738
diff changeset
34 #include <sstream>
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1742
diff changeset
35 #include <string>
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1742
diff changeset
36
1295
34295bf6aac6 [project @ 1995-05-01 18:24:48 by jwe]
jwe
parents: 1288
diff changeset
37 #include <sys/types.h>
34295bf6aac6 [project @ 1995-05-01 18:24:48 by jwe]
jwe
parents: 1288
diff changeset
38 #include <unistd.h>
1343
94bedeb289e5 [project @ 1995-09-04 00:29:21 by jwe]
jwe
parents: 1315
diff changeset
39
3295
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
40 #include "cmd-edit.h"
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
41 #include "file-ops.h"
6253
f1676652d808 [project @ 2007-01-24 20:43:36 by jwe]
jwe
parents: 6243
diff changeset
42 #include "file-stat.h"
2926
66ef74ee5d9f [project @ 1997-05-05 03:20:52 by jwe]
jwe
parents: 2900
diff changeset
43 #include "oct-env.h"
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1742
diff changeset
44 #include "str-vec.h"
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1742
diff changeset
45
2492
06595bc7f2d0 [project @ 1996-11-09 00:13:50 by jwe]
jwe
parents: 2470
diff changeset
46 #include <defaults.h>
1352
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1350
diff changeset
47 #include "defun.h"
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1350
diff changeset
48 #include "dirfns.h"
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1350
diff changeset
49 #include "error.h"
2202
31b62b7c5d2d [project @ 1996-05-15 06:07:11 by jwe]
jwe
parents: 2189
diff changeset
50 #include "gripes.h"
1352
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1350
diff changeset
51 #include "help.h"
2177
0bddc913621b [project @ 1996-05-13 16:36:11 by jwe]
jwe
parents: 2124
diff changeset
52 #include "input.h"
5832
5e41e06f6a78 [project @ 2006-05-26 21:41:32 by jwe]
jwe
parents: 5823
diff changeset
53 #include "load-path.h"
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1742
diff changeset
54 #include "oct-obj.h"
2976
641689f67673 [project @ 1997-05-15 20:27:04 by jwe]
jwe
parents: 2962
diff changeset
55 #include "ov-usr-fcn.h"
1352
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1350
diff changeset
56 #include "pager.h"
3018
5708b8bb4f06 [project @ 1997-06-03 21:48:05 by jwe]
jwe
parents: 3016
diff changeset
57 #include "parse.h"
1466
2f85a175308f [project @ 1995-09-22 07:48:59 by jwe]
jwe
parents: 1443
diff changeset
58 #include "pathsearch.h"
3295
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
59 #include "procstream.h"
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
60 #include "pt-pr-code.h"
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 389
diff changeset
61 #include "sighandlers.h"
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 389
diff changeset
62 #include "symtab.h"
2694
13f134a00f12 [project @ 1997-02-18 15:33:28 by jwe]
jwe
parents: 2692
diff changeset
63 #include "syswait.h"
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1742
diff changeset
64 #include "toplev.h"
8672
2a49c32d4322 allow help to work with files containing only comments
John W. Eaton <jwe@octave.org>
parents: 8631
diff changeset
65 #include "unwind-prot.h"
242
742c4795aea9 [project @ 1993-11-30 21:26:43 by jwe]
jwe
parents: 240
diff changeset
66 #include "utils.h"
1352
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1350
diff changeset
67 #include "variables.h"
3301
02866242d3ae [project @ 1999-10-20 04:10:46 by jwe]
jwe
parents: 3296
diff changeset
68 #include "version.h"
5447
051ddd7a6681 [project @ 2005-09-14 05:18:23 by jwe]
jwe
parents: 5399
diff changeset
69 #include "quit.h"
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 389
diff changeset
70
8861
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
71 // Name of the doc cache file specified on the command line.
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
72 // (--doc-cache-file file)
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
73 std::string Vdoc_cache_file;
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
74
2202
31b62b7c5d2d [project @ 1996-05-15 06:07:11 by jwe]
jwe
parents: 2189
diff changeset
75 // Name of the info file specified on command line.
31b62b7c5d2d [project @ 1996-05-15 06:07:11 by jwe]
jwe
parents: 2189
diff changeset
76 // (--info-file file)
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
77 std::string Vinfo_file;
2202
31b62b7c5d2d [project @ 1996-05-15 06:07:11 by jwe]
jwe
parents: 2189
diff changeset
78
31b62b7c5d2d [project @ 1996-05-15 06:07:11 by jwe]
jwe
parents: 2189
diff changeset
79 // Name of the info reader we'd like to use.
31b62b7c5d2d [project @ 1996-05-15 06:07:11 by jwe]
jwe
parents: 2189
diff changeset
80 // (--info-program program)
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
81 std::string Vinfo_program;
2202
31b62b7c5d2d [project @ 1996-05-15 06:07:11 by jwe]
jwe
parents: 2189
diff changeset
82
3686
9507d6de9bbd [project @ 2000-06-29 16:30:44 by jwe]
jwe
parents: 3584
diff changeset
83 // Name of the makeinfo program to run.
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
84 static std::string Vmakeinfo_program = "makeinfo";
3686
9507d6de9bbd [project @ 2000-06-29 16:30:44 by jwe]
jwe
parents: 3584
diff changeset
85
2189
d01936305d99 [project @ 1996-05-14 03:31:57 by jwe]
jwe
parents: 2177
diff changeset
86 // If TRUE, don't print additional help message in help and usage
d01936305d99 [project @ 1996-05-14 03:31:57 by jwe]
jwe
parents: 2177
diff changeset
87 // functions.
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
88 static bool Vsuppress_verbose_help_message = false;
2189
d01936305d99 [project @ 1996-05-14 03:31:57 by jwe]
jwe
parents: 2177
diff changeset
89
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
90 #include <map>
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
91
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
92 typedef std::map<std::string, std::string> map_type;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
93 typedef map_type::value_type pair_type;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
94 typedef map_type::const_iterator map_iter;
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
95
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
96 template<typename T, std::size_t z>
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
97 std::size_t
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
98 size (T const (&)[z])
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
99 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
100 return z;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
101 }
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
102
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
103 // FIXME -- The descriptions could easily be in texinfo -- should they?
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
104 const static pair_type operators[] =
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
105 {
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
106 pair_type ("!",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
107 "Logical not operator. See also `~'.\n"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
108
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
109 pair_type ("!=",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
110 "Logical not equals operator. See also `~='.\n"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
111
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
112 pair_type ("\"",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
113 "String delimiter.\n"),
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
114
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
115 pair_type ("#",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
116 "Begin comment character. See also `%'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
117
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
118 pair_type ("%",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
119 "Begin comment charcter. See also `#'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
120
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
121 pair_type ("&",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
122 "Element by element logical and operator. See also `&&'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
123
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
124 pair_type ("&&",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
125 "Logical and operator (with short-circuit evaluation). See also `&'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
126
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
127 pair_type ("'",
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
128 "Matrix transpose operator. For complex matrices, computes the\n\
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
129 complex conjugate (Hermitian) transpose. See also `.''\n\
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
130 \n\
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
131 The single quote character may also be used to delimit strings, but\n\
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
132 it is better to use the double quote character, since that is never\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
133 ambiguous"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
134
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
135 pair_type ("(",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
136 "Array index or function argument delimiter."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
137
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
138 pair_type (")",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
139 "Array index or function argument delimiter."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
140
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
141 pair_type ("*",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
142 "Multiplication operator. See also `.*'"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
143
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
144 pair_type ("**",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
145 "Power operator. See also `^', `.**', and `.^'"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
146
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
147 pair_type ("+",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
148 "Addition operator."),
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
149
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
150 pair_type ("++",
5339
4266ef7972b2 [project @ 2005-05-05 19:06:25 by jwe]
jwe
parents: 5307
diff changeset
151 "Increment operator. As in C, may be applied as a prefix or postfix\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
152 operator."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
153
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
154 pair_type (",",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
155 "Array index, function argument, or command separator."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
156
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
157 pair_type ("-",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
158 "Subtraction or unary negation operator."),
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
159
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
160 pair_type ("--",
5339
4266ef7972b2 [project @ 2005-05-05 19:06:25 by jwe]
jwe
parents: 5307
diff changeset
161 "Decrement operator. As in C, may be applied as a prefix or postfix\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
162 operator."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
163
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
164 pair_type (".'",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
165 "Matrix transpose operator. For complex matrices, computes the\n\
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
166 transpose, *not* the complex conjugate transpose. See also `''."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
167
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
168 pair_type (".*",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
169 "Element by element multiplication operator. See also `*'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
170
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
171 pair_type (".**",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
172 "Element by element power operator. See also `**', `^', and `.^'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
173
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
174 pair_type ("./",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
175 "Element by element division operator. See also `/' and `\\'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
176
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
177 pair_type (".^",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
178 "Element by element power operator. See also `**', `^', and `.^'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
179
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
180 pair_type ("/",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
181 "Right division. See also `\\' and `./'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
182
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
183 pair_type (":",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
184 "Select entire rows or columns of matrices."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
185
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
186 pair_type (";",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
187 "Array row or command separator. See also `,'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
188
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
189 pair_type ("<",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
190 "Less than operator."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
191
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
192 pair_type ("<=",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
193 "Less than or equals operator."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
194
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
195 pair_type ("=",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
196 "Assignment operator."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
197
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
198 pair_type ("==",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
199 "Equality test operator."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
200
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
201 pair_type (">",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
202 "Greater than operator."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
203
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
204 pair_type (">=",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
205 "Greater than or equals operator."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
206
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
207 pair_type ("[",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
208 "Return list delimiter. See also `]'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
209
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
210 pair_type ("\\",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
211 "Left division operator. See also `/' and `./'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
212
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
213 pair_type ("]",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
214 "Return list delimiter. See also `['."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
215
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
216 pair_type ("^",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
217 "Power operator. See also `**', `.^', and `.**.'"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
218
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
219 pair_type ("|",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
220 "Element by element logical or operator. See also `||'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
221
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
222 pair_type ("||",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
223 "Logical or operator (with short-circuit evaluation). See also `|'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
224
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
225 pair_type ("~",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
226 "Logical not operator. See also `!' and `~'."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
227
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
228 pair_type ("~=",
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
229 "Logical not equals operator. See also `!='."),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
230 };
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
231
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
232 const static pair_type keywords[] =
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
233 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
234 pair_type ("break",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
235 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
236 @deffn Keyword break\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
237 Exit the innermost enclosing do, while or for loop.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
238 @seealso{do, while, for, continue}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
239 @end deffn"),
5040
b6ff3a0d3d17 [project @ 2004-09-27 13:50:01 by jwe]
jwe
parents: 4686
diff changeset
240
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
241 pair_type ("case",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
242 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
243 @deffn Keyword case @{@var{value}@}\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
244 A case statement in an switch. Octave cases are exclusive and do not\n\
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
245 fall-through as do C-language cases. A switch statement must have at least\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
246 one case. See @code{switch} for an example.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
247 @seealso{switch}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
248 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
249
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
250 pair_type ("catch",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
251 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
252 @deffn Keyword catch\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
253 Begin the cleanup part of a try-catch block.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
254 @seealso{try}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
255 @end deffn"),
1489
3e705c864019 [project @ 1995-09-28 05:38:26 by jwe]
jwe
parents: 1488
diff changeset
256
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
257 pair_type ("continue",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
258 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
259 @deffn Keyword continue\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
260 Jump to the end of the innermost enclosing do, while or for loop.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
261 @seealso{do, while, for, break}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
262 @end deffn"),
5040
b6ff3a0d3d17 [project @ 2004-09-27 13:50:01 by jwe]
jwe
parents: 4686
diff changeset
263
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
264 pair_type ("do",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
265 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
266 @deffn Keyword do\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
267 Begin a do-until loop. This differs from a do-while loop in that the\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
268 body of the loop is executed at least once.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
269 @seealso{while}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
270 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
271
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
272 pair_type ("else",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
273 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
274 @deffn Keyword else\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
275 Alternate action for an if block. See @code{if} for an example.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
276 @seealso{if}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
277 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
278
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
279 pair_type ("elseif",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
280 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
281 @deffn Keyword elseif (@var{condition})\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
282 Alternate conditional test for an if block. See @code{if} for an example.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
283 @seealso{if}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
284 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
285
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
286 pair_type ("end",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
287 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
288 @deffn Keyword end\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
289 Mark the end of any @code{for}, @code{if}, @code{do}, @code{while}, or @code{function} block.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
290 @seealso{for, if, do, while, function}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
291 @end deffn"),
928
2f91e7098f8c [project @ 1994-11-15 21:53:40 by jwe]
jwe
parents: 867
diff changeset
292
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
293 pair_type ("end_try_catch",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
294 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
295 @deffn Keyword end_try_catch\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
296 Mark the end of an @code{try-catch} block.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
297 @seealso{try, catch}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
298 @end deffn"),
1489
3e705c864019 [project @ 1995-09-28 05:38:26 by jwe]
jwe
parents: 1488
diff changeset
299
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
300 pair_type ("end_unwind_protect",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
301 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
302 @deffn Keyword end_unwind_protect\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
303 Mark the end of an unwind_protect block.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
304 @seealso{unwind_protect}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
305 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
306
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
307 pair_type ("endfor",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
308 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
309 @deffn Keyword endfor\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
310 Mark the end of a for loop. See @code{for} for an example.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
311 @seealso{for}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
312 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
313
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
314 pair_type ("endfunction",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
315 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
316 @deffn Keyword endfunction\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
317 Mark the end of a function.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
318 @seealso{function}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
319 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
320
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
321 pair_type ("endif",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
322 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
323 @deffn Keyword endif\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
324 Mark the end of an if block. See @code{if} for an example.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
325 @seealso{if}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
326 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
327
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
328 pair_type ("endswitch",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
329 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
330 @deffn Keyword endswitch\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
331 Mark the end of a switch block. See @code{switch} for an example.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
332 @seealso{switch}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
333 @end deffn"),
5122
695509577dc6 [project @ 2005-01-26 22:15:11 by jwe]
jwe
parents: 5041
diff changeset
334
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
335 pair_type ("endwhile",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
336 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
337 @deffn Keyword endwhile\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
338 Mark the end of a while loop. See @code{while} for an example.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
339 @seealso{do, while}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
340 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
341
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
342 pair_type ("for",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
343 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
344 @deffn Keyword for @var{i} = @var{range}\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
345 Begin a for loop.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
346 @example\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
347 @group\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
348 for i = 1:10\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
349 i\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
350 endfor\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
351 @end group\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
352 @end example\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
353 @seealso{do, while}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
354 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
355
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
356 pair_type ("function",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
357 "-*- texinfo -*-\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
358 @deffn Keyword function @var{outputs} = function (@var{input}, @dots{})\n\
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
359 @deffnx Keyword function {} function (@var{input}, @dots{})\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
360 @deffnx Keyword function @var{outputs} = function\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
361 Begin a function body with @var{outputs} as results and @var{inputs} as\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
362 parameters.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
363 @seealso{return}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
364 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
365
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
366 pair_type ("global",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
367 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
368 @deffn Keyword global\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
369 Declare variables to have global scope.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
370 @example\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
371 @group\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
372 global @var{x};\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
373 if isempty (@var{x})\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
374 x = 1;\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
375 endif\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
376 @end group\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
377 @end example\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
378 @seealso{persistent}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
379 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
380
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
381 pair_type ("if",
5393
c8783205a7c6 [project @ 2005-06-15 17:03:54 by jwe]
jwe
parents: 5339
diff changeset
382 "-*- texinfo -*-\n\
c8783205a7c6 [project @ 2005-06-15 17:03:54 by jwe]
jwe
parents: 5339
diff changeset
383 @deffn Keyword if (@var{cond}) @dots{} endif\n\
c8783205a7c6 [project @ 2005-06-15 17:03:54 by jwe]
jwe
parents: 5339
diff changeset
384 @deffnx Keyword if (@var{cond}) @dots{} else @dots{} endif\n\
c8783205a7c6 [project @ 2005-06-15 17:03:54 by jwe]
jwe
parents: 5339
diff changeset
385 @deffnx Keyword if (@var{cond}) @dots{} elseif (@var{cond}) @dots{} endif\n\
c8783205a7c6 [project @ 2005-06-15 17:03:54 by jwe]
jwe
parents: 5339
diff changeset
386 @deffnx Keyword if (@var{cond}) @dots{} elseif (@var{cond}) @dots{} else @dots{} endif\n\
c8783205a7c6 [project @ 2005-06-15 17:03:54 by jwe]
jwe
parents: 5339
diff changeset
387 Begin an if block.\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
388 @example\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
389 @group\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
390 x = 1;\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
391 if (x == 1)\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
392 disp (\"one\");\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
393 elseif (x == 2)\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
394 disp (\"two\");\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
395 else\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
396 disp (\"not one or two\");\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
397 endif\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
398 @end group\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
399 @end example\n\
5646
2b20d1707f29 [project @ 2006-03-06 22:38:32 by jwe]
jwe
parents: 5644
diff changeset
400 @seealso{switch}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
401 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
402
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
403 pair_type ("otherwise",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
404 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
405 @deffn Keyword otherwise\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
406 The default statement in a switch block (similar to else in an if block).\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
407 @seealso{switch}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
408 @end deffn"),
5040
b6ff3a0d3d17 [project @ 2004-09-27 13:50:01 by jwe]
jwe
parents: 4686
diff changeset
409
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
410 pair_type ("persistent",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
411 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
412 @deffn Keyword persistent @var{var}\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
413 Declare variables as persistent. A variable that has been declared\n\
5623
691de3e3c2f8 [project @ 2006-02-15 18:32:32 by jwe]
jwe
parents: 5594
diff changeset
414 persistent within a function will retain its contents in memory between\n\
691de3e3c2f8 [project @ 2006-02-15 18:32:32 by jwe]
jwe
parents: 5594
diff changeset
415 subsequent calls to the same function. The difference between persistent\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
416 variables and global variables is that persistent variables are local in \n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
417 scope to a particular function and are not visible elsewhere.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
418 @seealso{global}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
419 @end deffn"),
4686
c7ae43dfdea4 [project @ 2004-01-06 19:29:23 by jwe]
jwe
parents: 4469
diff changeset
420
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
421 pair_type ("replot",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
422 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
423 @deffn Keyword replot\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
424 Replot a graphic.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
425 @seealso{plot}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
426 @end deffn"),
5040
b6ff3a0d3d17 [project @ 2004-09-27 13:50:01 by jwe]
jwe
parents: 4686
diff changeset
427
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
428 pair_type ("return",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
429 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
430 @deffn Keyword return\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
431 Return from a function.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
432 @seealso{function}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
433 @end deffn"),
928
2f91e7098f8c [project @ 1994-11-15 21:53:40 by jwe]
jwe
parents: 867
diff changeset
434
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
435 pair_type ("static",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
436 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
437 @deffn Keyword static\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
438 This function has been deprecated in favor of persistent.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
439 @seealso{persistent}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
440 @end deffn"),
5040
b6ff3a0d3d17 [project @ 2004-09-27 13:50:01 by jwe]
jwe
parents: 4686
diff changeset
441
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
442 pair_type ("switch",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
443 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
444 @deffn Keyword switch @var{statement}\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
445 Begin a switch block.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
446 @example\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
447 @group\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
448 yesno = \"yes\"\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
449 \n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
450 switch yesno\n\
5832
5e41e06f6a78 [project @ 2006-05-26 21:41:32 by jwe]
jwe
parents: 5823
diff changeset
451 case @{\"Yes\" \"yes\" \"YES\" \"y\" \"Y\"@}\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
452 value = 1;\n\
5832
5e41e06f6a78 [project @ 2006-05-26 21:41:32 by jwe]
jwe
parents: 5823
diff changeset
453 case @{\"No\" \"no\" \"NO\" \"n\" \"N\"@}\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
454 value = 0;\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
455 otherwise\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
456 error (\"invalid value\");\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
457 endswitch\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
458 @end group\n\
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
459 @end example\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
460 @seealso{if, case, otherwise}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
461 @end deffn"),
5040
b6ff3a0d3d17 [project @ 2004-09-27 13:50:01 by jwe]
jwe
parents: 4686
diff changeset
462
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
463 pair_type ("try",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
464 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
465 @deffn Keyword try\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
466 Begin a try-catch block.\n\
6138
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
467 \n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
468 If an error occurs within a try block, then the catch code will be run and\n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
469 execution will proceed after the catch block (though it is often\n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
470 recommended to use the lasterr function to re-throw the error after cleanup\n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
471 is completed).\n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
472 @seealso{catch,unwind_protect}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
473 @end deffn"),
1489
3e705c864019 [project @ 1995-09-28 05:38:26 by jwe]
jwe
parents: 1488
diff changeset
474
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
475 pair_type ("until",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
476 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
477 @deffn Keyword until\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
478 End a do-until loop.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
479 @seealso{do}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
480 @end deffn"),
5040
b6ff3a0d3d17 [project @ 2004-09-27 13:50:01 by jwe]
jwe
parents: 4686
diff changeset
481
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
482 pair_type ("unwind_protect",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
483 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
484 @deffn Keyword unwind_protect\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
485 Begin an unwind_protect block.\n\
6138
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
486 \n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
487 If an error occurs within the first part of an unwind_protect block\n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
488 the commands within the unwind_protect_cleanup block are executed before\n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
489 the error is thrown. If an error is not thrown, then the\n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
490 unwind_protect_cleanup block is still executed (in other words, the\n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
491 unwind_protect_cleanup will be run with or without an error in the\n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
492 unwind_protect block).\n\
c5874b47d571 [project @ 2006-11-03 18:26:11 by jwe]
jwe
parents: 6099
diff changeset
493 @seealso{unwind_protect_cleanup,try}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
494 @end deffn"),
928
2f91e7098f8c [project @ 1994-11-15 21:53:40 by jwe]
jwe
parents: 867
diff changeset
495
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
496 pair_type ("unwind_protect_cleanup",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
497 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
498 @deffn Keyword unwind_protect_cleanup\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
499 Begin the cleanup section of an unwind_protect block.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
500 @seealso{unwind_protect}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
501 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
502
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
503 pair_type ("varargin",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
504 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
505 @deffn Keyword varargin\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
506 Pass an arbitrary number of arguments into a function.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
507 @seealso{varargout, nargin, nargout}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
508 @end deffn"),
5040
b6ff3a0d3d17 [project @ 2004-09-27 13:50:01 by jwe]
jwe
parents: 4686
diff changeset
509
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
510 pair_type ("varargout",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
511 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
512 @deffn Keyword varargout\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
513 Pass an arbitrary number of arguments out of a function.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
514 @seealso{varargin, nargin, nargout}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
515 @end deffn"),
5040
b6ff3a0d3d17 [project @ 2004-09-27 13:50:01 by jwe]
jwe
parents: 4686
diff changeset
516
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
517 pair_type ("while",
5818
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
518 "-*- texinfo -*-\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
519 @deffn Keyword while\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
520 Begin a while loop.\n\
66a426e608cc [project @ 2006-05-17 16:45:41 by jwe]
jwe
parents: 5814
diff changeset
521 @seealso{do}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
522 @end deffn"),
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
523 };
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
524
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
525 // Return a copy of the operator or keyword names.
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
526 static string_vector
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
527 names (const map_type& lst)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
528 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
529 string_vector retval (lst.size ());
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
530 int j = 0;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
531 for (map_iter iter = lst.begin (); iter != lst.end (); iter ++)
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
532 retval [j++] = iter->first;
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1742
diff changeset
533 return retval;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
534 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
535
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
536 const static map_type operators_map (operators, operators + size (operators));
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
537 const static map_type keywords_map (keywords, keywords + size (keywords));
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
538 const static string_vector keyword_names = names (keywords_map);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
539
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
540 // FIXME -- It's not likely that this does the right thing now.
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
541
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
542 string_vector
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
543 make_name_list (void)
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
544 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
545 const int key_len = keyword_names.length ();
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
546
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
547 const string_vector bif = symbol_table::built_in_function_names ();
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
548 const int bif_len = bif.length ();
4009
27e461aed956 [project @ 2002-07-31 09:33:03 by jwe]
jwe
parents: 3917
diff changeset
549
7752
40c428ea3408 initial implementation of dbup and dbdown
John W. Eaton <jwe@octave.org>
parents: 7438
diff changeset
550 // FIXME -- is this really necessary here?
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
551 const string_vector glb = symbol_table::global_variable_names ();
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
552 const int glb_len = glb.length ();
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
553
7752
40c428ea3408 initial implementation of dbup and dbdown
John W. Eaton <jwe@octave.org>
parents: 7438
diff changeset
554 // FIXME -- is this really necessary here?
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
555 const string_vector top = symbol_table::top_level_variable_names ();
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
556 const int top_len = top.length ();
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
557
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
558 string_vector lcl;
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
559 if (! symbol_table::at_top_level ())
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
560 lcl = symbol_table::variable_names ();
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
561 const int lcl_len = lcl.length ();
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
562
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
563 const string_vector ffl = load_path::fcn_names ();
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
564 const int ffl_len = ffl.length ();
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
565
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
566 const string_vector afl = autoloaded_functions ();
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
567 const int afl_len = afl.length ();
5592
61d6cebd243b [project @ 2006-01-12 17:55:22 by dbateman]
dbateman
parents: 5576
diff changeset
568
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
569 const int total_len = key_len + bif_len + glb_len + top_len + lcl_len
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
570 + ffl_len + afl_len;
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
571
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
572 string_vector list (total_len);
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
573
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
574 // Put all the symbols in one big list.
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
575
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
576 int j = 0;
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
577 int i = 0;
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
578 for (i = 0; i < key_len; i++)
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
579 list[j++] = keyword_names[i];
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
580
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
581 for (i = 0; i < bif_len; i++)
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
582 list[j++] = bif[i];
4009
27e461aed956 [project @ 2002-07-31 09:33:03 by jwe]
jwe
parents: 3917
diff changeset
583
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
584 for (i = 0; i < glb_len; i++)
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
585 list[j++] = glb[i];
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
586
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
587 for (i = 0; i < top_len; i++)
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
588 list[j++] = top[i];
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
589
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
590 for (i = 0; i < lcl_len; i++)
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
591 list[j++] = lcl[i];
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
592
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
593 for (i = 0; i < ffl_len; i++)
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
594 list[j++] = ffl[i];
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
595
5592
61d6cebd243b [project @ 2006-01-12 17:55:22 by dbateman]
dbateman
parents: 5576
diff changeset
596 for (i = 0; i < afl_len; i++)
61d6cebd243b [project @ 2006-01-12 17:55:22 by dbateman]
dbateman
parents: 5576
diff changeset
597 list[j++] = afl[i];
61d6cebd243b [project @ 2006-01-12 17:55:22 by dbateman]
dbateman
parents: 5576
diff changeset
598
3016
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
599 return list;
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
600 }
f512c16826d1 [project @ 1997-06-03 03:16:13 by jwe]
jwe
parents: 3014
diff changeset
601
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
602 static bool
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
603 looks_like_html (const std::string& msg)
3014
38de16594cb4 [project @ 1997-06-02 20:28:09 by jwe]
jwe
parents: 3013
diff changeset
604 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
605 const size_t p1 = msg.find ('\n');
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
606 std::string t = msg.substr (0, p1);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
607 const size_t p2 = t.find ("<html"); // FIXME: this comparison should be case-insensitive
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
608
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
609 return (p2 != std::string::npos);
2470
1e673f0648b5 [project @ 1996-11-05 21:46:06 by jwe]
jwe
parents: 2442
diff changeset
610 }
3014
38de16594cb4 [project @ 1997-06-02 20:28:09 by jwe]
jwe
parents: 3013
diff changeset
611
38de16594cb4 [project @ 1997-06-02 20:28:09 by jwe]
jwe
parents: 3013
diff changeset
612 static bool
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
613 looks_like_texinfo (const std::string& msg, size_t& p1)
3295
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
614 {
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
615 p1 = msg.find ('\n');
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
616
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
617 std::string t = msg.substr (0, p1);
3295
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
618
8021
85184151822e fix typo in NPOS change
John W. Eaton <jwe@octave.org>
parents: 8019
diff changeset
619 if (p1 == std::string::npos)
3295
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
620 p1 = 0;
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
621
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
622 size_t p2 = t.find ("-*- texinfo -*-");
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
623
8021
85184151822e fix typo in NPOS change
John W. Eaton <jwe@octave.org>
parents: 8019
diff changeset
624 return (p2 != std::string::npos);
3295
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
625 }
35a6d027772c [project @ 1999-10-19 10:13:02 by jwe]
jwe
parents: 3259
diff changeset
626
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
627 static bool
6243
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
628 raw_help_from_symbol_table (const std::string& nm, std::string& h,
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
629 std::string& w, bool& symbol_found)
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
630 {
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
631 bool retval = false;
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
632
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
633 octave_value val = symbol_table::find_function (nm);
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
634
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
635 if (val.is_defined ())
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
636 {
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
637 octave_function *fcn = val.function_value ();
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
638
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
639 if (fcn)
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
640 {
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
641 symbol_found = true;
5399
db34dff19947 [project @ 2005-06-17 21:16:20 by jwe]
jwe
parents: 5393
diff changeset
642
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
643 h = fcn->doc_string ();
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
644
8631
52956d669506 Display sensible error message when the help text of an undocumented function is requested
Soren Hauberg <hauberg@gmail.com>
parents: 8630
diff changeset
645 retval = true;
52956d669506 Display sensible error message when the help text of an undocumented function is requested
Soren Hauberg <hauberg@gmail.com>
parents: 8630
diff changeset
646
52956d669506 Display sensible error message when the help text of an undocumented function is requested
Soren Hauberg <hauberg@gmail.com>
parents: 8630
diff changeset
647 w = fcn->fcn_file_name ();
6243
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
648
8631
52956d669506 Display sensible error message when the help text of an undocumented function is requested
Soren Hauberg <hauberg@gmail.com>
parents: 8630
diff changeset
649 if (w.empty ())
52956d669506 Display sensible error message when the help text of an undocumented function is requested
Soren Hauberg <hauberg@gmail.com>
parents: 8630
diff changeset
650 w = fcn->is_user_function ()
52956d669506 Display sensible error message when the help text of an undocumented function is requested
Soren Hauberg <hauberg@gmail.com>
parents: 8630
diff changeset
651 ? "command-line function" : "built-in function";
6243
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
652 }
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
653 }
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
654
6243
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
655 return retval;
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
656 }
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
657
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
658 static bool
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
659 raw_help_from_file (const std::string& nm, std::string& h,
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
660 std::string& file, bool& symbol_found)
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
661 {
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
662 bool retval = false;
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
663
8672
2a49c32d4322 allow help to work with files containing only comments
John W. Eaton <jwe@octave.org>
parents: 8631
diff changeset
664 // FIXME -- this is a bit of a kluge...
10066
2cd940306a06 make unwind_protect frames local
Jaroslav Hajek <highegg@gmail.com>
parents: 9806
diff changeset
665 unwind_protect frame;
2cd940306a06 make unwind_protect frames local
Jaroslav Hajek <highegg@gmail.com>
parents: 9806
diff changeset
666 frame.protect_var (reading_script_file);
8672
2a49c32d4322 allow help to work with files containing only comments
John W. Eaton <jwe@octave.org>
parents: 8631
diff changeset
667 reading_script_file = true;
2a49c32d4322 allow help to work with files containing only comments
John W. Eaton <jwe@octave.org>
parents: 8631
diff changeset
668
6243
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
669 h = get_help_from_file (nm, symbol_found, file);
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
670
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
671 if (h.length () > 0)
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
672 retval = true;
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
673
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
674 return retval;
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
675 }
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
676
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
677 static bool
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
678 raw_help_from_map (const std::string& nm, std::string& h,
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
679 const map_type& map, bool& symbol_found)
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
680 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
681 map_iter idx = map.find (nm);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
682 symbol_found = (idx != map.end ());
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
683 h = (symbol_found) ? idx->second : "";
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
684 return symbol_found;
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
685 }
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
686
6243
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
687 std::string
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
688 raw_help (const std::string& nm, bool& symbol_found)
6243
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
689 {
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
690 std::string h;
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
691 std::string w;
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
692 std::string f;
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
693
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
694 (raw_help_from_symbol_table (nm, h, w, symbol_found)
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
695 || raw_help_from_file (nm, h, f, symbol_found)
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
696 || raw_help_from_map (nm, h, operators_map, symbol_found)
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
697 || raw_help_from_map (nm, h, keywords_map, symbol_found));
6243
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
698
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
699 return h;
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
700 }
7924a9086c08 [project @ 2007-01-17 21:47:50 by jwe]
jwe
parents: 6138
diff changeset
701
1140
26d986865487 [project @ 1995-02-26 03:23:43 by jwe]
jwe
parents: 1118
diff changeset
702 static void
9806
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
703 do_get_help_text (const std::string& name, std::string& text,
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
704 std::string& format)
1140
26d986865487 [project @ 1995-02-26 03:23:43 by jwe]
jwe
parents: 1118
diff changeset
705 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
706 bool symbol_found = false;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
707 text = raw_help (name, symbol_found);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
708
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
709 format = "Not found";
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
710 if (symbol_found)
1140
26d986865487 [project @ 1995-02-26 03:23:43 by jwe]
jwe
parents: 1118
diff changeset
711 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
712 size_t idx = -1;
8631
52956d669506 Display sensible error message when the help text of an undocumented function is requested
Soren Hauberg <hauberg@gmail.com>
parents: 8630
diff changeset
713 if (text.empty ())
52956d669506 Display sensible error message when the help text of an undocumented function is requested
Soren Hauberg <hauberg@gmail.com>
parents: 8630
diff changeset
714 {
52956d669506 Display sensible error message when the help text of an undocumented function is requested
Soren Hauberg <hauberg@gmail.com>
parents: 8630
diff changeset
715 format = "Not documented";
52956d669506 Display sensible error message when the help text of an undocumented function is requested
Soren Hauberg <hauberg@gmail.com>
parents: 8630
diff changeset
716 }
52956d669506 Display sensible error message when the help text of an undocumented function is requested
Soren Hauberg <hauberg@gmail.com>
parents: 8630
diff changeset
717 else if (looks_like_texinfo (text, idx))
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
718 {
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
719 format = "texinfo";
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
720 text.erase (0, idx);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
721 }
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
722 else if (looks_like_html (text))
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
723 {
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
724 format = "html";
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
725 }
5399
db34dff19947 [project @ 2005-06-17 21:16:20 by jwe]
jwe
parents: 5393
diff changeset
726 else
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
727 {
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
728 format = "plain text";
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
729 }
1140
26d986865487 [project @ 1995-02-26 03:23:43 by jwe]
jwe
parents: 1118
diff changeset
730 }
26d986865487 [project @ 1995-02-26 03:23:43 by jwe]
jwe
parents: 1118
diff changeset
731 }
26d986865487 [project @ 1995-02-26 03:23:43 by jwe]
jwe
parents: 1118
diff changeset
732
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
733 DEFUN (get_help_text, args, , "-*- texinfo -*-\n\
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
734 @deftypefn {Loadable Function} {[@var{text}, @var{format}] =} get_help_text (@var{name})\n\
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
735 Returns the help text of a given function.\n\
3168
1c267910655d [project @ 1998-04-19 01:22:38 by jwe]
jwe
parents: 3164
diff changeset
736 \n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
737 This function returns the raw help text @var{text} and an indication of\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
738 its format for the function @var{name}. The format indication @var{format}\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
739 is a string that can be either @t{\"texinfo\"}, @t{\"html\"}, or\n\
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
740 @t{\"plain text\"}.\n\
3332
7c03933635c6 [project @ 1999-11-02 06:57:12 by jwe]
jwe
parents: 3330
diff changeset
741 \n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
742 To convert the help text to other formats, use the @code{makeinfo} function.\n\
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
743 \n\
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
744 @seealso{makeinfo}\n\
8812
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
745 @end deftypefn")
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 389
diff changeset
746 {
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
747 octave_value_list retval;
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 389
diff changeset
748
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
749 if (args.length () == 1)
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
750 {
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
751 const std::string name = args (0).string_value ();
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1742
diff changeset
752
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
753 if (! error_state)
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
754 {
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
755 std::string text;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
756 std::string format;
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 389
diff changeset
757
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
758 do_get_help_text (name, text, format);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
759
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
760 retval(1) = format;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
761 retval(0) = text;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
762 }
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
763 else
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
764 error ("get_help_text: invalid input");
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
765 }
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 389
diff changeset
766 else
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
767 print_usage ();
529
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 389
diff changeset
768
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 389
diff changeset
769 return retval;
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 389
diff changeset
770 }
7ea224e713cd [project @ 1994-07-20 18:54:27 by jwe]
jwe
parents: 389
diff changeset
771
9806
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
772 static void
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
773 do_get_help_text_from_file (const std::string& fname, std::string& text,
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
774 std::string& format)
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
775 {
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
776 bool symbol_found = false;
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
777
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
778 std::string f;
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
779
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
780 raw_help_from_file (fname, text, f, symbol_found);
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
781
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
782 format = "Not found";
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
783 if (symbol_found)
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
784 {
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
785 size_t idx = -1;
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
786 if (text.empty ())
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
787 {
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
788 format = "Not documented";
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
789 }
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
790 else if (looks_like_texinfo (text, idx))
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
791 {
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
792 format = "texinfo";
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
793 text.erase (0, idx);
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
794 }
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
795 else if (looks_like_html (text))
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
796 {
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
797 format = "html";
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
798 }
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
799 else
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
800 {
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
801 format = "plain text";
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
802 }
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
803 }
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
804 }
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
805
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
806 DEFUN (get_help_text_from_file, args, ,
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
807 "-*- texinfo -*-\n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
808 @deftypefn {Loadable Function} {[@var{text}, @var{format}] =} get_help_text_from_file (@var{fname})\n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
809 Returns the help text from the given file.\n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
810 \n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
811 This function returns the raw help text @var{text} and an indication of\n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
812 its format for the function @var{name}. The format indication @var{format}\n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
813 is a string that can be either @t{\"texinfo\"}, @t{\"html\"}, or\n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
814 @t{\"plain text\"}.\n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
815 \n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
816 To convert the help text to other formats, use the @code{makeinfo} function.\n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
817 \n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
818 @seealso{makeinfo}\n\
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
819 @end deftypefn")
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
820 {
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
821 octave_value_list retval;
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
822
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
823 if (args.length () == 1)
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
824 {
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
825 const std::string fname = args(0).string_value ();
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
826
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
827 if (! error_state)
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
828 {
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
829 std::string text;
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
830 std::string format;
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
831
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
832 do_get_help_text_from_file (fname, text, format);
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
833
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
834 retval(1) = format;
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
835 retval(0) = text;
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
836 }
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
837 else
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
838 error ("get_help_text_from_file: invalid input");
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
839 }
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
840 else
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
841 print_usage ();
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
842
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
843 return retval;
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
844 }
8e345f2fe4d6 improved support for Contents.m files
John W. Eaton <jwe@octave.org>
parents: 9416
diff changeset
845
8812
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
846 // Return a cell array of strings containing the names of all
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
847 // operators.
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
848
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
849 DEFUN (__operators__, , ,
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
850 "-*- texinfo -*-\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
851 @deftypefn {Function File} __operators__ ()\n\
8812
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
852 Undocumented internal function.\n\
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
853 @end deftypefn")
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
854 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
855 return octave_value (Cell (names (operators_map)));
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
856 }
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
857
8812
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
858 // Return a cell array of strings containing the names of all
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
859 // keywords.
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
860
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
861 DEFUN (__keywords__, , ,
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
862 "-*- texinfo -*-\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
863 @deftypefn {Function File} __keywords__ ()\n\
8812
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
864 Undocumented internal function.\n\
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
865 @end deftypefn")
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
866 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
867 return octave_value (Cell (names (keywords_map)));
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
868 }
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
869
8812
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
870 // Return a cell array of strings containing the names of all builtin
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
871 // functions.
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
872
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
873 DEFUN (__builtins__, , ,
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
874 "-*- texinfo -*-\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
875 @deftypefn {Function File} __builtins__ ()\n\
8812
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
876 Undocumented internal function.\n\
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
877 @end deftypefn")
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
878 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
879 const string_vector bif = symbol_table::built_in_function_names ();
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
880
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
881 return octave_value (Cell (bif));
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
882 }
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
883
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
884 static std::string
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
885 do_which (const std::string& name, std::string& type)
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
886 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
887 std::string file;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
888
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
889 type = std::string ();
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
890
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
891 octave_value val = symbol_table::find_function (name);
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
892
9416
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
893 if (name.find_first_of ('.') == std::string::npos)
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
894 {
9416
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
895 if (val.is_defined ())
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
896 {
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
897 octave_function *fcn = val.function_value ();
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
898
9416
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
899 if (fcn)
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
900 {
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
901 file = fcn->fcn_file_name ();
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
902
9416
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
903 if (file.empty ())
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
904 {
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
905 if (fcn->is_user_function ())
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
906 type = "command-line function";
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
907 else
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
908 type = "built-in function";
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
909 }
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
910 else
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
911 type = val.is_user_script ()
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
912 ? std::string ("script") : std::string ("function");
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
913 }
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
914 }
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
915 else
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
916 {
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
917 // We might find a file that contains only a doc string.
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
918
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
919 file = load_path::find_fcn_file (name);
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
920 }
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7272
diff changeset
921 }
8672
2a49c32d4322 allow help to work with files containing only comments
John W. Eaton <jwe@octave.org>
parents: 8631
diff changeset
922 else
2a49c32d4322 allow help to work with files containing only comments
John W. Eaton <jwe@octave.org>
parents: 8631
diff changeset
923 {
9416
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
924 // File query.
8672
2a49c32d4322 allow help to work with files containing only comments
John W. Eaton <jwe@octave.org>
parents: 8631
diff changeset
925
9416
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
926 // For compatibility: "file." queries "file".
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
927 if (name.size () > 1 && name[name.size () - 1] == '.')
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
928 file = load_path::find_file (name.substr (0, name.size () - 1));
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
929 else
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
930 file = load_path::find_file (name);
8672
2a49c32d4322 allow help to work with files containing only comments
John W. Eaton <jwe@octave.org>
parents: 8631
diff changeset
931 }
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
932
9416
2cc47338e427 allow which look for files on path
Jaroslav Hajek <highegg@gmail.com>
parents: 9377
diff changeset
933
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
934 return file;
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
935 }
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
936
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
937 std::string
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
938 do_which (const std::string& name)
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
939 {
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
940 std::string retval;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
941
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
942 std::string type;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
943
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
944 retval = do_which (name, type);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
945
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
946 return retval;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
947 }
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
948
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
949 DEFUN (__which__, args, ,
3361
4f40efa995c1 [project @ 1999-11-19 21:19:37 by jwe]
jwe
parents: 3356
diff changeset
950 "-*- texinfo -*-\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
951 @deftypefn {Built-in Function} {} __which__ (@var{name}, @dots{})\n\
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
952 Undocumented internal function.\n\
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
953 @end deftypefn")
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
954 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
955 octave_value retval;
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
956
1968
a2e206524aa0 [project @ 1996-02-17 02:54:24 by jwe]
jwe
parents: 1957
diff changeset
957 string_vector argv = args.make_argv ("which");
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1742
diff changeset
958
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
959 if (! error_state)
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
960 {
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
961 int argc = argv.length ();
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
962
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
963 if (argc > 1)
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
964 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
965 Octave_map m (dim_vector (1, argc-1));
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
966
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
967 Cell names (1, argc-1);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
968 Cell files (1, argc-1);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
969 Cell types (1, argc-1);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
970
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
971 for (int i = 1; i < argc; i++)
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
972 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
973 std::string name = argv[i];
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
974
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
975 std::string type;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
976
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
977 std::string file = do_which (name, type);
3141
292ff0bf484b [project @ 1998-02-03 08:11:07 by jwe]
jwe
parents: 3018
diff changeset
978
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
979 names(i-1) = name;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
980 files(i-1) = file;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
981 types(i-1) = type;
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
982 }
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
983
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
984 m.assign ("name", names);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
985 m.assign ("file", files);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
986 m.assign ("type", types);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
987
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
988 retval = m;
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
989 }
3355
c4983fc7318f [project @ 1999-11-18 05:20:50 by jwe]
jwe
parents: 3333
diff changeset
990 else
5823
080c08b192d8 [project @ 2006-05-19 05:32:17 by jwe]
jwe
parents: 5818
diff changeset
991 print_usage ();
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
992 }
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
993
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
994 return retval;
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
995 }
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 572
diff changeset
996
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
997 // FIXME -- Are we sure this function always does the right thing?
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
998 inline bool
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
999 file_is_in_dir (const std::string filename, const std::string dir)
5447
051ddd7a6681 [project @ 2005-09-14 05:18:23 by jwe]
jwe
parents: 5399
diff changeset
1000 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1001 if (filename.find (dir) == 0)
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1002 {
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1003 const int dir_len = dir.size ();
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1004 const int filename_len = filename.size ();
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1005 const int max_allowed_seps = file_ops::is_dir_sep (dir [dir_len-1]) ? 0 : 1;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1006
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1007 int num_seps = 0;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1008 for (int i = dir_len; i < filename_len; i++)
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1009 if (file_ops::is_dir_sep (filename [i]))
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1010 num_seps ++;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1011
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1012 return (num_seps <= max_allowed_seps);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1013 }
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1014 else
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1015 return false;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1016 }
5447
051ddd7a6681 [project @ 2005-09-14 05:18:23 by jwe]
jwe
parents: 5399
diff changeset
1017
8812
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
1018 // Return a cell array of strings containing the names of all
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
1019 // functions available in DIRECTORY. If no directory is given, search
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
1020 // the current path.
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
1021
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
1022 DEFUN (__list_functions__, args, ,
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
1023 "-*- texinfo -*-\n\
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1024 @deftypefn {Function File} {@var{retval} =} __list_functions__ ()\n\
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1025 @deftypefnx{Function File} {@var{retval} =} __list_functions__ (@var{directory})\n\
8812
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
1026 Undocumented internal function.\n\
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8672
diff changeset
1027 @end deftypefn")
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1028 {
8863
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
1029 octave_value retval;
5447
051ddd7a6681 [project @ 2005-09-14 05:18:23 by jwe]
jwe
parents: 5399
diff changeset
1030
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1031 // Get list of functions
8863
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
1032 string_vector ffl = load_path::fcn_names ();
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
1033 string_vector afl = autoloaded_functions ();
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1034
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1035 if (args.length () == 0)
8863
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
1036 retval = Cell (ffl.append (afl));
5447
051ddd7a6681 [project @ 2005-09-14 05:18:23 by jwe]
jwe
parents: 5399
diff changeset
1037 else
051ddd7a6681 [project @ 2005-09-14 05:18:23 by jwe]
jwe
parents: 5399
diff changeset
1038 {
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1039 std::string dir = args (0).string_value ();
8863
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
1040
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
1041 if (! error_state)
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
1042 {
9261
95445f9f5976 omit file extensions from __list_functions__ output
John W. Eaton <jwe@octave.org>
parents: 9133
diff changeset
1043 string_vector fl = load_path::files (dir, true);
8863
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
1044
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
1045 if (! error_state)
9261
95445f9f5976 omit file extensions from __list_functions__ output
John W. Eaton <jwe@octave.org>
parents: 9133
diff changeset
1046 {
95445f9f5976 omit file extensions from __list_functions__ output
John W. Eaton <jwe@octave.org>
parents: 9133
diff changeset
1047 // Return a sorted list with unique entries (in case of
95445f9f5976 omit file extensions from __list_functions__ output
John W. Eaton <jwe@octave.org>
parents: 9133
diff changeset
1048 // .m and .oct versions of the same function in a given
95445f9f5976 omit file extensions from __list_functions__ output
John W. Eaton <jwe@octave.org>
parents: 9133
diff changeset
1049 // directory, for example).
95445f9f5976 omit file extensions from __list_functions__ output
John W. Eaton <jwe@octave.org>
parents: 9133
diff changeset
1050 fl.sort (true);
95445f9f5976 omit file extensions from __list_functions__ output
John W. Eaton <jwe@octave.org>
parents: 9133
diff changeset
1051
95445f9f5976 omit file extensions from __list_functions__ output
John W. Eaton <jwe@octave.org>
parents: 9133
diff changeset
1052 retval = Cell (fl);
95445f9f5976 omit file extensions from __list_functions__ output
John W. Eaton <jwe@octave.org>
parents: 9133
diff changeset
1053 }
8863
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
1054 }
5447
051ddd7a6681 [project @ 2005-09-14 05:18:23 by jwe]
jwe
parents: 5399
diff changeset
1055 else
8863
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
1056 error ("__list_functions__: input must be a string");
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents: 8503
diff changeset
1057 }
5447
051ddd7a6681 [project @ 2005-09-14 05:18:23 by jwe]
jwe
parents: 5399
diff changeset
1058
051ddd7a6681 [project @ 2005-09-14 05:18:23 by jwe]
jwe
parents: 5399
diff changeset
1059 return retval;
051ddd7a6681 [project @ 2005-09-14 05:18:23 by jwe]
jwe
parents: 5399
diff changeset
1060 }
051ddd7a6681 [project @ 2005-09-14 05:18:23 by jwe]
jwe
parents: 5399
diff changeset
1061
8861
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
1062 DEFUN (doc_cache_file, args, nargout,
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
1063 "-*- texinfo -*-\n\
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
1064 @deftypefn {Built-in Function} {@var{val} =} doc_cache_file ()\n\
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
1065 @deftypefnx {Built-in Function} {@var{old_val} =} doc_cache_file (@var{new_val})\n\
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
1066 Query or set the internal variable that specifies the name of the\n\
9133
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1067 Octave documentation cache file. A cache file significantly improves\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1068 the performance of the @code{lookfor} command. The default value is \n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1069 @file{@var{octave-home}/share/octave/@var{version}/etc/doc-cache},\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1070 in which @var{octave-home} is the root directory of the Octave installation,\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1071 and @var{version} is the Octave version number.\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1072 The default value may be overridden by the environment variable\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1073 @w{@code{OCTAVE_DOC_CACHE_FILE}}, or the command line argument\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1074 @samp{--doc-cache-file NAME}.\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1075 @seealso{lookfor, info_program, doc, help, makeinfo_program}\n\
8861
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
1076 @end deftypefn")
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
1077 {
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
1078 return SET_NONEMPTY_INTERNAL_STRING_VARIABLE (doc_cache_file);
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
1079 }
31f864877246 doc and lookfor fixes
John W. Eaton <jwe@octave.org>
parents: 8812
diff changeset
1080
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1081 DEFUN (info_file, args, nargout,
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1082 "-*- texinfo -*-\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1083 @deftypefn {Built-in Function} {@var{val} =} info_file ()\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1084 @deftypefnx {Built-in Function} {@var{old_val} =} info_file (@var{new_val})\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1085 Query or set the internal variable that specifies the name of the\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1086 Octave info file. The default value is\n\
9133
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1087 @file{@var{octave-home}/info/octave.info}, in\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1088 which @var{octave-home} is the root directory of the Octave installation.\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1089 The default value may be overridden by the environment variable\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1090 @w{@code{OCTAVE_INFO_FILE}}, or the command line argument\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1091 @samp{--info-file NAME}.\n\
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1092 @seealso{info_program, doc, help, makeinfo_program}\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1093 @end deftypefn")
2202
31b62b7c5d2d [project @ 1996-05-15 06:07:11 by jwe]
jwe
parents: 2189
diff changeset
1094 {
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1095 return SET_NONEMPTY_INTERNAL_STRING_VARIABLE (info_file);
2202
31b62b7c5d2d [project @ 1996-05-15 06:07:11 by jwe]
jwe
parents: 2189
diff changeset
1096 }
31b62b7c5d2d [project @ 1996-05-15 06:07:11 by jwe]
jwe
parents: 2189
diff changeset
1097
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1098 DEFUN (info_program, args, nargout,
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1099 "-*- texinfo -*-\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1100 @deftypefn {Built-in Function} {@var{val} =} info_program ()\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1101 @deftypefnx {Built-in Function} {@var{old_val} =} info_program (@var{new_val})\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1102 Query or set the internal variable that specifies the name of the\n\
7096
81bed50b9feb [project @ 2007-11-02 16:13:43 by jwe]
jwe
parents: 7082
diff changeset
1103 info program to run. The default value is\n\
9133
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1104 @file{@var{octave-home}/libexec/octave/@var{version}/exec/@var{arch}/info}\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1105 in which @var{octave-home} is the root directory of the Octave installation,\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1106 @var{version} is the Octave version number, and @var{arch}\n\
3686
9507d6de9bbd [project @ 2000-06-29 16:30:44 by jwe]
jwe
parents: 3584
diff changeset
1107 is the system type (for example, @code{i686-pc-linux-gnu}). The\n\
9133
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1108 default value may be overridden by the environment variable\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1109 @w{@code{OCTAVE_INFO_PROGRAM}}, or the command line argument\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1110 @samp{--info-program NAME}.\n\
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1111 @seealso{info_file, doc, help, makeinfo_program}\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1112 @end deftypefn")
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1113 {
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1114 return SET_NONEMPTY_INTERNAL_STRING_VARIABLE (info_program);
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1115 }
3686
9507d6de9bbd [project @ 2000-06-29 16:30:44 by jwe]
jwe
parents: 3584
diff changeset
1116
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1117 DEFUN (makeinfo_program, args, nargout,
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1118 "-*- texinfo -*-\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1119 @deftypefn {Built-in Function} {@var{val} =} makeinfo_program ()\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1120 @deftypefnx {Built-in Function} {@var{old_val} =} makeinfo_program (@var{new_val})\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1121 Query or set the internal variable that specifies the name of the\n\
9133
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1122 program that Octave runs to format help text containing\n\
c0cef1436788 Update help text for sections 2.2 and 2.3 of basics.txi
Rik <rdrider0-list@yahoo.com>
parents: 9064
diff changeset
1123 Texinfo markup commands. The default value is @code{makeinfo}.\n\
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1124 @seealso{info_file, info_program, doc, help}\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1125 @end deftypefn")
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1126 {
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1127 return SET_NONEMPTY_INTERNAL_STRING_VARIABLE (makeinfo_program);
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1128 }
2202
31b62b7c5d2d [project @ 1996-05-15 06:07:11 by jwe]
jwe
parents: 2189
diff changeset
1129
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1130 DEFUN (suppress_verbose_help_message, args, nargout,
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1131 "-*- texinfo -*-\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1132 @deftypefn {Built-in Function} {@var{val} =} suppress_verbose_help_message ()\n\
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1133 @deftypefnx {Built-in Function} {@var{old_val} =} suppress_verbose_help_message (@var{new_val})\n\
7001
8b0cfeb06365 [project @ 2007-10-10 18:02:59 by jwe]
jwe
parents: 6620
diff changeset
1134 Query or set the internal variable that controls whether Octave\n\
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1135 will add additional help information to the end of the output from\n\
3332
7c03933635c6 [project @ 1999-11-02 06:57:12 by jwe]
jwe
parents: 3330
diff changeset
1136 the @code{help} command and usage messages for built-in commands.\n\
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1137 @end deftypefn")
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1138 {
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5780
diff changeset
1139 return SET_INTERNAL_VARIABLE (suppress_verbose_help_message);
2189
d01936305d99 [project @ 1996-05-14 03:31:57 by jwe]
jwe
parents: 2177
diff changeset
1140 }