Here [1] is the tweak we do in HaRe to get the right dynflags Alan
[1] https://github.com/alanz/HaRe/blob/master/src/Language/Haskell/Refact/Utils/Utils.hs#L224 On 3 Feb 2017 5:59 p.m., "Matthew Pickering" <matthewtpicker...@gmail.com> wrote: > You are right. I looked more closely now and it looks like > "parseModule" and so on overwrite the DynFlags with a cached version > before running the relevant piece of the pipeline. > > 857 hsc_env <- getSession > 858 let hsc_env_tmp = hsc_env { hsc_dflags = ms_hspp_opts ms } > 859 hpm <- liftIO $ hscParse hsc_env_tmp ms > > > I think this is symptom of the fact that DynFlags is not very well > structured and a lot of different compiler options are lumped > together. It makes sense that we need to use the right DynFlags to run > the module but this shouldn't overwrite things which are irrelevant > like log_action. > > Matt > > > On Fri, Feb 3, 2017 at 3:30 PM, Christopher Done <chrisd...@gmail.com> > wrote: > > Adding `handleSourceError` around it makes no difference. > > > > Which makes sense, as I don't think warnings count as exceptions, > > otherwise my code would never have completed in the first place. > > > > On 3 February 2017 at 12:50, Matthew Pickering > > <matthewtpicker...@gmail.com> wrote: > >> The errors are eventually caught and printed by "handleSourceError" > >> which is used a few times in your code. You could either modify one of > >> these to not print out any errors or try something more intelligent > >> like is in `parUpsweep_one` which does use the `log_action` in order > >> to print the errors out. > >> > >> On Fri, Feb 3, 2017 at 12:21 PM, Christopher Done <chrisd...@gmail.com> > wrote: > >>> In Intero, after loading modules, for each one I run the following > >>> function: https://github.com/commercialhaskell/intero/blob/ > 300ac5a/src/GhciInfo.hs#L75..L85 > >>> > >>> If there are warnings or any output, they get outputted. As they are > >>> already outputted by regular :load, I don’t need the same output > >>> twice. > >>> > >>> How do I disable non-severe output for any GhcMonad m => m a? I’m > >>> using GHC 8.0.1 presently. > >>> > >>> I tried the following before calling getModInfo, expecting there to be > >>> no output anymore: > >>> > >>> + GHC.setSessionDynFlags > >>> + df {log_action = \ref dflags severity srcSpan style msg -> > return ()} > >>> > >>> And this had no effect. I tried some other things but ran out of > >>> patience to keep a record of them all. > >>> > >>> Ciao! > >>> _______________________________________________ > >>> ghc-devs mailing list > >>> ghc-devs@haskell.org > >>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs