From ehuelsmann at common-lisp.net Mon Feb 11 19:05:52 2013 From: ehuelsmann at common-lisp.net (ehuelsmann at common-lisp.net) Date: Mon, 11 Feb 2013 11:05:52 -0800 Subject: [armedbear-cvs] r14366 - trunk/abcl Message-ID: Author: ehuelsmann Date: Mon Feb 11 11:05:51 2013 New Revision: 14366 Log: Patch by ASau on freenode/#abcl: allow more casing variations. Modified: trunk/abcl/build-from-lisp.sh Modified: trunk/abcl/build-from-lisp.sh ============================================================================== --- trunk/abcl/build-from-lisp.sh Thu Jan 31 06:26:25 2013 (r14365) +++ trunk/abcl/build-from-lisp.sh Mon Feb 11 11:05:51 2013 (r14366) @@ -15,17 +15,15 @@ check_boolean() { - if [ "$1" == "t" ] || \ - [ "$1" == "T" ] || \ - [ "$1" == "nil" ] || \ - [ "$1" == "NIL" ] - then - return - else - usage - echo "Error: Argument \`$1' is neither \"nil\" nor \"t\"." - exit 1 - fi + case "$1" in + [Tt]|[Nn][Ii][Ll]) + :;; + *) + usage + echo "Error: Argument \`$1' is neither \"nil\" nor \"t\"." + exit 1 + ;; + esac } IMPL="$1" From mevenson at common-lisp.net Tue Feb 12 09:56:45 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Tue, 12 Feb 2013 01:56:45 -0800 Subject: [armedbear-cvs] r14367 - trunk/abcl/src/org/armedbear/lisp Message-ID: Author: mevenson Date: Tue Feb 12 01:56:43 2013 New Revision: 14367 Log: Restore proper compilation of digest functions. Modified: trunk/abcl/src/org/armedbear/lisp/digest.lisp Modified: trunk/abcl/src/org/armedbear/lisp/digest.lisp ============================================================================== --- trunk/abcl/src/org/armedbear/lisp/digest.lisp Mon Feb 11 11:05:51 2013 (r14366) +++ trunk/abcl/src/org/armedbear/lisp/digest.lisp Tue Feb 12 01:56:43 2013 (r14367) @@ -77,7 +77,7 @@ (defgeneric digest (resource &key (digest 'sha-256)) (:documentation "Digest byte based resource at RESOURCE.")) -(defun digest-path (path) (asciify-digest (digest path 'nio 'sha-256))) +(defun digest-path (path) (asciify (digest path 'nio 'sha-256))) (defvar *digest-types* '((sha-1 . "SHA-1") From mevenson at common-lisp.net Tue Feb 12 09:56:46 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Tue, 12 Feb 2013 01:56:46 -0800 Subject: [armedbear-cvs] r14368 - trunk/abcl/src/org/armedbear/lisp Message-ID: Author: mevenson Date: Tue Feb 12 01:56:45 2013 New Revision: 14368 Log: Properly autoload definition for JavaBeans accessor/mutator primitives. Modified: trunk/abcl/src/org/armedbear/lisp/Autoload.java Modified: trunk/abcl/src/org/armedbear/lisp/Autoload.java ============================================================================== --- trunk/abcl/src/org/armedbear/lisp/Autoload.java Tue Feb 12 01:56:43 2013 (r14367) +++ trunk/abcl/src/org/armedbear/lisp/Autoload.java Tue Feb 12 01:56:45 2013 (r14368) @@ -728,5 +728,8 @@ autoload(Symbol.JCLASS_NAME, "jclass_name"); autoload(Symbol.JCLASS_OF, "jclass_of"); autoload(Symbol.JMETHOD_RETURN_TYPE, "jmethod_return_type"); + + autoload(PACKAGE_JAVA, "%jget-property-value", "JavaBeans", false); + autoload(PACKAGE_JAVA, "%jset-property-value", "JavaBeans", false); } } From mevenson at common-lisp.net Wed Feb 13 19:01:25 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Wed, 13 Feb 2013 11:01:25 -0800 Subject: [armedbear-cvs] r14369 - trunk/abcl/src/org/armedbear/lisp Message-ID: Author: mevenson Date: Wed Feb 13 11:01:20 2013 New Revision: 14369 Log: Implementation of autoloader for SETF generalized references. Fixes #296. Fixes #266. Fixes #228. For forms which set the symbol properties of SETF-EXPANDER or SETF-FUNCTION to function definitions, places stub of type AutoloadGeneralizedReference to be resolved when first invoked. Added: trunk/abcl/src/org/armedbear/lisp/AutoloadGeneralizedReference.java Modified: trunk/abcl/src/org/armedbear/lisp/Autoload.java trunk/abcl/src/org/armedbear/lisp/Lisp.java trunk/abcl/src/org/armedbear/lisp/Primitives.java trunk/abcl/src/org/armedbear/lisp/asdf.lisp trunk/abcl/src/org/armedbear/lisp/clos.lisp trunk/abcl/src/org/armedbear/lisp/compile-file.lisp trunk/abcl/src/org/armedbear/lisp/compile-system.lisp Modified: trunk/abcl/src/org/armedbear/lisp/Autoload.java ============================================================================== --- trunk/abcl/src/org/armedbear/lisp/Autoload.java Tue Feb 12 01:56:45 2013 (r14368) +++ trunk/abcl/src/org/armedbear/lisp/Autoload.java Wed Feb 13 11:01:20 2013 (r14369) @@ -43,7 +43,7 @@ protected final String fileName; protected final String className; - private final Symbol symbol; + protected final Symbol symbol; protected Autoload(Symbol symbol) { @@ -262,7 +262,7 @@ { StringBuilder sb = new StringBuilder(); sb.append(symbol.princToString()); - sb.append(" \""); + sb.append(" stub to be autoloaded from \""); if (className != null) { int index = className.lastIndexOf('.'); if (index >= 0) @@ -272,12 +272,13 @@ sb.append(".class"); } else sb.append(getFileName()); + sb.append("\""); return unreadableString(sb.toString()); } public static final Primitive AUTOLOAD = new pf_autoload(); @DocString(name="autoload", - args="symbol-or-symbols filename", + args="symbol-or-symbols &optional filename", doc="Setup the autoload for SYMBOL-OR-SYMBOLS optionally corresponding to FILENAME.") private static final class pf_autoload extends Primitive { pf_autoload() { @@ -731,5 +732,9 @@ autoload(PACKAGE_JAVA, "%jget-property-value", "JavaBeans", false); autoload(PACKAGE_JAVA, "%jset-property-value", "JavaBeans", false); + + autoload(PACKAGE_EXT, "autoload-setf-expander", "AutoloadGeneralizedReference", true); + autoload(PACKAGE_EXT, "autoload-setf-function", "AutoloadGeneralizedReference", true); + autoload(PACKAGE_EXT, "autoload-ref-p", "AutoloadGeneralizedReference", true); } } Added: trunk/abcl/src/org/armedbear/lisp/AutoloadGeneralizedReference.java ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/abcl/src/org/armedbear/lisp/AutoloadGeneralizedReference.java Wed Feb 13 11:01:20 2013 (r14369) @@ -0,0 +1,234 @@ +/* + * AutoloadGeneralizedReference.java + * + * Copyright (C) 2014 Mark Evenson + * $Id$ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * As a special exception, the copyright holders of this library give you + * permission to link this library with independent modules to produce an + * executable, regardless of the license terms of these independent + * modules, and to copy and distribute the resulting executable under + * terms of your choice, provided that you also meet, for each linked + * independent module, the terms and conditions of the license of that + * module. An independent module is a module which is not derived from + * or based on this library. If you modify this library, you may extend + * this exception to your version of the library, but you are not + * obligated to do so. If you do not wish to do so, delete this + * exception statement from your version. + */ + +package org.armedbear.lisp; + +import static org.armedbear.lisp.Lisp.*; + +public final class AutoloadGeneralizedReference extends Autoload +{ + Symbol indicator; + private AutoloadGeneralizedReference(Symbol symbol, Symbol indicator, String filename) { + super(symbol, filename, null); + this.indicator = indicator; + } + + @Override + public void load() + { + Load.loadSystemFile(getFileName(), true); + } + + static final Symbol SETF_EXPANDER = PACKAGE_SYS.intern("SETF-EXPANDER"); + public static final Primitive AUTOLOAD_SETF_EXPANDER = new pf_autoload_setf_expander(); + @DocString( + name="autoload-setf-expander", + args="symbol-or-symbols filename", + doc="Setup the autoload for SYMBOL-OR-SYMBOLS on the setf-expander from FILENAME." + ) + private static final class pf_autoload_setf_expander extends Primitive { + pf_autoload_setf_expander() { + super("autoload-setf-expander", PACKAGE_EXT, true); + } + @Override + public LispObject execute(LispObject first, LispObject second) { + final String filename = second.getStringValue(); + return installAutoloadGeneralizedReference(first, SETF_EXPANDER, filename); + } + }; + + static final Symbol SETF_FUNCTION = PACKAGE_SYS.intern("SETF-FUNCTION"); + public static final Primitive AUTOLOAD_SETF_FUNCTION = new pf_autoload_setf_function(); + @DocString( + name="autoload-setf-function", + args="symbol-or-symbols filename", + doc="Setup the autoload for SYMBOL-OR-SYMBOLS on the setf-function from FILENAME." + ) + private static final class pf_autoload_setf_function extends Primitive { + pf_autoload_setf_function() { + super("autoload-setf-function", PACKAGE_EXT, true); + } + @Override + public LispObject execute(LispObject first, LispObject second) { + final String filename = second.getStringValue(); + return installAutoloadGeneralizedReference(first, SETF_FUNCTION, filename); + } + }; + + public static final Primitive AUTOLOAD_REF_P = new pf_autoload_ref_p(); + @DocString( + name="autoload-ref-p", + args="symbol", + doc="Boolean predicate for whether SYMBOL has generalized reference functions which need to be resolved." + ) + private static final class pf_autoload_ref_p extends Primitive { + pf_autoload_ref_p() { + super("autoload-ref-p", PACKAGE_EXT, true, "symbol"); + } + @Override + public LispObject execute(LispObject arg) { + LispObject list = checkSymbol(arg).getPropertyList(); + while (list != NIL) { + if (list.car() instanceof AutoloadGeneralizedReference) { + return T; + } + + list = list.cdr(); + } + return NIL; + } + }; + + + private static final LispObject installAutoloadGeneralizedReference(LispObject first, + Symbol indicator, + String filename) + { + if (first instanceof Symbol) { + Symbol symbol = checkSymbol(first); + install(symbol, indicator, filename); + return T; + } + if (first instanceof Cons) { + for (LispObject list = first; list != NIL; list = list.cdr()) { + Symbol symbol = checkSymbol(list.car()); + install(symbol, indicator, filename); + } + return T; + } + return error(new TypeError(first)); + } + + private static LispObject install(Symbol symbol, Symbol indicator, String filename) { + if (get(symbol, indicator) == NIL) { + return Primitives.PUT.execute(symbol, indicator, + new AutoloadGeneralizedReference(symbol, indicator, filename)); + } else { + return NIL; + } + + } + @Override + public LispObject execute() + { + load(); + return get(symbol, indicator, null).execute(); + } + + @Override + public LispObject execute(LispObject arg) + { + load(); + return get(symbol, indicator, null).execute(arg); + } + + @Override + public LispObject execute(LispObject first, LispObject second) + + { + load(); + return get(symbol, indicator, null).execute(first, second); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third) + + { + load(); + return get(symbol, indicator, null).execute(first, second, third); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third, LispObject fourth) + + { + load(); + return get(symbol, indicator, null).execute(first, second, third, fourth); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third, LispObject fourth, + LispObject fifth) + + { + load(); + return get(symbol, indicator, null).execute(first, second, third, fourth, fifth); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third, LispObject fourth, + LispObject fifth, LispObject sixth) + + { + load(); + return get(symbol, indicator, null).execute(first, second, third, fourth, fifth, sixth); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third, LispObject fourth, + LispObject fifth, LispObject sixth, + LispObject seventh) + + { + load(); + return symbol.execute(first, second, third, fourth, fifth, sixth, + seventh); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third, LispObject fourth, + LispObject fifth, LispObject sixth, + LispObject seventh, LispObject eighth) + + { + load(); + return get(symbol, indicator, null).execute(first, second, third, fourth, fifth, sixth, + seventh, eighth); + } + + @Override + public LispObject execute(LispObject[] args) + { + load(); + return get(symbol, indicator, null).execute(args); + } + + + +} Modified: trunk/abcl/src/org/armedbear/lisp/Lisp.java ============================================================================== --- trunk/abcl/src/org/armedbear/lisp/Lisp.java Tue Feb 12 01:56:45 2013 (r14368) +++ trunk/abcl/src/org/armedbear/lisp/Lisp.java Wed Feb 13 11:01:20 2013 (r14369) @@ -2769,6 +2769,7 @@ loadClass("org.armedbear.lisp.CompiledClosure"); loadClass("org.armedbear.lisp.Autoload"); loadClass("org.armedbear.lisp.AutoloadMacro"); + loadClass("org.armedbear.lisp.AutoloadGeneralizedReference"); loadClass("org.armedbear.lisp.cxr"); loadClass("org.armedbear.lisp.Do"); loadClass("org.armedbear.lisp.dolist"); Modified: trunk/abcl/src/org/armedbear/lisp/Primitives.java ============================================================================== --- trunk/abcl/src/org/armedbear/lisp/Primitives.java Tue Feb 12 01:56:45 2013 (r14368) +++ trunk/abcl/src/org/armedbear/lisp/Primitives.java Wed Feb 13 11:01:20 2013 (r14369) @@ -3574,7 +3574,7 @@ }; // ### put symbol indicator value => value - private static final Primitive PUT = new pf_put(); + public static final Primitive PUT = new pf_put(); private static final class pf_put extends Primitive { pf_put() { super("put", PACKAGE_SYS, true); Modified: trunk/abcl/src/org/armedbear/lisp/asdf.lisp ============================================================================== --- trunk/abcl/src/org/armedbear/lisp/asdf.lisp Tue Feb 12 01:56:45 2013 (r14368) +++ trunk/abcl/src/org/armedbear/lisp/asdf.lisp Wed Feb 13 11:01:20 2013 (r14369) @@ -49,9 +49,9 @@ (in-package :cl-user) -#+abcl -(eval-when (:load-toplevel :compile-toplevel :execute) - (documentation 'car 'function)) ;; workaround (SETF DOCUMENTATION) autoloader bug +;; #+abcl +;; (eval-when (:load-toplevel :compile-toplevel :execute) +;; (documentation 'car 'function)) ;; workaround (SETF DOCUMENTATION) autoloader bug #+cmu (eval-when (:load-toplevel :compile-toplevel :execute) Modified: trunk/abcl/src/org/armedbear/lisp/clos.lisp ============================================================================== --- trunk/abcl/src/org/armedbear/lisp/clos.lisp Tue Feb 12 01:56:45 2013 (r14368) +++ trunk/abcl/src/org/armedbear/lisp/clos.lisp Wed Feb 13 11:01:20 2013 (r14369) @@ -1780,7 +1780,10 @@ ;; also, resolving the symbol isn't ;; a good option either: we've seen that lead to ;; recursive loading of the same file - (not (autoloadp function-name)))) + (and (not (autoloadp function-name)) + (and (consp function-name) + (eq 'setf (first function-name)) + (not (autoload-ref-p (second function-name))))))) (error 'program-error :format-control "~A already names an ordinary function, macro, or special operator." :format-arguments (list function-name))) @@ -4478,7 +4481,10 @@ (unless (classp generic-function-class) (setf generic-function-class (find-class generic-function-class))) (when (and (null *clos-booting*) (fboundp function-name)) - (if (autoloadp function-name) + (if (or (autoloadp function-name) + (and (consp function-name) + (eq 'setf (first function-name)) + (autoload-ref-p (second function-name)))) (fmakunbound function-name) (error 'program-error :format-control "~A already names an ordinary function, macro, or special operator." Modified: trunk/abcl/src/org/armedbear/lisp/compile-file.lisp ============================================================================== --- trunk/abcl/src/org/armedbear/lisp/compile-file.lisp Tue Feb 12 01:56:45 2013 (r14368) +++ trunk/abcl/src/org/armedbear/lisp/compile-file.lisp Wed Feb 13 11:01:20 2013 (r14369) @@ -46,6 +46,8 @@ (defvar *toplevel-functions*) (defvar *toplevel-macros*) (defvar *toplevel-exports*) +(defvar *toplevel-setf-expanders*) +(defvar *toplevel-setf-functions*) (defun base-classname (&optional (output-file-pathname *output-file-pathname*)) @@ -423,6 +425,10 @@ (note-toplevel-form form) (note-name-defined (second form)) (push (second form) *toplevel-functions*) + (when (and (consp (second form)) + (eq 'setf (first (second form)))) + (push (second (second form)) + *toplevel-setf-functions*)) (let ((*compile-print* nil)) (process-toplevel-form (macroexpand-1 form *compile-file-environment*) stream compile-time-too)) @@ -550,6 +556,9 @@ (push name jvm::*functions-defined-in-current-file*) (note-name-defined name) (push name *toplevel-functions*) + (when (and (consp name) + (eq 'setf (first name))) + (push (second name) *toplevel-setf-functions*)) ;; If NAME is not fbound, provide a dummy definition so that ;; getSymbolFunctionOrDie() will succeed when we try to verify that ;; functions defined later in the same file can be loaded correctly. @@ -605,6 +614,11 @@ (return-from process-toplevel-form)) (when (and (symbolp operator) (macro-function operator *compile-file-environment*)) + (when (eq operator 'define-setf-expander) ;; ??? what if the symbol is package qualified? + (push (second form) *toplevel-setf-expanders*)) + (when (and (eq operator 'defsetf) ;; ??? what if the symbol is package qualified? + (consp (third form))) ;; long form of DEFSETF + (push (second form) *toplevel-setf-expanders*)) (note-toplevel-form form) ;; Note that we want MACROEXPAND-1 and not MACROEXPAND here, in ;; case the form being expanded expands into something that needs @@ -613,7 +627,6 @@ (process-toplevel-form (macroexpand-1 form *compile-file-environment*) stream compile-time-too)) (return-from process-toplevel-form)) - (cond ((and (symbolp operator) (not (special-operator-p operator)) @@ -717,7 +730,8 @@ (defun compile-from-stream (in output-file temp-file temp-file2 extract-toplevel-funcs-and-macros - functions-file macros-file exports-file) + functions-file macros-file exports-file + setf-functions-file setf-expanders-file) (let* ((*compile-file-pathname* (make-pathname :defaults (pathname in) :version nil)) (*compile-file-truename* (make-pathname :defaults (truename in) @@ -777,7 +791,8 @@ (if (symbolp func-name) (symbol-package func-name) T)) - (remove-duplicates *toplevel-functions*))) + (remove-duplicates + *toplevel-functions*))) (when *toplevel-functions* (with-open-file (f-out functions-file :direction :output @@ -811,7 +826,33 @@ :if-does-not-exist :create :if-exists :supersede) (let ((*package* (find-package :keyword))) - (write *toplevel-exports* :stream e-out))))) + (write *toplevel-exports* :stream e-out)))) + (setf *toplevel-setf-functions* + (remove-if-not (lambda (sym) + (if (symbolp sym) + (symbol-package sym) + T)) + (remove-duplicates *toplevel-setf-functions*))) + (when *toplevel-setf-functions* + (with-open-file (e-out setf-functions-file + :direction :output + :if-does-not-exist :create + :if-exists :supersede) + (let ((*package* (find-package :keyword))) + (write *toplevel-setf-functions* :stream e-out)))) + (setf *toplevel-setf-expanders* + (remove-if-not (lambda (sym) + (if (symbolp sym) + (symbol-package sym) + T)) + (remove-duplicates *toplevel-setf-expanders*))) + (when *toplevel-setf-expanders* + (with-open-file (e-out setf-expanders-file + :direction :output + :if-does-not-exist :create + :if-exists :supersede) + (let ((*package* (find-package :keyword))) + (write *toplevel-setf-expanders* :stream e-out))))) (with-open-file (in temp-file :direction :input :external-format *fasl-external-format*) (with-open-file (out temp-file2 :direction :output :if-does-not-exist :create @@ -900,14 +941,19 @@ (functions-file (pathname-with-type output-file "funcs")) (macros-file (pathname-with-type output-file "macs")) (exports-file (pathname-with-type output-file "exps")) + (setf-functions-file (pathname-with-type output-file "setf-functions")) + (setf-expanders-file (pathname-with-type output-file "setf-expanders")) *toplevel-functions* *toplevel-macros* - *toplevel-exports*) + *toplevel-exports* + *toplevel-setf-functions* + *toplevel-setf-expanders*) (with-open-file (in input-file :direction :input :external-format external-format) (multiple-value-bind (output-file-truename warnings-p failure-p) (compile-from-stream in output-file temp-file temp-file2 extract-toplevel-funcs-and-macros - functions-file macros-file exports-file) + functions-file macros-file exports-file + setf-functions-file setf-expanders-file) (values (truename output-file) warnings-p failure-p)))))) (defun compile-file-if-needed (input-file &rest allargs &key force-compile Modified: trunk/abcl/src/org/armedbear/lisp/compile-system.lisp ============================================================================== --- trunk/abcl/src/org/armedbear/lisp/compile-system.lisp Tue Feb 12 01:56:45 2013 (r14368) +++ trunk/abcl/src/org/armedbear/lisp/compile-system.lisp Wed Feb 13 11:01:20 2013 (r14369) @@ -148,12 +148,11 @@ (remove-if (lambda (x) (null (cdr x))) (mapcar (lambda (x) - (cons (car x) + (cons (car x) (remove-if-not (lambda (x) - ;;; ### TODO: Support SETF functions - (and (symbolp x) - (eq (symbol-package x) - filter-package))) + (and (symbolp x) + (eq (symbol-package x) + filter-package))) (cdr x)))) filesets-symbols)))) (write-autoloader stream package type filtered-filesets))) @@ -174,34 +173,40 @@ (push (list base-name function-name) all-functions)))))))) (defun generate-autoloads (symbol-files-pathspec) - (flet ((filter-combos (combos) - (remove-multi-combo-symbols - (remove-if (lambda (x) - ;; exclude the symbols from the files - ;; below: putting autoloaders on some of - ;; the symbols conflicts with the bootstrapping - ;; Primitives which have been defined Java-side - (member x '( ;; function definitions to be excluded - "fdefinition" "early-defuns" - "require" "signal" "restart" - - ;; extensible sequences override - ;; lots of default functions; - ;; java-collections implements - ;; extensible sequences - "extensible-sequences-base" - "extensible-sequences" "java-collections" - - ;; macro definitions to be excluded - "macros" ;; "backquote" - "precompiler") - :test #'string=)) - combos - :key #'first))) - (symbols-pathspec (filespec) - (merge-pathnames filespec symbol-files-pathspec))) + (labels ((filter-combos (combos) + (remove-multi-combo-symbols + (remove-if (lambda (x) + ;; exclude the symbols from the files + ;; below: putting autoloaders on some of + ;; the symbols conflicts with the bootstrapping + ;; Primitives which have been defined Java-side + (member x '( ;; function definitions to be excluded + "fdefinition" "early-defuns" + "require" "signal" "restart" + + ;; extensible sequences override + ;; lots of default functions; + ;; java-collections implements + ;; extensible sequences + "extensible-sequences-base" + "extensible-sequences" "java-collections" + + ;; macro definitions to be excluded + "macros" ;; "backquote" + "precompiler") + :test #'string=)) + combos + :key #'first))) + (filter-setf-combos (combos) + (filter-combos + (remove-multi-combo-symbols + (remove-if (lambda (x) (member x '("clos") :test #'string=)) combos :key #'first)))) + (symbols-pathspec (filespec) + (merge-pathnames filespec symbol-files-pathspec))) (let ((funcs (filter-combos (load-combos (symbols-pathspec "*.funcs")))) (macs (filter-combos (load-combos (symbols-pathspec "*.macs")))) + (setf-functions (filter-setf-combos (load-combos (symbols-pathspec "*.setf-functions")))) + (setf-expanders (filter-setf-combos (load-combos (symbols-pathspec "*.setf-expanders")))) (exps (filter-combos (load-combos (symbols-pathspec "*.exps"))))) (with-open-file (f (symbols-pathspec "autoloads-gen.lisp") :direction :output :if-does-not-exist :create @@ -243,8 +248,19 @@ (write-line ";; MACROS" f) (terpri f) (write-package-filesets f package 'ext:autoload-macro - (combos-to-fileset-symbols macs))))))) + (combos-to-fileset-symbols macs)) + (terpri f) + + (write-line ";; SETF-FUNCTIONS" f) + (terpri f) + (write-package-filesets f package 'ext:autoload-setf-function + (combos-to-fileset-symbols setf-functions)) + (terpri f) + (write-line ";; SETF-EXPANDERS" f) + (terpri f) + (write-package-filesets f package 'ext:autoload-setf-expander + (combos-to-fileset-symbols setf-expanders))))))) ;; ;; --- End of autoloads.lisp From mevenson at common-lisp.net Wed Feb 13 19:24:41 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Wed, 13 Feb 2013 11:24:41 -0800 Subject: [armedbear-cvs] r14370 - branches/1.1.x/src/org/armedbear/lisp Message-ID: Author: mevenson Date: Wed Feb 13 11:24:39 2013 New Revision: 14370 Log: Backport r14359 | mevenson | 2013-01-17 12:15:14 +0100 (Thu, 17 Jan 2013) | 1 line Refactor autoload functions to naming conventions. Modified: branches/1.1.x/src/org/armedbear/lisp/Autoload.java Modified: branches/1.1.x/src/org/armedbear/lisp/Autoload.java ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/Autoload.java Wed Feb 13 11:01:20 2013 (r14369) +++ branches/1.1.x/src/org/armedbear/lisp/Autoload.java Wed Feb 13 11:24:39 2013 (r14370) @@ -98,7 +98,6 @@ "org.armedbear.lisp.".concat(className))); } - private static void effectiveLoad(String className, String fileName) { if (className != null) { try { @@ -276,10 +275,14 @@ return unreadableString(sb.toString()); } - // ### autoload - private static final Primitive AUTOLOAD = - new Primitive("autoload", PACKAGE_EXT, true) - { + public static final Primitive AUTOLOAD = new pf_autoload(); + @DocString(name="autoload", + args="symbol-or-symbols filename", + doc="Setup the autoload for SYMBOL-OR-SYMBOLS optionally corresponding to FILENAME.") + private static final class pf_autoload extends Primitive { + pf_autoload() { + super("autoload", PACKAGE_EXT, true); + } @Override public LispObject execute(LispObject first) { @@ -318,14 +321,16 @@ } }; - // ### resolve - // Force autoload to be resolved. - private static final Primitive RESOLVE = - new Primitive("resolve", PACKAGE_EXT, true, "symbol") - { + public static final Primitive RESOLVE = new pf_resolve(); + @DocString(name="resolve", + args="symbol", + doc="Force the symbol to be resolved via the autoloader mechanism.") + private static final class pf_resolve extends Primitive { + pf_resolve() { + super("resolve", PACKAGE_EXT, true, "symbol"); + } @Override - public LispObject execute(LispObject arg) - { + public LispObject execute(LispObject arg) { Symbol symbol = checkSymbol(arg); LispObject fun = symbol.getSymbolFunction(); if (fun instanceof Autoload) { @@ -335,12 +340,17 @@ } return fun; } - }; + } - // ### autoloadp - private static final Primitive AUTOLOADP = - new Primitive("autoloadp", PACKAGE_EXT, true, "symbol") - { + public static final Primitive AUTOLOADP = new pf_autoloadp(); + @DocString(name="autoloadp", + args="symbol", + doc="Boolean predicate for whether SYMBOL stands for a function that currently needs to be autoloaded.") + private static final class pf_autoloadp extends Primitive { + pf_autoloadp() { + super("autoloadp", PACKAGE_EXT, true, "symbol"); + } + @Override public LispObject execute(LispObject arg) { From mevenson at common-lisp.net Wed Feb 13 19:26:41 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Wed, 13 Feb 2013 11:26:41 -0800 Subject: [armedbear-cvs] r14371 - branches/1.1.x/src/org/armedbear/lisp Message-ID: Author: mevenson Date: Wed Feb 13 11:26:40 2013 New Revision: 14371 Log: Backport r14360 | rschlatte | 2013-01-19 18:35:45 +0100 (Sat, 19 Jan 2013) | 1 line add #\Delete character name (found in McCLIM sources) Modified: branches/1.1.x/src/org/armedbear/lisp/LispCharacter.java Modified: branches/1.1.x/src/org/armedbear/lisp/LispCharacter.java ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/LispCharacter.java Wed Feb 13 11:24:39 2013 (r14370) +++ branches/1.1.x/src/org/armedbear/lisp/LispCharacter.java Wed Feb 13 11:26:40 2013 (r14371) @@ -578,7 +578,7 @@ return 27; if (lower.equals("space") || lower.equals("sp")) return ' '; - if (lower.equals("rubout") || lower.equals("del")) + if (lower.equals("rubout") || lower.equals("del") || lower.equals("delete")) return 127; if (lower.startsWith("u")) { int length = lower.length(); From mevenson at common-lisp.net Wed Feb 13 19:28:12 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Wed, 13 Feb 2013 11:28:12 -0800 Subject: [armedbear-cvs] r14372 - branches/1.1.x/src/org/armedbear/lisp Message-ID: Author: mevenson Date: Wed Feb 13 11:28:12 2013 New Revision: 14372 Log: Backport r14363 | mevenson | 2013-01-29 09:36:14 +0100 (Tue, 29 Jan 2013) | 5 lines Add a constructor to allow MemoryClassLoader to specify a parent. Needed to allow the code in http://paste.lisp.org/display/134966 to work. Patch by Milos Negovanovic. Modified: branches/1.1.x/src/org/armedbear/lisp/JavaClassLoader.java branches/1.1.x/src/org/armedbear/lisp/MemoryClassLoader.java branches/1.1.x/src/org/armedbear/lisp/runtime-class.lisp Modified: branches/1.1.x/src/org/armedbear/lisp/JavaClassLoader.java ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/JavaClassLoader.java Wed Feb 13 11:26:40 2013 (r14371) +++ branches/1.1.x/src/org/armedbear/lisp/JavaClassLoader.java Wed Feb 13 11:28:12 2013 (r14372) @@ -123,6 +123,10 @@ public JavaClassLoader(ClassLoader parent) { super(new URL[] {}, parent); } + + public JavaClassLoader(JavaClassLoader parent) { + super(new URL[] {}, (ClassLoader)parent); + } public JavaClassLoader(URL[] classpath, ClassLoader parent) { super(classpath, parent); Modified: branches/1.1.x/src/org/armedbear/lisp/MemoryClassLoader.java ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/MemoryClassLoader.java Wed Feb 13 11:26:40 2013 (r14371) +++ branches/1.1.x/src/org/armedbear/lisp/MemoryClassLoader.java Wed Feb 13 11:28:12 2013 (r14372) @@ -52,6 +52,11 @@ this.internalNamePrefix = internalNamePrefix; } + public MemoryClassLoader(JavaClassLoader parent) { + super(parent); + this.internalNamePrefix = ""; + } + @Override protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException { Modified: branches/1.1.x/src/org/armedbear/lisp/runtime-class.lisp ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/runtime-class.lisp Wed Feb 13 11:26:40 2013 (r14371) +++ branches/1.1.x/src/org/armedbear/lisp/runtime-class.lisp Wed Feb 13 11:28:12 2013 (r14372) @@ -35,9 +35,9 @@ Field definitions are lists of the form (field-name type &key modifiers annotations)." (declare (ignorable superclass interfaces constructors methods fields access-flags annotations)) - (let ((stream (sys::%make-byte-array-output-stream)) - ;;TODO provide constructor in MemoryClassLoader - (memory-class-loader (java:jnew "org.armedbear.lisp.MemoryClassLoader" ""))) + (let* ((stream (sys::%make-byte-array-output-stream)) + (current-class-loader (java:get-current-classloader)) + (memory-class-loader (java:jnew "org.armedbear.lisp.MemoryClassLoader" current-class-loader))) (multiple-value-bind (class-file method-implementation-fields) (apply #'java::%jnew-runtime-class class-name stream args) (sys::put-memory-function memory-class-loader @@ -297,4 +297,4 @@ (list "bar" :int '("java.lang.Object") (lambda (this that) (print (list this that)) 23)))) -(provide "RUNTIME-CLASS") \ No newline at end of file +(provide "RUNTIME-CLASS") From mevenson at common-lisp.net Wed Feb 13 19:29:32 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Wed, 13 Feb 2013 11:29:32 -0800 Subject: [armedbear-cvs] r14373 - in branches/1.1.x/contrib/abcl-asdf: . tests Message-ID: Author: mevenson Date: Wed Feb 13 11:29:31 2013 New Revision: 14373 Log: Backport r14364 | mevenson | 2013-01-31 11:02:29 +0100 (Thu, 31 Jan 2013) | 9 lines ASDF systems using the MVN component now load again. log4j.asd example corrected as well. FIND-MVN now emits a warning if it cannot actually find a Maven exectuable. Thanks to Milos Negovanovic for identifying the problem with a patch. Fixes #299. Modified: branches/1.1.x/contrib/abcl-asdf/abcl-asdf.lisp branches/1.1.x/contrib/abcl-asdf/maven-embedder.lisp branches/1.1.x/contrib/abcl-asdf/tests/example.lisp branches/1.1.x/contrib/abcl-asdf/tests/log4j.asd Modified: branches/1.1.x/contrib/abcl-asdf/abcl-asdf.lisp ============================================================================== --- branches/1.1.x/contrib/abcl-asdf/abcl-asdf.lisp Wed Feb 13 11:28:12 2013 (r14372) +++ branches/1.1.x/contrib/abcl-asdf/abcl-asdf.lisp Wed Feb 13 11:29:31 2013 (r14373) @@ -131,13 +131,13 @@ (java:java-exception (e) (unless (java:jinstance-of-p (java:java-exception-cause e) "java.lang.ClassNotFoundException") - (error "Unexpected Java exception~&~A.~&" e)) - (if (find-mvn) - (resolve-dependencies group-id artifact-id version) - (if alternate-uri - (values (namestring alternate-uri) alternate-uri) - (t - (error "Failed to resolve MVN component name ~A." name))))))))) + (error "Unexpected Java exception~&~A.~&" e)))) + (if (find-mvn) + (resolve-dependencies group-id artifact-id version) + (if alternate-uri + (values (namestring alternate-uri) alternate-uri) + (t + (error "Failed to resolve MVN component name ~A." name))))))) (defun as-classpath (classpath) "Break apart the JVM CLASSPATH string into a list of its consituents." Modified: branches/1.1.x/contrib/abcl-asdf/maven-embedder.lisp ============================================================================== --- branches/1.1.x/contrib/abcl-asdf/maven-embedder.lisp Wed Feb 13 11:28:12 2013 (r14372) +++ branches/1.1.x/contrib/abcl-asdf/maven-embedder.lisp Wed Feb 13 11:29:31 2013 (r14373) @@ -50,7 +50,9 @@ (defun find-mvn () "Attempt to find a suitable Maven ('mvn') executable on the hosting operating system. -Returns the path of the Maven executable or nil if none are found." +Returns the path of the Maven executable or nil if none are found. + +Emits warnings if not able to find a suitable executable." (let ((m2-home (ext:getenv "M2_HOME")) (m2 (ext:getenv "M2")) @@ -97,7 +99,8 @@ "~&Failed to find Maven executable '~A' in PATH because~&~A" mvn-path e))))) (when mvn - (return-from find-mvn mvn)))))))) + (return-from find-mvn mvn))))))) + (warn "Unable to locate Maven executable.")) (defun find-mvn-libs () (let ((mvn (find-mvn))) Modified: branches/1.1.x/contrib/abcl-asdf/tests/example.lisp ============================================================================== --- branches/1.1.x/contrib/abcl-asdf/tests/example.lisp Wed Feb 13 11:28:12 2013 (r14372) +++ branches/1.1.x/contrib/abcl-asdf/tests/example.lisp Wed Feb 13 11:29:31 2013 (r14373) @@ -1,12 +1,14 @@ -(in-package :abcl-asdf-test) +(in-package :cl-user) -;;;(deftest LOG4J.2 -;;; (progn (defun test-LOG4J.2 () - (asdf:load-system "log4j") - (let ((logger (#"getLogger" 'log4j.Logger (symbol-name (gensym))))) - (#"trace" logger "Kilroy wuz here."))) -;;; t) + "Output a message to the Console. + +Note: for users of SLIME, this will appear in the associated *inferior-lisp* buffer." + (#"configure" 'log4j.BasicConfigurator) + (#"info" (#"getRootLogger" 'log4j.Logger) "Kilroy wuz here.")) + + + Modified: branches/1.1.x/contrib/abcl-asdf/tests/log4j.asd ============================================================================== --- branches/1.1.x/contrib/abcl-asdf/tests/log4j.asd Wed Feb 13 11:28:12 2013 (r14372) +++ branches/1.1.x/contrib/abcl-asdf/tests/log4j.asd Wed Feb 13 11:29:31 2013 (r14373) @@ -1,12 +1,13 @@ ;;;; -*- Mode: LISP -*- -(in-package :asdf) -(defsystem :log4j - :components - ((:module log4j.jar :components +(asdf:defsystem :log4j + :defsystem-depends-on (abcl-asdf) + :components ((:module log4j.jar :components ((:mvn "log4j/log4j/1.2.15"))) (:module source :pathname "" :components ((:file "example")) :depends-on (log4j.jar)))) - +(defmethod perform ((o asdf:test-op) (s (eql (asdf:find-system :log4j)))) + (asdf:load-system :log4j) + (eval (read-from-string "(cl-user::test-log4j.2)"))) From mevenson at common-lisp.net Wed Feb 13 19:34:09 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Wed, 13 Feb 2013 11:34:09 -0800 Subject: [armedbear-cvs] r14374 - branches/1.1.x/contrib/abcl-asdf Message-ID: Author: mevenson Date: Wed Feb 13 11:34:07 2013 New Revision: 14374 Log: Backport r14365 | mevenson | 2013-01-31 15:26:25 +0100 (Thu, 31 Jan 2013) | 3 lines abcl-asdf: fix bug to use the version of specified MVN components. Reformat to SLIME whitespace conventions. Modified: branches/1.1.x/contrib/abcl-asdf/abcl-asdf.lisp Modified: branches/1.1.x/contrib/abcl-asdf/abcl-asdf.lisp ============================================================================== --- branches/1.1.x/contrib/abcl-asdf/abcl-asdf.lisp Wed Feb 13 11:29:31 2013 (r14373) +++ branches/1.1.x/contrib/abcl-asdf/abcl-asdf.lisp Wed Feb 13 11:34:07 2013 (r14374) @@ -17,8 +17,8 @@ (repository :initform "http://repo1.maven.org/maven2/") ;;; XXX unimplmented (classname :initarg :classname :initform nil) (alternate-uri :initarg :alternate-uri :initform nil) -;; inherited from ASDF:COMPONENT ??? what are the CL semantics on overriding -- ME 2012-04-01 -#+nil (version :initform nil))) + ;; inherited from ASDF:COMPONENT ??? what are the CL semantics on overriding -- ME 2012-04-01 + #+nil (version :initform nil))) #+nil (defmethod find-component ((component iri) path) @@ -29,7 +29,7 @@ (defmethod perform ((op compile-op) (c mvn)) (abcl-asdf:resolve (ensure-parsed-mvn c))) - + (defmethod perform ((operation load-op) (c mvn)) (let ((resolved-path (abcl-asdf:resolve (ensure-parsed-mvn c)))) @@ -58,7 +58,7 @@ (defun ensure-parsed-mvn (component) (with-slots (name group-id artifact-id - version schema path repository) + version schema path repository) component (when (null asdf::artifact-id) (let ((parsed (abcl-asdf::split-string name "/")) @@ -97,7 +97,7 @@ (in-package #:abcl-asdf) (defgeneric resolve (something) - (:documentation "Returns a string in JVM CLASSPATH format as entries delimited by classpath separator string.")) + (:documentation "Returns a string in JVM CLASSPATH format as entries delimited by classpath separator string.")) (defmethod resolve ((mvn-component asdf::mvn)) "Resolve all runtime dependencies of MVN-COMPONENT. @@ -106,39 +106,31 @@ by classpath separator string or T. If the value T is returned, it denotes that current JVM already has already loaded a given class. Can possibly be a single entry denoting a remote binary artifact." - (macrolet ((aif (something consequence alternative)) - `(let ((it ,(something))) - (if it - consequence - alternative))) - (let ((name (slot-value mvn-component 'asdf::name)) - (group-id (slot-value mvn-component 'asdf::group-id)) - (artifact-id (slot-value mvn-component 'asdf::artifact-id)) - (classname (slot-value mvn-component 'asdf::classname)) - (alternate-uri (slot-value mvn-component 'asdf::alternate-uri)) - (version (let ((it (slot-value mvn-component 'asdf::version))) - (cond - ((not it) - it) - (t - "LATEST"))))) - (handler-case - (when (and classname - (jss:find-java-class classname)) - (warn "Not loading ~A from the network because ~A is present in classpath." - name classname) - (return-from resolve t)) - (java:java-exception (e) - (unless (java:jinstance-of-p (java:java-exception-cause e) - "java.lang.ClassNotFoundException") - (error "Unexpected Java exception~&~A.~&" e)))) - (if (find-mvn) - (resolve-dependencies group-id artifact-id version) - (if alternate-uri - (values (namestring alternate-uri) alternate-uri) - (t - (error "Failed to resolve MVN component name ~A." name))))))) - + (let ((name (slot-value mvn-component 'asdf::name)) + (group-id (slot-value mvn-component 'asdf::group-id)) + (artifact-id (slot-value mvn-component 'asdf::artifact-id)) + (classname (slot-value mvn-component 'asdf::classname)) + (alternate-uri (slot-value mvn-component 'asdf::alternate-uri)) + (version (if (slot-value mvn-component 'asdf::version) + (slot-value mvn-component 'asdf::version) + "LATEST"))) + (handler-case + (when (and classname + (jss:find-java-class classname)) + (warn "Not loading ~A from the network because ~A is present in classpath." + name classname) + (return-from resolve t)) + (java:java-exception (e) + (unless (java:jinstance-of-p (java:java-exception-cause e) + "java.lang.ClassNotFoundException") + (error "Unexpected Java exception~&~A.~&" e)))) + (if (find-mvn) + (resolve-dependencies group-id artifact-id version) + (if alternate-uri + (values (namestring alternate-uri) alternate-uri) + (t + (error "Failed to resolve MVN component name ~A." name)))))) + (defun as-classpath (classpath) "Break apart the JVM CLASSPATH string into a list of its consituents." (split-string classpath From mevenson at common-lisp.net Wed Feb 13 19:39:05 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Wed, 13 Feb 2013 11:39:05 -0800 Subject: [armedbear-cvs] r14375 - branches/1.1.x Message-ID: Author: mevenson Date: Wed Feb 13 11:39:04 2013 New Revision: 14375 Log: Backport r14366 | ehuelsmann | 2013-02-11 20:05:51 +0100 (Mon, 11 Feb 2013) | 1 line Patch by ASau on freenode/#abcl: allow more casing variations. Modified: branches/1.1.x/build-from-lisp.sh Modified: branches/1.1.x/build-from-lisp.sh ============================================================================== --- branches/1.1.x/build-from-lisp.sh Wed Feb 13 11:34:07 2013 (r14374) +++ branches/1.1.x/build-from-lisp.sh Wed Feb 13 11:39:04 2013 (r14375) @@ -15,17 +15,15 @@ check_boolean() { - if [ "$1" == "t" ] || \ - [ "$1" == "T" ] || \ - [ "$1" == "nil" ] || \ - [ "$1" == "NIL" ] - then - return - else - usage - echo "Error: Argument \`$1' is neither \"nil\" nor \"t\"." - exit 1 - fi + case "$1" in + [Tt]|[Nn][Ii][Ll]) + :;; + *) + usage + echo "Error: Argument \`$1' is neither \"nil\" nor \"t\"." + exit 1 + ;; + esac } IMPL="$1" From mevenson at common-lisp.net Wed Feb 13 19:47:14 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Wed, 13 Feb 2013 11:47:14 -0800 Subject: [armedbear-cvs] r14376 - branches/1.1.x/src/org/armedbear/lisp Message-ID: Author: mevenson Date: Wed Feb 13 11:47:13 2013 New Revision: 14376 Log: Backport r14367 | mevenson | 2013-02-12 10:56:43 +0100 (Tue, 12 Feb 2013) | 1 line Restore proper compilation of digest functions. Modified: branches/1.1.x/src/org/armedbear/lisp/digest.lisp Modified: branches/1.1.x/src/org/armedbear/lisp/digest.lisp ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/digest.lisp Wed Feb 13 11:39:04 2013 (r14375) +++ branches/1.1.x/src/org/armedbear/lisp/digest.lisp Wed Feb 13 11:47:13 2013 (r14376) @@ -77,7 +77,7 @@ (defgeneric digest (resource &key (digest 'sha-256)) (:documentation "Digest byte based resource at RESOURCE.")) -(defun digest-path (path) (asciify-digest (digest path 'nio 'sha-256))) +(defun digest-path (path) (asciify (digest path 'nio 'sha-256))) (defvar *digest-types* '((sha-1 . "SHA-1") From mevenson at common-lisp.net Wed Feb 13 19:49:37 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Wed, 13 Feb 2013 11:49:37 -0800 Subject: [armedbear-cvs] r14377 - branches/1.1.x/src/org/armedbear/lisp Message-ID: Author: mevenson Date: Wed Feb 13 11:49:36 2013 New Revision: 14377 Log: r14368 | mevenson | 2013-02-12 10:56:45 +0100 (Tue, 12 Feb 2013) | 1 line Properly autoload definition for JavaBeans accessor/mutator primitives. Modified: branches/1.1.x/src/org/armedbear/lisp/Autoload.java Modified: branches/1.1.x/src/org/armedbear/lisp/Autoload.java ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/Autoload.java Wed Feb 13 11:47:13 2013 (r14376) +++ branches/1.1.x/src/org/armedbear/lisp/Autoload.java Wed Feb 13 11:49:36 2013 (r14377) @@ -728,5 +728,8 @@ autoload(Symbol.JCLASS_NAME, "jclass_name"); autoload(Symbol.JCLASS_OF, "jclass_of"); autoload(Symbol.JMETHOD_RETURN_TYPE, "jmethod_return_type"); + + autoload(PACKAGE_JAVA, "%jget-property-value", "JavaBeans", false); + autoload(PACKAGE_JAVA, "%jset-property-value", "JavaBeans", false); } } From mevenson at common-lisp.net Wed Feb 13 19:54:51 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Wed, 13 Feb 2013 11:54:51 -0800 Subject: [armedbear-cvs] r14378 - branches/1.1.x/src/org/armedbear/lisp Message-ID: Author: mevenson Date: Wed Feb 13 11:54:49 2013 New Revision: 14378 Log: Backport r14369 | mevenson | 2013-02-13 20:01:20 +0100 (Wed, 13 Feb 2013) | 7 lines Implementation of autoloader for SETF generalized references. Fixes #296. Fixes #266. Fixes #228. For forms which set the symbol properties of SETF-EXPANDER or SETF-FUNCTION to function definitions, places stub of type AutoloadGeneralizedReference to be resolved when first invoked. Does NOT include changes to asdf. Added: branches/1.1.x/src/org/armedbear/lisp/AutoloadGeneralizedReference.java - copied unchanged from r14369, trunk/abcl/src/org/armedbear/lisp/AutoloadGeneralizedReference.java Modified: branches/1.1.x/src/org/armedbear/lisp/Autoload.java branches/1.1.x/src/org/armedbear/lisp/Lisp.java branches/1.1.x/src/org/armedbear/lisp/Primitives.java branches/1.1.x/src/org/armedbear/lisp/clos.lisp branches/1.1.x/src/org/armedbear/lisp/compile-file.lisp branches/1.1.x/src/org/armedbear/lisp/compile-system.lisp Modified: branches/1.1.x/src/org/armedbear/lisp/Autoload.java ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/Autoload.java Wed Feb 13 11:49:36 2013 (r14377) +++ branches/1.1.x/src/org/armedbear/lisp/Autoload.java Wed Feb 13 11:54:49 2013 (r14378) @@ -43,7 +43,7 @@ protected final String fileName; protected final String className; - private final Symbol symbol; + protected final Symbol symbol; protected Autoload(Symbol symbol) { @@ -262,7 +262,7 @@ { StringBuilder sb = new StringBuilder(); sb.append(symbol.princToString()); - sb.append(" \""); + sb.append(" stub to be autoloaded from \""); if (className != null) { int index = className.lastIndexOf('.'); if (index >= 0) @@ -272,12 +272,13 @@ sb.append(".class"); } else sb.append(getFileName()); + sb.append("\""); return unreadableString(sb.toString()); } public static final Primitive AUTOLOAD = new pf_autoload(); @DocString(name="autoload", - args="symbol-or-symbols filename", + args="symbol-or-symbols &optional filename", doc="Setup the autoload for SYMBOL-OR-SYMBOLS optionally corresponding to FILENAME.") private static final class pf_autoload extends Primitive { pf_autoload() { @@ -731,5 +732,9 @@ autoload(PACKAGE_JAVA, "%jget-property-value", "JavaBeans", false); autoload(PACKAGE_JAVA, "%jset-property-value", "JavaBeans", false); + + autoload(PACKAGE_EXT, "autoload-setf-expander", "AutoloadGeneralizedReference", true); + autoload(PACKAGE_EXT, "autoload-setf-function", "AutoloadGeneralizedReference", true); + autoload(PACKAGE_EXT, "autoload-ref-p", "AutoloadGeneralizedReference", true); } } Copied: branches/1.1.x/src/org/armedbear/lisp/AutoloadGeneralizedReference.java (from r14369, trunk/abcl/src/org/armedbear/lisp/AutoloadGeneralizedReference.java) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/1.1.x/src/org/armedbear/lisp/AutoloadGeneralizedReference.java Wed Feb 13 11:54:49 2013 (r14378, copy of r14369, trunk/abcl/src/org/armedbear/lisp/AutoloadGeneralizedReference.java) @@ -0,0 +1,234 @@ +/* + * AutoloadGeneralizedReference.java + * + * Copyright (C) 2014 Mark Evenson + * $Id$ + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * As a special exception, the copyright holders of this library give you + * permission to link this library with independent modules to produce an + * executable, regardless of the license terms of these independent + * modules, and to copy and distribute the resulting executable under + * terms of your choice, provided that you also meet, for each linked + * independent module, the terms and conditions of the license of that + * module. An independent module is a module which is not derived from + * or based on this library. If you modify this library, you may extend + * this exception to your version of the library, but you are not + * obligated to do so. If you do not wish to do so, delete this + * exception statement from your version. + */ + +package org.armedbear.lisp; + +import static org.armedbear.lisp.Lisp.*; + +public final class AutoloadGeneralizedReference extends Autoload +{ + Symbol indicator; + private AutoloadGeneralizedReference(Symbol symbol, Symbol indicator, String filename) { + super(symbol, filename, null); + this.indicator = indicator; + } + + @Override + public void load() + { + Load.loadSystemFile(getFileName(), true); + } + + static final Symbol SETF_EXPANDER = PACKAGE_SYS.intern("SETF-EXPANDER"); + public static final Primitive AUTOLOAD_SETF_EXPANDER = new pf_autoload_setf_expander(); + @DocString( + name="autoload-setf-expander", + args="symbol-or-symbols filename", + doc="Setup the autoload for SYMBOL-OR-SYMBOLS on the setf-expander from FILENAME." + ) + private static final class pf_autoload_setf_expander extends Primitive { + pf_autoload_setf_expander() { + super("autoload-setf-expander", PACKAGE_EXT, true); + } + @Override + public LispObject execute(LispObject first, LispObject second) { + final String filename = second.getStringValue(); + return installAutoloadGeneralizedReference(first, SETF_EXPANDER, filename); + } + }; + + static final Symbol SETF_FUNCTION = PACKAGE_SYS.intern("SETF-FUNCTION"); + public static final Primitive AUTOLOAD_SETF_FUNCTION = new pf_autoload_setf_function(); + @DocString( + name="autoload-setf-function", + args="symbol-or-symbols filename", + doc="Setup the autoload for SYMBOL-OR-SYMBOLS on the setf-function from FILENAME." + ) + private static final class pf_autoload_setf_function extends Primitive { + pf_autoload_setf_function() { + super("autoload-setf-function", PACKAGE_EXT, true); + } + @Override + public LispObject execute(LispObject first, LispObject second) { + final String filename = second.getStringValue(); + return installAutoloadGeneralizedReference(first, SETF_FUNCTION, filename); + } + }; + + public static final Primitive AUTOLOAD_REF_P = new pf_autoload_ref_p(); + @DocString( + name="autoload-ref-p", + args="symbol", + doc="Boolean predicate for whether SYMBOL has generalized reference functions which need to be resolved." + ) + private static final class pf_autoload_ref_p extends Primitive { + pf_autoload_ref_p() { + super("autoload-ref-p", PACKAGE_EXT, true, "symbol"); + } + @Override + public LispObject execute(LispObject arg) { + LispObject list = checkSymbol(arg).getPropertyList(); + while (list != NIL) { + if (list.car() instanceof AutoloadGeneralizedReference) { + return T; + } + + list = list.cdr(); + } + return NIL; + } + }; + + + private static final LispObject installAutoloadGeneralizedReference(LispObject first, + Symbol indicator, + String filename) + { + if (first instanceof Symbol) { + Symbol symbol = checkSymbol(first); + install(symbol, indicator, filename); + return T; + } + if (first instanceof Cons) { + for (LispObject list = first; list != NIL; list = list.cdr()) { + Symbol symbol = checkSymbol(list.car()); + install(symbol, indicator, filename); + } + return T; + } + return error(new TypeError(first)); + } + + private static LispObject install(Symbol symbol, Symbol indicator, String filename) { + if (get(symbol, indicator) == NIL) { + return Primitives.PUT.execute(symbol, indicator, + new AutoloadGeneralizedReference(symbol, indicator, filename)); + } else { + return NIL; + } + + } + @Override + public LispObject execute() + { + load(); + return get(symbol, indicator, null).execute(); + } + + @Override + public LispObject execute(LispObject arg) + { + load(); + return get(symbol, indicator, null).execute(arg); + } + + @Override + public LispObject execute(LispObject first, LispObject second) + + { + load(); + return get(symbol, indicator, null).execute(first, second); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third) + + { + load(); + return get(symbol, indicator, null).execute(first, second, third); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third, LispObject fourth) + + { + load(); + return get(symbol, indicator, null).execute(first, second, third, fourth); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third, LispObject fourth, + LispObject fifth) + + { + load(); + return get(symbol, indicator, null).execute(first, second, third, fourth, fifth); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third, LispObject fourth, + LispObject fifth, LispObject sixth) + + { + load(); + return get(symbol, indicator, null).execute(first, second, third, fourth, fifth, sixth); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third, LispObject fourth, + LispObject fifth, LispObject sixth, + LispObject seventh) + + { + load(); + return symbol.execute(first, second, third, fourth, fifth, sixth, + seventh); + } + + @Override + public LispObject execute(LispObject first, LispObject second, + LispObject third, LispObject fourth, + LispObject fifth, LispObject sixth, + LispObject seventh, LispObject eighth) + + { + load(); + return get(symbol, indicator, null).execute(first, second, third, fourth, fifth, sixth, + seventh, eighth); + } + + @Override + public LispObject execute(LispObject[] args) + { + load(); + return get(symbol, indicator, null).execute(args); + } + + + +} Modified: branches/1.1.x/src/org/armedbear/lisp/Lisp.java ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/Lisp.java Wed Feb 13 11:49:36 2013 (r14377) +++ branches/1.1.x/src/org/armedbear/lisp/Lisp.java Wed Feb 13 11:54:49 2013 (r14378) @@ -2769,6 +2769,7 @@ loadClass("org.armedbear.lisp.CompiledClosure"); loadClass("org.armedbear.lisp.Autoload"); loadClass("org.armedbear.lisp.AutoloadMacro"); + loadClass("org.armedbear.lisp.AutoloadGeneralizedReference"); loadClass("org.armedbear.lisp.cxr"); loadClass("org.armedbear.lisp.Do"); loadClass("org.armedbear.lisp.dolist"); Modified: branches/1.1.x/src/org/armedbear/lisp/Primitives.java ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/Primitives.java Wed Feb 13 11:49:36 2013 (r14377) +++ branches/1.1.x/src/org/armedbear/lisp/Primitives.java Wed Feb 13 11:54:49 2013 (r14378) @@ -3574,7 +3574,7 @@ }; // ### put symbol indicator value => value - private static final Primitive PUT = new pf_put(); + public static final Primitive PUT = new pf_put(); private static final class pf_put extends Primitive { pf_put() { super("put", PACKAGE_SYS, true); Modified: branches/1.1.x/src/org/armedbear/lisp/clos.lisp ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/clos.lisp Wed Feb 13 11:49:36 2013 (r14377) +++ branches/1.1.x/src/org/armedbear/lisp/clos.lisp Wed Feb 13 11:54:49 2013 (r14378) @@ -1780,7 +1780,10 @@ ;; also, resolving the symbol isn't ;; a good option either: we've seen that lead to ;; recursive loading of the same file - (not (autoloadp function-name)))) + (and (not (autoloadp function-name)) + (and (consp function-name) + (eq 'setf (first function-name)) + (not (autoload-ref-p (second function-name))))))) (error 'program-error :format-control "~A already names an ordinary function, macro, or special operator." :format-arguments (list function-name))) @@ -4478,7 +4481,10 @@ (unless (classp generic-function-class) (setf generic-function-class (find-class generic-function-class))) (when (and (null *clos-booting*) (fboundp function-name)) - (if (autoloadp function-name) + (if (or (autoloadp function-name) + (and (consp function-name) + (eq 'setf (first function-name)) + (autoload-ref-p (second function-name)))) (fmakunbound function-name) (error 'program-error :format-control "~A already names an ordinary function, macro, or special operator." Modified: branches/1.1.x/src/org/armedbear/lisp/compile-file.lisp ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/compile-file.lisp Wed Feb 13 11:49:36 2013 (r14377) +++ branches/1.1.x/src/org/armedbear/lisp/compile-file.lisp Wed Feb 13 11:54:49 2013 (r14378) @@ -46,6 +46,8 @@ (defvar *toplevel-functions*) (defvar *toplevel-macros*) (defvar *toplevel-exports*) +(defvar *toplevel-setf-expanders*) +(defvar *toplevel-setf-functions*) (defun base-classname (&optional (output-file-pathname *output-file-pathname*)) @@ -423,6 +425,10 @@ (note-toplevel-form form) (note-name-defined (second form)) (push (second form) *toplevel-functions*) + (when (and (consp (second form)) + (eq 'setf (first (second form)))) + (push (second (second form)) + *toplevel-setf-functions*)) (let ((*compile-print* nil)) (process-toplevel-form (macroexpand-1 form *compile-file-environment*) stream compile-time-too)) @@ -550,6 +556,9 @@ (push name jvm::*functions-defined-in-current-file*) (note-name-defined name) (push name *toplevel-functions*) + (when (and (consp name) + (eq 'setf (first name))) + (push (second name) *toplevel-setf-functions*)) ;; If NAME is not fbound, provide a dummy definition so that ;; getSymbolFunctionOrDie() will succeed when we try to verify that ;; functions defined later in the same file can be loaded correctly. @@ -605,6 +614,11 @@ (return-from process-toplevel-form)) (when (and (symbolp operator) (macro-function operator *compile-file-environment*)) + (when (eq operator 'define-setf-expander) ;; ??? what if the symbol is package qualified? + (push (second form) *toplevel-setf-expanders*)) + (when (and (eq operator 'defsetf) ;; ??? what if the symbol is package qualified? + (consp (third form))) ;; long form of DEFSETF + (push (second form) *toplevel-setf-expanders*)) (note-toplevel-form form) ;; Note that we want MACROEXPAND-1 and not MACROEXPAND here, in ;; case the form being expanded expands into something that needs @@ -613,7 +627,6 @@ (process-toplevel-form (macroexpand-1 form *compile-file-environment*) stream compile-time-too)) (return-from process-toplevel-form)) - (cond ((and (symbolp operator) (not (special-operator-p operator)) @@ -717,7 +730,8 @@ (defun compile-from-stream (in output-file temp-file temp-file2 extract-toplevel-funcs-and-macros - functions-file macros-file exports-file) + functions-file macros-file exports-file + setf-functions-file setf-expanders-file) (let* ((*compile-file-pathname* (make-pathname :defaults (pathname in) :version nil)) (*compile-file-truename* (make-pathname :defaults (truename in) @@ -777,7 +791,8 @@ (if (symbolp func-name) (symbol-package func-name) T)) - (remove-duplicates *toplevel-functions*))) + (remove-duplicates + *toplevel-functions*))) (when *toplevel-functions* (with-open-file (f-out functions-file :direction :output @@ -811,7 +826,33 @@ :if-does-not-exist :create :if-exists :supersede) (let ((*package* (find-package :keyword))) - (write *toplevel-exports* :stream e-out))))) + (write *toplevel-exports* :stream e-out)))) + (setf *toplevel-setf-functions* + (remove-if-not (lambda (sym) + (if (symbolp sym) + (symbol-package sym) + T)) + (remove-duplicates *toplevel-setf-functions*))) + (when *toplevel-setf-functions* + (with-open-file (e-out setf-functions-file + :direction :output + :if-does-not-exist :create + :if-exists :supersede) + (let ((*package* (find-package :keyword))) + (write *toplevel-setf-functions* :stream e-out)))) + (setf *toplevel-setf-expanders* + (remove-if-not (lambda (sym) + (if (symbolp sym) + (symbol-package sym) + T)) + (remove-duplicates *toplevel-setf-expanders*))) + (when *toplevel-setf-expanders* + (with-open-file (e-out setf-expanders-file + :direction :output + :if-does-not-exist :create + :if-exists :supersede) + (let ((*package* (find-package :keyword))) + (write *toplevel-setf-expanders* :stream e-out))))) (with-open-file (in temp-file :direction :input :external-format *fasl-external-format*) (with-open-file (out temp-file2 :direction :output :if-does-not-exist :create @@ -900,14 +941,19 @@ (functions-file (pathname-with-type output-file "funcs")) (macros-file (pathname-with-type output-file "macs")) (exports-file (pathname-with-type output-file "exps")) + (setf-functions-file (pathname-with-type output-file "setf-functions")) + (setf-expanders-file (pathname-with-type output-file "setf-expanders")) *toplevel-functions* *toplevel-macros* - *toplevel-exports*) + *toplevel-exports* + *toplevel-setf-functions* + *toplevel-setf-expanders*) (with-open-file (in input-file :direction :input :external-format external-format) (multiple-value-bind (output-file-truename warnings-p failure-p) (compile-from-stream in output-file temp-file temp-file2 extract-toplevel-funcs-and-macros - functions-file macros-file exports-file) + functions-file macros-file exports-file + setf-functions-file setf-expanders-file) (values (truename output-file) warnings-p failure-p)))))) (defun compile-file-if-needed (input-file &rest allargs &key force-compile Modified: branches/1.1.x/src/org/armedbear/lisp/compile-system.lisp ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/compile-system.lisp Wed Feb 13 11:49:36 2013 (r14377) +++ branches/1.1.x/src/org/armedbear/lisp/compile-system.lisp Wed Feb 13 11:54:49 2013 (r14378) @@ -148,12 +148,11 @@ (remove-if (lambda (x) (null (cdr x))) (mapcar (lambda (x) - (cons (car x) + (cons (car x) (remove-if-not (lambda (x) - ;;; ### TODO: Support SETF functions - (and (symbolp x) - (eq (symbol-package x) - filter-package))) + (and (symbolp x) + (eq (symbol-package x) + filter-package))) (cdr x)))) filesets-symbols)))) (write-autoloader stream package type filtered-filesets))) @@ -174,34 +173,40 @@ (push (list base-name function-name) all-functions)))))))) (defun generate-autoloads (symbol-files-pathspec) - (flet ((filter-combos (combos) - (remove-multi-combo-symbols - (remove-if (lambda (x) - ;; exclude the symbols from the files - ;; below: putting autoloaders on some of - ;; the symbols conflicts with the bootstrapping - ;; Primitives which have been defined Java-side - (member x '( ;; function definitions to be excluded - "fdefinition" "early-defuns" - "require" "signal" "restart" - - ;; extensible sequences override - ;; lots of default functions; - ;; java-collections implements - ;; extensible sequences - "extensible-sequences-base" - "extensible-sequences" "java-collections" - - ;; macro definitions to be excluded - "macros" ;; "backquote" - "precompiler") - :test #'string=)) - combos - :key #'first))) - (symbols-pathspec (filespec) - (merge-pathnames filespec symbol-files-pathspec))) + (labels ((filter-combos (combos) + (remove-multi-combo-symbols + (remove-if (lambda (x) + ;; exclude the symbols from the files + ;; below: putting autoloaders on some of + ;; the symbols conflicts with the bootstrapping + ;; Primitives which have been defined Java-side + (member x '( ;; function definitions to be excluded + "fdefinition" "early-defuns" + "require" "signal" "restart" + + ;; extensible sequences override + ;; lots of default functions; + ;; java-collections implements + ;; extensible sequences + "extensible-sequences-base" + "extensible-sequences" "java-collections" + + ;; macro definitions to be excluded + "macros" ;; "backquote" + "precompiler") + :test #'string=)) + combos + :key #'first))) + (filter-setf-combos (combos) + (filter-combos + (remove-multi-combo-symbols + (remove-if (lambda (x) (member x '("clos") :test #'string=)) combos :key #'first)))) + (symbols-pathspec (filespec) + (merge-pathnames filespec symbol-files-pathspec))) (let ((funcs (filter-combos (load-combos (symbols-pathspec "*.funcs")))) (macs (filter-combos (load-combos (symbols-pathspec "*.macs")))) + (setf-functions (filter-setf-combos (load-combos (symbols-pathspec "*.setf-functions")))) + (setf-expanders (filter-setf-combos (load-combos (symbols-pathspec "*.setf-expanders")))) (exps (filter-combos (load-combos (symbols-pathspec "*.exps"))))) (with-open-file (f (symbols-pathspec "autoloads-gen.lisp") :direction :output :if-does-not-exist :create @@ -243,8 +248,19 @@ (write-line ";; MACROS" f) (terpri f) (write-package-filesets f package 'ext:autoload-macro - (combos-to-fileset-symbols macs))))))) + (combos-to-fileset-symbols macs)) + (terpri f) + + (write-line ";; SETF-FUNCTIONS" f) + (terpri f) + (write-package-filesets f package 'ext:autoload-setf-function + (combos-to-fileset-symbols setf-functions)) + (terpri f) + (write-line ";; SETF-EXPANDERS" f) + (terpri f) + (write-package-filesets f package 'ext:autoload-setf-expander + (combos-to-fileset-symbols setf-expanders))))))) ;; ;; --- End of autoloads.lisp From mevenson at common-lisp.net Thu Feb 14 09:54:03 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 01:54:03 -0800 Subject: [armedbear-cvs] r14379 - tags/1.1.1 Message-ID: Author: mevenson Date: Thu Feb 14 01:54:00 2013 New Revision: 14379 Log: 1.1.1: mkcol for abcl-1.1.1 tag. Added: tags/1.1.1/ From mevenson at common-lisp.net Thu Feb 14 11:16:06 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 03:16:06 -0800 Subject: [armedbear-cvs] r14380 - in branches/1.1.x: . contrib contrib/abcl-asdf contrib/asdf-install contrib/asdf-jar contrib/jfli contrib/jss contrib/mvn contrib/quicklisp doc/manual src/org/armedbear/lisp Message-ID: Author: mevenson Date: Thu Feb 14 03:16:05 2013 New Revision: 14380 Log: 1.1.1: update version artifacts. Modified: branches/1.1.x/README branches/1.1.x/abcl.rdf branches/1.1.x/contrib/abcl-asdf/README.markdown branches/1.1.x/contrib/abcl-asdf/abcl-asdf.asd branches/1.1.x/contrib/asdf-install/asdf-install.asd branches/1.1.x/contrib/asdf-jar/asdf-jar.asd branches/1.1.x/contrib/jfli/jfli.asd branches/1.1.x/contrib/jss/README.markdown branches/1.1.x/contrib/jss/jss.asd branches/1.1.x/contrib/mvn/jna.asd branches/1.1.x/contrib/pom.xml branches/1.1.x/contrib/quicklisp/quicklisp-abcl.asd branches/1.1.x/doc/manual/abcl.tex branches/1.1.x/pom.xml branches/1.1.x/src/org/armedbear/lisp/Version.java Modified: branches/1.1.x/README ============================================================================== --- branches/1.1.x/README Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/README Thu Feb 14 03:16:05 2013 (r14380) @@ -50,8 +50,8 @@ which should result in output like the following - Armed Bear Common Lisp 1.1.0.1 - Java 1.6.0_21 Sun Microsystems Inc. + Armed Bear Common Lisp 1.1.1 + Java 1.6.0_39 Sun Microsystems Inc. Java HotSpot(TM) Client VM Low-level initialization completed in 0.3 seconds. Startup completed in 2.294 seconds. @@ -190,7 +190,7 @@ ### Tests -ABCL 1.1.0 now fails only 1[4-6] out of 21708 total tests in the ANSI CL +ABCL 1.1.1 now fails only 1[23] out of 21708 total tests in the ANSI CL test suite (derived from the tests originally written for GCL). Maxima's test suite runs without failures. @@ -223,5 +223,5 @@ Alessio Stalla Ville Voutilainen -December 2012 +February 2013 Modified: branches/1.1.x/abcl.rdf ============================================================================== --- branches/1.1.x/abcl.rdf Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/abcl.rdf Thu Feb 14 03:16:05 2013 (r14380) @@ -3,20 +3,20 @@ @prefix abcl: . @prefix doap: . -<> dc:version "abcl-1.1.1-dev" ; - abcl:branch +<> dc:version "abcl-1.1.1" ; +# abcl:branch # abcl:releaseCandidate "dev" ; # abcl:buildIdentifier "dev" ; -# a abcl:release ; -# abcl:tag ; -# dc:identifier ; + a abcl:release ; + abcl:tag ; + dc:identifier ; doap:language "Common Lisp" ; dc:created "01-JAN-2004" ; - dc:modified "19-DEC-2012" . + dc:modified "14-FEB-2013" . <> abcl:is "W3C Turtle RDF serializations format" ; - abcl:tag . + abcl:tag . @prefix rdf: . @prefix rdfs: . @@ -54,7 +54,6 @@ rdf:_4"Windows Batch Script" ] . - dc:contributor [ a rdf:Alt; @@ -79,7 +78,7 @@ dc:license ; dc:license ; - rdfs:seeAlso ; + rdfs:seeAlso ; dc:licenseDocument ; dc:licenseDocument ; ] . @@ -125,13 +124,36 @@ rdf:_5 abcl:jfli ; rdf:_6 abcl:abcl-asdf ; rdf:_7 abcl:jna ; - rdf:_8 abcl:asdf-jar + rdf:_8 abcl:asdf-jar ; + rdf:_9 abcl:quicklisp-abcl ; ] . abcl:abcl-contrib - dc:identifier ; + dc:identifier ; rdfs:seeAlso . abcl:asdf-install - dc:identifier ; + dc:identifier ; rdfs:seeAlso . + +abcl:abcl-asdf + dc:identifier ; + rdfs:seeAlso . + +abcl:asdf-jar + dc:identifier ; + rdfs:seeAlso . + +abcl:jfli + dc:identifier ; + rdfs:seeAlso . + +abcl:jss + dc:identifier ; + rdfs:seeAlso . + +abcl:jna + dc:identifier . + +abcl:quicklisp-abcl + dc:identifier . \ No newline at end of file Modified: branches/1.1.x/contrib/abcl-asdf/README.markdown ============================================================================== --- branches/1.1.x/contrib/abcl-asdf/README.markdown Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/contrib/abcl-asdf/README.markdown Thu Feb 14 03:16:05 2013 (r14380) @@ -164,6 +164,6 @@ Created: 2011-01-01 Revised: 2012-12-06 - <> dc:documentation . + <> dc:documentation . Modified: branches/1.1.x/contrib/abcl-asdf/abcl-asdf.asd ============================================================================== --- branches/1.1.x/contrib/abcl-asdf/abcl-asdf.asd Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/contrib/abcl-asdf/abcl-asdf.asd Thu Feb 14 03:16:05 2013 (r14380) @@ -3,7 +3,7 @@ (asdf:defsystem :abcl-asdf :author "Mark Evenson" :version "1.1.0" - :description "<> asdf:defsystem " + :description "<> asdf:defsystem " :depends-on (jss) :components ((:module packages :pathname "" Modified: branches/1.1.x/contrib/asdf-install/asdf-install.asd ============================================================================== --- branches/1.1.x/contrib/asdf-install/asdf-install.asd Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/contrib/asdf-install/asdf-install.asd Thu Feb 14 03:16:05 2013 (r14380) @@ -13,7 +13,7 @@ #+:sbcl :depends-on #+:sbcl (sb-bsd-sockets) :version "0.6.10.2" - :description "<> asdf:defsystem " + :description "<> asdf:defsystem " :author "Dan Barlow , Edi Weitz and many others. See the file COPYRIGHT for more details." :maintainer "Gary Warren King " :components ((:file "defpackage") Modified: branches/1.1.x/contrib/asdf-jar/asdf-jar.asd ============================================================================== --- branches/1.1.x/contrib/asdf-jar/asdf-jar.asd Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/contrib/asdf-jar/asdf-jar.asd Thu Feb 14 03:16:05 2013 (r14380) @@ -4,7 +4,7 @@ (defsystem :asdf-jar :author "Mark Evenson" :version "0.2.1" - :description "<> asdf:defsystem + :description "<> asdf:defsystem " :components ((:module base :pathname "" :components ((:file "asdf-jar") Modified: branches/1.1.x/contrib/jfli/jfli.asd ============================================================================== --- branches/1.1.x/contrib/jfli/jfli.asd Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/contrib/jfli/jfli.asd Thu Feb 14 03:16:05 2013 (r14380) @@ -2,11 +2,11 @@ (asdf:defsystem jfli :version "0.2.0" + :description "<> asdf:defsystem ." :components ((:file "jfli"))) ;;; Requires integration with IntelliJ IDEA editor (free download) (asdf:defsystem jfli-intellij-tests :version "0.1.0" - :description "<> asdf:defsystem ." :components ((:module test :components ((:file "yanking"))))) Modified: branches/1.1.x/contrib/jss/README.markdown ============================================================================== --- branches/1.1.x/contrib/jss/README.markdown Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/contrib/jss/README.markdown Thu Feb 14 03:16:05 2013 (r14380) @@ -143,6 +143,6 @@ <> dc:created "2005" ; dc:author "Mark "; dc:revised "06-DEC-2012" ; - <> abcl:documents abcl:documents asdf:defsystem asdf:defsystem ." :components ((:module base :pathname "" :serial t :components ((:file "packages") Modified: branches/1.1.x/contrib/mvn/jna.asd ============================================================================== --- branches/1.1.x/contrib/mvn/jna.asd Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/contrib/mvn/jna.asd Thu Feb 14 03:16:05 2013 (r14380) @@ -3,7 +3,7 @@ ;;;; Need to have jna.jar present for CFFI to work. (asdf:defsystem :jna :version "3.5.1" - :description "<> asdf:defsystem asdf:defsystem ." :defsystem-depends-on (jss abcl-asdf) ;; FIXME: always seems to be resolving the LATEST maven artifact. :components ((:mvn "net.java.dev.jna/jna/3.5.1" Modified: branches/1.1.x/contrib/pom.xml ============================================================================== --- branches/1.1.x/contrib/pom.xml Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/contrib/pom.xml Thu Feb 14 03:16:05 2013 (r14380) @@ -2,7 +2,7 @@ + xmlns:abcl="http://svn.common-lisp.net/armedbear/tags/1.1.1/abcl/abcl.rdf"> @@ -14,7 +14,7 @@ org.armedbear.lisp abcl-contrib - 1.1.0 + 1.1.1 jar Armed Bear Common Lisp (ABCL) Contribs Extra packages--contribs--for ABCL Modified: branches/1.1.x/contrib/quicklisp/quicklisp-abcl.asd ============================================================================== --- branches/1.1.x/contrib/quicklisp/quicklisp-abcl.asd Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/contrib/quicklisp/quicklisp-abcl.asd Thu Feb 14 03:16:05 2013 (r14380) @@ -9,7 +9,7 @@ (defsystem :quicklisp-abcl :description - "Load Quicklisp from the network if it isn't already installed. " + "Load Quicklisp from the network if it isn't already installed. " :version "0.2.0" :components nil) Modified: branches/1.1.x/doc/manual/abcl.tex ============================================================================== --- branches/1.1.x/doc/manual/abcl.tex Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/doc/manual/abcl.tex Thu Feb 14 03:16:05 2013 (r14380) @@ -8,9 +8,9 @@ \begin{document} \title{Armed Bear Common Lisp User Manual} -\date{Version 1.1.0\\ +\date{Version 1.1.1\\ \smallskip -December 7, 2012} +February 14, 2013} \author{Mark Evenson \and Erik H\"{u}lsmann \and Rudolf Schlatte \and Alessio Stalla \and Ville Voutilainen} @@ -18,7 +18,7 @@ \tableofcontents -%%Preface to the second edition, abcl-1.1.0. +%%Preface to the second edition, abcl-1.1.1. \subsection{Preface to the Second Edition} @@ -116,7 +116,7 @@ \textsc{ABCL} is licensed under the terms of the \textsc{GPL} v2 of June 1991 with the ``classpath-exception'' (see the file \texttt{COPYING} in the source distribution \footnote{See - \url{http://svn.common-lisp.net/armedbear/tags/1.1.0/abcl/COPYING}} for + \url{http://svn.common-lisp.net/armedbear/tags/1.1.1/abcl/COPYING}} for the license, term 13 in the same file for the classpath exception). This license broadly means that you must distribute the sources to ABCL, including any changes you make, together with a program that @@ -142,7 +142,7 @@ \textsc{ABCL} is packaged as a single jar file usually named either -\texttt{abcl.jar} or possibly something like \texttt{abcl-1.1.0.jar} if +\texttt{abcl.jar} or possibly something like \texttt{abcl-1.1.1.jar} if using a versioned package on the local filesystem from your system vendor. This jar file can be executed from the command line to obtain a \textsc{REPL}\footnote{Read-Eval Print Loop, a Lisp command-line}, viz: @@ -1145,7 +1145,7 @@ The \textsc{ABCL} contrib is packaged as a separate jar archive usually named \code{abcl-contrib.jar} or possibly something like -\code{abcl-contrib-1.1.0.jar}. The contrib jar is not loaded by the +\code{abcl-contrib-1.1.1.jar}. The contrib jar is not loaded by the implementation by default, and must be first intialized by the \code{REQUIRE} mechanism before using any specific contrib: @@ -1232,7 +1232,7 @@ locally from the network as well. More extensive documentations and examples can be found at -\url{http://svn.common-lisp.net/armedbear/tags/1.1.0/abcl/contrib/abcl-asdf/README.markdown}. +\url{http://svn.common-lisp.net/armedbear/tags/1.1.1/abcl/contrib/abcl-asdf/README.markdown}. \section{asdf-jar} @@ -1244,7 +1244,7 @@ fasls in a jar archive. The documentation for this contrib can be found at -\url{http://svn.common-lisp.net/armedbear/tags/1.1.0/abcl/contrib/asdf-jar/README.markdown}. +\url{http://svn.common-lisp.net/armedbear/tags/1.1.1/abcl/contrib/asdf-jar/README.markdown}. \section{jss} @@ -1280,14 +1280,14 @@ \end{listing-lisp} %$ <-- un-confuse Emacs font-lock Some more information on jss can be found in its documentation at -\url{http://svn.common-lisp.net/armedbear/tags/1.1.0/abcl/contrib/jss/README.markdown}. +\url{http://svn.common-lisp.net/armedbear/tags/1.1.1/abcl/contrib/jss/README.markdown}. \section{jfli} \label{section:jfli} The contrib contains a pure-Java version of JFLI. -\url{http://svn.common-lisp.net/armedbear/tags/1.1.0/abcl/contrib/jfli/README}. +\url{http://svn.common-lisp.net/armedbear/tags/1.1.1/abcl/contrib/jfli/README}. \section{asdf-install} @@ -1302,7 +1302,7 @@ stashing \textsc{ABCL} specific system definitions for convenient access. -\url{http://svn.common-lisp.net/armedbear/tags/1.1.0/abcl/contrib/asdf-install/README}. +\url{http://svn.common-lisp.net/armedbear/tags/1.1.1/abcl/contrib/asdf-install/README}. \chapter{History} @@ -1327,8 +1327,9 @@ released abcl-1.0.0. We released abcl-1.0.1 as a maintainence release on January 10, 2012. -In December 2012, we revised the implementation by adding \textsc{(A)MOP} -with the release of abcl-1.1.0. +In December 2012, we revised the implementation by adding +\textsc{(A)MOP} with the release of abcl-1.1.0. We released +abcl-1.1.1 as a maintainence release on Feburary 14, 2013. \appendix Modified: branches/1.1.x/pom.xml ============================================================================== --- branches/1.1.x/pom.xml Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/pom.xml Thu Feb 14 03:16:05 2013 (r14380) @@ -2,7 +2,7 @@ + xmlns:abcl="http://svn.common-lisp.net/armedbear/tags/1.1.1/abcl/abcl.rdf"> @@ -14,7 +14,7 @@ org.armedbear.lisp abcl - 1.1.0 + 1.1.1 jar ABCL - Armed Bear Common Lisp Common Lisp implementation running on the JVM Modified: branches/1.1.x/src/org/armedbear/lisp/Version.java ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/Version.java Thu Feb 14 01:54:00 2013 (r14379) +++ branches/1.1.x/src/org/armedbear/lisp/Version.java Thu Feb 14 03:16:05 2013 (r14380) @@ -41,7 +41,7 @@ { private Version() {} - static final String baseVersion = "1.1.1-dev"; + static final String baseVersion = "1.1.1"; static void init() { try { From mevenson at common-lisp.net Thu Feb 14 11:16:09 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 03:16:09 -0800 Subject: [armedbear-cvs] r14381 - branches/1.1.x/test/lisp/ansi Message-ID: Author: mevenson Date: Thu Feb 14 03:16:06 2013 New Revision: 14381 Log: 1.1.1: Update the ANSI tests failures. Modified: branches/1.1.x/test/lisp/ansi/ansi-test-failures Modified: branches/1.1.x/test/lisp/ansi/ansi-test-failures ============================================================================== --- branches/1.1.x/test/lisp/ansi/ansi-test-failures Thu Feb 14 03:16:05 2013 (r14380) +++ branches/1.1.x/test/lisp/ansi/ansi-test-failures Thu Feb 14 03:16:06 2013 (r14381) @@ -462,7 +462,6 @@ ENSURE-DIRECTORIES-EXIST.8 PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17 READ-SYMBOL.22 TRACE.8)) - (doit r14249 :id saturn-java6 (PSETF.37 CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 MAP.48 @@ -470,7 +469,6 @@ PRINT.BACKQUOTE.RANDOM.14 PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17 COMPILE-FILE.2 COMPILE-FILE.2A)) - (compileit r14249 :id saturn-java6 (PSETF.37 CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 @@ -478,42 +476,31 @@ MAKE-CONCATENATED-STREAM.30 PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17 COMPILE-FILE.2 COMPILE-FILE.2A TRACE.8)) - - - - - ;;13 out of 21707 total tests failed: (doit abcl-1.1.0-rc-0 :id saturn-java6 -(PSETF.37 -CALL-NEXT-METHOD.ERROR.1 -CALL-NEXT-METHOD.ERROR.2 -INVOKE-DEBUGGER.1 -MAKE-CONDITION.3 -MAKE-CONDITION.4 -SXHASH.8 -MAP.48 -TYPE-OF.1 -TYPE-OF.4 -MAKE-CONCATENATED-STREAM.30 -PRINT.RANDOM-STATE.1 -PPRINT-LOGICAL-BLOCK.17)) + (PSETF.37 CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 + INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 + MAP.48 TYPE-OF.1 TYPE-OF.4 MAKE-CONCATENATED-STREAM.30 + PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17)) ;;15 out of 21707 total tests failed: (compileit abcl-1.1.0-rc-0 :id saturn-java6 -(PSETF.37 -CALL-NEXT-METHOD.ERROR.1 -CALL-NEXT-METHOD.ERROR.2 -INVOKE-DEBUGGER.1 -MAKE-CONDITION.3 -MAKE-CONDITION.4 -SXHASH.8 -MAP.48 -TYPE-OF.1 -TYPE-OF.4 -MAKE-CONCATENATED-STREAM.30 -PRINT.BACKQUOTE.RANDOM.14 -PRINT.RANDOM-STATE.1 -PPRINT-LOGICAL-BLOCK.17 -TRACE.8)) + (PSETF.37 CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 + INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 + MAP.48 TYPE-OF.1 TYPE-OF.4 MAKE-CONCATENATED-STREAM.30 + PRINT.BACKQUOTE.RANDOM.14 PRINT.RANDOM-STATE.1 + PPRINT-LOGICAL-BLOCK.17 TRACE.8)) + + ;;13 out of 21707 total tests failed: +(compileit abcl-1.1.1 :id saturn-java6 + (CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 + INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 + MAP.48 TYPE-OF.1 TYPE-OF.4 MAKE-CONCATENATED-STREAM.30 + PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17 TRACE.8)) +;; 12 out of 21707 total tests failed: +(doit abcl-1.1.1 :id saturn-java6 + (CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 + INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 + MAP.48 TYPE-OF.1 TYPE-OF.4 MAKE-CONCATENATED-STREAM.30 + PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17)) From mevenson at common-lisp.net Thu Feb 14 11:16:11 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 03:16:11 -0800 Subject: [armedbear-cvs] r14382 - branches/1.1.x Message-ID: Author: mevenson Date: Thu Feb 14 03:16:08 2013 New Revision: 14382 Log: Update CHANGES for abcl-1.1.1. Modified: branches/1.1.x/CHANGES Modified: branches/1.1.x/CHANGES ============================================================================== --- branches/1.1.x/CHANGES Thu Feb 14 03:16:06 2013 (r14381) +++ branches/1.1.x/CHANGES Thu Feb 14 03:16:08 2013 (r14382) @@ -1,7 +1,35 @@ -Version 1.1.0 +Version 1.1.1 ============= -svn.uri=:"http//svn.common-lisp.net/armedbear/tags/1.1.x/CHANGES" -(unreleased) +svn.uri=:"http//svn.common-lisp.net/armedbear/tags/1.1.1/CHANGES" +(14 Feburary 2013) + +Fixes +----- + + * All reported errors with the MOP implementation have been addressed. + + * An autoloader for SETF expansion functions has been implemented, + eliminating the errors associated with not being able to use (SETF + SYMBOL) without first invoking SYMBOL as a function. [#266 + + * All outstanding regressions in the ANSI test suite with respect to + abcl-1.0.1 have been fixed. + + * The ability to resolve Maven components in ASDF system definitions has been restored. + +Issues Resolved +--------------- + +[#266] PSETF.47 ANSI regression +[#284] checks in ensure-generic-function-using-class should occur later +[#296] SLIME fails to initialize with (SETF DOCUMENTATION) undefined +[#198] Hunchentoot run failure +[#228] Need to implement autoloader facility for SETF functions +[#288] Control character names +[#290] Compiling (defvar *foo* '(quote . x)) throws an error +[#293] Loop and default value for of-type problem +[#294] Reader doesn't recognize terminating characters in some cases +[#299] ABCL-ASDF:MVN components not loading Version 1.1.0.1 From mevenson at common-lisp.net Thu Feb 14 11:18:32 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 03:18:32 -0800 Subject: [armedbear-cvs] r14383 - branches/1.1.x/contrib/jfli Message-ID: Author: mevenson Date: Thu Feb 14 03:18:31 2013 New Revision: 14383 Log: 1.1.1: Correct refernce in jfli README. Modified: branches/1.1.x/contrib/jfli/README Modified: branches/1.1.x/contrib/jfli/README ============================================================================== --- branches/1.1.x/contrib/jfli/README Thu Feb 14 03:16:08 2013 (r14382) +++ branches/1.1.x/contrib/jfli/README Thu Feb 14 03:18:31 2013 (r14383) @@ -36,4 +36,4 @@ # Colophon -<> abcl:documents . +<> abcl:documents . From mevenson at common-lisp.net Thu Feb 14 11:38:24 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 03:38:24 -0800 Subject: [armedbear-cvs] r14384 - in branches/1.1.x: . src/org/armedbear/lisp Message-ID: Author: mevenson Date: Thu Feb 14 03:38:22 2013 New Revision: 14384 Log: 1.1.x: branch now produces 1.1.2-dev artifacts. Modified: branches/1.1.x/CHANGES branches/1.1.x/abcl.rdf branches/1.1.x/src/org/armedbear/lisp/Version.java Modified: branches/1.1.x/CHANGES ============================================================================== --- branches/1.1.x/CHANGES Thu Feb 14 03:18:31 2013 (r14383) +++ branches/1.1.x/CHANGES Thu Feb 14 03:38:22 2013 (r14384) @@ -1,6 +1,12 @@ +Version 1.1.2 +============= +svn.uri=:"http//svn.common-lisp.net/armedbear/branches/1.1.x/CHANGES" +(unreleased) + + Version 1.1.1 ============= -svn.uri=:"http//svn.common-lisp.net/armedbear/tags/1.1.1/CHANGES" +svn.uri=:"http//svn.common-lisp.net/armedbear/tags/abcl/1.1.1/CHANGES" (14 Feburary 2013) Fixes Modified: branches/1.1.x/abcl.rdf ============================================================================== --- branches/1.1.x/abcl.rdf Thu Feb 14 03:18:31 2013 (r14383) +++ branches/1.1.x/abcl.rdf Thu Feb 14 03:38:22 2013 (r14384) @@ -4,19 +4,18 @@ @prefix doap: . <> dc:version "abcl-1.1.1" ; -# abcl:branch -# abcl:releaseCandidate "dev" ; -# abcl:buildIdentifier "dev" ; - a abcl:release ; - abcl:tag ; - dc:identifier ; +# a abcl:release ; doap:language "Common Lisp" ; dc:created "01-JAN-2004" ; dc:modified "14-FEB-2013" . <> abcl:is "W3C Turtle RDF serializations format" ; - abcl:tag . + abcl:branch ; + # abcl:tag ; +# abcl:releaseCandidate "dev" ; + abcl:buildIdentifier "dev" . + @prefix rdf: . @prefix rdfs: . Modified: branches/1.1.x/src/org/armedbear/lisp/Version.java ============================================================================== --- branches/1.1.x/src/org/armedbear/lisp/Version.java Thu Feb 14 03:18:31 2013 (r14383) +++ branches/1.1.x/src/org/armedbear/lisp/Version.java Thu Feb 14 03:38:22 2013 (r14384) @@ -41,7 +41,7 @@ { private Version() {} - static final String baseVersion = "1.1.1"; + static final String baseVersion = "1.1.2-dev"; static void init() { try { From mevenson at common-lisp.net Thu Feb 14 11:40:45 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 03:40:45 -0800 Subject: [armedbear-cvs] r14385 - public_html/releases/1.1.1 Message-ID: Author: mevenson Date: Thu Feb 14 03:40:38 2013 New Revision: 14385 Log: 1.1.1: binary artifacts for release. Added: public_html/releases/1.1.1/ public_html/releases/1.1.1/abcl-1.1.1.jar (contents, props changed) public_html/releases/1.1.1/abcl-bin-1.1.1.tar.gz (contents, props changed) public_html/releases/1.1.1/abcl-bin-1.1.1.zip (contents, props changed) public_html/releases/1.1.1/abcl-contrib-1.1.1.jar (contents, props changed) public_html/releases/1.1.1/abcl-contrib.jar (contents, props changed) public_html/releases/1.1.1/abcl-src-1.1.1.tar.gz (contents, props changed) public_html/releases/1.1.1/abcl-src-1.1.1.zip (contents, props changed) public_html/releases/1.1.1/abcl.jar (contents, props changed) Added: public_html/releases/1.1.1/abcl-1.1.1.jar ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-bin-1.1.1.tar.gz ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-bin-1.1.1.zip ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-contrib-1.1.1.jar ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-contrib.jar ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-src-1.1.1.tar.gz ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-src-1.1.1.zip ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl.jar ============================================================================== Binary file. No diff available. From mevenson at common-lisp.net Thu Feb 14 11:53:41 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 03:53:41 -0800 Subject: [armedbear-cvs] r14386 - tags/1.1.1/abcl Message-ID: Author: mevenson Date: Thu Feb 14 03:53:40 2013 New Revision: 14386 Log: 1.1.1: tag r14383 as release. Added: tags/1.1.1/abcl/ - copied from r14383, branches/1.1.x/ From mevenson at common-lisp.net Thu Feb 14 12:04:00 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 04:04:00 -0800 Subject: [armedbear-cvs] r14387 - public_html/releases/1.1.1 Message-ID: Author: mevenson Date: Thu Feb 14 04:03:57 2013 New Revision: 14387 Log: 1.1.1: cryptographic signatures. Added: public_html/releases/1.1.1/abcl-1.1.1.jar.asc (contents, props changed) public_html/releases/1.1.1/abcl-bin-1.1.1.tar.gz.asc (contents, props changed) public_html/releases/1.1.1/abcl-bin-1.1.1.zip.asc (contents, props changed) public_html/releases/1.1.1/abcl-contrib-1.1.1.jar.asc (contents, props changed) public_html/releases/1.1.1/abcl-contrib.jar.asc (contents, props changed) public_html/releases/1.1.1/abcl-src-1.1.1.tar.gz.asc (contents, props changed) public_html/releases/1.1.1/abcl-src-1.1.1.zip.asc (contents, props changed) public_html/releases/1.1.1/abcl.jar.asc (contents, props changed) Added: public_html/releases/1.1.1/abcl-1.1.1.jar.asc ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-bin-1.1.1.tar.gz.asc ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-bin-1.1.1.zip.asc ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-contrib-1.1.1.jar.asc ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-contrib.jar.asc ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-src-1.1.1.tar.gz.asc ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl-src-1.1.1.zip.asc ============================================================================== Binary file. No diff available. Added: public_html/releases/1.1.1/abcl.jar.asc ============================================================================== Binary file. No diff available. From mevenson at common-lisp.net Thu Feb 14 12:14:30 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 04:14:30 -0800 Subject: [armedbear-cvs] r14388 - public_html Message-ID: Author: mevenson Date: Thu Feb 14 04:14:29 2013 New Revision: 14388 Log: 1.1.1: Update public html Modified: public_html/faq.shtml public_html/index.shtml Modified: public_html/faq.shtml ============================================================================== --- public_html/faq.shtml Thu Feb 14 04:03:57 2013 (r14387) +++ public_html/faq.shtml Thu Feb 14 04:14:29 2013 (r14388) @@ -65,10 +65,9 @@ is included in the User Manual.

-The development version of ABCL, abcl-1.1.0-dev (aka "ABCL trunk"), contains a complete -implementation of the AMOP that is being -extensively tested for release with abcl-1.1.0. +With the release of version 1.1.0, ABCL now contains a complete +implementation of AMOP.

@@ -117,7 +116,7 @@ problem, the version of ABCL you are using, and if possible a set of steps to reproduce the problem to the armedbear-devel -mailing list. We try to respond within a day at most to messages. +mailing list. We endeavor to respond within a day to messages. A convenient way to browse the mailing list archives can be found by the gmane loom interface to the NNTP group gmane.lisp.armedbear.devel. @@ -175,7 +174,7 @@ Additionally, compilation of AP5 is used to improve this measure too.

-

ABCL 1.0.1 fails roughly 20 out of 21702 tests in the ANSI test +

ABCL 1.1.1 fails roughly 12 out of 21702 tests in the ANSI test suite in interpreted and compiled modes, a constant number over the past releases.

@@ -212,7 +211,7 @@ kind of documentation you're looking for.

    -
  1. Users of the system are invited to start with the Armed Bear Common Lisp User Manual
  2. +
  3. Users of the system are invited to start with the Armed Bear Common Lisp User Manual
  4. Our wiki
  5. The source code (JavaDoc and general comments)
  6. Modified: public_html/index.shtml ============================================================================== --- public_html/index.shtml Thu Feb 14 04:03:57 2013 (r14387) +++ public_html/index.shtml Thu Feb 14 04:14:29 2013 (r14388) @@ -26,31 +26,31 @@ Binary - abcl-bin-1.1.0.tar.gz - (pgp) + abcl-bin-1.1.1.tar.gz + (pgp) - abcl-bin-1.1.0.zip - (pgp) + abcl-bin-1.1.1.zip + (pgp) - abcl-contrib-1.1.0.jar - (pgp) + abcl-contrib-1.1.1.jar + (pgp) Source - abcl-src-1.1.0.tar.gz - (pgp) + abcl-src-1.1.1.tar.gz + (pgp) - abcl-src-1.1.0.zip - (pgp) + abcl-src-1.1.1.zip + (pgp) - + abcl-contrib source From mevenson at common-lisp.net Thu Feb 14 12:15:45 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 04:15:45 -0800 Subject: [armedbear-cvs] r14389 - public_html Message-ID: Author: mevenson Date: Thu Feb 14 04:15:42 2013 New Revision: 14389 Log: 1.1.1: public html release notes. Added: public_html/release-notes-1.1.1.shtml Added: public_html/release-notes-1.1.1.shtml ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ public_html/release-notes-1.1.1.shtml Thu Feb 14 04:15:42 2013 (r14389) @@ -0,0 +1,71 @@ + + + + + ABCL - Release notes v1.1.0 + + + + + + + +
    +

    ABCL - Release notes for version v1.1.1

    +
    + + + +
    + +

    Changes in ABCL 1.1.1

    + +

    + abcl-1.1.1 is a maintenance release. +

    + +
    +
    (A)MOP
    + +
    All reported errors with the MOP implementation have been addressed.
    + +
    SETF autoloader
    + +
    An autoloader for SETF expansion functions has been implemented, + eliminating the errors associated with not being able to use (SETF + SYMBOL) without first invoking SYMBOL as a function. +
    + +
    ANSI Test
    +
    All outstanding regressions in the ANSI test suite with respect to + abcl-1.0.1 have been fixed. +
    + +
    ABCL-ASDF
    + +
    The ability to resolve Maven components in ASDF system definitions has been restored. +
    + +
    + +

    The distribution contains a more detailed documentation of CHANGES.

    + + +

    Release notes for older releases of ABCL.

    + +
    + +
    +
    +

    ABCL is Armed Bear Common Lisp.

    +

    Back to Common-lisp.net.

    + + +
    $Id: release-notes-1.1.0.shtml 13748 2012-01-10 18:58:49Z mevenson $
    +
    + + From mevenson at common-lisp.net Thu Feb 14 12:29:20 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 04:29:20 -0800 Subject: [armedbear-cvs] r14390 - public_html Message-ID: Author: mevenson Date: Thu Feb 14 04:29:18 2013 New Revision: 14390 Log: 1.1.1: Change HTML to link to proper release notes. Modified: public_html/left-menu Modified: public_html/left-menu ============================================================================== --- public_html/left-menu Thu Feb 14 04:15:42 2013 (r14389) +++ public_html/left-menu Thu Feb 14 04:29:18 2013 (r14390) @@ -10,7 +10,7 @@ Testimonials
  7. - Release notes + Release notes
  8. Paid support From mevenson at common-lisp.net Thu Feb 14 14:18:02 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 06:18:02 -0800 Subject: [armedbear-cvs] r14391 - trunk/abcl/test/lisp/ansi Message-ID: Author: mevenson Date: Thu Feb 14 06:18:00 2013 New Revision: 14391 Log: Merge r14381 | mevenson | 2013-02-14 12:16:06 +0100 (Thu, 14 Feb 2013) | 1 line 1.1.1: Update the ANSI tests failures. Modified: trunk/abcl/test/lisp/ansi/ansi-test-failures Modified: trunk/abcl/test/lisp/ansi/ansi-test-failures ============================================================================== --- trunk/abcl/test/lisp/ansi/ansi-test-failures Thu Feb 14 04:29:18 2013 (r14390) +++ trunk/abcl/test/lisp/ansi/ansi-test-failures Thu Feb 14 06:18:00 2013 (r14391) @@ -462,7 +462,6 @@ ENSURE-DIRECTORIES-EXIST.8 PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17 READ-SYMBOL.22 TRACE.8)) - (doit r14249 :id saturn-java6 (PSETF.37 CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 MAP.48 @@ -470,7 +469,6 @@ PRINT.BACKQUOTE.RANDOM.14 PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17 COMPILE-FILE.2 COMPILE-FILE.2A)) - (compileit r14249 :id saturn-java6 (PSETF.37 CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 @@ -478,42 +476,31 @@ MAKE-CONCATENATED-STREAM.30 PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17 COMPILE-FILE.2 COMPILE-FILE.2A TRACE.8)) - - - - - ;;13 out of 21707 total tests failed: (doit abcl-1.1.0-rc-0 :id saturn-java6 -(PSETF.37 -CALL-NEXT-METHOD.ERROR.1 -CALL-NEXT-METHOD.ERROR.2 -INVOKE-DEBUGGER.1 -MAKE-CONDITION.3 -MAKE-CONDITION.4 -SXHASH.8 -MAP.48 -TYPE-OF.1 -TYPE-OF.4 -MAKE-CONCATENATED-STREAM.30 -PRINT.RANDOM-STATE.1 -PPRINT-LOGICAL-BLOCK.17)) + (PSETF.37 CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 + INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 + MAP.48 TYPE-OF.1 TYPE-OF.4 MAKE-CONCATENATED-STREAM.30 + PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17)) ;;15 out of 21707 total tests failed: (compileit abcl-1.1.0-rc-0 :id saturn-java6 -(PSETF.37 -CALL-NEXT-METHOD.ERROR.1 -CALL-NEXT-METHOD.ERROR.2 -INVOKE-DEBUGGER.1 -MAKE-CONDITION.3 -MAKE-CONDITION.4 -SXHASH.8 -MAP.48 -TYPE-OF.1 -TYPE-OF.4 -MAKE-CONCATENATED-STREAM.30 -PRINT.BACKQUOTE.RANDOM.14 -PRINT.RANDOM-STATE.1 -PPRINT-LOGICAL-BLOCK.17 -TRACE.8)) + (PSETF.37 CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 + INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 + MAP.48 TYPE-OF.1 TYPE-OF.4 MAKE-CONCATENATED-STREAM.30 + PRINT.BACKQUOTE.RANDOM.14 PRINT.RANDOM-STATE.1 + PPRINT-LOGICAL-BLOCK.17 TRACE.8)) + + ;;13 out of 21707 total tests failed: +(compileit abcl-1.1.1 :id saturn-java6 + (CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 + INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 + MAP.48 TYPE-OF.1 TYPE-OF.4 MAKE-CONCATENATED-STREAM.30 + PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17 TRACE.8)) +;; 12 out of 21707 total tests failed: +(doit abcl-1.1.1 :id saturn-java6 + (CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 + INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 SXHASH.8 + MAP.48 TYPE-OF.1 TYPE-OF.4 MAKE-CONCATENATED-STREAM.30 + PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17)) From mevenson at common-lisp.net Thu Feb 14 14:21:32 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 06:21:32 -0800 Subject: [armedbear-cvs] r14392 - trunk/abcl Message-ID: Author: mevenson Date: Thu Feb 14 06:21:29 2013 New Revision: 14392 Log: Merged r14382 | mevenson | 2013-02-14 12:16:08 +0100 (Thu, 14 Feb 2013) | 1 line Update CHANGES for abcl-1.1.1. Modified: trunk/abcl/CHANGES Modified: trunk/abcl/CHANGES ============================================================================== --- trunk/abcl/CHANGES Thu Feb 14 06:18:00 2013 (r14391) +++ trunk/abcl/CHANGES Thu Feb 14 06:21:29 2013 (r14392) @@ -6,8 +6,33 @@ Version 1.1.1 ============= -svn.uri=:"http//common-lisp.net/project/armedbear/branches/1.1.x/" -(unreleased) +svn.uri=:"http//svn.common-lisp.net/armedbear/tags/abcl/1.1.1/CHANGES" +(14 Feburary 2013) + + * All reported errors with the MOP implementation have been addressed. + + * An autoloader for SETF expansion functions has been implemented, + eliminating the errors associated with not being able to use (SETF + SYMBOL) without first invoking SYMBOL as a function. [#266 + + * All outstanding regressions in the ANSI test suite with respect to + abcl-1.0.1 have been fixed. + + * The ability to resolve Maven components in ASDF system definitions has been restored. + +Issues Resolved +--------------- + +[#266] PSETF.47 ANSI regression +[#284] checks in ensure-generic-function-using-class should occur later +[#296] SLIME fails to initialize with (SETF DOCUMENTATION) undefined +[#198] Hunchentoot run failure +[#228] Need to implement autoloader facility for SETF functions +[#288] Control character names +[#290] Compiling (defvar *foo* '(quote . x)) throws an error +[#293] Loop and default value for of-type problem +[#294] Reader doesn't recognize terminating characters in some cases +[#299] ABCL-ASDF:MVN components not loading Version 1.1.0 ============= From mevenson at common-lisp.net Thu Feb 14 14:34:33 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Thu, 14 Feb 2013 06:34:33 -0800 Subject: [armedbear-cvs] r14393 - trunk/abcl Message-ID: Author: mevenson Date: Thu Feb 14 06:34:28 2013 New Revision: 14393 Log: Update DOAP description with small tweaks. Modified: trunk/abcl/abcl.rdf Modified: trunk/abcl/abcl.rdf ============================================================================== --- trunk/abcl/abcl.rdf Thu Feb 14 06:21:29 2013 (r14392) +++ trunk/abcl/abcl.rdf Thu Feb 14 06:34:28 2013 (r14393) @@ -2,8 +2,8 @@ @prefix abcl: . <> - abcl:is "W3C Turtle RDF serializations format" ; - abcl:tag . + abcl:is "W3C Turtle RDF serializations format" . + @prefix doap: . @prefix rdf: . @@ -16,11 +16,11 @@ @prefix dc: . <> - abcl:tag ; - dc:identifier ; + abcl:branch ; + dc:identifier ; doap:language "Common Lisp" ; dc:created "01-JAN-2004" ; - dc:modified "07-DEC-2012" ; + dc:modified "14-FEB-2013" ; dc:version "abcl-1.2.0" ; abcl:release "dev" . @@ -44,12 +44,11 @@ doap:language "Common Lisp" . <> [ - a rdf:Bag; rdf:_1 "Java"; rdf:_2 "Ant"; rdf:_3 "Bourne Shell Script"; - rdf:_4"Windows Batch Script" + rdf:_4 "Windows Batch Script" ] . @@ -70,7 +69,6 @@ _:user dc:identifier ; rdf:label "V-ille" . - rdfs:seeAlso . <> doap:license [ @@ -79,7 +77,7 @@ rdfs:seeAlso ; dc:licenseDocument ; - dc:licenseDocument ; + dc:licenseDocument ; ] . doap:Project rdfs:seeAlso [ @@ -92,7 +90,8 @@ a rdf:Bag; rdf:_1 ; rdf:_2 ; - rdf:_3 + rdf:_3 + rdf:_3 ] ; ] . @@ -114,10 +113,38 @@ , , , - , . +<> doap:packages [ + a rdf:Alt; + rdf:_1 abcl:abcl ; + rdf:_2 abcl:abcl-contrib ; + rdf:_3 abcl:asdf-install ; + rdf:_4 abcl:jss ; + rdf:_5 abcl:jfli ; + rdf:_6 abcl:abcl-asdf ; + rdf:_7 abcl:jna ; + rdf:_8 abcl:asdf-jar ; + rdf:_9 abcl:quicklisp-abcl ; +] . + +abcl:abcl-contrib + rdfs:seeAlso . + +abcl:asdf-install + rdfs:seeAlso . + +abcl:abcl-asdf + + rdfs:seeAlso . + +abcl:asdf-jar + rdfs:seeAlso . + +abcl:jfli + rdfs:seeAlso . + +abcl:jss + rdfs:seeAlso . + -<> doap:packages - abcl:abcl-contrib ; - rdfs:seeAlso . From mevenson at common-lisp.net Sat Feb 16 12:11:00 2013 From: mevenson at common-lisp.net (mevenson at common-lisp.net) Date: Sat, 16 Feb 2013 04:11:00 -0800 Subject: [armedbear-cvs] r14394 - public_html Message-ID: Author: mevenson Date: Sat Feb 16 04:10:59 2013 New Revision: 14394 Log: html: Play whack-a-mole with the layout. Move Ohloh bar out of menu list, as the size has changed. Normalize the release notes markup to use common CSS. Add for commericial support. Modified: public_html/commercial-support.shtml public_html/left-menu public_html/release-notes-0.13.shtml public_html/release-notes-0.14.shtml public_html/release-notes-0.15.shtml public_html/release-notes-0.16.shtml public_html/release-notes-0.17.shtml public_html/release-notes-0.18.shtml public_html/release-notes-0.19.shtml public_html/release-notes-0.20.shtml public_html/release-notes-0.21.shtml public_html/release-notes-0.22.shtml public_html/release-notes-0.23.shtml public_html/release-notes-0.24.shtml public_html/release-notes-0.25.shtml public_html/release-notes-0.26.shtml public_html/release-notes-0.27.shtml public_html/release-notes-1.0.0.shtml public_html/release-notes-1.0.1.shtml public_html/release-notes-1.1.0.shtml public_html/release-notes-1.1.1.shtml public_html/release-notes.shtml public_html/style.css Modified: public_html/commercial-support.shtml ============================================================================== --- public_html/commercial-support.shtml Thu Feb 14 06:34:28 2013 (r14393) +++ public_html/commercial-support.shtml Sat Feb 16 04:10:59 2013 (r14394) @@ -15,14 +15,14 @@ -
    +

    Armed Bear Common Lisp (ABCL) - Commercial support

    -
    +

    Paid support

    @@ -40,8 +40,9 @@

    If you decide you want to use this option, or have other needs related - to abcl, please contact me directly at - ehuelsmann 'at' common-lisp 'dot' net. + to abcl, please contact either + ehuelsmann 'at' common-lisp 'dot' net or evenson.not.org 'at' gmail + 'dot' com.

    @@ -50,7 +51,6 @@
    • Finalizing Gray stream support
    • Performance research and improvements
    • -
    • (More) [A]MOP support
    • Better Java/JNA (foreign library) integration
    @@ -60,15 +60,15 @@
    +