* Fix parameter error reporting and avoid redundant parameter checks.
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
a49af0c0
DH
12001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
2
3 The following patch was sent by Martin Grabmueller. It makes sure
4 that in case of parameter errors the correct function name is
5 shown, and that parameter types are only checked once.
6
7 * strop.c (string_copy, string_upcase_x, string_downcase_x,
8 string_capitalize_x): New functions. Each one performs the core
9 functionality of the corresponding scm_* function.
10
11 (scm_string_copy, scm_string_upcase_x, scm_string_upcase,
12 scm_string_downcase_x, scm_string_downcase,
13 scm_string_capitalize_x, scm_string_capitalize): Reduced to
14 parameter checking wrappers of the above functions.
15
13070bd3
DH
162001-01-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
17
18 * continuations.c, dynl.c, keywords.c, load.c: Include
19 strings.h. Thanks to Bill Schottstaedt for the bug report.
20
2f2b390c
DH
212001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
22
23 * backtrace.c (display_header): Make sure that line and column
24 information is shown independent of whether the port the code was
25 read from had an associated filename. Thanks to Martin
26 Grabmueller for providing this patch.
27
efa40607
DH
282001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
29
30 * fports.[ch] (scm_file_port_p): New primitive.
31
a98bddfd
DH
322001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
33
34 * tags.h (scm_tc16_fport, scm_tc16_strport, scm_tc16_sfport):
35 These are now defined in fports.c, strports.c and vports.c.
36
37 * fports.[ch] (scm_tc16_fport), strports.c (scm_tc16_strport),
38 vports.c (scm_tc16_sfport): Made variables (were macros defined in
39 tags.h).
40
41 fports.c (scm_make_fptob), strports.c (scm_make_stptob), vports.c
42 (scm_make_sfptob): Made static. These return a type code now.
43
44 fports.c (scm_init_fports), strports.c (scm_init_strports),
45 vports.c (scm_init_vports): Create the corresponding port types.
46
47 * fports.h (SCM_FPORTP, SCM_OPFPORTP, SCM_OPINFPORTP,
48 SCM_OPOUTFPORTP): Redefined in terms of scm_tc16_fport.
49
50 * init.c (scm_init_guile_1): Make sure strports are initialized
51 before gdbint.
52
53 * ports.[ch] (scm_make_port_type): Changed the return type to
54 scm_bits_t.
55
56 * ports.c (scm_ports_prehistory): Don't create any port types
57 here.
58
59 * posix.c (scm_ttyname): Use SCM_FPORTP instead of comparing
60 against scm_tc16_fport directly.
61
0419a528
DH
622001-01-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
63
64 * srcprop.c (scm_set_source_property_x): Fix to handle
65 (set-source-property! <obj> 'copy <datum>) correctly.
66
6d36532c
GH
672001-01-24 Gary Houston <ghouston@arglist.com>
68
69 * filesys.c (scm_link): docstring fix.
70 * fports.h (scm_setfileno): obsolete declaration removed.
71 * posix.c: bogus popen declaration removed.
72
73 * rdelim.c: new file, split from ioext.c.
74 * rdelim.h: new file, split from ioext.h
75 * Makefile.am: add rdelim.c and related files.
76 * init.c: call scm_init_rdelim. include rdelim.h.
77
3ba5a6c2
DH
782001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
79
80 This patch was sent by Martin Grabmueller and makes sure that
81 parameter errors are reported correctly by the lexicographic
82 ordering predicates.
83
84 * strorder.c (string_less_p, string_ci_less_p): New functions.
85
86 (scm_string_less_p, scm_string_ci_less_p): Extracted the core
87 functionality into string_less_p, string_ci_less_p respectively.
88 The remaining code is just a wrapper to do the parameter
89 checking.
90
91 (scm_string_leq_p, scm_string_gr_p, scm_string_geq_p): Check the
92 parameters and call string_less_p instead of scm_string_less_p.
93
94 (scm_string_ci_leq_p, scm_string_ci_gr_p, scm_string_ci_geq_p):
95 Check the parameters and call string_less_ci_p instead of
96 scm_string_ci_less_p.
97
e40a4095
DH
982001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
99
ed6a2db9
DH
100 This patch modifies scm_display_error to perform parameter
101 checking. Thanks to Neil Jerram for the bug report.
102
e40a4095
DH
103 * backtrace.[ch] (scm_i_display_error): New function.
104
105 * backtrace.c (scm_display_error): Added parameter check and
106 extracted the core functionality into function
107 scm_i_display_error.
108
109 * throw.c (handler_message): Call scm_i_display_error to display
110 the error message.
111
f1e06a96
MD
1122001-01-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
113
114 * eval.c (SCM_APPLY): Added # args check for application of
115 procedures with arity 3. (Thanks to Anders Holst.)
116
30ea841d
DH
1172001-01-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
118
119 * filesys.h (SCM_DIR_FLAG_OPEN, SCM_DIR_OPEN_P): Added.
120
121 (SCM_OPDIRP): Deprecated.
122
123 * filesys.c (scm_opendir): Use SCM_DIR_FLAG_OPEN instead of
124 SCM_OPN.
125
126 (scm_readdir, scm_rewinddir): Don't use SCM_VALIDATE_OPDIR.
127 Instead, give an explicit error message in case the directory is
128 closed.
129
130 (scm_closedir, scm_dir_print): Rewritten to use SCM_DIR_OPEN_P
131 instead of SCM_OPENP and SCM_CLOSEDP.
132
133 * validate.h (SCM_VALIDATE_OPDIR): Deprecated.
134
312ae976
DH
1352001-01-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
136
137 * eval.c (inner_eval, scm_eval): Move all real functionality into
138 inner_eval. Avoid to copy the expression twice by inlining some
139 code from scm_i_eval.
140
4567ed78
DH
1412001-01-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
142
143 * eval.c (scm_m_case): The 'else' clause of a 'case' statement
144 now has to be the last clause, as required by R5RS. Thanks to
145 Martin Grabmueller for the patch.
146
10288a09
GH
1472001-01-18 Gary Houston <ghouston@arglist.com>
148
149 * ioext.c: further simplify scm_read_string_x_partial by defining
150 a macro SCM_EBLOCK.
151
8f379a8f
DH
1522001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
153
154 * gh_data.c (gh_ints2scm): Simplified using SCM_FIXABLE.
155
5c75b29f
DH
1562001-01-18 Dirk Herrmann <D.Herrmann@tu-bs.de>
157
158 * __scm.h: Added comment about architecture and compiler
159 properties that are required by guile.
160
161 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
162 SCM_MOST_NEGATIVE_FIXNUM): Moved to numbers.h.
163
164 (SCM_CHAR_BIT, SCM_LONG_BIT): Moved here from numbers.h.
165
166 * numbers.h (SCM_CHAR_BIT, SCM_LONG_BIT): Moved to __scm.h.
167
168 (SCM_FIXNUM_BIT, SCM_MOST_POSITIVE_FIXNUM,
169 SCM_MOST_NEGATIVE_FIXNUM): Moved here from __scm.h.
170
ac0c002c
DH
1712001-01-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
172
173 * __scm.h (SCM_FIXNUM_BIT): Added. The name is chosen in analogy
174 to the names in limits.h.
175
176 * numbers.c (abs_most_negative_fixnum): Added.
177
178 (scm_quotient, scm_remainder): Fixed the fixnum-min / (abs
179 fixnum-min) special case.
180
181 (scm_big_and): Fix for negative first parameter.
182
183 (scm_bit_extract): Fix for fixnum paramters.
184 Thanks to Rob Browning for the bug report.
185
186 (scm_init_numbers): Initialize abs_most_negative_fixnum.
187
debe0dc2
DH
1882001-01-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
189
190 * symbols.c (scm_symbol_bound_p): Fixed comment.
191 Thanks to Chris Cramer.
192
8a39e3fc
DH
1932001-01-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
194
195 * smob.[ch] (scm_make_smob_type): Return type is scm_bits_t now.
196 Thanks to Bill Schottstaedt.
197
322ec19d
ML
1982001-01-11 Michael Livshin <mlivshin@bigfoot.com>
199
200