From: P. Srinivas
Subject: Source-level stepping in Allegro CL
Date: 
Message-ID: <648itb$ajj$1@tribune.usask.ca>
Hi all,


Does anybody has a piece of CL/Elisp code that can do source-level
stepping of Allegro CL code? I am looking for something similar
to what GDB does with C code using Emacs. I remember seeing 
something like this for CMUCL. But I did not remember the
exact place.

This functionality does not seem to be part of Allegro CL <-> Emacs
interface package FI that comes with ACL. Somebody mentioned that such
a beast is a part of Allegro Composer, which is an expensive 
add-on thing from Franz.

Thanks a lot.

srini
--------------------
Srinivas Palthepu                       Email: ·····@cs.usask.ca
ARIES laboratory,                      Phones: (306) 966-8654 (lab)
Department of Computer Science,                (306) 966-4759 (office)
University of Saskatchewan,                    (306) 373-6724 (home)    
57 Campus Dr, Saskatoon, SK, S7N 5A9      Fax: (306) 966-4884

From: Erik Naggum
Subject: Re: Source-level stepping in Allegro CL
Date: 
Message-ID: <3088238375791908@naggum.no>
* P. Srinivas
| Does anybody has a piece of CL/Elisp code that can do source-level
| stepping of Allegro CL code? I am looking for something similar to what
| GDB does with C code using Emacs. I remember seeing something like this
| for CMUCL. But I did not remember the exact place.

have you looked at the `step' form?  you can use it any listener.  it works
only on interpreted code, but it should be a start.

#\Erik
-- 
if you think this year is "97", _you_ are not "year 2000 compliant".

see http://sourcery.naggum.no/emacs/ for GNU Emacs 20-related material.
From: P. Srinivas
Subject: Re: Source-level stepping in Allegro CL
Date: 
Message-ID: <649vg4$c45$1@tribune.usask.ca>
Erik Naggum (······@naggum.no) wrote:
: * P. Srinivas
: | Does anybody has a piece of CL/Elisp code that can do source-level
: | stepping of Allegro CL code? I am looking for something similar to what
: | GDB does with C code using Emacs. I remember seeing something like this
: | for CMUCL. But I did not remember the exact place.

: have you looked at the `step' form?  you can use it any listener.  it works
: only on interpreted code, but it should be a start.


Ok, I was not clear enough. What I was asking for is an emacs interface
to the traditional 'step' form of ACL. Step form is good but not
very user-friendly when I want to step through complex code with
lots of loops and macros. What I want is some interface that hides all
this stuff and shows me the the 'same source file' in another window
with  current form being stepped highlighted or 'marked somwhow. 
Just like GUD-mode does with C soucse while debugging with GDB.

Srini
From: William Paul Vrotney
Subject: Re: Source-level stepping in Allegro CL
Date: 
Message-ID: <vrotneyEJIMDC.6AJ@netcom.com>
In article <············@tribune.usask.ca> ·····@skorpio3.usask.ca
(P. Srinivas) writes:

> 
> Erik Naggum (······@naggum.no) wrote:
> : * P. Srinivas
> : | Does anybody has a piece of CL/Elisp code that can do source-level
> : | stepping of Allegro CL code? I am looking for something similar to what
> : | GDB does with C code using Emacs. I remember seeing something like this
> : | for CMUCL. But I did not remember the exact place.
> 
> : have you looked at the `step' form?  you can use it any listener.  it works
> : only on interpreted code, but it should be a start.
> 
> 
> Ok, I was not clear enough. What I was asking for is an emacs interface
> to the traditional 'step' form of ACL. Step form is good but not
> very user-friendly when I want to step through complex code with
> lots of loops and macros. What I want is some interface that hides all
> this stuff and shows me the the 'same source file' in another window
> with  current form being stepped highlighted or 'marked somwhow. 
> Just like GUD-mode does with C soucse while debugging with GDB.
> 

As a Lisp advocate I have to admit that this is one feature of C that I
wished I had in Lisp.  However it should not be too difficult to write the
Elisp code.  Basically it would grab the expression that point is in and its
top level defining form.  It would redefine the top level form with a
wrapper on the point expression and send the new top level form to the Lisp
process.  The wrappers and keeping track of the breakpoints could get a
little tricky so as not to introduce any compound effects.  I could work on
such a package, but I would like to know (as would P. Srinivas) if anyone
has already done such.

You could take a look at ILISP for example at

        http://www.cs.wisc.edu/csl/texihtml/xemacs-19.13/ilisp_toc.html

but I don't recall this has what I am suggesting above, at least it didn't
when I looked at it years ago.

Also the lisp FAQ says that Edebug see

        http://www.inf.tu-dresden.de/info/edebug

has some debugging utilities for Common Lisp, but if I recall the ones to do
the above kind of breakpointing are for Elisp.

-- 

William P. Vrotney - ·······@netcom.com
From: Raymond Toy
Subject: Re: Source-level stepping in Allegro CL
Date: 
Message-ID: <4nra8mxji5.fsf@rtp.ericsson.se>
>>>>> "William" == William Paul Vrotney <·······@netcom.com> writes:

    William> In article <············@tribune.usask.ca> ·····@skorpio3.usask.ca
    William> (P. Srinivas) writes:

    >> 
    >> Erik Naggum (······@naggum.no) wrote:
    >> : * P. Srinivas
    >> : | Does anybody has a piece of CL/Elisp code that can do source-level
    >> : | stepping of Allegro CL code? I am looking for something similar to what
    >> : | GDB does with C code using Emacs. I remember seeing something like this
    >> : | for CMUCL. But I did not remember the exact place.
    >> 
    >> : have you looked at the `step' form?  you can use it any listener.  it works
    >> : only on interpreted code, but it should be a start.
    >> 
    >> 
    >> Ok, I was not clear enough. What I was asking for is an emacs interface
    >> to the traditional 'step' form of ACL. Step form is good but not
    >> very user-friendly when I want to step through complex code with
    >> lots of loops and macros. What I want is some interface that hides all
    >> this stuff and shows me the the 'same source file' in another window
    >> with  current form being stepped highlighted or 'marked somwhow. 
    >> Just like GUD-mode does with C soucse while debugging with GDB.
    >> 

    William> As a Lisp advocate I have to admit that this is one feature of C that I
    William> wished I had in Lisp.  However it should not be too difficult to write the
    William> Elisp code.  Basically it would grab the expression that point is in and its

You may also be interested in edebug package included with Emacs.  It
instruments a form so that you can step through each expression very
easily.

Ray
From: P. Srinivas
Subject: Re: Source-level stepping in Allegro CL
Date: 
Message-ID: <64d21q$mml$1@tribune.usask.ca>
Raymond Toy (···@rtp.ericsson.se) wrote:
: >>>>> "William" == William Paul Vrotney <·······@netcom.com> writes:

:     >> Ok, I was not clear enough. What I was asking for is an emacs interface
:     >> to the traditional 'step' form of ACL. Step form is good but not
:     >> very user-friendly when I want to step through complex code with
:     >> lots of loops and macros. What I want is some interface that hides all
:     >> this stuff and shows me the the 'same source file' in another window
:     >> with  current form being stepped highlighted or 'marked somwhow. 
:     >> Just like GUD-mode does with C soucse while debugging with GDB.
:     >> 

:     William> As a Lisp advocate I have to admit that this is one feature of C that I
:     William> wished I had in Lisp.  However it should not be too difficult to write the
:     William> Elisp code.  Basically it would grab the expression that point is in and its

: You may also be interested in edebug package included with Emacs.  It
: instruments a form so that you can step through each expression very
: easily.

: Ray


Does this edebug works on any inferior CL process? or is it just
for Emacs Lisp alone.

srini
From: Raymond Toy
Subject: Re: Source-level stepping in Allegro CL
Date: 
Message-ID: <4npvo5yeur.fsf@rtp.ericsson.se>
>>>>> "Srinivas" == P Srinivas <·····@skorpio3.usask.ca> writes:

    Srinivas> Does this edebug works on any inferior CL process? or is it just
    Srinivas> for Emacs Lisp alone.

Sorry.  I forgot to mention that edebug is meant for debugging emacs
lisp only.  Some hacking may make it work for others.  Never looked at 
it.

Ray
From: Marco Antoniotti
Subject: Re: Source-level stepping in Allegro CL
Date: 
Message-ID: <scfzpna5dfb.fsf@ferrari.PATH.Berkeley.EDU>
In article <·················@netcom.com> ·······@netcom.com (William Paul Vrotney) writes:

> From: ·······@netcom.com (William Paul Vrotney)
> Newsgroups: comp.lang.lisp
> Date: Wed, 12 Nov 1997 04:12:48 GMT
> Organization: Netcom On-Line Services

> Sender: ·······@netcom20.netcom.com
> Xref: agate comp.lang.lisp:31793
> 
> 
> You could take a look at ILISP for example at
> 
>         http://www.cs.wisc.edu/csl/texihtml/xemacs-19.13/ilisp_toc.html
> 
> but I don't recall this has what I am suggesting above, at least it didn't
> when I looked at it years ago.
> 

Just for clarity.  This is not the official ILISP site.  The
AI.Repository at CMU usually carries a recent version.  You can get
the "latest" version of ILISP (5.8a4) at

 	··········@ftp.icsi.berkeley.edu:/pub/theory/marcoxa/elisp
	ftp://ftp.icsi.berkeley.edu/pub/theory/marcoxa/elisp

-- 
Marco Antoniotti
==============================================================================
California Path Program - UC Berkeley
Richmond Field Station
tel. +1 - 510 - 231 9472