1 
  2 09/21/87  video
  3 Known errors in the current release of video.
  4 #         Associated TR's
  5 Description
  6 
  7 94  phx20924
  8 (bound_video_) Occasionally an error message is displayed on a user
  9 terminal "The request was not within the boundaries of the requesting
 10 window".  This is overwritten by the next screen update and appears to
 11 have no lasting significance.
 12 
 13 91  phx19510
 14 set_editing_chars loses by not setting the erase character until the
 15 order is repeated a second time.
 16 
 17 90  phx19564
 18 Fatal process error caused by line_status pending.  The reconnection
 19 control order should disable line status reported.
 20 
 21 87  phx19064
 22 Video does not set the proper editing character when invoked.  It
 23 always sets the pound and at signs.
 24 
 25 81  phx16928
 26 Something funny is going on with reset_more.  At the least we should be
 27 consistent.
 28 
 29 80  phx11770
 30 The iox_ emulator does not implement can mode correctly.
 31 
 32 79  phx18121
 33 When doing a large amount of output, an async event in the same window
 34 (e.g.  an interactive message), will often cause the cursor to be
 35 positioned several lines above the correct position.  Printing resumes
 36 with the incorrect cursor position.
 37 
 38 77  phx16480
 39 When using dial_out in ^raw mode with video on, more breaks
 40 ocassionally cause things to hang.  Somebody is losing a wakeup.
 41 
 42 75  phx17627
 43 Sometimes characters typed are not echoed, but instead spaces are
 44 echoed, yet the real characters do find their way into the input
 45 buffer.  This tends to happen when async events such as wholines
 46 (specifically barmar's vwholine and status_line) go off.  Video is
 47 probably not handling the echo nego correctly, but there could also be
 48 something wrong with ring0.
 49 
 50 72  phx16136
 51 Both the TTF mechanism and tc_io_ need to be changed slightly to take
 52 to allow use of terminals which consider line "1" to be the last line
 53 on the screen.
 54 
 55 71  phx15795
 56 The video system editor mis-handles TAB's if there is a prompt at the
 57 beginning of a line.
 58 
 59 68  phx15379
 60 There are problems with the way window_io_iox_ hacks cu_
 61 intermediaries.  It can get confused an call the wrong one (it's hook,
 62 vs.  the real one).  This can cause one to jump from level N to level
 63 one.
 64 
 65 67  phx16060 phx19054
 66 Typing ESC-9999 TAB causes a fatal process errorr.  This is not nice.
 67 Something nasty is going on in the internal procedure
 68 redisplay_input_line.
 69 
 70 62  phx15797
 71 Very randomstuff going on with a read message and wdc clear_window; wdc
 72 set_position ...".  Cursor sometimes winds up in the wrong place.
 73 
 74 61  phx15523 phx14889 phx16762
 75 The video system currently allows one to set output conversion tables
 76 and special characters, but doesn't use the new setttings.  We should
 77 support these tty_ features, and until we do we should trap the attempt
 78 to change them.  This is also a problem with other unsupported control
 79 orders that tc_ passes on to ring0 (e.g.  abort, store_id).
 80 
 81 60
 82 "ata;wdc invoke;dta;wdc revoke" will cause a fatal process error.
 83 There are problems with the way video_utils_ deals with remember the
 84 -login_channel switch.
 85 
 86 58  phx15409 phx16491 phx17888
 87 When window_$get_echoed_chars is told to read N characters, it does not
 88 return until the N+1st character is typed.  This is due to the
 89 definition of the echo negotiation protocol.  Either the protocol
 90 should be redefined (consequences?)  or window_ should be changed to
 91 negotiate N-1 characters and then read the last character and echo it
 92 "by hand".
 93 
 94 49
 95 The video system does not interact well with vertsp mode.  When a
 96 formfeed is encountered in an output string, it simply positions the
 97 cursor to the last line of the screen, causing a more break only if
 98 more_mode=wrap.  The problem is in window_io_iox_ in the internal
 99 routine representation.  On line 1259, there is an explicit call to
100 position the cursor, regardless of any mode settings.  This should be
101 replaced by code which checks the more mode, and causes an immediate
102 more break by the appropriate method (clearing to the end of the window
103 if necessary).
104 
105 The code should also make sure to output all of the text before the
106 formfeed BEFORE it causes the more break, and the rest after.  This
107 will have to wait until some sort of buffering scheme for tc operations
108 is invented.
109 
110 46  phx12638 phx13306
111 Very large amounts of padding on high speed (e.g.  9600 buad) lines for
112 operations such as insert and delete lines can lead to fatal process
113 errors.
114 
115 45  phx12800
116 When QUIT is hit in the middle of an input line, a QUIT is generated,
117 the input is NOT thrown away (no reset_read available), but the pending
118 input is not redisplayed.
119 
120 42  phx12624
121 The video system should use the terminal's "native" scrolling capability
122 when there is only one window and it occupies the entire screen.
123 
124 39  phx12593
125 The video system needs a reset_write mechanism.  This will allow the
126 flushing of output on QUIT and all sorts of other nice things.  This
127 requires cooperation all the way down to the FNP, with some scheme
128 involving packets of characters with acknowledgement.
129 
130 27  phx11489
131 window_call change_window does not default a change of the height to
132 accomodate a change of the top line.  That is, a change_window -line N
133 of a full screen window should not fail.
134 
135 12  phx11236
136 When in red mode, clear_region of any kind must somehow un-red things.
137 The difficulty is that red mode is purely a creation of the line editor,
138 and all the other clearing primitives would have to do the same.  We
139 could send the "GET THE RED OUT" sequence whenever we request cleol in
140 the line editor, but that would be a crock.
141 
142 It may be that the only solution is to wait for real attribute
143 management.
144 
145 5
146 set_window_info should clear the parts of the screen changed by the
147 change, that is, space formerly occupied by the window that is no
148 longer, or the part that has just been pirated.