Ticket #12105 (closed defect: fixed)

Opened 2 years ago

Last modified 22 months ago

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:
Action Needed: no action Verified: no
Deployments affected: Blocked By:


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:

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

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.

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.

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

Changed 2 years ago by wmb@…

  • status changed from assigned to closed
  • next_action changed from never set to add to release
  • resolution set to fixed

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.

Changed 22 months ago by Quozl

  • next_action changed from add to release to no action

Is in Q4D25.

Note: See TracTickets for help on using tickets.