Merge branch 'master' into develop

This commit is contained in:
Daniel Kochmański 2016-02-25 09:51:47 +01:00
commit d6166f5f73
3 changed files with 49 additions and 44 deletions

View file

@ -23,32 +23,35 @@
have a C compiler accessible to ECL, you may use
(ext:install-c-compiler) to switch back to the Lisp-to-C compiler.
- In order to test package programmer has to install ECL on desired
destination (specified with "--prefix" parameter given to configure
script).
* Pending changes since 16.0.0
- Before issuing make check on the package package developer has to
install ECL on the preferred destination (specified with "--prefix"
parameter given to configure script).
* Pending changes since 16.1.2
* 16.1.2 changes since 16.0.0
** API changes
- si:do-setf accepts optional parameter stores. New lambda-list:
=(access-fn function &optional (stores `(,(gensym))))=
- =si:do-defsetf= accepts optional parameter stores.\\
New lambda-list:\\
=(access-fn function &optional (stores-no 1))=.\\
This change is backward compatible.
- New MP functions:
mp:with-rwlock
mp:try-get-semaphore (non-blocking)
mp:mailbox-try-read (non-blocking)
mp:mailbox-try-send (non-blocking)
- New MP functions:\\
=mp:with-rwlock=\\
=mp:try-get-semaphore= (non-blocking)\\
=mp:mailbox-try-read= (non-blocking)\\
=mp:mailbox-try-send= (non-blocking)
- Added back removed C interfaces
ecl_import_current_thread
ecl_release_current_thread
- Added back removed C interfaces\\
=ecl_import_current_thread=\\
=ecl_release_current_thread=
- When cl-truename encounters a broken symlink, it returns its path
- When =cl-truename= encounters a broken symlink, it returns its path
instead of signalling a file-error
- Deprecated variables has been removed
c::*suppress-compiler-warnings*, c::*suppress-compiler-notes*
=c::*suppress-compiler-warnings*=, =c::*suppress-compiler-notes*=
- Random state might be initialized by a random seed (truncated to
32bit value) or by a precomputed array.
@ -59,51 +62,55 @@
- C99 supporting compiler is mandatory for C backend.
- COMPILER::*cc_is_cxx*: New variable to switch the output extension of
- =COMPILER::*CC_IS_CXX*=: New variable to switch the output extension of
emitted compiler code to ".cxx" when configured with "--with-c++". This
eliminates compiler warnings that compiling C++ with a ".c" extension is
deprecated; this is seen mostly with Clang++.
- Added Clang-specific pragmas to disable return type, unused value and
excessive parentheses warnings, which are fairly harmless, but annoying
and clutter user output.
- GRAY:CLOSE isn't specialized on T to preserve compatibility with some
- =GRAY:CLOSE= isn't specialized on =T= to preserve compatibility with some
libraries.
** Enhancements:
- Added code walker (present as *feature* :walker)
- Added code walker (present in =*features*= as =:walker=)
- Testing framework cleanup
- Testing framework initial cleanup
- Format fallbacks to prin1 if infinity or NaN are passed to it
- Format fallbacks to =prin1= if infinity or NaN are passed to it
- Annotations are added at runtime (better integration with SLIME)
- Mersenne-Twister RNG has new 64 bit implementation for appropriate
machines
- Add sockets implementation for android platform
- Add sockets implementation for the android platform
- Add android build target (official android support)
- Added Clang-specific pragmas to disable return type, unused value and
excessive parentheses warnings, which are fairly harmless, but annoying
and clutter user output.
** Issues fixed:
- si:open-unix-socket-stream accepts both string and base-string
- =si:open-unix-socket-stream= accepts both string and base-string
(automatic coercion is performed)
- Long form of DEFSETF accepts multiple-values as a store forms:
- Long form of =DEFSETF= accepts multiple-values as a store forms:
(defsetf gah (x) (y z) `(list ,x ,y ,z))
(setf (gah 3) (values 3 4))
#+BEGIN_SRC lisp
(defsetf gah (x) (y z) `(list ,x ,y ,z))
(setf (gah 3) (values 3 4))
#+END_SRC
- Building with single-threaded boehm works if ECL threads are disabled
- Using labels works with sharp-S-reader
(read-from-string
"(#1=\"Hello\" #S(sharp-s-reader.1.example-struct :A #1#))")
#+BEGIN_SRC lisp
(read-from-string
"(#1=\"Hello\" #S(sharp-s-reader.1.example-struct :A #1#))")
#+END_SRC
- Generated C code works well with IEEE 754 infinities
(regression tests created)
@ -111,12 +118,12 @@
- User-defined heap sizes can now exceed the size of a fixnum on 32-bit
- The heap size limit was intended to be 1GB on 32-bit or 4GB on 64-bit
but inconsistency between ECL_FIXNUM_BITS and FIXNUM_BITS in the code
but inconsistency between =ECL_FIXNUM_BITS= and =FIXNUM_BITS= in the code
prevented the heap to grow for 64-bit. This now occurs, and a few
other less visible bugs were fixed by restoring consistency to
ECL_FIXNUM_BITS.
=ECL_FIXNUM_BITS=.
- EXT:EXTERNAL-PROCESS-WAIT potential race condition fix
- =EXT:EXTERNAL-PROCESS-WAIT= potential race condition fix
- Building with object files not created by ECL works (CFFI wrappers)
@ -128,13 +135,13 @@
- Random state initial state generation was buggy and insecure (entropy
from urandom was rejected)
- Fix `listen' on streams when FILE_CNT isn't available (use read instad
- Fix =listen= on streams when =FILE_CNT= isn't available (use read instad
of fread)
- `FIND' compiled with C compiler didn't respect `START' nor `END'
- =FIND= compiled with C compiler didn't respect =START= nor =END=
arguments. Compiler macro is fixed now and should work as expected
- `compute-applicable-methods-using-classes` bugfix
- =compute-applicable-methods-using-classes= bugfix
* 16.0.0 changes since 15.3.7
** API changes

View file

@ -21,7 +21,7 @@
; Welcome page
!insertmacro MUI_PAGE_WELCOME
; License page
!insertmacro MUI_PAGE_LICENSE "${ECLDIR}\doc\Copyright"
!insertmacro MUI_PAGE_LICENSE "${ECLDIR}\doc\LICENSE"
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page

View file

@ -3,8 +3,8 @@
; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "ECL"
!define PRODUCT_VERSION "@ECLVERSION@"
!define PRODUCT_PUBLISHER "Juan Jose Garcia Ripoll"
!define PRODUCT_WEB_SITE "http://ecls.sourceforge.net"
!define PRODUCT_PUBLISHER "Daniel Kochmanski"
!define PRODUCT_WEB_SITE "https://common-lisp.net/project/ecl"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\ecl.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
@ -20,8 +20,6 @@
; Welcome page
!insertmacro MUI_PAGE_WELCOME
; License page
!insertmacro MUI_PAGE_LICENSE "${ECLDIR}\doc\Copyright"
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page