proc log {data} {
puts $data
}
+
+proc log_intern {what data} {
+ puts "[clock seconds] ++ $what $data"
+}
proc logerror {data} {
log $data
}
}
+proc catch_restoreei {body} {
+ global errorInfo errorCode
+ set l [list $errorInfo $errorCode]
+ catch { uplevel 1 $body }
+ manyset $l errorInfo errorCode
+}
+
+proc catch_logged {body} {
+ global errorInfo
+ if {[catch { uplevel 1 $body } emsg]} {
+ logerror "error (catch_logged): $emsg\n $errorInfo"
+ }
+}
+
proc sendprivmsg {dest l} {
foreach v [split $l "\n"] {
sendout [expr {[ischan $dest] ? "PRIVMSG" : "NOTICE"}] $dest $v
proc check_nick {n} {
if {[regexp -nocase {[^][\\`_^{|}a-z0-9-]} $n]} { error "bad char in nick" }
if {[regexp {^[-0-9]} $n]} { error "bad nick start" }
+ if {[string length $n] > 18} { error "nick too long" }
}
proc ischan {dest} {