From: Mattew S. <ako...@gm...> - 2011-03-04 16:31:54
|
Are there any plans to sync the sbcl-win32-threads fork (and related i/o fixes) with 1.0.46? |
From: Mark H. D. <mh...@yv...> - 2011-03-10 20:46:51
|
I've not seen an answer to this. I'm wondering: would this help solve the problem that Ctrl+C kills Lisp on Windows? If so, I'm especially interested. On 3/4/2011 11:31 AM, Mattew Swank wrote: > Are there any plans to sync the sbcl-win32-threads fork (and related i/o fixes) > with 1.0.46? > > > > ------------------------------------------------------------------------------ > What You Don't Know About Data Connectivity CAN Hurt You > This paper provides an overview of data connectivity, details > its effect on application quality, and explores various alternative > solutions. http://p.sf.net/sfu/progress-d2d > _______________________________________________ > Sbcl-devel mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-devel |
From: Alastair B. <ala...@gm...> - 2011-03-10 22:08:16
|
On Thu, Mar 10, 2011 at 3:46 PM, Mark H. David <mh...@yv...> wrote: > I've not seen an answer to this. I'm wondering: would this help solve > the problem that Ctrl+C kills Lisp on Windows? If so, I'm especially > interested. > > On 3/4/2011 11:31 AM, Mattew Swank wrote: >> Are there any plans to sync the sbcl-win32-threads fork (and related i/o fixes) >> with 1.0.46? In order to do so, one would have to have a combination of suitable hardware and software to do the work, the skill set with which to do the work, the time in which to do the work, and motivation to do the work. I rather suspect that the combination is in short supply. There is a difference between C-c killing SBCL and C-c doing something useful. Using SetConsoleCtrlHandler() to simply ignore the event almost works, except that the fd-stream logic ends up seeing the result as an EOF because read() returns 0 characters due to having been interrupted. The effect can be seen within the debugger, as an EOF in the debugger tries to quit the debugger in favor of the REPL. Patching the fd-stream logic shouldn't be too hard if you want to go down that route. Actually having C-c generate an interactive interrupt that starts the debugger? That's more of a challenge, and would require a decent amount of the synchronization logic used for threading in the first place, and could plausibly be implemented as a lisp callback plus INTERRUPT-THREAD if callbacks may be invoked from arbitrary non-lisp threads. So, general answer: I don't expect there are any short-term plans to do win32 thread integration at this point, thread support would help with the C-c situation, and the C-c situation can be at least partly fixed up even without thread support. -- Alastair Bridgewater |
From: Mark H. D. <mh...@yv...> - 2011-03-13 00:07:44
|
Yes, I'm one who wants C-c to interrupt Lisp and go into the debugger (in the SLIME REPL case), as opposed to dead Lisp with the message "Lisp connection closed unexpectedly; connection broken by remote peer", which I have trouble believing anyone wants. If you can do this, I'd be very happy, and I'm sure it would improve the usefulness of SBCL on Windows tremendously. Thanks, Mark On 3/10/2011 5:40 PM, Anton Kovalenko wrote: > As long as SBCL's console REPL is used, and it's used from the initial > thread only, it's easy to make C-c useful (e.g. for interrupting long > Lisp loop). Does anyone want it? |
From: Anton K. <an...@sw...> - 2011-03-14 14:51:36
|
"Mark H. David" <mh...@yv...> writes: > Yes, I'm one who wants C-c to interrupt Lisp and go into the debugger > (in the SLIME > REPL case), as opposed to dead Lisp with the message "Lisp connection closed > unexpectedly; connection broken by remote peer", which I have trouble > believing anyone wants. Here is a file that will make console C-c interrupt foreground thread: https://gist.github.com/raw/869230/a2b95996e44cbd97654ba82908137360c42d31ec/controlc.lisp Load it (in any of my SBCL builds -- x86 or x86-64) at startup, and C-c will break the foreground thread and invoke the debugger (sldb when slime is running, built-in debugger otherwise) . -- Regards, Anton Kovalenko +7(916)345-34-02 | Elektrostal' MO, Russia |
From: Mark H. D. <mh...@yv...> - 2011-03-14 13:33:51
|
I didn't set this. It comes up as nil when I start sbcl under slime. What would be the correct value, anyhow? I tried all three other values, but C-c still kills Lisp. On 3/14/2011 4:22 AM, Heka Treep wrote: > Have you tried to assign the correct value to the > SWANK:*COMMUNICATION-STYLE* variable (see > http://common-lisp.net/project/slime/doc/html/Communication-style.html)? > Currently SLIME just don't know about threads in SBCL on Win32 > platform, so you need do it by hand (I tried this on dmitry_vk version > some times ago and C-c worked fine). > > 2011/3/13, Mark H. David<mh...@yv...>: >> Yes, I'm one who wants C-c to interrupt Lisp and go into the debugger >> (in the SLIME >> REPL case), as opposed to dead Lisp with the message "Lisp connection closed >> unexpectedly; connection broken by remote peer", which I have trouble >> believing anyone wants. >> >> If you can do this, I'd be very happy, and I'm sure it would improve the >> usefulness of >> SBCL on Windows tremendously. >> >> Thanks, >> >> Mark >> On 3/10/2011 5:40 PM, Anton Kovalenko wrote: > ------------------------------------------------------------------------------ > Colocation vs. Managed Hosting > A question and answer guide to determining the best fit > for your organization - today and in the future. > http://p.sf.net/sfu/internap-sfd2d > _______________________________________________ > Sbcl-devel mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-devel |
From: Mark H. D. <mh...@yv...> - 2011-03-15 14:49:06
|
I cannot get it to work. It didn't seem to be loading that .swankrc file, and I didn't get much farther. I'm happy to wait for this to come out in SLIME and SBCL in good time. I mostly just it known that I really would like this. On the other hand, if I'm the only one that can do the labor to move it forward, I will. But then contact me offline. Meanwhile, using CCL.... Thanks, Mark On 3/14/2011 1:04 PM, Kalyanov Dmitry wrote: > C-c in SLIME is different from C-c in console: in the former case, Emacs > receices C-c and SLIME sends the message to SBCL over the socket. > > The correct value for SWANK:*COMMUNICATION-STYLE* is :SPAWN. IIRC, it > should be set in ~/.swankrc file which is located at > (merge-pathnames ".swankrc" (user-homedir-pathname)) > > On Mon, 2011-03-14 at 09:33 -0400, Mark H. David wrote: >> I didn't set this. It comes up as nil when I start sbcl under slime. >> What would be the correct value, anyhow? >> I tried all three other values, but C-c still kills Lisp. >> >> On 3/14/2011 4:22 AM, Heka Treep wrote: >>> Have you tried to assign the correct value to the >>> SWANK:*COMMUNICATION-STYLE* variable (see >>> http://common-lisp.net/project/slime/doc/html/Communication-style.html)? >>> Currently SLIME just don't know about threads in SBCL on Win32 >>> platform, so you need do it by hand (I tried this on dmitry_vk version >>> some times ago and C-c worked fine). >>> >>> 2011/3/13, Mark H. David<mh...@yv...>: >>>> Yes, I'm one who wants C-c to interrupt Lisp and go into the debugger >>>> (in the SLIME >>>> REPL case), as opposed to dead Lisp with the message "Lisp connection closed >>>> unexpectedly; connection broken by remote peer", which I have trouble >>>> believing anyone wants. >>>> >>>> If you can do this, I'd be very happy, and I'm sure it would improve the >>>> usefulness of >>>> SBCL on Windows tremendously. >>>> >>>> Thanks, >>>> >>>> Mark >>>> On 3/10/2011 5:40 PM, Anton Kovalenko wrote: >>> ------------------------------------------------------------------------------ >>> Colocation vs. Managed Hosting >>> A question and answer guide to determining the best fit >>> for your organization - today and in the future. >>> http://p.sf.net/sfu/internap-sfd2d >>> _______________________________________________ >>> Sbcl-devel mailing list >>> Sbc...@li... >>> https://lists.sourceforge.net/lists/listinfo/sbcl-devel >> ------------------------------------------------------------------------------ >> Colocation vs. Managed Hosting >> A question and answer guide to determining the best fit >> for your organization - today and in the future. >> http://p.sf.net/sfu/internap-sfd2d >> _______________________________________________ >> Sbcl-devel mailing list >> Sbc...@li... >> https://lists.sourceforge.net/lists/listinfo/sbcl-devel > > > > ------------------------------------------------------------------------------ > Colocation vs. Managed Hosting > A question and answer guide to determining the best fit > for your organization - today and in the future. > http://p.sf.net/sfu/internap-sfd2d > _______________________________________________ > Sbcl-devel mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-devel |
From: Heka T. <zen...@gm...> - 2011-03-17 21:02:46
|
When SLIME is running, try do C-x C-e on this eLisp code (for example, in *scratch* buffer): (defun slime-interrupt () (interactive) (slime-dispatch-event `(:emacs-interrupt ,slime-current-thread))) 2011/3/15, Mark H. David <mh...@yv...>: > I cannot get it to work. It didn't seem to be loading that .swankrc > file, and I didn't get much farther. > I'm happy to wait for this to come out in SLIME and SBCL in good time. > I mostly just it known that I really would like this. > On the other hand, if I'm the only one that can do the labor to move it > forward, I will. > But then contact me offline. > Meanwhile, using CCL.... > Thanks, > Mark > > On 3/14/2011 1:04 PM, Kalyanov Dmitry wrote: >> C-c in SLIME is different from C-c in console: in the former case, Emacs >> receices C-c and SLIME sends the message to SBCL over the socket. >> >> The correct value for SWANK:*COMMUNICATION-STYLE* is :SPAWN. IIRC, it >> should be set in ~/.swankrc file which is located at >> (merge-pathnames ".swankrc" (user-homedir-pathname)) >> >> On Mon, 2011-03-14 at 09:33 -0400, Mark H. David wrote: >>> I didn't set this. It comes up as nil when I start sbcl under slime. >>> What would be the correct value, anyhow? >>> I tried all three other values, but C-c still kills Lisp. >>> >>> On 3/14/2011 4:22 AM, Heka Treep wrote: >>>> Have you tried to assign the correct value to the >>>> SWANK:*COMMUNICATION-STYLE* variable (see >>>> http://common-lisp.net/project/slime/doc/html/Communication-style.html)? >>>> Currently SLIME just don't know about threads in SBCL on Win32 >>>> platform, so you need do it by hand (I tried this on dmitry_vk version >>>> some times ago and C-c worked fine). >>>> >>>> 2011/3/13, Mark H. David<mh...@yv...>: >>>>> Yes, I'm one who wants C-c to interrupt Lisp and go into the debugger >>>>> (in the SLIME >>>>> REPL case), as opposed to dead Lisp with the message "Lisp connection >>>>> closed >>>>> unexpectedly; connection broken by remote peer", which I have trouble >>>>> believing anyone wants. >>>>> >>>>> If you can do this, I'd be very happy, and I'm sure it would improve >>>>> the >>>>> usefulness of >>>>> SBCL on Windows tremendously. >>>>> >>>>> Thanks, >>>>> >>>>> Mark >>>>> On 3/10/2011 5:40 PM, Anton Kovalenko wrote: >>>> ------------------------------------------------------------------------------ >>>> Colocation vs. Managed Hosting >>>> A question and answer guide to determining the best fit >>>> for your organization - today and in the future. >>>> http://p.sf.net/sfu/internap-sfd2d >>>> _______________________________________________ >>>> Sbcl-devel mailing list >>>> Sbc...@li... >>>> https://lists.sourceforge.net/lists/listinfo/sbcl-devel >>> ------------------------------------------------------------------------------ >>> Colocation vs. Managed Hosting >>> A question and answer guide to determining the best fit >>> for your organization - today and in the future. >>> http://p.sf.net/sfu/internap-sfd2d >>> _______________________________________________ >>> Sbcl-devel mailing list >>> Sbc...@li... >>> https://lists.sourceforge.net/lists/listinfo/sbcl-devel >> >> >> >> ------------------------------------------------------------------------------ >> Colocation vs. Managed Hosting >> A question and answer guide to determining the best fit >> for your organization - today and in the future. >> http://p.sf.net/sfu/internap-sfd2d >> _______________________________________________ >> Sbcl-devel mailing list >> Sbc...@li... >> https://lists.sourceforge.net/lists/listinfo/sbcl-devel > > ------------------------------------------------------------------------------ > Colocation vs. Managed Hosting > A question and answer guide to determining the best fit > for your organization - today and in the future. > http://p.sf.net/sfu/internap-sfd2d > _______________________________________________ > Sbcl-devel mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-devel > |
From: Anton K. <an...@sw...> - 2011-03-10 22:41:04
|
Alastair Bridgewater <ala...@gm...> writes: > Actually having C-c generate an interactive interrupt that starts the > debugger? That's more of a challenge, and would require a decent > amount of the synchronization logic used for threading in the first > place, and could plausibly be implemented as a lisp callback plus > INTERRUPT-THREAD if callbacks may be invoked from arbitrary non-lisp > threads. > > So, general answer: I don't expect there are any short-term plans to > do win32 thread integration at this point, thread support would help > with the C-c situation, and the C-c situation can be at least partly > fixed up even without thread support. The only real problem with C-c takes two words to formulate: - Which thread? That's why there is no Ctrl-C handling in my Win32/Win64 branch yet. I have a proof-of-concept external module that installs C-c handler -- no problem when non-Lisp thread callbacks are supported -- but I'm really confused about what to do in that handler. (SB-THREAD::FOREGROUND-THREAD) seems to be a sensible approximation to the answer. However, I've noticed that it returns the initial thread even if I'm using SLIME; currently I have no idea whether (RELEASE-FOREGROUND) is actually used "in the wild". As long as SBCL's console REPL is used, and it's used from the initial thread only, it's easy to make C-c useful (e.g. for interrupting long Lisp loop). Does anyone want it? I can add the module mentioned above to my branch, so anyone interested may try it out ("pseudo-EOF" is already handled in the runtime win32_unix* routines, so it isn't going to be a problem). -- Regards, Anton Kovalenko +7(916)345-34-02 | Elektrostal' MO, Russia |
From: Heka T. <zen...@gm...> - 2011-03-14 08:23:05
|
Have you tried to assign the correct value to the SWANK:*COMMUNICATION-STYLE* variable (see http://common-lisp.net/project/slime/doc/html/Communication-style.html)? Currently SLIME just don't know about threads in SBCL on Win32 platform, so you need do it by hand (I tried this on dmitry_vk version some times ago and C-c worked fine). 2011/3/13, Mark H. David <mh...@yv...>: > Yes, I'm one who wants C-c to interrupt Lisp and go into the debugger > (in the SLIME > REPL case), as opposed to dead Lisp with the message "Lisp connection closed > unexpectedly; connection broken by remote peer", which I have trouble > believing anyone wants. > > If you can do this, I'd be very happy, and I'm sure it would improve the > usefulness of > SBCL on Windows tremendously. > > Thanks, > > Mark > On 3/10/2011 5:40 PM, Anton Kovalenko wrote: |
From: Kalyanov D. <kal...@gm...> - 2011-03-14 17:06:24
|
C-c in SLIME is different from C-c in console: in the former case, Emacs receices C-c and SLIME sends the message to SBCL over the socket. The correct value for SWANK:*COMMUNICATION-STYLE* is :SPAWN. IIRC, it should be set in ~/.swankrc file which is located at (merge-pathnames ".swankrc" (user-homedir-pathname)) On Mon, 2011-03-14 at 09:33 -0400, Mark H. David wrote: > I didn't set this. It comes up as nil when I start sbcl under slime. > What would be the correct value, anyhow? > I tried all three other values, but C-c still kills Lisp. > > On 3/14/2011 4:22 AM, Heka Treep wrote: > > Have you tried to assign the correct value to the > > SWANK:*COMMUNICATION-STYLE* variable (see > > http://common-lisp.net/project/slime/doc/html/Communication-style.html)? > > Currently SLIME just don't know about threads in SBCL on Win32 > > platform, so you need do it by hand (I tried this on dmitry_vk version > > some times ago and C-c worked fine). > > > > 2011/3/13, Mark H. David<mh...@yv...>: > >> Yes, I'm one who wants C-c to interrupt Lisp and go into the debugger > >> (in the SLIME > >> REPL case), as opposed to dead Lisp with the message "Lisp connection closed > >> unexpectedly; connection broken by remote peer", which I have trouble > >> believing anyone wants. > >> > >> If you can do this, I'd be very happy, and I'm sure it would improve the > >> usefulness of > >> SBCL on Windows tremendously. > >> > >> Thanks, > >> > >> Mark > >> On 3/10/2011 5:40 PM, Anton Kovalenko wrote: > > ------------------------------------------------------------------------------ > > Colocation vs. Managed Hosting > > A question and answer guide to determining the best fit > > for your organization - today and in the future. > > http://p.sf.net/sfu/internap-sfd2d > > _______________________________________________ > > Sbcl-devel mailing list > > Sbc...@li... > > https://lists.sourceforge.net/lists/listinfo/sbcl-devel > > ------------------------------------------------------------------------------ > Colocation vs. Managed Hosting > A question and answer guide to determining the best fit > for your organization - today and in the future. > http://p.sf.net/sfu/internap-sfd2d > _______________________________________________ > Sbcl-devel mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-devel |