Ticket #2013: 2013.patch

File 2013.patch, 74.6 KB (added by simonmar, 7 years ago)

new patch

2New patches:
4[Attempt to work around #2013: lack of MAP_32BIT on x86_64-*bsd
5Simon Marlow <[email protected]>**20080529144012
6 Patch derived from the one attached to the ticket by mboes
7] {
8hunk ./rts/Linker.c 62
9-#if defined(ia64_HOST_ARCH) || defined(openbsd_HOST_OS) || defined(linux_HOST_OS) || defined(freebsd_HOST_OS)
10+#if defined(ia64_HOST_ARCH) || defined(linux_HOST_OS) || defined(freebsd_HOST_OS) || defined(netbsd_HOST_OS) || defined(openbsd_HOST_OS)
11hunk ./rts/Linker.c 67
12-#if defined(openbsd_HOST_OS) || defined(linux_HOST_OS) || defined(freebsd_HOST_OS)
13+#if defined(linux_HOST_OS) || defined(freebsd_HOST_OS) || defined(netbsd_HOST_OS) || defined(openbsd_HOST_OS)
14hunk ./rts/Linker.c 1190
15+/* Link objects into the lower 2Gb on x86_64.  GHC assumes the
16+ * small memory model on this architecture (see gcc docs,
17+ * -mcmodel=small).
18+ *
19+ * MAP_32BIT not available on OpenBSD/amd64
20+ * In the absence of a MAP_32BIT flag to mmap() we map objects one
21+ * after the other starting from a fixed location in memory.
22+ */
23+#if defined(x86_64_HOST_ARCH)
25+# if defined(MAP_32BIT)
26+#  define EXTRA_MAP_FLAGS MAP_32BIT
27+#  define INIT_MAP_ADDR NULL
28+# else
30+#  define INIT_MAP_ADDR (void *)0x40000000L
31+# endif
35+# define EXTRA_MAP_FLAGS 0
36+# define INIT_MAP_ADDR NULL
40hunk ./rts/Linker.c 1228
41-   void *map_addr = NULL;
42+   static void *map_addr = INIT_MAP_ADDR;
43hunk ./rts/Linker.c 1290
44+#define ROUND_DOWN(x,size) (x & ~(size - 1))
45hunk ./rts/Linker.c 1307
47+   oc->plt = mmap(map_addr, n, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
48hunk ./rts/Linker.c 1317
49-   /* Link objects into the lower 2Gb on x86_64.  GHC assumes the
50-    * small memory model on this architecture (see gcc docs,
51-    * -mcmodel=small).
52-    *
53-    * MAP_32BIT not available on OpenBSD/amd64
54-    */
55-#if defined(x86_64_HOST_ARCH) && defined(MAP_32BIT)
58-#define EXTRA_MAP_FLAGS 0
61hunk ./rts/Linker.c 1326
62+   map_addr += n;
63hunk ./rts/Linker.c 2614
64+#if !defined(freebsd_HOST_OS)
65hunk ./rts/Linker.c 2619
67hunk ./rts/Linker.c 2792
68+    int pagesize;
69hunk ./rts/Linker.c 2794
70-    if ( x86_64_bounce_buffer == NULL ||
71+    pagesize = getpagesize();
73+    if ( x86_64_bounce_buffer == NULL ||
74hunk ./rts/Linker.c 2798
75-       x86_64_bounce_buffer =
76-           mmap(NULL, X86_64_BB_SIZE * sizeof(x86_64_bounce),
77-                PROT_EXEC|PROT_READ|PROT_WRITE,
79+#ifdef MAP_32BIT
80+           x86_64_bounce_buffer =
81+               mmap(NULL, X86_64_BB_SIZE * sizeof(x86_64_bounce),
82+                    PROT_EXEC|PROT_READ|PROT_WRITE,
83+                    MAP_PRIVATE|EXTRA_MAP_FLAGS|MAP_ANONYMOUS, -1, 0);
85+#define X86_64_BOUNCE_BUFFER_TOP 0x80000000L;
86+           x86_64_bounce *map_addr;
88+           x86_64_bounce_buffer = x86_64_bounce_buffer ?
89+                   x86_64_bounce_buffer : (x86_64_bounce *)X86_64_BOUNCE_BUFFER_TOP;
90+           map_addr = x86_64_bounce_buffer - X86_64_BB_SIZE;
91+           map_addr = ROUND_DOWN((int)map_addr, pagesize);
92+           /* In the absence of MAP_32BIT we allocate the bounce
93+            * buffers at a fixed address, one after the other,
94+            * starting from the top and growing downwards. */
95+           x86_64_bounce_buffer =
96+               mmap(map_addr, X86_64_BB_SIZE * sizeof(x86_64_bounce),
97+                    PROT_EXEC|PROT_READ|PROT_WRITE,
98+                    MAP_PRIVATE|EXTRA_MAP_FLAGS|MAP_ANONYMOUS, -1, 0);
100hunk ./rts/Linker.c 2820
101-           barf("x86_64_high_symbol: mmap failed");
102+           barf("x86_64_high_symbol: mmap failed at %p", x86_64_bounce_buffer);
107[FIX #2164: check for ThreadRelocated in isAlive()
108Simon Marlow <[email protected]>**20080528063937]
109[We also need to define _XOPEN_SOURCE in order to get a putenv prototype
110Ian Lynagh <[email protected]>**20080527171035]
111[also define _POSIX_C_SOURCE=200112L to fix unix package buid problems
112Simon Marlow <[email protected]>**20080527113329
113 STABLE only; the HEAD doesn't use header files in via-C mode and
114 doesn't suffer from this breakage.
116[document :source command for GHCi, point to Haskell wiki
117[email protected]**20080501205252
119        as discussed in this thread:
120        http://www.haskell.org/pipermail/glasgow-haskell-users/2008-April/014614.html
123[Ensure runhaskell is rebuild in stage2
124Manuel M T Chakravarty <[email protected]>**20080522044900]
125[Fix the build when we don't have editline (e.g. on Windows)
126Ian Lynagh <[email protected]>**20080523163325]
127[Do some stack fiddling in stg_unblockAsyncExceptionszh_ret
128Ian Lynagh <[email protected]>**20080523032508
129 This fixes a segfault in #1657
131[MERGED: Improve the treatment of 'seq' (Trac #2273)
132Ian Lynagh <[email protected]>**20080521212031
134  Trac #2273 showed a case in which 'seq' didn't cure the space leak
135  it was supposed to.  This patch does two things to help
137  a) It removes a now-redundant special case in Simplify, which
138     switched off the case-binder-swap in the early stages.  This
139     isn't necessary any more because FloatOut has improved since
140     the Simplify code was written.  And switching off the binder-swap
141     is harmful for seq.
143  However fix (a) is a bit fragile, so I did (b) too:
145  b) Desugar 'seq' specially.  See Note [Desugaring seq (2)] in DsUtils
146     This isn't very robust either, since it's defeated by abstraction,
147     but that's not something GHC can fix; the programmer should use
148     a let! instead.
150 [email protected]**20080516085149
152[Document ghc-pkg find-module, substring matching, and multi-field selection
153[email protected]**20080501152700
155        Documentation and examples taken from
156        - ghc-pkg/Main.hs usageHeader
157        - patch: FIX 1463 (implement 'ghc-pkg find-module')
158        - patch: FIX #1839, #1463, by supporting ghc-pkg bulk queries
159                        with substring matching
163[bump GHC's maximum stack size to 64Mb (see #2002)
164Simon Marlow <[email protected]>**20080519125333]
165[sort the output of :show packages
166Simon Marlow <[email protected]>**20080520084221]
167[FIX #1955: confusion between .exe.hp and .hp suffixes for heap profiles
168Simon Marlow <[email protected]>**20080519125101
169 Now we use <prog>.hp and <prog>.prof consistently.
171[Teach push-all how to send as well
172Ian Lynagh <[email protected]>**20080517142112]
173[Enable -prof -threaded (#886)
174Simon Marlow <[email protected]>**20080228111631
175 It turns out that -prof -threaded works (modulo some small changes),
176 because all the data structures used in profiling are only accessed by
177 one thread at a time, at long as we don't use +RTS -N2 or higher.  So
178 this patch enables the use of -prof -threaded, but an error is given
179 if you ask for more than one CPU with +RTS -N.
181[MERGED: FIX #2014: Template Haskell w/ mutually recursive modules
182Ian Lynagh <[email protected]>**20080517151512
183 Try to load interfaces in getLinkDeps
184 Simon Marlow <[email protected]>**20080515134515
186[FIX #2257: timer_settime() hangs during configure
187Simon Marlow <[email protected]>**20080516130045
188 On a 2.6.24 Linux kernel, it appears that timer_settime() for
189 CLOCK_REALTIME is sometimes hanging for a random amount of time when
190 given a very small interval (we were using 1ns).  Using 1ms seems to
191 be fine.  Also I installed a 1-second timeout to catch hangs in the
192 future.
194[Fix a division-by-zero when +RTS -V0 is given
195Ian Lynagh <[email protected]>**20080426184355
196 In delayzh_fast we act as if tickInterval was 50, not 0.
198[MERGED: Fix sin/cos/tan on x86; trac #2059
199Ian Lynagh <[email protected]>**20080515132538
200  If the value is > 2^63 then we need to work out its value mod 2pi,
201  and apply the operation to that instead.
202 Ian Lynagh <[email protected]>**20080503000841
204[MERGED: FIX #2276: foreign import stdcall "&foo" doesn't work
205Ian Lynagh <[email protected]>**20080515131449
206  This turned out not to be too hard, just a matter of figuring out the
207  correct argument list size by peeking inside FunPtr's type argument,
208  and in the C backend we have to emit an appropriate prototype for the label.
209 Simon Marlow <[email protected]>**20080514082422
211 Only partaially merged, as per this comment in #2276:
212     This can be merged, but omitting the changes to PprC and CLabel
213     which aren't necessary on the stable branch.
215[Tag the pointer in the FUN_STATIC case of evacuate
216Ian Lynagh <[email protected]>**20080515021810
217 Fixes trac #1657. 6.8 branch only as Simon Marlow says he will fix it
218 differently in the HEAD as part of his GC changes.
220[MERGED: change topHandlerFastExit to topHandler, so the terminal state gets restored (#2228)
221Ian Lynagh <[email protected]>**20080515000211
222 Simon Marlow <[email protected]>**20080429222442
224[MERGED: FIX #1641: don't add auto sccs to compiler-generated bindings
225Ian Lynagh <[email protected]>**20080514230409
226  I also changed con2tag_Foo and related names to follow the standard
227  practice of prefixing $ to compiler-generated names, so now we have
228  $con2tag_Foo.
229 Simon Marlow <[email protected]>**20080513084400
231[MERGED: don't turn off stdin/stdout buffering after loading a module with ghc -e (#2228)
232Ian Lynagh <[email protected]>**20080514220344
233 Simon Marlow <[email protected]>**20080429222409
235[MERGED: FIX #1288: GHCi wasn't adding the @n suffix to stdcalls on Windows
236Ian Lynagh <[email protected]>**20080514213942
237 Simon Marlow <[email protected]>**20080514092742
239[Fix an assertion
240Ian Lynagh <[email protected]>**20080426110115
241 We were checking that a pointer was correctly tagged, but after we had
242 untagged it.
244[Check tag bits on the fun pointer of a PAP
245Simon Marlow <[email protected]>**20071126160420]
246[Use zipLazy from Util in VectType, rather than defining our own lazy_zip
247Ian Lynagh <[email protected]>**20080513202154]
248[Rewrite zipLazy to be warning-free for GHC 6.4
249Ian Lynagh <[email protected]>**20080513193901]
250[Define _BSD_SOURCE in Stg.h
251Ian Lynagh <[email protected]>**20080514183147
252 Otherwise _ISOC99_SOURCE makes the prototypes of functions like ftruncate
253 disappear.
255[Use SLIT rather than sLit on the 6.8 branch
256Ian Lynagh <[email protected]>**20080514150831]
257[typo in rules example. spotted by vixey@#haskell
258Don Stewart <[email protected]>**20080512182435]
259[doc tweak
260Simon Marlow <[email protected]>**20080512104030]
261[FIX #2234: don't generate <prog>.prof unless we're going to put something in it
262Simon Marlow <[email protected]>**20080512104020]
263[FIX #1861: floating-point constants for infinity and NaN in via-C
264Simon Marlow <[email protected]>**20080512103847]
265[Tell the mangler how to mangle for amd64/freebsd; fixes trac #2072
266Ian Lynagh <[email protected]>**20080511182011]
267[Make darcs-all act on all repos in libraries/, not just boot/extra libs
268Ian Lynagh <[email protected]>**20080502174753]
269[When validating, configure with "--prefix=`pwd`/inst"
270Ian Lynagh <[email protected]>**20080502155649
271 This means a validate build can be installed locally.
272 `pwd`/inst probably won't give a useful value on all platforms (in
273 particular there are probably some Windows configurations it doesn't
274 work for), but I don't think it will ever make the build fail.
276[FIX #1933: use a better test for timer_create()
277Simon Marlow <[email protected]>**20080429212945]
278[MERGED: Fix Trac #1969: perfomance bug in the specialiser
279Ian Lynagh <[email protected]>**20080430154544
280 [email protected]**20080428155711
282  The specialiser was using a rather brain-dead representation for
283  UsageDetails, with much converting from lists to finite maps and
284  back.  This patch does some significant refactoring.  It doesn't
285  change the representation altogether, but it does eliminate the
286  to-and-fro nonsense.
288  It validates OK, but it's always possible that I have inadvertently
289  lost specialisation somewhere, so keep an eye out for any run-time
290  performance regressions.
292  Oh, and Specialise is now warning-free too.
294[Improve documentation of RULES pragmas
295[email protected]**20080430082431]
296[Fix a non-exhaustive pattern in the 6.8 branch; fixes trac #2069
297Ian Lynagh <[email protected]>**20080427210250]
298[Add :list to ghci's :? help; fixes trac #2217
299Ian Lynagh <[email protected]>**20080427190049]
300[Fix an error if an SCC name contains a space; fixes trac #2071
301Ian Lynagh <[email protected]>**20080427114808]
302[MERGED: Spelling fixes in glasgow_exts.xml
303Ian Lynagh <[email protected]>**20080427150027
304 Samuel Bronson <[email protected]>**20080415232626
305  Also adds a <para></para> element and replaces an occurance of SGML
306  with XML...
308[Fix int64ToInteger 0xFFFFFFFF00000000 on 32bit machine; trac #2223
309Ian Lynagh <[email protected]>**20080424131526
310 Patch from Mike Gunter.
312[MERGED: Fix Trac #2141: invalid record update
313Ian Lynagh <[email protected]>**20080423185620
314 [email protected]**20080402132057
316   See Note [Record field lookup] in TcEnv.  The fix here
317   is quite straightforward.
319[MERGED: Fix #2044 (:printing impredicatively typed things)
320Ian Lynagh <[email protected]>**20080423180908
321 pepe <[email protected]>**20080421171322
322  Switching to boxyUnify should be enough to fix this.
324[Fixing HPCTIXDIR problem with mkdir usage on Windows
325[email protected]**20080411220510]
326[Add clarifying comments about unsafeCoerce
327[email protected]**20080421152130]
328[FIX #2197: an update frame might point to an IND_OLDGEN
329Simon Marlow <[email protected]>**20080411173404]
330[Fix Trac #2179: error message for main
331[email protected]**20080403173746
333 A short-cut to generate the (runMainIO main) wrapper turned out
334 to make a bad error message.  This should fix it.
337[Adding environment variable HPCTIXDIR, a directory to place tix results.
338[email protected]**20080408232450]
339[Fixing hpc combine and hpc map to use the correct help message
340[email protected]**20080408232032]
341[Derive a valid Ix instance for data Foo = Foo Int Int
342Ian Lynagh <[email protected]>**20080330182813
343 The old one didn't satisfy the axioms. See trac #2158 for details.
345[If unregisterised, link with -optl-Wl,--relax on IA64
346Ian Lynagh <[email protected]>**20080316214104
347 This fixes part of trac #856
349[MERGED: Fix a space leak in :trace (trac #2128)
350Ian Lynagh <[email protected]>**20080316213210
351 Ian Lynagh <[email protected]>**20080316211748
352  We were doing lots of cons'ing and tail'ing without forcing the tails,
353  so were building up lots of thunks.
355[When concatenating variables in Makefile, strip spaces in case one is empty
356Ian Lynagh <[email protected]>**20080315141751
357 Otherwise "$(A) $(B)" will not be equal to "" even if A and B are empty.
358 Trac #856.
360[If we are failing due to a warning and -Werror, say so
361Ian Lynagh <[email protected]>**20080316195636
362 Fixes trac #1893, based on a patch from Daniel Franke.
364[Remove uses of addFreeTyVars
365Ian Lynagh <[email protected]>**20080315155027
366 This optimisation actually make things a bit slower on average, as
367 measured by nofib. The example in #1136 in particular suffers from high
368 memory usage. Therefore we no longer do the optimisation.
370[Add a missing endif to the bindist Makefile
371Ian Lynagh <[email protected]>**20080305221136]
372[documentation fix: change flag -frules-off to -fno-rewrite-rules
373[email protected]**20080309191911]
374[Tweaks to stack squeezing
375Simon Marlow <[email protected]>**20080207122445
377 1. We weren't squeezing two frames if one of them was a marked update
378    frame.  This is easy to fix.
380 2. The heuristic to decide whether to squeeze was a little
381    conservative.  It's worth copying 3 words to save an update frame.
384[Fix Trac #783: improve short-cutting literals in the type checker
385[email protected]**20080306134734
387 The Inst.shortCutIntLit mechanism in the type checker was missing cases
388 where a floating-point literal was given without an explicit decimal point.
390 As a result, programs with lots of floating-point literals (without decimals)
391 ended up with massive Static Reference Tables.  This is not cool.  See
392 comments with Trac #783 for details.
396[Fix Trac #2138: print the 'stupid theta' of a data type
397[email protected]**20080306134651]
398[Fix bashisms; patch from Bernie Pope
399Ian Lynagh <[email protected]>**20080305134556]
400[Improve no-type-signature warning
401Ian Lynagh <[email protected]>**20080305011242
402 Instead of
403    Warning: Definition but no type signature for `.+.'
404             Inferred type: .+. :: forall a. a
405 we now say
406     Warning: Definition but no type signature for `.+.'
407              Inferred type: (.+.) :: forall a. a
409[Fix typo
410Ian Lynagh <[email protected]>**20080302151339]
411[In bindists, look in the right place to see if we have provided docs
412Ian Lynagh <[email protected]>**20080302140408
413 Fixes trac #1971: unjustified warning about documentation
415[MERGED: Fix Trac #2114: error reporting for 'forall' without appropriate flags
416Ian Lynagh <[email protected]>**20080302132608
417 [email protected]**20080222182646]
419[MERGED: Fix Trac #2111: improve error handling for 'rec' in do-notation
420Ian Lynagh <[email protected]>**20080301150947
421 [email protected]**20080226175635
423  We were not dealing correctly with all the combinations of
424     do notation
425     mdo notation
426     arrow notation
427  in combination with 'rec' Stmts.
429  I think this patch sorts it out.
431[MERGED: Fix Trac #1899; missing equality check in typechecker's constraint simplifier
432Ian Lynagh <[email protected]>**20080301145306
433 [email protected]**20080226174743
435  This patch fixes a missing equality check (uifying type variable b=b) in
436  the new constraint simplifier in TcTyFuns.  As it stands, we were making
437  'b' point to itself, which subsequently led to an infinite loop when
438  zonking.  Test is T1899.hs
440[Fix Trac #2130: improve derived Ord for primmitive types
441[email protected]**20080228121106
443 This patch does two things:
445 * (Minor): in TcGenDeriv.careful_compare_Case, test for less-than before
446   equality. This should reduce the number of dynamic tests, and also gives
447   more scope for optimisation, since less-than tells us more than equality.
449 * (More important): add special-case derived code for data types that are
450   simple wrappers of primitive types. See
451        Note [Comparision of primitive types]
452   This fixes Trac 2130.
454 However see also Trac #2132, which is not addressed here.
457[Fix Trac #2126: re-order tests (easy)
458[email protected]**20080227163202]
459[FIX #2122: file locking bug
460Simon Marlow <[email protected]>**20080226104650
461 Second and subsequent readers weren't being inserted into the
462 fd->lock hash table, which meant that the file wasn't correctly
463 unlocked when the Handles were closed.
465[Improve error messages from type-checking data constructors
466[email protected]**20080222182514
468 This addresses Trac #2112
471[Fix Trac #2082
472[email protected]**20080219173410]
473[Wibble to error message (stmt of do block or comprehension)
474[email protected]**20080228083104]
475[Add comments explaining flags
476[email protected]**20080228082935]
477[documentation improvements from Frederik Eaton
478Simon Marlow <[email protected]>**20080226102612]
479[Add and use seqBitmap when constructing SRTs
480Ian Lynagh <[email protected]>**20080227144505
481 This roughly halves memory usage when compiling
482     module Foo where
484     foo :: Double -> Int
485     foo x | x == 1 = 1
486     ...
487     foo x | x == 500 = 500
488 without optimisation.
490[Remove gaw comment
491[email protected]**20080226175305]
493Ian Lynagh <[email protected]>**20080220170650]
494[FIX #2073: Don't add empty lines to GHCI's history
495Ian Lynagh <[email protected]>**20080224143256]
496[FIX #1977: Check to see if $(bindir) is in the path
497Ian Lynagh <igloo@earth.li>**20080224134334
498 Before telling the user to add it, when installing a bindist, check to
499 see if $(bindir) is already in the path.
501[CprAnalyse is warning-free
502Ian Lynagh <igloo@earth.li>**20080220170843]
503[Fix #1984: missing context switches
504Simon Marlow <simonmar@microsoft.com>**20080219102212]
505[FIX #2023: substitute for $topdir in haddockInterfaces and haddockHTMLs
506Simon Marlow <simonmar@microsoft.com>**20080209143648]
507[Make the parser a bit stricter
508Ian Lynagh <igloo@earth.li>**20080218175514]
509[seq what we actually want to seq, not the seq'ing function
510Ian Lynagh <igloo@earth.li>**20080213131857]
511[Fix warnings in FiniteMap
512Ian Lynagh <igloo@earth.li>**20080218200408]
513[MERGED: Print better error message for reading External Core
514Ian Lynagh <igloo@earth.li>**20080224153936
515 Tim Chevalier <chevalier@alum.wellesley.edu>**20080217223844
517  GHC panicked with a "Prelude.undefined" error message if you tried to
518  compile a .hcr file. Since support for reading ExternalCore simply does
519  not exist, I added an error message to say that.
521  Please merge to 6.8. Thanks.
524Ian Lynagh <igloo@earth.li>**20080219204117]
525[Whitespace only
526Ian Lynagh <igloo@earth.li>**20080218111941]
527[Whitespace only
528Ian Lynagh <igloo@earth.li>**20080218105909]
529[Suggest -XRecordWildCards rather than -frecord-dot-dot
530Ian Lynagh <igloo@earth.li>**20080224141652]
531[Suggest -XRecordPuns rather than -frecord-puns; fixes #2088
532Ian Lynagh <igloo@earth.li>**20080224141401]
533[MERGED: Generate foo(void) rather than foo() in FFI stub files
534Ian Lynagh <igloo@earth.li>**20080217193919
535 Ian Lynagh <igloo@earth.li>**20080216141031
536  -Wstrict-prototypes warns about the latter.
537  Patch from pcc in trac #2100.
539[Fix building of ghc-pkg on the 6.8 branch
540Ian Lynagh <igloo@earth.li>**20080217181815]
541[This goes with the patch for #1839, #1463
542Simon Marlow <simonmar@microsoft.com>**20080122161811]
543[MERGED: FIX #1839, #1463, by supporting ghc-pkg bulk queries with substring matching
544Ian Lynagh <igloo@earth.li>**20080217180358
545 claus.reinke@talk21.com**20080121161744
547     - #1839 asks for a ghc-pkg dump feature, #1463 for the ability
548       to query the same fields in several packages at once.
550     - this patch enables substring matching for packages in 'list',
551       'describe', and 'field', and for modules in find-module. it
552       also allows for comma-separated multiple fields in 'field'.
553       substring matching can optionally ignore cases to avoid the
554       rather unpredictable capitalisation of packages.
556     - the patch is not quite as full-featured as the one attached
557       to #1839, but avoids the additional dependency on regexps.
558       open ended substrings are indicated by '*' (only the three
559       forms prefix*, *suffix, *infix* are supported)
561     - on windows, the use of '*' for package/module name globbing
562       leads to conflicts with filename globbing: by default, windows
563       programs are self-globbing, and bash adds another level of
564       globbing on top of that. it seems impossible to escape '*'
565       from both levels of globbing, so we disable default globbing
566       for ghc-pkg and ghc-pkg-inplace. users of bash will still
567       have filename globbing available, users of cmd won't.
569     - if it is considered necessary to reenable filename globbing
570       for cmd users, it should be done selectively, only for
571       filename parameters. to this end, the patch includes a
572       glob.hs program which simply echoes its parameters after
573       filename globbing. see the commented out glob command in
574       Main.hs for usage or testing.
576     - this covers both tickets, and permits for the most common
577       query patterns (finding all packages contributing to the
578       System. hierarchy, finding all regex or string packages,
579       listing all package maintainers or haddock directories,
580       ..), which not only i have wanted to have for a long time.
582       examples (the quotes are needed to escape shell-based
583       filename globbing and should be omitted in cmd.exe):
585         ghc-pkg list '*regex*' --ignore-case
586         ghc-pkg list '*string*' --ignore-case
587         ghc-pkg list '*gl*' --ignore-case
588         ghc-pkg find-module 'Data.*'
589         ghc-pkg find-module '*Monad*'
590         ghc-pkg field '*' name,maintainer
591         ghc-pkg field '*' haddock-html
592         ghc-pkg describe '*'
595[FIX 1463 (implement 'ghc-pkg find-module')
598 - the ticket asks for a module2package lookup in ghc-pkg
599   (this would be useful to have in cabal, as well)
601 - we can now ask which packages expose a module we need,
602   eg, when preparing a cabal file or when getting errors
603   after package reorganisations:
605   $ ./ghc-pkg-inplace find-module Var
606   c:/fptools/ghc/driver/package.conf.inplace:
607       (ghc-6.9.20071106)
609   $ ./ghc-pkg-inplace find-module Data.Sequence
610   c:/fptools/ghc/driver/package.conf.inplace:
611       containers-0.1
613 - implemented as a minor variation on listPackages
615 (as usual, it would be useful if one could combine
616 multiple queries into one)
619[Make hasktags -Wall clean
620Ian Lynagh <igloo@earth.li>**20080215160309]
621[Whitespace only
622Ian Lynagh <igloo@earth.li>**20080215155122]
623[Fix building hasktags
624Ian Lynagh <igloo@earth.li>**20080215154415]
625[find module names, fix for get constructor names, find class names as well, sort ctag files
627[added TODO item and link to alternatives on wiki
629[fix syntax-error output for :show
630Simon Marlow <simonmar@microsoft.com>**20080122144923]
631[Fix #2062: foldr1 problem in hpc tool
633[Adjust error message (Trac #2079)
635[Fix build on 6.8 branch
636Ian Lynagh <igloo@earth.li>**20080217145330]
637[FIX #2080: an optimisation to remove a widening was wrong
638Simon Marlow <simonmar@microsoft.com>**20080208124219]
639[remove a bogus assertion
640Simon Marlow <simonmar@microsoft.com>**20080207143805]
641[Fix typo in message
642Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080212052219]
643[Fixed warnings in parser/Lexer.x
644Twan van Laarhoven <twanvl@gmail.com>**20080204021131
646 The -w flag can not be removed, because alex also generates code with lots of warnings.
648[Fixed warnings in parser/ParserCoreUtils
649Twan van Laarhoven <twanvl@gmail.com>**20080204022226]
650[Fixed warnings in hsSyn/Convert, except for incomplete pattern matches
651Twan van Laarhoven <twanvl@gmail.com>**20080204000510]
652[Fixed warnings in types/Unify
653Twan van Laarhoven <twanvl@gmail.com>**20080203224228]
654[Fixed warnings in ndpFlatten/FlattenInfo
655Twan van Laarhoven <twanvl@gmail.com>**20080203224159]
656[cleaned up all warnings (and added many type signatures) in Outputable
657Norman Ramsey <nr@eecs.harvard.edu>**20070912102526]
658[Fixed warnings in vectorise/VectCore
659Twan van Laarhoven <twanvl@gmail.com>**20080203224003]
660[Fixed warnings in deSugar/DsExpr, except for incomplete pattern matches
661Twan van Laarhoven <twanvl@gmail.com>**20080203214848]
662[Fixed warnings in deSugar/MatchCon, except for incomplete pattern matches
663Twan van Laarhoven <twanvl@gmail.com>**20080203210402]
664[MERGED: Use command-dependent word break characters for tab completion in ghci.  Fixes bug #998.
665Ian Lynagh <igloo@earth.li>**20080217120443
666 judah.jacobson@gmail.com**20080109003606
668[MERGED: Fix filename completion by adding trailing spaces/slashes manually.
669Ian Lynagh <igloo@earth.li>**20080217105725
670 judah.jacobson@gmail.com**20080110221928
672[Allow skipping "make clean" or only re-running the testsuite in validate
673Ian Lynagh <igloo@earth.li>**20080210162842]
674[FIX #1821 (Parser or lexer mess-up)
676[MERGED: Refactor Haddock options
677Ian Lynagh <igloo@earth.li>**20080213175337
678 Thu Nov  1 13:17:57 GMT 2007  David Waern <davve@dtek.chalmers.se>
679   * Refactor Haddock options
681   This patch renames the DOC_OPTIONS pragma to OPTIONS_HADDOCK. It also
682   adds "-- # ..."-style Haddock option pragmas, for compatibility with
683   code that use them.
685   Another change is that both of these two pragmas behave like
686   OPTIONS_GHC, i.e. they are only allowed at the top of the module, they
687   are ignored everywhere else and they are stored in the dynflags. There is
688   no longer any Haddock options in HsSyn.
690   Please merge this to the 6.8.2 branch when 6.8.1 is out, if appropriate.
693Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211120624]
694[MERGED: Mac installer: make Uninstaller a bit more robust
695Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211094146]
696[MERGED: Mac installer: add comprehensive licencing information
697Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211062430]
698[MERGED: Force -s on ar in xcode builds
699Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211062152]
700[MERGED: Mac installer: added support for full docs
701Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080210082938]
702[MERGED: Fixed permissions and other cleanup in Mac installer package
703Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080210082825]
704[MERGED: Added Uninstaller
705Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080210082255]
706[MERGED: Most of installer for framework on system volume
707Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080210082121]
708[MERGED: xcode build target for fixed /Library/Frameworks inst
709Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080210081908
710 - Also moving all MacOS-specific Makefile components into
711   distrib/MacOS/Makefile
713[Split into two types of Mac installer specs
714Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080205052504]
715[Lambda logo for packages
716Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080205052017
717 - This image is in the public domain, cf
718   http://en.wikipedia.org/wiki/Image:Greek_lc_lamda_thin.svg
720[First stab at an installer package for the Mac
721Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080202134853
722 - GHC as a Mac framework
723 - I tried to make a package where the user could choose whether to install
724   in /Library/Frameworks or ~/Library/Frameworks (to allow installation for
725   non-admins).  However, that doesn't work well without including the whole
726   distribution twice as the decision as to whether the admin password needs
727   to be entered is made at packaging time (not at install time).
729[Eliminate external GMP dependencies
730Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071217093839
731 - Ensure the stage1 compiler uses ghc's own GMP library on Mac OS
732 - Need to rebuild installPackage and ifBuildable with stage1 compiler as they
733   go into bindists
735[Merge the FAST_STRING_NOT_NEEDED stuff onto the 6.8 branch
736Ian Lynagh <igloo@earth.li>**20080207175312]
737[MERGED: FIX #1838, #1987: change where GHCi searches for config files
738Ian Lynagh <igloo@earth.li>**20080207175258
739 Simon Marlow <simonmar@microsoft.com>**20080123143207
741  6.6 behaviour:
742    - ./.ghci
743    - $HOME/.ghci
745  6.8.[12] behaviour:
746    - ./.ghci
747    - Windows: c:/Documents and Settings/<user>/.ghci
748    - Unix: $HOME/.ghci
750  6.10 (and 6.8.3 when this is merged):
751    - ./.ghci
752    - Windows: c:/Documents and Settings/<user>/Application Data/ghc/ghci.conf
753    - Unix: $HOME/.ghc/ghci.conf
754    - $HOME/.ghci
756  We will need to document this in the 6.8.3 release notes because it
757  may affect Windows users who have adapted their setup to 6.8.[12].
759[FIX #2049, another problem with the module context on :reload
760Simon Marlow <simonmar@microsoft.com>**20080121145935
761 The previous attempt to fix this (#1873, #1360) left a problem that
762 occurred when the first :load of the program failed (#2049). 
764 Now I've implemented a different strategy: between :loads, we remember
765 all the :module commands, and just replay them after a :reload.  This
766 is in addition to remembering all the package modules added with
767 :module, which is orthogonal.
769 This approach is simpler than the previous one, and seems to do the
770 right thing in all the cases I could think of.  Let's hope this is the
771 last bug in this series...
773[FIX #1767 :show documentation claimed too much
774Simon Marlow <simonmar@microsoft.com>**20080122152943
775 Also put the :help docs back within 80 columns
777[Show CmdLineError exceptions as "<command line>: ..."
778Simon Marlow <simonmar@microsoft.com>**20080123163145
779 instead of something like "ghc-6.8.2: ...", which causes problems in
780 the test suite.  In any case, "<command line>" seems a more
781 appropriate context for these errors, the only question is whether
782 we're using CmdLineError incorrectly anywhere.
784[FIX #1750: in isBrokenPackage, don't loop if the deps are recursive
785Simon Marlow <simonmar@microsoft.com>**20080123160703]
786[FIX #1750: throw out mutually recursive groups of packages
787Simon Marlow <simonmar@microsoft.com>**20080123160635]
788[A couple more parser tweaks
789Ian Lynagh <igloo@earth.li>**20080125143421]
790[Parser tweak
791Ian Lynagh <igloo@earth.li>**20080125145847]
792[Fix warnings in coreSyn/CoreTidy
793Twan van Laarhoven <twanvl@gmail.com>**20080118165559]
794[Fixed warnings in types/Class
795Twan van Laarhoven <twanvl@gmail.com>**20080125160438]
796[Fixed warnings in coreSyn/CoreFVs, except for incomplete pattern matches
797Twan van Laarhoven <twanvl@gmail.com>**20080125160716]
798[Fixed warnings in coreSyn/PprExternalCore
799Twan van Laarhoven <twanvl@gmail.com>**20080125162418]
800[Fixed warnings in coreSyn/MkExternalCore, except for incomplete pattern matches
801Twan van Laarhoven <twanvl@gmail.com>**20080126012807]
802[Fixed warnings in types/Coercion, except for incomplete pattern matches
803Twan van Laarhoven <twanvl@gmail.com>**20080126190735]
804[Fixed warnings in basicTypes/Var
805Twan van Laarhoven <twanvl@gmail.com>**20080126191939]
806[Fixed warnings in basicTypes/Id
807Twan van Laarhoven <twanvl@gmail.com>**20080126192817]
808[Fixed warnings in basicTypes/Literal, except for incomplete pattern matches
809Twan van Laarhoven <twanvl@gmail.com>**20080126193209]
810[Fixed warnings in basicTypes/BasicTypes
811Twan van Laarhoven <twanvl@gmail.com>**20080126194255]
812[Fixed warnings in simplCore/OccurAnal
813Twan van Laarhoven <twanvl@gmail.com>**20080126194426]
814[Fixed warnings in coreSyn/ExternalCore
815Twan van Laarhoven <twanvl@gmail.com>**20080126194759]
816[Fixed warnings in basicTypes/Demand
817Twan van Laarhoven <twanvl@gmail.com>**20080126195929]
818[Fixed warnings in utils/Digraph
819Twan van Laarhoven <twanvl@gmail.com>**20080126200754]
820[Fixed warnings in simplStg/StgStats, except for incomplete pattern matches
821Twan van Laarhoven <twanvl@gmail.com>**20080126230830]
822[Fixed warnings in simplStg/SRT, except for incomplete pattern matches
823Twan van Laarhoven <twanvl@gmail.com>**20080126230900]
824[Fixed warnings in basicTypes/RdrName
825Twan van Laarhoven <twanvl@gmail.com>**20080126202104]
826[Fixed warnings in basicTypes/OccName
827Twan van Laarhoven <twanvl@gmail.com>**20080126202737]
828[Fixed warnings in types/FunDeps
829Twan van Laarhoven <twanvl@gmail.com>**20080126203050]
830[Fixed warnings in simplStg/SimplStg
831Twan van Laarhoven <twanvl@gmail.com>**20080126230805]
832[Fixed warnings in types/TyCon
833Twan van Laarhoven <twanvl@gmail.com>**20080126215800]
834[Fixed warnings in types/Type, except for incomplete pattern matches
835Twan van Laarhoven <twanvl@gmail.com>**20080126214126]
836[Make comb[234] strict
837Ian Lynagh <igloo@earth.li>**20080124183149]
838[Tell happy to be strict
839Ian Lynagh <igloo@earth.li>**20080124165214]
840[Fixed warnings in stgSyn/StgSyn
841Twan van Laarhoven <twanvl@gmail.com>**20080126221010]
842[Fixed warnings in types/Generics
843Twan van Laarhoven <twanvl@gmail.com>**20080126222817]
844[Fixed warnings in types/FamInstEnv
845Twan van Laarhoven <twanvl@gmail.com>**20080126231426]
846[Fixed warnings in types/InstEnv
847Twan van Laarhoven <twanvl@gmail.com>**20080126231732]
848[Fixed warnings in profiling/CostCentre, except for incomplete pattern matches
849Twan van Laarhoven <twanvl@gmail.com>**20080126232841]
850[Move spiltDmdTy within module (no change in code)
852[Make the Parser Monad's return strict
853Ian Lynagh <igloo@earth.li>**20080124155827]
854[Get a bit of sharing
855Ian Lynagh <igloo@earth.li>**20080124152000]
856[A touch more strictness in the parser
857Ian Lynagh <igloo@earth.li>**20080124150137]
858[Add a bit of strictness to the parser
859Ian Lynagh <igloo@earth.li>**20080124145311]
860[Make sL strict in /both/ arguments to L
861Ian Lynagh <igloo@earth.li>**20080124151223]
862[Fixed warnings in hsSyn/HsDecls, except for incomplete pattern matches
863Twan van Laarhoven <twanvl@gmail.com>**20080127004046]
864[Fixed warnings in hsSyn/HsImpExp, except for incomplete pattern matches
865Twan van Laarhoven <twanvl@gmail.com>**20080127004254]
866[Fixed warnings in hsSyn/HsDoc
867Twan van Laarhoven <twanvl@gmail.com>**20080127004359]
868[Fixed warnings in hsSyn/HsTypes
869Twan van Laarhoven <twanvl@gmail.com>**20080127004419]
870[Fixed warnings in main/ErrUtils
871Twan van Laarhoven <twanvl@gmail.com>**20080127015419]
872[Warning clean up
873Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080131024845]
874[Some tweaks to the building from source section
875Simon Marlow <simonmar@microsoft.com>**20080129091132]
876[Strictness tweaks
877Ian Lynagh <igloo@earth.li>**20080203024836]
878[Strictness tweaks
879Ian Lynagh <igloo@earth.li>**20080125174347]
880[Strictness tweaks
881Ian Lynagh <igloo@earth.li>**20080124183142]
883Ian Lynagh <igloo@earth.li>**20080203003929]
884[Whitespace only
885Ian Lynagh <igloo@earth.li>**20080202213936]
886[Whitespace only
887Ian Lynagh <igloo@earth.li>**20080123174153]
888[Fix warnings in deSugar/DsBinds
889Ian Lynagh <igloo@earth.li>**20080130144014]
890[Monadify deSugar/DsBinds: use do, return, applicative, standard monad functions
891Twan van Laarhoven <twanvl@gmail.com>**20080117164746]
892[Add missing (error) case in pprConDecl
894[Fix typo where I forgot the new substitution
896[Make seqAlts actually seq everything
897Ian Lynagh <igloo@earth.li>**20080203134321]
898[Fix warnings in coreSyn/CoreSyn
899Twan van Laarhoven <twanvl@gmail.com>**20080118165506]
900[FIX #2047: Windows (and older Unixes): align info tables to 4 bytes, not 2
901Simon Marlow <simonmar@microsoft.com>**20080205101425
902 Perhaps in the past '.align 2' meant align to 4 bytes, but nowadays it
903 means align to 2 bytes.  The compacting collector requires info tables
904 to be aligned to 4 bytes, because it stores tag bits in the low 2
905 bits.
907 This only affects -fvia-C - the native code generator was already
908 emitting the correct alignment.  The incorrect alignment might well
909 have been adversely affecting performance with -fvia-C on Windows.
911[White space only
913[Typo in phase-control documentation
915[Fix catching exit exceptions in ghc -e
916Ian Lynagh <igloo@earth.li>**20080120170236]
917[Tweak runghc
918Ian Lynagh <igloo@earth.li>**20080120184639]
919[Fix exception message with ghc -e
920Ian Lynagh <igloo@earth.li>**20080121104142
921 When running with ghc -e, exceptions should claim to be from the program
922 that we are running, not ghc.
924[Support multiple -e flags
925Ian Lynagh <igloo@earth.li>**20080119223036]
926[Fix ghc -e :main (it was enqueuing the main function, but not running it)
927Ian Lynagh <igloo@earth.li>**20080119220044]
928[Fix giving an error if we are given conflicting mode flags
929Ian Lynagh <igloo@earth.li>**20080119212602]
930[MERGED: Add :run and tweak :main
931Ian Lynagh <igloo@earth.li>**20080119183414
932 Sat Jan 19 08:49:23 PST 2008  Ian Lynagh <igloo@earth.li>
933   * Add :run and tweak :main
934   You can now give :main a Haskell [String] as an argument, e.g.
935   :main ["foo", "bar"]
936   and :run is a variant that takes the name of the function to run.
937   Also, :main now obeys the -main-is flag.
939[Make MacFrameworks a subdirectory of distrib, since it isn't used in the normal building process.
941[Add scripts for building GMP.framework and GNUreadline.framework (OS X).
943[Use -framework-path flags during the cc phase.  Fixes trac #1975.
945[Improve the error when :list can't find any code to show
946Ian Lynagh <igloo@earth.li>**20080118225655]
947[pass -no-user-package-conf to ghc-inplace
948Simon Marlow <simonmar@microsoft.com>**20080104162840]
949[More verbose error reporting in mk/target.mk
950Clemens Fruhwirth <clemens@endorphin.org>**20071231170715]
951[Complain sensibly if you try to use scoped type variables in Template Haskell
954 This fixes Trac #2024; worth merging onto 6.8 branch.
957[Tweak the splitter
958Ian Lynagh <igloo@earth.li>**20080116195612
959 We were generating a label ".LnLC7", which the splitter was confusing
960 with a literal constant (LC). The end result was the assembler tripping
961 up on ".Ln.text".
963[Fix warnings in utils/Maybes
964Ian Lynagh <igloo@earth.li>**20080113142347]
965[Fix warnings in utils/UniqSet
966Ian Lynagh <igloo@earth.li>**20080113142604]
967[Fix warnings in utils/State
968Ian Lynagh <igloo@earth.li>**20080113131658]
969[Fix warnings in utils/OrdList
970Ian Lynagh <igloo@earth.li>**20080113132042]
971[Fix warnings in utils/FastMutInt
972Ian Lynagh <igloo@earth.li>**20080113131830]
973[MERGED: Make the treatment of equalities more uniform
974Ian Lynagh <igloo@earth.li>**20080113141653
975 simonpj@microsoft.com**20080107142306
977  This patch (which is part of the fix for Trac #2018) makes coercion variables
978  be handled more uniformly.  Generally, they are treated like dictionaries
979  in the type checker, not like type variables, but in a couple of places we
980  were treating them like type variables.  Also when zonking we should use
981  zonkDictBndr not zonkIdBndr.
983[Fix Trac #2017
985[Fix Trac #2018: float-out was ignoring the kind of a coercion variable
988 The float-out transformation must handle the case where a coercion
989 variable is free, which in turn mentions type variables in its kind.
990 Just like a term variable really.
992 I did a bit of refactoring at the same time.
994 Test is tc241
996 MERGE to stable branch
999[Fix 2030: make -XScopedTypeVariables imply -XRelaxedPolyRec
1002 The type checker doesn't support lexically scoped type variables
1003 unless we are using the RelaxedPolyRec option.  Reasons: see
1004 Note [Scoped tyvars] in TcBinds.
1006 So I've changed DynFlags to add this implication, improved the
1007 documentation, and simplified the code in TcBinds somewhat.
1008 (It's longer but only because of comments!)
1012[Fix warnings in utils/Bag.lhs
1013Ian Lynagh <igloo@earth.li>**20080113002037]
1014[Add GMP_INCLUDE_DIRS in a couple of places
1015Ian Lynagh <igloo@earth.li>**20080112234215
1016 Fixes the build on OpenBSD (trac #2009). Based on a patch from kili.
1018[MERGED: Only initialise readline if we are connected to a terminal
1019Ian Lynagh <igloo@earth.li>**20080113124405
1020 Ian Lynagh <igloo@earth.li>**20080113124107
1021  Patch from Bertram Felgenhauer <int-e@gmx.de>
1023[MERGED: don't initialize readline needlessly
1024Ian Lynagh <igloo@earth.li>**20080113124259
1025 Ian Lynagh <igloo@earth.li>**20080112155413
1026  Readline.initialize spills some escape sequences to stdout for some terminal
1027  types, potentially spoiling  ghc -e  output. So don't initialize readline
1028  unless we're working interactively on a terminal.
1029  Patch from Bertram Felgenhauer <int-e@gmx.de>
1031[Add instructions for building docs to README
1032Ian Lynagh <igloo@earth.li>**20080106215723]
1033[update to track .lhs-boot file
1034Simon Marlow <simonmar@microsoft.com>**20070912103417]
1035[Include ~/Library/Frameworks in the framework searchpath
1036Ian Lynagh <igloo@earth.li>**20071217233457
1037 Patch from Christian Maeder
1039[Make ghcii.sh executable
1040Ian Lynagh <igloo@earth.li>**20071217195734]
1041[Don't rely on distrib/prep-bin-dist-mingw being executable
1042Ian Lynagh <igloo@earth.li>**20071217195554]
1043[MERGED: always try to remove the new file before restoring the old one (#1963)
1044Ian Lynagh <igloo@earth.li>**20080106145228
1045 Simon Marlow <simonmar@microsoft.com>**20071214123345
1047[MERGED: FIX #1963: catch Ctrl-C and clean up properly
1048Ian Lynagh <igloo@earth.li>**20080106145219
1049 Simon Marlow <simonmar@microsoft.com>**20071213154056
1051[Fix imports for the 6.8 branch
1052Ian Lynagh <igloo@earth.li>**20080105153813]
1053[Do not consult -XGADTs flag when pattern matching on GADTs
1056 See Trac #2004, and Note [Flags and equational constraints] in TcPat.
1059[Document SOURCE pragma; clarify TH behavior for mutually-recurive modules (Trac #1012)
1061[Remove -funfolding-update-in-place flag documentation
1064 This flag does nothing, and should have been removed ages ago. (GHC
1065 no longer does update-in-place.)
1067 MERGE to 6.8 branch
1070[Fix warnings with newer gcc versions (I hope)
1071Simon Marlow <simonmar@microsoft.com>**20080103140338]
1072[FIX #1898: add a missing UNTAG_CLOSURE() in checkBlackHoles
1073Simon Marlow <simonmar@microsoft.com>**20080103112717]
1074[fix validation failure on non-i386
1075Simon Marlow <simonmar@microsoft.com>**20080102151740]
1076[expand "out of stack slots" panic to suggest using -fregs-graph, see #1993
1077Simon Marlow <simonmar@microsoft.com>**20080102150737]
1078[Add installPackage to dependencies of make.library.* as it's used by the rule
1079Clemens Fruhwirth <clemens@endorphin.org>**20071229162707]
1080[Always do 'setup makefile' before building each library
1081Simon Marlow <simonmar@microsoft.com>**20071120103329
1082 This forces preprocessing to happen, which is necessary if any of the
1083 .hsc files have been modified.  Without this change, a 'setup
1084 makefile' would be required by hand after a .hsc file changed.
1085 Fortunately 'setup makefile' isn't much extra work, and I've made it
1086 not overwrite GNUmakefile if it hasn't changed, which avoids
1087 recalculating the dependencies each time.
1089[import ord that alex secretly imported
1090Isaac Dupree <id@isaac.cedarswampstudios.org>**20071228175727]
1091[add missing import that happy -agc secretly provided
1092Isaac Dupree <id@isaac.cedarswampstudios.org>**20071227171335]
1093[correct type mistake, hidden by happy -agc coercions!
1094Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226140743]
1095[When complaining about non-rigid context, give suggestion of adding a signature
1097[Improve handling of newtypes (fixes Trac 1495)
1100 In a few places we want to "look through" newtypes to get to the
1101 representation type.  But we need to be careful that  we don't fall
1102 into an ininite loop with e.g.
1103        newtype T = MkT T
1105 The old mechansim for doing this was to have a field nt_rep, inside
1106 a newtype TyCon, that gave the "ultimate representation" of the type.
1107 But that failed for Trac 1495, which looked like this:
1108    newtype Fix a = Fix (a (Fix a))
1109    data I a = I a
1110 Then, expanding the type (Fix I) went on for ever.
1112 The right thing to do seems to be to check for loops when epxanding
1113 the *type*, rather than in the *tycon*.  This patch does that,
1114        - Removes nt_rep from TyCon
1115        - Make Type.repType check for loops
1116 See Note [Expanding newtypes] in Type.lhs.
1118 At the same time I also fixed a bug for Roman, where newtypes were not
1119 being expanded properly in FamInstEnv.topNormaliseType.  This function
1120 and Type.repType share a common structure.
1123        Ian, see if this merges easily to the branch
1124        If not, I don't think it's essential to fix 6.8
1127[Fix Trac #1981: seq on a type-family-typed expression
1130 We were crashing when we saw
1131        case x of DEFAULT -> rhs
1132 where x had a type-family type.  This patch fixes it.
1134 MERGE to the 6.8 branch.
1138[Comment only
1140[Fix nasty recompilation bug in MkIface.computeChangedOccs
1143        MERGE to 6.8 branch
1145 In computeChangedOccs we look up the old version of a Name.
1146 But a WiredIn Name doesn't have an old version, because WiredIn things
1147 don't appear in interface files at all.
1149 Result: ghc-6.9: panic! (the 'impossible' happened)
1150   (GHC version 6.9 for x86_64-unknown-linux):
1151        lookupVers1 base:GHC.Prim chr#{v}
1153 This fixes the problem.  The patch should merge easily onto the branch.
1157[Fix Trac #1988; keep the ru_fn field of a RULE up to date
1160 The ru_fn field was wrong when we moved RULES from one Id to another.
1161 The fix is simple enough.
1163 However, looking at this makes me realise that the worker/wrapper stuff
1164 for recursive newtypes isn't very clever: we generate demand info but
1165 then don't properly exploit it. 
1167 This patch fixes the crash though.
1170[Add better panic message in getSRTInfo (Trac #1973)
1172[Remove obselete code for update-in-place (which we no longer do)
1174[FIX #1980: must check for ThreadRelocated in killThread#
1175Simon Marlow <simonmar@microsoft.com>**20071217164610]
1176[More bindist-publishing fixes and refactoring
1177Ian Lynagh <igloo@earth.li>**20071218144505]
1178[Fix publishing the docs
1179Ian Lynagh <igloo@earth.li>**20071216122544]
1180[MERGED: Inline implication constraints
1181Ian Lynagh <igloo@earth.li>**20071215163315
1182 Mon Nov  5 22:08:07 GMT 2007  simonpj@microsoft.com
1184   This patch fixes Trac #1643, where Lennart found that GHC was generating
1185   code with unnecessary dictionaries.  The reason was that we were getting
1186   an implication constraint floated out of an INLINE (actually an instance
1187   decl), and the implication constraint therefore wasn't inlined even
1188   though it was used only once (but inside the INLINE).  Thus we were
1189   getting:
1191         ic = \d -> <stuff>
1192         foo = _inline_me_ (...ic...)
1194   Then 'foo' gets inlined in lots of places, but 'ic' now looks a bit
1195   big. 
1197   But implication constraints should *always* be inlined; they are just
1198   artefacts of the constraint simplifier.
1200   This patch solves the problem, by adding a WpInline form to the HsWrap
1201   type.
1203[TAG GHC 6.8.2 release
1204Ian Lynagh <igloo@earth.li>**20071215154850]
1205[Fix a bug in gen_contents_index
1206Ian Lynagh <igloo@earth.li>**20071212121154
1207 The library doc index thought that the docs were in $module.html, rather
1208 than $package/$module.html.
1210[Set RELEASE back to NO
1211Ian Lynagh <igloo@earth.li>**20071211161444]
1212[Tweak installation so it works with Solaris's sh
1213Ian Lynagh <igloo@earth.li>*-20071209140724]
1214[Prevent the binding of unboxed things by :print
1215Pepe Iborra <mnislaih@gmail.com>**20071208181830]
1216[Help the user when she tries to do :history without :trace
1217Pepe Iborra <mnislaih@gmail.com>**20071208180918
1219 Teach GHCi to show a "perhaps you forgot to use :trace?" when
1220 it finds that the user is trying to retrieve an empty :history
1223[Improve pretty-printing of InstDecl
1226 Fixes Trac #1966.
1229[Bump version number to 6.8.2 and set RELEASE=YES
1230Ian Lynagh <igloo@earth.li>**20071210142212]
1231[Tweak installation so it works with Solaris's sh
1232Ian Lynagh <igloo@earth.li>**20071209140724]
1233[Refactor gen_contents_index
1234Ian Lynagh <igloo@earth.li>**20071207183538
1235 Also fixes it with Solaris's sh, spotted by Christian Maeder
1237[BIN_DIST_INST_SUBDIR Needs to be defined in config.mk so ./Makefile can see it
1238Ian Lynagh <igloo@earth.li>**20071207121317]
1239[Improve eta reduction, to reduce Simplifier iterations
1242 I finally got around to investigating why the Simplifier was sometimes
1243 iterating so often.  There's a nice example in Text.ParserCombinators.ReadPrec,
1244 which produced:
1246 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
1247 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
1248 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
1250 No progress is being made.  It turned out that an interaction between
1251 eta-expansion, casts, and eta reduction was responsible. The change is
1252 small and simple, in SimplUtils.mkLam: do not require the body to be
1253 a Lam when floating the cast outwards. 
1255 I also discovered a missing side condition in the same equation, so fixing
1256 that is good too.  Now there is no loop when compiling ReadPrec.
1258 Should do a full nofib run though.
1261[MERGED: fix race conditions in sandboxIO (#1583, #1922, #1946)
1262Ian Lynagh <igloo@earth.li>**20071206150509
1263 Simon Marlow <simonmar@microsoft.com>**20071204114444
1264  using the new block-inheriting forkIO (#1048)
1266[Make eta reduction check more carefully for bottoms (fix Trac #1947)
1269 Eta reduction was wrongly transforming
1270        f = \x. f x
1271 to
1272        f = f
1274 Solution: don't trust f's arity information; instead look at its
1275 unfolding.  See Note [Eta reduction conditions]
1277 Almost all the new lines are comments!
1281[protect console handler against concurrent access (#1922)
1282Simon Marlow <simonmar@microsoft.com>**20071204153918]
1283[forkIO starts the new thread blocked if the parent is blocked (#1048)
1284Simon Marlow <simonmar@microsoft.com>**20071204110947]
1285[Workaround for #1959: assume untracked names have changed
1286Simon Marlow <simonmar@microsoft.com>**20071206092349
1287 This fixes the 1959 test, but will do more recompilation than is
1288 strictly necessary (but only when -O is on).  Still, more
1289 recompilation is better than segfaults, link errors or other random
1290 breakage.
1292[FIX part of #1959: declaration versions were not being incremented correctly
1293Simon Marlow <simonmar@microsoft.com>**20071206084556
1294 We were building a mapping from ModuleName to [Occ] from the usage
1295 list, using the usg_mod field as the key.  Unfortunately, due to a
1296 very poor naming decision, usg_mod is actually the module version, not
1297 the ModuleName.  usg_name is the ModuleName.  Since Version is also an
1298 instance of Uniquable, there was no type error: all that happened was
1299 lookups in the map never succeeded.  I shall rename the fields of
1300 Usage in a separate patch.
1302 This doesn't completely fix #1959, but it gets part of the way there.
1304 I have to take partial blame as the person who wrote this fragment of
1305 code in late 2006 (patch "Interface file optimisation and removal of
1306 nameParent").
1308[FIX #1110: hackery also needed when running gcc for CPP
1309Simon Marlow <simonmar@microsoft.com>**20071205150230]
1310[move FP_FIND_ROOT after the "GHC is required" check
1311Simon Marlow <simonmar@microsoft.com>**20071205101814]
1312[Change --shared to -shared in Win32 DLL docs
1314[#include ../includes/MachRegs.h rather than just MachRegs.h
1315Ian Lynagh <igloo@earth.li>**20071205170335
1316 This fixes building on NixOS. I'm not sure why it worked everywhere else,
1317 but not on NixOS, before.
1319[Fix the libraries Makefile
1320Ian Lynagh <igloo@earth.li>**20071205125015
1321     x && y
1322 is not the same as
1323     if x; then y; fi
1324 as the latter doesn't fail when x fails
1326[Copy hscolour.css into dist/... so it gets installed with the library docs
1327Ian Lynagh <igloo@earth.li>**20071205013703]
1328[Add the hscolour.css from hscolour 1.8
1329Ian Lynagh <igloo@earth.li>**20071205011733]
1330[MERGED: Reorganise TcSimplify (again); FIX Trac #1919
1331Ian Lynagh <igloo@earth.li>**20071203140443
1332 simonpj@microsoft.com**20071128173146
1334  This was a bit tricky.  We had a "given" dict like (d7:Eq a); then it got
1335  supplied to reduceImplication, which did some zonking, and emerged with
1336  a "needed given" (d7:Eq Int). That got everything confused.
1338  I found a way to simplify matters significantly.  Now reduceContext
1339     - first deals with methods/literals/dictionaries
1340     - then deals with implications
1341  Separating things in this way not only made the bug go away, but
1342  eliminated the need for the recently-added "needed-givens" results returned
1343  by checkLoop.  Hurrah.
1345  It's still a swamp.  But it's a bit better.
1347[FIX #1843: Generate different instructions on PPC
1348Ian Lynagh <igloo@earth.li>**20071203123237
1349 The old ones caused lots of
1350     unknown scattered relocation type 4
1351 errors. Patch from Chris Kuklewicz.
1353[Fix bindist creation: readline/config.mk is gone
1354Ian Lynagh <igloo@earth.li>**20071203123031]
1355[Don't default to stripping binaries when installing
1356Ian Lynagh <igloo@earth.li>**20071202195817]
1357[Add package version bumps to the release notes
1358Ian Lynagh <igloo@earth.li>**20071201180437]
1359[Move file locking into the RTS, fixing #629, #1109
1360Simon Marlow <simonmar@microsoft.com>**20071120140859
1361 File locking (of the Haskell 98 variety) was previously done using a
1362 static table with linear search, which had two problems: the array had
1363 a fixed size and was sometimes too small (#1109), and performance of
1364 lockFile/unlockFile was suboptimal due to the linear search.
1365 Also the algorithm failed to count readers as required by Haskell 98
1366 (#629).
1368 Now it's done using a hash table (provided by the RTS).  Furthermore I
1369 avoided the extra fstat() for every open file by passing the dev_t and
1370 ino_t into lockFile.  This and the improvements to the locking
1371 algorithm result in a healthy 20% or so performance increase for
1372 opening/closing files (see openFile008 test).
1374[FIX #1744: ignore the byte-order mark at the beginning of a file
1375Simon Marlow <simonmar@microsoft.com>**20071130101100]
1376[FIX #1914: GHCi forgot all the modules that were loaded before an error
1377Simon Marlow <simonmar@microsoft.com>**20071130130734]
1378[Update cabal version number used in bootstrapping
1379Duncan Coutts <duncan@haskell.org>**20071129144259]
1380[Change name of DOC_OPTIONS pragma to OPTIONS_HADDOCK
1381David Waern <david.waern@gmail.com>**20071130092506]
1382[Update ANNOUNCE for 6.8.2
1383Ian Lynagh <igloo@earth.li>**20071128224343]
1384[Add 6.8.2 release notes
1385Ian Lynagh <igloo@earth.li>**20071128222302]
1386[FIX Trac #1935: generate superclass constraints for derived classes
1389 This bug only reports a problem with phantom types, but actually
1390 there was quite a long-standing and significant omission in the
1391 constraint generation for derived classes.  See
1392 Note [Superclasses of derived instance] in TcDeriv.
1394 The test deriving-1935 tests both cases.
1398[add comment
1399Simon Marlow <simonmar@microsoft.com>**20071128111417]
1400[FIX #1916: don't try to convert float constants to int in CMM optimizer
1401Bertram Felgenhauer <int-e@gmx.de>**20071122095513]
1402[give a more useful message when the static flags have not been initialised (#1938)
1403Simon Marlow <simonmar@microsoft.com>**20071127135435]
1404[Avoid making Either String an instance of Monad in the Haddock parser
1405David Waern <david.waern@gmail.com>**20071114204050]
1406[FIX BUILD (with GHC 6.2.x): update .hi-boot file
1407Simon Marlow <simonmar@microsoft.com>**20071116101227]
1408[Fix build
1409David Waern <david.waern@gmail.com>**20071114125842
1410 I had forgot to update HaddockLex.hi-boot-6, so the build with 6.2.2
1411 failed. This fixes that.
1413[Merge from Haddock: Add <<url>> for images
1414David Waern <david.waern@gmail.com>**20071112220537
1415 A merge of this patch:
1417   Mon Aug  7 16:22:14 CEST 2006  Simon Marlow <simonmar@microsoft.com>
1418     * Add <<url>> for images
1419     Submitted by: Lennart Augustsson
1421 Please merge to the 6.8.2 branch.
1423[Merge from Haddock: Modify lexing of /../
1424David Waern <david.waern@gmail.com>**20071112023856
1426   Tue Aug 28 11:19:54 CEST 2007  Simon Marlow <simonmar@microsoft.com>
1427     * Modify lexing of /../
1428     This makes /../ more like '..', so that a single / on a line doesn't
1429     trigger a parse error.  This should reduce the causes of accidental
1430     parse errors in Haddock comments; apparently stray / characters are
1431     a common source of failures.
1433 Please merge this to the 6.8.2 branch.
1435[Merge from Haddock: allow blank lines inside code blocks
1436David Waern <david.waern@gmail.com>**20071112013439
1438   Tue Jan  9 14:14:34 CET 2007  Simon Marlow <simonmar@microsoft.com>
1439     * allow blank lines inside a @...@ code block
1441 Please merge this to the 6.8.2 branch
1443[Merge of a patch from the old Haddock branch:
1444David Waern <david.waern@gmail.com>**20071112013143
1446   Fri Jan  5 12:13:41 CET 2007  Simon Marlow <simonmar@microsoft.com>
1447     * Fix up a case of extra vertical space after a code block
1449 Please merge this to the 6.8.2 branch
1451[MERGED: fix stage 1 compilation
1452Ian Lynagh <igloo@earth.li>**20071128171145
1453 Simon Marlow <simonmar@microsoft.com>**20071106142057
1455[MERGED: GHC API: add checkAndLoadModule
1456Ian Lynagh <igloo@earth.li>**20071128151112
1457 Simon Marlow <simonmar@microsoft.com>**20071106140121
1458  Does what the name suggests: it performs the function of both
1459  checkModule and load on that module, avoiding the need to process each
1460  module twice when checking a batch of modules.  This will make Haddock
1461  and ghctags much faster.
1463  Along with this is the beginnings of a refactoring of the HscMain
1464  interface.  HscMain now exports functions for separately running the
1465  parser, typechecher, and generating ModIface and ModDetails.
1466  Eventually the plan is to complete this interface and use it to
1467  replace the existing one.
1469[Fix Trac #1913: check data const for derived types are in scope
1472 When deriving an instance, the data constructors should all be in scope.
1473 This patch checks the condition.
1477[MERGED: canonicalise the path to HsColour
1478Ian Lynagh <igloo@earth.li>**20071127205104
1479 Simon Marlow <simonmar@microsoft.com>**20071126141614
1481[FIX #1925: the interpreter was not maintaining tag bits correctly
1482Simon Marlow <simonmar@microsoft.com>**20071127122614
1483 See comment for details
1485[Rebuild utils with the stage1 compiler when making a bindist; fixes trac #1860
1486Ian Lynagh <igloo@earth.li>**20071127203959
1487 This is a bit unpleasant, as "make binary-dist" really shouldn't actually
1488 build anything, but it works.
1490[Remove the --print-docdir flag
1491Ian Lynagh <igloo@earth.li>**20071127195605
1492 It wasn't doing the right thing for bindists. Let's rethink...
1494[Consistently put www. on the front of haskell.org in URLs
1495Ian Lynagh <igloo@earth.li>**20071126215256]
1496[Fix some more URLs
1497Ian Lynagh <igloo@earth.li>**20071126214147]
1498[Tweak some URLs
1499Ian Lynagh <igloo@earth.li>**20071126194148]
1500[Fix some links
1501Ian Lynagh <igloo@earth.li>**20071126184406]
1502[Copy gmp stamps into bindists, so we don't try and rebuild gmp
1503Ian Lynagh <igloo@earth.li>**20071125211919]
1504[On Windows, Delete the CriticalSection's we Initialize
1505Ian Lynagh <igloo@earth.li>**20071125125845]
1506[On Windows, add a start menu link to the flag reference
1507Ian Lynagh <igloo@earth.li>**20071125124429]
1508[Remove html/ from the paths we put in the start menu on Windows
1509Ian Lynagh <igloo@earth.li>**20071125124150]
1510[Make ":" in GHCi repeat the last command
1511Ian Lynagh <igloo@earth.li>**20071124231857
1512 It used to be a synonym for ":r" in 6.6.1, but this wasn't documented or
1513 known about by the developers. In 6.8.1 it was accidentally broken.
1514 This patch brings it back, but as "repeat the last command", similar to
1515 pressing enter in gdb. This is almost as good for people who want it to
1516 reload, and means that it can also be used to repeat commands like :step.
1518[Don't make a library documentation prologue
1519Ian Lynagh <igloo@earth.li>**20071124211943
1520 It's far too large now, and no-one complained when 6.8.1 didn't have one.
1522[Don't put package version numbers in links in index.html
1523Ian Lynagh <igloo@earth.li>**20071124211629]
1524[Define install-strip in Makefile
1525Ian Lynagh <igloo@earth.li>**20071124205037]
1526[Define install-strip in distrib/Makefile
1527Ian Lynagh <igloo@earth.li>**20071124204803]
1528[Install gmp from bindists; fixes trac #1848
1529Ian Lynagh <igloo@earth.li>**20071124185240]
1530[(native gen) fix code generated for GDTOI on x86_32
1531Bertram Felgenhauer <int-e@gmx.de>**20071121063942
1532 See trac #1910.
1534[Put library docs in a $pkg, rather than $pkgid, directory; fixes trac #1864
1535Ian Lynagh <igloo@earth.li>**20071124171220]
1536[Copy the INSTALL hack from mk/config.mk.in into distrib/Makefile-bin-vars.in
1537Ian Lynagh <igloo@earth.li>**20071124163028
1538 configure will set INSTALL to ./install-sh if it can't find it in the path,
1539 so we need to replace the . with the path to our root.
1541[Make install-sh executable /before/ we try to find it
1542Ian Lynagh <igloo@earth.li>**20071124162450]
1543[Set mandir consistently to $(prefix)/share/man, as per trac #1879
1544Ian Lynagh <igloo@earth.li>**20071123235933]
1545[If we have hscolour then make source code links in teh haddock docs
1546Ian Lynagh <igloo@earth.li>**20071123211559]
1547[Document --info in the +RTS -? help
1548Ian Lynagh <igloo@earth.li>**20071123204352]
1549[FIX #1910: fix code generated for GDTOI on x86_32
1550Bertram Felgenhauer <int-e@gmx.de>*-20071121102627]
1551[Add -dcore-lint when validating libraries
1553[Fix Trac #1909: type of map in docs
1555[Two small typos in the flags summary (merge to 6.8 branch)
1557[FIX #1910: fix code generated for GDTOI on x86_32
1558Bertram Felgenhauer <int-e@gmx.de>**20071121102627]
1559[FIX #1847 (improve :browse! docs, fix unqual)
1562 - add example to docs, explain how to interpret
1563   output of `:browse! Data.Maybe`
1564 - print unqualified names according to current
1565   context, not the context of the target module
1568[FIX Trac #1825: standalone deriving Typeable
1571 Standalone deriving of typeable now requires you to say
1572        instance Typeable1 Maybe
1573 which is exactly the shape of instance decl that is generated
1574 by a 'deriving( Typeable )' clause on the data type decl.
1576 This is a bit horrid, but it's the only consistent way, at least
1577 for now.  If you say something else, the error messages are helpful.
1579 MERGE to 6.8 branch
1582[FIX Trac #1806: test for correct arity for datacon in infix pattern patch
1585 Happily the fix is easy; pls merge
1588[MERGED: FIX #1715: egregious bug in ifaceDeclSubBndrs
1589Ian Lynagh <igloo@earth.li>**20071122123551
1590 simonpj@microsoft.com**20071120111723
1592  ifaceDeclSubBndrs didn't have an IfaceSyn case; but with type
1593  families an IfaceSyn can introduce subordinate binders.  Result:
1594  chaos.
1596  The fix is easy though.  Merge to 6.8 branch.
1598[Improve the situation for Trac #959: civilised warning instead of a trace msg
1601 This doesn't fix the root cause of the bug, but it makes the report
1602 more civilised, and points to further info.
1605[MERGED: Try to manage the size of the text rendered for ':show bindings'
1606Pepe Iborra <mnislaih@gmail.com>**20071119111243
1607 Pepe Iborra <mnislaih@gmail.com>**20071114231601] {
1609[MERGED: wibble
1610Pepe Iborra <mnislaih@gmail.com>**20071119111109
1611   Pepe Iborra <mnislaih@gmail.com>**20071114233356] {
1613[MERGED: Make the Term ppr depth aware
1614Ian Lynagh <igloo@earth.li>**20071119111053
1615 Pepe Iborra <mnislaih@gmail.com>**20071114183417] {
1617[MERGED: GHCi debugger: added a new flag, -fno-print-binding-contents
1618Pepe Iborra <mnislaih@gmail.com>**20071119105634]
1619[MERGED: Print binding contents in :show bindings
1620Ian Lynagh <igloo@earth.li>**20071118173321
1621 Pepe Iborra <mnislaih@gmail.com>**20071006123952] {
1623[MERGE: Zonk quantified tyvars with skolems + Rejig the error messages a bit; fixes a minor bug
1626 This merges to the 6.8 branch two HEAD patches (names above).  The
1627 former "Zonk..." was for some reason partly in the branch already,
1628 which is what led to the complications.
1630 Here are the original patches:
1632 Fri Oct 19 12:56:53 BST 2007  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
1633   * Zonk quantified tyvars with skolems
1635   We used to zonk quantified type variables to regular TyVars.  However, this
1636   leads to problems.  Consider this program from the regression test suite:
1638     eval :: Int -> String -> String -> String
1639     eval 0 root actual = evalRHS 0 root actual
1641     evalRHS :: Int -> a
1642     evalRHS 0 root actual = eval 0 root actual
1644   It leads to the deferral of an equality
1646     (String -> String -> String) ~ a
1648   which is propagated up to the toplevel (see TcSimplify.tcSimplifyInferCheck).
1649   In the meantime `a' is zonked and quantified to form `evalRHS's signature.
1650   This has the *side effect* of also zonking the `a' in the deferred equality
1651   (which at this point is being handed around wrapped in an implication
1652   constraint).
1654   Finally, the equality (with the zonked `a') will be handed back to the
1655   simplifier by TcRnDriver.tcRnSrcDecls calling TcSimplify.tcSimplifyTop.
1656   If we zonk `a' with a regular type variable, we will have this regular type
1657   variable now floating around in the simplifier, which in many places assumes to
1658   only see proper TcTyVars.
1660   We can avoid this problem by zonking with a skolem.  The skolem is rigid
1661   (which we requirefor a quantified variable), but is still a TcTyVar that the
1662   simplifier knows how to deal with.
1664 Thu Nov  1 17:50:22 GMT 2007  simonpj@microsoft.com
1665   * Rejig the error messages a bit; fixes a minor bug
1667   The type checker was only reporting the first message if an equality
1668   failed to match.  This patch does a bit of refactoring and fixes the
1669   bug, which was in the bogus use of eqInstMisMatch
1670   in tcSimplify.report_no_instances.b
1672   This is really a bug in 6.8 too, so this would be good to merge across
1673   to the 6.8 branch.
1677[MERGE to 6.8: Refactor error recovery slightly
1680 Slightly rejigged from HEAD:
1682   Mostly this patch is refacoring, but it also avoids post-tc zonking if
1683   the typechecker found errors.  This is good because otherwise with
1684   DEBUG you can get the "Inventing strangely-kinded TyCon" warning.
1687[Improve pretty-printing for HsSyn
1689[warning removal
1690Simon Marlow <simonmar@microsoft.com>**20071009105138]
1691[TcTyFuns: remove some duplicate code
1692Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071004142315]
1693[Fix deferring on tyvars in TcUnify.subFunTys
1694Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071018044352]
1695[TcUnify.subFunTys must take type families into account
1696Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071017114326
1697 * A bug reported by Andrew Appleyard revealed that subFunTys did take
1698   neither type families nor equalities into account.  In a fairly obscure
1699   case there was also a coercion ignored.
1702Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071003145715]
1703[remove an incorrect assertion
1704Simon Marlow <simonmar@microsoft.com>**20071016151829]
1705[remove --define-name from the --help usage message (#1596)
1706Simon Marlow <simonmar@microsoft.com>**20071114153417
1709[Attempt at fixing #1873, #1360
1710Simon Marlow <simonmar@microsoft.com>**20071116152148
1712 I think I figured out a reasonable way to manage the GHCi context,
1713 comments welcome.
1715 Rule 1: external package modules in the context are persistent.  That
1716 is, when you say 'import Data.Maybe' it survives over :load, :add,
1717 :reload and :cd.
1719 Rule 2: :load and :add remove all home-package modules from the
1720 context and add the rightmost target, as a *-module if possible.  This
1721 is as before, and makes sense for :load because we're starting a new
1722 program; the old home-package modules don't make sense any more.  For
1723 :add, it usually does what you want, because the new target will
1724 become the context.
1726 Rule 3: any modules from the context that fail to load during a
1727 :reload are remembered, and re-added to the context at the next
1728 successful :reload.
1730 Claus' suggestion about adding the "remembered" modules to the prompt
1731 prefixed with a ! is implemented but commented out.  I couldn't
1732 decide whether it was useful or confusing.
1734 One difference that people might notice is that after a :reload where
1735 there were errors, GHCi would previously dump you in the most recent
1736 module that it loaded.  Now it dumps you in whatever subset of the
1737 current context still makes sense, and in the common case that will
1738 probably be {Prelude}.
1740[on Windows, install to a directory with spaces (test for #1828)
1741Simon Marlow <simonmar@microsoft.com>**20071115155327]
1742[FIX #1828: installing to a patch with spaces in
1743Simon Marlow <simonmar@microsoft.com>**20071115155747
1744 We have to pass the path to gcc when calling windres, which itself
1745 might have spaces in.  Furthermore, we have to pass the path to gcc's
1746 tools to gcc.  This means getting the quoting right, and after much
1747 experimentation and reading of the windres sources I found something
1748 that works: passing --use-temp-files to windres makes it use its own
1749 implementation of quoting instead of popen(), and this does what we
1750 want.  Sigh.
1752[FIX #1679: crash on returning from a foreign call
1753Simon Marlow <simonmar@microsoft.com>**20071115131635
1754 We forgot to save a pointer to the BCO over the foreign call.  Doing
1755 enough allocation and GC during the call could provoke a crash.
1757[Make pprNameLoc more robust in absence of loc information
1758Pepe Iborra <mnislaih@gmail.com>**20071114233343]
1759[Wibble to fix Trac #1901 (shorten messsage slightly)
1761[FIX Trac #1901: check no existential context in H98 mode
1763[Improve documentation of data type declarations (Trac #1901)
1765[Improve links from flag reference to the relevant section; and improve doc of RankN flags
1767[Documentation only - fix typo in flags reference
1768Tim Chevalier <chevalier@alum.wellesley.edu>**20071115055748]
1769[Make SpecConstr work again
1772 In a typo I'd written env instead of env', and as a result RULES are
1773 practically guaranteed not to work in a recursive group.  This pretty
1774 much kills SpecConstr in its tracks!
1776 Well done Kenny Lu for spotting this.  The fix is easy.
1778 Merge into 6.8 please.
1783[Accept x86_64-*-freebsd* as well as amd64-*-freebsd* in configure.ac
1784Ian Lynagh <igloo@earth.li>**20071117154502
1785 Patch from Brian P. O'Hanlon
1787[MERGE: Tidy and trim the type environment in mkBootModDetails
1788Simon Marlow <simonmar@microsoft.com>**20071123153556
1790 Should fix Trac #1833
1792 We were failing to trim the type envt in mkBootModDetails, so several
1793 functions all called (*), for example, were getting into the interface.
1794 Result chaos.  It only actually bites when we do the retyping-loop thing,
1795 which is why it's gone so long without a fix.
1797[FIX #1837: emit deprecated message for unversioned dependencies
1798Simon Marlow <simonmar@microsoft.com>**20071114153010]
1799[FIX Trac 1888; duplicate INLINE pragmas
1802 There are actually three things here
1803 - INLINE pragmas weren't being pretty-printed properly
1804 - They were being classified into too-narrow boxes by eqHsSig
1805 - They were being printed in to much detail by hsSigDoc
1807 All easy.  Test is rnfail048.
1810[Fix Trac 1865: GHCi debugger crashes with :print
1811Pepe Iborra <mnislaih@gmail.com>**20071113170113]
1812[FIX Trac 1662: actually check for existentials in proc patterns
1815 I'd fixed the bug for code that should be OK, but had forgotten to
1816 make the test for code that should be rejected!
1818 Test is arrowfail004
1821[FIX #1653 (partially): add -X flags to completion for :set
1822Simon Marlow <simonmar@microsoft.com>**20071113153257]
1823[Fix #782, #1483, #1649: Unicode GHCi input
1824Simon Marlow <simonmar@microsoft.com>**20071114151411
1825 GHCi input is now treated universally as UTF-8, except for the Windows
1826 console where we do the correct conversion from the current code
1827 page (see System.Win32.stringToUnicode).
1829 That leaves non-UTF-8 locales on Unix as unsupported, but (a) we only
1830 accept source files in UTF-8 anyway, and (b) UTF-8 is quite ubiquitous
1831 as the default locale.
1834[comments only: point to relevant bug reports
1835Simon Marlow <simonmar@microsoft.com>**20070924103323]
1836[Remove ex-extralibs from libraries/Makefile
1837Ian Lynagh <igloo@earth.li>**20071111213618]
1838[Remove the X11 and HGL libraries from extralibs
1839Ian Lynagh <igloo@earth.li>**20071111213447
1840 Don Stewart, X11 maintainer, requested we remove X11, and HGL depends on it
1841 on Linux (and we don't try to build HGL on Windows).
1843[catch up with removal of config.mk in the readline package
1844Simon Marlow <simonmar@microsoft.com>**20071107095952]
1845[FIX #1791 on stable branch
1846Simon Marlow <simonmar@microsoft.com>**20071114163945
1847 The 6.8 branch needed this fix in another place
1849[TAG 2007-11-11
1850Ian Lynagh <igloo@earth.li>**20071111164452]
1851Patch bundle hash: