[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: edit/test cycle?



 
> Phil Perucci <philp@universe.digex.net> has an interesting question:
 
> > With CLISP, what is the best edit/test/code/edit, etc cycle (under X)?
 
> - editor: aXe-5.1 (has multiple windows, pull-down menus, parentheses matching)

Emacs has all those, too.  I don't use pull-down menus much.  If I can
dgo a day without touching my mouse I'm happy :-)

Emacs has exceptional Lisp editing facilities (of course).  It does
paren matching, pretty indenting via TAB, and the inferior-lisp
functionality that saves me loads of time.  Basically, you start CLISP
in an Emacs buffer and communicate via that buffer.  However, you
can also use Emacs commands to send code to the inferior (no offense,
Bruno :-) Lisp process without having to go through all the cut-and-paste
or save-and-load drudgery.  It won't work if you're doing screen-oriented
work, but otherwise it's heaven.

Emacs 19 under X has things like syntactical highlighting/colorizing
of code and multiple screens (X windows).  I heartily recommend Emacs
for anyone, but especially for Lisp users.  I recommend 8 MB or more
for Lisp development under X; I have 8 and it works pretty well.  

A (huge) side bonus is that Emacs can be customized by Lisp code.  
I couldn't live without it.

Here are some of the Emacs commands for dealing with other Lisp processes.
You would, of course, bind them to handy keys.

lisp-arglist-command
  Variable: Command to query inferior Lisp for a function's arglist.
lisp-compile-defun
  Function: Compile the current defun in the inferior Lisp process.
lisp-compile-defun-and-go
  Function: Compile the current defun in the inferior Lisp, and switch to its buffer.
lisp-compile-file
  Function: Compile a Lisp file in the inferior Lisp process.
lisp-compile-region
  Function: Compile the current region in the inferior Lisp process.
lisp-compile-region-and-go
  Function: Compile the current region in the inferior Lisp, and switch to its buffer.
lisp-complete-symbol
  Function: Perform completion on Lisp symbol preceding point.  That symbol is
lisp-describe-sym
  Function: Send a command to the inferior Lisp to describe symbol SYM.
lisp-describe-sym-command
  Variable: Command to query inferior Lisp for a variable's documentation.
lisp-eval-defun                             
  Function: Send the current defun to the inferior Lisp process.
lisp-eval-defun-and-go
  Function: Send the current defun to the inferior Lisp, and switch to its buffer.
lisp-eval-last-sexp
  Function: Send the previous sexp to the inferior Lisp process.
lisp-eval-region
  Function: Send the current region to the inferior Lisp process.
lisp-eval-region-and-go
  Function: Send the current region to the inferior Lisp, and switch to its buffer.
lisp-function-doc-command
  Variable: Command to query inferior Lisp for a function's documentation.
lisp-load-file
  Function: Load a Lisp file into the inferior Lisp process.
lisp-send-defun
  Function: Send the current defun to the Lisp process made by M-x run-lisp.
lisp-show-arglist
  Function: Send a query to the inferior Lisp for the arglist for function FN.
lisp-show-function-documentation
  Function: Send a command to the inferior Lisp to give documentation for function FN.
lisp-show-variable-documentation
  Function: Send a command to the inferior Lisp to give documentation for function FN.
lisp-var-doc-command
  Variable: Command to query inferior Lisp for a variable's documentation.
switch-to-lisp
  Function: Switch to the inferior Lisp process buffer.