Subject: Re: In shell mode, comint-send-input seems to cut off at 254 characters

From: Richard Addison-Wood <[email-masked]>
Date: Mon, 09 Feb 2009 14:15:22 +1300

I have more information about what is going on.

Can you see if you can reproduce it?

After opening a new shell buffer, I type:

/bin/tcsh -f

to get a tcsh shell without running custom start-up stuff.

Then, I type this:

set filec

to turn on tcsh's file completion mechanisms (since this is one of the 
settings that my start-up stuff does).

And then, when I type this:

echo 
_234567_10_234567_20_234567_30_234567_40_234567_50_234567_60_234567_70_234567_80_234567_90_23456_100_23456_110_23456_120_23456_130_23456_140_23456_150_23456_160_23456_170_23456_180_23456_190_23456_200_23456_210_23456_220_23456_230_23456_240_23456_250_23456_260

I get the strange behaviour I described before.

Alternatively, If I type this:

unset filec

I can enter that long line without a problem.

So, in /bin/tcsh, one of the things that 'set filec' turns on is to use 
control-D to show a list of what matches the prefix of the immediately 
preceding word.

It appears that 'send_process(proc, buf, len, object)' in process.c will 
determine that it should send a maximum of 254 characters and will send 
'\004' at each 254 character interval.

It still seems strange to me that emacs would have this behaviour.  Is 
that really how it should be done?  I wouldn't think that I would be the 
only user who would be using /bin/tcsh with 'set filec'.