Ticket #4500: read-integer.dpatch

File read-integer.dpatch, 57.0 KB (added by igloo, 3 years ago)
Line 
11 patch for repository http://darcs.haskell.org/packages/base:
2
3Tue Nov 16 19:15:54 GMT 2010  Ian Lynagh <igloo@earth.li>
4  * Improve parsing of Integer and Int
5  Now
6      reads "1.2" :: [(Integer, String)]
7  is
8      [(1,".2")]
9  rather than
10      []
11
12New patches:
13
14[Improve parsing of Integer and Int
15Ian Lynagh <igloo@earth.li>**20101116191554
16 Now
17     reads "1.2" :: [(Integer, String)]
18 is
19     [(1,".2")]
20 rather than
21     []
22] {
23hunk ./GHC/Read.lhs 454
24 %*********************************************************
25 
26 \begin{code}
27-readNumber :: Num a => (L.Lexeme -> ReadPrec a) -> ReadPrec a
28+readNumber :: Num a => ReadP a -> ReadPrec a
29 -- Read a signed number
30hunk ./GHC/Read.lhs 456
31-readNumber convert =
32+readNumber readPositive =
33   parens
34hunk ./GHC/Read.lhs 458
35-  ( do x <- lexP
36-       case x of
37-         L.Symbol "-" -> do y <- lexP
38-                            n <- convert y
39-                            return (negate n)
40+  ( lift $ do P.skipSpaces
41+              readNegative P.<++ readPositive )
42+    where readNegative = do _ <- P.char '-'
43+                            P.skipSpaces
44+                            fmap negate readPositive
45 
46hunk ./GHC/Read.lhs 464
47-         _   -> convert x
48-  )
49+readIntegral :: Num a => ReadP a
50+readIntegral = do xs <- P.munch1 isDigit
51+                  return $ fromInteger $ f 0 xs
52+    where -- Importing Data.List.foldl' gives an import loop,
53+          -- so manually recurse
54+          f acc [] = acc
55+          f acc (x : xs) = let acc' = 10 * acc + digitToInteger x
56+                           in acc' `seq` f acc' xs
57+          -- Importing Data.Char gives an import loop,
58+          -- so do this manually
59+          digitToInteger c = toInteger (ord c - ord '0')
60 
61hunk ./GHC/Read.lhs 476
62-
63-convertInt :: Num a => L.Lexeme -> ReadPrec a
64-convertInt (L.Int i) = return (fromInteger i)
65-convertInt _         = pfail
66-
67-convertFrac :: Fractional a => L.Lexeme -> ReadPrec a
68-convertFrac (L.Int i) = return (fromInteger i)
69-convertFrac (L.Rat r) = return (fromRational r)
70-convertFrac _         = pfail
71+lexConvertFrac :: Fractional a => ReadP a
72+lexConvertFrac = do y <- L.lex
73+                    case y of
74+                        L.Int i -> return (fromInteger i)
75+                        L.Rat r -> return (fromRational r)
76+                        _       -> P.pfail
77 
78 instance Read Int where
79hunk ./GHC/Read.lhs 484
80-  readPrec     = readNumber convertInt
81+  readPrec     = readNumber readIntegral
82   readListPrec = readListPrecDefault
83   readList     = readListDefault
84 
85hunk ./GHC/Read.lhs 489
86 instance Read Integer where
87-  readPrec     = readNumber convertInt
88+  readPrec     = readNumber readIntegral
89   readListPrec = readListPrecDefault
90   readList     = readListDefault
91 
92hunk ./GHC/Read.lhs 494
93 instance Read Float where
94-  readPrec     = readNumber convertFrac
95+  readPrec     = readNumber lexConvertFrac
96   readListPrec = readListPrecDefault
97   readList     = readListDefault
98 
99hunk ./GHC/Read.lhs 499
100 instance Read Double where
101-  readPrec     = readNumber convertFrac
102+  readPrec     = readNumber lexConvertFrac
103   readListPrec = readListPrecDefault
104   readList     = readListDefault
105 
106}
107
108Context:
109
110[Remove unnecessary fromIntegral calls
111simonpj@microsoft.com**20101116172451
112 Ignore-this: 8c44dc2b381c050d4eaaf287bbc55b9
113]
114[Add some comments to the generated Table.hs
115Ian Lynagh <igloo@earth.li>**20101113123430]
116[System.Event.KQueue conditionally uses BangPatterns
117Ian Lynagh <igloo@earth.li>**20101113114825]
118[Add LANGUAGE BangPatterns to modules that use bang patterns
119simonpj@microsoft.com**20101112170543
120 Ignore-this: 30f36b61c29a5fbbfc70b97143ebb4a8
121]
122[Reimplement firstPowerOf2
123Johan Tibell <johan.tibell@gmail.com>**20101103094630
124 Ignore-this: cc4f6ebe52f19ddc34d5e6412753d399
125]
126[Remove redundant import
127Ian Lynagh <igloo@earth.li>**20101031162520
128 Ignore-this: 7fd90d2c844e28f7100c0d803d527953
129]
130[Re-gen GHC/IO/Encoding/CodePage/Table.hs
131Ian Lynagh <igloo@earth.li>**20101031162034
132 Ignore-this: f8885db176f81b296f8dd8bb3146c05b
133]
134[Add a Makefile for MakeTable, and remove GHC.Num generated import
135Ian Lynagh <igloo@earth.li>**20101031161732
136 Ignore-this: 4459f6b29a58978ab56af31bdb888280
137]
138[Fix whitespace in codepages/MakeTable.hs
139Ian Lynagh <igloo@earth.li>**20101031154953
140 Ignore-this: 7d280cf26429de8a51947c2690d63b33
141]
142[Add an INLINE pragma on fromInteger on Int
143simonpj@microsoft.com**20101027193931
144 Ignore-this: 6363b8e1338f1e5334c28e8967284ef3
145]
146[Add an INLINE pragme for fmapDefault
147simonpj@microsoft.com**20101027193859
148 Ignore-this: 5f140c8fe79bbe1fa6af933fb58366bb
149]
150[hGetBuf: fix a case of a short read being returned (#4427)
151Simon Marlow <marlowsd@gmail.com>**20101027144324
152 Ignore-this: 6aa4cf722bef8eb01dfec3e751fd3eeb
153]
154[Refer to 'mask' instead of 'block' in documentation of Control.Exception
155Bas van Dijk <v.dijk.bas@gmail.com>**20101016185312
156 Ignore-this: cd1bc58df53f3cd1078b9031c3c13f4e
157]
158[Add showMultiLineString to GHC.Show
159simonpj@microsoft.com**20101025151655
160 Ignore-this: eacc594597387e8d965d17204b3ae35f
161 
162 This is part of the fix for #4436
163 
164   showMultiLineString :: String -> [String]
165   -- | Like 'showLitString' (expand escape characters using Haskell
166   -- escape conventions), but
167   --   * break the string into multiple lines
168   --   * wrap the entire thing in double quotes
169   -- Example:  @breakMultiLineString "hello\ngoodbye\nblah"@
170   -- returns   @["\"hello\\", "\\goodbye\\", "\\blah\"" ]@
171   -- where those "\\" are really just a single backslash
172   -- (but I'm writing them here as Haskell literals)
173]
174[CIntPtr, CUIntPtr, CIntMax, CUIntMax are new to nhc98.
175Malcolm.Wallace@me.com**20101025102644
176 Ignore-this: 32d703e70b9d0136cd68fa1987b35c2c
177]
178[Follow GHC.Bool/GHC.Types merge
179Ian Lynagh <igloo@earth.li>**20101023151510
180 Ignore-this: e8b93b702f02a4709706b130988f85a8
181]
182[Remove redundant imports, now that NoImplicitPrelude does not imply RebindableSyntax
183simonpj@microsoft.com**20101022143157
184 Ignore-this: 8d11a7ea4625d4d9cd1514e7fe158626
185]
186[FIX #4335
187Daniel Fischer <daniel.is.fischer@web.de>**20101019010109
188 Ignore-this: 3b8ad075637088df77937b923f623204
189 fromRational :: Rational -> Ratio a produced invalid results for fixed-width
190 types a. Reduce the fraction to avoid that.
191]
192[FIX #4337
193Daniel Fischer <daniel.is.fischer@web.de>**20101019003030
194 Ignore-this: e6eee4088d63e8d72d5ca7d92f708705
195 Special versions for the power functions with a Rational base and rewrite rules.
196]
197[remove trailing whitespace
198Simon Marlow <marlowsd@gmail.com>**20101021093337
199 Ignore-this: dda2815ba424a460ba2a31771a3f03fc
200]
201[FIX #4336
202Daniel Fischer <daniel.is.fischer@web.de>**20101021093246
203 Ignore-this: 76031829aff90251a284dbfa72f3b128
204 Avoid superfluous gcd calculation in recip for Ratio a because numerator
205 and denominator are known to be coprime.
206]
207[Add throwSTM :: Exception e => e -> STM a
208Bas van Dijk <v.dijk.bas@gmail.com>**20100926192144
209 Ignore-this: c6bfdae0eab9f0cf1360bc06d088bfd5
210]
211[Generalize catchSTM
212Bas van Dijk <v.dijk.bas@gmail.com>**20100926192106
213 Ignore-this: d2038494582d2cde2247293dd162671c
214]
215[FIX #4334
216Daniel Fischer <daniel.is.fischer@web.de>**20101020091111
217 Ignore-this: 1a1a406fcf4c352b5bc1f46f93f31b2a
218 Make selector thunks visible to GHC to fix a space leak in lines.
219]
220[FIX #1434
221Daniel Fischer <daniel.is.fischer@web.de>**20101020091014
222 Ignore-this: 3c7c73d3f4487d5aaa453087497d3534
223 Rewrite rules for RealFrac methods with sized Int and Word targets.
224 For all types whose range is contained in Int's range, there are now
225 rewrite rules for properFraction, truncate, floor, ceiling and round
226 from Double and Float, going through the specialised methods for Int.
227 
228 Unfortunately, we can't have a rewrite rule for Word.
229]
230[Define SpecConstrAnnotation in GHC.Exts, and import it from there
231simonpj@microsoft.com**20101018135857
232 Ignore-this: 8bf81cbc5787dbb5a3875b5622f67732
233   
234 Reason: avoid having to link the entire ghc package in modules
235 that use compile-time annotations:
236   
237        import GHC.Exts( SpecConstrAnnotation )
238        {-# ANN type T ForceSpecConstr #-}
239   
240 It's a kind of bug that the package exporting SpecConstrAnnotation
241 is linked even though it is only needed at compile time, but putting
242 the data type declaration in GHC.Exts is a simple way to sidestep
243 the problem
244   
245 See See Note [SpecConstrAnnotation] in SpecConstr
246]
247[throwTo: mention interruptible foreign calls
248Simon Marlow <marlowsd@gmail.com>**20101014084220
249 Ignore-this: dbc53d85f870cf649f87186c7185465a
250]
251[remove trailing whitespace
252Simon Marlow <marlowsd@gmail.com>**20101013101906
253 Ignore-this: b8b424540cacbbb3c6d934242e3af795
254]
255[FIX #4381
256Simon Marlow <marlowsd@gmail.com>**20101013101849
257 Ignore-this: f0daa4845eeb444231451b975b71d055
258 Fix scaleFloat by clamping the scaling parameter so that
259 exponent + scale doesn't overflow.
260 
261 Patch by: Daniel Fischer <daniel.is.fischer@web.de>
262]
263[Replaced some throws to throwIOs where the type is IO
264Bas van Dijk <v.dijk.bas@gmail.com>**20100924221340
265 Ignore-this: e74191e4527ae6f7551c95fd41063335
266]
267[Added initial .authorspellings
268Bas van Dijk <v.dijk.bas@gmail.com>**20101005072701
269 Ignore-this: 63628bcabfdd0b7beda4cd37daeccd89
270]
271[Lazier intersperse
272Daniel Fischer <daniel.is.fischer@web.de>**20101002231201
273 Ignore-this: a0fed65930cf19e68b4363381a5ab576
274 A lazier implementation of intersperse, and consequentially intercalate, to
275 avoid space leaks.
276]
277[FIX #4228 (atanh (-1) returns NaN instead of -Infinity)
278ghc@cainnorris.net**20100816213654
279 Ignore-this: dee89c24493e84a02bea711a1c83a73f
280]
281[Make intersectBy lazier
282Daniel Fischer <daniel.is.fischer@web.de>**20100930191731
283 Ignore-this: ef687bc75923434e85c14b57171576aa
284 Add shortcuts to intersectBy for empty list arguments.
285 In addition to being faster in that case, more inputs yield defined results.
286 Treats ticket #4323
287]
288[doc tweak for Directory file type: file names are '\0'-separated
289Simon Marlow <marlowsd@gmail.com>**20100922113811
290 Ignore-this: 96b7b004bd6e5bc3e958ad55bf238ba1
291]
292[documentation for IODeviceType (#4317, edited by me)
293Simon Marlow <marlowsd@gmail.com>**20100915131341
294 Ignore-this: 21c50ca7a189eebcf299523b6e942bae
295]
296[Allow Data.HashTable construction with user-supplied size
297**20100722210726
298 Ignore-this: bd54880bb16a106a992f03b040dc4164
299 
300 This avoids some resizing for users who know they will be inserting a
301 lot of data.
302 
303 http://hackage.haskell.org/trac/ghc/ticket/4193
304]
305[some fixes for hGetBufSome
306Simon Marlow <marlowsd@gmail.com>**20100916113732
307 Ignore-this: 3e596a606c180dc4859ea8f4c9132ca1
308  - fix one case where it was blocking when it shouldn't
309  - a couple of error-message tweaks
310]
311[Windows: map ERROR_NO_DATA to EPIPE, rather than EINVAL
312Simon Marlow <marlowsd@gmail.com>**20100915142618
313 Ignore-this: 9023e5f0542419f225aef26cb6b1d88d
314 WriteFile() returns ERROR_NO_DATA when writing to a pipe that is
315 "closing", however by default the write() wrapper in the CRT maps this
316 to EINVAL so we get confusing things like
317 
318   hPutChar: invalid argument (Invalid Argumnet)
319 
320 when piping the output of a Haskell program into something that closes
321 the pipe early.  This was happening in the testsuite in a few place.
322 
323 The solution is to map ERROR_NO_DATA to EPIPE correctly, as we
324 explicitly check for EPIPE on stdout (in GHC.TopHandler) so we can
325 exit without an error in this case.
326]
327[tighten up parsing of numbers (#1579)
328Simon Marlow <marlowsd@gmail.com>**20100913214733
329 Ignore-this: 3411bf3d2e98cfacb9e0afd11d79e722
330]
331[Add absentError. 
332simonpj@microsoft.com**20100914134639
333 Ignore-this: d0eef5a87e1def4cdbde92a55241c8c4
334 
335 This patch accompanies the HEAD patch:
336 
337   Tue Sep 14 12:38:27 BST 2010  simonpj@microsoft.com
338     * Make absent-arg wrappers work for unlifted types (fix Trac #4306)
339     
340     Previously we were simply passing arguments of unlifted
341     type to a wrapper, even if they were absent, which was
342     stupid.
343     
344     See Note [Absent error Id] in WwLib.
345]
346[Add missing import, fixes build on windows
347simonpj@microsoft.com**20100914122750
348 Ignore-this: 12ece15ef94982ddfbf5f9f7900619da
349]
350[Add a suitable Show instance for TextEncoding (#4273)
351Simon Marlow <marlowsd@gmail.com>**20100913154459
352 Ignore-this: 77f2235460895debd2827f34c42c3435
353]
354[don't fill a finalized handle with an error (see comment)
355Simon Marlow <marlowsd@gmail.com>**20100913153350
356 Ignore-this: c72cdb6898dffa88eca1d781171b2943
357]
358[deriving (Eq, Ord, Read, Show) for Newline and NewlineMode
359Simon Marlow <marlowsd@gmail.com>**20100913153031
360 Ignore-this: 9b9b29bfb7abf5550cfbfa7788f81bf
361]
362[fix warning on Windows
363Simon Marlow <marlowsd@gmail.com>**20100913111536
364 Ignore-this: dacc5448c452daad60ed37a1a5ed096e
365]
366[Put the state-token argument on fill, done, adjust on the RHS
367simonpj@microsoft.com**20100913101832
368 Ignore-this: d228b492de7d4635c026ed24cbc17e34
369 
370 This is so that the functions will inline when
371 applied to their normal (non-state-token) aguments.
372 
373 I forget why I did this, but it seems like the right thing anyway.
374]
375[avoid Foreign.unsafePerformIO
376Ross Paterson <ross@soi.city.ac.uk>**20100909125521
377 Ignore-this: b698101119ffd1bc6311cce0736f745d
378]
379[Remove debugging code accidentally left in
380Simon Marlow <marlowsd@gmail.com>**20100909113331
381 Ignore-this: 906a14176dd37030b8203782a687936b
382]
383[Fix Windows build; patches frmo ezyang
384Ian Lynagh <igloo@earth.li>**20100908123037
385 Ignore-this: 2f02986087edd7da8382221012c27cd0
386]
387[More accurate isatty test for MinGW.
388Edward Z. Yang <ezyang@mit.edu>**20100907154144
389 Ignore-this: 93bdc2b2a8e65a7c4c7d3906bdda01db
390]
391[Fix the build when HAVE_KQUEUE but not HAVE_KEVENT64
392Ian Lynagh <igloo@earth.li>**20100904223703]
393[Fix warnings
394benl@ouroborus.net**20100830044741
395 Ignore-this: 8397aaec7c36046c9ace403e65f32d32
396]
397[fix cache variable name used by FP_SEARCH_LIBS_PROTO
398Ross Paterson <ross@soi.city.ac.uk>**20100819204858
399 Ignore-this: b8113cb3c6f0e03c507297c99d3d82b7
400]
401[Add a missing castPtr (only shows up in -DDEBUG)
402simonpj@microsoft.com**20100815145127
403 Ignore-this: 30b9c42cd3ce7837bdabd254fe66078d
404]
405[Fixed a rounding error in threadDelay
406Johan Tibell <johan.tibell@gmail.com>**20100813124043
407 Ignore-this: 1cb77d0852233ffffb144b134064ee3c
408]
409[export allocaBytesAligned; make allocaArray use the correct alignment (#2917)
410Simon Marlow <marlowsd@gmail.com>**20100812105524
411 Ignore-this: deb6495f7b7b84deaf02b88927a5ba8c
412]
413[deprecate unGetChan and isEmptyChan (see #4154)
414Simon Marlow <marlowsd@gmail.com>**20100705125952
415 Ignore-this: b4e769959f131b2d0001eb7202bc1b92
416]
417[Add type signatures to cope with lack of local generalisation
418simonpj@microsoft.com**20100728124847
419 Ignore-this: d3af9a47c2821c6081bde05a135a92fb
420]
421[Add type signature in local where
422simonpj@microsoft.com**20100727151532
423 Ignore-this: 1c57063ad32d13e0d1ec8daf968bf055
424]
425[Integrated new I/O manager
426Simon Marlow <marlowsd@gmail.com>**20100810082248
427 Ignore-this: ed70a9066ac9b676a446fe99978fef7a
428 (patch originally by Johan Tibell <johan.tibell@gmail.com>, minor merging by me)
429]
430[Add mfilter to Control.Monad
431jon.fairbairn@cl.cam.ac.uk**20090917145616
432 Ignore-this: de4240b60684f3065b29378df3ea98f2
433 
434 Straightforward MonadPlus version of List.filter. I would
435 prefer to call it filter, but the current naming scheme for
436 Control.Monad implies mfilter.
437 
438]
439[move Monad and MonadFix instances for Either from mtl (proposal #4159)
440Ross Paterson <ross@soi.city.ac.uk>**20100729122449
441 Ignore-this: b0f8cd8643679948d1da43bd7c08c5aa
442 
443 The Monad and MonadFix instances for Either (formerly in the mtl
444 package) are moved to Control.Monad.Instances and Control.Monad.Fix
445 respectively.  The Monad instance is still an orphan, to retain Haskell
446 98 compatibility, but the MonadFix instance is together with its class.
447 The Error constraint is removed from both instances, and the default
448 definition of fail is used.
449]
450[Remove egregious ghc-ish from Foreign.Marshal
451Malcolm.Wallace@me.com**20100722075449]
452[add numSparks :: IO Int (#4167)
453Simon Marlow <marlowsd@gmail.com>**20100720153858
454 Ignore-this: 4543f57a7f137f8cae1c3efc5c023a9b
455]
456[add unsafeLocalState from Haskell 2010, and docs
457Simon Marlow <marlowsd@gmail.com>**20100720082819
458 Ignore-this: dcd79fb546ebe29ddff4df279ec2f38
459]
460[docs: mention that Foreign.unsafePerformIO is deprecated
461Simon Marlow <marlowsd@gmail.com>**20100720082804
462 Ignore-this: 4cfebb8f2a1cddc7d15e94e31b2befa4
463 We can't actually deprecate it without introducing a name clash
464 between Foreign.unsafePerformIO and System.IO.Unsafe.unsafePerformIO
465]
466[doc formatting fix
467Simon Marlow <marlowsd@gmail.com>**20100714151347
468 Ignore-this: 255edef607dcd290e198015240b5d125
469]
470[add module intro from Haskell 2010
471Simon Marlow <marlowsd@gmail.com>**20100714115853
472 Ignore-this: 59b5a07507a059ccccdff2dfb6490a27
473]
474[document exception-overriding behaviour in withFile
475Simon Marlow <marlowsd@gmail.com>**20100714104107
476 Ignore-this: f99e641ea2f46d872cb7420a62fa50dc
477]
478[doc: use "finalizer" consistently
479Simon Marlow <marlowsd@gmail.com>**20100714103649
480 Ignore-this: bdfea40f31dc5045fdbc6e12266dda93
481]
482[clarify meaning of bit
483Simon Marlow <marlowsd@gmail.com>**20100714103310
484 Ignore-this: 521b031f1e83ef34ca03d9aa9273df8a
485]
486[note shortcutting behaviour of any/all/elem
487Simon Marlow <marlowsd@gmail.com>**20100714103304
488 Ignore-this: 1605f362ba0712ad1cea1309636f3ea1
489]
490[add cast{C,U}CharToChar and castCharTo{C,U}Char, from Haskell 2010
491Simon Marlow <marlowsd@gmail.com>**20100713132515
492 Ignore-this: 9b1da827016c7b08668078b45964e9de
493]
494[mention that IntPtr and WordPtr can be marshalled to/from intptr_t and uintptr_t
495Simon Marlow <marlowsd@gmail.com>**20100713132403
496 Ignore-this: dcc112a72746ba117a84fa29e71b6800
497]
498[Partial fix for Trac #4136
499simonpj@microsoft.com**20100707135725
500 Ignore-this: 9548eeb3187d9779d4e5c858a0f35354
501 
502 In 'choose' (which is a library function designed specifically
503 to support derived instances of Read), we must match Symbol
504 as well as Ident, for nullary constructors that (wierdly) are
505 symbols.
506]
507[Fix typo in documentation
508Simon Hengel <simon.hengel@wiktory.org>**20100711141648
509 Ignore-this: c052dd8a681832ef598a323ad55eae3a
510]
511[Remove duplicated word in documentation
512Simon Hengel <simon.hengel@wiktory.org>**20100711072703
513 Ignore-this: fb3732dc57be55f14168792f923433
514]
515[Allow nhc98 to cope with recent changes to Control.Exception.
516Malcolm.Wallace@me.com**20100710170940]
517[ New asynchronous exception control API (base parts)
518Simon Marlow <marlowsd@gmail.com>**20100708152735
519 Ignore-this: 71a4811804f04259f1fe739f8863beaf
520   
521 As discussed on the libraries/haskell-cafe mailing lists
522   http://www.haskell.org/pipermail/libraries/2010-April/013420.html
523 
524 This is a replacement for block/unblock in the asychronous exceptions
525 API to fix a problem whereby a function could unblock asynchronous
526 exceptions even if called within a blocked context.
527 
528 The new terminology is "mask" rather than "block" (to avoid confusion
529 due to overloaded meanings of the latter).
530 
531 The following is the new API; the old API is deprecated but still
532 available for the time being.
533 
534 Control.Exception
535 -----------------
536 
537 mask  :: ((forall a. IO a -> IO a) -> IO b) -> IO b
538 mask_ :: IO a -> IO a
539 
540 uninterruptibleMask :: ((forall a. IO a -> IO a) -> IO b) -> IO b
541 uninterruptibleMask_ :: IO a -> IO
542 
543 getMaskingState :: IO MaskingState
544 
545 data MaskingState
546   = Unmasked
547   | MaskedInterruptible
548   | MaskedUninterruptible
549 
550 
551 Control.Concurrent
552 ------------------
553 
554 forkIOUnmasked :: IO () -> IO ThreadId
555]
556[Async-exception safety, and avoid space leaks
557Simon Marlow <marlowsd@gmail.com>**20100708145819
558 Ignore-this: dbfd0e61551e9e7b4fc1c6fe9b9a83de
559 Patch submitted by: Bas van Dijk <v.dijk.bas@gmail.com>
560 Modified slightly by me to remove non-functional changes.
561]
562[Async-exception safety, and avoid space leaks
563Simon Marlow <marlowsd@gmail.com>**20100708103154
564 Ignore-this: 190c3ac8f6633231624da8cf1316588
565 Patch submitted by: Bas van Dijk <v.dijk.bas@gmail.com>
566 Modified slightly by me to remove non-functional changes.
567]
568[Fix a few places where we forgot to close the text codecs (#4029)
569Simon Marlow <marlowsd@gmail.com>**20100702130210
570 Ignore-this: 2e81a4b4cb343181cef34b0f9e2ded47
571 Each time you invoke :load in GHCi it resets the CAFs, including
572 stdin/stdout/stderr, and each of these was allocating a new iconv_t.
573]
574[remove docs from Monad that belonged on the instance for MonadPlus IO
575Simon Marlow <marlowsd@gmail.com>**20100701154203
576 Ignore-this: 59df02542a7ac9421552a2155d848d27
577]
578[docs: unqualify Prelude.IO
579Simon Marlow <marlowsd@gmail.com>**20100701153817
580 Ignore-this: 73b0202876c827e7a5b4a5ce74e724c4
581]
582[unqualify Float and Double
583Simon Marlow <marlowsd@gmail.com>**20100701142727
584 Ignore-this: cbe89d31a00bf49996a33933324fca17
585]
586[extract information about Data.Time from docs for CTime
587Simon Marlow <marlowsd@gmail.com>**20100701142415
588 Ignore-this: c48c9609b8d36e43e033a7bea81d6f17
589]
590[doc typo
591Simon Marlow <marlowsd@gmail.com>**20100701142354
592 Ignore-this: 17a1fd703831c888975ff63fbfa3a9b2
593]
594[peekArray docs: remove mentions of "this version" and "previous version"
595Simon Marlow <marlowsd@gmail.com>**20100701125333
596 Ignore-this: 39a744874258670bd935ba9e38390939
597]
598[doc typo
599Simon Marlow <marlowsd@gmail.com>**20100701124154
600 Ignore-this: 98f5c286e38c2c34c96b05d5e8bc5ad9
601]
602[doc typo
603Simon Marlow <marlowsd@gmail.com>**20100701124128
604 Ignore-this: 10a4314ec7aed336701fc616fb574ebc
605]
606[doc typo
607Simon Marlow <marlowsd@gmail.com>**20100701123715
608 Ignore-this: c4909a7bf7163460ee5d32f58812041e
609]
610[doc wibble: Haskell 98 I/O Error -> 'IOError'
611Simon Marlow <marlowsd@gmail.com>**20100701123612
612 Ignore-this: bf373df781acbc575e4ffe3b7e6059ae
613]
614[doc typo
615Simon Marlow <marlowsd@gmail.com>**20100701123014
616 Ignore-this: 16aaccae48ef3101adf78ea5b0d5a8fd
617]
618[Haddock hacks to fix whitespace consistency
619Simon Marlow <marlowsd@gmail.com>**20100701121631
620 Ignore-this: 61c58dec52a31fd2d3f331a87d2f903f
621]
622[use '==' consistently rather than '->' in examples
623Simon Marlow <marlowsd@gmail.com>**20100701121616
624 Ignore-this: 472b0a05a85d34d9712186040e1636d9
625]
626[doc wibble: remove confusing mention of "Prelude"
627Simon Marlow <marlowsd@gmail.com>**20100701113308
628 Ignore-this: 232283d0096d01cd45e9b3c5c1e63a6d
629]
630[doc wibble: nonstrict -> non-strict
631Simon Marlow <marlowsd@gmail.com>**20100701113253
632 Ignore-this: 4264f0ab23a0835fc13c6e8601d6b743
633]
634[doc whitespace
635Simon Marlow <marlowsd@gmail.com>**20100701112242
636 Ignore-this: 777a95b1d1140c61d3ab95d5eb5809e7
637]
638[move the doc for 'Char' to its new home in ghc-prim:GHC.Types
639Simon Marlow <marlowsd@gmail.com>**20100629134150
640 Ignore-this: 7687db0077a29498349bfb4b44983985
641]
642[doc wibble
643Simon Marlow <marlowsd@gmail.com>**20100629122608
644 Ignore-this: 9a909e5d015332dc445bd9592e6e386d
645]
646[doc updates in System.IO
647Simon Marlow <marlowsd@gmail.com>**20100629122118
648 Ignore-this: 2257ec1cc4cdb8b7804cfa1f3cf32753
649]
650[doc wibble
651Simon Marlow <marlowsd@gmail.com>**20100625134858
652 Ignore-this: 64c50f29df6c389273b818918fe7033a
653]
654[doc wibbles
655Simon Marlow <marlowsd@gmail.com>**20100624154614
656 Ignore-this: b364aad53beea6e741fee2824459b6e8
657]
658[Fix haddock formatting
659Ian Lynagh <igloo@earth.li>**20100625222623]
660[correct docs for exitWith: only stdout/stderr are flushed, not all Handles
661Simon Marlow <marlowsd@gmail.com>**20100624130506
662 Ignore-this: 33a938dad8f0bc061572e2ec571cacc7
663]
664[fix docs for isSpace
665Simon Marlow <marlowsd@gmail.com>**20100624130444
666 Ignore-this: b35ff080dbb9833176f08e39dbd9ff6d
667]
668[make the hGetBuf/hPutBuf family work with non-FD Handles (#4144)
669Simon Marlow <marlowsd@gmail.com>**20100624130425
670 Ignore-this: 8200f0208a9b1b1cf4824f343d75819a
671]
672[Give nub's complexity in the haddock docs; fixes #4086
673Ian Lynagh <igloo@earth.li>**20100625222059]
674[nit in docs for accumArray
675Simon Marlow <marlowsd@gmail.com>**20100622121131
676 Ignore-this: c066a456c40907e767df10c3990f35ff
677]
678[add doc for the ExitCode type
679Simon Marlow <marlowsd@gmail.com>**20100622120930
680 Ignore-this: 99c34332be7f3565da844528b470054a
681]
682[remove extraneous info from docs for Array
683Simon Marlow <marlowsd@gmail.com>**20100622120921
684 Ignore-this: e2a3f5e84fc23eb7bae911f0680e805e
685]
686[add an INLINE to the list version of traverse, to enable fusion
687Simon Marlow <marlowsd@gmail.com>**20100608082531
688 Ignore-this: ea98cdc3308b406bb04c0f7a38c4424b
689]
690[add Applicative instance for Either (proposal #4095)
691Ross Paterson <ross@soi.city.ac.uk>**20100617225110
692 Ignore-this: 50262ec4700dc16efec5755be5b308c5
693 
694 This is not the only possible instance for Either, but this one is
695 compatible with the usual Monad instance.
696]
697[Don't define the C localeEncoding on Windows
698Ian Lynagh <igloo@earth.li>**20100620202342
699 Ignore-this: c4992f6832a391b0cccc5a9b7d643976
700 (it causes warnings, and isn't used)
701]
702[Add a note about the interruptibility of throwTo.
703Simon Marlow <marlowsd@gmail.com>**20100615112720
704 Ignore-this: ae9fabe95310d7c364e95f7784793485
705]
706[docs: note that hGetBufNonBlocking isn't non-blocking on Windows
707Simon Marlow <marlowsd@gmail.com>**20100615112547
708 Ignore-this: 4f3e5213e142149affe08c5123d6efea
709]
710[don't depend on Prelude (#4122)
711Simon Marlow <marlowsd@gmail.com>**20100615105631
712 Ignore-this: 1a3fd49b103fe31cbb453f302c18767f
713]
714[Don't depend on Prelude (#4123)
715Simon Marlow <marlowsd@gmail.com>**20100615105401
716 Ignore-this: cc7616d85a1637bc7621b4f2bc181c0e
717]
718[Use libcharset instead of nl_langinfo(CODESET) if possible.
719pho@cielonegro.org**20100519013112
720 Ignore-this: 4c1e278e022a3d276848afc1dcba4425
721 
722 nl_langinfo(CODESET) doesn't always return standardized variations of the encoding names. Use libcharset if possible, which is shipped together with GNU libiconv.
723]
724[bump version to 4.3.0.0, added instance MonadPlus STM
725Simon Marlow <marlowsd@gmail.com>**20100601144831
726 Ignore-this: 7c3cf7574499c4267372493f2636dc0
727]
728[Moved MonadPlus instance for STM from Control.Monad.STM to GHC.Conc to avoid an orphaned instance
729Bas van Dijk <v.dijk.bas@gmail.com>**20100516160651
730 Ignore-this: 651b852942b2fae2b93f996e39239b8f
731]
732[Added Applicative and Alternative instances for STM
733Bas van Dijk <v.dijk.bas@gmail.com>**20100516171756
734 Ignore-this: 567003bc4040bc97105cda4d31ebf04a
735]
736[expand Foldable instance for Array
737Ross Paterson <ross@soi.city.ac.uk>**20100602212154
738 Ignore-this: 9bd9e9666a9400431eb92352244fe7e7
739]
740[doc comment illustrating Foldable(foldr)
741Ross Paterson <ross@soi.city.ac.uk>**20100527150833
742 Ignore-this: 8f27d889379803f3ba86d6e928428f3c
743]
744[fix syntax in doc comments
745Ross Paterson <ross@soi.city.ac.uk>**20100527150757
746 Ignore-this: cb78da51d60ff6863dc395f1a892c103
747]
748[export hGetBufSome (#4046)
749Simon Marlow <marlowsd@gmail.com>**20100520093538
750 Ignore-this: f467fad9722e27edfad6b3dd75290e7b
751]
752[hWaitForInput: don't try to read from the device (#4078)
753Simon Marlow <marlowsd@gmail.com>**20100517133741
754 Ignore-this: 55ec33b03397380259b91e4ca62207a6
755 readTextDeviceNonBlocking is not non-blocking on Windows
756]
757[hSetEncoding: change the encoding on both read and write sides (#4066)
758Simon Marlow <marlowsd@gmail.com>**20100514124628
759 Ignore-this: 5b9e9caef06356d0296c584159709ebb
760]
761[Correct haddock formatting.
762Adam Vogt <vogt.adam@gmail.com>**20100423022103
763 Ignore-this: d2622339302048fda48080f7d5ce4a2f
764]
765[Fix for hGetBufSome
766Simon Marlow <marlowsd@gmail.com>**20100505135637
767 Ignore-this: 2019680f8fb223956cacfcf0d046f133
768]
769[improve the documentation for throwTo and killThread (#3884)
770Simon Marlow <marlowsd@gmail.com>**20100505135600
771 Ignore-this: ce881d96ddb729acb6ca09c779975e7d
772]
773[elaborate the docs for unsafePerformIO a bit
774Simon Marlow <marlowsd@gmail.com>**20100505101249
775 Ignore-this: 1cec3f67560b672c64c5a0dcf9a79eb7
776]
777[add Typeable instance
778Simon Marlow <marlowsd@gmail.com>**20100504152815
779 Ignore-this: 6d9cf9d62f0ef17fa459bf213a04098
780]
781[Add hGetBufSome, like hGetBuf but can return short reads
782Simon Marlow <marlowsd@gmail.com>**20100504152759
783 Ignore-this: 195c905b43f8d9505029364e2c5b18e
784]
785[Add swap (#3298)
786Simon Marlow <marlowsd@gmail.com>**20100504095339
787 Ignore-this: 13b007dc4594ce252997ec6fa0bbd976
788]
789[inline allocaArray0, to fix withCString benchmark
790Simon Marlow <marlowsd@gmail.com>**20100423124729
791 Ignore-this: 35c96816acc2f3aaf9dd29f7995fa6f0
792]
793[raise asynchronous exceptions asynchronously (#3997)
794Simon Marlow <marlowsd@gmail.com>**20100421094932
795 Ignore-this: 6d987d93d382c0f69c68c326312abd6b
796]
797[add NOINLINE pragmas for stdin/stdout/stderr
798Simon Marlow <marlowsd@gmail.com>**20100421082041
799 Ignore-this: 3fc130268ec786f28d945858d6690986
800]
801[INLINE alloca and malloc
802Simon Marlow <marlowsd@gmail.com>**20100419135333
803 Ignore-this: b218bd611f18721b1505a8c0b9e6a16a
804 See discussion on glasgow-haskell-users:
805   http://www.haskell.org/pipermail/glasgow-haskell-users/2010-April/018740.html
806]
807[Move comment closer to the offending line
808Matthias Kilian <kili@outback.escape.de>**20100419155421
809 Ignore-this: b34a1d7affd66f67d210df2377b585d9
810]
811[Ignore the return code of c_fcntl_write again
812Matthias Kilian <kili@outback.escape.de>**20100415140452
813 Ignore-this: 266d8ba02cc3cb79c85629b3528261c9
814 
815 The return code has been ignored in the past on purpose, because
816 O_NONBLOCK will fail on BSDs for some special files. This fixes the
817 problem mentioned in
818 http://www.haskell.org/pipermail/glasgow-haskell-users/2010-April/018698.html
819 
820]
821[Fix bitrot in IO debugging code
822Ian Lynagh <igloo@earth.li>**20100413134339
823 Also switched to using Haskell Bools (rather than CPP) to en/disable it,
824 so it shouldn't break again in the future.
825]
826[Tiny code tidy-up
827Ian Lynagh <igloo@earth.li>**20100413011147]
828[remove old/wrong comment
829Simon Marlow <marlowsd@gmail.com>**20100325161403
830 Ignore-this: e6e377d44af48c4162d17d55bdf3f821
831]
832[withThread: block asynchronous exceptions before installing exception handler.
833Bas van Dijk <v.dijk.bas@gmail.com>**20100329131624
834 Ignore-this: be5aeb47dbd73807b5f94df11afbb81c
835 Note that I don't unblock the given io computation. Because AFAICS
836 withThread is only called with 'waitFd' which only performs an FFI
837 call which can't receive asynchronous exceptions anyway.
838]
839[runInUnboundThread: block asynchronous exceptions before installing exception handler
840Bas van Dijk <v.dijk.bas@gmail.com>**20100329131549
841 Ignore-this: a00c5e32fe3981ff87bedd367a69051e
842]
843[fix the deprecation message (GHC.IO.Handle.Base -> GHC.IO.Handle)
844Simon Marlow <marlowsd@gmail.com>**20100330121137
845 Ignore-this: 4ca8500a01ac93454507aa8f9dd001f9
846]
847[Make SampleVar an abstract newtype
848Bas van Dijk <v.dijk.bas@gmail.com>**20100318200349
849 Ignore-this: 27939e2a064b75e71cb146117346be30
850]
851[Fix bugs regarding asynchronous exceptions and laziness in Control.Concurrent.SampleVar
852Bas van Dijk <v.dijk.bas@gmail.com>**20100318200104
853 Ignore-this: 7376b2a3afe155daf233a8f1ddc0a7a
854  - Block asynchronous exceptions at the right places
855  - Force thunks before putting them in a MVar
856]
857[Write the thunk 'next' to the MVar
858Bas van Dijk <v.dijk.bas@gmail.com>**20100319125951
859 Ignore-this: dd25636cf220131385ff2fd32493d456
860]
861[change to use STM, fixing 4 things
862Simon Marlow <marlowsd@gmail.com>**20100318104436
863 Ignore-this: 551d30280a7941c08f5c3b14576bdd70
864   1. there was no async exception protection
865   2. there was a space leak (now new value is strict)
866   3. using atomicModifyIORef would be slightly quicker, but can
867      suffer from adverse scheduling issues (see #3838)
868   4. also, the STM version is faster.
869]
870[Tweak docs
871Ian Lynagh <igloo@earth.li>**20100312214129]
872[Fixed dead links in documentation of forkIO
873Bas van Dijk <v.dijk.bas@gmail.com>**20100308222415
874 Ignore-this: 7deb8fd064c867fbede2a6b2e9da4f15
875]
876[Documentation fixes in Control.Exception
877Bas van Dijk <v.dijk.bas@gmail.com>**20100301220442
878 Ignore-this: 761fcba401cbd1f47276ddfc9b5b80f2
879]
880[Plug two race conditions that could lead to deadlocks in the IO manager
881Simon Marlow <marlowsd@gmail.com>**20100225120255
882 Ignore-this: e6983d6b953104d370278ab3e4617e8b
883]
884[FIX #3866: improve documentation of Data.Data.Constr
885jpm@cs.uu.nl**20100224125506
886 Ignore-this: 3818c5d8fee012a3cf322fb455b6e5dc
887]
888[UNDO: Handle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676)
889Simon Marlow <marlowsd@gmail.com>**20100223101603
890 Ignore-this: 78becb2d39b3cd9a1a473a5811ca7d92
891]
892[Put the complexity in the length docs. Fixes trac #3680
893Ian Lynagh <igloo@earth.li>**20100221191425]
894[nhc98 should build Data.Functor.
895Malcolm.Wallace@cs.york.ac.uk**20100221163218]
896[Update the exitWith docs
897Ian Lynagh <igloo@earth.li>**20100213140004
898 Error pointed out by Volker Wysk <vw@volker-wysk.de>
899]
900[Handle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676)
901Simon Marlow <marlowsd@gmail.com>**20100211101955
902 Ignore-this: 261415363303efca265e80290eac5f28
903]
904[For nhc98, import unsafeInterleaveIO rather than defining it here.
905Malcolm.Wallace@cs.york.ac.uk**20100204171021]
906[Stifle warning about unused return value
907benl@cse.unsw.edu.au**20100203025537]
908[fix #3832: use the locale encoding in openTempFile
909Simon Marlow <marlowsd@gmail.com>**20100120211830
910 Ignore-this: df4f778cc5fefb32290c798db722632c
911 Also while I was here fix an XXX: the Handle contained an
912 uninformative string like <fd: 4> for error messages rather than the
913 real file path.
914]
915[Fix the build: export void, so it doesn't give an unused binding warning
916Ian Lynagh <igloo@earth.li>**20100116174451]
917[hIsEOF: don't do any decoding (#3808)
918Simon Marlow <marlowsd@gmail.com>**20100112230317
919 Ignore-this: 6a384dd2d547ffe3ad3762920e5c1671
920]
921[Control.Monad: +void :: f a -> f ()
922gwern0@gmail.com**20100108214455
923 Ignore-this: 4dc07452315f2d1b4941903ff42fc45f
924 See http://hackage.haskell.org/trac/ghc/ticket/3292
925 Turns m a -> m (). Lets one call functions for their side-effects without
926 having to get rid of their return values with '>> return ()'. Very useful
927 in many contexts (parsing, IO etc.); particularly good for 'forkIO' and 'forM_',
928 as they demand return types of 'IO ()' though most interesting IO functions
929 return non-().
930]
931[Replace the implementation of mergesort with a 2x faster one.
932Malcolm.Wallace@cs.york.ac.uk**20091224152014
933 See ticket http://hackage.haskell.org/trac/ghc/ticket/2143.
934]
935[Restore previous Data.Typeable.typeOf*Default implementations for non-ghc.
936Malcolm.Wallace@cs.york.ac.uk**20091223142625
937 Not all compilers have ScopedTypeVariables.
938]
939[Add comments about double bounds-checking, and fast paths for rectangular arrays
940simonpj@microsoft.com**20091218165655
941 Ignore-this: ea0849419dc00927aba4bd410b1cc58d
942 
943 See Note [Double bounds-checking of index values] for the details.
944 
945 The fast paths omit the doubled checks for cases we know about
946]
947[Fix Trac #3245: memoising typeOf
948simonpj@microsoft.com**20091218155117
949 Ignore-this: 5a178a7f2222293c5ee0c3c43bd1b625
950 
951 The performance bug in #3245 was caused by computing the typeRep
952 once for each call of typeOf, rather than once for each dictionary
953 contruction.  (Computing TypeReps is reasonably expensive, because
954 of the hash-consing machinery.)
955 
956 This is readily fixed by putting the TypeRep construction outside
957 the lambda.  (Arguably GHC might have worked that out itself,
958 but it involves floating something between a type lambda and a
959 value lambda, which GHC doesn't currently do. If it happens a lot
960 we could fix that.)
961]
962[Mark 'index' as INLINE in GHC.Arr
963simonpj@microsoft.com**20091216170441
964 Ignore-this: a4df9d8acf496c8e0e9ce5a520509a2a
965 
966 This makes indexing much faster. See Trac #1216
967]
968[Comment the remaining orphan instance modules
969Ian Lynagh <igloo@earth.li>**20091206125021]
970[De-orphan Eq/Ord Float/Double
971Ian Lynagh <igloo@earth.li>**20091205181238]
972[Add comments to "OPTIONS_GHC -fno-warn-orphans" pragmas
973Ian Lynagh <igloo@earth.li>**20091205165854]
974[Data.Either.partitionEithers was insufficiently lazy.
975Malcolm.Wallace@cs.york.ac.uk**20091202032807
976 Ignore-this: 77e1b3288f66608c71458d8a91bcbe12
977 Spotted by Daniel Fischer.
978]
979[fix the docs regarding finalizer guarantees
980Simon Marlow <marlowsd@gmail.com>**20091130144409
981 Ignore-this: d1ab9532c74a002b8075ff60febcbe2d
982]
983[x86_64 requires more stack
984Malcolm.Wallace@cs.york.ac.uk**20091201033745]
985[check for size < 0 in mallocForeignPtrBytes and friends (#3514)
986Simon Marlow <marlowsd@gmail.com>**20091125143822
987 Ignore-this: 91077d01da2bbe1dfed5155e8b40da9
988]
989[hGetContents: close the handle properly on error
990Simon Marlow <marlowsd@gmail.com>**20091125123435
991 Ignore-this: bc37ff678acc6e547dc390285e056eb9
992 
993 When hGetContents caught an error it was closing the handle and then
994 throwing the exception, without updating the handle with the new
995 closed state.  This lead to a double-closed, which was the cause of
996 
997 *** glibc detected *** ./Setup: double free or corruption
998 
999 when iconv_close was called twice on the decoder.
1000 
1001 See http://hackage.haskell.org/trac/hackage/ticket/609
1002]
1003[Fix arities of mapFB and zipFB
1004Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091126232219
1005 Ignore-this: c4e14cd0a92622549c86e67237a40865
1006]
1007[Remove an unnecessary -fno-warn-orphans flag
1008Ian Lynagh <igloo@earth.li>**20091126123404]
1009[Make sure zipWithFB has arity 2
1010Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091125010003
1011 Ignore-this: 4cf60c55666f03d22a9f5a6e07f52d36
1012 
1013 It gets 2 arguments in the "zipWith" rule but its arity was higher and the new
1014 inliner didn't inline it sometimes, for instance here:
1015 
1016 mpp ::  [Double] -> [Double] -> [Double] -> [Double] -> [Double]
1017 mpp as bs cs ds = zipWith (*) (zipWith (+) as bs) (zipWith (+) cs ds)
1018 
1019 This was a regression vs. 6.10.
1020]
1021[Tweak layout to work with alternative layout rule
1022Ian Lynagh <igloo@earth.li>**20091125232349]
1023[Tweak layout to be accepted by the alternative layout rul
1024Ian Lynagh <igloo@earth.li>**20091125194147]
1025[Remove an old comment
1026Ian Lynagh <igloo@earth.li>**20091124134647]
1027[De-orphan the Eq/Ord Integer instances
1028Ian Lynagh <igloo@earth.li>**20091124133639]
1029[Whitespace only
1030Ian Lynagh <igloo@earth.li>**20091124133421]
1031[Derive some more instances, rather than writing them by hand
1032Ian Lynagh <igloo@earth.li>**20091124011747]
1033[We can now derive Ord ()
1034Ian Lynagh <igloo@earth.li>**20091124011416]
1035[De-orphan tuple Eq/Ord instances
1036Ian Lynagh <igloo@earth.li>**20091123233343]
1037[Control.Exception.Base no longer has any orphans
1038Ian Lynagh <igloo@earth.li>**20091123224905]
1039[De-orphan the MonadFix ST instance for GHC
1040Ian Lynagh <igloo@earth.li>**20091123223544]
1041[Rearrange the contents of Control.Monad.ST; no functionality changes
1042Ian Lynagh <igloo@earth.li>**20091123222702]
1043[De-orphan the Eq/Ord [a] instances
1044Ian Lynagh <igloo@earth.li>**20091123215635]
1045[Remove ffi warnings for nhc98.
1046Malcolm.Wallace@cs.york.ac.uk**20091123063743]
1047[De-orphan the Eq/Ord Char instances
1048Ian Lynagh <igloo@earth.li>**20091123202253]
1049[De-orphan the Eq/Ord Bool instances
1050Ian Lynagh <igloo@earth.li>**20091123201817]
1051[Move Eq/Ord Ordering instances to de-orphan them
1052Ian Lynagh <igloo@earth.li>**20091123194310]
1053[Second attempt to fix #1185 (forkProcess and -threaded)
1054Simon Marlow <marlowsd@gmail.com>**20091111151915
1055 Ignore-this: fa5f5d5e4e080d4b612a37244f937f9c
1056 
1057 Patch 2/2: first patch is to ghc
1058 
1059 This time without dynamic linker hacks, instead I've expanded the
1060 existing rts/Globals.c to cache more CAFs, specifically those in
1061 GHC.Conc.  We were already using this trick for signal handlers, I
1062 should have realised before.
1063 
1064 It's still quite unsavoury, but we can do away with rts/Globals.c in
1065 the future when we switch to a dynamically-linked GHCi.
1066]
1067[Rollback #1185 fix
1068Simon Marlow <marlowsd@gmail.com>**20091106140629
1069 Ignore-this: cd5667e8474e37e01ba26a1984274811
1070 
1071 rolling back:
1072 
1073 Tue Nov  3 16:05:40 GMT 2009  Simon Marlow <marlowsd@gmail.com>
1074   * Fix #1185: restart the IO manager after fork()
1075   
1076   This is the libraries/base part of the patch; there is a corresponding
1077   patch to GHC itself.
1078   
1079   The main change is that we now keep track of the IO manager's ThreadId
1080   in a top-level MVar, and ensureIOManagerIsRunning checks whether a
1081   previous IO manager thread is alive before starting one.  In the child
1082   of fork(), we can hence call ensureIOManagerIsRunning to restart the
1083   IO manager.
1084 
1085     M ./GHC/Conc.lhs -46 +44
1086 
1087 Wed Nov  4 17:49:45 GMT 2009  Ian Lynagh <igloo@earth.li>
1088   * Fix the build on Windows
1089 
1090     M ./GHC/Conc.lhs -6 +4
1091]
1092[Fix the build on Windows
1093Ian Lynagh <igloo@earth.li>**20091104174945]
1094[Fix #1185: restart the IO manager after fork()
1095Simon Marlow <marlowsd@gmail.com>**20091103160540
1096 Ignore-this: 6dc05464f1500104554637f4759738cc
1097 
1098 This is the libraries/base part of the patch; there is a corresponding
1099 patch to GHC itself.
1100 
1101 The main change is that we now keep track of the IO manager's ThreadId
1102 in a top-level MVar, and ensureIOManagerIsRunning checks whether a
1103 previous IO manager thread is alive before starting one.  In the child
1104 of fork(), we can hence call ensureIOManagerIsRunning to restart the
1105 IO manager.
1106]
1107[improve the documentation for throwErrnoIfRetry
1108Simon Marlow <marlowsd@gmail.com>**20091016112404
1109 Ignore-this: b77275cacf730e15757946027168f63e
1110]
1111[Don't inline unpackFoldrCString ever
1112simonpj@microsoft.com**20091029135350
1113 Ignore-this: 85d672649b1b776efc7e97500b05d4f9
1114]
1115[Inline more default methods
1116simonpj@microsoft.com**20091029135330
1117 Ignore-this: 289c44b0afd6d5631c2a4e0664275ca9
1118 
1119 Namely Monad: (>>)
1120        Eq:    (==), (/=)
1121        Num:   (-), negate
1122        Real:  quot, rem, div, mod, recip, (/), truncate
1123        Float: (**), logBase, sqrt, tan, tanh
1124]
1125[Move error messages out of INLINEd default methods
1126simonpj@microsoft.com**20091029135118
1127 Ignore-this: 9e35dc947f94827a3529eb53a41575fd
1128 
1129 No need to duplicate the error generation!
1130]
1131[Exploit now-working default-method INLINE pragmas for Data.Bits
1132simonpj@microsoft.com**20091029135041
1133 Ignore-this: 8adf225f31ca7a3181ee087e9e4fe535
1134 
1135 * Add INLINE pragmas to default methods for class Bits
1136 
1137 * Remove redundant instance methods elsewhere, now that
1138   the default method will do the job
1139]
1140[Tidy up and comment imports
1141simonpj@microsoft.com**20091029134414
1142 Ignore-this: bf2be31035de975d8995e988933cc940
1143]
1144[Inline foldr and (.) when applied to two arguments not three
1145simonpj@microsoft.com**20091029134335
1146 Ignore-this: fccb6f3e90e15f44cb465814be85ede2
1147 
1148 The new INLINE story is (by design) arity-sensitive, so we must
1149 put fewer argument on the LHS for foldr and (.)
1150]
1151[dirUtils.c no longer available
1152Malcolm.Wallace@cs.york.ac.uk**20091013093833]
1153[Make hGetContents throw an exception if an error is encountered
1154Simon Marlow <marlowsd@gmail.com>**20091012152955
1155 Ignore-this: 9f7a7176193eab25c9daaacd9261f2de
1156 
1157 Strictly speaking this breaks Haskell 98 compatibility, which requires
1158 hGetContents to just end the lazy stream silently if an error is
1159 encountered.  However, for a few reasons we think it will make
1160 everyone's life a bit easier if we make this change
1161 
1162  1. Errors will be a lot more common in GHC 6.12.1, in the form
1163     of Unicode decoding errors.
1164 
1165  2. When Haskell 98 was designed, we didn't know how to throw
1166     exceptions from inside lazy I/O, but now we do.
1167 
1168  3. If anyone is actually relying on the previous behaviour, their
1169     code is arguably broken.
1170]
1171[Re-instate System.Console.Getopt for nhc98 builds.
1172Malcolm.Wallace@cs.york.ac.uk**20091013092843
1173 Although it was split out of base a while back, that change was
1174 reverted for ghc soon afterwards, but nhc98 never noticed.
1175]
1176[Roll back "Another instance of nhc98's strange import semantics."
1177Ian Lynagh <igloo@earth.li>**20091009185618
1178 Fri Oct  9 14:50:51 BST 2009  Malcolm.Wallace@cs.york.ac.uk
1179 GHC (correctly) warns about the unused import, which breaks the validate
1180 build.
1181]
1182[Roll back "Cope with nhc98's (occasionally-strange) import semantics"
1183Ian Lynagh <igloo@earth.li>**20091009184704
1184 Fri Oct  9 14:43:51 BST 2009  Malcolm.Wallace@cs.york.ac.uk
1185 GHC (correctly) warns about the unused import, which breaks the validate
1186 build.
1187]
1188[It seems that nhc98 needs defaulting in Data.Fixed.
1189Malcolm.Wallace@cs.york.ac.uk**20091009135242]
1190[Another instance of nhc98's strange import semantics.
1191Malcolm.Wallace@cs.york.ac.uk**20091009135051]
1192[Make Data.Functor compatible with non-GHC compilers.
1193Malcolm.Wallace@cs.york.ac.uk**20091009134821]
1194[Cope with nhc98's (occasionally-strange) import semantics.
1195Malcolm.Wallace@cs.york.ac.uk**20091009134351]
1196[Fix gratuitous breakage of nhc98 in System.IO.
1197Malcolm.Wallace@cs.york.ac.uk**20091009134001]
1198[Fix gratuitous breakage of nhc98 in Control.Exception.Base.
1199Malcolm.Wallace@cs.york.ac.uk**20091009133615]
1200[Fix gratuitous breakage of non-GHC in Data.Fixed.
1201Malcolm.Wallace@cs.york.ac.uk**20091009133330]
1202[Fix gratuitous breakage for non-GHC in Data.Bits.
1203Malcolm.Wallace@cs.york.ac.uk**20091009133257]
1204[Use UTF-32LE instead of UTF32LE
1205Simon Marlow <marlowsd@gmail.com>**20091006100207
1206 Ignore-this: 7f881e36543d250ef848c9f60d67655a
1207 The latter is not recognised by some iconv implementations.
1208]
1209[Strip any Byte Order Mark (BOM) from the front of decoded streams.
1210Ben.Lippmeier@anu.edu.au*-20090930084229
1211 Ignore-this: d0d0c3ae87b31d71ef1627c8e1786445
1212 When decoding to UTF-32, Solaris iconv inserts a BOM at the front
1213 of the stream, but Linux iconv doesn't.
1214]
1215[use UTF32BE/UTF32LE instead of UCS-4/UCS-4LE
1216Simon Marlow <marlowsd@gmail.com>**20091005101554
1217 Ignore-this: 2aef5e9bec421e714953b7aa1bdfc1b3
1218]
1219[Strip any Byte Order Mark (BOM) from the front of decoded streams.
1220Ben.Lippmeier@anu.edu.au**20090930084229
1221 Ignore-this: d0d0c3ae87b31d71ef1627c8e1786445
1222 When decoding to UTF-32, Solaris iconv inserts a BOM at the front
1223 of the stream, but Linux iconv doesn't.
1224]
1225[Add traceEvent :: String -> IO ()
1226Simon Marlow <marlowsd@gmail.com>**20090925141257
1227 Ignore-this: 8b1888bbf9682ffba13f815b6000e4b1
1228 For emitting an event via the RTS tracing framework
1229]
1230[Fix the error message when flushing the read buffer of a non-seekable Handle
1231Simon Marlow <marlowsd@gmail.com>**20090923090536
1232 Ignore-this: 4342026df93759d99480f4e13f80a492
1233]
1234[Fix #3534: No need to flush the byte buffer when setting binary mode
1235Simon Marlow <marlowsd@gmail.com>**20090923090445
1236 Ignore-this: 625817ed7ae2c12291eb993a99dc640a
1237]
1238[Use let !y = x in .. x .. instead of seq in $! and evaluate (#2273)
1239Simon Marlow <marlowsd@gmail.com>**20090916140454]
1240[make some Applicative functions into methods, and split off Data.Functor (proposal #3335)
1241Ross Paterson <ross@soi.city.ac.uk>**20090915173109
1242 Ignore-this: a0cff4de6dfdbcbd56a66101bc4855a9
1243 
1244 The following functions
1245 
1246     (<$) :: Functor f => a -> f b -> f a
1247     (*>) :: Applicative f => f a -> f b -> f b
1248     (<*) :: Applicative f => f a -> f b -> f a
1249     some :: Alternative f => f a -> f [a]
1250     many :: Alternative f => f a -> f [a]
1251 
1252 are moved into the corresponding classes, with the existing implementations
1253 as default definitions.  This gives people creating instances the option of
1254 defining specialized implementations of these functions, though they should
1255 be equivalent to the default definitions.
1256 
1257 Although (<$) is now a method of the Functor class, it is hidden in the
1258 re-export by the Prelude, Control.Monad and Monad.  The new module
1259 Data.Functor exposes the full class, plus the function (<$>).  These are
1260 also re-exported by Control.Applicative.
1261]
1262[On Windows, use the console code page for text file encoding/decoding.
1263Judah Jacobson <judah.jacobson@gmail.com>**20090913022126
1264 Ignore-this: 86c2f2db8ef92b751599795d3195187b
1265 
1266 We keep all of the code page tables in the module
1267 GHC.IO.Encoding.CodePage.Table.  That file was generated automatically
1268 by running codepages/MakeTable.hs; more details are in the comments at the
1269 start of that script.
1270 
1271 Storing the lookup tables adds about 40KB to each statically linked executable;
1272 this only increases the size of a "hello world" program by about 7%.
1273 
1274 Currently we do not support double-byte encodings (Chinese/Japanese/Korean), since
1275 including those codepages would increase the table size to 400KB.  It will be
1276 straightforward to implement them once the work on library DLLs is finished.
1277]
1278[Fix "init" docs: the input list need not be finite. Fixes trac #3465
1279Ian Lynagh <igloo@earth.li>**20090911210437]
1280[Bump base version to 4.2.0.0
1281Ian Lynagh <igloo@earth.li>**20090911153913]
1282[Address #3310
1283Simon Marlow <marlowsd@gmail.com>**20090830152850
1284 Ignore-this: 40c7f7c171ee299a83092fd360a952b7
1285 
1286  - Rename BlockedOnDeadMVar   -> BlockedIndefinitelyOnMVar
1287  - Rename BlockedIndefinitely -> BlockedIndefinitelyOnSTM
1288  - instance Show BlockedIndefinitelyOnMVar is now
1289      "blocked indefinitely in an MVar operation"
1290  - instance Show BlockedIndefinitelyOnSTM is now
1291      "blocked indefinitely in an STM transaction"
1292 
1293 clients using Control.OldException will be unaffected (the new
1294 exceptions are mapped to the old names).  However, for base4-compat
1295 we'll need to make a version of catch/try that does a similar
1296 mapping.
1297]
1298[Fix unicode conversion for MSB architectures
1299Ben.Lippmeier@anu.edu.au**20090830130028
1300 This fixes the SPARC/Solaris build.
1301]
1302[Fix #3441: detect errors in partial sequences
1303Simon Marlow <marlowsd@gmail.com>**20090830075909
1304 Ignore-this: d12a75d95e0cae5eb1555266810ec281
1305]
1306[Fix hWaitForInput
1307Simon Marlow <marlowsd@gmail.com>**20090827152116
1308 Ignore-this: 2550e911f1a4d4357a5aa8d1764238ce
1309 It was erroneously waiting when there were bytes to decode waiting in
1310 the byte buffer.
1311]
1312[fix debugging code
1313Simon Marlow <marlowsd@gmail.com>**20090827150628
1314 Ignore-this: e1c82fdc19a22e247cd69ff6fa11921d
1315]
1316[Allow for configurable iconv include and library locations.
1317Matthias Kilian <kili@outback.escape.de>**20090826154406
1318 Ignore-this: be95fab611a5534cf184b508964ed498
1319 This should help to fix the build on OpenBSD.
1320]
1321[typo in comment
1322Simon Marlow <marlowsd@gmail.com>**20090826085252
1323 Ignore-this: 1903ee0f354157a6ed3871c100f6b1b9
1324]
1325[un-hide some modules from the Haddock docs
1326Simon Marlow <marlowsd@gmail.com>**20090825152457
1327 Ignore-this: dce6606f93cf977fb24ebe99082dfa62
1328]
1329[Apply fix for #1548, from squadette@gmail.com
1330Simon Marlow <marlowsd@gmail.com>**20090819120700
1331 Ignore-this: 31c237c46a6445f588ed4b8c51bb6231
1332]
1333[improvements to Data.Fixed: instances for Typeable and Data, more predefined types
1334Ashley Yakeley <ashley@semantic.org>**20090812055058
1335 Ignore-this: feeece36d5632f02a05d137d2a39ab78
1336]
1337[Fix "Cabal check" warnings
1338Ian Lynagh <igloo@earth.li>**20090811215856]
1339[Add a GHC.Constants module; fixes trac #3094
1340Ian Lynagh <igloo@earth.li>**20090809183252]
1341[Apply proposal #3393
1342Ian Lynagh <igloo@earth.li>**20090809134717
1343 Add openTempFileWithDefaultPermissions and
1344 openBinaryTempFileWithDefaultPermissions.
1345]
1346[Add some more C wrappers; patch from Krister Walfridsson
1347Ian Lynagh <igloo@earth.li>**20090807200631
1348 Fixes 21 testsuite errors on NetBSD 5.99.
1349]
1350[Fixing configure for autoconf 2.64
1351Alexander Dunlap <alexander.dunlap@gmail.com>**20090805060748
1352 Ignore-this: 992ab91ae3d68c12dbb265776e33e243
1353]
1354[add INLINE toList
1355Ross Paterson <ross@soi.city.ac.uk>**20090806142853
1356 Ignore-this: aba16aabb17d5dca44f15d188945680e
1357 
1358 In anticipation of the fixing of #2353.
1359]
1360[fix a copyright
1361Simon Marlow <marlowsd@gmail.com>**20090805134045
1362 Ignore-this: b0ffbdd38fbba121e8bcba37c4082a60
1363]
1364[Tweak the BufferedIO class to enable a memory-mapped file implementation
1365Simon Marlow <marlowsd@gmail.com>**20090805134036
1366 Ignore-this: ec67d7a0a6d977438deaa342503f77e0
1367 We have to eliminate the assumption that an empty write buffer can be
1368 constructed by setting the buffer pointers to zero: this isn't
1369 necessarily the case when the buffer corresponds to a memory-mapped
1370 file, or other in-memory device implementation.
1371]
1372[Deprecate Control.OldException
1373Ian Lynagh <igloo@earth.li>**20090804143910]
1374[Windows build fix, following RTS tidyup
1375Simon Marlow <marlowsd@gmail.com>**20090803131121
1376 Ignore-this: ce862fb91c2b234211a8757f98690778
1377]
1378[Updates to follow the RTS tidyup
1379Simon Marlow <marlowsd@gmail.com>**20090801220743
1380 Ignore-this: 6e92412df93a66c12d75344053d5634
1381 C functions like isDoubleNaN moved here (primFloat.c)
1382]
1383[Move the instances of Functor and Monad IO to GHC.Base, to avoid orphans
1384Simon Marlow <marlowsd@gmail.com>**20090722102130
1385 Ignore-this: a7d85ac0025d559674249de0108dbcf4
1386]
1387[move "instance Exception Dynamic" so it isn't an orphan
1388Simon Marlow <marlowsd@gmail.com>**20090721093854
1389 Ignore-this: 5ede91ecfec2112c91b699d4de87cd02
1390]
1391[Add integer-simple as a build option
1392Ian Lynagh <igloo@earth.li>**20090722013151]
1393[Use shift[LR]Integer in the Bits Integer instance
1394Ian Lynagh <igloo@earth.li>**20090721222440]
1395[depend directly on integer-gmp, rather than indirecting through integer
1396Ian Lynagh <igloo@earth.li>**20090721185228]
1397[Improve the index checking for array accesses; fixes #2120 #2669
1398Ian Lynagh <igloo@earth.li>**20090719153228
1399 As well as checking that offset we are reading is actually inside the
1400 array, we now also check that it is "in range" as defined by the Ix
1401 instance. This fixes confusing behaviour (#2120) and improves some error
1402 messages (#2669).
1403]
1404[Make chr say what its argument was, if it's a bad argument
1405Ian Lynagh <igloo@earth.li>**20090718151049]
1406[remove unused warning
1407Simon Marlow <marlowsd@gmail.com>**20090715124416
1408 Ignore-this: 31f613654089d0f4a44363946087b41e
1409]
1410[warning fix: -fno-implicit-prelude -> -XNoImplicitPrelude
1411Simon Marlow <marlowsd@gmail.com>**20090715122839
1412 Ignore-this: dc8957249731d5bcb71c01899e5adf2b
1413]
1414[Add hGetEncoding :: Handle -> IO (Maybe TextEncoding)
1415Simon Marlow <marlowsd@gmail.com>**20090715122519
1416 Ignore-this: 14c3eff996db062da1199739781e4708
1417 as suggested during the discussion on the libraries list
1418]
1419[Add more documentation to mkTextEncoding
1420Simon Marlow <marlowsd@gmail.com>**20090715122414
1421 Ignore-this: 97253b2624267df3a246a18121e8ea81
1422 noting that "//IGNORE" and "//TRANSLIT" suffixes can be used with GNU
1423 iconv.
1424]
1425[Add the utf8_bom codec
1426Simon Marlow <marlowsd@gmail.com>**20090715122257
1427 Ignore-this: 1c9396cd805201fe873a39382ced79c7
1428 as suggested during the discussion on the libraries list.
1429]
1430[Export Unicode and newline functionality from System.IO; update Haddock docs
1431Simon Marlow <marlowsd@gmail.com>**20090713113104
1432 Ignore-this: c3f017a555335aa55d106253393f72e2
1433]
1434[add a comment about the non-workingness of CHARBUF_UTF16
1435Simon Marlow <marlowsd@gmail.com>**20090707124406
1436 Ignore-this: 98d00411b68d688b3b4cffc9507b1f35
1437]
1438[Fix build on Windows
1439Ian Lynagh <igloo@earth.li>**20090711004351]
1440[Fix some "warn-unused-do-bind" warnings where we want to ignore the value
1441Ian Lynagh <igloo@earth.li>**20090710204513]
1442[Use throwErrnoIfMinus1_ when calling getrusage
1443Ian Lynagh <igloo@earth.li>**20090710204221]
1444[Remove an unused import
1445Ian Lynagh <igloo@earth.li>**20090710153345]
1446[reportStackOverflow now returns IO ()
1447Ian Lynagh <igloo@earth.li>**20090710153257
1448 It used to do "return undefined" to return IO a.
1449]
1450[GHC.Conc.reportError now returns IO ()
1451Ian Lynagh <igloo@earth.li>**20090710152646
1452 It used to return IO a, by "return undefined".
1453]
1454[Fix some "warn-unused-do-bind" warnings where we want to ignore the value
1455Ian Lynagh <igloo@earth.li>**20090710152526]
1456[Minor SampleVar refactoring
1457Ian Lynagh <igloo@earth.li>**20090710151438]
1458[Fix "warn-unused-do-bind" warnings in GHC/IO/Handle/Text.hs
1459Ian Lynagh <igloo@earth.li>**20090710122905]
1460[Fix some "warn-unused-do-bind" warnings where we just want to ignore the result
1461Ian Lynagh <igloo@earth.li>**20090710005638]
1462[Use the result of writeCharBuf in GHC/IO/Encoding/Latin1.hs too
1463Ian Lynagh <igloo@earth.li>**20090710004032]
1464[Minor code tidyups in GHC.Conc
1465Ian Lynagh <igloo@earth.li>**20090710003801]
1466[Fix "warn-unused-do-bind" warning in GHC.Conc
1467Ian Lynagh <igloo@earth.li>**20090710003530
1468 If we fail to communicate with the IO manager then we print a warning
1469 using debugErrLn from the ghc-prim package.
1470]
1471[Fix "warn-unused-do-bind" warnings in System.Posix.Internals
1472Ian Lynagh <igloo@earth.li>**20090709164546]
1473[Fix "warn-unused-do-bind" warnings where we really do want to ignore the result
1474Ian Lynagh <igloo@earth.li>**20090709163912]
1475[Add back imports needed on Windows
1476Ian Lynagh <igloo@earth.li>**20090707181924]
1477[Use the result of writeCharBuf
1478Simon Marlow <marlowsd@gmail.com>**20090706133303
1479 Ignore-this: 52288dd559bf4c4f313df6197091d935
1480   
1481 This only makes a difference when CHARBUF_UTF16 is in use, which it
1482 normally isn't.  I suspect CHARBUF_UTF16 doesn't currently work for
1483 other reasons (CHARBUF_UTF16 was an experiment before I wrote the
1484 GHC.IO.Encoding.UTF* codecs), but this patch at least makes it
1485 slightly closer to working.
1486]
1487[Remove unused imports
1488Ian Lynagh <igloo@earth.li>**20090707115810]
1489[Remove unused imports from base
1490simonpj@microsoft.com**20090706111842
1491 Ignore-this: f9b5f353e3bb820f787c56d615b28765
1492 
1493 These unused imports are detected by the new unused-import code
1494 
1495]
1496[Add 'eof' to Text.ParserCombinators.ReadP
1497simonpj@microsoft.com**20090706111801
1498 Ignore-this: 2aea7b848e00c894761bc4011adaa95d
1499 
1500 Add a ReadP parser that succeeds at the end of input. Very useful!
1501 
1502]
1503[Remove some cruft from Data.HashTable
1504Ian Lynagh <igloo@earth.li>**20090706181630]
1505[Don't export CLDouble for GHC; fixes trac #2793
1506Ian Lynagh <igloo@earth.li>**20090705155120
1507 We never really supported CLDouble (it was a plain old double underneath),
1508 and pretending that we do does more harm than good.
1509]
1510[a byte between 0x80 and 0xBF is illegal immediately (#3341)
1511Simon Marlow <marlowsd@gmail.com>**20090702081415
1512 Ignore-this: dc19ef59a1a21118d5a7dd38aa2f611c
1513]
1514[avoid a warning
1515Simon Marlow <marlowsd@gmail.com>**20090630084134
1516 Ignore-this: c92a45ee216faf01327feae9fe06d6e2
1517]
1518[Add a wrapper for libiconv.
1519Matthias Kilian <kili@outback.escape.de>**20090629183634
1520 Ignore-this: 23c6047c0d71b745b495cc223574a47f
1521]
1522[#include <sys/times.h> if we have it (should fix build problems)
1523Simon Marlow <marlowsd@gmail.com>**20090629085351
1524 Ignore-this: a35e93b37ca9595c73460243180f4b9d
1525]
1526[set binary mode for existing FDs on Windows (fixes some GHCi test failures)
1527Simon Marlow <marlowsd@gmail.com>**20090626120522
1528 Ignore-this: 580cf636e9c77d8427aff6861d089481
1529]
1530[Move directory-related stuff to the unix package
1531Simon Marlow <marlowsd@gmail.com>**20090625120325
1532 Ignore-this: b997b3cbce0a46ca87ad825bbdc0a411
1533 now that it isn't used on Windows any more.
1534]
1535[TAG 2009-06-25
1536Ian Lynagh <igloo@earth.li>**20090625160056]
1537Patch bundle hash:
1538714937003210778fd24f2f5d0ac4738cf9ec3d47