Changeset 8439


Ignore:
Timestamp:
02/01/05 03:32:42 (17 years ago)
Author:
piso
Message:

Work in progress.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/j/LispShell.java

    r8433 r8439  
    33 *
    44 * Copyright (C) 2002-2005 Peter Graves
    5  * $Id: LispShell.java,v 1.82 2005-01-31 19:37:32 piso Exp $
     5 * $Id: LispShell.java,v 1.83 2005-02-01 03:32:42 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    2828import javax.swing.SwingUtilities;
    2929import org.armedbear.lisp.Site;
     30import org.armedbear.lisp.LispThread;
    3031
    3132public class LispShell extends Shell
     
    547548                    stdin.flush();
    548549                    stdin.close();
     550                    if (slime)
     551                        killSlime();
    549552                    final Process p = getProcess();
    550553                    if (p != null) {
     
    669672                                         buffer.getTitle() + "\")");
    670673                    JLisp.runLispCommand("(slime:slime)");
     674                    LispThread.remove(Thread.currentThread());
    671675                }
    672676                catch (Throwable t) {
     
    675679            }
    676680        };
    677         new Thread(r).start();
     681        new Thread(r, "startSlime").start();
     682    }
     683
     684    private static void killSlime()
     685    {
     686        Runnable r = new Runnable() {
     687            public void run()
     688            {
     689                try {
     690                    JLisp.runLispCommand("(slime::disconnect)");
     691                    JLisp.runLispCommand("(setq slime::*repl-buffer* nil)");
     692                    LispThread.remove(Thread.currentThread());
     693                }
     694                catch (Throwable t) {
     695                    Log.debug(t);
     696                }
     697            }
     698        };
     699        new Thread(r, "killSlime").start();
    678700    }
    679701
Note: See TracChangeset for help on using the changeset viewer.