Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Need to precompile the ef slots for both unicode and non-unicode builds. (This was broken in the 2010-04 snapshot.) code/fd-stream-comp.lisp: o Precompile ef slots there for ISO8859-1. code/fd-stream-extfmts.lisp: o Remove the precompile stuff. tools/worldcom.lisp: o Compile fd-stream-comp. tools/worldload.lisp: o Load fd-stream-comp.
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.
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).
Need a stub for FIND-DOMAIN during worldbuild. (Should we put the stub in some other file instead of having a new file that contains just one function returning NIL?) tools/worldbuild.lisp: o Load intl-tramp tools/worldcom.lisp: o Build intl-tramp code/intl-tramp.lisp: o Define stub for FIND-DOMAIN.
Add support for localization. From Paul Foley. bootfiles/20a/boot-2010-02-1.lisp: o New file to bootstrap localization support. code/intl.lisp: o New file that implements localization. code/exports.lisp: o Define INTL package o Add INTL package to LISP tools/worldbuild.lisp tools/worldcom.lisp tools/worldload.lisp o Compile intl.lisp
Compile and load unidata.lisp, even for non-unicode builds so that we can do something with external formats instead of causing an error. (Suggested by Paul.)
Cleanups for non-unicode build. code/stream.lisp: o Only define (setf stream-external-format) for Unicode builds. o In stream-external-format, don't try to look up the external format from the fd-stream structure, which doesn't exist in non-unicode builds. code/strings.lisp: o Conditionalize out things that will only work if unicode is available. tools/worldcom.lisp: o Only compile fd-stream-extfmt for unicode builds.
Merge Unicode work to trunk. From label unicode-utf16-extfmt-2009-06-11.
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.
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
More updates from Paul. fd-stream-extfmt.lisp actually implements the external formats which now work. Cross-compile works fine. code/fd-stream-extfmt.lisp: o New file implementing external formats tools/worldcom.lisp: o Compile extfmts.lisp before fd-stream, since fd-stream uses some macros from extfmts. o Compile fd-stream-extfmt tools/worldload.lisp: o Load fd-stream-extfmt at the end. (Can't load it as part of kernel.core. Not enough is set up yet.) code/extfmts.lisp: o Avoid loading files, etc., early in the boot sequence o Add INVERT-TABLE function needed by some formats. code/fd-stream.lisp: o Some cleanups (I think) o Fix EOF handling
Import Paul Foley's external-formats support. New files: o code/extfmts.lisp o pcl/simple-streams/external-formats/iso8859-1.lisp o pcl/simple-streams/external-formats/void.lisp code/exports.lisp: o Export the new symbols STRING-TO-OCTETS, OCTETS-TO-STRING, *DEFAULT-EXTERNAL-FORMAT*, ENCODE-STRING, and DECODE-STRING from the STREAM package o Make the symbols in the EXT package too. pcl/simple-streams/internal.lisp: o Move the implementation of STRING-TO-OCTETS and friends to a new file (extfmts.lisp). pcl/simple-streams/external-formats/utf-8.lisp: o New implementation. tools/make-main-dist.sh: o Create new target directory to hold external formats o Copy all of the external formats to the new directory. tools/pclcom.lisp: o Compile new code tools/worldcom.lisp: o Compile code/extfmts.lisp tools/worldload.lisp: o Load code/extfmts.lisp
Environment access functions from CLtL2. Not all of the functions specified in CLtL2 are implemented yet. These functions live in the EXTENSIONS package. code/env-access.lisp: o The implementation. (Based on code from SBCL) code/exports.lisp: o Export the symbols from the EXTENSIONS package. o Import them into the C package. tools/worldcom.lisp: o Compile env-access.lisp; tools/worldload.lisp: o Load env-access.
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).
Add implementation of special functions for double-double-float. More testing required, but basic functionality works. code/irrat-dd.lisp: o New file which implements all the required special functions for double-double. Modify existing COMPLEX-<foo> functions to handle double-double numbers. code/irrat.lisp: o Update HANDLE-REALS to handle double-double float case. o Update EXPT for double-double float. (But negative number to non-integer power not working yet.) o LOG handles double-double, but not 2-arg log yet. o SQRT handles double-double, including complex result. o ASIN handles double-double. o ACOS handles double-double. o ATAN handles double-double. o ACOSH handles double-double. o ATANH handles double-double. o Adjust declaration for SQUARE, SCALB, LOGB-FINITE, and LOGB to allow any float type. o COMPLEX-SQRT handles double-doubles. o COMPLEX-LOG handles double-doubles. o COMPLEX-ATANH handles double-doubles. o COMPLEX-TANH handles double-doubles. o COMPLEX-ACOS handles double-doubles. o COMPLEX-ASIN handles double-doubles. o COMPLEX-ASINH handles double-doubles. o COMPLEX-ATAN handles double-doubles. o COMPLEX-TAN handles double-doubles. tools/worldbuild.lisp: o Load irrat-dd. tools/worldcom.lisp: o Compile irrat-dd.
Merge code from main branch of 2005-12-17 to ppc gencgc branch. Still doesn't work of course.
Don't refer to the file stream-vector-io with its extension as an argument to comf.
Merge snapshot-2005-05 to this branch.
Apply Lynn Quam's proposed enhancements to fd-streams allowing input streams opened with element-type (unsigned-byte 8) to be also opened for character input. This gives simple-streams semantics to fd-streams. * code/fd-stream.lisp o Make FD-STREAM-IN use PICK-INPUT-ROUTINE to select the correct type of input. o Add *FD-STREAM-ENABLE-CHARACTER-AND-BINARY-INPUT* to allow binary and character input. Currently defaults to NIL, but will change to T. * code/stream.lisp o New READ-INTO-SIMPLE-STRING to allow stream element-type of (unsigned-byte 8). o Support reading and writing simple arrays of single-float and double-float. o Strings can be written to streams of element-type '(unsigned-byte 8). * tools/worldcom.lisp o Compile stream-vector-io.lisp. * tools/worldload.lisp o Load stream-vector-io. * code/stream-vector-io.lisp o New file implementing READ-VECTOR and WRITE-VECTOR.
Move the loop pretty-printer to its own file because of the MIT license. pprint-loop.lisp: o New file containing the loop pprinter, with XP license pprint.lisp: o Remove loop pprinter code. o Call initializer to enable the loop pprinter at the right time. worldcom.lisp: o Compile pprint-loop worldload.lisp: o Load pprint-loop at the right time.
Make loading of foreign-linkage conditional on the presence of the linkage-table feature. This seems much cleaner than relying on the contents of foreign-linkage also working in non-linkage-table cores and runtimes.
Perform trivial merge from head to unicode-branch.
TRACE was broken if CMUCL wasn't built from a version that included PCL, because it needed PCL's walker code. Fix this by always building with PCL's walker, which is independent of PCL: code/fwrappers.lisp: o Always use the PCL version, assuming PCL walker is included. pcl/defsys.lisp: o Don't build walk.lisp here, because it's built as a part of CMUCL. o Fix up dependencies. tools/worldcom.lisp: o Compile up pcl/walk.lisp tools/worldload.lisp: o Load up pcl/walk.lisp
Disable package locks when rebuilding the various parts of CMUCL.
* src/tools/setup.lisp, src/tools/worldcom.lisp: Move the setting of *make-condition-accessor-methods* to setup.lisp, so that it applies to genesis-c-header-file-changed. This has to be done because between the definition of genesis-c-header-file-changed in setup.lisp and worldbuild.lisp/genesis, where the condition is signaled, PCL is eradicated.
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::.
Add fwrappers. Rewrite TRACE and PROFILE to use fwrappers. To bootstrap, use boot12.lisp with pmai's scripts. * src/bootfiles/18e/boot12.lisp: New file. * src/tools/worldload.lisp, src/tools/worldcom.lisp: * src/tools/worldbuild.lisp: Add code:fwrappers. * src/docs/cmu-user/extensions.tex (Function Wrappers): New section. * src/code/fwrappers.lisp: New file. * src-fw/pcl/defs.lisp (gdefinition): Don't check for profiled functions. * src-fw/code/exports.lisp: Add walker and fwrappers. * src-fw/code/fdefinition.lisp (fdefn-init): Set *valid-function-names* to nil. (encapsulation): Structure removed. (do-encapsulations, encapsulation, last-encapsulation) (push-encapsulation, encapsulate, unencapsulate, encapsulated-p): Removed. There is a compatibility layer in fwrappers.lisp. (fdefinition, %set-fdefinition): Rewritten. * src/code/profile.lisp: Remove #+cmu and #-cmu. ("PROFILE"): Use fwrappers. (*profile-info*): Removed. (profile-info): Redefined. (*existing-encapsulations*): Removed. (reset-profile-info, profile-info-profiling-values): New functions. (make-profile-encapsulation): Removed. (profile): New function name syntax. (make-profile-fwrapper-name, make-profile-fwrapper): New functions. (def-profile-fwrapper): Precompute some fwrappers. (ensure-profile-fwrapper, find-profile-fwrapper, pi-or-lose): New functions. (profile-1-function): Rewritten. (unprofile-1-function): Ditto. (re-profile-redefined-function): New function. (toplevel): Push it on *setf-fdefinition-hook*. * src/code/ntrace.lisp (trace-call): Removed. (trace-fwrapper): New fwrapper. (trace-1): Use fwrap instead of encapsulate. (untrace-1): Use funwrap instead of unencapsulate.
Make condition readers/writers generic functions, as required by ANSI. Detected by Paul Dietz' ANSI test suite. * src/tools/worldcom.lisp: Set conditions::*make-condition-accessor-methods* to nil. * src/tools/pclcom.lisp: Convert condition accessor gfs back to normal functions. * src/code/error.lisp (*make-condition-accessor-methods*) (*early-condition-accessors*): New variables. (make-early-condition-accessors-generic) (make-condition-accessor): New functions. (%define-condition): Use make-condition-accessor. (define-condition): Define methods if *make-condition-accessor-methods*. * src/pcl/fixup.lisp (toplevel): Call conditions::make-early-condition-accessors-generic.
- the :new-compiler and :hash-new features were announced as being deprecated in 18e; remove them and make code that depended on them enabled unconditionally. - if CMUCL is built with the :no-docstrings feature, docstrings are discarded while building. This is intended for embedded-type images.
*** empty log message ***
*** empty log message ***
Enable the scavhook facility on platforms without gencgc.
Make (time ...) and the profiler do precise measuring of space allocation. It will also not overflow or bomb out when consing amounts cross most-positive fixnum. The new profiler also has an interface to plug in your own print function (also dictates sorting or results). This is written on gencgc/x86 but tests indicated the fallsbacks for other platforms work. The dfixnum package included here is sketchy.
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.
On x86 FreeBSD and Linux, change the way foreign symbol addresses are resolved. They now go through a table -- effectively a new space in the core file. Function references are resolved lazily, data references are resolved on startup and when a .so is loaded. The end result is that cores can be dumped that contain references to symbols in shared libraries. Also, the dependence of the core on addresses in the Lisp runtime is broken. The linkage table feature is controlled by :linkage-table and LINKAGE_TABLE in C runtime. Several foreign symbols are now Lisp static symbols, so a cross compile is required whether or not the new stuff is used. I've checked in boot4-cross-foreign-linkage.lisp that builds the compiler for linkage table; do whatever you usually do for the non-linkage table case:) Seriously, lets start a discussion on standardizing "cross compilation," not to mention the general build procedure.
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation for release tagging 18d.
Move defvar for *original-%deftype* to toplevel.
o Compiler backend for the PowerPC contributed by Gary Byers.
Set the :proceed option when compiling run-program as a constant redefinition is expected during a cross compile.
Set the :proceed option when compiling run-program as a constant redefinition is expected during a cross compile.
This set of revisions brings the RELENG_18 branch up to HEAD in preparation for an 18c release.
Byte-compile assembly/assemfile when bootstrapping.
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.
Update for the linux port from Peter VanEynde, adds preliminary support for glibc2.
Support for rand-mt19937.
Compile code/scavhook and build it into the core for GENCGC.
Compile hash-new and build it into the core given the :hash-new feature.
Compile code/multi-proc.lisp and build it into the core.
Werkowskis source kit 1.03.7
Solaris patches. Also, delete obsolete compile of assembly/sparc/bit-bash.
Added back compilation of code/globals so that we can suppress hemlock-related undefined warnings.
Changed to compile irix-os.lisp when :irix is a backend-featurep.
Fixed the last checkin.
Added SGI support.
When NO-RUNTIME feature is absent, compile various subsystems byte-coded as well as native coded so that we can choose at system build time.
Added support for alpha/osf1.
Added ``:prodeed t'' to compilation of unix, so we can change constants.
Only load target:code/assemfile if *backend* and *native-backend* are the same thing.
Fix assemfile load.
Make error and defmacro compilation less special-cased, since we don't need them at cold-load time.
Wrote byte compiled error as bc-error.fasl
When byte-compiling error, :byte-compile :maybe, since we want to native compile some stuff.
Byte-compile some files, including some in the cold load. This is done by also native-compiling them, then loading the byte-compiled version later.
Also compile cmu-site.
Change debug-info quality to debug.
Added support to compile code/hpux-os.lisp under hpux.
Compile scavhook and gengc instead of room, gc, and purify for the gengc system.
Don't byte-compile top-level forms in cold load.
pathname and filesys no longer compiled with full safety and debug info.
Compile class safe & w/debug info for now.
new structure branch & tuning, see new_struct
move sysmacs earlier in the compilation.
new structure type system hax.
Add compile of module, remove trace.
Compile module.lisp again.
Really clobber %deftype.
Added a hack to compiling of type system code to prevent interpreted deftypes from being installed. This causes the compiler to break when it is compiled sage.
Deleted compilation of trace.lisp
Removed the bit-bash assembly routines from the mips system. Added a :proceed t to the comf for exports.
Use C:BACKEND-FEATUREP instead of TARGET-FEATUREP.
Added x86 and hppa specific files.
Removed compilation of clx-ext and inspect. These are now compiled by clxcom.
Removed unmatched close parenthesis.
Changed to use C:BACKEND-FEATUREP instead of STRING= against the backend name.
Merged trunk changes with gengc stuff.
Added some more uses of #+small to allow keep debug-info at 2 when small isn't set.
Added explicit context declaration patter to safely compile %PUTHASH and a few other setf inverses that have silly names. Moved interr before error.
Flushed salterror, as the functionally is now covered my mach.lisp. Only compile inspect if we have CLX, Hemlock, and PCL.
Merged new-alien changes onto trunk.
Added explicit context declaration patter to safely compile %PUTHASH and a few other setf inverses that have silly names.
Added comf of .../code/exports.lisp.
Removed defrecord and added sap.
Mods for new aliens.
Moved interr before error.
Compile old filesys fully safe for patch release.
Upped the safety and debug-info for pathname and filesys.
Added pathname and removed search-list.
Don't compile XP, because we don't load it anymore.
Changed backend name from PMAX to R2000. Commented out the debug-info .5.
Added new file ntrace.lisp
Changes for gengc system.
Added compile of mach-os or sunos-os, #+ conditionalized.
Changed the debug-info level for internal functions to be .5, which now suppresses arg documentation and function type information.
Added inspect to the compile (conditional on CLX).
Moved room.lisp before gc.lisp so that MEMORY-USAGE will have been exported by the time we compile gc.
Added compile of setf-funs.
Add room to the compilation.
Added profile.lisp to the compilation.
Made SEQ be compiled safe because I don't feel like putting in all that explicit bounds checking.
Fixed a context declaration to be a keyword.
Deleted some broken vestigial syntax.
Added context sensitive declarations and SMALL conditionalization.
Added RT specific stuff.
Checked in many changes from William's play area.
New file header with RCS header FILE-COMMENT.
Moved MIPS branch onto trunk; no merge necessary.
Added knownfun back into the compilation.
Changed pathnames to only use the ``target'' search list.
Added %PROCLAIM for semi-safe policy, and set *PRINT-PRETTY* to NIL so that we won't lose if we try to print structures after compiling XP.
Moved debug-info earlier in the compilation.
Commented out a few files that I know will cause big problems.
Initial MIPS version.
Changed to new logical names. Moved serve-event before lispinit so that variables are defined before use. Moved constants out of the LET *compile-time-define-macros* so that DEFINE-SYSTEM-CONSTANT is defined. Added type-boot.
Changed let of *ALIEN-EVAL-WHEN* to be (COMPILE EVAL) rather than just (COMPILE) so that stuff will get evaluated at least once in the bootstrap environment.
Added fd-stream and serve-event, flushed machio.
Added compilation of assem:assem and assem:assembler.
Fixed type in last edit.
Added binding of C:*COMPILE-TIME-DEFINE-MACROS* to NIL around compilation of system macros (at end of compilation.) This prevents infinite recursions due to trying to interpret circularly defined macros.
Changed to only load the XXXmsgdefs files when there is no XXXuser.nfasl, and also bound *ALIEN-EVAL-WHEN* to COMPILE around this stuff so that we won't eval the msgdefs stuff twice.
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.
|Powered by ViewVC 1.1.5|