annotate src/gripes.h @ 10030:83bb2a78c07d

improve simple assignments error checks and messages
author Jaroslav Hajek <highegg@gmail.com>
date Sat, 26 Dec 2009 14:07:50 +0100
parents 11844593875a
children cd96d29c5efa
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, 2000, 2003, 2005, 2006,
8920
eb63fbe60fab update copyright notices
John W. Eaton <jwe@octave.org>
parents: 8780
diff changeset
4 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: 6890
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: 6890
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: 6890
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: 6890
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
383
0b52c68ec81f [project @ 1994-03-09 21:19:44 by jwe]
jwe
parents: 240
diff changeset
24 #if !defined (octave_gripes_h)
0b52c68ec81f [project @ 1994-03-09 21:19:44 by jwe]
jwe
parents: 240
diff changeset
25 #define octave_gripes_h 1
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
26
2374
67a18ae969d4 [project @ 1996-10-12 00:27:01 by jwe]
jwe
parents: 2086
diff changeset
27 #include <string>
67a18ae969d4 [project @ 1996-10-12 00:27:01 by jwe]
jwe
parents: 2086
diff changeset
28
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 2078
diff changeset
29 class octave_value;
620
8e4e7e5f307e [project @ 1994-08-16 04:36:32 by jwe]
jwe
parents: 383
diff changeset
30
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
31 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
32 gripe_not_supported (const char *);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
33
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
34 extern OCTINTERP_API void
6890
b2b7526a5772 [project @ 2007-09-12 20:14:35 by jwe]
jwe
parents: 6109
diff changeset
35 gripe_not_implemented (const char *);
b2b7526a5772 [project @ 2007-09-12 20:14:35 by jwe]
jwe
parents: 6109
diff changeset
36
b2b7526a5772 [project @ 2007-09-12 20:14:35 by jwe]
jwe
parents: 6109
diff changeset
37 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
38 gripe_string_invalid (void);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
39
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
40 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
41 gripe_range_invalid (void);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
42
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
43 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
44 gripe_nonconformant (void);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
45
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
46 extern OCTINTERP_API void
5275
23b37da9fd5b [project @ 2005-04-08 16:07:35 by jwe]
jwe
parents: 4452
diff changeset
47 gripe_nonconformant (octave_idx_type r1, octave_idx_type c1, octave_idx_type r2, octave_idx_type c2);
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
48
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
49 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
50 gripe_empty_arg (const char *name, bool is_error);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
51
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
52 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
53 gripe_square_matrix_required (const char *name);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
54
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
55 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
56 gripe_user_supplied_eval (const char *name);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
57
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
58 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
59 gripe_user_returned_invalid (const char *name);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
60
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
61 extern OCTINTERP_API void
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
62 gripe_invalid_conversion (const std::string& from, const std::string& to);
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
63
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
64 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
65 gripe_invalid_value_specified (const char *name);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
66
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
67 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
68 gripe_2_or_3_dim_plot (void);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
69
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
70 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
71 gripe_unrecognized_float_fmt (void);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
72
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
73 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
74 gripe_unrecognized_data_fmt (const char *warn_for);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
75
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
76 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
77 gripe_data_conversion (const char *from, const char *to);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
78
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
79 extern OCTINTERP_API void
5602
dfa2da0563e5 [project @ 2006-01-31 03:43:40 by jwe]
jwe
parents: 5307
diff changeset
80 gripe_wrong_type_arg (const char *name, const char *s,
dfa2da0563e5 [project @ 2006-01-31 03:43:40 by jwe]
jwe
parents: 5307
diff changeset
81 bool is_error = true);
dfa2da0563e5 [project @ 2006-01-31 03:43:40 by jwe]
jwe
parents: 5307
diff changeset
82
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
83 extern OCTINTERP_API void
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
84 gripe_wrong_type_arg (const char *name, const std::string& s,
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
85 bool is_error = true);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
86
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
87 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
88 gripe_wrong_type_arg (const char *name, const octave_value& tc,
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
89 bool is_error = true);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
90
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
91 extern OCTINTERP_API void
7352
fab9bc33b949 [project @ 2008-01-07 18:54:45 by jwe]
jwe
parents: 7017
diff changeset
92 gripe_wrong_type_arg (const std::string& name, const octave_value& tc,
fab9bc33b949 [project @ 2008-01-07 18:54:45 by jwe]
jwe
parents: 7017
diff changeset
93 bool is_error = true);
fab9bc33b949 [project @ 2008-01-07 18:54:45 by jwe]
jwe
parents: 7017
diff changeset
94
fab9bc33b949 [project @ 2008-01-07 18:54:45 by jwe]
jwe
parents: 7017
diff changeset
95 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
96 gripe_wrong_type_arg_for_unary_op (const octave_value& op);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
97
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
98 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
99 gripe_wrong_type_arg_for_binary_op (const octave_value& op);
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
100
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
101 extern OCTINTERP_API void
5781
faafc2d98b8d [project @ 2006-05-02 19:40:19 by jwe]
jwe
parents: 5602
diff changeset
102 gripe_implicit_conversion (const char *id, const char *from, const char *to);
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
103
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
104 extern OCTINTERP_API void
5781
faafc2d98b8d [project @ 2006-05-02 19:40:19 by jwe]
jwe
parents: 5602
diff changeset
105 gripe_implicit_conversion (const std::string& id, const std::string& from,
faafc2d98b8d [project @ 2006-05-02 19:40:19 by jwe]
jwe
parents: 5602
diff changeset
106 const std::string& to);
4452
f3c21a1d1c62 [project @ 2003-07-09 23:20:18 by jwe]
jwe
parents: 3523
diff changeset
107
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
108 extern OCTINTERP_API void
7997
2b8952e133c9 implement checked conversions between integers
Jaroslav Hajek <highegg@gmail.com>
parents: 7352
diff changeset
109 gripe_truncated_conversion (const char *srctype, const char *desttype);
2b8952e133c9 implement checked conversions between integers
Jaroslav Hajek <highegg@gmail.com>
parents: 7352
diff changeset
110
2b8952e133c9 implement checked conversions between integers
Jaroslav Hajek <highegg@gmail.com>
parents: 7352
diff changeset
111 extern OCTINTERP_API void
8039
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
112 gripe_binop_integer_math_truncated (const char *op, const char *type1, const char *type2);
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
113
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
114 extern OCTINTERP_API void
8780
ea76466605ba support native cumsum, gripe on overflow in sum/cumsum
Jaroslav Hajek <highegg@gmail.com>
parents: 8579
diff changeset
115 gripe_native_integer_math_truncated (const char *fcn, const char *type);
ea76466605ba support native cumsum, gripe on overflow in sum/cumsum
Jaroslav Hajek <highegg@gmail.com>
parents: 8579
diff changeset
116
ea76466605ba support native cumsum, gripe on overflow in sum/cumsum
Jaroslav Hajek <highegg@gmail.com>
parents: 8579
diff changeset
117 extern OCTINTERP_API void
8039
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
118 gripe_unop_integer_math_truncated (const char *op, const char *type);
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
119
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
120 extern OCTINTERP_API void
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
121 gripe_non_integer_conversion (const char *srctype, const char *desttype);
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
122
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
123 extern OCTINTERP_API void
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
124 gripe_nan_conversion (const char *srctype, const char *desttype);
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
125
cd90e2842080 Add additional integer math and conversion warnings, set their default state to be off and add the intwarning function
David Bateman <dbateman@free.fr>
parents: 8011
diff changeset
126 extern OCTINTERP_API void
2799
d77a29e4387f [project @ 1997-03-08 08:35:56 by jwe]
jwe
parents: 2668
diff changeset
127 gripe_divide_by_zero (void);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
128
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5943
diff changeset
129 extern OCTINTERP_API void
5943
c038c2947ee1 [project @ 2006-08-18 21:27:03 by jwe]
jwe
parents: 5781
diff changeset
130 gripe_logical_conversion (void);
c038c2947ee1 [project @ 2006-08-18 21:27:03 by jwe]
jwe
parents: 5781
diff changeset
131
8011
3100283874d7 improve backtrace error messages
John W. Eaton <jwe@octave.org>
parents: 7997
diff changeset
132 extern OCTINTERP_API void
3100283874d7 improve backtrace error messages
John W. Eaton <jwe@octave.org>
parents: 7997
diff changeset
133 gripe_library_execution_error (void);
3100283874d7 improve backtrace error messages
John W. Eaton <jwe@octave.org>
parents: 7997
diff changeset
134
8579
7e0f36dfefbe implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents: 8039
diff changeset
135 extern OCTINTERP_API void
7e0f36dfefbe implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents: 8039
diff changeset
136 gripe_invalid_inquiry_subscript (void);
7e0f36dfefbe implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents: 8039
diff changeset
137
7e0f36dfefbe implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents: 8039
diff changeset
138 extern OCTINTERP_API void
7e0f36dfefbe implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents: 8039
diff changeset
139 gripe_indexed_cs_list (void);
7e0f36dfefbe implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents: 8039
diff changeset
140
9588
319e2ab9b8ae warn about the complex comparison ops
Jaroslav Hajek <highegg@gmail.com>
parents: 8920
diff changeset
141 extern OCTINTERP_API void
10030
83bb2a78c07d improve simple assignments error checks and messages
Jaroslav Hajek <highegg@gmail.com>
parents: 9648
diff changeset
142 gripe_nonbraced_cs_list_assignment (void);
83bb2a78c07d improve simple assignments error checks and messages
Jaroslav Hajek <highegg@gmail.com>
parents: 9648
diff changeset
143
83bb2a78c07d improve simple assignments error checks and messages
Jaroslav Hajek <highegg@gmail.com>
parents: 9648
diff changeset
144 extern OCTINTERP_API void
9588
319e2ab9b8ae warn about the complex comparison ops
Jaroslav Hajek <highegg@gmail.com>
parents: 8920
diff changeset
145 gripe_warn_complex_cmp (void);
319e2ab9b8ae warn about the complex comparison ops
Jaroslav Hajek <highegg@gmail.com>
parents: 8920
diff changeset
146
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
147 #endif
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
148
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
149 /*
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
150 ;;; Local Variables: ***
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
151 ;;; mode: C++ ***
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
152 ;;; End: ***
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
153 */