Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge branch 'master' into mswin

  • Loading branch information...
commit ac12a955f28e15f011dd5b285bee65d2176c93cd 2 parents ba3c407 + 9c401e4
@akovalenko authored
Showing with 50 additions and 38 deletions.
  1. +1 −1  NEWS
  2. +22 −19 release.sh
  3. +27 −18 src/pcl/std-class.lisp
View
2  NEWS
@@ -1,5 +1,5 @@
;;;; -*- coding: utf-8; fill-column: 78 -*-
-changes relative to sbcl-1.1.1:
+changes in sbcl-1.1.2 relative to sbcl-1.1.1:
* notice: System requirements for SBCL on Microsoft Windows: Windows NT 5.1
or newer (Windows XP, Server 2003) is required. Support for Windows 2000
(NT 5.0) is no longer being maintained.
View
41 release.sh
@@ -23,7 +23,7 @@ usage: $0 [-s] VERSION-NUMBER [REV]
following:
- Builds source tarball
- Builds a SBCL for self-build
- - Builds x86-64 and x86 binaries
+ - Builds x86-64 binaries
- Uploads binaries
- Pushes the repository
- Builds and uploads the documentation
@@ -184,19 +184,19 @@ fi
## Build x86 release binary.
-if [ ! -d $SBCL_RELEASE_DIR/sbcl-$VERSION-x86-linux ]; then
- cd $SBCL_DIR
- sh clean.sh
- export SBCL_ARCH=x86
- export PATH=/scratch/src/release/x86-gcc-wrapper:$PATH
- nice -20 ./make.sh "$SBCL_RELEASE_DIR/bin/sbcl --core $SBCL_RELEASE_DIR/bin/sbcl.core --no-userinit" >> $LOGFILE 2>&1
- cd tests
- nice -20 sh ./run-tests.sh >>$LOGFILE 2>&1
+#if [ ! -d $SBCL_RELEASE_DIR/sbcl-$VERSION-x86-linux ]; then
+# cd $SBCL_DIR
+# sh clean.sh
+# export SBCL_ARCH=x86
+# export PATH=/scratch/src/release/x86-gcc-wrapper:$PATH
+# nice -20 ./make.sh "$SBCL_RELEASE_DIR/bin/sbcl --core $SBCL_RELEASE_DIR/bin/s#bcl.core --no-userinit" >> $LOGFILE 2>&1
+# cd tests
+# nice -20 sh ./run-tests.sh >>$LOGFILE 2>&
- cd $SBCL_RELEASE_DIR
- ln -s $SBCL_DIR $SBCL_RELEASE_DIR/sbcl-$VERSION-x86-linux
- sh $SBCL_DIR/binary-distribution.sh sbcl-$VERSION-x86-linux
-fi
+# cd $SBCL_RELEASE_DIR
+# ln -s $SBCL_DIR $SBCL_RELEASE_DIR/sbcl-$VERSION-x86-linux
+# sh $SBCL_DIR/binary-distribution.sh sbcl-$VERSION-x86-linux
+#fi
## Checksum
@@ -242,7 +242,6 @@ mkdir $VERSION
chmod 775 $VERSION
cd $VERSION
put sbcl-$VERSION-$SFUSER.asc
-put sbcl-$VERSION-x86-linux-binary.tar.bz2
put sbcl-$VERSION-x86-64-linux-binary.tar.bz2
put sbcl-$VERSION-source.tar.bz2
put sbcl-$VERSION-documentation-html.tar.bz2
@@ -280,16 +279,20 @@ if [ ! -f $SBCL_RELEASE_DIR/sbcl-page-uploaded ]; then
git pull
git submodule update
cp $SBCL_DIR/NEWS .
- perl -i -pe "s/(:x86(?:-64)? :linux :available) \".*\"/\$1 \"$VERSION\"/" \
+ perl -i -pe "s/(:x86-64 :linux :available) \".*\"/\$1 \"$VERSION\"/" \
platform-support-platforms.lisp
- export LC_CTYPE=en_US.utf8
+ export LC_CTYPE=en_GB.utf8
+ ## FIXME: this depends on the sbcl-$VERSION tag being visible on sf
+ ## git, not just the local machine (because of the submodule), which
+ ## means that the release.sbcl should have as its origin sf not
+ ## another local copy.
nice -20 make manual generate-pages SBCL_TAG=sbcl-$VERSION >>$LOGFILE 2>&1
COMMIT=false
- git diff || COMMIT=true
+ git diff || COMMIT=true
links -dump platform-table.html
read -n 1 -p "Ok? " A; echo
@@ -313,8 +316,8 @@ echo
echo perform administrative tasks:
echo
echo \* https://sourceforge.net/project/admin/?group_id=1373
-echo \* In the File Manager interface, click on the source tarball and
-echo \ \ select as default download for all OSes.
+echo \* In the File Manager interface, click on \"information\" for the
+echo \ \ source tarball and select as default download for all OSes.
echo \* mail sbcl-announce
echo \* check and send sbcl-$VERSION-bugmail.txt to edit@bugs.launchpad.net
echo \ \ '(sign: C-c RET s p)'
View
45 src/pcl/std-class.lisp
@@ -957,6 +957,32 @@
(eq (class-of o) (class-of n)))
(return nil)))))))
+(defun style-warn-about-duplicate-slots (class)
+ (do* ((slots (slot-value class 'slots) (cdr slots))
+ (dupes nil))
+ ((null slots)
+ (when dupes
+ (style-warn
+ "~@<slot names with the same SYMBOL-NAME but ~
+ different SYMBOL-PACKAGE (possible package problem) ~
+ for class ~S:~4I~@:_~<~@{~/sb-impl::print-symbol-with-prefix/~^~:@_~}~:>~@:>"
+ class dupes)))
+ (let* ((slot-name (slot-definition-name (car slots)))
+ (oslots (and (not (eq (symbol-package slot-name)
+ *pcl-package*))
+ (remove-if
+ (lambda (slot-name-2)
+ (or (eq (symbol-package slot-name-2)
+ *pcl-package*)
+ (string/= slot-name slot-name-2)))
+ (cdr slots)
+ :key #'slot-definition-name))))
+ (when oslots
+ (pushnew (cons slot-name
+ (mapcar #'slot-definition-name oslots))
+ dupes
+ :test #'string= :key #'car)))))
+
(defun %update-slots (class eslotds)
(multiple-value-bind (instance-slots class-slots custom-slots)
(classify-slotds eslotds)
@@ -982,24 +1008,7 @@
(wrapper-slot-table nwrapper) (make-slot-table class eslotds)
(wrapper-length nwrapper) nslots
(slot-value class 'wrapper) nwrapper)
- (do* ((slots (slot-value class 'slots) (cdr slots))
- (dupes nil))
- ((null slots)
- (when dupes
- (style-warn
- "~@<slot names with the same SYMBOL-NAME but ~
- different SYMBOL-PACKAGE (possible package problem) ~
- for class ~S:~4I~@:_~<~@{~/sb-impl::print-symbol-with-prefix/~^~:@_~}~:>~@:>"
- class dupes)))
- (let* ((slot (car slots))
- (oslots (remove (slot-definition-name slot) (cdr slots)
- :test #'string/=
- :key #'slot-definition-name)))
- (when oslots
- (pushnew (cons (slot-definition-name slot)
- (mapcar #'slot-definition-name oslots))
- dupes
- :test #'string= :key #'car))))
+ (style-warn-about-duplicate-slots class)
(setf (slot-value class 'finalized-p) t)
(unless (eq owrapper nwrapper)
(maybe-update-standard-slot-locations class)))))
Please sign in to comment.
Something went wrong with that request. Please try again.