#478: Command-line option to terminate process on unhandled errors
-------------------------------+-------------------------
Reporter: Mark Evenson | Type: enhancement
Status: new | Priority: minor
Milestone: 1.8.1 | Component: other
Version: 1.8.1-dev | Keywords:
Parent Tickets: |
-------------------------------+-------------------------
In <https://mailman.common-lisp.net/pipermail/armedbear-
devel/2020-November/004187.html> Robert Munyer requests:
{{{
Many Lisp implementations (including CCL, CLISP and SBCL) have a
command-line option that causes unhandled errors to terminate the
Lisp process instead of invoking the debugger.
This option is useful for programs that don't have irreplaceable
valuable state in the heap, and that have users whose reaction
upon seeing a debug REPL would be "How do I get out of this!?".
Also, a few days ago someone on IRC mentioned having the problem
that "if there is an error in the expression" the server thread
"gets locked in the ABCL repl". I think his or her use-case
might also benefit from a debugger-disabling switch.
}}}
--
Ticket URL: <https://abcl.org/trac/ticket/478>
armedbear <https://abcl.org>
armedbear
#477: COMPILE-FILE not doing minimal compilation in
DEFCONSTANT/DEFPARAMETER/DEFVAR
-------------------------------+----------------------
Reporter: Mark Evenson | Type: defect
Status: new | Priority: major
Milestone: 1.8.1 | Component: compiler
Version: 1.7.1-dev | Keywords:
Parent Tickets: |
-------------------------------+----------------------
In <https://mailman.common-lisp.net/pipermail/armedbear-
devel/2020-November/004185.html> Robert Munyer reports
{{{
COMPILE-FILE is supposed to expand all macros in such a way that they
will not be expanded again when the compiled file is loaded. (3.2.2.2)
The file below has 4 output lines that start with "*** Expanding macro".
None of those lines should be printed when the compiled file is loaded.
------- begin test-min-compilation.lisp -------
(macrolet ((m1 ()
(format t "~&*** Expanding macro 1.~%")
'(format t "~&Output of macro 1.~%")))
(m1))
(defconstant +dc+
(macrolet ((m2 ()
(format t "~&*** Expanding macro 2 inside DEFCONSTANT.~%")
'(format t "~&Output of macro 2.~%")))
(m2)))
(defparameter *dp*
(macrolet ((m3 ()
(format t "~&*** Expanding macro 3 inside DEFPARAMETER.~%")
'(format t "~&Output of macro 3.~%")))
(m3)))
(defvar *dv*
(macrolet ((m4 ()
(format t "~&*** Expanding macro 4 inside DEFVAR.~%")
'(format t "~&Output of macro 4.~%")))
(m4)))
------- end test-min-compilation.lisp -------
CCL, CLISP, ECL and SBCL print none of the 4, ABCL prints 3 of the 4.
This one might be relatively easy, because ABCL is already handling
#1 correctly, and just needs to handle #2/3/4 in the same way as #1.
The rest of this message is the transcript.
$ java -jar abcl-344b4f66.jar
Armed Bear Common Lisp 1.8.1-dev
Java 1.8.0_272 Oracle Corporation
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.183 seconds.
Startup completed in 0.837 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (compile-file "test-min-compilation.lisp")
; Compiling /tmp/foo/test-min-compilation.lisp ...
; (M1)
*** Expanding macro 1.
; (DEFCONSTANT +DC+ ...)
*** Expanding macro 2 inside DEFCONSTANT.
Output of macro 2.
; (DEFPARAMETER *DP* ...)
; (DEFVAR *DV* ...)
; Wrote /tmp/foo/test-min-compilation.abcl (0.163 seconds)
#P"/tmp/foo/test-min-compilation.abcl"
NIL
NIL
CL-USER(2): (load "test-min-compilation.abcl")
Output of macro 1.
*** Expanding macro 2 inside DEFCONSTANT.
Output of macro 2.
*** Expanding macro 3 inside DEFPARAMETER.
Output of macro 3.
*** Expanding macro 4 inside DEFVAR.
Output of macro 4.
T
CL-USER(3):
}}}
--
Ticket URL: <https://abcl.org/trac/ticket/477>
armedbear <https://abcl.org>
armedbear
#476: Wrong file type returned by COMPILE-FILE-PATHNAME
-------------------------------+----------------------
Reporter: Mark Evenson | Type: defect
Status: new | Priority: minor
Milestone: 1.8.0 | Component: compiler
Version: 1.7.1-dev | Keywords:
Parent Tickets: |
-------------------------------+----------------------
<https://mailman.common-lisp.net/pipermail/armedbear-
devel/2020-October/004147.html>
{{{
The code below returns
"lx64fsl" in CCL,
"fas" in CLISP, and
"fasl" in SBCL,
but returns
"lisp" in ABCL.
I think it should return
"abcl" in ABCL.
$ java -jar abcl-1.7.1.jar
Armed Bear Common Lisp 1.7.1
Java 1.8.0_272 Oracle Corporation
OpenJDK 64-Bit Server VM
Low-level initialization completed in 0.586 seconds.
Startup completed in 1.336 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (pathname-type
(compile-file-pathname
(make-pathname :name "foo" :type "lisp")
:output-file (make-pathname :name "bar")))
"lisp"
CL-USER(2):
}}}
--
Ticket URL: <https://abcl.org/trac/ticket/476>
armedbear <https://abcl.org>
armedbear