Path: utzoo!attcan!uunet!samsung!zaphod.mps.ohio-state.edu!uwm.edu!ogicse!schaefer From: schaefer@ogicse.ogi.edu (Barton E. Schaefer) Newsgroups: comp.mail.mush Subject: Re: MUSH and use of more Keywords: MUSH, MORE Message-ID: <8512@ogicse.ogi.edu> Date: 7 Apr 90 18:15:04 GMT References: <1127@gmuvax2.gmu.edu> Organization: Oregon Graduate Institute (formerly OGC), Beaverton, OR Lines: 31 In article <1127@gmuvax2.gmu.edu> szoltek@gmuvax2.gmu.edu (S.M. Zoltek) writes: } } I am having trouble getting more to behave properly when reading } mail. Specifically, after reading two screens of a note that is } several screens long and then pressing the "b" key I just get a beep. } I believe that I should instead get "paged" one page back. This is } what happens when I use more on a file when I am not reading mail. The `problem' here is that "more" is reading from a pipe, not from a file. Mush runs the pager via popen(3) and writes the message to the pager's standard input; "more" does not actually buffer the text, it "pages backward" by performing an fseek(3) on the paged file and then re-reading it. Because fseek() doesn't work on pipes, you get a beep. You will see the same behavior if you use "cat file | more". Two possible solutions: 1. Get and/or start using "less" instead of "more". 2. set pager = 'cat > temp_file_name; more temp_file_name' The latter is not guaranteed to behave well for other uses of the pager, and in fact acts a little oddly on my system for no reason I can discern (it starts out by printing "--More-- Next file: temp_file_name" as if there were some other [empty] input file; this is probably because stdin does not appear to "more" to be a terminal). -- Bart Schaefer "EARTH: Surrender IMMEDIATELY or we PICKLE DAN QUAYLE" "THPPFT!" schaefer@cse.ogi.edu (used to be cse.ogc.edu)