Commit graph

5682 commits

Author SHA1 Message Date
Daniel Kochmański
9c3f55fe36 defsetf: refine documentation 2016-02-10 18:07:14 +01:00
Daniel Kochmański
da7e885022 regression: fix defsetf regression 2016-02-10 17:23:46 +01:00
Daniel Kochmański
093ba0ab62 Merge branch 'signals' into develop 2016-02-03 15:14:33 +01:00
Daniel Kochmanski
cd2e04bb22 windows: some love for this poor system 2016-02-03 15:13:39 +01:00
Daniel Kochmański
a119b491c0 windows: handle events 2016-02-02 13:14:36 +01:00
Daniel Kochmański
2f1517c9a8 config.h.in: fix preprocessor typo
should be __WIN64__, not __WING64__
2016-02-02 12:53:25 +01:00
Daniel Kochmański
b5809f7e96 current_dir: signal internal error getcwd fails
Fixes #211.
2016-01-30 18:11:38 +01:00
Daniel Kochmański
4ea78920f9 feature: add 'Del' for 'Rubout' character 2016-01-28 11:48:55 +01:00
Daniel Kochmański
e20576df32 fix: si:open-unix-socket-stream accepts both string and base-string
(automatic coercion is performed)
2016-01-28 11:47:48 +01:00
Daniel Kochmański
df9a4f33b8 version: bump to 16.1.2 2016-01-26 17:42:47 +01:00
Daniel Kochmański
4f58ce46d8 bugfix: deftype: accept places as a store form
Fixes #209.
2016-01-26 17:40:58 +01:00
Daniel Kochmański
4d0433ed7e defsetf: change DO-DEFSETF function prototype
Carry STORES to do-setf-method-expansion in order to fix bug with long
form of DEFSETF (using multiple values as assignment variables is
legal). Change is backwards compatible.
2016-01-26 17:40:52 +01:00
Daniel Kochmański
aaa0b43e99 defsetf: remove local function SETF-METHOD-WRAPPER
It was called only once and only unnecessarily fragmented the
code. Incorporated in DO-DEFSETF.
2016-01-26 15:22:45 +01:00
Daniel Kochmański
8105ae6ca7 defsetf: remove CHECK-STORES-NUMBER assertion
This check is bogus, since we may have more stores then one according to
spec.
2016-01-26 14:05:07 +01:00
Daniel Kochmański
2ed54ffee6 cleanup: unixint: remove dead code
Old implementation of `asynchronous_signal_servicing_thread' was
reimplemented long time ago. Old implementation was still present in
sources surrounded with `#if 0 ... #endif'. Remove it.
2016-01-23 18:07:40 +01:00
Daniel Kochmański
7812f236a5 config.lsp.in: uname: fix build for windows platform (mingw32)
Windows doesn't have `sys/utsname.h' and uname in current form can't
be used. It was carefully foreseen by a previous maintainer and works
OK, but the problem emerges when cross-compiling from linux. Fixes
2016-01-23 17:50:28 +01:00
Daniel Kochmański
d212dd39c6 version: bump version to 16.1.1 2016-01-04 20:47:08 +01:00
Daniel Kochmański
7898553d6a mop: fix bug in compute-applicable-methods-using-classes
Move computation of args-specializers from #'sort-applicable-methods up
to #'std-compute-applicable-methods. Fix suggested by @costanza.
Fixes #203.
2016-01-04 20:40:37 +01:00
Daniel Kochmański
491ec2fbf0 cosmetic: line wrapping 2016-01-04 17:10:20 +01:00
Daniel Kochmański
91f2207749 tests: ffi: add new regression test 2016-01-04 12:27:26 +01:00
Daniel Kochmański
4ec978408c cosmetic: line wraps 2016-01-04 12:09:05 +01:00
Daniel Kochmański
1754906858 tests: add a regression test for a MOP bug #203 2016-01-04 12:08:45 +01:00
Daniel Kochmański
4aa1142c6f extensions: include cmuutil.lsp in the build file
Also add symbol with-clean-symbols to the symbols list. This utilities
are used all across the sources and it's easier to navigate and
understand ECL sources if all the utilities it uses are available.
2016-01-04 12:01:11 +01:00
Daniel Kochmański
f0ba1d3ecb ffi: fix bug in si_make_foreign_data_from_array
Use ECL_ARRAYP instead of testing for a specific types of array. It's
worth to keep in mind, that STRING will be an array of integers, while
BASE-STRING will be an array of the ordinary chars. Fixes #142.
2016-01-04 10:35:45 +01:00
Daniel Kochmański
84f0a89da3 cosmetic: line wrapping 2016-01-04 10:29:27 +01:00
Daniel Kochmański
d812a7795e tests: add regression test for compiled `FIND'
Regression test for bug #199.
2015-12-18 10:55:01 +01:00
Daniel Kochmański
af9900c7d4 compiler: fix compiler-macro for `FIND'
C-compiled `FIND' didn't respect `START' nor `END' arguments due to bug
in parsing the arguments and invoking `DO-SEQ'. Fixes #199.
2015-12-18 10:35:11 +01:00
Daniel Kochmański
f49fd1ea81 build: fix solaris target (enable C99) 2015-12-10 13:49:01 +01:00
Daniel Kochmański
40c82c18d8 gray-streams: remove CLOSE general specialization
Some libraries somewhat abuse the CLOSE method specializing it on their
own stuff which isn't a stream. Calling the NEXT-METHOD triggers the
condition. For pragmatic reasons we'll honor this and will specialize
only on the streams.
2015-11-27 17:54:02 +01:00
Daniel Kochmański
ed8714ab21 cosmetic: fix indent and wrap lines correctly 2015-11-27 13:35:37 +01:00
Daniel Kochmański
81573a3fe6 Merge branch 'develop' into mobile 2015-11-07 19:54:36 +01:00
Stas Boukarev
61150e38be ext:function-lambda-list: don't crash on uninitialized GFs.
Macroexpanding DEFMETHOD creates a partially initialized GF (not the
greatest idea in itself). function-lambda-list then croaks on the
LAMBDA-LIST slot being unbound.
2015-11-01 22:08:05 +03:00
Stas Boukarev
dfe68fe96a Reduce cache size for generic functions.
Instead of occupying two vector elements (one for the actual value and
one for a bit indicating whether it's an eql-specializer) store cons
cells containing eql specializer values from
CLOS::GENERIC-FUNCTION-SPEC-LIST.
2015-11-01 21:52:57 +03:00
Daniel Kochmański
5532d4b996 generic-dispatch: move copy operation
Move copy operation before the function which has side-effects. Reported
and fixed by clasp dev team. Thanks!
2015-10-31 13:29:35 +01:00
Daniel Kochmański
a3a609ac42 android: move android.cross_config to src/util 2015-10-28 19:57:35 +01:00
Daniel Kochmański
060fa6b4bf Merge branch 'develop' into mobile 2015-10-28 18:41:55 +01:00
Daniel Kochmański
c103323cf6 c-streams: use `read' when FILE_CNT not available
`fread' may buffer some input and `listen' will return an incorrect
value. This is mainly the case when we cross-compile and user is too
lazy to check his `stdio.h' file. Fixes #185.
2015-10-23 18:16:50 +02:00
Daniel Kochmański
7280f14f55 mobile: fix compilation of android app from examples/
Don't use C99 specific syntax for `for' loop and use functions
lib_init_* instead of main_lib_init_* which aren't exported.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:16:50 +02:00
Daniel Kochmański
d7776157d6 makefile: bdwgc depends on libatomic_ops
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
db8190752b cosmetic: indentation tabs and columns number
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
048492ab56 build: fix include directory for bdwgc
It couldn't find atomic_ops.h which were in build/ecl directory

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
7c713d7dd0 build: fix tabs and don't overwrite gc dir
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Sylvain Ageneau
df019224f8 mobile: support Nacl and PNacl
This patch adds support for chrome's Native Client and Portable Native
Client
2015-10-23 18:12:54 +02:00
Daniel Kochmański
30e3184d08 buildscripts: use provided ${AR} instead of host ar
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
Daniel Kochmański
fe68809a34 mobile: add android platform to the build scripts
This allows enables building of ECL for android platform.
Based on work of Sylvain Ageneau.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-23 18:12:54 +02:00
B. Scott Michel
7734f2e134 ecl-cmp_clang_pragmas
Add pragmas to ecl-cmp.h to reduce Clang warnings (better fix: fix the
compiler to not produce the kind of code that triggers the warnings, but
this works for the time being.)
2015-10-21 14:15:03 -07:00
B. Scott Michel
b69d0c6022 emit_cxx_source_if_cxx
Emit ".cxx" source files instead of ".c" source if configured
"--with-cxx". This noticeably reduces the amount of whining from the
Clang compiler, which considered compiling ".c" as C++ a significant
deprecation.
2015-10-21 14:14:19 -07:00
Daniel Kochmański
6e3b64e428 cmpmain: declare init wrapper as extern C
Fixes #182.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-17 09:48:22 +02:00
Daniel Kochmański
68fa3985c6 builder: provide wrapper for randomized function init name
Randomized init funciton name is used internally and prevents symbol
clashes which lead to bugs when loading systems of the same name
(bundles for instance).

On the other hand wrapper provides a way to initialize library from
the C code. In this case it is programmer responsibility to name his
system uniquely. It will initialize it's submodules fine.

Fixes #74. Fixes #177.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-02 13:01:04 +02:00
Daniel Kochmański
251bf80461 Merge branch 'develop' into random-64 2015-10-01 14:10:41 +02:00