--- pm_chat2_orig 2009-10-06 13:26:40.540719370 +0200 +++ pm_chat2 2009-10-06 14:15:21.456289356 +0200 @@ -1,6 +1,6 @@ #!/usr/bin/perl -w -my $VERSION = '1.99'; +my $VERSION = '1.99pj_press_return_to_talk'; ## revisions by Sam Denton, aka samwyse; email me at gmail.com ## original program by Nicholas J. Leon, aka mr.nick @@ -30,6 +30,7 @@ use File::Copy; $|++; +my $debug=""; # "dbg"; my $pm = 'http://www.perlmonks.org/index.pl'; my $win32 = ($^O =~ /win32/i); @@ -411,10 +412,16 @@ sub getlineUnix { my $message; + my $ans; # PJ insert $ans for the timeout handling, + # as safe signals don't interrupt ReadLine anymore + # and I cannot seem to find the partial input line + $message=$ans=""; + #warn "\n.\n" if $debug; eval { local $SIG{ALRM}=sub { - $old = $readline::line; + #$old = $readline::line; + $ans=""; die }; @@ -424,11 +431,18 @@ ## I need that so I can restuff it back in. alarm($config{timeout}) unless $win32; - $message = $term->readline("Talk: ", $old); - $old = $readline::line = ''; + #$message = $term->readline("Talk$debug: ", $old); + #$old = $readline::line = ''; + $ans=<>; # PJ - user wants to talk alarm(0) unless $win32; }; + if ($ans) { + $message=$term->readline("Talk> ",""); + $message="" if not $message; + } + + do{warn "did see> $message\n" if $message; $message=""} if $debug; $message; } @@ -474,7 +488,7 @@ newnodes() if $config{newnodesonlaunch}; getprivatemessages; getmessages(); -print "Type /help for help.\n"; +print "Type for talk prompt (/help for available prompt commands)\n"; while (1) { getprivatemessages;