Commit graph

6233 commits

Author SHA1 Message Date
Daniel Kochmański
55bbfcfaeb cmpname: don't randomize init function names for libraries
Both shared and static libraries might be linked from C code and names
of the initialization functions has to be known without parsing the
file. Related to #177 and #74. FWIW it doesn't introduce regression on
ADSF bundles (#74) and solves initialization problem (#177).

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-01 13:29:53 +02:00
Daniel Kochmański
03045d98ae cmp: remove deprecated verbosity variables
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-10-01 11:03:46 +02:00
Attila Lendvai
15f3d7feab fix bootstrap error printing in universal_error_handler.
Signed-off-by: Attila Lendvai <attila@lendvai.name>
2015-09-29 17:41:28 +02:00
Daniel Kochmański
25caf88a74 changelog: update
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-23 10:08:47 +02:00
Daniel Kochmański
970ccb7c36 compiler: accept foreign object files
Sometimes we want to build with objects from CFFI (like
wrappers). These doesn't have entry point and initialization
function. If we'll encounter such an object just attach it without
adding it to the initialization queue. Fixes #174.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-23 09:03:51 +02:00
Matthew Mondor
bff9aced44 Merge branch 'broken-symlinks' into 'develop'
directories: don't break on broken symlinks

ECL when asked for a truename of a broken symbolic link signalled an
`file-error'. This isn't non-conformity, because spec doesn't specify
such situation, but lead to annoying errors with DIRECTORIES when even
irrelevant files were broken symlinks.

New behavior is as follows - broken symlinks are treated as regular
files (of :LINK kind) and no error is signalled. They aren't ignored
due to a few corner cases related to PROBE-FILE, OPEN and such.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>

See merge request !13
2015-09-18 19:31:55 +00:00
Matthew Mondor
b56eb93532 Merge branch 'backquote-reader-fix' into 'develop'
reader: fix backquote reader if the input is incomplete

This makes behaviour consistent with single-quote reader. Fixes #159.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>

See merge request !12
2015-09-18 19:22:47 +00:00
Daniel Kochmański
25e3408b3c changelog: update
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-18 18:28:42 +02:00
Daniel Kochmański
ac918e981f doc: typo
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-18 18:26:14 +02:00
Daniel Kochmański
22b647144c directories: don't break on broken symlinks
ECL when asked for a truename of a broken symbolic link signalled an
`file-error'. This isn't non-conformity, because spec doesn't specify
such situation, but lead to annoying errors with DIRECTORIES when even
irrelevant files were broken symlinks.

New behavior is as follows - broken symlinks are treated as regular
files (of :LINK kind) and no error is signalled. They aren't ignored
due to a few corner cases related to PROBE-FILE, OPEN and such.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-18 18:18:06 +02:00
Daniel Kochmański
9513d70fd2 doc: mention directory additional key argument
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-18 18:16:18 +02:00
Daniel Kochmański
36b90075af reader: fix backquote reader if the input is incomplete
This makes behaviour consistent with single-quote reader. Fixes #159.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-18 11:51:21 +02:00
Daniel Kochmański
8b27c69374 run-program: declare additional keys in symbols_list.h
Each key used in core environment has to be declared beforehand in
`symbols_list.h'. Fixes #166. Fixes #149.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-18 11:31:26 +02:00
Daniel Kochmański
fb5ce8b31a Merge branch 'heap-size-agreed' into 'develop'
Heap related fixes

- User-defined heap sizes can now exceed the size of a fixnum on 32-bit
  Fixes issue #140

- 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
  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.

See merge request !11
2015-09-12 08:15:01 +00:00
Matthew Mondor
c5c606cc01 - User-defined heap sizes can now exceed the size of a fixnum on 32-bit
Fixes issue #140

- 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
  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.
2015-09-11 16:54:18 -04:00
Daniel Kochmański
2daf9b04ef changelog: update 2015-09-11 17:44:58 +02:00
Daniel Kochmański
d413390541 annotation: turn annotation logic on
This was disabled from outside of ecl-min (not sure why). Achieved
with bounding ext::*register-with-pde-hook* to already defined

Works ok with swank for both macros and functions.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-11 16:25:44 +02:00
Daniel Kochmański
2d6acd70e4 doc: fix documnetation builds
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-11 14:23:16 +02:00
Daniel Kochmański
243b06005f doc: ansi-streams: correct encodings package
Fixes #139.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-11 14:16:31 +02:00
Daniel Kochmański
3b66508cb9 asdf: fix problem with uiop:run-program until we upgrade to next ASDF
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-11 12:56:10 +02:00
Daniel Kochmański
10e1120535 external-process-wait: check code after status change
Related to #149

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-11 11:49:02 +02:00
Daniel Kochmański
044531c908 Merge branch 'develop' into 'develop'
cosmetic: fix a minor typo

See merge request !10
2015-09-07 14:42:13 +00:00
Denis Martinez
2b8bfc2825 fix a minor typo 2015-09-07 15:27:06 +02:00
Matthew Mondor
dfb0f28ca2 Merge branch 'infinity-fix' into 'develop'
Infinity fix

Produce valid C code for all kinds of infinity

I have also pending NaN changes, but this requires more work.

See merge request !9
2015-09-04 19:42:38 +00:00
Daniel Kochmański
4e72ce7113 changelog: update changelog
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:32:09 +02:00
Daniel Kochmański
c8d3836f56 infinity: add regression tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:32:09 +02:00
Daniel Kochmański
a461f561df internal.h: fake ISO C99 INFINITY and NAN if not defined
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:32:09 +02:00
Daniel Kochmański
899f51106e cmpc: when infinity is used, emit macro "INFINITY"
and "-INFINITY" for negative infinity. These corner-cases lead to
compilation error, so no regression will be imposed even against
non-c99 compilers.

INFINITY and NAN macros are introduced by C99 standard, so such code
requires C-backend to support this math extension. Fixes #156.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:32:08 +02:00
Daniel Kochmański
43c3f21fbc changelog: update
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:31:16 +02:00
Daniel Kochmański
0d25eccfb8 regression: add back removed interfaces
Adds back ecl_import_current_thread and ecl_release_current_thread.
Closes #8.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:29:08 +02:00
Daniel Kochmański
0df10e8b8d changelog: update changelog
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 08:59:58 +02:00
Daniel Kochmański
aaa62d4a24 format: float: use prin1 when passed NaN or infinity
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 08:58:27 +02:00
Daniel Kochmański
ac6a446af8 style: fix broken modeline
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 06:45:50 +02:00
Matthew Mondor
385b8d04a8 Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop 2015-09-03 16:18:01 -04:00
Matthew Mondor
4f89d66d41 Fix some fallout from the script to correct/add Emacs and ViM syntax
directives.  Some files had more than one existing Emacs directives,
breaking the script which didn't expect this.
2015-09-03 16:16:12 -04:00
Daniel Kochmański
faf26ab48a cosmetic: bdwgc: remove autom4te.cache
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-03 21:48:21 +02:00
Daniel Kochmański
c80e3cad11 Merge branch 'style' into 'develop'
"style" temporary branch

The ECL code no longer uses tabulator characters, they were replaced
by spaces.

A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.

See merge request !8
2015-09-03 18:07:04 +00:00
Matthew Mondor
8f07cd58d8 The ECL code no longer uses tabulator characters, they were replaced
by spaces.

A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
2015-09-03 07:35:47 -04:00
Daniel Kochmański
527be2a017 printer: coerce float infinity more roboustly
Basically use C function instead of a generic Lisp one.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-03 08:47:00 +02:00
Daniel Kochmański
d15c42d2a1 printer: float infinity/nan: coerce printed form to base-string
CLOS printer uses normal strings while float_to_string.d calls
push_base_string to cache printable form of infinity (and nan). Coerce
clos strings to base-string. Fixes #153. Related to #114.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-03 08:12:08 +02:00
Daniel Kochmański
9720adf0c0 tests: add stress tests submitted by James M. Lawrence
This suite needs integration and tweaking to avoid infinite loop.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 21:29:30 +02:00
Daniel Kochmański
ee2cab9c6e Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop 2015-09-02 15:59:35 +02:00
Daniel Kochmański
5f702cf071 gmp: issue autoreconf -ivf (fixes ppc64le builds)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 15:59:18 +02:00
Philipp Marek
98faa3c60c Merge branch 'cleanup-testing' into 'develop'
Cleanup testing

Separated tests from auxiliary tools, merged tests into files corresponding to interface (aspects are separated with ^L, navigable with C-x [ and C-x ]), renamed "bugs" to "regressions" - what these tests really are.

TODO (in indefinete future):
- some tests have auxiliary functions, these should be moved to auxiliary/ directory and loaded from there, so test files contain only tests

- add back ansi-tests suite as git subtree (to keep in sync with upstream on demand)

- add mop-features suite (subtree)

- modify deftest macro to "remember" file, from which test was load and report that back

- keep test suites / interfaces in separate packages

- make running tests possible without installing ECL (not tests thing though, rather buildsystem)

See merge request !7
2015-09-02 10:22:45 +00:00
Daniel Kochmański
469b35f747 Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop 2015-09-02 11:09:49 +02:00
Daniel Kochmański
031167128a cosmetic: rename Copyright to LICENSE
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 11:09:04 +02:00
Daniel Kochmański
dc89946ae5 tests: rename 'bugs' to 'regressions'
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 10:51:51 +02:00
Daniel Kochmański
f768ad56e2 changelog: upate wrt testing
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 10:40:09 +02:00
Daniel Kochmański
0ca316c2f4 Merge branch 'develop' into cleanup-testing 2015-09-02 10:38:54 +02:00
Daniel Kochmański
6b0ccedf08 tests: fix remaing things
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 10:36:27 +02:00