diff --git a/src/ShellCheck/Checker.hs b/src/ShellCheck/Checker.hs index 5b0134ccd..72259adf3 100644 --- a/src/ShellCheck/Checker.hs +++ b/src/ShellCheck/Checker.hs @@ -194,5 +194,9 @@ prop_filewideAnnotationBase2 = [2086, 2181] == check "true\n[ $? == 0 ] && echo prop_filewideAnnotation8 = null $ check "# Disable $? warning\n#shellcheck disable=SC2181\n# Disable quoting warning\n#shellcheck disable=2086\ntrue\n[ $? == 0 ] && echo $1" +prop_sourcePartOfOriginalScript = -- #1181: -x disabled posix warning for 'source' + 2039 `elem` checkWithIncludes [("./saywhat.sh", "echo foo")] "#!/bin/sh\nsource ./saywhat.sh" + + return [] runTests = $quickCheckAll diff --git a/src/ShellCheck/Parser.hs b/src/ShellCheck/Parser.hs index edfb2e2b9..2e198d3f7 100644 --- a/src/ShellCheck/Parser.hs +++ b/src/ShellCheck/Parser.hs @@ -1918,11 +1918,12 @@ readSource pos t@(T_Redirecting _ _ (T_SimpleCommand _ _ (cmd:file:_))) = do "Not following: " ++ err return t Right script -> do - id <- getNextIdAt pos + id1 <- getNextIdAt pos + id2 <- getNextIdAt pos let included = do src <- subRead filename script - return $ T_SourceCommand id t (T_Include id src) + return $ T_SourceCommand id1 t (T_Include id2 src) let failed = do parseNoteAt pos WarningC 1094