Starting November 9th, common-lisp.net's Gitlab instance has implemented a more open account policy, allowing anyone with a GitHub or Google account to create an account on our instance.

At the same time, the login policy has started to require 2-factor authentication (2FA).

See https://mailman.common-lisp.net/pipermail/clo-devel/2018-October/001232.html for discussion.

  • Francois-Rene Rideau's avatar
    Fix upgrade issue with asdf/bundle. · 8e68ac22
    Francois-Rene Rideau authored
    Change implementation strategy for operation metadata methods
    bundle-type, gather-operation and gather-type.
    
    Upgrading from 3.1.7 or earlier yielded incorrect values for the metadata slots
    of the bundle operation classes, e.g.
    (gather-type (make-operation 'monolithic-lib-op))) was stuck to :STATIC-LIBRARY
    instead of its correct value :OBJECT since 3.2.0.
    The reason was that we were storing the value for this method in the :initform
    for the slot gather-type, which started as clever way of defining it as part of
    the DEFCLASS form for the class itself; however, this usage pattern does not
    work well with hot code upgrade: if the :initform changes during ASDF upgrade,
    the slot is already initialized, so its value isn't updated. That would require
    a method on UPDATE-INSTANCE-FOR-REDEFINED-CLASS, which hopefully should be
    invoked despite the fact that the shape of the class hasn't changed.
    A new slot won't be allocated because (a) we ensure that our operation classes
    are singleton classes using an *operations* cache, so objects are not
    reallocated, and (b) we define our slots with an :allocation :class, anyway.
    Remarkably, at least *some* of our changes in :initform have worked anyway,
    because when we transitioned allocation from :instance (default) to :class,
    that transition did force the computation of the new :initform, so the problem
    was hidden. But we're already out of luck with this upgrade from 3.1.7,
    and we must find a real solution.
    
    The Right Thing(tm) to do is to use DEFMETHOD to define specialized values.
    This commit does exactly that for the slots defined in bundle.lisp
    (and also used in concatenate-source.lisp). Ideally, we'd also do that
    for the slots defined in action.lisp and used in lisp-action.lisp, bundle.lisp
    and concatenate-source.lisp --- but there might or might not be clients
    in Quicklisp (or beyond Quicklisp) that this change would break.
    We must check backward compatibility, make sufficient announcement, etc. Sigh.
    8e68ac22
Name
Last commit
Last update
bin Loading commit data...
contrib Loading commit data...
doc Loading commit data...
ext Loading commit data...
test Loading commit data...
tools Loading commit data...
uiop Loading commit data...
.cl-source-registry.cache Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
Makefile Loading commit data...
Makefile-lisp-scripting Loading commit data...
README.md Loading commit data...
TODO Loading commit data...
action.lisp Loading commit data...
asdf.asd Loading commit data...
backward-interface.lisp Loading commit data...
backward-internals.lisp Loading commit data...
bundle.lisp Loading commit data...
component.lisp Loading commit data...
concatenate-source.lisp Loading commit data...
find-component.lisp Loading commit data...
find-system.lisp Loading commit data...
footer.lisp Loading commit data...
forcing.lisp Loading commit data...
header.lisp Loading commit data...
interface.lisp Loading commit data...
lisp-action.lisp Loading commit data...
make-asdf.bat Loading commit data...
make-asdf.sh Loading commit data...
operate.lisp Loading commit data...
operation.lisp Loading commit data...
output-translations.lisp Loading commit data...
package-inferred-system.lisp Loading commit data...
parse-defsystem.lisp Loading commit data...
plan.lisp Loading commit data...
session.lisp Loading commit data...
source-registry.lisp Loading commit data...
system-registry.lisp Loading commit data...
system.lisp Loading commit data...
upgrade.lisp Loading commit data...
user.lisp Loading commit data...
version.lisp-expr Loading commit data...