ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/eg/readline
Revision: 1.1
Committed: Sun Apr 14 01:18:38 2002 UTC (22 years, 2 months ago) by root
Branch: MAIN
CVS Tags: rel-2_5, rel-3_41, rel-3_55, rel-3_51, rel-2_0, rel-2_1, rel-1_1, rel-1_0, rel-1_9, rel-1_2, rel-1_5, rel-1_4, rel-1_7, rel-1_6, rel-3_4, rel-3_1, rel-3_5, rel-3_3, rel-3_2, rel-3_0, rel-3_01, rel-3_11, rel-1_31, stack_sharing, rel-3_501
Log Message:
*** empty log message ***

File Contents

# Content
1 #!/usr/bin/perl
2
3 <<' */'=~m>>;
4
5 /*
6 * How to fool readline into working with Coro
7 * Category: dirty hack
8 */
9
10 use Coro;
11 use Coro::Event;
12 use Term::ReadLine;
13
14 $|=1;
15
16 my $rl = new Term::ReadLine "Coro";
17
18 # fool the Term::ReadLine packages..
19 my $stdin_ready = Coro::Event->io(fd => \*STDIN, poll => "r");
20 sub Term::ReadLine::Tk::Tk_loop { $stdin_ready->next }
21 sub Tk::DoOneEvent { }
22 sub Term::ReadLine::Tk::register_Tk { }
23 $rl->tkRunning(1);
24
25 async {
26 while ($rl->readline("Enter EXIT to exit> ") ne "exit") {
27 print "not exiting yet...\n";
28 }
29 unloop;
30 };
31
32 async {
33 my $timer = Coro::Event->timer(after => 1, interval => 1, hard => 1);
34 while ($timer->next) {
35 print ".";
36 }
37 };
38
39 loop;
40