Number: 2231

Date: 24-Sep-84 03':33':34

Submitter: Sannella.PA

Source: hthompson.pa

Subject: Dedit': ") in" of (C (D E) G) produces (C (D G) E)

Assigned To: 

Attn: Sheil

Status: Open

In/By: 

Problem Type: Bug

Impact: Annoying

Difficulty: 

Frequency: 

Priority: Perhaps

System: Programming Environment

Subsystem: Code Editor

Machine: 1108

Disk: 

Lisp Version: 

Source Files: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Disposition: '
["Sannella.PA" "26-Sep-84 16':15':32" Disposition': Description':]

Description: '
Date': 21 Sep 84 09':30 PDT'
From': hthompson.pa'
Subject': Lisp': ) in bug in DEDIT'
To': LispSupport.pa'
Format': TEdit'
'
Lisp System Date': 19-Sep-84 13':04':52'
Machine': Dandelion (Evergreen)'
Microcode version': 24,4'
Memory size': 5777'
Frequency': Always'
Impact': Serious'
'
If you edit the following list'
'
(C (D E) G)'
'
select the D, and do a ) in, the result is (C (D G) E)!'
'
-----'
'
Date': 25 Sep 84 15':38 PDT'
From': vanMelle.pa'
Subject': Lisp': Dedit''s ") in" command badly confused'
To': LispSupport.pa, Sheil'
cc': vanMelle.pa'
'
Lisp System Date': 24-Sep-84 09':49':01'
Machine': Dorado (Archimedes)'
Microcode version': 24,4'
Memory size': 10000'
Frequency': Intermittent'
Impact': Serious'
'
The ) in command underneath () is doing odd things in many cases.  I haven''t isolated exactly the cases that are wrong, but here''s a simple example.  If you have'
'
(COND'
   ((OR (NOT A)'
	  (NOT B)'
	  (FIE X))'
     (BAR)))'
'
and select the (OR --) expression, then (NOT B), and apply ) in, you get'
'
(COND'
   ((OR (NOT A)'
	  (NOT B)'
	  (BAR))'
     (FIE X)))'
'
instead of the expected'
'
(COND'
   ((OR (NOT A)'
	  (NOT B))'
     (FIE X)'
     (BAR)))'
'
I also had some cases where ) in did the correct structural thing, but the reprinting drew a lot of cruft on the screen.  I don''t have a simple example of this latter, but it seemed to happen only on certain structures where the nesting was deep enough to cause the prettyprinter to indent less, e.g.,'
'
(printout'
  FILE stuff'
  (more stuff)'
  T'
  (deeply nested expression))'
'
where I do a right in of the T.'
'
	Bill'
'
'


Workaround: 

Test Case: 

Edit-By: Sannella.PA

Edit-Date: 26-Sep-84 16':15':33