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

Log of /src/code/seq.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.59 - (view) (annotate) - [select for diffs]
Thu Dec 9 05:13:50 2010 UTC (3 years, 4 months ago) by rtoy
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, snapshot-2011-01, snapshot-2011-02, snapshot-2011-03, snapshot-2011-04, snapshot-2011-06, snapshot-2011-07, snapshot-2011-09
Branch point for: cross-sol-x86-branch
Changes since 1.58: +6 -2 lines
Diff to previous 1.58
SUBSEQ was sometimes crashing lisp when the end index was less than
the start.  This was due to one of two things:  The result sequence
was created with a negative length, creating invalid objects, or
accessing the invalid object would cause a segfault.

code/seq.lisp:
o Declare the type of LENGTH in MAKE-SEQUENCE-OF-TYPE better.  It's
  not a fixnum, but an index (non-negative fixnum).  This should catch
  any mistakes where we try to create sequences of negative length.
o Explicitly catch invalid START and END indices in VECTOR-SUBSEQ* and
  LIST-SUBSEQ* and signal an error

general-info/release-20c.txt:
o Document bugfix.

Revision 1.58 - (view) (annotate) - [select for diffs]
Tue Apr 20 17:57:45 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_20b, 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, sparc-tramp-assem-2010-07-19, sparc-tramp-assem-base
Branch point for: RELEASE-20B-BRANCH, cross-sparc-branch, sparc-tramp-assem-branch
Changes since 1.57: +14 -14 lines
Diff to previous 1.57
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.57 - (view) (annotate) - [select for diffs]
Mon Apr 19 02:18:04 2010 UTC (4 years ago) by rtoy
Branch: MAIN
Changes since 1.56: +48 -48 lines
Diff to previous 1.56
Remove _N"" reader macro from docstrings when possible.

Revision 1.56 - (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.55: +61 -59 lines
Diff to previous 1.55
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.55.12.1 - (view) (annotate) - [select for diffs]
Thu Feb 25 20:34:51 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-2-branch
Changes since 1.55: +61 -59 lines
Diff to previous 1.55 , to next main 1.59
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.55.10.2 - (view) (annotate) - [select for diffs]
Wed Feb 10 02:42:11 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-2010-03-18-1300, intl-branch-working-2010-02-11-1000, intl-branch-working-2010-02-19-1000
Changes since 1.55.10.1: +59 -59 lines
Diff to previous 1.55.10.1 , to branch point 1.55 , to next main 1.59
Mark translatable strings; update cmucl.pot and ko/cmucl.po
accordingly.

Revision 1.55.10.1 - (view) (annotate) - [select for diffs]
Mon Feb 8 17:15:49 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
Changes since 1.55: +3 -1 lines
Diff to previous 1.55
Add (intl:textdomain "cmucl") to the files to set the textdomain.

Revision 1.55.8.1 - (view) (annotate) - [select for diffs]
Tue Nov 3 02:42:36 2009 UTC (4 years, 5 months ago) by rtoy
Branch: amd64-dd-branch
Changes since 1.55: +5 -5 lines
Diff to previous 1.55 , to next main 1.59
Hack to get this to run because kernel:index is still a 32-bit fixnum
instead of the 64-bit fixnum we want.

Revision 1.55 - (view) (annotate) - [select for diffs]
Thu Jul 2 21:00:48 2009 UTC (4 years, 9 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.54: +2 -3 lines
Diff to previous 1.54
boot-2009-07.lisp:
o Bootstrap file needed to compile this change (because the current
  shrink-vector derive-type optimizer didn't handle union types).

compiler/fndb.lisp:
o Make the compiler warn if the result of lisp::shrink-vector is not
  used.  This is a problem because the compiler doesn't know that
  shrink-vector destructively modifies the length of a vector.  As a
  partial solution, warn the user if the result of shrink-vector is
  not.

code/hash-new.lisp:
code/seq.lisp:
o Make sure the result of shrink-vector is used, to get rid of a new
  compiler warning.

code/unidata.lisp:
o Modify %unicode-full-case so that it doesn't use shrink-vector
  anymore.

compiler/seqtran.lisp:
o Fix shrink-vector derive-type optimizer to handle union types.

tools/build-unidata.lisp:
o Fix typo that someone got in.
o Make sure the result of shrink-vector is used, to get rid of a new
  compiler warning.

Revision 1.54 - (view) (annotate) - [select for diffs]
Thu Jun 11 16:03:59 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16, snapshot-2009-07
Branch point for: portable-clx-branch
Changes since 1.53: +47 -19 lines
Diff to previous 1.53
Merge Unicode work to trunk.  From label
unicode-utf16-extfmt-2009-06-11.

Revision 1.53.8.9 - (view) (annotate) - [select for diffs]
Tue Jun 9 17:42:12 2009 UTC (4 years, 10 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-utf16-extfmt-2009-06-11
Changes since 1.53.8.8: +4 -2 lines
Diff to previous 1.53.8.8 , to branch point 1.53 , to next main 1.59
Add comment that it's not clear how to make remove-duplicates work
with surrogate pairs.

Revision 1.53.8.8 - (view) (annotate) - [select for diffs]
Wed May 27 17:39:51 2009 UTC (4 years, 10 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-06
Changes since 1.53.8.7: +1 -33 lines
Diff to previous 1.53.8.7 , to branch point 1.53
code/seq.lisp:
o Moved STRING-REVERSE* and STRING-NREVERSE* to string.lisp because we
  need to use WITH-STRING.

code/string.lisp:
o Fix STRING-REVERSE* and STRING-NREVERSE* which were not properly
  handling non-simple strings.  The following tests were not returning
  "edcba":

(let* ((x (make-array 10
		      :initial-contents "abcdefghij"
		      :fill-pointer 5
		      :element-type 'base-char))
       (y (reverse x)))
  y)

(let* ((x (make-array 10
		      :initial-contents "abcdefghij"
		      :fill-pointer 5
		      :element-type 'character))
       (y (nreverse x)))
  y)

Revision 1.53.8.7 - (view) (annotate) - [select for diffs]
Thu May 21 12:53:54 2009 UTC (4 years, 10 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.53.8.6: +2 -2 lines
Diff to previous 1.53.8.6 , to branch point 1.53
Oops.  Fix another typo.

Revision 1.53.8.6 - (view) (annotate) - [select for diffs]
Sun May 17 12:33:16 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.53.8.5: +2 -2 lines
Diff to previous 1.53.8.5 , to branch point 1.53
Fix typo.

Revision 1.53.8.5 - (view) (annotate) - [select for diffs]
Tue May 12 16:31:49 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.53.8.4: +2 -1 lines
Diff to previous 1.53.8.4 , to branch point 1.53
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.53.8.4 - (view) (annotate) - [select for diffs]
Fri May 8 14:59:03 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.53.8.3: +2 -2 lines
Diff to previous 1.53.8.3 , to branch point 1.53
Fix typo in STRING-REMOVE-DUPLICATES*.

Revision 1.53.8.3 - (view) (annotate) - [select for diffs]
Sun May 3 13:54:00 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.53.8.2: +30 -13 lines
Diff to previous 1.53.8.2 , to branch point 1.53
From Paul.  Make a note that REMOVE-DUPLICATES and DELETE-DUPLICATES
does the wrong thing with surrogate pairs.  (This needs to be fixed.)

Revision 1.53.8.2 - (view) (annotate) - [select for diffs]
Mon Apr 20 14:26:48 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-05
Changes since 1.53.8.1: +27 -34 lines
Diff to previous 1.53.8.1 , to branch point 1.53
From Paul:

    Here's a version of [n]string-(up|down)case that handles non-BMP
    characters.  Also added functionless stubs for normalization
    forms.  Improved string-reverse* and implemented string-nreverse*
    in a way that shouldn't cons (not the original way I worked out,
    which might be faster but is quite complicated).

    (The glyph builder now stops when it hits a combining character
    that's out of sequence (canonical order)---I'm not sure whether or
    not that's the Right Thing to do)

Revision 1.53.8.1 - (view) (annotate) - [select for diffs]
Sat Apr 18 12:27:05 2009 UTC (5 years ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.53: +54 -7 lines
Diff to previous 1.53
More updates from Paul.

code/seq.lisp:
o Update SEQ-DISPATCH to allow a special dispatch form for strings.
o Implement STRING-REVERSE* that correctly handles our UTF-16 strings.
o Implement STRING-NREVERSE*, but this needs work to reduce consing.

code/string.lisp:
o Add GLYPH and SGLYPH to return the glyph from a position in a
  string.

code/exports.lisp:
o Export GLYPH and SGLYPH

Revision 1.53 - (view) (annotate) - [select for diffs]
Fri Jun 30 18:41:22 2006 UTC (7 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, pre-telent-clx, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, 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, 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, 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, unicode-utf16-base, unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, unicode-utf16-extfmt-2009-03-27, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12, unicode-utf16-string-support, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Branch point for: RELEASE-19F-BRANCH, release-19d-branch, release-19e-branch, sse2-branch, sse2-packed-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.52: +8 -1 lines
Diff to previous 1.52
This large checkin merges the double-double float support to HEAD.
The merge is from the tag "double-double-irrat-end".  The
double-double branch is now obsolete.

The code should build without double-double support (tested on sparc)
as well as build with double-double support (tested also on sparc).

Revision 1.52.6.1.4.1 - (view) (annotate) - [select for diffs]
Sat Jun 24 19:40:33 2006 UTC (7 years, 9 months ago) by rtoy
Branch: double-double-array-branch
CVS Tags: double-double-array-checkpoint, double-double-irrat-end, double-double-irrat-start
Changes since 1.52.6.1: +5 -1 lines
Diff to previous 1.52.6.1
Tell COERCE how to coerce something to a (complex
double-double-float).

Revision 1.52.6.1 - (view) (annotate) - [select for diffs]
Fri Jun 9 16:04:57 2006 UTC (7 years, 10 months ago) by rtoy
Branch: double-double-branch
CVS Tags: double-double-array-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-reader-base, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1
Branch point for: double-double-array-branch, double-double-reader-branch
Changes since 1.52: +4 -1 lines
Diff to previous 1.52 , to next main 1.59
Add basic support for kernel:double-double-float type.  The primitive
type is there, and basic arithmetic operations work as well as PRINT.
But many things do not work: No reader, formatted output, many mixed
type arithmetic operations, special functions are just double-float
values, coerced to double-double-float.

compiler/generic/interr.lisp:
o Add new error

compiler/generic/new-genesis.lisp:
o Dump double-double-float objects (barely tested)

compiler/generic/primtype.lisp:
o Tell compiler about the new primitive type double-double-float.

compiler/generic/vm-fndb.lisp:
o Make double-double-float-p a known function.

compiler/generic/vm-type.lisp:
o Update FLOAT-FORMAT-NAME to include double-double-float

compiler/generic/vm-typetran.lisp:
o Tell compiler about double-double-float type predicate.

compiler/sparc/float.lisp:
o Add necessary vops to move double-double-float args, store and load
  double-double-floats to/from the double-double-stack,
  double-double-reg moves, box and unbox double-double-floats, move
  double-double-floats to and from args
o Add necessary vops to create a double-double-float and to extract
  the high and low parts out of a double-double-float.

compiler/sparc/parms.lisp:
o Define double-double-float-digits

compiler/sparc/type-vops.lisp:
o Define double-double-float type vop
o Adjust number hierarchy to include double-double-float

compiler/sparc/vm.lisp:
o Define the necessary storage class and storage base for the
  double-double-reg and double-double-stack.

lisp/gencgc.c:
o Tell GC about double-double-float objects.

lisp/purify.c:
o Tell purify about double-double-float objects.

code/class.lisp:
o Add the new double-double-float class.

code/exports.lisp:
o Add the necessary symbols to the various packages.  (This is
  important to get right otherwise there's confusion on what symbol
  really represents double-double-float stuff.)

code/float.lisp:
o Implement some of the necessary functions to support
  double-double-float.

code/hash-new.lisp:
o Hash double-double-floats by xor'ing the hashes of each double-float
  part.  (Is that good enough?)

code/irrat.lisp:
o Implement the special functions by calling the double-float versions
  and coercing the result to a double-double-float.  This is needed to
  get type-derivation working, but the precise value isn't that
  important right now.  We'll have to implement them later.

code/kernel.lisp:
o Make make-double-double-float, double-double-hi, and
  double-double-lo known functions.

code/lispinit.lisp:
o Register the :double-double float feature.

code/load.lisp:
o Add FOP for reading double-double-float values from fasls.  (Barely
  tested, if at all.)

code/numbers.lisp:
o Implement basic arithmetic operations for double-double-floats.
  This needs quite a bit of work to clean up, but most things work.

code/pred.lisp:
o Tell the type system about double-double-float type.

code/print.lisp:
o Add very rudimentary printing for double-double-float.  Basically
  copied from code written by Richard Fateman, with permission.

code/seq.lisp:
o Tell coerce how to coerce things to a double-double-float.

code/type.lisp:
o Tell type system about the new float format double-double-float and
  how numeric contagion works with double-double-float.

code/dump.lisp:
o Tell dumper how to dump double-double-float values to a fasl.

compiler/float-tran.lisp:
o Add appropriate deftransforms to handle conversion of things to
  double-double-float and from from double-double-float to other float
  types.
o The basic implmentation of double-double-float arithmetic is also
  here.
o Add deftransforms to tell the compiler how to do basic arithmetic
  and comparisions on double-double-float numbers.

compiler/srctran.lisp:
o Fix a bug in interval-range-info when :low is 0dd0 and :high is 0.
  We weren't returning the right value, which confuses interval-div,
  which caused an infinite loop because we couldn't split the
  numerator into positive and negative parts.
o Tell other parts about double-double-float.

Revision 1.51.2.2 - (view) (annotate) - [select for diffs]
Mon Dec 19 01:09:53 2005 UTC (8 years, 4 months ago) by rtoy
Branch: ppc_gencgc_branch
CVS Tags: ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06
Changes since 1.51.2.1: +0 -0 lines
Diff to previous 1.51.2.1 , to branch point 1.51 , to next main 1.59
Merge code from main branch of 2005-12-17 to ppc gencgc branch.  Still
doesn't work of course.

Revision 1.51.2.1 - (view) (annotate) - [select for diffs]
Sun May 15 20:01:21 2005 UTC (8 years, 11 months ago) by rtoy
Branch: ppc_gencgc_branch
Changes since 1.51: +4 -2 lines
Diff to previous 1.51
Merge snapshot-2005-05 to this branch.

Revision 1.52 - (view) (annotate) - [select for diffs]
Fri Feb 25 18:21:21 2005 UTC (9 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: double-double-base, release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, 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
Branch point for: double-double-branch, release-19b-branch, release-19c-branch
Changes since 1.51: +4 -2 lines
Diff to previous 1.51
A sequence type of NULL isn't too hairy for the sequence functions.

Revision 1.51 - (view) (annotate) - [select for diffs]
Tue Dec 21 17:59:58 2004 UTC (9 years, 3 months ago) by rtoy
Branch: MAIN
CVS Tags: ppc_gencgc_snap_2005-05-14, snapshot-2005-01, snapshot-2005-02
Branch point for: ppc_gencgc_branch
Changes since 1.50: +4 -1 lines
Diff to previous 1.50
(coerce #c(1 2) '(complex float)) was causing an error.  Fix it.

(From sbcl-devel mailing list.)

Revision 1.50 - (view) (annotate) - [select for diffs]
Fri Oct 22 18:17:10 2004 UTC (9 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-11, snapshot-2004-12
Changes since 1.49: +10 -4 lines
Diff to previous 1.49
Change RESULT-TYPE-OR-LOSE to signal an error if the sequence type is
too hairy for use to handle.  This is a workaround for the ansi-test
MAP.48:

    (map '(or (vector t 10) (vector t 5)) #'identity '(1 2 3 4 5))

This used to cause an infinite loop.  Now we get an error.

Need to work on this.

Revision 1.49 - (view) (annotate) - [select for diffs]
Mon Sep 27 21:17:23 2004 UTC (9 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-10
Changes since 1.48: +2 -2 lines
Diff to previous 1.48
(remove-duplicates (list 0 1 2 0 1 2 0 1 2 0 1 2) :start 3 :end 9) =>
(0 1 2 0 1 2)

instead of (0 1 2 0 1 2 0 1 2).

Bug fix from Peter Graves, via cmucl-imp, 2004-09-27.

Revision 1.48 - (view) (annotate) - [select for diffs]
Sat Jun 14 10:58:10 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
CVS Tags: amd64-merge-start, dynamic-extent-base, lisp-executable-base, mod-arith-base, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08, snapshot-2004-09, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, lisp-executable, mod-arith-branch, release-19a-branch, sparc_gencgc_branch
Changes since 1.47: +5 -5 lines
Diff to previous 1.47
	Fix for (search '(1 2) '(3 4 0 1) :test #'<), which should
	return 0.  From Wolfhard Buß on cmucl-imp.

	* src/code/seq.lisp (search-compare-list-list)
	(search-compare-list-vector, search-compare-vector-list)
	(search-compare-vector-vector): Reverse arguments to
	compare-elements.

Revision 1.47 - (view) (annotate) - [select for diffs]
Mon May 26 20:20:31 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.46: +3 -1 lines
Diff to previous 1.46
	Fix code signaling type-errors which did not have :datum and/or
	:expected-type, which lead to the conditions which were not
	displayable because the corresponding condition slots are
	not bound.

	* src/code/seq.lisp (coerce):
	* src/code/list.lisp (nreconc):
	* src/code/interr.lisp (invalid-array-index-error):
	* src/code/bignum.lisp (bignum-to-float):
	* src/code/byte-interp.lisp (%byte-car, %byte-cdr): Fix
	type-errors to include :datum and/or :expected-type.

	Add &more handling to the byte-compiler and -interpreter.
	Reported by Paul Werkowski on cmucl-imp.

	* src/compiler/byte-comp.lisp (make-xep-for): Handle &more.

	* src/code/byte-interp.lisp (hairy-byte-function): Change
	type of rest-arg-p slot.
	(invoke-xep): Handle &more.

Revision 1.46 - (view) (annotate) - [select for diffs]
Thu Jan 23 21:05:35 2003 UTC (11 years, 2 months 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.45: +3 -3 lines
Diff to previous 1.45
From Eric Marsden:

    fix typos in comments, signal more specific error types, remove
    some stale code, fix a few compiler warnings in the runtime.

Revision 1.45 - (view) (annotate) - [select for diffs]
Fri Dec 20 17:59:44 2002 UTC (11 years, 4 months ago) by toy
Branch: MAIN
Changes since 1.44: +15 -6 lines
Diff to previous 1.44
Coercing a number, make sure the resulting coerced number is of the
right type.  For example (coerce 2 '(single-float 3.0 4.0)) now
signals an error.

Based on a patch in SBCL by Christophe Rhodes, 2002/16/12.

Revision 1.44 - (view) (annotate) - [select for diffs]
Wed Nov 20 16:17:12 2002 UTC (11 years, 4 months ago) by toy
Branch: MAIN
Changes since 1.43: +14 -10 lines
Diff to previous 1.43
o Check that the args are sequences for some, every, etc.
o NSUBSTITUTE and friends were not handling the :from-end arg
  correctly.  Use the version from SBCL.

Revision 1.43 - (view) (annotate) - [select for diffs]
Tue Nov 19 18:23:36 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.42: +30 -44 lines
Diff to previous 1.42
o Remove the VECTOR-COUNT and LIST-COUNT and use VECTOR-COUNT-IF and
  LIST-COUNT-IF instead.
o Make count use these macros instead and to honor :from-end, which
  was previously ignored.  (Based on the code from SBCL).

Revision 1.42 - (view) (annotate) - [select for diffs]
Tue Nov 19 14:39:50 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.41: +37 -8 lines
Diff to previous 1.41
MAKE-SEQUENCE checks the length is compatible for the types 'NULL and
'CONS.

Revision 1.41 - (view) (annotate) - [select for diffs]
Wed Nov 13 19:47:18 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.40: +23 -13 lines
Diff to previous 1.40
Make REMOVE and friends handle negative or bignum :count arguments.
Bug noted by Paul Dietz, fix by Gerd Moellmann.

Revision 1.40 - (view) (annotate) - [select for diffs]
Mon Oct 28 22:24:01 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.39: +53 -56 lines
Diff to previous 1.39
Entomotomy bug remove-malfunctions-with-start-end-and-from-end

Fix remove to handle combinations of :start, :end, and :from
correctly.  From Gerd Moellmann.

Revision 1.39.2.1 - (view) (annotate) - [select for diffs]
Fri Oct 4 23:13:35 2002 UTC (11 years, 6 months ago) by pmai
Branch: UNICODE-BRANCH
Changes since 1.39: +49 -7 lines
Diff to previous 1.39 , to next main 1.59
Checked in Brian Spilsbury's experimental Unicode, locales, and dialect
support patchset.  This lives on its own branch, so that people can
play with it and tweak it, without disturbing 18e release engineering
on the main branch.  Bootstrapping has only been tried on LINKAGE_TABLE
x86/Linux builds.  A working cross-compile script is checked in under
bootfiles/19a/boot1-cross-unicode.lisp.  The script still leaves you
with some interactive errors, on the cross compile, which you should
answer with 2.  See the mailing list for more information.

Revision 1.39 - (view) (annotate) - [select for diffs]
Fri Oct 4 16:24:03 2002 UTC (11 years, 6 months ago) by pmai
Branch: MAIN
CVS Tags: UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.38: +45 -43 lines
Diff to previous 1.38
Slight reformulation of the make-sequence code, which makes the overall
logic slightly clearer, and also aids the Unicode merger/branching
effort.

Revision 1.38 - (view) (annotate) - [select for diffs]
Wed Oct 2 17:28:14 2002 UTC (11 years, 6 months ago) by toy
Branch: MAIN
Changes since 1.37: +9 -3 lines
Diff to previous 1.37
CONCATENATE and MAP were allowing output-type-specs of SIMPLE-ARRAY
and ARRAY, which aren't sequences.  Catch those errors.

Revision 1.37 - (view) (annotate) - [select for diffs]
Thu Aug 8 15:28:54 2002 UTC (11 years, 8 months ago) by toy
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE
Changes since 1.36: +76 -45 lines
Diff to previous 1.36
If the sequence type has a length, we check to see that the length
matches the length of the sequence type.

Revision 1.36 - (view) (annotate) - [select for diffs]
Tue Jul 30 16:18:46 2002 UTC (11 years, 8 months ago) by toy
Branch: MAIN
Changes since 1.35: +7 -1 lines
Diff to previous 1.35
(coerce <rational> '(complex float)) is a (complex float), not a
rational.

(Patch from Wolfhard Buss.)

Revision 1.23.2.8 - (view) (annotate) - [select for diffs]
Wed Sep 27 18:26:27 2000 UTC (13 years, 6 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18c, RELEASE_18d
Changes since 1.23.2.7: +133 -67 lines
Diff to previous 1.23.2.7 , to branch point 1.23 , to next main 1.59
Rework the sequence functions MAP, SOME, EVERY, NOTANY, and NOTEVERY.
Work through lists in parallel rather than applying elt at each
iteration which scales far better as the list lengths increase.
Further take care to allow circular lists, so long as one of the
sequences is bounded. Based on a contribution from Colin Walters.

Revision 1.35 - (view) (annotate) - [select for diffs]
Wed Sep 27 18:26:08 2000 UTC (13 years, 6 months ago) by dtc
Branch: MAIN
Changes since 1.34: +133 -67 lines
Diff to previous 1.34
Rework the sequence functions MAP, SOME, EVERY, NOTANY, and NOTEVERY.
Work through lists in parallel rather than applying elt at each
iteration which scales far better as the list lengths increase.
Further take care to allow circular lists, so long as one of the
sequences is bounded. Based on a contribution from Colin Walters.

Revision 1.23.2.7 - (view) (annotate) - [select for diffs]
Mon Jun 12 13:10:00 2000 UTC (13 years, 10 months ago) by dtc
Branch: RELENG_18
Changes since 1.23.2.6: +3 -3 lines
Diff to previous 1.23.2.6 , to branch point 1.23
Correct the documentation for find-if and find-if-not.

Revision 1.34 - (view) (annotate) - [select for diffs]
Mon Jun 12 13:09:47 2000 UTC (13 years, 10 months ago) by dtc
Branch: MAIN
Changes since 1.33: +3 -3 lines
Diff to previous 1.33
Correct the documentation for find-if and find-if-not.

Revision 1.23.2.6 - (view) (annotate) - [select for diffs]
Sun Jul 19 01:46:11 1998 UTC (15 years, 9 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.23.2.5: +2 -2 lines
Diff to previous 1.23.2.5 , to branch point 1.23
Fix typo in previous patch.

Revision 1.23.2.5 - (view) (annotate) - [select for diffs]
Sun Jul 19 01:42:52 1998 UTC (15 years, 9 months ago) by dtc
Branch: RELENG_18
Changes since 1.23.2.4: +9 -10 lines
Diff to previous 1.23.2.4 , to branch point 1.23
Cleanup the error handling in result-type-or-lose.

Revision 1.33 - (view) (annotate) - [select for diffs]
Sun Jul 19 01:41:26 1998 UTC (15 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.32: +9 -10 lines
Diff to previous 1.32
Cleanup the error handling in result-type-or-lose.

Revision 1.23.2.4 - (view) (annotate) - [select for diffs]
Sun Jul 19 01:06:10 1998 UTC (15 years, 9 months ago) by dtc
Branch: RELENG_18
Changes since 1.23.2.3: +29 -8 lines
Diff to previous 1.23.2.3 , to branch point 1.23
Update from the current main branch.

Revision 1.32 - (view) (annotate) - [select for diffs]
Thu Jul 16 13:30:50 1998 UTC (15 years, 9 months ago) by pw
Branch: MAIN
Changes since 1.31: +0 -0 lines
Diff to previous 1.31
Fixes and improvements to July-14 commit dealing with condition types
in calls to error. From Douglas.

Revision 1.31 - (view) (annotate) - [select for diffs]
Tue Jul 14 18:12:20 1998 UTC (15 years, 9 months ago) by pw
Branch: MAIN
Changes since 1.30: +29 -8 lines
Diff to previous 1.30
This revision merges in many of the fixes for ANSI condition types
in various calls to ERROR. Those easily handled by using new condition
types simple-file-error and simple-program-error are included.

The only functional change here is that the function CHARACTER no longer
accepts an integer argument so as to be ANSI compliant. This may
break some code.

Revision 1.23.2.3 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:22:27 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
Changes since 1.23.2.2: +166 -125 lines
Diff to previous 1.23.2.2 , to branch point 1.23
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.30 - (view) (annotate) - [select for diffs]
Thu Jun 18 07:06:44 1998 UTC (15 years, 10 months ago) by dtc
Branch: MAIN
Changes since 1.29: +72 -70 lines
Diff to previous 1.29
Coerce must signal a type-error when requested to coerce to the
empty-type; problem noted by Peter VanEynde.

Revision 1.29 - (view) (annotate) - [select for diffs]
Sat May 9 22:15:15 1998 UTC (15 years, 11 months ago) by pw
Branch: MAIN
Changes since 1.28: +27 -9 lines
Diff to previous 1.28
Elt now signals TYPE-ERROR when index is too large. Required by ANSI spec.

Revision 1.28 - (view) (annotate) - [select for diffs]
Fri Apr 3 03:45:39 1998 UTC (16 years ago) by dtc
Branch: MAIN
Changes since 1.27: +2 -2 lines
Diff to previous 1.27
Fix the handling of the :key keyword argument for many of the list
functions which did not handle a :key of Nil. Noted by Paul Dietz.

Revision 1.27 - (view) (annotate) - [select for diffs]
Sat Mar 21 08:12:05 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.26: +8 -1 lines
Diff to previous 1.26
Long-float support.

Revision 1.26 - (view) (annotate) - [select for diffs]
Sat Feb 14 06:51:30 1998 UTC (16 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.25: +68 -54 lines
Diff to previous 1.25
Have the following sequence functions accept a :count of NIL:
delete, delete-if, delete-if-not,
remove, remove-if, remove-if-not,
substitute, substitute-if, substitute-if-not,
nsubstitute, nsubstitute-if, nsubstitute-if-not.

Revision 1.23.2.2 - (view) (annotate) - [select for diffs]
Tue Sep 9 00:49:25 1997 UTC (16 years, 7 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18a
Changes since 1.23.2.1: +12 -6 lines
Diff to previous 1.23.2.1 , to branch point 1.23
Merge remove-duplicates fix from 1.25.

Revision 1.23.2.1 - (view) (annotate) - [select for diffs]
Wed Sep 3 01:02:31 1997 UTC (16 years, 7 months ago) by dtc
Branch: RELENG_18
Changes since 1.23: +14 -11 lines
Diff to previous 1.23
The returned vector element type of some sequence functions, including
coerce, was being lost. Patch result-type-or-lose to use
(type-specifier (specifier-type type)) to find a suitable result type
return than just returning 'vector.

Revision 1.25 - (view) (annotate) - [select for diffs]
Wed Sep 3 01:00:18 1997 UTC (16 years, 7 months ago) by dtc
Branch: MAIN
Changes since 1.24: +14 -11 lines
Diff to previous 1.24
The returned vector element type of some sequence functions, including
coerce, was being lost. Patch result-type-or-lose to use
(type-specifier (specifier-type type)) to find a suitable result type
return than just returning 'vector.

Revision 1.24 - (view) (annotate) - [select for diffs]
Wed Aug 6 13:42:18 1997 UTC (16 years, 8 months ago) by pw
Branch: MAIN
Changes since 1.23: +12 -6 lines
Diff to previous 1.23
Minor doc changes to delete-duplicates and remove-duplicates.
Reverse argument ordering in call to test function in list-remove-duplicates*
so as to be consistent with CLtL2.

Revision 1.23 - (view) (annotate) - [select for diffs]
Sat Feb 22 12:49:39 1997 UTC (17 years, 1 month ago) by pw
Branch: MAIN
Branch point for: RELENG_18
Changes since 1.22: +7 -3 lines
Diff to previous 1.22
Adds some forgotten error messages and a few misc fixes

Revision 1.22 - (view) (annotate) - [select for diffs]
Sat Jan 18 14:30:36 1997 UTC (17 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.21: +14 -3 lines
Diff to previous 1.21
Werkowskis source kit 1.03.7

Revision 1.21 - (view) (annotate) - [select for diffs]
Fri Jul 12 18:05:35 1996 UTC (17 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.20: +14 -16 lines
Diff to previous 1.20
Fixed MAKE-SEQUENCE to not specify make-array initial-element when it is not
specified in the arg so that (vector float) works (as per suggestion of DTC).
Also fixed things to use type system operations so that they should be really
robust in the presence of deftype types, etc.

Revision 1.20 - (view) (annotate) - [select for diffs]
Mon Oct 31 04:11:27 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.19: +1 -3 lines
Diff to previous 1.19
Fix headed boilerplate.

Revision 1.19 - (view) (annotate) - [select for diffs]
Sun Oct 30 18:02:26 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.18: +18 -11 lines
Diff to previous 1.18
Allow coercing to float (meaning single-float.)  Check that numeric
coercions actually return a value of the specified type (which they
might not if the type is not a symbol, e.g. (coerce 0 '(complex float)).
Possibly these should "do the right thing", but it seems better to
error than quietly do the wrong thing.

Revision 1.18 - (view) (annotate) - [select for diffs]
Thu Feb 10 22:39:13 1994 UTC (20 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.17: +35 -69 lines
Diff to previous 1.17
Fixed coerce to use subtypep to analyze the output type spec instead of
checking for magic symbols.

Revision 1.17 - (view) (annotate) - [select for diffs]
Sat Feb 5 11:41:36 1994 UTC (20 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.16: +10 -10 lines
Diff to previous 1.16
Un-broke (coerce x 'single-float)

Revision 1.16 - (view) (annotate) - [select for diffs]
Fri Feb 4 15:25:43 1994 UTC (20 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.15: +79 -76 lines
Diff to previous 1.15
Fixed coerce to call type-expand so that people can coerce to deftypes.

Revision 1.15 - (view) (annotate) - [select for diffs]
Tue Nov 2 16:12:54 1993 UTC (20 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.14: +10 -9 lines
Diff to previous 1.14
Fixed COUNT :TEST-NOT to actually negate the test.

Revision 1.14 - (view) (annotate) - [select for diffs]
Wed Aug 25 01:15:00 1993 UTC (20 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13
Fix compiler warnings.

Revision 1.13 - (view) (annotate) - [select for diffs]
Tue Aug 17 20:48:00 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.12: +22 -1 lines
Diff to previous 1.12
Wrote MAP-INTO.

Revision 1.12 - (view) (annotate) - [select for diffs]
Fri May 15 19:25:14 1992 UTC (21 years, 11 months ago) by wlott
Branch: MAIN
Changes since 1.11: +29 -27 lines
Diff to previous 1.11
Fixed a couple bugs introduced with last mods, plus a few other places
assignments and extra )'s were missed.

Revision 1.11 - (view) (annotate) - [select for diffs]
Fri May 15 17:56:15 1992 UTC (21 years, 11 months ago) by wlott
Branch: MAIN
Changes since 1.10: +135 -119 lines
Diff to previous 1.10
Changed lots of setfs to bindings to suppress warning about setfs causing
problems for argument type proclamations.  Also removed extra )'s.

Revision 1.10 - (view) (annotate) - [select for diffs]
Tue Oct 1 16:12:59 1991 UTC (22 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.9: +69 -72 lines
Diff to previous 1.9
Added :KEY argument to REDUCE.
Fixed SUBSTITUTE & friends to pass arguments to the TEST in the right order.
Fixed SUBSTITUTE not to randomly apply the KEY to the OLD value.
Changed LIST NSUBSTITUTE & friends to work in the :FROM-END case.

Revision 1.9 - (view) (annotate) - [select for diffs]
Tue Aug 13 13:59:31 1991 UTC (22 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8
Merged Mile's fix to remove-duplicates :from-end.

Revision 1.8 - (view) (annotate) - [select for diffs]
Thu May 16 16:03:39 1991 UTC (22 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.7: +34 -18 lines
Diff to previous 1.7
Really fixed output type stuff this time.  Now in the fall-through clauses, we
call OUTPUT-TYPE-OR-LOSE, which uses SUBTYPEP, and guarantees to return one of
LIST, STRING, BIT-VECTOR, VECTOR or NIL (the last enabled by an optional.)

Revision 1.7 - (view) (annotate) - [select for diffs]
Tue May 14 16:24:15 1991 UTC (22 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.6: +30 -28 lines
Diff to previous 1.6
Fixed up concatenate, map and make-sequence-of-type to handle DEFTYPE'ed types
correctly.  COERCE is still broken.

Revision 1.6 - (view) (annotate) - [select for diffs]
Fri Feb 8 13:35:27 1991 UTC (23 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.5: +8 -4 lines
Diff to previous 1.5
New file header with RCS header FILE-COMMENT.

Revision 1.5 - (view) (annotate) - [select for diffs]
Wed Oct 17 03:44:38 1990 UTC (23 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.4: +20 -19 lines
Diff to previous 1.4
Changed nsubstitute-if-not to not declare the :END argument as FIXNUM.
Changed nsubstitute-if to declare the :END arg as fixnum after
defaulting.  Somehow managed to stop myself from rewriting the 
entire file.

Revision 1.4 - (view) (annotate) - [select for diffs]
Tue Oct 9 14:16:41 1990 UTC (23 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.3: +30 -21 lines
Diff to previous 1.3
Changed ELT and %SETELT to check that the index is less than the LENGTH,
which might differ from the array dimension when the array is non-simple.

Revision 1.3 - (view) (annotate) - [select for diffs]
Fri Aug 24 18:13:28 1990 UTC (23 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.2: +37 -37 lines
Diff to previous 1.2
Moved MIPS branch onto trunk; no merge necessary.

Revision 1.2.1.4 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Jul 7 00:14:37 1990 UTC (23 years, 9 months ago) by wlott
Changes since 1.2.1.3: +4 -6 lines
Diff to previous 1.2.1.3 , to next main 1.59
Added single-float and double-float branched to coerce.

Revision 1.2.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Fri Jun 15 12:45:50 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.2.1.2: +12 -7 lines
Diff to previous 1.2.1.2
Added simple-base-string and base-string wherever simple-string or string
occure.

Revision 1.2.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Fri May 25 20:41:49 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.2.1.1: +12 -12 lines
Diff to previous 1.2.1.1
Changed type-specifier to type-specifier-atom so that it would not clash
with kernel:type-specifier.

Revision 1.2.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Apr 11 17:15:10 1990 UTC (24 years ago) by wlott
Changes since 1.2: +12 -15 lines
Diff to previous 1.2
Initial MIPS version.

Revision 1.2 - (view) (annotate) - [select for diffs]
Thu Feb 22 16:33:46 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.1: +0 -14 lines
Diff to previous 1.1
/usr1/lisp/ncode/seq.lisp, 12-Jul-89 13:19:40, Edit by Chiles.
  Moved APPLY-KEY and IDENTITY to list.lisp.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Feb 6 17:26:49 1990 UTC (24 years, 2 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