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

Log of /src/code/print.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.133 - (view) (annotate) - [select for diffs]
Fri Jun 10 17:38:27 2011 UTC (2 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, snapshot-2011-07, snapshot-2011-09
Changes since 1.132: +6 -5 lines
Diff to previous 1.132
Add function to load all unicode data into memory.

This makes it easy to make an executable image that doesn't need
unidata.bin around.  (Should we do this for normal cores?  It seems to
add about 1 MB to the core size.)

code/unidata.lisp:
o Add LOAD-ALL-UNICODE-DATA to load all unicode data.
o Add UNICODE-DATA-LOADED-P to check that unicode data has been
  loaded.

code/print.lisp:
o If unicode data is loaded, don't check for existence of
  *unidata-path*, because we don't need it.

code/exports.lisp:
o Export LOAD-ALL-UNICODE-DATA.

general-info/release-20c.txt:
o Update info

Revision 1.132 - (view) (annotate) - [select for diffs]
Tue May 31 13:26:40 2011 UTC (2 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2011-06
Changes since 1.131: +3 -3 lines
Diff to previous 1.131
Add -unidata option to specify unidata.bin file.

This change requires a cross-compile.  Use boot-2011-04-01-cross.lisp
as the cross-compile script.

bootfiles/20b/boot-2011-04-01-cross.lisp:
o New cross-compile bootstrap file

lisp/lisp.c:
o Recognize -unidata option and setup *UNIDATA-PATH* appropriately.

code/commandline.lisp:
o Add defswitch for unidata so we don't get complaints about unknown
  switch.

code/unidata.lisp:
o Rename +UNIDATA-PATH+ to *UNIDATA-PATH*, since it's not a constant
  anymore.
o Update code to use new name.

code/print.lisp:
o Update code to use *UNIDATA-PATH*

compiler/sparc/parms.lisp:
o Add *UNIDATA-PATH* to list of static symbols.
o Add back in spare-9 and spare-8 static symbols since we need to do a
  cross-compile for this change anyway.

compiler/x86/parms.lisp:
o Add *UNIDATA-PATH* to list of static symbols.
o Reorder the static symbols in a more logical arrangment so that the
  spare symbols are at the end.

i18n/local/cmucl.pot:
o Update

Revision 1.131 - (view) (annotate) - [select for diffs]
Tue Apr 20 17:57:45 2010 UTC (4 years ago) by rtoy
Branch: MAIN
CVS Tags: 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, 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.130: +6 -6 lines
Diff to previous 1.130
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.130 - (view) (annotate) - [select for diffs]
Mon Apr 19 02:18:04 2010 UTC (4 years ago) by rtoy
Branch: MAIN
Changes since 1.129: +20 -20 lines
Diff to previous 1.129
Remove _N"" reader macro from docstrings when possible.

Revision 1.129 - (view) (annotate) - [select for diffs]
Fri Apr 16 12:54:53 2010 UTC (4 years ago) by rtoy
Branch: MAIN
Changes since 1.128: +5 -4 lines
Diff to previous 1.128
PRINC-TO-STRING should bind *PRINT-READABLY* to NIL.

code/print.lisp:
o Add optional *PRINT-READABLY* argument to STRINGIFY-OBJECT.
o Update PRINC-TO-STRING with new docstring and call STRINGIFY-OBJECT
  with *PRINT-READABLY* bound to NIL.

general-info/release-20b.txt:
o Update

Revision 1.128 - (view) (annotate) - [select for diffs]
Fri Apr 16 00:28:07 2010 UTC (4 years ago) by rtoy
Branch: MAIN
Changes since 1.127: +3 -1 lines
Diff to previous 1.127
code/print.lisp:
o WITH-STANDARD-IO-SYNTAX needs to use the standard pprint dispatch
  table.

general-info/release-20b.txt:
o Update

Revision 1.127 - (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.126: +76 -75 lines
Diff to previous 1.126
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.126.6.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.126: +76 -75 lines
Diff to previous 1.126 , to next main 1.133
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.126.4.2 - (view) (annotate) - [select for diffs]
Wed Feb 10 01:53:31 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.126.4.1: +75 -75 lines
Diff to previous 1.126.4.1 , to branch point 1.126 , to next main 1.133
Mark translatable strings; update cmucl.pot and ko/cmucl.po
accordingly.

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

Revision 1.126 - (view) (annotate) - [select for diffs]
Fri Oct 2 13:34:38 2009 UTC (4 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: amd64-dd-start, intl-2-branch-base, intl-branch-base, pre-merge-intl-branch, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03
Branch point for: amd64-dd-branch, intl-2-branch, intl-branch
Changes since 1.125: +5 -2 lines
Diff to previous 1.125
The character attributes for | and ` were set incorrectly which caused
the '|\|| and '|`| to be printed incorrectly.  (Bug reported by
A.M.Raportirenko, cmucl-imp, 2009/10/02.)

Revision 1.125 - (view) (annotate) - [select for diffs]
Mon Jul 6 15:42:34 2009 UTC (4 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_20a, release-20a-base, release-20a-pre1, snapshot-2009-08, unicode-string-buffer-base, unicode-string-buffer-impl-base
Branch point for: RELEASE-20A-BRANCH, unicode-string-buffer-branch, unicode-string-buffer-impl-branch
Changes since 1.124: +4 -2 lines
Diff to previous 1.124
Treat Unicode symbol characters like characters without case so they
can be printed without quotes.

(Not sure if we should include all symbols.  Maybe just math symbols?)

Revision 1.124 - (view) (annotate) - [select for diffs]
Thu Jun 11 16:03:58 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.123: +63 -6 lines
Diff to previous 1.123
Merge Unicode work to trunk.  From label
unicode-utf16-extfmt-2009-06-11.

Revision 1.122.4.6 - (view) (annotate) - [select for diffs]
Wed May 6 18:43:14 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.122.4.5: +5 -5 lines
Diff to previous 1.122.4.5 , to branch point 1.122 , to next main 1.133
The othercase-attribute is only for Unicode, so conditionalize it's
use to unicode.

Revision 1.122.4.5 - (view) (annotate) - [select for diffs]
Sat Apr 18 02:16:07 2009 UTC (5 years ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-05
Changes since 1.122.4.4: +5 -1 lines
Diff to previous 1.122.4.4 , to branch point 1.122
In REINIT-CHAR-ATTRIBUTES, signal a continuable error if we can't find
unidata.bin.

Revision 1.122.4.4 - (view) (annotate) - [select for diffs]
Sat Apr 18 01:34:15 2009 UTC (5 years ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.122.4.3: +9 -4 lines
Diff to previous 1.122.4.3 , to branch point 1.122
Support printing symbols with Unicode letters that have no case like
Hangul.

code/unidata.lisp:
o Add +UNICODE-CATEGORY-OTHER+ to represent Unicode category Lo.

code/print.lisp:
o New attribute OTHERCASE-ATTRIBUTE for Unicode category Lo.
o Update ATTRIBUTE-NAMES to include new attribute.
o In SYMBOL-QUOTEP, adjust letter-attribute to include
  othercase-attribute as appropriate.
o In REINIT-CHAR-ATTRIBUTES, initialize character attributes to
  include Unicode characters with category Lo.

Revision 1.122.4.3 - (view) (annotate) - [select for diffs]
Sat Apr 11 12:04:26 2009 UTC (5 years ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.122.4.2: +13 -25 lines
Diff to previous 1.122.4.2 , to branch point 1.122
Import Paul's new routines for storing and accessing the Unicode
data.

i18n/NameAliases.txt:
o New file:  Unicode NameAliases

tools/build-unidata.lisp:
o New file: Reads UnicodeData.txt and NameAliases.txt and creates
  unidata.bin that is accessed by Lisp to obtain unicode information.

code/unidata.lisp:
o New file:  Lisp interface to unidata.bin

code/char.lisp:
o Updated to use the new interface

code/print.lisp:
o Can't set up characer-attributes array with full Unicode data at
  startup because the search-list isn't set up yet.  Hence, only
  initialize part of the array, and use an
  *after-save-initializations* function to fill array with Unicode
  data after the search-list has been initialized.

compiler/srctran.lisp:
o Update deftransforms to use the new interface.

tools/make-main-dist.sh:
o Copy unidata.bin into the distribution.

tools/worldbuild.lisp:
o Load unidata.lisp

tools/worldcom.lisp:
o Compile unidata.lisp

Revision 1.122.4.2 - (view) (annotate) - [select for diffs]
Fri Mar 27 04:21:32 2009 UTC (5 years ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-utf16-extfmt-2009-03-27
Changes since 1.122.4.1: +62 -2 lines
Diff to previous 1.122.4.1 , to branch point 1.122
o Update character-attributes table with data from *unicode-data* so
  the printer can do the right thing for unicode characters.
o Add a function do the same thing.  (May be removed later?)

Revision 1.122.4.1 - (view) (annotate) - [select for diffs]
Wed Mar 18 15:37:28 2009 UTC (5 years, 1 month ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.122: +1 -80 lines
Diff to previous 1.122
Sync to utf16 branch, tag unicode-utf16-sync-label-2009-03-16.

Revision 1.122.2.1 - (view) (annotate) - [select for diffs]
Mon Mar 16 21:10:55 2009 UTC (5 years, 1 month 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-label-2009-03-16
Changes since 1.122: +1 -80 lines
Diff to previous 1.122 , to next main 1.133
Sync to CVS HEAD, tag label-2009-03-16.

But don't sync Config.FreeBSD_gencgc, Config.x86_freebsd,
FreeBSD-os.c, and FreeBSD-os.h.  Let Alex sync those later.

The result seems to work as expected on Solaris and x86/linux.
Darwin (ppc or x86) untested.

Revision 1.123 - (view) (annotate) - [select for diffs]
Sun Dec 21 15:41:16 2008 UTC (5 years, 4 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, label-2009-03-16, label-2009-03-25, merge-with-19f, release-19f-base, release-19f-pre1, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05
Branch point for: RELEASE-19F-BRANCH
Changes since 1.122: +1 -80 lines
Diff to previous 1.122
Remove all references to SCALE-EXPONENT and friends.  They've been
replaced by ACCURATE-SCALE-EXPONENT.

Revision 1.120.2.1 - (view) (annotate) - [select for diffs]
Tue Mar 25 16:01:51 2008 UTC (6 years ago) by rtoy
Branch: release-19e-branch
CVS Tags: release-19e, release-19e-pre2
Changes since 1.120: +76 -23 lines
Diff to previous 1.120 , to next main 1.133
Merge format fixes from HEAD.  This fixes the following issues:

o (format nil "~5f" 1d-10) prints out too many zeroes.

Revision 1.122 - (view) (annotate) - [select for diffs]
Thu Mar 13 12:25:49 2008 UTC (6 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: merge-sse2-packed, 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, 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-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
Branch point for: sse2-branch, sse2-packed-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.121: +54 -18 lines
Diff to previous 1.121
(format nil "~5f" 1d-10) was printing out way too many zeroes,
exceeding the specified width.  I think the correct answer is
".0000".

So, add a parameter, allow-overflow-p, to FLONUM-TO-STRING to allow
the width constraint to be exceeded.  This defaults to T.
FLONUM-TO-STRING looks at this and decides whether or not to print out
all the leading zeroes or not.  In FIXED-FORMAT-AUX, set
allow-overflow-p to NIL so we don't exceed the width.

I wish there were another way to do this, but I can't think of one
right now.

All print tests pass, and add the following test:

(format nil "~5F" 1d-10) -> ".0000"

print.lisp:
o Change FLONUM-TO-STRING to use keyword parameters instead of
  optional parameters.
o Add :ALLOW-OVERFLOW-P, defaulting to T.
o Use :ALLOW-OVERFLOW-P to determine if all the leading zeroes should
  be printed or not.

format.lisp:
o Update calls to FLONUM-TO-STRING to use keywords parameters.
o In FIXED-FORMAT-AUX, set :ALLOW-OVERFLOW-P to NIL

Revision 1.121 - (view) (annotate) - [select for diffs]
Wed Feb 27 15:17:09 2008 UTC (6 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2008-03
Changes since 1.120: +24 -7 lines
Diff to previous 1.120
Trac ticket #13.

Basically caused by a change of exponent due rounding of the number
for printing.  0.999999 might get printed as 1.000.  The original
number had an exponent of -1, but the printed number has an exponent
of 0, and we need to account for this.

code/print.lisp:
o Modify FLONUM-TO-STRING to take into account of the actual and
  printed exponent of the number.  Return an extra value to indicate
  if rounding has the exponent to change.

code/format.lisp:
o Use the new return value from FLONUM-TO-STRING to tell us if we need
  to adjust the printed exponent to account for the rounding change.

All print tests still pass, and we add the following tests:

(assert (string= (format nil "~11,3,2,0,'*,,'EE" .99) "  0.990E+00"))
(assert (string= (format nil "~11,3,2,0,'*,,'EE" .999) "  0.999E+00"))
(assert (string= (format nil "~11,3,2,0,'*,,'EE" .9999) "  0.100E+01"))
(assert (string= (format nil "~11,3,2,0,'*,,'EE" .0000999) "  0.999E-04"))
(assert (string= (format nil "~11,3,2,0,'*,,'EE" .00009999) "  0.100E-03"))
(assert (string= (format nil "~11,3,2,,'*,,'EE" .00009999) "  9.999E-05"))
(assert (string= (format nil "~11,3,2,,'*,,'EE" .000099999) "  1.000E-04"))

Revision 1.120 - (view) (annotate) - [select for diffs]
Fri Feb 1 14:54:42 2008 UTC (6 years, 2 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19e-base, release-19e-pre1, snapshot-2008-02
Branch point for: release-19e-branch
Changes since 1.119: +10 -2 lines
Diff to previous 1.119
For ~w,dF, don't print out too man leading digits if the number is
less than 10^(-d) (approximately).  Previously, we'd print out m
leading digits if the number were 10^(-m) even if d < m.

Additional tests:

(assert (string= (format nil "~,3F" 0.000001) "0.000"))

Revision 1.119 - (view) (annotate) - [select for diffs]
Sat Jan 26 02:09:44 2008 UTC (6 years, 2 months ago) by rtoy
Branch: MAIN
Changes since 1.118: +13 -16 lines
Diff to previous 1.118
Was failing to print enough digits for things like (format nil
"~9,,,-2E" 1.2345689d-3).   This change also allows us to get rid of
one other call to flonum-to-string, so printing should be faster now.

Some additional tests:

(assert (string= (format nil "~9,,,-2E" 1.2345689d3) ".00123d+6"))
(assert (string= (format nil "~9,,,-2E" -1.2345689d3) "-.0012d+6"))
(assert (string= (format nil "~9,,,-2E" 1.2345689d-3) ".00123d+0"))
(assert (string= (format nil "~9,,,-2E" -1.2345689d-3) "-.0012d+0"))

Revision 1.118 - (view) (annotate) - [select for diffs]
Fri Jan 25 19:16:12 2008 UTC (6 years, 2 months ago) by rtoy
Branch: MAIN
Changes since 1.117: +13 -9 lines
Diff to previous 1.117
o Incorrect number of digits were printed for ~wF.
o If FMIN is given, print out the digits, even if we're out of room.
  (This is so ~E will print at least 1 digit due to a bad choice in
  scale factor.)

The following tests all pass.

(assert (string= (format nil "~9,3,2,0,'%G" 0.0314159) "0.314e-01"))
(assert (string= (format nil "~9,3,2,-2,'%@e" 3.14159) "+.003e+03"))
(assert (string= (format nil "~6,2,1,'*F" 3.14159) " 31.42"))
(assert (string= (format nil "~9,0,6f" 3.14159) " 3141590."))

(assert (string= (format nil "~9,4,,-7E" pi) ".00000003d+8"))
(assert (string= (format nil "~9,4,,-5E" pi) ".000003d+6"))
(assert (string= (format nil "~5,4,,7E" pi) "3141600.d-6"))
(assert (string= (format nil "~11,4,,3E" pi) "  314.16d-2"))
(assert (string= (format nil "~11,4,,5E" pi) "  31416.d-4"))
(assert (string= (format nil "~11,4,,0E" pi) "  0.3142d+1"))
(assert (string= (format nil "~9,,,-1E" pi) ".03142d+2"))
(assert (string= (format nil "~,,,-2E" pi) "0.003141592653589793d+3"))
(assert (string= (format nil "~,,,2E" pi) "31.41592653589793d-1"))
(assert (string= (format nil "~E" pi) "3.141592653589793d+0"))
(assert (string= (format nil "~9,5,,-1E" pi) ".03142d+2"))
(assert (string= (format nil "~11,5,,-1E" pi) " 0.03142d+2"))
(assert (string= (format nil "~G" pi) "3.141592653589793    "))
(assert (string= (format nil "~9,5G" pi) "3.1416    "))
(assert (string= (format nil "|~13,6,2,7E|" pi) "| 3141593.d-06|"))
(assert (string= (format nil "~9,3,2,0,'%E" pi) "0.314d+01"))
(assert (string= (format nil "~9,0,6f" pi) " 3141593."))
(assert (string= (format nil "~6,2,1,'*F" pi) " 31.42"))
(assert (string= (format nil "~6,2,1,'*F" (* 100 pi)) "******"))
(assert (string= (format nil "~9,3,2,-2,'%@E" pi) "+.003d+03"))
(assert (string= (format nil "~10,3,2,-2,'%@E" pi) "+0.003d+03"))
(assert (string= (format nil "~15,3,2,-2,'%,'=@E" pi) "=====+0.003d+03"))
(assert (string= (format nil "~9,3,2,-2,'%E" pi) "0.003d+03"))
(assert (string= (format nil "~8,3,2,-2,'%@E" pi) "%%%%%%%%"))

(assert (string= (format nil "~g" 1e0) "1.    "))
;(assert (string= (format nil "~g" 1.2d40) "12000000000000000000000000000000000000000.    "))

(assert (string= (format nil "~e" 0) "0.0e+0"))
(assert (string= (format nil "~e" 0d0) "0.0d+0"))
(assert (string= (format nil "~9,,4e" 0d0) "0.0d+0000"))
(assert (string= (format nil "~E" 1.234567890123456789d4) "1.2345678901234567d+4"))

(assert (string= (format nil "~20E" (expt 2d0 120)) "1.32922799578492d+36"))
(assert (string= (format nil "~21,8E" (expt 2d0 120)) "       1.32922800d+36"))

(assert (string= (format nil "~11f" 1.23456789123456789d-3) ".0012345679"))

;; From CLH 22.3.11
(defun test-f (x)
   (format nil "~6,2F|~6,2,1,'*F|~6,2,,'?F|~6F|~,2F|~F"
           x x x x x x))

(assert (string= (test-f 3.14159) "  3.14| 31.42|  3.14|3.1416|3.14|3.14159"))
(assert (string= (test-f -3.14159) " -3.14|-31.42| -3.14|-3.142|-3.14|-3.14159" ))
(assert (string= (test-f 100.0)  "100.00|******|100.00| 100.0|100.00|100.0"))
(assert (string= (test-f 1234.0) "1234.00|******|??????|1234.0|1234.00|1234.0"))
(assert (string= (test-f 0.006) "  0.01|  0.06|  0.01| 0.006|0.01|0.006"))



(defun test-e (x)
    (format nil
           "~9,2,1,,'*E|~10,3,2,2,'?,,'$E|~
            ~9,3,2,-2,'%@E|~9,2E"
           x x x x))


(assert (string= (test-e 3.14159)  "  3.14e+0| 31.42$-01|+.003e+03|  3.14e+0"))
(assert (string= (test-e -3.14159)  " -3.14e+0|-31.42$-01|-.003e+03| -3.14e+0"))
(assert (string= (test-e 1100.0)  "  1.10e+3| 11.00$+02|+.001e+06|  1.10e+3"))
(assert (string= (test-e 1100.0d0)  "  1.10d+3| 11.00$+02|+.001d+06|  1.10d+3"))
(assert (string= (test-e 1.1e13)  "*********| 11.00$+12|+.001e+16| 1.10e+13"))
(assert (string= (test-e 1.1d120)  "*********|??????????|%%%%%%%%%|1.10d+120"))

(defun test-scale (k)
  (format nil "~&Scale factor ~2D: |~13,6,2,VE|"
	  (- k 5) (- k 5) 3.14159))

(assert (string= (test-scale 0) "Scale factor -5: | 0.000003e+06|"))
(assert (string= (test-scale 1) "Scale factor -4: | 0.000031e+05|"))
(assert (string= (test-scale 2) "Scale factor -3: | 0.000314e+04|"))
(assert (string= (test-scale 3) "Scale factor -2: | 0.003142e+03|"))
(assert (string= (test-scale 4) "Scale factor -1: | 0.031416e+02|"))
(assert (string= (test-scale 5) "Scale factor  0: | 0.314159e+01|"))
(assert (string= (test-scale 6) "Scale factor  1: | 3.141590e+00|"))
(assert (string= (test-scale 7) "Scale factor  2: | 31.41590e-01|"))
(assert (string= (test-scale 8) "Scale factor  3: | 314.1590e-02|"))
(assert (string= (test-scale 9) "Scale factor  4: | 3141.590e-03|"))
(assert (string= (test-scale 10) "Scale factor  5: | 31415.90e-04|"))
(assert (string= (test-scale 11) "Scale factor  6: | 314159.0e-05|"))
(assert (string= (test-scale 12) "Scale factor  7: | 3141590.e-06|"))

Revision 1.117 - (view) (annotate) - [select for diffs]
Thu Jan 24 02:20:07 2008 UTC (6 years, 3 months ago) by rtoy
Branch: MAIN
Changes since 1.116: +62 -56 lines
Diff to previous 1.116
Fix a format regression.  (format nil "~21E" (expt 2d0 120)) was
printing 1.0d+36.  It should have printed far more digits.

The previous fixes weren't quite right.  We can't just adjust the
scale factor with the size of the number.  The wrong number of digits
gets printed.  So FLONUM-TO-STRING takes an extra parameter to
indicate the exponent (base 10) of the number.  This is used to
compensate for the output of FLONUM-TO-DIGITS so that we have the
right number of digits.  (FLONUM-TO-STRING was assuming
FLONUM-TO-DIGITS was called with a scaled number, but we weren't.)

print.lisp:
o FLONUM-TO-STRING takes extra parameter for the exponent (base 10) of
  the number---basically what ACCURATE-SCALE-EXPONENT would return.
o Add FIXUP-FLONUM-TO-DIGITS to compensate the exponent returned by
  FLONUM-TO-DIGITS by the exponent of the number.
o Some rearrange of the code to get the right number of digits printed
  under this new scheme.

format.lisp:
o Keep the exponent of the number and the scaled exponent separate so
  FLONUM-TO-STRING knows the real exponent.
o FORMAT-GENERAL-AUX uses ACCURATE-SCALE-EXPONENT now instead of
  LISP:SCALE-EXPONENT.

With these changes, the following tests all pass:

(assert (string= (format nil "~9,3,2,0,'%G" 0.0314159) "0.314e-01"))
(assert (string= (format nil "~9,3,2,-2,'%@e" 3.14159) "+.003e+03"))
(assert (string= (format nil "~6,2,1,'*F" 3.14159) " 31.42"))
(assert (string= (format nil "~9,0,6f" 3.14159) " 3141590."))

(assert (string= (format nil "~9,4,,-7E" pi) ".00000003d+8"))
(assert (string= (format nil "~9,4,,-5E" pi) ".000003d+6"))
(assert (string= (format nil "~5,4,,7E" pi) "3141600.d-6"))
(assert (string= (format nil "~11,4,,3E" pi) "  314.16d-2"))
(assert (string= (format nil "~11,4,,5E" pi) "  31416.d-4"))
(assert (string= (format nil "~11,4,,0E" pi) "  0.3142d+1"))
(assert (string= (format nil "~9,,,-1E" pi) ".03142d+2"))
(assert (string= (format nil "~,,,-2E" pi) "0.003141592653589793d+3"))
(assert (string= (format nil "~,,,2E" pi) "31.41592653589793d-1"))
(assert (string= (format nil "~E" pi) "3.141592653589793d+0"))
(assert (string= (format nil "~9,5,,-1E" pi) ".03142d+2"))
(assert (string= (format nil "~11,5,,-1E" pi) " 0.03142d+2"))
(assert (string= (format nil "~G" pi) "3.141592653589793    "))
(assert (string= (format nil "~9,5G" pi) "3.1416    "))
(assert (string= (format nil "|~13,6,2,7E|" pi) "| 3141593.d-06|"))
(assert (string= (format nil "~9,3,2,0,'%E" pi) "0.314d+01"))
(assert (string= (format nil "~9,0,6f" pi) " 3141593."))
(assert (string= (format nil "~6,2,1,'*F" pi) " 31.42"))
(assert (string= (format nil "~6,2,1,'*F" (* 100 pi)) "******"))
(assert (string= (format nil "~9,3,2,-2,'%@E" pi) "+.003d+03"))
(assert (string= (format nil "~10,3,2,-2,'%@E" pi) "+0.003d+03"))
(assert (string= (format nil "~15,3,2,-2,'%,'=@E" pi) "=====+0.003d+03"))
(assert (string= (format nil "~9,3,2,-2,'%E" pi) "0.003d+03"))
(assert (string= (format nil "~8,3,2,-2,'%@E" pi) "%%%%%%%%"))

(assert (string= (format nil "~g" 1e0) "1.    "))
(assert (string= (format nil "~g" 1.2d40) "12000000000000000000000000000000000000000.    "))

(assert (string= (format nil "~e" 0) "0.0e+0"))
(assert (string= (format nil "~e" 0d0) "0.0d+0"))
(assert (string= (format nil "~9,,4e" 0d0) "0.0d+0000"))
(assert (string= (format nil "~E" 1.234567890123456789d4) "1.2345678901234567d+4"))

(assert (string= (format nil "~20E" (expt 2d0 120)) "1.32922799578492d+36"))
(assert (string= (format nil "~21,8E" (expt 2d0 120)) "       1.32922800d+36"))


(let (x)
 (dotimes (k 13 x)
  (setq x (cons (format nil "~%Scale factor ~2D: |~13,6,2,VE|"
          (- k 5) (- k 5) 3.14159) x))))

Revision 1.116 - (view) (annotate) - [select for diffs]
Tue Oct 9 21:23:44 2007 UTC (6 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2007-11, snapshot-2007-12, snapshot-2008-01
Changes since 1.115: +2 -2 lines
Diff to previous 1.115
Fix typo.

Revision 1.115 - (view) (annotate) - [select for diffs]
Tue Oct 9 16:56:58 2007 UTC (6 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.114: +1 -3 lines
Diff to previous 1.114
Remove incorrect comment.

Revision 1.114 - (view) (annotate) - [select for diffs]
Tue Oct 9 16:45:07 2007 UTC (6 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.113: +20 -6 lines
Diff to previous 1.113
o Make the implementation of the log approximation the same in
  accurate-scale-exponent and flonum-to-digits.
o Minor clean up of scale in both places.

Revision 1.113 - (view) (annotate) - [select for diffs]
Tue Oct 9 16:11:54 2007 UTC (6 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.112: +47 -40 lines
Diff to previous 1.112
print.lisp:
o Add *POWERS-OF-TEN* for use in scaling.
o Implement the fast log scaling from Burger and Dybvig's paper.
  Scaling is very noticeably faster for large and small numbers; it is
  somewhat slower for intermediate numbers near 1.  (Should we test
  for this case?)

format.lisp:
o Implement an accurate scaling routine, based on the scale routine in
  FLONUM-TO-DIGITS.
o Use the new scaling routine in FORMAT-EXP-AUX.  This should fix Trac
  Ticket #12.

Revision 1.112 - (view) (annotate) - [select for diffs]
Thu Jul 13 16:38:51 2006 UTC (7 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: pre-telent-clx, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, 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
Branch point for: release-19d-branch
Changes since 1.111: +2 -2 lines
Diff to previous 1.111
Print the identity when printing out weak pointers.

Revision 1.111 - (view) (annotate) - [select for diffs]
Fri Jun 30 18:41:22 2006 UTC (7 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2006-07
Changes since 1.110: +111 -5 lines
Diff to previous 1.110
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.110.2.1.2.3 - (view) (annotate) - [select for diffs]
Mon Jun 12 03:05:55 2006 UTC (7 years, 10 months ago) by rtoy
Branch: double-double-reader-branch
CVS Tags: double-double-array-base, double-double-array-checkpoint, double-double-irrat-end, double-double-irrat-start, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1
Branch point for: double-double-array-branch
Changes since 1.110.2.1.2.2: +40 -2 lines
Diff to previous 1.110.2.1.2.2 , to branch point 1.110.2.1
Adjust SCALE-EXPONENT to support double-double-float.  Split the
original into a version for double-double-float and double-float.
This works better, but still needs some work.

Revision 1.110.2.1.2.2 - (view) (annotate) - [select for diffs]
Sun Jun 11 20:48:09 2006 UTC (7 years, 10 months ago) by rtoy
Branch: double-double-reader-branch
Changes since 1.110.2.1.2.1: +4 -2 lines
Diff to previous 1.110.2.1.2.1 , to branch point 1.110.2.1
Tell FLOAT-FORMAT-NAME about DOUBLE-DOUBLE-FLOAT so the printer can
print double-double-float infinities and NaNs.

Revision 1.110.2.1.2.1 - (view) (annotate) - [select for diffs]
Sun Jun 11 20:11:45 2006 UTC (7 years, 10 months ago) by rtoy
Branch: double-double-reader-branch
Changes since 1.110.2.1: +11 -5 lines
Diff to previous 1.110.2.1
Add basic support for reading and printing double-double-floats.  I
think this needs to be built from a binary that already has basic
double-double support.  That is, you need to compile these changes
with a binary built from the double-double-branch.  (It may work
to cross-compile this from the 2006-06 snapshot, but I did not try
it.)

Reading double-double-floats appears to work.  PRINT appears to work.
However, formatted output of double-double-floats may not be accurate
because SCALE-EXPONENT still only supports double-floats.

code/bignum.lisp:
o Add support for coercing a BIGNUM to a DOUBLE-DOUBLE-FLOAT.

code/float.lisp:
o Add support for converting a RATIO to a DOUBLE-DOUBLE-FLOAT.  This
  is needed to be able to read a double-double-float correctly.
o INTEGER-DECODE-DOUBLE-DOUBLE-FLOAT seems to be buggy.  Use a new
  version that works but probably conses more than is necessary and is
  probably slower than necessary.  This is needed to print out
  DOUBLE-DOUBLE-FLOATs correctly.
o Add DECODE-DOUBLE-DOUBLE-FLOAT while we're at it.
o Add SCALE-DOUBLE-DOUBLE-FLOAT.  This is also needed for printing.
o Disable %DOUBLE-DOUBLE-FLOAT.  There's already an implementation in
  float-tran.  (We really should move the float-tran version to here.)


code/format.lisp:
o Tell printer to use #\w when printing double-double-floats.

code/irrat.lisp:
o The deftransform for ABS is working, so use that instead of the
  hack.

code/numbers.lisp:
o Update FLOAT-CONTAGION to support mixing rationals with
  double-double-floats.

code/print.lisp:
o Recognize double-double-floats for printing.  Use "w" as the
  exponent marker for double-double floats.
o Very minor change to FLONUM-TO-DIGITS to support
  double-double-floats.

code/reader.lisp:
o Tell the reader that #\w and #\W are exponent markers for
  double-double-float numbers by giving them the secondary attribute
  constituent-expt.
o Tell the reader to creat double-double-floats when reading such
  numbers.

Revision 1.110.2.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-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
Branch point for: double-double-reader-branch
Changes since 1.110: +61 -1 lines
Diff to previous 1.110 , to next main 1.133
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.110 - (view) (annotate) - [select for diffs]
Mon May 1 16:10:26 2006 UTC (7 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: double-double-base, snapshot-2006-05, snapshot-2006-06
Branch point for: double-double-branch
Changes since 1.109: +8 -2 lines
Diff to previous 1.109
code/format.lisp:
o Add an additional case where we want to print out a trailing zero:
  There's no width constraint and the previous character was a decimal
  point, so the fraction to be printed is zero.

code/print.lisp:
o Honor the d option if we run out of room so (format nil "~,2f"
  0.001) produces "0.00", not "0.001".

Revision 1.109 - (view) (annotate) - [select for diffs]
Fri Apr 28 20:51:42 2006 UTC (7 years, 11 months ago) by rtoy
Branch: MAIN
Changes since 1.108: +3 -4 lines
Diff to previous 1.108
CLHS 22.1.3.1.3 says at least one digit must be printed after the
decimal point.  Make it so.

Revision 1.108 - (view) (annotate) - [select for diffs]
Fri Feb 17 15:45:40 2006 UTC (8 years, 2 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2006-03, snapshot-2006-04
Changes since 1.107: +87 -32 lines
Diff to previous 1.107
Handle circularity detection in logical blocks better.  (Ported from
sbcl.)

Revision 1.102.2.2 - (view) (annotate) - [select for diffs]
Mon Dec 19 01:09:52 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.102.2.1: +34 -13 lines
Diff to previous 1.102.2.1 , to branch point 1.102 , to next main 1.133
Merge code from main branch of 2005-12-17 to ppc gencgc branch.  Still
doesn't work of course.

Revision 1.107 - (view) (annotate) - [select for diffs]
Tue Aug 2 17:14:41 2005 UTC (8 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19c, release-19c-base, release-19c-pre1, snapshot-2005-09, snapshot-2005-10, snapshot-2005-11, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02
Branch point for: release-19c-branch
Changes since 1.106: +3 -3 lines
Diff to previous 1.106
No functional changes.  Just clean up the code a little.

Revision 1.106 - (view) (annotate) - [select for diffs]
Mon Aug 1 21:58:36 2005 UTC (8 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.105: +20 -6 lines
Diff to previous 1.105
o CLHS 22.3.3.2 (~E) says prin1 omits the plus sign of the exponent if
  it is non-negative.  Adjust PRINT-FLOAT-EXPONENT accordingly.
o OUTPUT-FLOAT-AUX prints out 1d23 as "1.0d23".  This differs from how
  FORMAT ~E prints out that number.  Adjust OUTPUT-FLOAT-AUX to match
  what ~E does.  (Are there other cases that we're missing?)

Revision 1.103.2.1 - (view) (annotate) - [select for diffs]
Thu Jun 16 13:53:25 2005 UTC (8 years, 10 months ago) by rtoy
Branch: release-19b-branch
CVS Tags: release-19b-pre2
Changes since 1.103: +13 -6 lines
Diff to previous 1.103 , to next main 1.133
Merge float printer fixes from HEAD.

Revision 1.105 - (view) (annotate) - [select for diffs]
Wed Jun 15 12:45:00 2005 UTC (8 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2005-07, snapshot-2005-08
Changes since 1.104: +5 -4 lines
Diff to previous 1.104
(format nil "~9,,,-7E" pi) was not printing any significant digits.

Make sure the position arg to flonum-to-string is non-negative in this
case.

Revision 1.104 - (view) (annotate) - [select for diffs]
Tue Jun 14 15:59:14 2005 UTC (8 years, 10 months ago) by rtoy
Branch: MAIN
Changes since 1.103: +12 -6 lines
Diff to previous 1.103
Some fixes for floating-point printing bugs reported by Bruno Haible,
cmucl-imp, on or around 2005/06/13.

Some useful tests:

(format nil "~9,3,2,0,'%G" 0.0314159)
Expected: "0.314e-01"


(format nil "~9,3,2,-2,'%@e" 3.14159)
Expected: "+.003E+03"


(format nil "~6,2,1,'*F" 3.14159)
Expected: " 31.42"

(format nil "~9,0,6f" 3.14159)
Expected: " 3141590."

(let (x)
 (dotimes (k 13 x)
  (setq x (cons (format nil "~%Scale factor ~2D: |~13,6,2,VE|"
          (- k 5) (- k 5) 3.14159) x))))

("
Scale factor  7: | 3141590.e-06|"
 "
Scale factor  6: | 314159.0e-05|"
 "
Scale factor  5: | 31415.90e-04|"
 "
Scale factor  4: | 3141.590e-03|"
 "
Scale factor  3: | 314.1590e-02|"
 "
Scale factor  2: | 31.41590e-01|"
 "
Scale factor  1: | 3.141590e+00|"
 "
Scale factor  0: | 0.314159e+01|"
 "
Scale factor -1: | 0.031416e+02|"
 "
Scale factor -2: | 0.003142e+03|"
 "
Scale factor -3: | 0.000314e+04|"
 "
Scale factor -4: | 0.000031e+05|"
 "
Scale factor -5: | 0.000003e+06|")


code/format.lisp:
o If the scale factor (k) is negative, the min number of digits to
  print is 1, not (- 1 k) because that prints too many if the field is
  too short.  Setting fmin to fdig is ok if k >= 0.  (See scale factor
  test above.)
o If flonum-to-string returns with a trailing decimal point, we don't
  need to decrement spaceleft because that deletes a white-space
  character.  (See first scale factor 7 test above.)

code/print.lisp:
o We need to adjust the number of digits to be printed to include the
  scale factor.  See tests above.

Revision 1.102.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.102: +9 -1 lines
Diff to previous 1.102
Merge snapshot-2005-05 to this branch.

Revision 1.103 - (view) (annotate) - [select for diffs]
Tue Mar 22 16:29:26 2005 UTC (9 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: release-19b-base, release-19b-pre1, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06
Branch point for: release-19b-branch
Changes since 1.102: +9 -1 lines
Diff to previous 1.102
Add a few comments on what FLONUM-TO-DIGITS does.

Revision 1.102 - (view) (annotate) - [select for diffs]
Tue Feb 8 17:31:53 2005 UTC (9 years, 2 months ago) by rtoy
Branch: MAIN
CVS Tags: ppc_gencgc_snap_2005-05-14, snapshot-2005-03
Branch point for: ppc_gencgc_branch
Changes since 1.101: +7 -1 lines
Diff to previous 1.101
Add a simple printer for scavenger hooks for gencgc.  (Without gencgc,
there's already a scavenger hook printer.)

Revision 1.101 - (view) (annotate) - [select for diffs]
Wed Feb 2 17:58:47 2005 UTC (9 years, 2 months ago) by rtoy
Branch: MAIN
Changes since 1.100: +106 -187 lines
Diff to previous 1.100
Fix some floating point printing bugs.  Based on the version in sbcl.

(format nil "~G" 1d23) prints "100000000000000000000000.    " instead
of "099999999999999990000000.    ".

Revision 1.100 - (view) (annotate) - [select for diffs]
Mon Dec 6 21:35:49 2004 UTC (9 years, 4 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2005-01, snapshot-2005-02
Changes since 1.99: +13 -7 lines
Diff to previous 1.99
As reported by Rolf Wester, cmucl-help, 2004-12-06, 1d23 was causing
an error.

o Fix the logic error in scale in flonum-to-digits, where the test for
  high-ok was wrong.

o Take the opportunity to eliminate some common subexpressions to
  reduce computation and consing of bignums.

Revision 1.99 - (view) (annotate) - [select for diffs]
Thu Oct 14 16:32:44 2004 UTC (9 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-11, snapshot-2004-12
Changes since 1.98: +8 -7 lines
Diff to previous 1.98
Weak pointers can also be circular, so check for that too.

Bug noted by Bruno Haible, cmucl-imp, 2004-10-07.

Revision 1.98 - (view) (annotate) - [select for diffs]
Mon Sep 27 21:54:53 2004 UTC (9 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-10
Changes since 1.97: +12 -2 lines
Diff to previous 1.97
Borrow SBCL's ARRAY-READABLY-PRINTABLE-P function and use it to
determine if an array can be printed readably.

Revision 1.97 - (view) (annotate) - [select for diffs]
Fri Sep 3 03:05:58 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.96: +3 -1 lines
Diff to previous 1.96
The CLHS entry for *PRINT-LENGTH* says

    If an object to be recursively printed has components and is at a
    level equal to or greater than the value of *print-level*, then
    the object is printed as ``#''.

Adjust the default structure printer and %print-unreadable-object to
do this.  This fixes the PRINT-LEVEL.2, PRINT-LEVEL.6, PRINT-LEVEL.8,
and PRINT-LEVEL.9. test failures.

Revision 1.96 - (view) (annotate) - [select for diffs]
Fri Aug 27 12:25:02 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-09
Changes since 1.95: +30 -1 lines
Diff to previous 1.95
PRIN1 and "~F" sometimes produces different printed results due to
differences in rounding for the range of numbers where PRIN1 uses the
same style of output as ~F.

This is due to how PRIN1 uses FLONUM-TO-DIGITS to produce the result,
but ~F was using FLOAT-STRING.

Hack it so FLONUM-TO-STRING calls FLONUM-TO-DIGITS when possible.

Revision 1.95 - (view) (annotate) - [select for diffs]
Fri Aug 27 03:08:56 2004 UTC (9 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.94: +13 -3 lines
Diff to previous 1.94
Fix bug where (FORMAT NIL "~2f" 1234567.1) returns "1000000." instead
"1234567."

We just test to see if the width is large enough to hold the number.
If not, increase the width so that float-string will produce enough
digits.

Revision 1.94 - (view) (annotate) - [select for diffs]
Wed Jun 9 15:01:20 2004 UTC (9 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: prm-before-macosx-merge-tag, snapshot-2004-07, snapshot-2004-08
Changes since 1.93: +89 -48 lines
Diff to previous 1.93
Implement a much faster and much less consy bignum printer and a
faster bignum reader.  Contributed by Mark Wooding on cmucl-imp, May
24, 2004.

Revision 1.93 - (view) (annotate) - [select for diffs]
Fri Apr 23 12:33:39 2004 UTC (10 years ago) by rtoy
Branch: MAIN
CVS Tags: amd64-merge-start, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, snapshot-2004-05, snapshot-2004-06
Branch point for: release-19a-branch
Changes since 1.92: +1 -3 lines
Diff to previous 1.92
Oops.  FLONUM-TO-STRING is still used by FORMAT.  (Should replace this
with FLONUM-TO-DIGITS someday?)

Revision 1.92 - (view) (annotate) - [select for diffs]
Thu Apr 22 21:31:14 2004 UTC (10 years ago) by rtoy
Branch: MAIN
Changes since 1.91: +8 -5 lines
Diff to previous 1.91
Fix up printing of symbols.  Passes Paul Dietz's symbol printing
tests, now.  (Based on SBCL's fixes.)

Revision 1.91 - (view) (annotate) - [select for diffs]
Thu Apr 22 18:04:19 2004 UTC (10 years ago) by rtoy
Branch: MAIN
Changes since 1.90: +2 -2 lines
Diff to previous 1.90
Fix up printing of symbols with :capitalize.

Revision 1.90 - (view) (annotate) - [select for diffs]
Thu Apr 22 15:49:26 2004 UTC (10 years ago) by rtoy
Branch: MAIN
Changes since 1.89: +8 -5 lines
Diff to previous 1.89
o Fix typo in output-ratio that was causing incorrect output when
  *print-radix* was T.  If *print-base* were 16, the output would be
  #xr<...>.

o Comment out old float printer routines for now.

Revision 1.89 - (view) (annotate) - [select for diffs]
Thu Apr 22 14:38:25 2004 UTC (10 years ago) by rtoy
Branch: MAIN
Changes since 1.88: +1 -39 lines
Diff to previous 1.88
Oops. Remove unused code.  Add a couple of comments.

Revision 1.88 - (view) (annotate) - [select for diffs]
Thu Apr 22 14:26:27 2004 UTC (10 years ago) by rtoy
Branch: MAIN
Changes since 1.87: +122 -11 lines
Diff to previous 1.87
o Fix the float printer to print correctly:

     (float -54965272/1000000000000000000)

  was printing as -5.496527e-11 but should be -5.4965272e-11

o Fix the float reader to read correctly, without roundoff:

  4.0058643e+8 was incorrectly read as 12518325, 1
  (integer-decode-float results).  It should be 12518326,1.

o Fix the float reader to read floats correctly with unusual values of
  *read-base*:

    (let ((*read-base* 2))
      (read-from-string "-4.3e+7"))

  used to return a symbol instead of a float.

This changes ported from SBCL.

Revision 1.87 - (view) (annotate) - [select for diffs]
Thu Apr 15 01:34:20 2004 UTC (10 years ago) by rtoy
Branch: MAIN
Changes since 1.86: +4 -2 lines
Diff to previous 1.86
More ANSI test fixes:

o FILE-STRING-LENGTH can be used on BROADCAST-STREAM's where the
  result is 1.
o Graphic characters are not printed using the character name (hence
  #\space is printed #\ )
o Make INPUT-STREAM-P and OUTPUT-STREAM-P work correctly on synonym
  streams.
o MAKE-STRING-INPUT-STREAM was not accepting NIL for the optional END
  argument.
o Close string-input streams.  (We weren't before.)

Revision 1.86 - (view) (annotate) - [select for diffs]
Tue Aug 12 21:33:47 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
CVS Tags: dynamic-extent-base, lisp-executable-base, mod-arith-base, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04, sparc_gencgc_merge
Branch point for: dynamic-extent, lisp-executable, mod-arith-branch
Changes since 1.85: +4 -4 lines
Diff to previous 1.85
	* src/code/print.lisp (output-array-guts): Parts of the output
	went to the wrong stream.  From Robert Macomber on cmucl-imp.

Revision 1.85 - (view) (annotate) - [select for diffs]
Wed Jun 18 09:23:10 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
CVS Tags: sparc_gencgc
Branch point for: sparc_gencgc_branch
Changes since 1.84: +2 -2 lines
Diff to previous 1.84
	Remove package nicknames USER from COMMON-LISP-USER.  Add a new
	package COMMON-LISP which LISP uses, so that COMMON-LISP no longer
	has the non-ANSI nickname LISP.

	To bootstrap, use boot13.lisp as target:bootstrap.lisp with pmai's
	build scripts, and do a full compile.

	* src/bootfiles/18e/boot13.lisp: Change for all the package
	changes.

	* src/code/exports.lisp: New package common-lisp,
	which lisp uses.

	* src/tools/worldload.lisp:
	* src/tools/setup.lisp: Use cl-user instead of user.
	Use lisp:: instead of cl::.

	* src/tools/worldcom.lisp:
	* src/tools/snapshot-update.lisp:
	* src/tools/pclcom.lisp:
	* src/tools/mk-lisp:
	* src/tools/hemcom.lisp:
	* src/tools/config.lisp:
	* src/tools/comcom.lisp:
	* src/tools/clxcom.lisp:
	* src/tools/clmcom.lisp:
	* src/pcl/defsys.lisp:
	* src/motif/lisp/initial.lisp:
	* src/interface/initial.lisp:
	* src/hemlock/lispmode.lisp (setup-lisp-mode):
	Use cl-user instead of user.

	* src/code/save.lisp (assert-user-package):
	* src/code/print.lisp (%with-standard-io-syntax): Find
	cl-user package instead of user.

	* src/code/package.lisp (package-locks-init): Add lisp.
	(package-init): Don't add user nickname to cl-user.

	* src/code/ntrace.lisp (*trace-encapsulate-package-names*):
	Add common-lisp.

	* src/code/hash.lisp (toplevel):
	* src/code/hash-new.lisp (toplevel): Use in-package :lisp
	instead of :common-lisp.

	* src/code/float-trap.lisp (sigfpe-handler): Don't
	qualify floating-point-inexact with ext:.

	* src/pcl/simple-streams/strategy.lisp (sc):
	* src/pcl/simple-streams/null.lisp (null-read-char):
	* src/pcl/simple-streams/internal.lisp (allocate-buffer)
	(free-buffer):
	* src/pcl/simple-streams/impl.lisp (%check, %read-line)
	(%peek-char, %read-byte):
	* src/pcl/simple-streams/file.lisp (open-file-stream)
	(device-close):
	* src/pcl/simple-streams/classes.lisp (simple-stream)
	(device-close):
	* src/pcl/macros.lisp (toplevel):
	* src/pcl/braid.lisp (lisp::sxhash-instance):
	* src/pcl/env.lisp (toplevel):
	* src/compiler/generic/objdef.lisp (symbol-hash):
	* src/code/stream.lisp (read-sequence, write-sequence):
	* src/code/macros.lisp (defmacro, deftype):
	* src/code/eval.lisp (interpreted-function):
	* src/code/defstruct.lisp (defstruct):
	* src/code/debug.lisp (debug-eval-print): Use lisp:: instead
	of cl::.

Revision 1.84 - (view) (annotate) - [select for diffs]
Mon Jan 6 22:27:16 2003 UTC (11 years, 3 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.83: +2 -3 lines
Diff to previous 1.83
o Was not properly printing out, readably, zero-dimensional arrays
  like (make-array '(0 0 0)).
o Read wasn't reading in things like #3a() properly

Bugs noted by Paul Dietz.  Fixes from Gerd Moellmann.

Revision 1.83 - (view) (annotate) - [select for diffs]
Mon Oct 7 14:31:05 2002 UTC (11 years, 6 months ago) by toy
Branch: MAIN
Changes since 1.82: +2 -6 lines
Diff to previous 1.82
o Correct some spelling mistakes
o Fix a few typos in code.
o Delete a few unused symbols from various places
o Use something better than %%RWSEQ-EOF%% for the eof marker.
o Add target-foreign-linkage vars for the PPC and HPPA ports to aid
  cross-compilation.  (The values are very likely wrong, but they're
  not used yet.)

Based on a larger patch from Eric Marsden.

Revision 1.82.2.1 - (view) (annotate) - [select for diffs]
Fri Oct 4 23:13:33 2002 UTC (11 years, 6 months ago) by pmai
Branch: UNICODE-BRANCH
Changes since 1.82: +44 -6 lines
Diff to previous 1.82 , to next main 1.133
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.66.2.5 - (view) (annotate) - [select for diffs]
Sat Mar 23 18:50:08 2002 UTC (12 years, 1 month ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18d
Changes since 1.66.2.4: +105 -31 lines
Diff to previous 1.66.2.4 , to branch point 1.66 , to next main 1.133
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation
for release tagging 18d.

Revision 1.82 - (view) (annotate) - [select for diffs]
Fri Jan 18 19:45:49 2002 UTC (12 years, 3 months ago) by pmai
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.81: +30 -7 lines
Diff to previous 1.81
o Slight rewrite of output-float and output-float-aux to reduce some
  gratuitous consing caused by coercion at runtime of the ANSI
  mandated free format boundaries from ratios to appropriate floats.
  The coercions now happen at compile-time, and documentation is also
  improved.
o Elided duplicate case clause for ratios in output-ugly-object.

Revision 1.81 - (view) (annotate) - [select for diffs]
Mon Jun 11 13:48:02 2001 UTC (12 years, 10 months ago) by pmai
Branch: MAIN
Changes since 1.80: +4 -2 lines
Diff to previous 1.80
Fixed bug reported by Erik Naggum on comp.lang.lisp, where printing of
bit-vectors breaks, because of the printer respecting printer control
variables like radix and base, where they shouldn't be, especially since
the corresponding reader doesn't expect this.

Revision 1.80 - (view) (annotate) - [select for diffs]
Thu Mar 15 18:01:37 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.79: +34 -1 lines
Diff to previous 1.79
Add support for ANSI specified :print-function and :print-object
defstruct options while preserving previous behaviour. ANSI processing
is enabled by ext:*ansi-defstruct-options-p* which must be NIL while
compiling CMUCL, PCL, CLX, HEMLOCK to avoid flushing defined print-functions.
This switch is turned ON when worldload builds a core with PCL in it.

Revision 1.79 - (view) (annotate) - [select for diffs]
Mon Jan 1 11:41:17 2001 UTC (13 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.78: +9 -8 lines
Diff to previous 1.78
o Fix output-character to escape the char-name. Reworking quote-string
  to not write the delimiting quotes so that is can be used by
  output-character.

Revision 1.78 - (view) (annotate) - [select for diffs]
Mon Jan 1 09:30:52 2001 UTC (13 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.77: +16 -20 lines
Diff to previous 1.77
o Correct the pretty printing by print-unreadable-object. Only attempt
  to print pretty when the stream is a pretty-stream (and when *print-pretty*)
  to ensure that all output goes to the same stream.

Revision 1.77 - (view) (annotate) - [select for diffs]
Wed Dec 27 13:24:29 2000 UTC (13 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.76: +36 -17 lines
Diff to previous 1.76
o Have print-unreadable-object respect *print-pretty*.

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

Revision 1.76 - (view) (annotate) - [select for diffs]
Sat Apr 29 04:09:17 2000 UTC (13 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.75: +4 -4 lines
Diff to previous 1.75
Make keywords print out readably independent of the package when
read back by always using the colon prefix; from Raymond Toy.

Revision 1.75 - (view) (annotate) - [select for diffs]
Wed Dec 8 18:36:51 1999 UTC (14 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.74: +20 -12 lines
Diff to previous 1.74
Add support for printing and reading arrays with arbitrary
element-types. These are output in the format #A(<element-type> <dims>
<contents>). A random-state can now be printed readably.

Revision 1.74 - (view) (annotate) - [select for diffs]
Thu Feb 25 13:02:58 1999 UTC (15 years, 2 months ago) by pw
Branch: MAIN
Changes since 1.73: +1 -7 lines
Diff to previous 1.73
This set of changes removes nearly all references to the dylan language.
It is a benign revision as no structures are redefined. At some later
point the definitions in compiler/objdef could be removed, perhaps
in sync with some other type change.

Revision 1.66.2.3 - (view) (annotate) - [select for diffs]
Sun Jul 12 21:51:43 1998 UTC (15 years, 9 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.66.2.2: +5 -4 lines
Diff to previous 1.66.2.2 , to branch point 1.66
Minor updates from the main branch.

Revision 1.73 - (view) (annotate) - [select for diffs]
Tue Jun 30 10:58:54 1998 UTC (15 years, 9 months ago) by pw
Branch: MAIN
Changes since 1.72: +5 -4 lines
Diff to previous 1.72
Fix for attempts to print specialized arrays readably. From Ray Toy.

Revision 1.66.2.2 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:22:20 1998 UTC (15 years, 10 months ago) by pw
Branch: RELENG_18
Changes since 1.66.2.1: +7 -3 lines
Diff to previous 1.66.2.1 , to branch point 1.66
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.72 - (view) (annotate) - [select for diffs]
Tue May 5 00:14:35 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.71: +6 -6 lines
Diff to previous 1.71
Restore the in-synonym-of, out-synonym-of, with-in-stream, and
with-out-stream macros incorrectly replaced in the recent Gray stream
changes.

Revision 1.71 - (view) (annotate) - [select for diffs]
Mon May 4 01:27:15 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.70: +6 -6 lines
Diff to previous 1.70
Gray streams support:
* Rename the 'stream structure class to sys:lisp-stream.
* Add a new none hierarchical 'stream built-in class which inherits
  from: instance, t.
* Hack in the new stream class as a mixin for the structure base
  lisp-stream class which now inherits from: stream, structure-object,
  instance, t.
* Add a new 'fundamental-stream standard-class which includes 'stream
  as a mixin, and add PCL hacks to allow this to be redefined after PCL is
  loaded to be (defclass fundamental-stream (standard-object stream) ...).
* Add appropriate support to the base stream functions to dispatch to
  the Gray stream functions for the handling of fundamental-streams.
  Some of the lisp-streams encapsulating CLOS streams still need
  a little work.

Revision 1.70 - (view) (annotate) - [select for diffs]
Fri Apr 3 03:37:02 1998 UTC (16 years ago) by dtc
Branch: MAIN
Changes since 1.69: +5 -4 lines
Diff to previous 1.69
Fix a recently introduced bug in the handling of denomalized floats in
scale-exponent.

Revision 1.69 - (view) (annotate) - [select for diffs]
Thu Mar 26 13:08:55 1998 UTC (16 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.68: +3 -2 lines
Diff to previous 1.68
Bind *print-readably* to NIL in PRINC. Spotted by Sam Steingold.

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

Revision 1.66.2.1 - (view) (annotate) - [select for diffs]
Sat Jul 26 17:16:03 1997 UTC (16 years, 9 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18a
Changes since 1.66: +13 -21 lines
Diff to previous 1.66
Allocate a new digit-string on each call to float-string. This can be
reentered via a GC or an interrupt and could lead to corrupt FP
output. Patch suggested by Raymond Toy.

Revision 1.67 - (view) (annotate) - [select for diffs]
Sat Jul 26 17:14:55 1997 UTC (16 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.66: +13 -21 lines
Diff to previous 1.66
Allocate a new digit-string on each call to float-string. This can be
reentered via a GC or an interrupt and could lead to corrupt FP
output. Patch suggested by Raymond Toy.

Revision 1.66 - (view) (annotate) - [select for diffs]
Thu Jan 12 17:45:43 1995 UTC (19 years, 3 months ago) by ram
Branch: MAIN
Branch point for: RELENG_18
Changes since 1.65: +3 -3 lines
Diff to previous 1.65
Fix bogus simple-vector arg type in sub-output-array-guts.

Revision 1.65 - (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.64: +1 -3 lines
Diff to previous 1.64
Fix headed boilerplate.

Revision 1.64 - (view) (annotate) - [select for diffs]
Sun Mar 20 00:00:53 1994 UTC (20 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.63: +8 -4 lines
Diff to previous 1.63
In OUTPUT-INSTANCE, check for the layout being invalid before calling the print
function, since the print function might error.

Revision 1.63 - (view) (annotate) - [select for diffs]
Mon Aug 30 21:20:54 1993 UTC (20 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.62: +3 -2 lines
Diff to previous 1.62
Update to new DEFINE-CONDITION syntax.

Revision 1.62 - (view) (annotate) - [select for diffs]
Mon Aug 30 14:55:09 1993 UTC (20 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.61: +3 -6 lines
Diff to previous 1.61
Change output-instance to use SLOT-CLASS instead of BASIC-STRUCTURE-CLASS.
Remove Dylan hack, since it should now be able to use slot-classes.

Revision 1.61 - (view) (annotate) - [select for diffs]
Wed Aug 25 01:14:28 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.60: +4 -1 lines
Diff to previous 1.60
Fix compiler warnings.

Revision 1.60 - (view) (annotate) - [select for diffs]
Fri Aug 20 08:19:30 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.59: +4 -3 lines
Diff to previous 1.59
Typo.

Revision 1.59 - (view) (annotate) - [select for diffs]
Fri Aug 20 08:10:25 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.58: +21 -14 lines
Diff to previous 1.58
Bulletproof output-instance a bit.

Revision 1.58 - (view) (annotate) - [select for diffs]
Tue Aug 17 22:32:59 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.57: +2 -5 lines
Diff to previous 1.57
Removed hack for printing byte-code objects, now that they have
a debug-info object.

Revision 1.57 - (view) (annotate) - [select for diffs]
Mon Jul 26 10:13:34 1993 UTC (20 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.56: +3 -3 lines
Diff to previous 1.56
unqualify print-object, since it is from LISP now.

Revision 1.56 - (view) (annotate) - [select for diffs]
Fri Jul 23 11:48:16 1993 UTC (20 years, 9 months ago) by wlott
Branch: MAIN
Changes since 1.55: +4 -1 lines
Diff to previous 1.55
Changed output-instance to use %print-dylan-instance to print dylan
instances.

Revision 1.55 - (view) (annotate) - [select for diffs]
Thu Jun 24 14:18:59 1993 UTC (20 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.54: +29 -29 lines
Diff to previous 1.54
Added PRINT-NOT-READABLE condition and made people use it.

Revision 1.54 - (view) (annotate) - [select for diffs]
Tue May 11 13:42:51 1993 UTC (20 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.53: +5 -2 lines
Diff to previous 1.53
If debug-info for a code object is a string, print it (for byte code) instead
of assuming a debug-info.

Revision 1.53 - (view) (annotate) - [select for diffs]
Fri May 7 11:47:52 1993 UTC (20 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.52: +2 -2 lines
Diff to previous 1.52
Use ~C instead of ~A when printing float exponent marker so that print-readably
doesn't mess things up.

Revision 1.52 - (view) (annotate) - [select for diffs]
Sun May 2 14:48:25 1993 UTC (20 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.51: +2 -2 lines
Diff to previous 1.51
PCL:PRINT-OBJECT has two args.

Revision 1.51 - (view) (annotate) - [select for diffs]
Sun Mar 14 16:53:11 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.50: +2 -2 lines
Diff to previous 1.50
Fix arg order to print-unreadable-object use in output-instance.

Revision 1.50 - (view) (annotate) - [select for diffs]
Sun Mar 14 12:27:05 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.49: +6 -7 lines
Diff to previous 1.49
Updated OUTPUT-INSTANCE to handle funcallable instances & to look for
funcallable-structure print functions.  Changed funcallable-instance branch of
OUTPUT-OBJECT to just call OUTPUT-INSTANCE.

Revision 1.49 - (view) (annotate) - [select for diffs]
Fri Feb 26 08:25:58 1993 UTC (21 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.48: +19 -12 lines
Diff to previous 1.48
new structure branch & tuning, see new_struct

Revision 1.48.1.4 - (view) (annotate) - [select for diffs] (vendor branch)
Thu Feb 11 14:22:12 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.48.1.3: +2 -2 lines
Diff to previous 1.48.1.3 , to next main 1.133
fix structure-pointer-type => instance-pointer-type

Revision 1.48.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Feb 10 23:40:42 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.48.1.2: +2 -2 lines
Diff to previous 1.48.1.2
fix args to write-string.
..

Revision 1.48.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Jan 27 12:52:02 1993 UTC (21 years, 2 months ago) by ram
Branch: new_struct
Changes since 1.48.1.1: +2 -2 lines
Diff to previous 1.48.1.1
instancep => %instancep

Revision 1.48.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Jan 23 14:04:31 1993 UTC (21 years, 3 months ago) by ram
Branch: new_struct
Changes since 1.48: +18 -11 lines
Diff to previous 1.48
New structure hax.

Revision 1.48 - (view) (annotate) - [select for diffs]
Thu Dec 17 09:11:38 1992 UTC (21 years, 4 months ago) by wlott
Branch: MAIN
Branch point for: new_struct
Changes since 1.47: +2 -2 lines
Diff to previous 1.47
Changed (code-header-ref component vm:code-debug-info-slot) to
(%code-debug-info component).

Revision 1.47 - (view) (annotate) - [select for diffs]
Sun Dec 13 15:52:01 1992 UTC (21 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.46: +5 -7 lines
Diff to previous 1.46
Changed several uses of %primitive to eqv functions now that eqv functions
exist.

Revision 1.46 - (view) (annotate) - [select for diffs]
Sun Dec 6 20:17:35 1992 UTC (21 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.45: +6 -2 lines
Diff to previous 1.45
Added a #.vm:dylan-function-header-type branch to OUTPUT-FUNCTION.  Also
added a T branch that prints "Unknown Function" so we get some output when
we stumble across unknown functions.

Revision 1.45 - (view) (annotate) - [select for diffs]
Thu Aug 13 12:53:29 1992 UTC (21 years, 8 months ago) by wlott
Branch: MAIN
Changes since 1.44: +2 -2 lines
Diff to previous 1.44
Fixed quote-string to stop at the fill pointer for strings with fill
pointers.

Revision 1.44.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Jul 28 16:56:12 1992 UTC (21 years, 9 months ago) by ram
Branch: patch_16
Changes since 1.44: +3 -6 lines
Diff to previous 1.44 , to next main 1.133
Printpcircle fixes w/o byte-functions.

Revision 1.44 - (view) (annotate) - [select for diffs]
Tue Jul 28 01:57:31 1992 UTC (21 years, 9 months ago) by wlott
Branch: MAIN
Branch point for: patch_16
Changes since 1.43: +1 -8 lines
Diff to previous 1.43
Fixed OUTPUT-SYMBOL to no longer call CHECK-FOR-CIRCULARITY now that
OUTPUT-OBJECT does it for us.  This was causing gensyms to print as #1=#1#
when *PRINT-CIRCLE* was T.

Revision 1.43 - (view) (annotate) - [select for diffs]
Sun Jun 14 07:08:27 1992 UTC (21 years, 10 months ago) by wlott
Branch: MAIN
Changes since 1.42: +80 -113 lines
Diff to previous 1.42
Changed circularity detection and depth abbreviation around.  OUTPUT-OBJECT
now does all circularity detection and DESCEND-INTO only does depth
abbreviation.  Also OUTPUT-STRUCTURE no longer descends into the object,
under the assumption that the structure printer will either actually check
the depth argument or use PPRINT-LOGICAL-BLOCK or DESCEND-INTO.

Revision 1.42 - (view) (annotate) - [select for diffs]
Tue Apr 21 04:24:01 1992 UTC (22 years ago) by wlott
Branch: MAIN
Changes since 1.41: +6 -3 lines
Diff to previous 1.41
Added support for byte-code compiled functions.

Revision 1.41 - (view) (annotate) - [select for diffs]
Tue Apr 7 22:56:55 1992 UTC (22 years ago) by wlott
Branch: MAIN
Changes since 1.40: +3 -3 lines
Diff to previous 1.40
two typos.

Revision 1.40 - (view) (annotate) - [select for diffs]
Thu Apr 2 02:30:27 1992 UTC (22 years ago) by wlott
Branch: MAIN
Changes since 1.39: +17 -12 lines
Diff to previous 1.39
Seperated out the stuff to print symbol names into KERNEL:OUTPUT-SYMBOL-
NAME so that other people can access the case frobbing aspect of symbol
printing without having make a symbol.

Revision 1.39 - (view) (annotate) - [select for diffs]
Mon Mar 9 08:45:08 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.38: +5 -5 lines
Diff to previous 1.38
typos

Revision 1.38 - (view) (annotate) - [select for diffs]
Sun Mar 8 18:32:38 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.37: +28 -13 lines
Diff to previous 1.37
Added support for FDEFN objects.  Detect LRAs and CODE-COMPONENTs by
type tests, instead of using GET-TYPE.

Revision 1.37 - (view) (annotate) - [select for diffs]
Thu Feb 13 10:37:40 1992 UTC (22 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.36: +3 -2 lines
Diff to previous 1.36
PRINT-UNREADABLE-OBJECT returns NIL, not #\>

Revision 1.36 - (view) (annotate) - [select for diffs]
Wed Feb 12 16:11:24 1992 UTC (22 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.35: +3 -2 lines
Diff to previous 1.35
Changed FLONUM-TO-STRING to consider widths < 1 to be 1 to prevent infinite
looping in those cases.

Revision 1.35 - (view) (annotate) - [select for diffs]
Tue Feb 11 16:56:30 1992 UTC (22 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.34: +2 -2 lines
Diff to previous 1.34
Specify stream when printing unbound marker.

Revision 1.34 - (view) (annotate) - [select for diffs]
Tue Feb 4 21:10:33 1992 UTC (22 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.33: +189 -104 lines
Diff to previous 1.33
Added support for READTABLE-CASE in symbol printing.  Added some missing array
type declarations in SYMBOL-QUOTEP.  The behavior when *PRINT-CASE* is
:CAPITALIZE and *PRINT-ESCAPE* is NIL is now slightly different than before.

Revision 1.33 - (view) (annotate) - [select for diffs]
Sun Jan 26 07:36:36 1992 UTC (22 years, 3 months ago) by wlott
Branch: MAIN
Changes since 1.32: +3 -2 lines
Diff to previous 1.32
Fixed PPRINT to call OUT-SYNONYM-OF on it's stream argument so that it will
actually work for the ``streams'' T and NIL.

Revision 1.32 - (view) (annotate) - [select for diffs]
Thu Jan 2 23:44:17 1992 UTC (22 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.31: +9 -10 lines
Diff to previous 1.31
Fixed OUTPUT-VECTOR to not consider *PRINT-ARRAY* in string printing.

Revision 1.31 - (view) (annotate) - [select for diffs]
Fri Dec 13 10:08:08 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.30: +2 -2 lines
Diff to previous 1.30
Oops, had the argument order backwards in a use of output-structure so it
was trying to print the stream to the structure instead of print the
structure to the stream.

Revision 1.30 - (view) (annotate) - [select for diffs]
Fri Dec 13 06:04:37 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.29: +78 -26 lines
Diff to previous 1.29
Fixed spelling of descend (was decend).  Added magic to output-structure
to notice if the user structure printer also tried to do depth abbrevs
and circularity detection, and blow it off 'cause we've already done it.

Revision 1.29 - (view) (annotate) - [select for diffs]
Thu Dec 5 05:12:22 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.28: +23 -14 lines
Diff to previous 1.28
Added doc strings for pretty-printer defvars.  Added a decend-into for
print-vector.  Added an export for *print-pprint-dispatch*.

Revision 1.28 - (view) (annotate) - [select for diffs]
Tue Dec 3 00:01:57 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.27: +95 -27 lines
Diff to previous 1.27
Flushed uses of DOSTRING, because the definition went away.
Exported *CURRENT-LEVEL*, *PRETTY-PRINTER*, OUTPUT-OBJECT, OUTPUT-UGLY-OBJECT,
CHECK-FOR-CIRCULARITY, HANDLE-CIRCULARITY, WITH-CIRCULARITY-DETECTION,
DECEND-INTO, and PUNT-IF-TOO-LONG from the KERNEL package and added doc
strings for them.

Revision 1.27 - (view) (annotate) - [select for diffs]
Mon Dec 2 18:57:14 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.26: +661 -506 lines
Diff to previous 1.26
Significant rewrite to support *print-readably* at all and to better
support and *print-circle*, *print-level*, and *print-length*.

Revision 1.26 - (view) (annotate) - [select for diffs]
Sat Nov 16 00:22:51 1991 UTC (22 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25
Fixed output-weak-pointer to print to the supplied stream instead of
*standard-output* when the pointer has been broken.

Revision 1.25 - (view) (annotate) - [select for diffs]
Sat Nov 9 02:47:19 1991 UTC (22 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24
Changed BASE-CHARACTER to BASE-CHAR

Revision 1.24 - (view) (annotate) - [select for diffs]
Sun Oct 20 23:31:55 1991 UTC (22 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.23: +3 -5 lines
Diff to previous 1.23
PRINT-BIGNUM tables need to be 37 long, since bases go up to 36.

Revision 1.23 - (view) (annotate) - [select for diffs]
Fri Sep 13 06:24:09 1991 UTC (22 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.22: +6 -6 lines
Diff to previous 1.22
typo

Revision 1.22 - (view) (annotate) - [select for diffs]
Fri Sep 13 06:21:43 1991 UTC (22 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.21: +10 -6 lines
Diff to previous 1.21
Added noise to output-random to check to see if code components have
:bogus-lra for their debug-info.  If they do, then just print something to
that effect, don't try to compiled-debug-info-name the thing.

Revision 1.21 - (view) (annotate) - [select for diffs]
Thu Jul 18 13:51:31 1991 UTC (22 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.20: +17 -20 lines
Diff to previous 1.20
Merged Simon Leinen's fix to OUTPUT-SYMBOL.  This amounted to deleting an
incorrect and questionably optimal optimization of printing package qualifiers.

Revision 1.20 - (view) (annotate) - [select for diffs]
Tue Apr 16 01:28:25 1991 UTC (23 years ago) by ram
Branch: MAIN
Changes since 1.19: +9 -4 lines
Diff to previous 1.19
Changed OUTPUT-RANDOM to print the name of code objects and the value of value
cells.

Revision 1.19 - (view) (annotate) - [select for diffs]
Fri Feb 8 13:34:51 1991 UTC (23 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.18: +9 -5 lines
Diff to previous 1.18
New file header with RCS header FILE-COMMENT.

Revision 1.18 - (view) (annotate) - [select for diffs]
Thu Nov 29 02:32:27 1990 UTC (23 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.17: +6 -4 lines
Diff to previous 1.17
Fixed funcallable instance printing.

Revision 1.17 - (view) (annotate) - [select for diffs]
Tue Nov 27 15:51:00 1990 UTC (23 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.16: +3 -1 lines
Diff to previous 1.16
Changed random object printing to call PCL::PRINT-OBJECT on funcallable
instances.

Revision 1.16 - (view) (annotate) - [select for diffs]
Wed Nov 21 10:10:19 1990 UTC (23 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.15: +2 -2 lines
Diff to previous 1.15
Use the magic function structure-ref instead of the %primitive.

Revision 1.15 - (view) (annotate) - [select for diffs]
Mon Nov 19 15:00:41 1990 UTC (23 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.14: +3 -3 lines
Diff to previous 1.14
Added explicit initial-elements to uses of make-array where we needed
the initial element to be nil.

Revision 1.14 - (view) (annotate) - [select for diffs]
Mon Nov 19 05:06:13 1990 UTC (23 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13
Make the termination-form for dostring optional, because it's not always
supplied.

Revision 1.13 - (view) (annotate) - [select for diffs]
Fri Oct 5 13:11:44 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.12: +4 -4 lines
Diff to previous 1.12
Fixed output-structure to use structure-ref instead of svref.

Revision 1.12 - (view) (annotate) - [select for diffs]
Mon Oct 1 14:56:10 1990 UTC (23 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.11: +119 -36 lines
Diff to previous 1.11
Added support for printing denorms, infinities and NaNs.
Added DEFVARs for *print-readably* and *read-eval* so that the new code
could use them as appropriate.  Old code still needs to be fixed to use
these vars.
In FLONUM-TO-STRING, use FLOAT-PRECISION to find out the actual precision
for denorms, and adjust the args to FLOAT-STRING accordingly.  This is
so that we don't print more digits than the real precision.  Currently
this case will only happen through FORMAT, since normal printing uses
SCALE-EXPONENT for denorms.
Hacked up SCALE-EXPONENT a bunch to work for denorms.  Fixed an outright 
bug that would happen if the (* 10.0) loop even ran more than once.
Added additional special-casing for denorms so that the EXPT won't
overflow.

Revision 1.11 - (view) (annotate) - [select for diffs]
Wed Sep 19 21:31:12 1990 UTC (23 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.10: +22 -4 lines
Diff to previous 1.10
Put interpreted function printing back in the printer after William 
thoughtfully merged it out.

Revision 1.10 - (view) (annotate) - [select for diffs]
Tue Sep 18 22:42:23 1990 UTC (23 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.9: +6 -11 lines
Diff to previous 1.9
Fixed some residual character bits lossage that was causing #\a to
print as #\\a.

Revision 1.9 - (view) (annotate) - [select for diffs]
Fri Aug 24 18:12:20 1990 UTC (23 years, 8 months ago) by wlott
Branch: MAIN
Changes since 1.8: +245 -217 lines
Diff to previous 1.8
Moved MIPS branch onto trunk; no merge necessary.

Revision 1.7.1.11 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Aug 15 23:43:54 1990 UTC (23 years, 8 months ago) by wlott
Changes since 1.7.1.10: +2 -2 lines
Diff to previous 1.7.1.10 , to next main 1.133
oops, left of the stream arg to write-string, so it went to
standard-output instead of where it was supposed to go.

Revision 1.7.1.10 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Jul 9 14:32:12 1990 UTC (23 years, 9 months ago) by ram
Changes since 1.7.1.9: +87 -100 lines
Diff to previous 1.7.1.9
Fixed up float printing stuff for new obj format.  In addition to flushing
gratuitous format dependencies, I also cleaned up the free format printing
stuff a bit.  The sign on 0 is now printed.

Revision 1.7.1.9 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Jul 7 01:47:14 1990 UTC (23 years, 9 months ago) by wlott
Changes since 1.7.1.8: +8 -1 lines
Diff to previous 1.7.1.8
Added temporary version of output-float that just prints its type.

Revision 1.7.1.8 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Jul 3 07:26:39 1990 UTC (23 years, 9 months ago) by wlott
Changes since 1.7.1.7: +10 -10 lines
Diff to previous 1.7.1.7
Fixed get-header-type to be get-type.  Bind *print-radix* to t before
calling output-integer instead of printing the radix in output-random.
This way, we don't get two radix markers if someone else has set
*print-radix* to t.

Revision 1.7.1.7 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Jul 2 04:35:15 1990 UTC (23 years, 9 months ago) by wlott
Changes since 1.7.1.6: +33 -18 lines
Diff to previous 1.7.1.6
Enhanced output-random to be able to deal with strange objects better.

Revision 1.8 - (view) (annotate) - [select for diffs]
Wed Jun 27 10:59:34 1990 UTC (23 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.7: +5 -0 lines
Diff to previous 1.7
Special-case printing of code pointers, so that we don't choke on internal code
pointers.

Revision 1.7.1.6 - (view) (annotate) - [select for diffs] (vendor branch)
Fri Jun 15 12:41:07 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.7.1.5: +2 -2 lines
Diff to previous 1.7.1.5
Fixed print-bignum to calculate the value for *base-power* correctly.

Revision 1.7.1.5 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Jun 12 02:27:13 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.7.1.4: +36 -21 lines
Diff to previous 1.7.1.4
Rewrote print-bignum to not make assumptions about the size of fixnums and
to just call truncate instead of bignum-fixnum-truncate-inplace, 'cause
that hasn't existed sence the perq days.

Revision 1.7.1.4 - (view) (annotate) - [select for diffs] (vendor branch)
Mon Jun 4 01:29:53 1990 UTC (23 years, 10 months ago) by ch
Changes since 1.7.1.3: +2 -2 lines
Diff to previous 1.7.1.3
Fixed bug in weak pointer print method.

Revision 1.7.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Sun Jun 3 19:24:50 1990 UTC (23 years, 10 months ago) by ch
Changes since 1.7.1.2: +15 -1 lines
Diff to previous 1.7.1.2
Added print method for weak pointers.

Revision 1.7.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Jun 2 16:12:52 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.7.1.1: +49 -39 lines
Diff to previous 1.7.1.1
Check for system-area-pointers, and print their value inside #<...>.
,

Revision 1.7.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Fri May 25 20:40:12 1990 UTC (23 years, 11 months ago) by wlott
Changes since 1.7: +49 -63 lines
Diff to previous 1.7
Initial MIPS cut.

Revision 1.7 - (view) (annotate) - [select for diffs]
Fri Mar 30 18:17:56 1990 UTC (24 years ago) by ram
Branch: MAIN
Changes since 1.6: +1 -1 lines
Diff to previous 1.6
Fixed missing stream arg in OUTPUT-RANDOM.

Revision 1.6 - (view) (annotate) - [select for diffs]
Thu Mar 8 11:08:40 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.5: +1 -1 lines
Diff to previous 1.5
FIxed paren error in output-random.

Revision 1.5 - (view) (annotate) - [select for diffs]
Mon Mar 5 11:59:14 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.4: +3 -4 lines
Diff to previous 1.4
Fixed merge lossage.  Removed FUNCALLABLE-INSTANCE check in LIST branch of
OUTPUT-OBJECT, since funcallable instances won't be lists (and haven't been in
the current system for quite a while.)

Revision 1.4 - (view) (annotate) - [select for diffs]
Thu Feb 22 12:35:29 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.3: +380 -385 lines
Diff to previous 1.3
/usr1/lisp/ncode/print.lisp, 29-Nov-89 18:44:35, Edit by Chiles.
  Changed print-string-stream to *print-string-stream*.

  Changed previous-case to *previous-case*.

  Added some locality to global variables.

  Rewrote DOSTRING.

  Documented some stuff.

  Made WRITE, PRIN1, PRINT, PRINC, etc. call OUT-SYNONYM-OF.

  Made the following internal printing functions take a stream argument:
     output-object
     quote-string
     output-symbol
     output-list
     output-integer
     output-float
     output-ration
     output-complex
     output-structure
     output-character
     output-vector
     output-array
     output-random
  Since these used to assume they were outputting to *standard-output*, and the
  entry point into the file would set this up, the system suffered serious
  correctness and termination problems.  T and Nil were handled incorrectly for
  getting at *terminal-io*, and if a printign routine had been given a synonym
  stream referring output to '*standard-output*, the stream methods looped
  forever trying to find the destination stream.

  Removed the definition for MISC-TYPE-CODE.

Revision 1.3 - (view) (annotate) - [select for diffs]
Mon Feb 12 11:53:28 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.2: +4 -5 lines
Diff to previous 1.2
Changed OUTPUT-STRUCTURE to use INFO TYPE PRINTER.

Revision 1.2 - (view) (annotate) - [select for diffs]
Fri Feb 9 11:58:51 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.1: +4 -3 lines
Diff to previous 1.1
Changed OUTPUT-FUNCTION-OBJECT of interpreted functions whose name is NIL to
print the lambda with bounded depth.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Feb 6 17:25:21 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