/[cmucl]/src/code/loop.lisp
ViewVC logotype

Log of /src/code/loop.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Tag:

Revision 1.34 - (view) (annotate) - [select for diffs]
Tue Apr 20 17:57:44 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, RELEASE_20b, cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, cross-sparc-branch-base, release-20b-pre1, release-20b-pre2, snapshot-2010-05, snapshot-2010-06, snapshot-2010-07, snapshot-2010-08, snapshot-2010-11, snapshot-2010-12, snapshot-2011-01, snapshot-2011-02, snapshot-2011-03, snapshot-2011-04, snapshot-2011-06, snapshot-2011-07, snapshot-2011-09, sparc-tramp-assem-2010-07-19, sparc-tramp-assem-base
Branch point for: RELEASE-20B-BRANCH, cross-sol-x86-branch, cross-sparc-branch, sparc-tramp-assem-branch
Changes since 1.33: +5 -5 lines
Diff to previous 1.33
Change uses of _"foo" to (intl:gettext "foo").  This is because slime
may get confused with source locations if the reader macros are
installed.

Revision 1.33 - (view) (annotate) - [select for diffs]
Mon Apr 19 02:18:04 2010 UTC (4 years ago) by rtoy
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32
Remove _N"" reader macro from docstrings when possible.

Revision 1.32 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:18:59 2010 UTC (4 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: post-merge-intl-branch, snapshot-2010-04
Changes since 1.31: +60 -59 lines
Diff to previous 1.31
Merge intl-branch 2010-03-18 to HEAD.  To build, you need to use
boot-2010-02-1 as the bootstrap file.  You should probably also use
the new -P option for build.sh to generate and update the po files
while building.

Revision 1.31.10.2 - (view) (annotate) - [select for diffs]
Fri Feb 26 06:23:24 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-2010-03-18-1300
Changes since 1.31.10.1: +59 -59 lines
Diff to previous 1.31.10.1 , to branch point 1.31 , to next main 1.34
Mark more translatable strings.

Revision 1.31.12.1 - (view) (annotate) - [select for diffs]
Thu Feb 25 20:34:50 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-2-branch
Changes since 1.31: +2 -1 lines
Diff to previous 1.31 , to next main 1.34
Restart internalization work.  This new branch starts with code from
the intl-branch on date 2010-02-12 18:00:00+0500.  This version works
and

LANG=en@piglatin bin/lisp

works (once the piglatin translation is added).

Revision 1.31.10.1 - (view) (annotate) - [select for diffs]
Mon Feb 8 17:15:48 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-working-2010-02-11-1000, intl-branch-working-2010-02-19-1000
Changes since 1.31: +2 -1 lines
Diff to previous 1.31
Add (intl:textdomain "cmucl") to the files to set the textdomain.

Revision 1.31 - (view) (annotate) - [select for diffs]
Sun Aug 9 03:54:42 2009 UTC (4 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_20a, amd64-dd-start, intl-2-branch-base, intl-branch-base, pre-merge-intl-branch, release-20a-base, release-20a-pre1, snapshot-2009-08, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03, unicode-string-buffer-base, unicode-string-buffer-impl-base
Branch point for: RELEASE-20A-BRANCH, amd64-dd-branch, intl-2-branch, intl-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch
Changes since 1.30: +2 -2 lines
Diff to previous 1.30
Fix some typos.  From Paul Foley.

Revision 1.27.20.2 - (view) (annotate) - [select for diffs]
Tue May 12 16:31:48 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-06, unicode-utf16-extfmt-2009-06-11
Changes since 1.27.20.1: +2 -2 lines
Diff to previous 1.27.20.1 , to branch point 1.27 , to next main 1.34
o Lots of spelling fixes from Paul.
o Add unicode codepoints in final-sigma.lisp (in case the characters
  there don't show up correctly).
o Support partial-fill in READ-INTO-STRING.

Revision 1.27.20.1 - (view) (annotate) - [select for diffs]
Sun Nov 2 13:30:01 2008 UTC (5 years, 5 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-05, unicode-utf16-extfmt-2009-03-27, unicode-utf16-extfmts-sync-2008-12
Changes since 1.27: +5 -5 lines
Diff to previous 1.27
Sync to snapshot 2008-11.  But we didn't sync code/extfmts.lisp or
iso8859-1.lisp and utf-8.lisp.  (I don't think we want those changes,
yet.)

Revision 1.27.18.1 - (view) (annotate) - [select for diffs]
Wed Sep 3 16:34:31 2008 UTC (5 years, 7 months ago) by rtoy
Branch: unicode-utf16-branch
CVS Tags: unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Changes since 1.27: +5 -5 lines
Diff to previous 1.27 , to next main 1.34
Merge from snapshot-2008-09.

Revision 1.30 - (view) (annotate) - [select for diffs]
Tue Jul 15 15:44:33 2008 UTC (5 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16, release-19f-base, release-19f-pre1, snapshot-2008-08, snapshot-2008-09, snapshot-2008-10, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05, snapshot-2009-07, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-merge-with-2008-11, sse2-packed-2008-11-12, sse2-packed-base
Branch point for: RELEASE-19F-BRANCH, portable-clx-branch, sse2-branch, sse2-packed-branch
Changes since 1.29: +2 -2 lines
Diff to previous 1.29
Oops.  Fix typo.

Revision 1.29 - (view) (annotate) - [select for diffs]
Tue Jul 15 15:24:19 2008 UTC (5 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.28: +5 -6 lines
Diff to previous 1.28
We always need a block NIL when there are no named loops because
COLLECT (at least) needs to return-from NIL to return the result.

Revision 1.28 - (view) (annotate) - [select for diffs]
Mon Jul 14 20:36:42 2008 UTC (5 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.27: +8 -7 lines
Diff to previous 1.27
Fix for Trac #17: LOOP NAMED NIL has no effect

code/loop.lisp:
o In LOOP-TRANSLATE, create block for loop named NIL by checking for
  the end of the list, not for NIL in the list.
o In LOOP-DO-NAMED, don't append NIL to *LOOP-NAMES* so we can create
  blocks named NIL.  (Why was this being done before?)

general-info/release-19f.txt:
o Update

Revision 1.27 - (view) (annotate) - [select for diffs]
Thu Oct 21 02:31:08 2004 UTC (9 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: double-double-array-base, double-double-array-checkpoint, double-double-base, double-double-init-%make-sparc, double-double-init-checkpoint-1, double-double-init-ppc, double-double-init-sparc, double-double-init-sparc-2, double-double-init-x86, double-double-irrat-end, double-double-irrat-start, double-double-reader-base, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1, ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, pre-telent-clx, release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01, snapshot-2005-02, snapshot-2005-03, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09, snapshot-2005-10, snapshot-2005-11, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06, snapshot-2006-07, snapshot-2006-08, snapshot-2006-09, snapshot-2006-10, snapshot-2006-11, snapshot-2006-12, snapshot-2007-01, snapshot-2007-02, snapshot-2007-03, snapshot-2007-04, snapshot-2007-05, snapshot-2007-06, snapshot-2007-07, snapshot-2007-08, snapshot-2007-09, snapshot-2007-10, snapshot-2007-11, snapshot-2007-12, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, unicode-utf16-base, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-string-support, unicode-utf16-sync-2008-07
Branch point for: double-double-array-branch, double-double-branch, double-double-reader-branch, ppc_gencgc_branch, release-19b-branch, release-19c-branch, release-19d-branch, release-19e-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.26: +46 -4 lines
Diff to previous 1.26
Fix loop initialization bug reported by Bruno Haible, cmucl-imp,
2004-08-20.  Use boot-2004-10-2.lisp to bootstrap.

o We were not putting the loop prologue code after the initializations
  for with, for, and as.
o The step form for for-as-equals was getting optimized into the body,
  instead of leaving one in the prologue for other initializations.
o The for-across clause was putting the length computation into the
  prologue, but should belong in the initialization part before the
  body.

See comments for more info.

Revision 1.26 - (view) (annotate) - [select for diffs]
Tue Oct 19 18:13:16 2004 UTC (9 years, 5 months ago) by rtoy
Branch: MAIN
Changes since 1.25: +3 -1 lines
Diff to previous 1.25
Check to see if the loop iteration variable has already been used.

Bug noted by Bruno Haible, cmucl-imp, 2004-10-15:

    (LOOP WITH A = 0 FOR A DOWNFROM 10 TO 0 DO (PRINT A))

should signal a program-error.

Revision 1.25 - (view) (annotate) - [select for diffs]
Tue Oct 5 21:55:12 2004 UTC (9 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24
FOR-AS-ON-LIST is specified over lists, not proper lists, so remove
the declaration on the list.  Fixes the bug reported by Frode Vatvedt
Fjeld on cmucl-imp, 2004/09/06:

(compile (defun f (x) (loop for (a . b) on x collect a)))
(f '(1 2 . 3)) => error

It should return '(1 2).

Revision 1.24 - (view) (annotate) - [select for diffs]
Sun Jan 18 13:47:55 2004 UTC (10 years, 3 months ago) by toy
Branch: MAIN
CVS Tags: amd64-merge-start, mod-arith-base, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, snapshot-2004-04, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08, snapshot-2004-09, snapshot-2004-10
Branch point for: mod-arith-branch, release-19a-branch
Changes since 1.23: +2 -2 lines
Diff to previous 1.23
LOOP accepts NIL as the variable if arithmetic loops, such as

    (loop for nil from 0 to 5 do (print "x"))

Revision 1.23 - (view) (annotate) - [select for diffs]
Thu Aug 28 14:14:57 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
CVS Tags: lisp-executable-base, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12
Branch point for: lisp-executable
Changes since 1.22: +41 -40 lines
Diff to previous 1.22
	(loop for i in '(4 8 9 a 13)
	      when (eq i 'a) return :good
	      while (< i 12) collect i)

	signaling a type-error because the while is done before the when.
	Found by Paul Dietz.

	* src/code/loop.lisp (loop-do-if): Move the call to loop-pseudo-body
	outside of the binding of *loop-inside-conditional*.

Revision 1.22 - (view) (annotate) - [select for diffs]
Wed May 28 09:22:41 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
CVS Tags: dynamic-extent-base, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, sparc_gencgc_branch
Changes since 1.21: +2 -2 lines
Diff to previous 1.21
	For-arithmetic is allowed on NUMBERs.  Found by Paul Dietz.

	* src/code/loop.lisp (loop-for-arithmetic): Use type number
	instead of real.

Revision 1.21 - (view) (annotate) - [select for diffs]
Mon May 5 12:09:50 2003 UTC (10 years, 11 months ago) by emarsden
Branch: MAIN
Changes since 1.20: +15 -24 lines
Diff to previous 1.20
  Fix misleading commentary on the implications of the LOOP license (from
  Adam Warner).

Revision 1.20 - (view) (annotate) - [select for diffs]
Fri Feb 21 16:25:08 2003 UTC (11 years, 1 month ago) by toy
Branch: MAIN
CVS Tags: cold-pcl-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2, remove_negative_zero_not_zero
Branch point for: cold-pcl, release-18e-branch
Changes since 1.19: +19 -3 lines
Diff to previous 1.19
Fix bug when looping over hash values/keys where we were setting the
value and key to NIL on the last iteration, which doesn't work if we
have type declarations for the value/key.

Revision 1.19 - (view) (annotate) - [select for diffs]
Thu Feb 20 16:39:50 2003 UTC (11 years, 1 month ago) by gerd
Branch: MAIN
Changes since 1.18: +2 -3 lines
Diff to previous 1.18
	* code/loop.lisp (estimate-code-size-1): Use valid-function-name-p.

Revision 1.18 - (view) (annotate) - [select for diffs]
Wed Dec 4 01:37:00 2002 UTC (11 years, 4 months ago) by toy
Branch: MAIN
Changes since 1.17: +10 -3 lines
Diff to previous 1.17
Port of SBCL's changes:

0.7.10.2:
	Fix remaining LOOP bugs from GCL ansi-tests
	... duplicate variable names (at any level) signal an error at
		macroexpansion time;
	... IT is only a special loop symbol in the first clause of a
		conditional execution clause.

Revision 1.17 - (view) (annotate) - [select for diffs]
Tue Nov 26 20:04:08 2002 UTC (11 years, 4 months ago) by toy
Branch: MAIN
Changes since 1.16: +18 -3 lines
Diff to previous 1.16
From Gerd Moellmann, porting Christophe's SBCL's change, with a few
additions to handle the loops

	(loop for i from 1 to 10 collect i always (< i 20))

	(loop ... thereis i collect i)

correctly.

Revision 1.16 - (view) (annotate) - [select for diffs]
Mon Nov 25 18:57:29 2002 UTC (11 years, 4 months ago) by toy
Branch: MAIN
Changes since 1.15: +15 -4 lines
Diff to previous 1.15
A better solution for the loop destructuring bug.  From Gerd Moellmann
who got this from SBCL.

Revision 1.15 - (view) (annotate) - [select for diffs]
Fri Nov 22 18:13:08 2002 UTC (11 years, 4 months ago) by toy
Branch: MAIN
Changes since 1.14: +24 -20 lines
Diff to previous 1.14
From Gerd Moellmann, "canniablizing CVS SBCL":

 * Use *PACKAGE* if no IN or OF preposition follows BEING THE SYMBOLS
   etc.

 * Treat DOWNTO like UPTO in (loop for i downto 10 ...).

 * Handle the strange REPEAT cases in the ANSI test.

Revision 1.14 - (view) (annotate) - [select for diffs]
Fri Nov 22 16:28:28 2002 UTC (11 years, 4 months ago) by toy
Branch: MAIN
Changes since 1.13: +16 -6 lines
Diff to previous 1.13
From Gerd Moellmann:

o Add ABOVE keyword for loops
o Handle nil in destructuring bindings.
o Put proper blocks for named loops (and unnamed loops)
o Signal program-error for loop expansion errors
o Handle bogus INTO vars

Revision 1.13 - (view) (annotate) - [select for diffs]
Thu Nov 14 04:12:37 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.12: +9 -13 lines
Diff to previous 1.12
Fix two loop bugs:
o (loop for nil being the hash-keys of (make-hash-table) count t)
o (loop for k being the hash-keys of (make-hash-table) using
  (hash-value (v1 . v2)) count t)

From Gerd Moellmann.

Revision 1.12 - (view) (annotate) - [select for diffs]
Tue Jul 30 16:40:28 2002 UTC (11 years, 8 months ago) by toy
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.11: +12 -3 lines
Diff to previous 1.11
From Alexey Dejneka via SBCL:

o Declare WITH-introduced variables
o Compound form must follow INITIALLY, FINALLY, DO.

Revision 1.11 - (view) (annotate) - [select for diffs]
Sat Jul 6 00:58:04 2002 UTC (11 years, 9 months ago) by toy
Branch: MAIN
Changes since 1.10: +5 -4 lines
Diff to previous 1.10
Correct a couple of bugs found by the CLOCC ANSI tests:

o We weren't accepting loops of the form

  (LOOP FOR I BY (INCF X) FROM ...)

  (See the example in 6.1.2.1.1 of the CLHS).

o PRESENT-SYMBOL means internal and external symbols of a package.

Revision 1.4.2.3 - (view) (annotate) - [select for diffs]
Sat Mar 23 18:50:05 2002 UTC (12 years ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18d
Changes since 1.4.2.2: +9 -6 lines
Diff to previous 1.4.2.2 , to branch point 1.4 , to next main 1.34
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation
for release tagging 18d.

Revision 1.10 - (view) (annotate) - [select for diffs]
Thu Oct 4 13:21:45 2001 UTC (12 years, 6 months ago) by toy
Branch: MAIN
Changes since 1.9: +9 -6 lines
Diff to previous 1.9
Patch stolen from SBCL bug 81.

Loop doesn't handle loops like

(loop with (a b) = '(1 2)
      and (c d) = '(3 4)
      return (list a b c d))

correctly because it fails to destructure the variables correctly.

Revision 1.4.2.2 - (view) (annotate) - [select for diffs]
Tue May 23 16:36:36 2000 UTC (13 years, 10 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18c
Changes since 1.4.2.1: +10 -3 lines
Diff to previous 1.4.2.1 , to branch point 1.4
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

Revision 1.9 - (view) (annotate) - [select for diffs]
Fri Mar 10 11:59:37 2000 UTC (14 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.8: +7 -7 lines
Diff to previous 1.8
o The {single,double,long}-float-{positive,negative}-infinity symbols
  are in the EXTENSIONS package on CMUCL. Fix from Peter Van Eynde.

Revision 1.8 - (view) (annotate) - [select for diffs]
Fri Mar 19 13:45:50 1999 UTC (15 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.7: +9 -2 lines
Diff to previous 1.7
Use infinities in ansi-loop::*loop-minimax-type-infinities-alist*; from
Raymond Toy.

Revision 1.4.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:22:07 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.4: +3 -3 lines
Diff to previous 1.4
This (huge) revision brings the RELENG_18 branch up to the current HEAD.
Note code/unix-glib2.lisp not yet included -- not sure it is ready to go.

Revision 1.7 - (view) (annotate) - [select for diffs]
Fri May 1 01:02:55 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6
Remove the remnants of the 'common type specifier.

Revision 1.6 - (view) (annotate) - [select for diffs]
Tue Feb 3 19:15:56 1998 UTC (16 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.5: +1 -1 lines
Diff to previous 1.5
Fix the CMUCL header.

Revision 1.5 - (view) (annotate) - [select for diffs]
Tue Feb 3 19:02:14 1998 UTC (16 years, 2 months ago) by pw
Branch: MAIN
Changes since 1.4: +1 -1 lines
Diff to previous 1.4
String streams were returning non-existent type 'string-char instead
of 'base-char. Also, loop was barfing on base-char declaration wanting
instead to see string-char. Simply fixed.

Revision 1.4 - (view) (annotate) - [select for diffs]
Mon Oct 31 04:11:27 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.3: +4 -0 lines
Diff to previous 1.3
Fix headed boilerplate.

Revision 1.3 - (view) (annotate) - [select for diffs]
Sat Oct 29 05:00:17 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.2: +8 -9 lines
Diff to previous 1.2
More correct declaration hack.

Revision 1.2 - (view) (annotate) - [select for diffs]
Sat Oct 29 04:38:46 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.1: +9 -1 lines
Diff to previous 1.1
Fix of-type to weaken declaration when the init is not of the right type.

Revision 1.1 - (view) (annotate) - [select for diffs]
Wed Oct 5 16:05:40 1994 UTC (19 years, 6 months ago) by ram
Branch: MAIN
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5