However, shouldn't the ifdef stuff be in zsetlimit? This way you don't have to add ifdefs in every place you want to change limits. > One other problem I have is that it fails to change the terminal > settings (with stty) - it looks like they get reset back when stty > exits (and no I don't have that option on). This is the symptoms. I haven't had time to look into this, it is a bit hard to debug these things without a working debugger :-) $ stty speed 9600 baud; -parity hupcl -cread rows = 32; columns = 80; ypixels = 0; xpixels = 0; erase = ^h; brkint -inpck icrnl -ixany onlcr tab3 echo echoe echok iexten $ stty erase '^?' $ stty speed 9600 baud; -parity hupcl -cread rows = 32; columns = 80; ypixels = 0; xpixels = 0; erase = ^h; brkint -inpck icrnl -ixany onlcr tab3 echo echoe echok iexten $ exec /bin/bash $ stty erase $ stty speed 9600 baud; -parity hupcl -cread rows = 32; columns = 80; ypixels = 0; xpixels = 0; erase = ^h; brkint -inpck icrnl -ixany onlcr tab3 echo echoe echok iexten $ stty erase '^?' $ stty # note that the erase character has changed speed 9600 baud; -parity hupcl -cread rows = 32; columns = 80; ypixels = 0; xpixels = 0; brkint -inpck icrnl -ixany onlcr tab3 echo echoe echok iexten $ exec ./zsh /scratch/joda/zsh-3.0-pre3/Src>stty speed 9600 baud; -parity hupcl -cread rows = 32; columns = 80; ypixels = 0; xpixels = 0; brkint -inpck icrnl -ixany onlcr tab3 echo echoe echok iexten $ stty erase '^h' $ stty speed 9600 baud; -parity hupcl -cread rows = 32; columns = 80; ypixels = 0; xpixels = 0; brkint -inpck icrnl -ixany onlcr tab3 echo echoe echok iexten /Johan