1. 20 Aug, 2021 1 commit
  2. 19 Aug, 2021 2 commits
  3. 23 May, 2021 1 commit
    • Robert Goldman's avatar
      Emit deprecation warning on use of "count." · 7ec14390
      Robert Goldman authored
      The use of count, which hijacks a function definition in the CL package,
      violates a design principle articulated in the manual and paper.
      Instead, only "counting" should be supported.
      
      When a program uses COUNT in the context of ITERATE, this will emit a
      deprecation warning. The intent is to remove support for COUNT as a
      synonym for COUNTING in the next version of ITERATE.
      7ec14390
  4. 18 May, 2021 1 commit
    • Steve Losh's avatar
      Fix control flow when the loop contains NIL blocks · e0cc021a
      Steve Losh authored and Robert Goldman's avatar Robert Goldman committed
      Control flow clauses that return from an iterate form without executing
      the epilogue code (e.g. `never` and `leave`) currently do so by
      expanding into `(return-from ,*block-name*)`.  For iterate forms without
      a user-provided name, the block will be named `nil`.  This causes
      problems when used with other Common Lisp looping constructs such as
      `dolist`:
      
          (iterate
            (for i :from 0 :below 10)
            (dolist (x '(5 10 15))
              (never (= i x))))
          ; => T, but should be NIL
      
      This patch adds a separate `*loop-name*` variable that will be bound to
      a gensym for `NIL`-named blocks and makes the various epilogue-skipping
      code refer to that instead of `*block-name*`.  Iterate forms *without*
      an explicit user-provided name will still have a separate `(block nil
      ...)` wrapping so users can still `(return ...)` as before.
      
      Before (simplified):
      
          (iterate (leave))
          ; ==> (block nil (return-from nil))
      
          (iterate foo (leave))
          ; ==> (block foo (return-from nil))
      
      After:
      
          (iterate (leave))
          ; ==> (block nil (block #:ITERATE123 (return-from #:ITERATE123)))
      
          (iterate foo (leave))
          ; ==> (block foo (return-from foo))
      e0cc021a
  5. 17 May, 2021 1 commit
    • Robert Goldman's avatar
      Fix initial value assignment. · 418d48ea
      Robert Goldman authored
      In some contexts, ITERATE could incorrectly warn that it is assigning a default initial value of `NIL`. Here we filter out cases where supplying `NIL` is fine, and no warning should be raised.
      418d48ea
  6. 03 Feb, 2021 1 commit
  7. 11 May, 2020 1 commit
  8. 25 Jan, 2020 1 commit
  9. 16 Jan, 2018 1 commit
  10. 23 Apr, 2014 1 commit
  11. 29 Jan, 2014 2 commits
  12. 08 May, 2012 1 commit
  13. 09 May, 2012 1 commit
  14. 19 Jan, 2011 1 commit
  15. 25 May, 2007 1 commit
  16. 06 May, 2007 2 commits
  17. 03 May, 2007 1 commit
    • hoehle's avatar
      make FOR...IN/ON with dotted lists work like LOOP · 7b366825
      hoehle authored
      More precisely, FOR ON accepts dotted lists, FOR IN errors out.
      As a result, iterate::*list-end-test* was eliminated.
      Behaviour is now constant and does not depend on some special variable.
      Note: Documentation not yet updated, pending move to Texinfo.
      
      darcs-hash:5d57aef5caed4ed28274d852bd8626f19c3d0c94
      7b366825
  18. 04 Apr, 2007 1 commit
  19. 03 May, 2007 1 commit
  20. 26 Apr, 2007 1 commit
  21. 15 Feb, 2007 1 commit
  22. 25 Oct, 2006 1 commit
  23. 31 Mar, 2006 3 commits
    • Attila Lendvai's avatar
      Added first-iteration-p and first-time-p · 377f3f8d
      Attila Lendvai authored
      Typical use is (if (first-...-p) ...)
      
      first-iteration-p will be t in the first loop while first-time-p will
      be t when first called, then nil. Hint: first-time-p is useful for
      the usual comma separated list printing problem.
      
      darcs-hash:e5383742b4d9363d41af7d276cc7db69b6b83f4b
      377f3f8d
    • Attila Lendvai's avatar
      Added make-shared-binding · be54f8b3
      Attila Lendvai authored
      darcs-hash:65e6486308db578681137b5688533e0d6e0cbbeb
      be54f8b3
    • Attila Lendvai's avatar
      Initial darcs repo · fee24737
      Attila Lendvai authored
      darcs-hash:60aa3d2a88d512f3d26c6a6623c25721a02bbf4e
      fee24737