Commit | Line | Data |
---|---|---|
07e9b5fe NC |
1 | =head1 NAME |
2 | ||
3 | perl585delta - what is new for perl v5.8.5 | |
4 | ||
5 | =head1 DESCRIPTION | |
6 | ||
7 | This document describes differences between the 5.8.4 release and | |
8 | the 5.8.5 release. | |
9 | ||
10 | =head1 Incompatible Changes | |
11 | ||
12 | There are no changes incompatible with 5.8.4. | |
13 | ||
14 | =head1 Core Enhancements | |
15 | ||
16 | Perl's regular expression engine now contains support for matching on the | |
17 | intersection of two Unicode character classes. You can also now refer to | |
18 | user-defined character classes from within other user defined character | |
19 | classes. | |
20 | ||
21 | =head1 Modules and Pragmata | |
22 | ||
23 | =over 4 | |
24 | ||
25 | =item * | |
26 | ||
27 | Carp improved to work nicely with Safe. Carp's message reporting should now | |
28 | be anomaly free - it will always print out line number information. | |
29 | ||
30 | =item * | |
31 | ||
32 | CGI upgraded to version 3.05 | |
33 | ||
34 | =item * | |
35 | ||
36 | charnames now avoids clobbering $_ | |
37 | ||
38 | =item * | |
39 | ||
40 | Digest upgraded to version 1.08 | |
41 | ||
42 | =item * | |
43 | ||
44 | Encode upgraded to version 2.01 | |
45 | ||
46 | =item * | |
47 | ||
48 | FileCache upgraded to version 1.04 | |
49 | ||
50 | =item * | |
51 | ||
52 | libnet upgraded to version 1.19 | |
53 | ||
54 | =item * | |
55 | ||
56 | Pod::Parser upgraded to version 1.28 | |
57 | ||
58 | =item * | |
59 | ||
60 | Pod::Perldoc upgraded to version 3.13 | |
61 | ||
62 | =item * | |
63 | ||
64 | Pod::LaTeX upgraded to version 0.57 | |
65 | ||
66 | =item * | |
67 | ||
68 | Safe now works properly with Carp | |
69 | ||
70 | =item * | |
71 | ||
72 | Scalar-List-Utils upgraded to version 1.14 | |
73 | ||
74 | =item * | |
75 | ||
76 | Shell's documentation has been re-written, and its historical partial | |
77 | auto-quoting of command arguments can now be disabled. | |
78 | ||
79 | =item * | |
80 | ||
81 | Test upgraded to version 1.25 | |
82 | ||
83 | =item * | |
84 | ||
85 | Test::Harness upgraded to version 2.42 | |
86 | ||
87 | =item * | |
88 | ||
89 | Time::Local upgraded to version 1.10 | |
90 | ||
91 | =item * | |
92 | ||
93 | Unicode::Collate upgraded to version 0.40 | |
94 | ||
95 | =item * | |
96 | ||
97 | Unicode::Normalize upgraded to version 0.30 | |
98 | ||
99 | =back | |
100 | ||
101 | =head1 Utility Changes | |
102 | ||
103 | =head2 Perl's debugger | |
104 | ||
105 | The debugger can now emulate stepping backwards, by restarting and rerunning | |
106 | all bar the last command from a saved command history. | |
107 | ||
108 | =head2 h2ph | |
109 | ||
110 | F<h2ph> is now able to understand a very limited set of C inline functions | |
111 | -- basically, the inline functions that look like CPP macros. This has | |
112 | been introduced to deal with some of the headers of the newest versions of | |
113 | the glibc. The standard warning still applies; to quote F<h2ph>'s | |
114 | documentation, I<you may need to dicker with the files produced>. | |
115 | ||
116 | =head1 Installation and Configuration Improvements | |
117 | ||
118 | Perl 5.8.5 should build cleanly from source on LynxOS. | |
119 | ||
120 | =head1 Selected Bug Fixes | |
121 | ||
122 | =over 4 | |
123 | ||
124 | =item * | |
125 | ||
126 | The in-place sort optimisation introduced in 5.8.4 had a bug. For example, | |
127 | in code such as | |
128 | ||
129 | @a = sort ($b, @a) | |
130 | ||
131 | the result would omit the value $b. This is now fixed. | |
132 | ||
133 | =item * | |
134 | ||
135 | The optimisation for unnecessary assignments introduced in 5.8.4 could give | |
136 | spurious warnings. This has been fixed. | |
137 | ||
138 | =item * | |
139 | ||
140 | Perl should now correctly detect and read BOM-marked and (BOMless) UTF-16 | |
141 | scripts of either endianness. | |
142 | ||
143 | =item * | |
144 | ||
145 | Creating a new thread when weak references exist was buggy, and would often | |
146 | cause warnings at interpreter destruction time. The known bug is now fixed. | |
147 | ||
148 | =item * | |
149 | ||
150 | Several obscure bugs involving manipulating Unicode strings with C<substr> have | |
151 | been fixed. | |
152 | ||
153 | =item * | |
154 | ||
155 | Previously if Perl's file globbing function encountered a directory that it | |
156 | did not have permission to open it would return immediately, leading to | |
157 | unexpected truncation of the list of results. This has been fixed, to be | |
158 | consistent with Unix shells' globbing behaviour. | |
159 | ||
160 | =item * | |
161 | ||
162 | Thread creation time could vary wildly between identical runs. This was caused | |
163 | by a poor hashing algorithm in the thread cloning routines, which has now | |
164 | been fixed. | |
165 | ||
166 | =item * | |
167 | ||
168 | The internals of the ithreads implementation were not checking if OS-level | |
169 | thread creation had failed. threads->create() now returns C<undef> in if | |
170 | thread creation fails instead of crashing perl. | |
171 | ||
172 | =back | |
173 | ||
174 | =head1 New or Changed Diagnostics | |
175 | ||
176 | =over 4 | |
177 | ||
178 | =item * | |
179 | ||
180 | Perl -V has several improvements | |
181 | ||
182 | =over 4 | |
183 | ||
184 | =item * | |
185 | ||
186 | correctly outputs local patch names that contain embedded code snippets | |
187 | or other characters that used to confuse it. | |
188 | ||
189 | =item * | |
190 | ||
191 | arguments to -V that look like regexps will give multiple lines of output. | |
192 | ||
193 | =item * | |
194 | ||
195 | a trailing colon suppresses the linefeed and ';' terminator, allowing | |
196 | embedding of queries into shell commands. | |
197 | ||
198 | =item * | |
199 | ||
200 | a leading colon removes the 'name=' part of the response, allowing mapping to | |
201 | any name. | |
202 | ||
203 | =back | |
204 | ||
205 | =item * | |
206 | ||
207 | When perl fails to find the specified script, it now outputs a second line | |
208 | suggesting that the user use the C<-S> flag: | |
209 | ||
210 | $ perl5.8.5 missing.pl | |
211 | Can't open perl script "missing.pl": No such file or directory. | |
212 | Use -S to search $PATH for it. | |
213 | ||
214 | =back | |
215 | ||
216 | =head1 Changed Internals | |
217 | ||
218 | The Unicode character class files used by the regular expression engine are | |
219 | now built at build time from the supplied Unicode consortium data files, | |
220 | instead of being shipped prebuilt. This makes the compressed Perl source | |
221 | tarball about 200K smaller. A side effect is that the layout of files inside | |
222 | lib/unicore has changed. | |
223 | ||
224 | =head1 Known Problems | |
225 | ||
226 | The regression test F<t/uni/class.t> is now performing considerably more | |
227 | tests, and can take several minutes to run even on a fast machine. | |
228 | ||
229 | =head1 Platform Specific Problems | |
230 | ||
231 | This release is known not to build on Windows 95. | |
232 | ||
233 | =head1 Reporting Bugs | |
234 | ||
235 | If you find what you think is a bug, you might check the articles | |
236 | recently posted to the comp.lang.perl.misc newsgroup and the perl | |
237 | bug database at http://bugs.perl.org. There may also be | |
238 | information at http://www.perl.org, the Perl Home Page. | |
239 | ||
240 | If you believe you have an unreported bug, please run the B<perlbug> | |
241 | program included with your release. Be sure to trim your bug down | |
242 | to a tiny but sufficient test case. Your bug report, along with the | |
243 | output of C<perl -V>, will be sent off to perlbug@perl.org to be | |
244 | analysed by the Perl porting team. You can browse and search | |
245 | the Perl 5 bugs at http://bugs.perl.org/ | |
246 | ||
247 | =head1 SEE ALSO | |
248 | ||
249 | The F<Changes> file for exhaustive details on what changed. | |
250 | ||
251 | The F<INSTALL> file for how to build Perl. | |
252 | ||
253 | The F<README> file for general stuff. | |
254 | ||
255 | The F<Artistic> and F<Copying> files for copyright information. | |
256 | ||
257 | =cut |