Number: 118

Date: 17-Mar-84  0':19':30

Submitter: Sannella.PA

Source: Maxwell.pa

Subject: do EDIT WHERE given stack ptr

Lisp Version: 

Description: '
Date': 15 Mar 84 11':33 PST'
From': Maxwell.pa'
Subject': Lisp': looking at the source in a stack'
To': LispSupport.pa'
Lisp-System-Date': 15-Mar-84 00':13':18'
Machine-Type': Dorado'
'
I would like it if when I asked for the source of a procedure that is on the call stack, the breakpoint handler would scroll to the currently executing line and underline it.  Masterscope does this when you say . EDIT WHERE . . . , so it seems like it is possible.'
'
-----'
'
Date':  6 Apr 84 17':20 PST'
From': Masinter.pa'
Subject': AR#118, do EDIT WHERE given stack ptr'
To': Maxwell, LispSupport, Burton'
'
John, your request':'
'
I would like it if when I asked for the source of a procedure that is on the call stack, the breakpoint handler would scroll to the currently executing line and underline it.  Masterscope does this when you say . EDIT WHERE . . . , so it seems like it is possible.'
'
is sort of handled by the EDIT command in the break window/menu. I.e., if you EDIT using that command, it is supposed to do exactly that.'
'
Maybe it didn''t work for you? Or the documentation isn''t clear?'
'
How else did you get into the editor that it would be possible to know that you were executing somewhere?'
'
-----'
'
Date':  6 Apr 84 17':20 PST'
From': Masinter.pa'
Subject': AR#118'
To': LispSupport'
'
Status← Incomplete pending further input from Maxwell.'
'
-----'
'
Date': 12 Apr 84 08':00':21 PST'
From': Maxwell.pa'
Subject': Re': AR#118, do EDIT WHERE given stack ptr'
In-reply-to': "Masinter''s message of 6 Apr 84 17':20 PST"'
To': Masinter'
Cc': Maxwell, LispSupport, Burton, Kay'
'
The EDIT command only works about 10% of the time for me, and it never works for procedures higher up on the call stack.  In Cedar I can ask for the source for any procedure on the call stack, and it will fetch the source and underline the place where the code is currently executing.  It does this by maintaining a table with every BCD that maps pc indices to source indices.'
'
Martin and I were discussing this, and we thought that perhaps Lisp could simulate this by recompiling the source on the fly, watching for the pc index to go by.  When it saw the pc index, it would then know what part of the source produced the code.  Compilation is pretty quick, and so the user may not even notice the delay.'
'
John.'
'
-----'
'
Date': 13 Apr 84 09':08 PST'
From': Masinter.pa'
...'
AR#118 (change "Subject':" to': make EDIT work when source is compiled)'
is Open, Very Hard, and Unlikely.'
	[disposition': the idea is to find the place in the source code given the PC. Problem is that the source code can not map very well to the PC anymore because of optimizations, etc. I now understand the problem, but I don''t think it is easy] '


Workaround: 

Test Case: 

Edit-By: Sannella.PA

Edit-Date: 13-Apr-84 15':44':50

Attn: Masinter.pa

Assigned To: 

In/By: 

Disposition: 

System: Language Support

Subsystem: Stack and Interpreter

Machine: 

Disk: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Difficulty: Very Hard

Frequency: 

Impact: Minor

Priority: Unlikely

Status: Open

Problem Type: Design - UI

Source Files: