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