remove some deprecated pre-1.0 stdlib modules (#20202)

* remove pre-1.0 stdlib deprecations

notable exceptions:
* ze, toU8 etc in system/arithmetics
* potentially callsite

* undo macros, ospaths, securehash, oswalkdir

* add sets back

* add back future, document deprecated versions

* add to changelog [skip ci]
This commit is contained in:
metagn 2022-08-23 21:18:40 +03:00 • committed by GitHub
commit f4af9e955b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 18 additions and 980 deletions

View file

@ -1,66 +1,17 @@
discard """
cmd: "nim $target --threads:on $options $file"
errormsg: "illegal recursion in type 'TIRC'"
line: 16
line: 12
"""
import events
import net
import strutils
import os
type
TMessageReceivedEventArgs = object of EventArgs
Nick*: string
Message*: string
TIRC = object
EventEmitter: EventEmitter
MessageReceivedHandler*: EventHandler
Socket: Socket
Thread: Thread[TIRC]
proc initIRC*(): TIRC =
result.Socket = socket()
result.EventEmitter = initEventEmitter()
result.MessageReceivedHandler = initEventHandler("MessageReceived")
proc IsConnected*(irc: var TIRC): bool =
return running(irc.Thread)
proc sendRaw*(irc: var TIRC, message: string) =
irc.Socket.send(message & "\r\L")
proc handleData(irc: TIRC) {.thread.} =
var connected = False
while connected:
var tup = @[irc.Socket]
var o = select(tup, 200)
echo($o)
echo($len(tup))
if len(tup) == 1:
#Connected
connected = True
#Parse data here
else:
#Disconnected
connected = False
return
proc Connect*(irc: var TIRC, nick: string, host: string, port: int = 6667) =
connect(irc.Socket, host, TPort(port), TDomain.AF_INET)
send(irc.Socket,"USER " & nick & " " & nick & " " & nick & " " & nick & "\r\L")
send(irc.Socket,"NICK " & nick & "\r\L")
var thread: Thread[TIRC]
createThread(thread, handleData, irc)
irc.Thread = thread
when true:
var irc = initIRC()
irc.Connect("AmryBot[Nim]","irc.freenode.net",6667)
irc.sendRaw("JOIN #nim")
os.Sleep(4000)