... certainly a change in behavior.
I finally decided to upgrade my SBCL to 1.1.4. I'm really looking forward
to having threading, and I have particular use for foreign thread
callbacks (though I recall a couple of years ago being told it simply
couldn't be done).
I found a change in Control-C handling between 1.0.37 (yeah, it's pretty
old), 1.1.4, and Anton's 1.1.4. None of the 3 act the same. In 1.0.37,
Control-C will exist SBCL. In 1.1.4, Control-C (any number) will do
nothing, but the next form entered at the REPL will invoke the debugger.
In Anton's 1.1.4, the first Control-C will do nothing, but the second will
invoke the debugger.
So, 3 different versions, 3 different behaviors. Which behavior is
supposed to be correct for Windows? (personally, I'm used to Control-C
exiting.) I also checked 1.0.55 on WIndows 7 Enterprise (my work machine),
and Control-C exits there, too (I wasn't about to go installing multiple
versions to check as thoroughly there.).
Here's some results (my comments in parens, because it's hard to know what
I typed where nothing happens)
System:
Microsoft Windows XP
Home Edition
Version 2002
Service Pack 2
(using sbcl-1.0.37-x86-windows-binary.msi)
G:\lisp>sbcl
This is SBCL 1.0.37, an implementation of ANSI Common Lisp.
More information about SBCL is available at <
http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
This is experimental prerelease support for the Windows platform: use
at your own risk. "Your Kitten of Death awaits!"
* ^C
G:\lisp>
(using sbcl-1.1.4-x86-windows-binary.msi)
G:\lisp>sbcl
This is SBCL 1.1.4, an implementation of ANSI Common Lisp.
More information about SBCL is available at <
http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
This is experimental prerelease support for the Windows platform: use
at your own risk. "Your Kitten of Death awaits!"
*
(multiple Control-Cs have no affect at all)
G:\lisp>sbcl
This is SBCL 1.1.4, an implementation of ANSI Common Lisp.
More information about SBCL is available at <
http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
This is experimental prerelease support for the Windows platform: use
at your own risk. "Your Kitten of Death awaits!"
* (sb-exit) ; Control-C followed by deliberately incorrect form
debugger invoked on a SB-SYS:INTERACTIVE-INTERRUPT in thread
#<THREAD "main thread" RUNNING {23EF7901}>:
Interactive interrupt at #x22A77461.
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [CONTINUE] Return from SB-WIN32::SIGINT.
1: [ABORT ] Exit debugger, returning to top level.
((FLET #:CLEANUP-FUN-1439 :IN SB-IMPL::REFILL-INPUT-BUFFER))[:CLEANUP]
0] (sb-ext:exit)
G:\lisp>
(using sbcl-1.1.4.0.mswin.1288-90ab477-x86.msi)
G:\lisp>sbcl
This is SBCL 1.1.4.0.mswin.1288-90ab477, an implementation of ANSI Common
Lisp
More information about SBCL is available at <
http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
This is experimental prerelease support for the Windows platform: use
at your own risk. "Your Kitten of Death awaits!"
*
(2 Control-Cs entered)
debugger invoked on a SB-SYS:INTERACTIVE-INTERRUPT in thread
#<THREAD "main thread" RUNNING {23DA89B1}>:
Interactive interrupt at #x235A1232.
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [CONTINUE] Return from SB-THREAD::SIGINT.
1: [ABORT ] Exit debugger, returning to top level.
((FLET SB-THREAD::INTERRUPT-IT :IN SB-THREAD::WINDOWS-CONSOLE-CONTROL-HANDLE
0] (sb-ext:exit)
G:\lisp>sbcl
This is SBCL 1.1.4.0.mswin.1288-90ab477, an implementation of ANSI Common
Lisp
More information about SBCL is available at <
http://www.sbcl.org/>.
SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
This is experimental prerelease support for the Windows platform: use
at your own risk. "Your Kitten of Death awaits!"
* (sb-exit) ; Control-C followed by deliberately incorrect form
debugger invoked on a SB-SYS:INTERACTIVE-INTERRUPT in thread
#<THREAD "main thread" RUNNING {23DA89B1}>:
Interactive interrupt at #x22A2895E.
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [CONTINUE] Return from SB-THREAD::SIGINT.
1: [ABORT ] Exit debugger, returning to top level.
((FLET #:CLEANUP-FUN-1588 :IN SB-IMPL::REFILL-INPUT-BUFFER))[:CLEANUP]
0] (sb-ext:exit)
G:\lisp>
Neil Gilmore
ra...@raito.com
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
Sbcl-devel mailing list
Sbcl-...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-devel