[comp.windows.x] What stty/SET TERM settings for long pastes?

pjs@euclid.jpl.nasa.gov (Peter Scott) (01/08/91)

I often wish to cut a large piece of text from one xterm (I have
saveLines set to 1000) into another (e.g., sending session scripts
from a different machine in mail, etc) and I find that not all of
the pasted text gets accepted sometimes.

If I'm pasting text into, say, a Unix cat >thing or mail some@one
command, somewhere short of ~100 average lines the pasted text
will be truncated.  The truncation point is pseudo-random; I can
paste again and again and it will move.  It seems to me that this
could be solved with some stty setting but I don't know what; this
is what I have set in my xterms:

speed 9600 baud, 57 rows, 80 columns
parenb -parodd cs7 -cstopb -hupcl cread -clocal -crtscts
-ignbrk brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc
ixon -ixany -ixoff imaxbel
isig iexten icanon -xcase echo echoe echok -echonl -noflsh -tostop
echoctl -echoprt echoke
opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel
erase  kill   werase rprnt  flush  lnext  susp   intr   quit   stop   eof
^?     ^U     ^W     ^R     ^O     ^V     ^Z/^Y  ^C     ^\     ^S/^Q  ^D

Closely related to this, pasting text into a VMS session window results
in even less being accepted, with a corresponding data overrun error.
The window is an xterm in which telnet has been executed; after logging
on to VMS I execute a SET TERM/INQUIRE command.  This is what I end up
with:

Terminal: _XXA0:      Device_Type: VT100         Owner: Peter Scott
                                              Username: PJS

   Input:   9600      LFfill:  0      Width:  80      Parity: None
   Output:  9600      CRfill:  0      Page:   24

Terminal Characteristics:
   Interactive        Echo               Type_ahead         No Escape
   No Hostsync        TTsync             Lowercase          Tab
   Wrap               Scope              Remote             No Eightbit
   Broadcast          No Readsync        No Form            Fulldup
   Modem              No Local_echo      Autobaud           Hangup
   No Brdcstmbx       No DMA             No Altypeahd       Set_speed
   Line Editing       Overstrike editing No Fallback        No Dialup
   No Secure server   Disconnect         No Pasthru         No Syspassword
   No SIXEL Graphics  No Soft Characters No Printer Port    Numeric Keypad
   ANSI_CRT           No Regis           No Block_mode      Advanced_video
   No Edit_mode       DEC_CRT            No DEC_CRT2        No DEC_CRT3

I would dearly love to know how to solve either or both of these
problems, they are cramping my style something severe.  Thanks in
advance for any help; send me e-mail and I'll summarize.

The workstation is a Sun IPC (4/40), running SunOS 4.1, X11R4.18, motif 1.1.

-- 
This is news.  This is your       |    Peter Scott, NASA/JPL/Caltech
brain on news.  Any questions?    |    (pjs@euclid.jpl.nasa.gov)

pjs@euclid.jpl.nasa.gov (Peter Scott) (01/09/91)

So far respondents have suggested stty tandem for Unix and
SET TERM/HOSTSYNC for VMS.  Neither work for me, although they
appear to work for at least one other person.  Am I correct in
assuming that the operation of pasting text does not know about
flow control?  If so, then the amount of text that can be pasted
will be the size of the terminal driver buffer plus whatever it can
deal with during the paste itself.  Several people said that this
was the case and there was no way around in on Unix.  Dunno what 
happens to those ^S and ^Qs that are frantically being sent...

A useful suggestion for VMS is to use the alternate typeahead buffer
and set it to some large value and enable it on the appropriate
pseudo-terminals.

Thanks to all those who helped.

-- 
This is news.  This is your       |    Peter Scott, NASA/JPL/Caltech
brain on news.  Any questions?    |    (pjs@euclid.jpl.nasa.gov)

dshr@eng.sun.COM (David Rosenthal) (01/10/91)

> I didn't get the beginning of this thread, but am I correct in assuming
> that you want to be able to cut/paste more than MaxSizeRequest bytes of
> data?  If so, I'd be very interested in how you do this.  My solution
> (which I don't like) is to simulate selections using properties and
> ClientMessages.  Instead of calling XConvertSelection the first client
> sends a ClientMessage and then blocks waiting for a ClientMessage which
> encodes the number of pieces into which the data is divided.  Then the
> data is transferred one piece at a time as a round trip (i.e., the
> cutting client must wait for acknowledgement of the receipt of each
> segment of data before it sends the next segment); this allows the pasting
> client to assemble the data in the proper order.  I am very interested
> in this because it cuts to the heart of what I am trying to do now.

This is the wrong thing to do.  Read the ICCCM,  section 2.7.2 [pg 504 in
the Digital Press 2nd edition] for information on INCR properties.

	David.