BR libatomic_ops-static instead of -devel (bz 889173).
Pull in upstream patches for bugs discovered post-release. Documentation needs docbook 5 schemas and XSL.
This commit is contained in:
parent
72bc747563
commit
58995c0e0b
|
@ -0,0 +1,173 @@
|
|||
ENSURE-DIRECTORIES-EXIST ignores the host and device from the original
|
||||
pathname when creating the directories.
|
||||
|
||||
diff --git a/src/lsp/mislib.lsp b/src/lsp/mislib.lsp
|
||||
index 0f6eb45..9b37225 100644
|
||||
--- a/src/lsp/mislib.lsp
|
||||
+++ b/src/lsp/mislib.lsp
|
||||
@@ -282,7 +282,7 @@ where CREATED is true only if we succeeded on creating all directories."
|
||||
:defaults full-pathname)))
|
||||
(dolist (item (pathname-directory full-pathname))
|
||||
(setf d (nconc d (list item)))
|
||||
- (let* ((p (make-pathname :directory d)))
|
||||
+ (let* ((p (make-pathname :directory d :defaults *default-pathname-defaults*)))
|
||||
(unless (or (symbolp item) (si::file-kind p nil))
|
||||
(setf created t)
|
||||
(let ((ps (namestring p)))
|
||||
|
||||
ffi:definline referenced a symbol from the C package without package prefix.
|
||||
|
||||
diff --git a/src/lsp/ffi.lsp b/src/lsp/ffi.lsp
|
||||
index a38288c..8b66a2e 100644
|
||||
--- a/src/lsp/ffi.lsp
|
||||
+++ b/src/lsp/ffi.lsp
|
||||
@@ -681,7 +681,7 @@ the actual arguments are of the specified type."
|
||||
;; defCbody must go first, because it clears symbol-plist of fun
|
||||
(defCbody ,fun ,arg-types ,type ,code)
|
||||
(declaim (ftype (function ,arg-types ,type) ,fun))
|
||||
- (def-inline ,fun :always ,arg-types ,type ,code)))
|
||||
+ (c::def-inline ,fun :always ,arg-types ,type ,code)))
|
||||
|
||||
(defmacro defla (&rest body)
|
||||
"Syntax: (defla name lambda-list &body body)" "
|
||||
|
||||
Write SCALE-FLOAT so that it cannot lead to infinite loops.
|
||||
|
||||
diff --git a/src/lsp/format.lsp b/src/lsp/format.lsp
|
||||
index a44b810..d18054f 100644
|
||||
--- a/src/lsp/format.lsp
|
||||
+++ b/src/lsp/format.lsp
|
||||
@@ -196,6 +196,20 @@
|
||||
;; Note that we have to compute the exponential _every_ _time_ in the loop
|
||||
;; because multiplying just by 10.0l0 every time would lead to a greater
|
||||
;; loss of precission.
|
||||
+ (let ((ex (round (* exponent #.(log 2l0 10)))))
|
||||
+ (declare (fixnum ex))
|
||||
+ (if (minusp ex)
|
||||
+ (loop for y of-type long-float
|
||||
+ = (* x (the long-float (expt 10.0l0 (- ex))))
|
||||
+ while (<= y 0.1l0)
|
||||
+ do (decf ex)
|
||||
+ finally (return (values y (the fixnum (+ delta ex)))))
|
||||
+ (loop for y of-type long-float
|
||||
+ = (/ x (the long-float (expt 10.0l0 ex)))
|
||||
+ while (> y 1.0l0)
|
||||
+ do (incf ex)
|
||||
+ finally (return (values y (the fixnum (+ delta ex)))))))
|
||||
+ #+(or)
|
||||
(loop with ex of-type fixnum
|
||||
= (round (* exponent #.(log 2l0 10)))
|
||||
for y of-type long-float
|
||||
|
||||
(CONCATENATE 'SIMPLE-BASE-STRING ...) returns an ordinary string.
|
||||
|
||||
diff --git a/src/lsp/seq.lsp b/src/lsp/seq.lsp
|
||||
index ee24580..16ff41f 100644
|
||||
--- a/src/lsp/seq.lsp
|
||||
+++ b/src/lsp/seq.lsp
|
||||
@@ -72,7 +72,7 @@
|
||||
(setq elt-type 'BASE-CHAR
|
||||
length (if (endp args) '* (first args))))
|
||||
#+unicode
|
||||
- ((BASE-STRING BASE-SIMPLE-STRING)
|
||||
+ ((BASE-STRING SIMPLE-BASE-STRING)
|
||||
(setq elt-type 'BASE-CHAR
|
||||
length (if (endp args) '* (first args))))
|
||||
#+unicode
|
||||
|
||||
Null terminate the base-strings created by make-array.
|
||||
|
||||
diff --git a/src/c/array.d b/src/c/array.d
|
||||
index d844602..e6b8e76 100644
|
||||
--- a/src/c/array.d
|
||||
+++ b/src/c/array.d
|
||||
@@ -552,6 +552,13 @@ ecl_array_allocself(cl_object x)
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
+ case ecl_aet_bc: {
|
||||
+ cl_index elt_size = 1;
|
||||
+ x->vector.self.bc = (ecl_base_char *)ecl_alloc_atomic(d+1);
|
||||
+ /* Null terminate the string */
|
||||
+ x->vector.self.bc[d] = 0;
|
||||
+ break;
|
||||
+ }
|
||||
case ecl_aet_bit:
|
||||
d = (d + (CHAR_BIT-1)) / CHAR_BIT;
|
||||
x->vector.self.bit = (byte *)ecl_alloc_atomic(d);
|
||||
@@ -574,7 +581,7 @@ ecl_alloc_simple_vector(cl_index l, cl_elttype aet)
|
||||
case ecl_aet_bc:
|
||||
x = ecl_alloc_compact_object(t_base_string, l+1);
|
||||
x->base_string.self = ECL_COMPACT_OBJECT_EXTRA(x);
|
||||
- memset(x->base_string.self, 0, l+1);
|
||||
+ x->base_string.self[l] = 0;
|
||||
break;
|
||||
#ifdef ECL_UNICODE
|
||||
case ecl_aet_ch:
|
||||
|
||||
In type propagators, the function name is rarely use: declare it ignorable.
|
||||
|
||||
diff --git a/src/cmp/cmptype-prop.lsp b/src/cmp/cmptype-prop.lsp
|
||||
index f266ef0..0b6ae1d 100644
|
||||
--- a/src/cmp/cmptype-prop.lsp
|
||||
+++ b/src/cmp/cmptype-prop.lsp
|
||||
@@ -71,7 +71,7 @@
|
||||
(setf lambda-list (append lambda-list (list '&rest var))
|
||||
body (list* `(declare (ignorable ,var)) body))))
|
||||
`(setf (gethash ',fname *p0-dispatch-table*)
|
||||
- #'(lambda ,lambda-list ,@body)))
|
||||
+ #'(lambda ,lambda-list (declare (ignorable ,(first lambda-list))) ,@body)))
|
||||
|
||||
(defun copy-type-propagator (orig dest-list)
|
||||
(loop with function = (gethash orig *p0-dispatch-table*)
|
||||
|
||||
Missing argument to LOGAND.
|
||||
|
||||
diff --git a/src/cmp/cmpopt-bits.lsp b/src/cmp/cmpopt-bits.lsp
|
||||
index f097e19..0e27fbc 100644
|
||||
--- a/src/cmp/cmpopt-bits.lsp
|
||||
+++ b/src/cmp/cmpopt-bits.lsp
|
||||
@@ -75,7 +75,7 @@
|
||||
;;; TYPE PROPAGATION
|
||||
;;;
|
||||
|
||||
-(def-type-propagator logand (&rest args)
|
||||
+(def-type-propagator logand (fname &rest args)
|
||||
(values args
|
||||
(if args
|
||||
(dolist (int-type '((UNSIGNED-BYTE 8) FIXNUM) 'integer)
|
||||
|
||||
Some statements from si::bc-disassemble were written to the wrong stream.
|
||||
|
||||
diff --git a/src/c/disassembler.d b/src/c/disassembler.d
|
||||
index c45bc29..4680982 100644
|
||||
--- a/src/c/disassembler.d
|
||||
+++ b/src/c/disassembler.d
|
||||
@@ -156,10 +156,10 @@ disassemble_tagbody(cl_object bytecodes, cl_opcode *vector) {
|
||||
print_noarg("TAGBODY");
|
||||
for (i=0; i<ntags; i++) {
|
||||
GET_LABEL(destination, vector);
|
||||
- ecl_princ_str("\n\tTAG\t", ECL_T);
|
||||
- ecl_princ(ecl_make_fixnum(i), ECL_T);
|
||||
- ecl_princ_str(" @@ ", ECL_T);
|
||||
- ecl_princ(ecl_make_fixnum(destination - base), ECL_T);
|
||||
+ ecl_princ_str("\n\tTAG\t", ECL_NIL);
|
||||
+ ecl_princ(ecl_make_fixnum(i), ECL_NIL);
|
||||
+ ecl_princ_str(" @@ ", ECL_NIL);
|
||||
+ ecl_princ(ecl_make_fixnum(destination - base), ECL_NIL);
|
||||
}
|
||||
vector = disassemble(bytecodes, vector);
|
||||
print_noarg("\t\t; tagbody");
|
||||
@@ -189,9 +189,9 @@ disassemble(cl_object bytecodes, cl_opcode *vector) {
|
||||
if (line_format != ECL_NIL) {
|
||||
cl_format(3, ECL_T, line_format, line_no);
|
||||
} else {
|
||||
- ecl_princ_char('\n', ECL_T);
|
||||
- ecl_princ(line_no, ECL_T);
|
||||
- ecl_princ_char('\t', ECL_T);
|
||||
+ ecl_princ_char('\n', ECL_NIL);
|
||||
+ ecl_princ(line_no, ECL_NIL);
|
||||
+ ecl_princ_char('\t', ECL_NIL);
|
||||
}
|
||||
switch (GET_OPCODE(vector)) {
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
--- ecl-doc/ecl.ent.orig 2012-07-27 15:01:05.000000000 -0600
|
||||
+++ ecl-doc/ecl.ent 2012-12-20 16:28:04.651420313 -0700
|
||||
@@ -2,20 +2,20 @@
|
||||
<!ENTITY tex "TeX">
|
||||
<!ENTITY latex "LaTeX">
|
||||
<!ENTITY CommonLisp "Common Lisp">
|
||||
-<!ENTITY ECL "<application>ECL</application>">
|
||||
-<!ENTITY CMUCL "<application>CMUCL</application>">
|
||||
-<!ENTITY SBCL "<application>SBCL</application>">
|
||||
-<!ENTITY FFI "<application>FFI</application>">
|
||||
-<!ENTITY UFFI "<link linkend='part.uffi'><application>UFFI</application></link>">
|
||||
-<!ENTITY CFFI "<application>CFFI</application>">
|
||||
-<!ENTITY ASDF "<application>ASDF</application>">
|
||||
-<!ENTITY FASL "<acronym>FASL</acronym>">
|
||||
-<!ENTITY ANSI "<xref linkend='bib.ANSI'/>">
|
||||
-<!ENTITY AMOP "<xref linkend='bib.AMOP'/>">
|
||||
-<!ENTITY CLOS "<acronym>CLOS</acronym>">
|
||||
-<!ENTITY PCL "<acronym>PCL</acronym>">
|
||||
-<!ENTITY Steele84 "<xref linkend='bib.CLTL2'/>">
|
||||
-<!ENTITY HyperSpec "<xref linkend='bib.HyperSpec'/>">
|
||||
+<!ENTITY ECL "<application xmlns='http://docbook.org/ns/docbook'>ECL</application>">
|
||||
+<!ENTITY CMUCL "<application xmlns='http://docbook.org/ns/docbook'>CMUCL</application>">
|
||||
+<!ENTITY SBCL "<application xmlns='http://docbook.org/ns/docbook'>SBCL</application>">
|
||||
+<!ENTITY FFI "<application xmlns='http://docbook.org/ns/docbook'>FFI</application>">
|
||||
+<!ENTITY UFFI "<link xmlns='http://docbook.org/ns/docbook' linkend='part.uffi'><application xmlns='http://docbook.org/ns/docbook'>UFFI</application></link>">
|
||||
+<!ENTITY CFFI "<application xmlns='http://docbook.org/ns/docbook'>CFFI</application>">
|
||||
+<!ENTITY ASDF "<application xmlns='http://docbook.org/ns/docbook'>ASDF</application>">
|
||||
+<!ENTITY FASL "<acronym xmlns='http://docbook.org/ns/docbook'>FASL</acronym>">
|
||||
+<!ENTITY ANSI "<xref xmlns='http://docbook.org/ns/docbook' linkend='bib.ANSI'/>">
|
||||
+<!ENTITY AMOP "<xref xmlns='http://docbook.org/ns/docbook' linkend='bib.AMOP'/>">
|
||||
+<!ENTITY CLOS "<acronym xmlns='http://docbook.org/ns/docbook'>CLOS</acronym>">
|
||||
+<!ENTITY PCL "<acronym xmlns='http://docbook.org/ns/docbook'>PCL</acronym>">
|
||||
+<!ENTITY Steele84 "<xref xmlns='http://docbook.org/ns/docbook' linkend='bib.CLTL2'/>">
|
||||
+<!ENTITY HyperSpec "<xref xmlns='http://docbook.org/ns/docbook' linkend='bib.HyperSpec'/>">
|
||||
<!ENTITY GFDL SYSTEM "tmp/COPYING.GFDL.xml">
|
||||
<!ENTITY optional "&optional">
|
||||
<!ENTITY rest "&rest">
|
||||
@@ -25,21 +25,21 @@
|
||||
<!ENTITY body "&body">
|
||||
<!ENTITY whole "&whole">
|
||||
<!ENTITY environment "&environment">
|
||||
-<!ENTITY uffi "<application><emphasis>UFFI</emphasis></application>">
|
||||
-<!ENTITY ffi "<acronym>FFI</acronym>">
|
||||
-<!ENTITY LW "<application>Lispworks</application>">
|
||||
-<!ENTITY OpenMCL "<application>OpenMCL</application>">
|
||||
-<!ENTITY MCL "<application>MCL</application>">
|
||||
-<!ENTITY ACL "<application>AllegroCL</application>">
|
||||
-<!ENTITY t "<constant>T</constant>">
|
||||
-<!ENTITY nil "<constant>NIL</constant>">
|
||||
-<!ENTITY NULL "<constant>NULL</constant>">
|
||||
-<!ENTITY C "<acronym>C</acronym>">
|
||||
-<!ENTITY defsystem "<application>defsystem</application>">
|
||||
+<!ENTITY uffi "<application xmlns='http://docbook.org/ns/docbook'><emphasis>UFFI</emphasis></application>">
|
||||
+<!ENTITY ffi "<acronym xmlns='http://docbook.org/ns/docbook'>FFI</acronym>">
|
||||
+<!ENTITY LW "<application xmlns='http://docbook.org/ns/docbook'>Lispworks</application>">
|
||||
+<!ENTITY OpenMCL "<application xmlns='http://docbook.org/ns/docbook'>OpenMCL</application>">
|
||||
+<!ENTITY MCL "<application xmlns='http://docbook.org/ns/docbook'>MCL</application>">
|
||||
+<!ENTITY ACL "<application xmlns='http://docbook.org/ns/docbook'>AllegroCL</application>">
|
||||
+<!ENTITY t "<constant xmlns='http://docbook.org/ns/docbook'>T</constant>">
|
||||
+<!ENTITY nil "<constant xmlns='http://docbook.org/ns/docbook'>NIL</constant>">
|
||||
+<!ENTITY NULL "<constant xmlns='http://docbook.org/ns/docbook'>NULL</constant>">
|
||||
+<!ENTITY C "<acronym xmlns='http://docbook.org/ns/docbook'>C</acronym>">
|
||||
+<!ENTITY defsystem "<application xmlns='http://docbook.org/ns/docbook'>defsystem</application>">
|
||||
<!ENTITY clhs "http://www.lispworks.com/documentation/HyperSpec/Body/">
|
||||
-<!ENTITY cygwin "<ulink url='http://www.cygwin.com/'><application>Cygwin</application></ulink>">
|
||||
-<!ENTITY mingw "<ulink url='http://mingw.sourceforge.net/'><application>Mingw</application></ulink>">
|
||||
-<!ENTITY OCL "<link linkend='ansi.OCL'>[Only in Common Lisp]</link>">
|
||||
+<!ENTITY cygwin "<ulink xmlns='http://docbook.org/ns/docbook' url='http://www.cygwin.com/'><application xmlns='http://docbook.org/ns/docbook'>Cygwin</application></ulink>">
|
||||
+<!ENTITY mingw "<ulink xmlns='http://docbook.org/ns/docbook' url='http://mingw.sourceforge.net/'><application xmlns='http://docbook.org/ns/docbook'>Mingw</application></ulink>">
|
||||
+<!ENTITY OCL "<link xmlns='http://docbook.org/ns/docbook' linkend='ansi.OCL'>[Only in Common Lisp]</link>">
|
||||
<!ENTITY ANSI-C-Dict "Common Lisp and C equivalence">
|
||||
-<!ENTITY nil "<symbol>nil</symbol>">
|
||||
-<!ENTITY t "<symbol>t</symbol>">
|
||||
\ No newline at end of file
|
||||
+<!ENTITY nil "<symbol xmlns='http://docbook.org/ns/docbook'>nil</symbol>">
|
||||
+<!ENTITY t "<symbol xmlns='http://docbook.org/ns/docbook'>t</symbol>">
|
||||
\ No newline at end of file
|
18
ecl.spec
18
ecl.spec
|
@ -1,6 +1,6 @@
|
|||
Name: ecl
|
||||
Version: 12.12.1
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: Embeddable Common-Lisp
|
||||
|
||||
Group: Development/Languages
|
||||
|
@ -31,15 +31,20 @@ Patch0: %{name}-12.12.1-warnings.patch
|
|||
# http://trac.sagemath.org/sage_trac/ticket/11752
|
||||
# http://www.mail-archive.com/ecls-list@lists.sourceforge.net/msg00644.html
|
||||
Patch1: %{name}-12.12.1-signal_handling_thread.patch
|
||||
# Bug-fixing patches cherry picked from upstream's git.
|
||||
Patch2: %{name}-12.12.1-fixes.patch
|
||||
# Work around xsltproc requiring namespace declarations for entities.
|
||||
Patch3: %{name}-12.12.1-xsltproc.patch
|
||||
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: gmp-devel
|
||||
BuildRequires: gc-devel
|
||||
BuildRequires: libatomic_ops-devel
|
||||
BuildRequires: libatomic_ops-static
|
||||
BuildRequires: libffi-devel
|
||||
BuildRequires: emacs-common
|
||||
BuildRequires: docbook-dtds
|
||||
BuildRequires: docbook5-schemas
|
||||
BuildRequires: docbook5-style-xsl
|
||||
BuildRequires: xmlto
|
||||
BuildRequires: desktop-file-utils
|
||||
Requires: gcc
|
||||
|
@ -68,6 +73,8 @@ Gray streams.
|
|||
%setup -q -T -D -a 1
|
||||
%patch0
|
||||
%patch1
|
||||
%patch2 -p1
|
||||
%patch3
|
||||
|
||||
# Remove spurious executable bits
|
||||
chmod a-x src/CHANGELOG
|
||||
|
@ -149,6 +156,11 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null ||:
|
|||
|
||||
|
||||
%changelog
|
||||
* Thu Dec 20 2012 Jerry James <loganjerry@gmail.com> - 12.12.1-3
|
||||
- BR libatomic_ops-static instead of -devel (bz 889173)
|
||||
- Pull in upstream patches for bugs discovered post-release
|
||||
- Documentation needs docbook 5 schemas and XSL
|
||||
|
||||
* Sat Dec 08 2012 Rex Dieter <rdieter@fedoraproject.org> 12.12.1-2
|
||||
- track libecl soname, so bumps aren't a surprise
|
||||
|
||||
|
|
Loading…
Reference in New Issue