mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-24 21:41:29 -08:00
Merge branch 'master' into develop
This commit is contained in:
commit
d6166f5f73
3 changed files with 49 additions and 44 deletions
85
CHANGELOG
85
CHANGELOG
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue