ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/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

# User Rev Content
1 root 1.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