While reading output, more than 2000 bytes can force earlier bytes to be "forgotten". This may be changed with the function match_max. (Note that excessively large values can slow down the pattern matcher.) If patlist is full_buffer, the corre- sponding body is executed if match_max bytes have been received and no other patterns have matched. Whether or not the full_buffer keyword is used, the forgotten characters are written to expect_out(buffer). taken from 'man expect' ---- I've found that match_max can cause expect_out(buffer) to become undefined. Redefine it after calling match_max to get round this set expect_out(buffer) {} set expect_out(buffer) {} As noted by Cameron Laird here: http://phaseit.net/claird/comp.lang.tcl/expect.html ---- [Category Expect]