Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#12105 closed defect (fixed)

OFW debugger renders ok prompt in the wrong place

Reported by: dsd Owned by: wmb@…
Priority: low Milestone: Not Triaged
Component: ofw - open firmware Version: not specified
Keywords: Cc:
Blocked By: Blocking:
Deployments affected: Action Needed: no action
Verified: no

Description

Using the "f" debugger key twice makes the forth prompt appear at the top of the screen, half-overwriting the word definition behind it, making debugging quite painful.

e.g. to reproduce:

ok debug linux-place-ramdisk
ok boot

When the debugger kicks in:

f
ok resume

Now try to go back to the ok prompt with 'f' and you'll see that it gets rendered at the top of the screen.

XO-1.75, Q4D21.

Change History (5)

comment:1 Changed 2 years ago by wmb@…

  • Priority changed from normal to low
  • Status changed from new to assigned

I have looked at this before and never quite managed to work out why it's happening.

The 'l' (redisplay) command will redraw the debugger display, which usually manages to clean things up (except in extreme cases like #12104 where the display is fundamentally confused).

Another way to trigger a similar display-confusion problem is to use 'f', then type

ok debug foo resume

where foo is in the call chain of the word you are debugging. In this case, 'l' will fix things up.

comment:2 Changed 2 years ago by wmb@…

In case you are wondering about the mnemonic value (or lack thereof) of 'L', it is a nod to EMACS's ctrl-L redisplay command. 'R' was already taken. Thus we experience the general problem with single-keystroke command languages that they quickly use up all the good letters.

comment:3 Changed 2 years ago by dsd

Thanks. For now the L/V keys are fine as a workaround - I've added a note to http://wiki.laptop.org/go/Forth_Lesson_15

comment:4 Changed 2 years ago by wmb@…

  • Action Needed changed from never set to add to release
  • Resolution set to fixed
  • Status changed from assigned to closed

Fixed by svn 3341. In addition to the trigger cited (multiple uses of 'f'), another trigger condition, now fixed, was to say

ok debug foo resume

where foo is something in the call chain of the current word.

Redisplay is now more aggressive, handling all of the problem cases that have been reported.

comment:5 Changed 2 years ago by Quozl

  • Action Needed changed from add to release to no action

Is in Q4D25.

Note: See TracTickets for help on using tickets.