projects
/
8sync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't freak out on interrupts during (select)!
[8sync.git]
/
demos
/
irc.scm
diff --git
a/demos/irc.scm
b/demos/irc.scm
index 84b5528dbfc2e3111b4c2cf5a058c253fc05d7fe..2ff8c8cfda8360003f7dc90cc2ec6e521f8b3053 100755
(executable)
--- a/
demos/irc.scm
+++ b/
demos/irc.scm
@@
-65,7
+65,7
@@
(display (irc-line dest))))
(define* (handle-login socket username
(display (irc-line dest))))
(define* (handle-login socket username
- #:
optional
+ #:
key
(hostname "*")
(servername "*")
(realname username)
(hostname "*")
(servername "*")
(realname username)
@@
-130,6
+130,7
@@
,(lambda (s)
(if (string->number s) #t #f))))
(username (single-char #\u) (required? #t) (value #t))
,(lambda (s)
(if (string->number s) #t #f))))
(username (single-char #\u) (required? #t) (value #t))
+ (channels (value #t))
(listen)))
(define (main args)
(listen)))
(define (main args)
@@
-138,13
+139,18
@@
(port (or (option-ref options 'port #f)
default-irc-port))
(username (option-ref options 'username #f))
(port (or (option-ref options 'port #f)
default-irc-port))
(username (option-ref options 'username #f))
- (listen (option-ref options 'listen #f)))
+ (listen (option-ref options 'listen #f))
+ (channels (option-ref options 'channels ""))
+ (agenda (make-agenda)))
(display `((server ,hostname) (port ,port) (username ,username)
(display `((server ,hostname) (port ,port) (username ,username)
- (listen ,listen)))
+ (listen ,listen)
(channels-split ,(string-split channels #\space))
))
(newline)
(newline)
+ (if listen
+ (spawn-and-queue-repl-server! agenda))
(queue-and-start-irc-agenda!
(queue-and-start-irc-agenda!
- (make-agenda)
+ agenda
(irc-socket-setup hostname port)
#:inet-port port
#:username username
(irc-socket-setup hostname port)
#:inet-port port
#:username username
- #:handler (make-simple-irc-handler handle-line))))
+ #:handler (make-simple-irc-handler handle-line)
+ #:channels (string-split channels #\space))))