Implement key parameters `if-input-does-not-exist', `if-error-exists'
(for pathnames) and `external-format' for both pathnames and streams.
Fixes#107.
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>