This adds the utf8-string dependency so that users no longer need to encode
strings they (possibly indirectly) pass to spawn. This is the expected
behavior, since each Char in String should be an actual character.
For systems that do not use utf8 this does not help. Fixing this by using iconv
or similar libraries may be done later.
Thanks reenberg for pointing out the previous patch incorrectly warns about a
missing xmonad when the config has an error.
Also changed is "type" which as a shell builtin is more likely to exist than
"which".
Currently if there is no ghc on the path say for some reason,
xmonad.error is empty. This patch makes
it output the exitcode code when the compile process fails
without any error output. (It might be easier just to spawn
a shell to get "ghc: command not found" output for free.)
While haddock may have choked on -XGeneralizedNewtypeDeriving before, this is
no longer the case. Also this doesn't change the results with a recent haddock
(2.9.2)
In xmonad-core, this fixes a small bug that caused doIgnored windows to get
into `mapped' and never being removed from there.
In the context of xmonad-contrib, this fixes a tremendous memory leak that
could be triggered by using MouseResizableTile and UrgencyHook at the same
time. MRT would create dummy windows that would get added to `mapped' by the
reveal call in `windows'. As these were not removed (removal from `mapped' is
filtered by `isClient'), they'd stay there forever and due to an inefficiency
in UrgencyHook would eat up all memory sooner or later.
Without the change, the errors are like:
> [ unrelated error messages ]
> No constructor has all these fields: `numlockMask',
> `terminal', [every other field set]
With the change:
> `numlockMask' is not a record selector
> [ context where numlockMask is named ]
Changes include:
- compatibility with base-4 or 3 (base-2 untested) by using
extensible-exceptions. This adds an additional dependency for users of
ghc<6.10)
- list all dependencies again when -ftesting (change in Cabal-1.8.0.2)
- remove unnecessary imports
- suppress -fwarn-unused-do-bind, with appropriate Cabal-1.8 workaround,
described here:
http://www.haskell.org/pipermail/xmonad/2010-January/009554.html