Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Change uses of _"foo" to (intl:gettext "foo"). This is because slime may get confused with source locations if the reader macros are installed.
Remove _N"" reader macro from docstrings when possible.
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.
Merge changes from HEAD, update po files.
In FUNCTION-LAMBDA-EXPRESSION, COMPILED-DEBUG-INFO-SOURCE can return NIL, so check for that before trying to access the DEBUG-SOURCE-FROM.
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).
Mark translatable strings; update cmucl.pot and ko/cmucl.po accordingly.
Add (intl:textdomain "cmucl") to the files to set the textdomain.
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.
Sync to snapshot 2008-11. But we didn't sync code/extfmts.lisp or iso8859-1.lisp and utf-8.lisp. (I don't think we want those changes, yet.)
Sync to snapshot 2008-11.
Add some checks to bad eval-when situations. Print a warning if there are. This makes the interpreter produces a message when the compiler would produce a message.
When attempting to macro expand a symbol that denotes a local definition, if the symbol is symbol macro, return the expansion. Otherwise, if the symbol is a local definition but not a symbol macro, return the symbol and report no expansion. Previously, the otherwise case was not handled and macroexpand-1 fell through in error to test forms for global cases. Among other things, this caused the expansion of global symbol macros shadowed by lexical variable bindings.
Merge code from main branch of 2005-12-17 to ppc gencgc branch. Still doesn't work of course.
CLHS says (setf macro-function) and (setf compiler-macro-function) are supposed to take an optional environment arg. Make it so. But we don't do anything with the environment arg. I don't know what to do with it.
We were incorrectly looking up local definitions for macros because of the generalized function name syntax. Use VALID-FUNCTION-NAME-P to get the function name from the environment. From a bug reported by Bruno Haible, cmucl-imp, 2004-10-08.
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::.
* src/code/eval.lisp (lambda-list-keywords): Add c:&more.
Add destructuring support to &REST, &BODY, &WHOLE. Detected 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.
Merge with HEAD
Merged back important fix from 18e release branch.
Committed overlooked remainder of the fixes to internal-eval.
Fix stub definition of eval:internal-eval to conform to the lambda list of the full eval:internal-eval defined in the compiler. This removes a couple of spurious warnings from the compile-compiler.log.
Generalized function names. * 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.
Functions and instances are constantp. From Gerd Moellmann.
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation for release tagging 18d.
Reactivate the definitions of COMPILER-MACROEXPAND-1 and COMPILER-MACROEXPAND, and export them from the EXTENSIONS package, since they are useful debugging aids for compiler-macro writers, even if they could write them on their own, and ANSI CL dropped them.
This set of changes fixes EVAL-WHEN to work according to the ANSI spec.
Add support for define-symbol-macro.
Add support for define-symbol-macro.
This set of revisions brings the RELENG_18 branch up to HEAD in preparation for an 18c release.
Move compiler-let from COMMON-LISP package to EXTENSIONS. It is no longer part of the language.
Add macro-function and special-operator-p check when evaluating a (function symbol) form. Based on patches from Peter Van Eynde.
Rework some error's into simple-program-error's. Generate an simple-undefined-function error when a macro function is funcall'ed. Based on patches from Peter Van Eynde.
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.
ANSI CL compat. changes: o Add an optional environment argument to constantp; ignored by CMUCL. o Add the :element-type keyword to make-string.
From: Douglas Thomas Crosher <email@example.com> Message-Id: <199702041630.DAA06602@scrooge.ee.swin.oz.au> Subject: Re: making eval-functions FINs To: firstname.lastname@example.org Date: Wed, 5 Feb 1997 03:30:55 +1100 (EST) In-Reply-To: <199702040300.EAA16744@knight.cons.org> from "Rob MacLachlan" at Feb 3, 97 09:59:02 pm X-Mailer: ELM [version 2.4 PL24] Content-Type: text > I seem to have lost the most recent message about fixing compiler/eval to > use FINs instead of closures. But yes, I would think that the current > EVAL-FUNCTION slots should become slots in the interpreted function FIN. > GET-EVAL-FUN when would then become IDENTITY, so it should probably be > flushed entirely. Done; moved eval-function data into the interpreted-function FIN, also added a closure slot so describe can access it easily. Revised patches below. Douglas
Fix headed boilerplate.
Add dummy stubs which signal errors when the IR1 interpreter hasn't been loaded yet.
Add support for :EXECUTE keyword to EVAL-WHEN
special-form-p -> special-operator-p. Nuked compiler-macroexpand[-1] because they didn't make it into the standard.
Changed di::code-debug-info to kernel:%code-debug-info.
Changed several uses of %primitive to eqv functions now that eqv functions exist.
Changed compiler-macro-function to work w/o LEXENV-INLINEP slot.
Added code to look for the EVAL situation in eval-whens, so we can interpret (eval-when (eval ...) ...) during the cold load.
Fixed MACROEXPAND-1 to pass the environment into MACRO-FUNCTION when checking to see if the form has a macro defintion. Otherwise, macroexpanding macrolets doesn't work.
Added COMPILER-MACRO-FUNCTION, COMPILER-MACROEXPAND, and COMPILER- MACROEXPAND-1. Fixed things that invoke *MACROEXPAND-HOOK* to coerce it to a function before calling it as per X3J13 cleanup FUNCTION-TYPE:X3J13- MARCH-88 by introducing KERNEL:INVOKE-MACROEXPAND-HOOK, which does that and then funcalls it. Also, fixed MACRO-FUNCTION to take an environment argument as per X3J13 cleanup MACRO-FUNCTION-ENVIRONMENT:YES.
Fixed eval of alien variables. We just hand it off to the real interpreter.
Fixed a bug I introduced into top level evaluations of setq that caused it to always return NIL.
Reworked the SETQ branch of EVAL to pass more cases (like setting alien vars or constants) off to the real interpreter.
Changed EVAL to use the recorded CONSTANT-VALUE when evaluating constants so that interpreting references to constants in the compiler environment works better.
Changed macroexpand to expand symbol macros.
Made the guts of EVAL safe.
New file header with RCS header FILE-COMMENT.
Changed FUNCTION-LAMBDA-EXPRESSION to use the DEBUG-SOURCE-INFO so that it can tell whether a function it's got is the real original DEFUN function, or if it is some internal function.
Fixed FUNCTION-LAMBDA-EXPRESSION to return the right thing now that there is a #' around the lambda.
Merged MIPS branch with the trunk.
Fixed the order of the args to (setf macro-function), and changed it to set the symbol function to a lambda that calls error.
Changed MACROEXPAND and friends to hack LEXENV's as the environment arg. In EVAL, call INTERNAL-EVAL on the non-expanded form.
*** empty log message ***
Fixed interpreted-function-p, find-if-in-closure, etc.
Now that %closure-index-ref exists as a function, use it in find-if-in-closure.
*** empty log message ***
*** empty log message ***
First cut at a MIPS version.
Moved TYPE-EXPAND here, and made it use INFO instead of plist hackery.
Flushed evalhook and applyhook interfaces, since we aren't going to support them.
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|