Date: Wed, 28 Oct 2009 09:23:32 -0400 From: "Patrick M. Rutkowski" <rutsk...@gmail.com>
On Wed, Oct 28, 2009 at 7:44 AM, Alex Goncharov <alex-goncha...@comcast.net> wrote: > ,--- You/Patrick (Wed, 28 Oct 2009 05:30:37 -0400) ----* > | > | Take the following program: > | cmucl -eval '(defun foo () (progn (format t "Hello World~%") (foo))) (foo)' > | > | What would be the most straight forward way to get CTRL+C to quit back > | to the shell, as opposed to dumping me into a debugger? > > Why would you want it? > > The non-easiness of leaving Lisp is intentional -- there is often too > much state to lose, and Ctrl-C or -D may be typed by accident. > > Use '(quit)', on a CMUCL prompt or in your program. > > E.g. > > lisp -eval '(progn (format t "Hello World~%") (quit))' > > -- Alex -- alex-goncha...@comcast.net -- > Because 99.9% of the time when I hit CTRL+C during development it's because I've seen my program doing something wrong, and already know how to fix it. Having to type CTRL-C-LPAREN-Q-U-I-T-RPAREN-ENTER every time is really annoying. Perhaps learning a better technique would help. Because in UNIX terminal culture CTRL+C means "quit the program, right now". CMUCL shouldn't take license to make exceptions to what shell users expect. Wow, after 18 years of *nix, I never knew that. I thought that all would have been obvious, unless you're not familiar with with UNIX. What is obvious is that you don't understand the suggestion, nor do you realize that macros/readtables/etc can easily give you a single char quit. CMUCL has never run on anything but *nix, and millions before you have dealt with it. Bye.