- 29 Jun, 2017 2 commits
-
-
Daniel Kochmański authored
Inconsistent and missing checks in binding forms See merge request !74
-
Daniel Kochmański authored
Signal error on invalid constant type checking. See merge request !75
-
- 28 Jun, 2017 4 commits
-
-
Kris Katterjohn authored
This was local to compiler.d, but it should also be used in stacks.d. This is used in place of the error message introduced in commit 9ff142.
-
Kris Katterjohn authored
This is for signalling an error about binding a constant variable. This makes the error messages originally in commits 745686, c9e732 and 4e3283 more precise.
-
Fabrizio Fabbri authored
Side effet was SIGSEGV on compiled code.
-
Kris Katterjohn authored
Commit 745686 prevents LET from binding constant variables, but this sometimes caused a problem during "make check". The problem would only happen sometimes, depending on the order in which the tests were run. cmp.0026.defconstant-warn defines a constant variable named FOO and cmp.0015.setf-expander binds FOO using LET. Now rename the constant variable FOO to +FOO+. "make check" runs fine
-
- 27 Jun, 2017 4 commits
-
-
Kris Katterjohn authored
PROGV was allowed to bind constants in the C-compiler and the bytecode compiler and interpreter, but the behavior would differ between them: > (defun foo () (flet ((memq (item list) (member item list :test #'eq))) (progv (list :test) (list :test-not) (memq 'bar '(bar baz quux))))) FOO > (foo) (BAZ QUUX) > (compile 'foo) FOO > (foo) (BAR BAZ QUUX) CLHS says the behavior is undefined when attempting to bind or assign constant variables (CLHS 3.1.2.1.1.3 and the entry for defconstant). The C-compiler and bytecode compiler and interpreter give errors when attempting to bind or assign constant variables in lambda expressions, LET, SETQ and various other binding/assignment forms. So the behavior above in PROGV is inconsistent. Now give an error when attempting to bind a constant variable in PROGV in the C-compiler and the bytecode compiler and interpreter.
-
Kris Katterjohn authored
M-V-B was allowed to lexically and dynamically bind constants in the bytecode compiler and interpreter: > (multiple-value-bind (pi rem) (truncate pi) pi) 3 CLHS says the behavior is undefined when attempting to bind or assign constant variables (CLHS 3.1.2.1.1.3 and the entry for defconstant). The C-compiler gives errors for these sorts of things, and the bytecode compiler and interpreter gives errors when attempting to bind or assign constant variables in lambda expressions, LET, SETQ and various other binding/assignment forms. So the behavior above in M-V-B is inconsistent with the C-compiler and other parts of the bytecode compiler and interpreter. Now give an error when attempting to bind a constant variable in M-V-B in the bytecode compiler and interpreter.
-
Kris Katterjohn authored
LET/LET* were allowed to lexically and dynamically bind constants in the bytecode compiler and interpreter: > (let ((pi 3)) pi) 3 > (progn (defconstant +c+ 'foo) (let ((+c+ 'bar)) +c+)) BAR > (flet ((hello () (format t "hi"))) (let ((t nil)) (declare (special t)) ; Oops, now this returns a string (hello))) "hi" Plus plenty of other ways to wreak havoc on unsuspecting code. CLHS says the behavior is undefined when attempting to bind or assign constant variables (CLHS 3.1.2.1.1.3 and the entry for defconstant). (Well, CLHS 3.4.1 explicitly says that constant variables cannot be used for variables in lambda lists.) The C-compiler gives errors for these sorts of things, and the bytecode compiler and interpreter gives errors when attempting to bind or assign constant variables in lambda expressions, SETQ and various other forms. So the behavior above in LET is inconsistent with both the C-compiler and other parts of the bytecode compiler and interpreter. Now give an error when attempting to bind a constant variable in LET/LET* in the bytecode compiler and interpreter. This also changes the behavior of PROG/PROG* and DESTRUCTURING-BIND so that they give errors when attempting to bind constants as well.
-
Kris Katterjohn authored
PROGV was attempting to bind whatever was in its variable list without checking its type. Using either the C-compiler or bytecode compiler/interpreter, the following example would lead to a segfault on my OpenBSD and Linux boxes: > (defun foo () (progv (list 3) (list 3))) FOO > (foo) Condition of type: SEGMENTATION-VIOLATION [...] Now give an error when attempting to bind something that is not a symbol in PROGV (in both the C-compiler and bytecode compiler and interpreter).
-
- 26 Jun, 2017 1 commit
-
-
Daniel Kochmański authored
Correctly set TCP_NODELAY in open-{client,server}-stream See merge request !73
-
- 23 Jun, 2017 4 commits
-
-
Kris Katterjohn authored
The contents of an uninitialized variable was used when setting the TCP_NODELAY option for sockets created with open-client-stream and open-server-stream, so this option would not be set when the value of the variable happened to be 0 (which happened regularly on my OpenBSD box). Tested on OpenBSD and Linux.
-
Kris Katterjohn authored
This header needs to be included so the TCP_* defines are available. Sockets created with open-client-stream and open-server-stream would try to set TCP_NODELAY if available, but they couldn't because this was not defined. Tested on OpenBSD and Linux.
-
Daniel Kochmański authored
-
Daniel Kochmański authored
Various fix See merge request !72
-
- 21 Jun, 2017 3 commits
-
-
Fabrizio Fabbri authored
-
Fabrizio Fabbri authored
-
Fabrizio Fabbri authored
-
- 13 Jun, 2017 2 commits
-
-
Daniel Kochmański authored
adjust memory allocation functions in windows API ecl_get_commandline_args. See merge request !71
-
Yuguo Zhang authored
the caller and the callee maybe use difference compiler and settings.
-
- 12 Jun, 2017 2 commits
-
-
Daniel Kochmański authored
doc: fix typo See merge request !70
-
Yuguo Zhang authored
-
- 06 Jun, 2017 1 commit
-
-
Fabrizio Fabbri authored
-
- 05 Jun, 2017 4 commits
-
-
Daniel Kochmański authored
patch for windows ReadConsole bug See merge request !69
-
Yuguo Zhang authored
upgrad yasm version from 1.2.0 to 1.3.0
-
Yuguo Zhang authored
upgrade yasm version from 1.2.0 to 1.3.0
-
Yuguo Zhang authored
-
- 03 Jun, 2017 5 commits
-
-
Daniel Kochmański authored
Reapply merge !65 See merge request !68
-
Fabrizio Fabbri authored
-
Fabrizio Fabbri authored
-
Fabrizio Fabbri authored
This reverts commit cf416f6f.
-
Fabrizio Fabbri authored
Proper cleanup of vararg. Fix buffer corruption on dpp.
-
- 30 May, 2017 1 commit
-
-
Daniel Kochmański authored
Closes #385.
-
- 26 May, 2017 1 commit
-
-
Daniel Kochmański authored
This reverts commit b75802f1, reversing changes made to 5e3ccb19.
-
- 25 May, 2017 3 commits
-
-
Daniel Kochmański authored
-
Daniel Kochmański authored
Fix submitted by Marius Gerbershagen. Fixes 383.
-
Daniel Kochmański authored
-
- 22 May, 2017 1 commit
-
-
Daniel Kochmański authored
Problem reported and fixed by Marius Gerbershagen. Fixes #382.
-
- 19 May, 2017 2 commits
-
-
Daniel Kochmański authored
Coverity issues fixes See merge request !65
-
Fabrizio Fabbri authored
-