@@ -42,7 +42,7 @@ import System.FilePath
4242import System.Console.GetOpt
4343import Data.Char ( toLower, isDigit )
4444import Data.List ( intercalate, isSuffixOf )
45−import System.Directory ( getAppUserDataDirectory )
45+import System.Directory ( getAppUserDataDirectory, doesFileExist )
4646import System.IO ( stdout, stderr )
4747import qualified Text.Pandoc.UTF8 as UTF8
4848import Text.CSL
@@ -832,9 +832,17 @@ main = do
832832 if null refs
833833 then return doc'
834834 else do
835+ csldir <- getAppUserDataDirectory "csl"
835836 cslfile' <- if null cslfile
836837 then findDataFile datadir "default.csl"
837− else return cslfile
838+ else do
839+ ex <- doesFileExist cslfile
840+ if ex
841+ then return cslfile
842+ else findDataFile datadir $
843+ replaceDirectory
844+ (replaceExtension cslfile "csl")
845+ csldir
838846 processBiblio cslfile' refs doc'
839847
840848 writerOutput <- writer writerOptions doc''