Wed Dec 3 11:44:08 EST 2008 [EMAIL PROTECTED] * Shim/; some -Wall cleanup
Wed Dec 3 11:45:17 EST 2008 [EMAIL PROTECTED] * fix up Shim/ w/r/t Control.Exception Wed Dec 3 11:51:29 EST 2008 [EMAIL PROTECTED] * Shim/*: +pragmas, rm unused imports Wed Dec 3 12:26:31 EST 2008 [EMAIL PROTECTED] * last of the LANGUAGE pragmas I have cast the extensions field into perdition, and added the missing per-file declarations. --~--~---------~--~----~------------~-------~--~----~ Yi development mailing list yi-devel@googlegroups.com http://groups.google.com/group/yi-devel -~----------~----~----~----~------~----~------~--~---
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 New patches: [Shim/; some -Wall cleanup [EMAIL PROTECTED] Ignore-this: bcfe4c1e2d239472e56d08fe0eee0bd4 ] hunk ./Shim/CabalInfo.hs 11 import Data.Maybe import Control.Applicative - -import Distribution.Simple.Utils hiding (findPackageDesc) import Distribution.ModuleName import Distribution.PackageDescription import qualified Distribution.PackageDescription as Library (Library(..)) hunk ./Shim/CabalInfo.hs 28 Right (Just f) -> return . Just $ dir </> f _ -> return Nothing - --- | Guess what lib/exe the sourcefile belongs to. +-- | Guess what lib\/exe the sourcefile belongs to. guessCabalStanza :: FilePath -> FilePath -> PackageDescription -> IO (Maybe String, BuildInfo) guessCabalStanza projpath sourcefile pkg_descr = do matchingStanzas <- filterM matchingStanza allStanzas' hunk ./Shim/CabalInfo.hs 39 | Just lib <- [library pkg_descr] ] ++ [ (Just (exeName exe), [modulePath exe], buildInfo exe) | exe <- executables pkg_descr ] - - moduleFiles mod = [toFilePath mod <.> ext | ext <- ["hs", "lhs"] ] + moduleFiles modl = [toFilePath modl <.> ext | ext <- ["hs", "lhs"] ] allStanzas' = [(name, [projpath </> dir </> file | dir <- hsSourceDirs bi, file <- files ++ concatMap moduleFiles (BuildInfo.otherModules bi)], bi) | (name, files, bi) <- allStanzas, buildable bi] eqPath p1 p2 = equalFilePath <$> canonicalizePath p1 <*> canonicalizePath p2 hunk ./Shim/CabalInfo.hs 65 case cabalFiles of [] -> return Nothing [cabalFile] -> return (Just cabalFile) - - multiple -> return Nothing + _ -> return Nothing [fix up Shim/ w/r/t Control.Exception [EMAIL PROTECTED] Ignore-this: 4ec9ae4bafcf9b98c07acd0a6cbab9e ] hunk ./Shim/CabalInfo.hs 23 recurseDir findCabalFile dir -- "/bar/foo/s.hs" -> "/bar/foo" where findCabalFile dir = do logS $ "looking in: " ++ dir - - pdfile <- CE.try (findPackageDesc dir) :: IO (Either CE.IOException (Maybe FilePath)) + pdfile <- CE.try (findPackageDesc dir) :: IO (Either CE.Exception (Maybe FilePath)) case pdfile of Right (Just f) -> return . Just $ dir </> f _ -> return Nothing replace ./Shim/CabalInfo.hs [A-Za-z_0-9\-\.] Control.Exception Control.OldException replace ./Shim/Hsinfo.hs [A-Za-z_0-9\-\.] Control.Exception Control.OldException replace ./Shim/Utils.hs [A-Za-z_0-9\-\.] Control.Exception Control.OldException [Shim/*: +pragmas, rm unused imports [EMAIL PROTECTED] Ignore-this: eff16eba16ed8e3b98fdfe9420f1ab2b ] hunk ./Shim/CabalInfo.hs 12 import Control.Applicative import Distribution.ModuleName - -import Distribution.PackageDescription +import Distribution.PackageDescription import qualified Distribution.PackageDescription as Library (Library(..)) import qualified Distribution.PackageDescription as BuildInfo (BuildInfo(..)) import System.Directory hunk ./Shim/CabalInfo.hs 19 guessCabalFile :: String -> IO (Maybe FilePath) guessCabalFile sourcefile = do - - let dir = takeDirectory $ dropFileName sourcefile + let dir = takeDirectory $ dropFileName sourcefile recurseDir findCabalFile dir -- "/bar/foo/s.hs" -> "/bar/foo" where findCabalFile dir = do logS $ "looking in: " ++ dir hunk ./Shim/CabalInfo.hs 34 matchingStanzas <- filterM matchingStanza allStanzas' let ((name, _, bi):_) = matchingStanzas ++ allStanzas' return (name, bi) - - where allStanzas = - - [ (Nothing, concatMap moduleFiles (Library.exposedModules lib) , libBuildInfo lib) + where allStanzas = + [ (Nothing, concatMap moduleFiles (Library.exposedModules lib) , libBuildInfo lib) | Just lib <- [library pkg_descr] ] hunk ./Shim/CabalInfo.hs 37 - - ++ [ (Just (exeName exe), [modulePath exe], buildInfo exe) + ++ [ (Just (exeName exe), [modulePath exe], buildInfo exe) | exe <- executables pkg_descr ] moduleFiles modl = [toFilePath modl <.> ext | ext <- ["hs", "lhs"] ] allStanzas' = [(name, [projpath </> dir </> file | dir <- hsSourceDirs bi, file <- files ++ concatMap moduleFiles (BuildInfo.otherModules bi)], bi) hunk ./Shim/Hsinfo.hs 10 module Shim.Hsinfo (ghcInit, findTypeOfPos, getSessionFor, evaluate, findDefinition, load) where - -import Shim.SHM - -import Shim.Utils +import Shim.CabalInfo import Shim.ExprSearch hunk ./Shim/Hsinfo.hs 12 +import Shim.SHM import Shim.SessionMonad hunk ./Shim/Hsinfo.hs 14 +import Shim.Utils import qualified Shim.GhcCompat as GhcCompat hunk ./Shim/Hsinfo.hs 16 - -import Shim.CabalInfo import Control.Applicative hunk ./Shim/Hsinfo.hs 18 - -import qualified Control.OldException as CE - -import qualified Data.Map as M - -import List ( isPrefixOf, find, nubBy, - - sort, (\\), nub ) - -import Directory - -import Time ( getClockTime, ClockTime ) - -import System.FilePath ( takeDirectory, (</>), (<.>), dropFileName, takeExtension, equalFilePath ) - -import System.Directory (canonicalizePath) import Control.Monad.State hunk ./Shim/Hsinfo.hs 19 +import Data.List ( isPrefixOf, find, nubBy, sort, (\\) ) import Data.Maybe hunk ./Shim/Hsinfo.hs 21 +import System.Directory +import System.Directory (canonicalizePath) +import System.FilePath ( takeDirectory, (</>), (<.>), dropFileName, takeExtension, equalFilePath ) +import System.Time ( getClockTime, ClockTime ) import qualified Data.ByteString.Lazy.Char8 as BC import qualified Data.Digest.Pure.MD5 as MD5 hunk ./Shim/Hsinfo.hs 27 +import qualified Data.Map as M import qualified GHC hunk ./Shim/Messages.hs 1 - -{-# OPTIONS -fth #-} +{-# LANGUAGE TemplateHaskell #-} module Shim.Messages where import Shim.MessagesTH hunk ./Shim/MessagesTH.hs 1 - -{-# OPTIONS -fth -fglasgow-exts #-} +{-# LANGUAGE TemplateHaskell #-} module Shim.MessagesTH where import Data.Char hunk ./Shim/SHM.hs 1 - -{-# OPTIONS -fglasgow-exts #-} +{-# LANGUAGE CPP #-} module Shim.SHM where import Data.Typeable hunk ./Shim/SHM.hs 30 -------------------------------------------------------------- -- SHM Monad -------------------------------------------------------------- - - + data CompilationResult = FileCompiled hunk ./Shim/SessionMonad.hs 1 +{-# LANGUAGE CPP #-} module Shim.SessionMonad where #if __GLASGOW_HASKELL__ >= 610 [last of the LANGUAGE pragmas [EMAIL PROTECTED] Ignore-this: 8a1bd56c03682e4c9b163a615263af84 I have cast the extensions field into perdition, and added the missing per-file declarations. ] hunk ./Shim/ProjectContent.hs 1 - --- +{-# LANGUAGE Rank2Types #-} -- Copyright (c) Krasimir Angelov 2008. -- -- Extraction of the "Project View" from hunk ./Shim/SHM.hs 1 - -{-# LANGUAGE CPP #-} +{-# LANGUAGE CPP, DeriveDataTypeable, TypeSynonymInstances #-} module Shim.SHM where import Data.Typeable hunk ./Yi/Keymap/Emacs.hs 1 +{-# LANGUAGE FlexibleContexts #-} -- Copyright (c) 2005,2007,2008 Jean-Philippe Bernardy -- | This module aims at a mode that should be (mostly) intuitive to hunk ./Yi/Misc.hs 1 +{-# LANGUAGE DeriveDataTypeable, GeneralizedNewtypeDeriving #-} -- Copyright (c) 2008 Jean-Philippe Bernardy -- | Various high-level functions to further classify. module Yi.Misc hunk ./Yi/MkTemp.hs 1 - --- +{-# LANGUAGE CPP #-} -- glaexts for I# ops -- -- Copyright (c) 2004-5 Don Stewart - http://www.cse.unsw.edu.au/~dons hunk ./Yi/Mode/Haskell.hs 1 +{-# LANGUAGE DeriveDataTypeable, GeneralizedNewtypeDeriving, Rank2Types #-} -- Copyright (c) 2008 Jean-Philippe Bernardy -- | Haskell-specific modes and commands. module Yi.Mode.Haskell hunk ./Yi/Mode/Latex.hs 1 +{-# LANGUAGE Rank2Types #-} module Yi.Mode.Latex (latexMode, latexMode2) where import Prelude () hunk ./yi.cabal 164 Yi.Window Yi.WindowSet - - extensions: CPP, DeriveDataTypeable, FlexibleContexts, FlexibleInstances, - - GADTs, GeneralizedNewtypeDeriving, Rank2Types, TypeSynonymInstances include-dirs: Yi/Lexer if flag (vty) cpp-options: -DFRONTEND_VTY hunk ./yi.cabal 355 Data.DelayList include-dirs: Yi/Lexer - - extensions: CPP, DeriveDataTypeable, FlexibleContexts, FlexibleInstances, - - GADTs, GeneralizedNewtypeDeriving, Rank2Types, TypeSynonymInstances if flag(testing) cpp-options: -DTESTING Context: [Vim: do nothing when cuting/pasting empty regions Nicolas Pouillard <[EMAIL PROTECTED]>**20081203155544 Ignore-this: e0b4bc63452e1e2df93b4e3a2a841413 This avoid marking the buffer as unsaved. ] [Vim: style, parens, and trailing white-spaces. Nicolas Pouillard <[EMAIL PROTECTED]>**20081203155350 Ignore-this: 3d959998aed83292f5fac99a7a8d6f44 ] [Vim: when leaving insert/replace mode, use moveXorSol 1 instead of leftB Nicolas Pouillard <[EMAIL PROTECTED]>**20081203155247 Ignore-this: f2766bc3a75501484a524d241f84e025 ] [Corrected 'x' and 'X' behaviour Krzysztof Goj <[EMAIL PROTECTED]>**20081203125741 Now 'x' and 'X' are aliases to dl and dh (as in Vim) -- they cannot delete newline character. ] [Ctrl+h in insert and replace mode; Ctrl+w in replace mode Krzysztof Goj <[EMAIL PROTECTED]>**20081203012614] [Ctrl+h in Ex mode Krzysztof Goj <[EMAIL PROTECTED]>**20081203000017] [Ctrl+p, Ctrl+n in Ex mode Krzysztof Goj <[EMAIL PROTECTED]>**20081202235807] [Vim visual mode: 's' is synonym to 'c' Krzysztof Goj <[EMAIL PROTECTED]>**20081202233509] [Vim: ctrl+u, ctrl+d scrolling Krzysztof Goj <[EMAIL PROTECTED]>**20081202231544] [Behaviour at end of line (BIG PATCH) Krzysztof Goj <[EMAIL PROTECTED]>**20081203031045 - Doesn't allow to go to EOL in normal mode - Does allow it in other (visual, insert, replace) modes - Corrected D, and '$' command - cursor moves left after leaving insert and replace mode ] [Ctrl-t and Ctrl-d in insert mode (indentation) Krzysztof Goj <[EMAIL PROTECTED]>**20081202223751] [Better percent move. Krzysztof Goj <[EMAIL PROTECTED]>**20081202162105] [Issue 202: indentation and Vim commands Krzysztof Goj <[EMAIL PROTECTED]>**20081202183446 Added indentation-awareness to cutRegion, pasteBefore and pasteAfter. ] [Fixed isMakefile: takeBaseName should be takeFileName. Otherwise makefile's named like foo.mk would not be recognized. [EMAIL PROTECTED] [replace all: more helpful message [EMAIL PROTECTED] [fix build [EMAIL PROTECTED] [Better word and WORD motions for Vim keymap. Krzysztof Goj <[EMAIL PROTECTED]>**20081202132813] [doc [EMAIL PROTECTED] [Yi/Users/Gwern.hs: +shorter binding for gotoLn [EMAIL PROTECTED] Ignore-this: 5defc56344c3e1c61bd602d192e06af3 I find the default Emacs binding of M-g g tedious; why not just M-g? ] [doc [EMAIL PROTECTED] [make Accessor instance of Category [EMAIL PROTECTED] [use Control.Category [EMAIL PROTECTED] [better support for vivid colors [EMAIL PROTECTED] [Yi.Keymap.Emacs: +standard emacs M-; binding [EMAIL PROTECTED] Ignore-this: 5abf2d7154acfdcce44286f34ec238b9 ] [update to base>=4; replace all Control.Exception with Control.OldException [EMAIL PROTECTED] Ignore-this: 205b7c23a4ffcc16b8612d0b4edc9352 ] [Main.hs: minor indent [EMAIL PROTECTED] Ignore-this: b53fd55beb556c92b6bba9ee4a49cd61 ] [added C-w and C-u to ex mode Aleksandar Dimitrov <[EMAIL PROTECTED]>**20081201103414] ['ZZ' closes window, not editor, 'ZQ' == ':q!' Aleksandar Dimitrov <[EMAIL PROTECTED]>**20081201103311] [bump version number [EMAIL PROTECTED] [TAG 0.5.2 [EMAIL PROTECTED] Patch bundle hash: 369d1263914d4abb1f056d338d14778e019d14b8 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEAREKAAYFAkk2wdEACgkQvpDo5Pfl1oI4HgCfUKH9DRy8hbXXb/wyijvzZSn+ 5KMAnRJ9hrgnqR64ZaQTOwQ5/Jrtr8dV =hFzd -----END PGP SIGNATURE-----