Commit graph

7576 commits

Author SHA1 Message Date
Marius Gerbershagen
6005c030b6 doc: set new doc as standard documentation 2019-01-03 19:14:28 +01:00
Marius Gerbershagen
d07e110526 doc: document C equivalent of setf functions 2019-01-03 13:58:24 +01:00
Marius Gerbershagen
68b22e522c doc: cosmetic changes
Small improvements to css, correct indentation for examples.
2019-01-02 16:08:43 +01:00
Marius Gerbershagen
3c3a02ea7d doc: improvements to extensions section
Use consistent formatting, fix errors and typos.
2019-01-02 12:27:02 +01:00
Marius Gerbershagen
af2c152682 doc: improvements to standards section
Apply consistent formatting, fix all ANSI dictionary sections as
    well as other errors and typos.
2018-12-31 16:22:44 +01:00
Marius Gerbershagen
0b0c7594b4 doc: improvements to developer's guide
Document the defun preprocessor, remove use of deprecated names,
    fix errors and typos.
2018-12-29 23:41:17 +01:00
Daniel Kochmanski
2575218ccb printer: fix wrong string printed in write_condition_variable
it printed #<semaphore> while it should be #<condition-variable>.
2018-12-28 10:08:38 +01:00
Marius Gerbershagen
1553f4e70e ecl_equal: fix comparison of displaced bitvectors (this time for real)
The "fix" from commit d3420eb3d5 did
    not work properly for bitvectors with length > 8.

    Fixes #445
2018-12-23 13:37:23 +01:00
Marius Gerbershagen
317d8915cf ecl_equalp: improve efficiency of array comparison 2018-12-19 23:30:51 +01:00
Marius Gerbershagen
d3420eb3d5 ecl_equal: fix comparison of displaced bitvectors
Fixes #445
2018-12-19 23:30:51 +01:00
Daniel Kochmański
ed9ebb936b Merge branch 'serialization' into 'develop'
fix the broken serialization functions for externalizable objects

See merge request embeddable-common-lisp/ecl!128
2018-12-19 06:49:04 +00:00
Marius Gerbershagen
a6ff11c8fc cmp: prevent inlining of stale function definitions
If a function which was previously proclaimed inline by the
    native compiler was redefined by the bytecodes compiler, the
    native compiler would still continue to inline the old
    definition (see also commit 892e21012a).
2018-12-18 20:26:52 +01:00
Marius Gerbershagen
76941e25dc fix the broken serialization functions for externalizable objects 2018-12-10 18:14:01 +01:00
Marius Gerbershagen
846abed0f1 threading: signal better errors in get-cas-expansion
If mp:compare-and-swap was expanding from a place which was not a
    list, it would throw a bogus type error instead of the correct
    "Cannot get the compare-and-swap expansion" error.
2018-12-08 10:42:31 +01:00
Marius Gerbershagen
663f2fb301 delete unused files 2018-12-08 10:42:31 +01:00
Marius Gerbershagen
aa75969e33 printer: signal error in write-string if stream is not a character stream
Bug introduced in commit 5947970f6.
2018-11-28 21:44:28 +01:00
Marius Gerbershagen
52acffae4a ecl_make_symbol: call _ecl_intern with package name
This is slightly more efficient and prevents an error message like
    "There exists no package with name NIL". Instead of NIL, the
    actual name is printed.
2018-11-28 21:44:28 +01:00
Daniel Kochmański
6bb08c2d81 Merge branch 'fix-disassemble' into 'develop'
Fix #106

Closes #106

See merge request embeddable-common-lisp/ecl!127
2018-11-25 08:10:11 +00:00
Marius Gerbershagen
e7fe000400 doc: update outdated information and examples in the developers guide 2018-11-24 22:00:29 +01:00
Marius Gerbershagen
61650f8e1f doc: fix documentation for si:*keep-definitions*
The variable is set to t by default.
2018-11-24 19:35:31 +01:00
Marius Gerbershagen
9f4a5d4dd4 disassemble: display generated C source code instead of bytecodes
This behaviour makes more sense, since the ANSI standard mandates
    that disassemble should compile an interpreted function before
    displaying the output (our own documentation even says so).

    Also fixes disassemble for closures.
2018-11-24 19:20:06 +01:00
Marius Gerbershagen
71babf1f99 cmp: prevent spurious error when the compile function fails 2018-11-24 17:58:30 +01:00
Marius Gerbershagen
abf33455f6 cmp: intern compiler data symbols into the correct package
The io-syntax forced all symbols except those in the COMMON-LISP
    package to be written with a package prefix. However the symbols
    could be read when the current package was shadowing symbols in
    the COMMON-LISP package, leading to incorrectly interned symbols.

    Problem reported by Gunter Königsmann on the ecl-devel mailing
    list.
2018-11-13 22:33:16 +01:00
Daniel Kochmański
48a011cf22 Merge branch 'develop' into 'develop'
fix header argument names for C++ compilation

See merge request embeddable-common-lisp/ecl!126
2018-11-02 10:04:12 +00:00
Exaybachay
5d4069e1fa fix header argument names for C++ compilation
fix the macro body
2018-11-02 17:31:55 +08:00
Exaybachay
bea1413ccf Revert "fix header argument names for C++ compilation"
This reverts commit 878ec343a0.
2018-11-02 17:28:17 +08:00
Exaybachay
878ec343a0 fix header argument names for C++ compilation 2018-11-02 17:16:02 +08:00
Exaybachay
eaea424f7c Revert "fix header argument names for C++ compilation"
This reverts commit 1ab9f00744.
2018-11-02 17:09:56 +08:00
Exaybachay
1ab9f00744 fix header argument names for C++ compilation 2018-11-02 13:32:35 +08:00
Exaybachay
d125ad2fac Merge remote-tracking branch 'upstream/develop' into develop 2018-11-01 16:16:18 +08:00
Marius Gerbershagen
ba573abf9e defstruct: don't use eval in define-structure 2018-10-30 11:58:19 +01:00
Yuguo Zhang
26eb34f16a Merge remote-tracking branch 'upstream/develop' into develop 2018-10-30 08:53:40 +08:00
Marius Gerbershagen
e3cda73965 Merge branch 'develop' into 'develop'
Fix ECL_LINEFEED_MODE test with -Werror=format-security

See merge request embeddable-common-lisp/ecl!124
2018-10-29 19:40:33 +01:00
Sébastien Villemot
2ef5d11cf9 Fix ECL_LINEFEED_MODE test with -Werror=format-security
In Debian, the -Werror=format-security flag is now passed by default to gcc.
This makes the ECL_LINEFEED_MODE test fail.

The fix is to replace the call to fprintf() by fputs().
2018-10-29 19:38:17 +01:00
Marius Gerbershagen
8a1e7f5c92 cmp: don't mark all lexical variables as crossing function boundaries
The compiler refactor of commit
    7ec2f4a939 introduced an error where
    all lexical variables where marked to cross function boundaries,
    leading them to be stored in volatile variables on the stack.
2018-10-29 19:15:49 +01:00
Yuguo Zhang
e3943cb88b Merge remote-tracking branch 'upstream/develop' into develop 2018-10-29 08:52:56 +08:00
Marius Gerbershagen
57a0346a52 doc: document behaviour of declaim and proclaim 2018-10-28 16:32:55 +01:00
Marius Gerbershagen
892e21012a cmp: make behaviour of declaim inline more sensible
ECL needs the definition of a function to inline it. Previously,
    this definition would only be saved in the file local environment
    (*cmp-env-root*) but not in the global environment used by
    proclaim. Hence, ECL could only inline functions in the same file.
    Now, we also put the definition of inline functions in the global
    environment during load time. This leads to a behaviour of declaim
    for inline functions, which is consistent with other declarations
    (meaning that the declarations stay only in force during
    compilation, but are proclaimed again at load time of the compiled
    file).
    Fixes #451.
2018-10-28 16:32:55 +01:00
Marius Gerbershagen
8812ba2189 doc: fix various typos and remove use of legacy names in examples 2018-10-26 17:54:08 +02:00
Marius Gerbershagen
cd86ac5019 doc: use category name for @defvar 2018-10-23 21:14:50 +02:00
Marius Gerbershagen
3df0a69785 doc: document floating point exceptions and infinity/NaN 2018-10-23 21:12:46 +02:00
Marius Gerbershagen
2a9084b105 prevent floating point exception signals if ECL_OPT_TRAP_SIGFPE is false
Fixes #347.
2018-10-23 21:11:02 +02:00
Yuguo Zhang
612f73a7b6 Merge remote-tracking branch 'upstream/develop' into develop 2018-10-18 09:47:34 +08:00
Marius Gerbershagen
7ff23cbb92 cmp: fix inline definition for mp:lock-count 2018-10-17 22:07:53 +02:00
Marius Gerbershagen
8676abe519 cmp: add proclamations for multithreading functions 2018-10-17 22:07:19 +02:00
Marius Gerbershagen
8ad10cec50 doc: fix some typos and errors in the multithreading documentation 2018-10-17 21:52:19 +02:00
Exaybachay
8c37117fcc Merge remote-tracking branch 'upstream/develop' into develop 2018-10-16 08:45:54 +08:00
Daniel Kochmański
4021fbdcf8 Merge branch 'atomic-ops' into 'develop'
Add support for atomic operations

Closes #278

See merge request embeddable-common-lisp/ecl!122
2018-10-15 19:23:52 +00:00
Marius Gerbershagen
46d74c5a66 cosmetic changes in assignment.d and clos/instance.d 2018-10-15 19:55:39 +02:00
Marius Gerbershagen
c45098e17a doc: add documentation for atomic operations 2018-10-15 19:55:39 +02:00