This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

problem suspending "man bash" (intermittent)

Windows XP home edition
GNU bash, version 2.05b.0(9)-release (i686-pc-cygwin)
cygwin dll version 1.3.22
cygcheck -s -v -r attached

So I have observed a strange phenomenon, where if I execute "man bash" in
(using bash) and then suspend with ^Z, maybe one time in 4 there
is a situation where the first keypress after the suspend still somehow
gets sent to less rather than to the shell. Subsequently the shell works
fine but when I "fg man" it only wants to draw the display a line at a
time (ie it never refreshes the screen, even with ^L). Strangely, this
behaviour happens much more frequently for "man bash" from xterm and not
from the console, and even more strangely it seems much more likely to
happen with the bash man page instead of others, though I have
occasionally seen it with, eg, "man man".  If you're looking to reproduce
it, for me the best way is "man bash" from an xterm then repeatedly ^Z and
"fg" until this happens (usually after 4 or 5 tries).

Looking through the cygwin mailing list archives it seems that there have
been problems along these lines before. It was supposedly fixed in 
cygwin-1.3.13-1. There is a message from Christopher Faylor "Re: Ctrl-Z 
hang" where he 
says that it was due to ^Z sending SIGTSTP to less but then bash grabbing
the tty back from less while less was still trying to read the tty. The 
fix was to not send a SIGTTIN in this case but I guess that maybe this 
fix is causing the behaviour I see now. 

This is what it looks like from an xterm (see below for console):

       In addition to the single-character shell  options  documented  in  the
       description  of  the set builtin command, bash interprets the following
       options when it is invoked:
[2]+  Stopped                 man bash

Lev@raajsgdh ~

Lev@raajsgdh ~
$ %
man bash

       -c string If the -c option is present,  then  commands  are  read  from
                 string.   If  there  are arguments after the string, they are
                 assigned to the positional parameters, starting with $0.

And this is what happens at the console:

Lev@raajsgdh ~
$ fg
man bash

Lev@raajsgdh ~
$ fg
man bash
Error executing formatting or display command.
System command (cd /usr/man && (echo ".pl 1100i"; /bin/cat '/usr/man/man1/bash.1
'; echo; echo ".pl \n(nlu+10") | /usr/bin/tbl | /usr/bin/nroff -c -mandoc | /usr
/bin/less -isrR) exited with status 256.
No manual entry for bash


Attachment: cygcheck
Description: Text document

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]