Commit graph

6057 commits

Author SHA1 Message Date
Daniel Kochmański
e04555ddb2 doc: remove information about clos being optional
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-08 18:49:31 +02:00
Daniel Kochmański
bacece3827 Revert "cmp: ffi: cast `ecl_make_foreign_data' 3rd argument to *(void **)"
This reverts commit ab50a55fb1.

We can't cast every 3rd argument to *(void **) - this breaks *things*.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-08 08:36:43 +02:00
Daniel Kochmański
63e7187866 logical-pathname-translations: signal error if pathname not defined
If logical pathname wasn't defined yet, signal type error. Fixes #102.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-05 14:05:12 +02:00
Daniel Kochmański
1a3aecc2d6 doc: add documentation as doc subdirectory
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-04 21:55:36 +02:00
Daniel Kochmański
b16aed9ed5 changelog: add section 'API changes'
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-04 21:49:21 +02:00
Daniel Kochmański
0dcfdcfeb6 run-program: make invalid handler errorr message more readable
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-04 12:39:34 +02:00
Daniel Kochmański
850f1ccce4 ffi: remove package nickname 'uffi'
Our ffi isn't uffi 2.0 compatible and most systems wants this, when
they say (require 'uffi). Also if system has asdf dependency on
quicklisp) we have package name error.

We'll depend with UFFI 2.0 compability on cffi-uffi-compat, what is
the saniest approach. Some ECL specific patches will land there soon
to improve performance - no internal FFI api will change. It's just
nick removal.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-04 12:22:02 +02:00
Daniel Kochmański
7ac7ebf8b4 changelog: update on common changes
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-03 16:11:52 +02:00
Daniel Kochmański
3f7fe751b3 format: fix bug for empty width and fdigits
When neither w and d weren't set, then k was ignored.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-08-03 16:11:32 +02:00
Daniel Kochmański
ab50a55fb1 cmp: ffi: cast `ecl_make_foreign_data' 3rd argument to *(void **)
Some compilers doesn't allow putting function pointers when parameter
type is declared (void *), but it's necessary if we want to use
callbacks. Fixes #99.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-31 14:19:35 +02:00
Daniel Kochmański
515d844270 changelog: add update about unique function names
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-31 11:47:06 +02:00
Daniel Kochmański
f40e183770 cmp: search for tag only when name is unique
fasl and program init function names are always the same, don't search
for tag in binary files for this two targets.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-31 09:29:56 +02:00
Daniel Kochmański
1ada997e7c cmp: use unique names for inititalization functions of libraries
Fixes #74.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-30 21:22:25 +02:00
Daniel Kochmański
8bc260c377 cmp: embed unique tag with init function name in each exported module
This is necessary if we want to retrieve function name from compiled
binary, what is necessary if we want to use unique names for this
function. This is necessary for fix of issue #41.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-30 21:20:15 +02:00
Daniel Kochmański
29cd90c448 cmp: make init-function-name consistant with compute-init-name
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-30 08:35:03 +02:00
Daniel Kochmański
8972fb38d3 cmp: remove redundant compute-main-name function
Same functionality is provided by compute-init-name

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-30 08:32:02 +02:00
Daniel Kochmański
4f80b5fca5 buildsystem: add src/*cmp/*.lsp to ecl dependencies
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-30 08:29:29 +02:00
Daniel Kochmański
d75552027a compiler: bind lexically *readtable* when file is compiled
Both byte and C compilers didn't bind lexically *readtable*, what lead
to pollution of other compiled packages. Fixes #95 and #59.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-28 14:25:29 +02:00
Daniel Kochmański
d8609840d3 reader: readtable-case works approprietly for :invert and others
Reader had problems with converting case. Firstfully, it did convert
case for character literals. Second, it didn't convert characters for
some specific symbol cases (especially when some were escaped). Fixes

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-27 21:00:26 +02:00
Daniel Kochmański
92b8ff90a7 cosmetic: libffi updates this file on each compilation
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-27 20:56:31 +02:00
Daniel Kochmański
1370d4d775 changelog: add new float specializers to changelog
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-27 20:56:03 +02:00
Daniel Kochmański
de22539146 cosmetic: short-float: fix inconsistencies with short-float
Altough short-float is now implemented as single-float, there are
clear signs that there were attempts / was separate implementation of
that type with partly-abandoned efforts. This patch shapes a bit code
in predlib.lsp and adds comments in appropriate places, that this
files needs to be modified, if such separate implementation occurs.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-26 12:54:10 +02:00
Daniel Kochmański
61a5f49639 clos: add single-float and double-float to built-in class hierarchy
Some libraries want methods to specialize on double-float and ECL
fails on such attempts. Fixes #96.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-07-26 12:41:27 +02:00
Daniel Kochmański
a29029736a README: change filename
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-19 19:10:43 +02:00
Daniel Kochmański
f2d81d5c45 si_reset_mergins: move function declaration to external.h
Build with cxx compiler should work now. Symbol was put in internal.h,
while it is accessed from outside.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-18 20:11:38 +02:00
Daniel Kochmański
abf821c377 changelog: update
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-16 08:16:57 +02:00
Daniel Kochmański
a04b6ff8b8 cmp: mapcar: evaluate function only once
When function is a closure, all lexical environment were reinitialized
on each function call, because it was expanded multiple times. Do it
only once and use result in funcall. Fixes #17.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-16 07:52:52 +02:00
Daniel Kochmański
9e5fceb4d3 newcmp: deduplicate cmpmap.lsp
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-16 07:49:13 +02:00
Daniel Kochmański
a4283c3f8c clos: fix `print-object' for non- standard-object's
Previous commit overgeneralized. Handle just one particular corner
situation, when print-object leaks from standard-object to builtin
class T.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-07 16:11:47 +02:00
Daniel Kochmański
74021ab1a9 clos: fix `print-object' specialized on T (infinite recurrence)
Corner case. When user despite spec defines method `print-object'
specialized on standard-object and calls call-next-method,
`print-object' specialized on T called `write', which triggers
original `print-object' specialized on `standard-object'.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-07 12:00:49 +02:00
Daniel Kochmański
f52cf9c671 autotools, gc: refine aclocal.m4, refine GC detection, remove hack
Remove `ifdef' against GC version with hack - if GC too old use
included one. Also set default stack direction to `down' (on
cross-compilation) and fix cross-compilation of GMP. Fixes #87.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-06 22:43:16 +02:00
Daniel Kochmański
663de5ddfe msvc: rename labels INT' and FLOAT' to fix build with VS2013 CE
Patch provided by community members lll and Dinosky. Fixes #7.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-04 20:51:51 +02:00
Daniel Kochmański
5b4a6b81a0 signals: don't whitelist suspend/resume signals if GC below 7.4
GC 7.2 doesn't export `GC_get_thr_restart_signal`, so we can't
whitelist it. Gives warning about old GC.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-03 18:23:12 +02:00
Daniel Kochmański
359463a463 cross-compile: set default stack direction to down
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-03 15:58:13 +02:00
Daniel Kochmański
1d4b9284c5 buildsystem: fix builds with flag --with-clos-streams=no
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-03 15:40:11 +02:00
Daniel Kochmański
6ee2d334f4 format.d: accept t_string as ~? argument
Only when UNICODE is enabled obviously.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-03 15:38:34 +02:00
Daniel Kochmański
6b93019ce1 gmp: fix cross-compilation problem when passing --host
https://gmplib.org/list-archives/gmp-bugs/2012-January/002511.html

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-03 13:28:46 +02:00
Daniel Kochmański
4b3f80ab10 libatomic_ops: bump to 7.5.0
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-03 13:26:42 +02:00
Daniel Kochmański
3b4710cb3b changelog: add recent (not crucial) changes
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-01 17:41:41 +02:00
Daniel Kochmański
7a29be4337 CLOS: remove dead code and conditionals for non-clos builds
Builds without CLOS weren't possible for long time, yet a lot of dead
code for non-clos builds was spread across sources. This commit
removes all ifdefs and dead blocks from codebase.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-01 16:56:17 +02:00
Daniel Kochmański
dc6aa0bce0 with-unique-names: simplify extension and fix typo
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-07-01 16:10:22 +02:00
Daniel Kochmański
12e402b2f0 cosmetic: indent-tabs-mode typo
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-30 11:31:11 +02:00
Daniel Kochmański
0dab3c6d19 cosmetic: lsp: setq emacs local variable indent-tabs-mode to nil
This changes local variable indent-tabs-mode to nil for all *.lsp
files in src/lsp directory.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-30 08:30:35 +02:00
Daniel Kochmański
cce2b39f10 define-compiler-macro: clhs compliance
This change is incorporated from CLASP. Fixes #82.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-30 08:06:53 +02:00
jack
2b1892a47e signals: Don't block GC suspend/resume signals on interrupt thread
Blocking all signals except default interrupt caused OpenBSD broken
multithread builds, because of GC semaphore lockup waiting, untill all
threads are stopped. Fixes #71.

Signed-off-by: jack <jack@openbsd.my.domain>
2015-06-29 07:47:13 +02:00
Daniel Kochmański
d017692cd8 changelog: add gmp fix
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-26 13:22:25 +02:00
Daniel Kochmański
bd48b85970 bignums: don't collect gmp internal memory
GMP manual at https://gmplib.org/manual/Custom-Allocation.html sates,
taht "GMP may use allocated blocks to hold pointers to other allocated
blocks. This will limit the assumptions a conservative garbage
collection scheme can make.", therefore we won't collect it's internal
blocks. Fixes #58.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-26 13:09:47 +02:00
Daniel Kochmański
26690cacdd ecl_stream_to_handle: fix problem when passing stream
Function for some types of streams without handler (not all) was
calling internal-error stopping whole implementation instead of
returning `INVALID_HANDLER'.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-25 12:41:07 +02:00
Daniel Kochmański
dd2e3903bc run-program: handle error' parameter value :output'
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-25 12:41:07 +02:00
Daniel Kochmański
73f60ca9d0 changelog: run-program works under cygwin
Cygwin fork/exec doesn't seem broken anymore. Fixes #52.

Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-06-25 12:41:07 +02:00