diff --git a/.gitignore b/.gitignore index 124d4589714f8e2296b51b7ce0383b4fc206096c..0e6bafae50630f5d2c7ad64b8035769f7462ab64 100644 --- a/.gitignore +++ b/.gitignore @@ -6,12 +6,14 @@ *.lx64fsl *.lx32fsl *.bc +*.tem sandbox/ ansi-aux-macros.fas ansi-aux.fas array-aux.fas backquote-aux.fas bit-aux.fas +bss-last.txt ceiling-aux.fas char-aux.fas cl-symbols-aux.fas diff --git a/iteration/loop1.lsp b/iteration/loop1.lsp index 26457fe308b0da62c4e873949bfa20dd3d40ae12..98305ed21e0a1635e1e57013cd057ed0c429cc94 100644 --- a/iteration/loop1.lsp +++ b/iteration/loop1.lsp @@ -201,26 +201,31 @@ ;;; implementation will assign X an out-of-range value ;;; at the end. (deftest loop.1.39 + :notes (:loop-iteration-values-in-finally :ansi-spec-problem) (loop for x of-type (integer 1 5) from 1 to 5 collect x) (1 2 3 4 5)) ;;; Test that the index variable achieves the inclusive ;;; upper bound, but does not exceed it. (deftest loop.1.40 + :notes (:loop-iteration-values-in-finally :ansi-spec-problem) (loop for x from 1 to 5 do (progn) finally (return x)) 5) ;;; Test that the index variable acheives the exclusive ;;; upper bound, but does not exceed it. (deftest loop.1.41 + :notes (:loop-iteration-values-in-finally :ansi-spec-problem) (loop for x from 1 below 5 do (progn) finally (return x)) 4) (deftest loop.1.42 + :notes (:loop-iteration-values-in-finally :ansi-spec-problem) (loop for x from 10 downto 0 do (progn) finally (return x)) 0) (deftest loop.1.43 + :notes (:loop-iteration-values-in-finally :ansi-spec-problem) (loop for x from 10 above 0 do (progn) finally (return x)) 1) diff --git a/notes.lsp b/notes.lsp index d5e457d6742bfada4c562750f997f207f30305b7..cd2d484a98009a3165105da589065a4dbbd65297 100644 --- a/notes.lsp +++ b/notes.lsp @@ -46,6 +46,10 @@ If negative zeros are distinct this is probably not good, since it makes (defcon "Assume that (for sequence functions MAP, etc.) the element type of a vector result type is defined to be the type X such that result-type is a subtype of (vector X).") +(defnote :loop-iteration-values-in-finally + "Assume that the values of iteration values in LOOP's FINALLY clause are defined to never +overstep the iteration limit.") + ;;; Haible disagrees with :result-type-element-type-by-subtype #+clisp (rt::disable-note :result-type-element-type-by-subtype) #+(or openmcl gcl ecl) (rt::disable-note :nil-vectors-are-strings)