- Nov 25, 2013
-
-
Raymond Toy authored
Bug noted by Pascal Bourguignon on cmucl-help, 2013-11-24.
-
- Dec 19, 2012
-
-
Raymond Toy authored
Patch from Helmut Eller, cmucl-imp 2012-12-16.
-
- Nov 04, 2011
-
-
Raymond Toy authored
-
- Sep 25, 2011
-
-
Raymond Toy authored
entries with just the file path, removing the revision number, date, author and state. The actual information is now computed during compilation and stored in the fasl itself. (See ticket:48.)
-
- May 25, 2010
-
-
rtoy authored
o In DEFINE-COMPILER-MACRO, use the correct BLOCK name for SETF functions o Signal an error if the function name is not a valid function name. general-info/release-20b.txt: o Update.
-
- Apr 27, 2010
-
-
rtoy authored
Replace the call to (setf info) with a (new) function, set-defvar-textdomain, that calls (setf info). The (setf info) was causing the compiler to run and producing an unexpected message. The compiler doesn't need to handle the new function specially. o DEFCONSTANT was not recording the text domain for the new constant. Call set-defvar-textdomain to record the text domain.
-
- Apr 23, 2010
-
-
rtoy authored
code/defstruct.lisp: o Save source info for defstructs code/macros.lisp: o Save source info for deftypes. compiler/globaldb.lisp: o Add comments that the info type source-location defvar also includes defparameter, defconstant, defstruct, and deftype.
-
- Apr 20, 2010
-
-
rtoy authored
may get confused with source locations if the reader macros are installed.
-
- Apr 18, 2010
-
-
rtoy authored
that accept docstrings to note the docstrings as translatable. o Remove _N"" reader macro from docstrings.
-
- Mar 19, 2010
-
-
rtoy authored
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.
-
- Mar 18, 2010
-
-
rtoy authored
continued, the accessor is redefined. Previously, a warning was printed and the structure was (mostly) undefined. compiler/proclaim.lisp: o Add new function NOTE-IF-ACCESSOR to check if we're redefining a slot accessor. If so, signal a cerror, and redefine if continued. o Adjust DEFINE-FUNCTION-NAME to call NOTE-IF-ACCESSOR. compiler/main.lisp: o Make COMPILE-FIX-FUNCTION-NAME call NOTE-IF-ACCESSOR to catch attempts to redefine a slot-accessor. code/macros.lisp: o Move call to C::DEFINE-FUNCTION-NAME to the top of C::%%DEFUN before we set the fdefinition. This allows us to give up before modifying anything if we choose not to redefine the slot accessor.
-
- Jun 18, 2009
-
-
rtoy authored
also be used to indicate the default clause.
-
- Jun 19, 2008
-
-
rtoy authored
more like the actual call (var filespec &rest open-args) instead of (var &rest open-args). Fix up the macro documentation too since that didn't really match the arguments very well either.
-
- Jan 03, 2008
-
-
cshapiro authored
code. Rather than introduce a new FreeBSD case to the x86 sigcontext member accessor routines, collapse all of the system specific routines down to a common set of routines. * code/debug-int.lisp - Disable some Darwin-specific code to debug NULL mcontext pointers. * code/float-trap.lisp - Remove ancient FreeBSD-specific code for handling floating point signals. * code/macros.lisp, code/sap.lisp, compiler/saptran.lisp - Include the SAP-REF-LONG setter by default on the x86. * code/x86-vm.lisp - Remove operating system specific sigcontext definitions and sigcontext accessors. Define the alien sigcontext as a system area pointer. Replace the sigcontext accessors with foreign function calls that mask the complexity of the underlying sigcontext member access. * compiler/x86/float.lisp - Unconditionally define STORE-LONG-FLOAT. This function is used by the %SET-SAP-REF-LONG VOP that underlies the SAP-REF-LONG setter. * compiler/x86/sap.lisp - Unconditionally define %SET-SAP-REF-LONG. In the case where there is not a distinct LONG-FLOAT type, admit DOUBLE-FLOAT values instead. The x87 automatically widens values pushed onto stack. This mirrors the behavior of the SAP-REF-LONG VOP. * lisp/Darwin-os.c, lisp/Linux-os.c - Define functions to access sigcontext members of interest to Lisp. Delete the sc_reg function and replace its uses with os_sigcontext_reg which is more suitably typed. * lisp/FreeBSD-os.c - Define functions to access sigcontext members of interest to Lisp. We need to be careful about the SSE and non-SSE cases for retrieving x87 registers from the saved machine state. Define a low-level SIGFPE handler to intercept floating point traps and restore the cleared status word bits based on the signal code. Get rid of sc_reg for the reasons noted above. * lisp/Darwin-os.h, lisp/FreeBSD-os.h - Declare the restore_fpu function and define a specialized RESTORE_FPU macro. Remove the sc_reg prototype. * lisp/Linux-os.h - Remove the sc_reg prototype. * lisp/os.h - Add prototypes for the new os_sigcontext functions. * lisp/x86-lispregs.h - Redefine SC_REG and SC_PC to expand out to the new os_sigcontext functions. Redfine SC_SP to expand out to SC_REG. Eliminate all platform-specific defintions of SC_PC and SC_SP.
-
- Aug 08, 2007
-
-
rtoy authored
print out a better description. Cosmetic change only.
-
- Apr 13, 2006
-
-
rtoy authored
apply the appropriate ones to the dummy loop counter. Also get the appropriate declarations for the loop counter so they can be applied to the result-form of the loop.
-
- Nov 18, 2005
-
-
rtoy authored
of times, regardless of what the body might do to the index variable.
-
- Oct 21, 2005
- Jul 13, 2005
-
-
rtoy authored
but we weren't in cases like (multiple-value-setq nil :good).
-
- May 09, 2005
-
-
rtoy authored
-
- Dec 15, 2004
-
-
rtoy authored
ANSI 5.1.3. (Based on the fixs in sbcl.)
-
- Oct 14, 2004
-
-
rtoy authored
handle the situation of the key T when used as a normal clause. From Bruno Haible, cmucl-imp, 2004-10-13.
-
- Jun 29, 2004
-
-
rtoy authored
This causes (let ((a t) (b t) (c t) (d t) (e t) (f t)) (setf (values a (values b c) (values d) (values e f)) (values 0 1 2 3 4 5 6)) (list a b c d e f)) to return the (0 1 2 3 4 5) instead of (0 1 nil 2 3 nil).
-
- May 18, 2004
-
-
rtoy authored
but the following gives wrong results: (macroexpand '(multiple-value-bind (&rest x) (foo y) d)) (MULTIPLE-VALUE-CALL #'(LAMBDA (&OPTIONAL &REST X &REST #:G858) (DECLARE (IGNORE #:G858)) D) (FOO Y)) Fix from Juan Jose Garcia Ripoll.
-
- May 06, 2004
-
-
rtoy authored
source location for defvar and friends.
-
- Apr 14, 2004
-
-
rtoy authored
(Basically if T or OTHERWISE are keys not in the last clause.)
-
- Aug 08, 2003
-
-
emarsden authored
structural and the definition locks for all existing packages. Add an additional restart to the PACKAGE-LOCKED-ERROR signaling points that allows the user to disable all packages then continue. Package locks are initialized upon startup, so the unlocking only takes effect during the current session. However, this function doesn't suffer from the problem that affects LISP::*ENABLE-PACKAGE-LOCKED-ERRORS* (which is bound by LOAD so can't be set from an initialization file).
-
- Jul 17, 2003
-
-
gerd authored
ignore element-type.
-
- Jul 09, 2003
-
-
gerd authored
in the info database.
-
- Jun 18, 2003
-
-
gerd authored
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::.
-
- May 12, 2003
-
-
emarsden authored
Add package locks. Bootfile boot8.lisp allows this to build without a cross-compile (or just select the CLOBBER-IT restart). - two extra PACKAGE-LOCK and PACKAGE-DEFINITION-LOCK slots added to the package structure. These can be modified using the EXT:PACKAGE-LOCK and EXT:PACKAGE-DEFINITION-LOCK accessors. - macro EXT:WITHOUT-PACKAGE-LOCKS that evaluates forms with all package locks disabled (this is done by binding the global variable CL::*ENABLE-PACKAGE-LOCKED-ERRORS*) - new PACKAGE-LOCKED-ERROR condition - in SETF-FDEFINITION-HOOK and in the DEFMACRO, DEFSTRUCT, DEFTYPE and DEFCLASS defining forms, check whether the definition would modify a package whose definition-lock is enabled, and signal a package-locked-error condition with restarts that allow you to unlock the package or ignore the lock - in EXPORT, UNEXPORT etc check whether the target package is guarded by a package-lock, and signal an error - disable package locks when loading a subsystem - disable package locks in certain areas of PCL and in the MAKE-LOAD-FORM support of the compiler, where code is generated inside system packages at runtime
-
- Apr 19, 2003
-
-
gerd authored
by Paul Dietz' ANSI tests. * src/code/defmacro.lisp (parse-defmacro-lambda-list): Add &parse-body, replacing &body (<body> <decls> <doc>). Add destructuring support to &rest, &body, &whole. * src/code/eval.lisp (lambda-list-keywords): Add &parse-body. * src/code/exports.lisp ("EXTENSIONS"): Export &parse-body. * src/hemlock/table.lisp (do-words, with-folded-string): * src/hemlock/macros.lisp (with-pop-up-display): * src/compiler/macros.lisp (deftransform): * src/compiler/ir1tran.lisp (symbol-macrolet, let, locally) (let*, flet, labels) <ir1-translator>: * src/code/package.lisp (do-symbols, do-external-symbols) (do-all-symbols): * src/code/macros.lisp (defun, prog, prog*, with-open-file) (with-open-stream, with-input-from-string) (with-output-to-string, do, do*): * src/code/mach.lisp (gr-bind): * src/code/extensions.lisp (do-anonymous, do-hash, defun-cached): Use &parse-body instead of &body.
-
- Mar 22, 2003
-
-
gerd authored
= pcl:class part. To get it booted from 18e, cross-compile using boot1.lisp as bootstrap.lisp in pmai's build scripts, then do a normal compile with boot2.lisp as bootstrap.lisp with the resulting Lisp. * code/byte-interp.lisp, code/defstruct.lisp, code/describe.lisp: * code/error.lisp, code/exports.lisp, code/hash-new.lisp: * code/hash.lisp, code/macros.lisp, code/misc.lisp: * code/package.lisp, code/pred.lisp, code/sharpm.lisp, code/type.lisp: * compiler/dump.lisp, compiler/fndb.lisp, compiler/globaldb.lisp: * compiler/proclaim.lisp, compiler/typetran.lisp, compiler/xref.lisp: * compiler/generic/primtype.lisp, compiler/generic/vm-type.lisp: Changes for to use kernel::class etc. * code/class.lisp (toplevel): Shadow class, built-in-class etc. (class): Give it conc-name %class-. (toplevel) [#+bootstrap-lisp-class=pcl-class]: Define old accessors. (everywhere): Use new class accessors. * compiler/generic/vm-fndb.lisp (%make-instance): Change from unsafe to flushable and movable. * code/ntrace.lisp (expand-trace, untrace): Changes for method tracing. * code/profile.lisp (profile, profile-all, unprofile): Method profiling. * pcl/*.text, pcl/bench.lisp, pcl/extensions.lisp: * pcl/fast-init.lisp, pcl/precom1.lisp, pcl/precom4.lisp: * pcl/structure-class.lisp, pcl/user-instances.lisp: Removed. * tools/pclcom.lisp: Changes for my PCL and lisp:class = pcl::class.
-
- Feb 28, 2003
-
-
emarsden authored
-
- Feb 24, 2003
-
-
gerd authored
form evaluating the result form, for the case where VAR is declared special.
-
- Feb 18, 2003
-
-
toy authored
if it's the last clause. Otherwise, it's just a normal clause.
-
- Feb 08, 2003
-
-
gerd authored
* code/macros.lisp (evaluate-declaration-context): Use valid-function-name-p.
-
- Feb 05, 2003
-
-
gerd authored
* code/fdefinition.lisp (*valid-function-names*): New variable. (%define-function-name-syntax, valid-function-name-p): New functions. (define-function-name-syntax): New macro. (toplevel): Define the syntax of setf function names. (fdefinition-object): Use valid-function-name-p. * compiler/proclaim.lisp (check-function-name): Use valid-function-name-p. * compiler/ir1tran.lisp (function): Use valid-function-name-p. * code/profile.lisp (%report-times): Use valid-function-name-p. * code/macros.lisp (defun): Use valid-function-name-p. * code/eval.lisp (eval): Use valid-function-name-p. * code/describe.lisp (describe-aux, describe-function-name): Use valid-function-name-p. * code/exports.lisp ("EXTENSIONS"): Add define-function-name-syntax and valid-function-name-p.
-
- Jan 23, 2003
-
-
toy authored
fix typos in comments, signal more specific error types, remove some stale code, fix a few compiler warnings in the runtime.
-