Number: 1531

Date: 27-Jun-84 16':16':48

Submitter: Sannella.PA

Source: Halasz.pa

Subject: Bad screen updates when successive line have different descents - \PUSHTEXT bug

Lisp Version: 

Description: '
Date': 19 Jun 84 23':26 PDT'
From': Halasz.pa'
Subject': TEdit': Incorrect screen updates when successive line have different descents - \PUSHTEXT is buggy.'
To': TEditSupport.pa'
cc': Halasz.pa'
'
TEdit System Date': 24-May-84 17':31':57'
Lisp System Date':  8-Jun-84 14':02':40'
Machine': Dorado (Halasz)'
Microcode version': 24,4'
Memory size': 10000'
Frequency': Always'
Impact': Serious'
'
'
When TEDIT.INSERT.UPDATESCREEN splits a piece off of the end of line N and adds it to the beginning of Line N+1 using \PUSHTEXT, things get messed up whenever the section of Text/Objects being moved has an overall DESCENT larger or smaller than the DESCENT of Line N+1.  This is because the section of text is blt''d into the line cache bitmap with the assumption that the DESCENT is X = the DESCENT of Line N.  But when it is retrieved from the cache in \PUSHTEXT, it is blt''d onto the screen using the assumption that DESCENT is Y = max descent of line N+1 (including newly transplanted section).    When X not = Y,  the screen gets messed up with the transplanted section of text in Line N+1 offset from the old text in Line N+1.'
'
FIX':'
'
Basically, the DESCENT of the cached images in the image caches must be saved.  And when the text is blt''d to the screen during \PUSHTEXT, care must be taken to line up the BASELINES of the images NOT the BOTTOMS of the images as is currently done.'
'
Ample demos of this phenomenon are available on request.'
'
'
Frank'


Workaround: 

Test Case: 

Edit-By: 

Edit-Date: 27-Jun-84 16':15':48

Attn: Sybalsky, nuyens

Assigned To: 

In/By: 

Disposition: 

System: Text

Subsystem: TEdit

Machine: 

Disk: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Difficulty: Moderate

Frequency: Everytime

Impact: Serious

Priority: Hopefully

Status: Open

Problem Type: Bug

Source Files: