[xmonad] darcs patch: XMonad.Core: rw recompilation

Don Stewart dons at galois.com
Sat May 8 16:03:57 EDT 2010


What's the motivation? And does this confuse GHC when we restart a
session (and /tmp is cleared).

gwern0:
> 1 patch for repository community.haskell.org:/srv/code/xmonad:
> 
> Sat May  8 15:57:25 EDT 2010  gwern0 at gmail.com
>   * XMonad.Core: rw recompilation
>   This diverts the intermediate *.o *.hi files to /tmp, so they don't clutter up ~/.xmonad/

Content-Description: A darcs patch for your repository!
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
> 
> 
> New patches:
> 
> [XMonad.Core: rw recompilation
> gwern0 at gmail.com**20100508195725
>  Ignore-this: 27a40e58851c92c296382b7a5e80a0cf
>  This diverts the intermediate *.o *.hi files to /tmp, so they don't clutter up ~/.xmonad/
> ] {
> hunk ./XMonad/Core.hs 446
>  recompile :: MonadIO m => Bool -> m Bool
>  recompile force = io $ do
>      dir <- getXMonadDir
> +    tmp <- getTemporaryDirectory
>      let binn = "xmonad-"++arch++"-"++os
>          bin  = dir </> binn
>          base = dir </> "xmonad"
> hunk ./XMonad/Core.hs 461
>          -- temporarily disable SIGCHLD ignoring:
>          uninstallSignalHandlers
>          status <- bracket (openFile err WriteMode) hClose $ \h ->
> - -            waitForProcess =<< runProcess "ghc" ["--make", "xmonad.hs", "-i", "-ilib", "-fforce-recomp", "-v0", "-o",binn] (Just dir)
> +            waitForProcess =<< runProcess "ghc" ["--make", "xmonad.hs", "-i", "-ilib", "-fforce-recomp", "-outputdir", tmp, "-v0", "-o",binn] (Just dir)
>                                      Nothing Nothing Nothing (Just h)
>  
>          -- re-enable SIGCHLD:
> }
> 
> Context:
> 
> [fix haddock comment being assigned to constructor instead of field
> Tomas Janousek <tomi at nomi.cz>**20100415173936
>  Ignore-this: 55ac1c5dadc88a0d7635d8952feb40a0
> ] 
> [Less refreshing in mouse-2 binding (thanks aavogt)
> Spencer Janssen <spencerjanssen at gmail.com>**20100503155017
>  Ignore-this: 5d61d6fd9a7663d0a7a1c8e2526230f7
> ] 
> [HCAr.tex: update with additions and versions
> gwern0 at gmail.com**20100502201321
>  Ignore-this: 5724b4d52ce0e748ef36c4a6f343dcfd
> ] 
> [+original HCAR entry
> gwern0 at gmail.com**20100502200252
>  Ignore-this: 9b13691977a4e96d14ebf79c8d98cfd6
> ] 
> [Replaced custom forever_ by library function
> Daniel Schoepe <asgaroth_ at gmx.de>**20090114215556] 
> [reveal: don't insert non-clients into the set of mapped windows
> Tomas Janousek <tomi at nomi.cz>**20100327214243
>  Ignore-this: 68c0a43d761e626cb9544ca386f4846d
>  
>  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.
> ] 
> [loc.hs: hlintify
> gwern0 at gmail.com**20100213231537
>  Ignore-this: c447928ce68d0a968b55af3539c979fa
> ] 
> [Various clean-ups suggested by HLint
> Spencer Janssen <spencerjanssen at gmail.com>**20100214025750
>  Ignore-this: ccaa6e774f2f8169e6083eddcffe31b6
> ] 
> [Make the --replace docs consistent
> Spencer Janssen <spencerjanssen at gmail.com>**20100213002647
>  Ignore-this: c99526bce66ae1154fbf5713622f035d
> ] 
> [Add --replace flag with documentation (issue 99).
> Adam Vogt <vogt.adam at gmail.com>**20091220183529
>  Ignore-this: c56000295b75c66309913e29e1671d88
> ] 
> [Fix compile error when using base-3 (thanks bogner).
> Adam Vogt <vogt.adam at gmail.com>**20100211063938
>  Ignore-this: 60ba65613bc746e7e88f11a7e30b050f
> ] 
> [Broadcast PropertyChange events (needed for layouts with decoration)
> Daniel Schoepe <daniel.schoepe at gmail.com>**20100113204017
>  Ignore-this: c8315f438fed66b12282c9bfe70a4d0b
> ] 
> [Rename numlockMask to numberlockMask to help users of the template config.
> Adam Vogt <vogt.adam at gmail.com>**20100118162256
>  Ignore-this: 4050ed2d1ad373386c2e2b44145f07d9
>  
>  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 ]
> ] 
> [Correct warnings with ghc-6.12
> Adam Vogt <vogt.adam at gmail.com>**20100118181532
>  Ignore-this: a48ed095b72aedec9eeb88781ace66dc
>  
>  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
> ] 
> [Add xfork: a forkProcess that works around process global state
> Spencer Janssen <spencerjanssen at gmail.com>**20091223061623
>  Ignore-this: 3f968260d8c1b6710c82566520c47c43
> ] 
> [Determine numlockMask automatically, fixes #120
> Spencer Janssen <spencerjanssen at gmail.com>**20091216012140
>  Ignore-this: d80c82dd0a23dc7a77fdc32fd2792130
> ] 
> [A few tweaks to --verbose-version
> Spencer Janssen <spencerjanssen at gmail.com>**20091208040729
>  Ignore-this: cf3d6a904d23891829c10f4966974673
> ] 
> [Generalize the type of (<+>). It can be used for keybindings too.
> Adam Vogt <vogt.adam at gmail.com>**20091205233611
>  Ignore-this: af15248be5e483d1a6e924f786fcc1c4
> ] 
> [Main.hs +--verbose-version flag
> gwern0 at gmail.com**20091128144840
>  Ignore-this: 61a081f33adb460ea459950a750dd93f
>  This resolves http://code.google.com/p/xmonad/issues/detail?id=320 by adding a
>  --verbose-version option yielding output like "xmonad 0.9 compiled by ghc 6.10 for linux/i386"
> ] 
> [Swap the order that windows are mapped/unmapped.  Addresses #322
> Spencer Janssen <spencerjanssen at gmail.com>**20091119025440
>  Ignore-this: 22087204f1b84dae98a3cf2b7f116d3f
> ] 
> [Support for extensible state in contrib modules.
> Daniel Schoepe <daniel.schoepe at gmail.com>**20091106115050
>  Ignore-this: d04ee1989313ed5710c94f9d7fda3f2a
> ] 
> [TAG 0.9.1
> Spencer Janssen <spencerjanssen at gmail.com>**20091216233643
>  Ignore-this: 856abdca8283155bbb8bdf003797ba34
> ] 
> [extra-source-files for the new manpage
> Spencer Janssen <spencerjanssen at gmail.com>**20091216232005
>  Ignore-this: 919d964238198dd56d96a5052c2419c7
> ] 
> [Bump to 0.9.1
> Spencer Janssen <spencerjanssen at gmail.com>**20091216231110
>  Ignore-this: 8a03850d758e1e4030d930cd8bf08ba9
> ] 
> [Update for X11 1.5.0.0
> Spencer Janssen <spencerjanssen at gmail.com>**20091216011700
>  Ignore-this: 669c764c4c0ca516c8bdc1dfa35cd66
> ] 
> [Safer X11 version dependency
> Spencer Janssen <spencerjanssen at gmail.com>**20091216010330
>  Ignore-this: 8297f7a6a65c5c97f83f860f642fc25
> ] 
> [man/xmonad.hs: remove reference to deprecated 'dynamicLogDzen' function
> Brent Yorgey <byorgey at cis.upenn.edu>**20091126053908
>  Ignore-this: 7aeeac9791ffd3e6ac22bf158ea86536
> ] 
> [Add GPL warning to GenerateManpage
> Spencer Janssen <spencerjanssen at gmail.com>**20091111000106
>  Ignore-this: ea24691b8198976a4088a2708e0b4c94
> ] 
> [Add a basic header to the html manpage output
> Adam Vogt <vogt.adam at gmail.com>**20091028033042
>  Ignore-this: 2641e0fb3179616075fa7549b57740f3
> ] 
> [Use pandoc to convert a markdown manpage tranlation to html and man.
> Adam Vogt <vogt.adam at gmail.com>**20091028030639
>  Ignore-this: cdf7cdc8e44b21de8fc7725bde299792
> ] 
> [Set SIGPIPE to default in forked processes
> Spencer Janssen <spencerjanssen at gmail.com>**20091106223743
>  Ignore-this: f73943e4fe6c5f08967ddb82afad3eaa
> ] 
> [TAG 0.9
> Spencer Janssen <spencerjanssen at gmail.com>**20091026004641
>  Ignore-this: 80347d432f3b606c8d722536d0d729aa
> ] 
> Patch bundle hash:
> 62861d162f91d965fb00d4b2f21ede3f6f74db06
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> 
> iEYEAREKAAYFAkvlwl0ACgkQvpDo5Pfl1oIhSgCfSGgwv/P6v4WNghzx/MD9gidd
> wCoAoJvR0zuKn7cD/8gq+8yIrkkp2XV+
> =fk/J
> -----END PGP SIGNATURE-----

> _______________________________________________
> xmonad mailing list
> xmonad at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad



More information about the xmonad mailing list