(scm_uintprint): New, for printing scm_t_uintmax values.
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
6191ccec
MV
12004-10-22 Marius Vollmer <marius.vollmer@uni-dortmund.de>
2
77c2594f
MV
3 * sort.c (quicksort, scm_merge, scm_merge_list_x,
4 scm_merge_list_step, scm_merge_vector_step): Inserted SCM_TICKs at
5 strategic places so that the loops can be interrupted.
6
6191ccec
MV
7 * Makefile.am (INCLUDES): Use @LTDLINC@ instead of
8 "-I$(top_srcdir)/libguile-ltdl".
9 (libguile_la_LIBADD): Use @LIBLTDL@ instead of
10 "../libguile-ltdl/libguile-ltdl.a".
11
12 * guile.c, dynl.c: Switched to using libltdl directly. Replaced
13 all references to scm_lt_* with just lt_*. Include <ltdl.h>
14 instead of <libguile-ltdl.h>.
15
77600f3e
MV
162004-10-20 Marius Vollmer <mvo@zagadka.de>
17
18 * sort.c (quicksort): Copy pivot out of the array while
19 constructing the partitions; it could get overwritten otherwise.
20 Because of the ultimate insertion sort, this bug did not cause
21 quicksort to fail, it just put all the burdon on the insertion
22 sort and was thus very slow. Thanks to Rolan Orre for reporting
23 the slowness!
24
5000379b
MV
252004-10-19 Marius Vollmer <marius.vollmer@uni-dortmund.de>
26
192cd792
MV
27 * numbers.c (scm_i_range_error): New.
28 * conv-integer.i.c, conv-uinteger.i.c: Use it instead of
29 scm_out_of_range.
30
31 * sort.c (scm_restricted_vector_sort_x): Validate startpos <=
6191ccec 32 endpos. State inclusiveness/exclusiveness of bounds in docstring.
192cd792
MV
33
34 * unif.c (scm_array_p): When no prototype is given, explicitely
35 test for allowable types, do not simply return true. Thanks to
36 Roland Orre for reporting this!
37
5000379b
MV
38 * private-gc.h (SCM_DEFAULT_MAX_SEGMENT_SIZE): Increase to 20 Mib.
39
40 * gc-segment.c (scm_i_get_new_heap_segment): Limit size of new
41 segment to scm_max_segment_size.
42
497eb0b7
HWN
432004-10-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
44
45 * inline.h (scm_double_cell): abort if GC running.
46 (scm_cell): idem.
47
aef0bdb4
MV
482004-10-04 Marius Vollmer <marius.vollmer@uni-dortmund.de>
49
50 * error.c (scm_wrong_type_arg): Do not talk about "argument" for
51 pos == 0.
52
53 Keywords no longer store a 'dash symbol'. Instead, they store a
54 symbol with their real name.
55
56 * keywords.h, keywords.c, deprecated.h, deprecated.c
57 (SCM_KEYWORDP, SCM_KEYWORDSYM): Deprecated and implemented in
58 terms of scm_is_keyword and scm_keyword_dash_symbol.
59
60 * keywords.h, keywords.c, discouraged.h, discouraged.c
61 (scm_make_keyword_from_dash_symbol, scm_keyword_dash_symbol,
62 scm_c_make_keyword): Discouraged.
63
64 * keywords.h, keywords.c (scm_symbol_to_keyword,
65 scm_keyword_to_symbol): Implemented in C.
66 (scm_is_keyword, scm_from_locale_keyword,
67 scm_from_locale_keywordn): New.
68
69 * goops.c: Replaced SCM_KEYWORDP with scm_is_keyword.
70
71 * snarf.h (SCM_KEYWORD, SCM_GLOBAL_KEYWORD): Use
72 scm_from_locale_keyword instead of scm_c_make_keyword.
73
74 * keywords.c (scm_symbol_to_keyword): Use SCM_ASSERT_TYPE for a
75 better error message.
76
77 * deprecated.c: Include discouraged.h and keywords.h.
78
79 * read.c (scm_lreadr): Simply do (symbol->keyword (read)) after
80 reading '#:' or ':'. See NEWS for consequences.
81
818deb11
MV
822004-09-29 Marius Vollmer <marius.vollmer@uni-dortmund.de>
83
43c25626
MV
84 * read.c (scm_lreadr): Revert change from 2004-09-22: string
85 literals are now read-write again (until SCM_STRING_CHARS is
86 removed).
87
88 * strings.c (SCM_STRING_CHARS): Explicitely reject read-only
89 strings with an error message that blames SCM_STRING_CHARS.
90
91 * options.c (change_option_setting): Use scm_car instead of
92 explicit type check plus SCM_CAR.
93
94 * print.h, print.c (SCM_PRINT_HIGHLIGHT_PREFIX,
95 SCM_PRINT_HIGHLIGHT_SUFFIX): New printer options.
96 (scm_iprin1): Use them instead of the previoulsy hardcoded
97 strings.
98 (scm_init_print): Initialize them.
99
100 * backtrace.c (display_frame_expr): Do not remove control
101 characters from the final string. Print it directly using
102 scm_display.
103
818deb11
MV
104 * ramap.c (scm_array_equal_p): Include scm_tc7_svect in switch.
105 Thanks to Roland Orre!
106
d748089e
KR
1072004-09-29 Kevin Ryde <user42@zip.com.au>
108
109 * regex-posix.c (scm_regexp_exec): Correction to last change, should
110 be whole original string in match struct, not offsetted substring.
111
0ff7e3ff
HWN
1122004-09-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
113
114 * gc.c (scm_gc_unprotect_object): abort if called during GC.
115
ad7de4b8
MV
1162004-09-24 Marius Vollmer <mvo@zagadka.de>
117
2edf319f
MV
118 * Makefile.am (EXTRA_DIST): Added gettext.h.
119
d180337b
MV
120 * smob.c, smob.h (scm_assert_smob_type): New.
121
05d7cf89 122 * Makefile.am (guile_CFLAGS, guile_LDFLAGS, libguile_la_CFLAGS):
ad7de4b8
MV
123 Include GUILE_CFLAGS.
124 (libguile_la_LIBADD): Removed THREAD_LIBS_LOCAL, which is unused
125 now.
126 (libpath.h): Put GUILE_CFLAGS in the build-info.
127
c9fedf8a
MV
1282004-09-23 Marius Vollmer <mvo@zagadka.de>
129
130 * print.h (scm_print_state): Added highlight_objects.
131 * print.c (make_print_state, scm_free_print_state): Initialize it
132 to SCM_EOL.
133 (scm_iprin1): Wrap output in '{...}' when object is contained in
134 highlight_objects.
135
136 * backtrace.h, backtrace.c (scm_display_backtrace_with_highlights,
137 scm_backtrace_with_highlights): New. Set highlight_objects of
138 printstate.
139
140 * error.c (scm_error_scm): Document new meaning of data/rest
141 argument for out-of-range and wrong-type-arg errors.
142 (scm_out_of_range, scm_out_of_range_pos, scm_wrong_type_arg,
143 scm_wrong_type_arg_msg): Pass bad_value in rest argument of
144 exception so that it gets highlighted in the backtrace.
145 Don't talk about "argument" when not giving a position.
146
147 * throw.c (handler_message): The rest argument is the fourth
148 argument, not everything after the third. Call
149 scm_display_backtrace_with_highlights, passing the rest argument
150 when appropriate.
151
d5ac9b2a
MV
1522004-09-22 Marius Vollmer <mvo@zagadka.de>
153
154 From Jan Nieuwenhuizen <janneke@gnu.org> and Bruno Haible
155 <bruno@clisp.org>:
156
157 * i18n.c: Handle --disable-nls (thanks Bruno).
158
159 * posix.c (scm_init_posix): Add LC_PAPER, LC_NAME, LC_ADDRESS,
160 LC_TELEPHONE, LC_MEASUREMENT, LC_IDENTIFICATION.
161
162 * i18n.c (scm_i_to_lc_category): New name and export. Support all
163 LC categories.
05d7cf89 164 * posix.c (scm_setlocale): Use it.
d5ac9b2a
MV
165
166 * i18n.h, i18n.c (scm_textdomain, scm_bindtextdomain,
167 scm_bind_textdomain_codeset): Make wrappers similar to C function
168 they wrap.
169
170 * i18n.h: New file.
171 * i18n.c: New file.
172 * gettext.h: New file, taken from GNU gettext.
173 * init.c: Include libguile/i18n.h.
174 (scm_init_guile_1): Add call to scm_init_i18n().
175 * Makefile.am (libguile_la_SOURCES): Add i18n.c.
176 (DOT_X_FILES): Add i18n.x.
177 (DOT_DOC_FILES): Add i18n.doc.
178 (libguile_la_LDFLAGS): Add @LTLIBINTL@.
179 (modinclude_HEADERS): Add i18n.h.
180
d2e53ed6
MV
1812004-09-22 Marius Vollmer <mvo@zagadka.de>
182
2cdfe016
MV
183 * gh_list.c: Replaced SCM_CAR, etc with scm_car, etc.
184
d2e53ed6
MV
185 * discouraged.h, tags.h (SCM_CONSP, SCM_NCONSP): Moved to
186 discouraged.h. Replaced all uses with scm_is_pair.
187 (SCM_I_CONSP): New name for SCM_CONSP.
188
189 * pairs.h, pairs.c (scm_is_pair, scm_is_null, scm_car, scm_cdr,
190 scm_i_chase_pairs, SCM_I_A_PAT, SCM_I_D_PAT, etc, scm_caar,
191 scm_cadr, etc): New.
192 (SCM_NULLP, SCM_NNULLP): Moved to discouraged.h. Replaced all
193 uses with scm_is_null.
5dd82006 194
d2e53ed6
MV
195 * eval.c (scm_eval, scm_apply, call_cxr_1): Use scm_i_chase_pairs
196 instead of explicit code.
5dd82006 197
5dfdf243
MV
1982004-09-22 Marius Vollmer <mvo@zagadka.de>
199
b50c53e5
MV
200 * srfi-13.c (scm_string_contains, scm_string_contains_ci):
201 Reworded logic a bit so that #f is returned immediately when s1 is
202 too short to contain s2.
203
5dfdf243 204 * regex-posix.c (scm_regexp_exec): Convert string to
05d7cf89 205 zero-terminated locale string before matching against it.
5dfdf243
MV
206
207 * strings.h, strings.c (scm_substring_read_only,
208 scm_c_substring_read_only, scm_i_substring_read_only): New.
209 (RO_STRING_TAG, IS_RO_STRING): New.
210 (scm_i_string_writable_chars): Bail on read-only strings.
211
212 * read.c (scm_lreadr): use scm_c_substring_read_only for string
213 literals, thus making them read-only as specified by R5RS.
214
22ab5ba3
MV
2152004-09-22 Marius Vollmer <mvo@zagadka.de>
216
217 * eq.c (scm_equal_p): Allow smobs with different flags to be equal
218 by testing for smobs before insisting on equal SCM_CELL_TYPES.
219
2663421c
MV
2202004-09-21 Marius Vollmer <mvo@zagadka.de>
221
0d83cb90
MV
222 * numbers.h, numbers.c: Include <gmp.h> in numbers.h, not in
223 numbers.c.
224 (scm_to_mpz, scm_from_mpz): New.
225