packages feed

citeproc-hs 0.3.9 → 0.3.10

raw patch · 4 files changed

+15/−11 lines, 4 filesdep +network-uridep ~network

Dependencies added: network-uri

Dependency ranges changed: network

Files

citeproc-hs.cabal view
@@ -1,6 +1,6 @@ name:               citeproc-hs-version:            0.3.9-homepage:           http://gorgias.mine.nu/repos/citeproc-hs/+version:            0.3.10+homepage:           http://istitutocolli.org/repos/citeproc-hs/ synopsis:           A Citation Style Language implementation in Haskell  description:        citeproc-hs is a library for rendering@@ -112,7 +112,7 @@                       Text.CSL.Output.Pandoc                       Text.CSL.Output.Plain                       Text.CSL.Test-    other-modules:    Paths_citeproc_hs+                      Paths_citeproc_hs     ghc-options:      -funbox-strict-fields -Wall     ghc-prof-options: -prof -auto-all     hs-source-dirs:   src@@ -125,7 +125,7 @@        cpp-options:     -DUSE_BIBUTILS      if flag(network)-       build-depends: network >= 2, HTTP >= 4000.0.9+       build-depends: network >= 2.6, network-uri >= 2.6, HTTP >= 4000.0.9        extensions:    CPP        cpp-options:   -DUSE_NETWORK 
src/Text/CSL/Eval.hs view
@@ -106,8 +106,8 @@     | Group        fm d l   <- el = when' ((/=) [] <$> tryGroup l) $                                     return . outputList fm d =<< evalElements l     | Date     _ _ _  _ _ _ <- el = evalDate el-    | Label    s f fm _     <- el = formatLabel f fm True s -- FIXME !!-    | Term     s f fm p     <- el = formatLabel f fm p s+    | Label    s f fm p     <- el = formatLabel f fm True False s -- FIXME !!+    | Term     s f fm p     <- el = formatLabel f fm p    True  s     | Names    s n fm d sub <- el = modify (\st -> st { contNum = [] }) >>                                     ifEmpty (evalNames False s n d)                                             (withNames s el $ evalElements sub)
src/Text/CSL/Eval/Names.hs view
@@ -36,7 +36,7 @@       sb == "editor" && sa == "translator" = do         aa <- getAgents' sa         ab <- getAgents' sb-        if aa == ab+        if aa /= [] && aa == ab            then modify (\s -> s { edtrans = True }) >>                 evalNames True [sa] nl d            else evalNames True  ns  nl d@@ -107,7 +107,7 @@      | NameLabel f fm pl <- n = when' (isVarSet s) $ do         b <- gets edtrans-        res <- formatLabel f fm (isPlural pl $ length as) $ if b then "editortranslator" else s+        res <- formatLabel f fm (isPlural pl $ length as) False $ if b then "editortranslator" else s         modify $ \st -> st { edtrans = False }         updateEtal [res]         return res@@ -320,15 +320,18 @@                         then w ++     ws                         else w ++ ' ':ws -formatLabel :: Form -> Formatting -> Bool -> String -> State EvalState [Output]-formatLabel f fm p s+formatLabel :: Form -> Formatting -> Bool -> Bool -> String -> State EvalState [Output]+formatLabel f fm p isTerm s     | "locator" <- s = when' (gets (citeLocator . cite . env) >>= return . (/=) []) $ do                        (l,v) <- getLocVar                        form (\fm' -> return . flip OLoc emptyFormatting . output fm') id l ('-' `elem` v)     | "page"    <- s = checkPlural     | "volume"  <- s = checkPlural     | "ibid"    <- s = format' s p-    | otherwise      = if isRole s then form (\fm' x -> [OLabel x fm']) id s p else format s p+    | not isTerm+    , isRole       s = do a <- getAgents' (if s == "editortranslator" then "editor" else s)+                          if a /= [] then form (\fm' x -> [OLabel x fm']) id s p else return []+    | otherwise      = format s p     where       isRole = flip elem ["author", "collection-editor", "composer", "container-author"                          ,"director", "editor", "editorial-director", "editortranslator"
src/Text/CSL/Output/Pandoc.hs view
@@ -23,6 +23,7 @@     , toCapital     , startWithPunct     , endWithPunct+    , isPunctuationInQuote     ) where  import Data.Char ( toUpper, toLower )