diff options
-rw-r--r-- | compiler/nimfix.nim | 14 | ||||
-rw-r--r-- | compiler/pretty.nim | 5 | ||||
-rw-r--r-- | lib/posix/posix.nim | 16 | ||||
-rw-r--r-- | lib/pure/asyncftpclient.nim | 2 | ||||
-rw-r--r-- | lib/pure/asyncio.nim | 10 | ||||
-rw-r--r-- | lib/pure/osproc.nim | 6 | ||||
-rw-r--r-- | lib/pure/rawsockets.nim | 8 | ||||
-rw-r--r-- | lib/pure/selectors.nim | 6 | ||||
-rw-r--r-- | lib/pure/sockets.nim | 12 | ||||
-rw-r--r-- | lib/windows/winlean.nim | 16 | ||||
-rw-r--r-- | todo.txt | 5 |
11 files changed, 46 insertions, 54 deletions
diff --git a/compiler/nimfix.nim b/compiler/nimfix.nim index ffab2717a..5cdcc65db 100644 --- a/compiler/nimfix.nim +++ b/compiler/nimfix.nim @@ -22,10 +22,8 @@ Options: --overwriteFiles:on|off overwrite the original nim files. DEFAULT is ON! --checkExtern:on|off style check also extern names - --styleCheck:none|confirm|auto performs style checking for identifiers - and suggests an alternative spelling. If - 'auto', it automatically corrects the - spelling. If 'confirm' it asks the user. + --styleCheck:on|off performs style checking for identifiers + and suggests an alternative spelling. In addition, all command line options of Nim are supported. """ @@ -65,11 +63,9 @@ proc processCmdLine*(pass: TCmdLinePass, cmd: string) = else: localError(gCmdLineInfo, errOnOrOffExpected) of "stylecheck": case p.val.normalize - of "none": gStyleCheck = StyleCheck.None - of "confirm": gStyleCheck = StyleCheck.Confirm - of "auto": gStyleCheck = StyleCheck.Auto - else: localError(gCmdLineInfo, errGenerated, - "'none', 'confirm' or 'auto' expected") + of "off": gStyleCheck = StyleCheck.None + of "on": gStyleCheck = StyleCheck.Auto + else: localError(gCmdLineInfo, errOnOrOffExpected) else: processSwitch(pass, p) of cmdArgument: diff --git a/compiler/pretty.nim b/compiler/pretty.nim index 6ee931951..b7265b946 100644 --- a/compiler/pretty.nim +++ b/compiler/pretty.nim @@ -29,11 +29,10 @@ type PGen = ref TGen proc overwriteFiles*() = - let overWrite = options.getConfigVar("pretty.overwrite").normalize != "off" let doStrip = options.getConfigVar("pretty.strip").normalize == "on" for i in 0 .. high(gSourceFiles): if not gSourceFiles[i].dirty: continue - let newFile = if overWrite: gSourceFiles[i].fullpath + let newFile = if gOverWrite: gSourceFiles[i].fullpath else: gSourceFiles[i].fullpath.changeFileExt(".pretty.nim") try: var f = open(newFile, fmWrite) @@ -102,6 +101,7 @@ proc checkStyle(info: TLineInfo, s: string, k: TSymKind) = message(info, hintName, beau) proc checkDef*(n: PNode; s: PSym) = + if gStyleCheck == StyleCheck.None: return # operators stay as they are: if s.kind in {skResult, skTemp} or s.name.s[0] notin prettybase.Letters: return @@ -184,7 +184,6 @@ proc myOpen(module: PSym): PPassContext = var g: PGen new(g) g.module = module - gCheckExtern = options.getConfigVar("pretty.checkextern").normalize == "on" result = g const prettyPass* = makePass(open = myOpen, process = processSym) diff --git a/lib/posix/posix.nim b/lib/posix/posix.nim index e7d9b1cc8..c3085f0fb 100644 --- a/lib/posix/posix.nim +++ b/lib/posix/posix.nim @@ -388,7 +388,7 @@ type final, pure.} = object ## struct timeval tv_sec*: int ## Seconds. tv_usec*: int ## Microseconds. - FdSet* {.importc: "fd_set", header: "<sys/select.h>", + TFdSet* {.importc: "fd_set", header: "<sys/select.h>", final, pure.} = object Tmcontext* {.importc: "mcontext_t", header: "<ucontext.h>", final, pure.} = object @@ -563,7 +563,7 @@ type {.deprecated: [TSockaddr_in: Sockaddr_in, TAddrinfo: AddrInfo, TSockAddr: SockAddr, TSockLen: SockLen, TTimeval: Timeval, - TFdSet: FdSet, Thostent: Hostent, TServent: Servent, + Thostent: Hostent, TServent: Servent, TInAddr: InAddr].} var @@ -2379,16 +2379,16 @@ proc sched_yield*(): cint {.importc, header: "<sched.h>".} proc strerror*(errnum: cint): cstring {.importc, header: "<string.h>".} proc hstrerror*(herrnum: cint): cstring {.importc, header: "<netdb.h>".} -proc FD_CLR*(a1: cint, a2: var FdSet) {.importc, header: "<sys/select.h>".} -proc FD_ISSET*(a1: cint | SocketHandle, a2: var FdSet): cint {. +proc FD_CLR*(a1: cint, a2: var TFdSet) {.importc, header: "<sys/select.h>".} +proc FD_ISSET*(a1: cint | SocketHandle, a2: var TFdSet): cint {. importc, header: "<sys/select.h>".} -proc fdSet*(a1: cint | SocketHandle, a2: var FdSet) {. +proc fdSet*(a1: cint | SocketHandle, a2: var TFdSet) {. importc: "FD_SET", header: "<sys/select.h>".} -proc FD_ZERO*(a1: var FdSet) {.importc, header: "<sys/select.h>".} +proc FD_ZERO*(a1: var TFdSet) {.importc, header: "<sys/select.h>".} -proc pselect*(a1: cint, a2, a3, a4: ptr FdSet, a5: ptr Ttimespec, +proc pselect*(a1: cint, a2, a3, a4: ptr TFdSet, a5: ptr Ttimespec, a6: var Tsigset): cint {.importc, header: "<sys/select.h>".} -proc select*(a1: cint | SocketHandle, a2, a3, a4: ptr FdSet, a5: ptr Timeval): cint {. +proc select*(a1: cint | SocketHandle, a2, a3, a4: ptr TFdSet, a5: ptr Timeval): cint {. importc, header: "<sys/select.h>".} when hasSpawnH: diff --git a/lib/pure/asyncftpclient.nim b/lib/pure/asyncftpclient.nim index d4ac63e75..c5a97adfc 100644 --- a/lib/pure/asyncftpclient.nim +++ b/lib/pure/asyncftpclient.nim @@ -1,6 +1,6 @@ # # -# Nimrod's Runtime Library +# Nim's Runtime Library # (c) Copyright 2014 Dominik Picheta # See the file "copying.txt", included in this # distribution, for details about the copyright. diff --git a/lib/pure/asyncio.nim b/lib/pure/asyncio.nim index 9299b7370..5e757a03b 100644 --- a/lib/pure/asyncio.nim +++ b/lib/pure/asyncio.nim @@ -91,10 +91,10 @@ import sockets, os ## getSocket(s).accept(client) when defined(windows): - from winlean import TimeVal, SocketHandle, FdSet, FD_ZERO, FD_SET, + from winlean import TimeVal, SocketHandle, TFdSet, FD_ZERO, FD_SET, fdSet, FD_ISSET, select else: - from posix import TimeVal, SocketHandle, FdSet, FD_ZERO, FD_SET, + from posix import TimeVal, SocketHandle, TFdSet, FD_ZERO, FD_SET, fdSet, FD_ISSET, select type @@ -551,13 +551,13 @@ proc timeValFromMilliseconds(timeout = 500): Timeval = result.tv_sec = seconds.int32 result.tv_usec = ((timeout - seconds * 1000) * 1000).int32 -proc createFdSet(fd: var FdSet, s: seq[Delegate], m: var int) = +proc createFdSet(fd: var TFdSet, s: seq[Delegate], m: var int) = FD_ZERO(fd) for i in items(s): m = max(m, int(i.fd)) fdSet(i.fd, fd) -proc pruneSocketSet(s: var seq[Delegate], fd: var FdSet) = +proc pruneSocketSet(s: var seq[Delegate], fd: var TFdSet) = var i = 0 var L = s.len while i < L: @@ -572,7 +572,7 @@ proc select(readfds, writefds, exceptfds: var seq[Delegate], timeout = 500): int = var tv {.noInit.}: Timeval = timeValFromMilliseconds(timeout) - var rd, wr, ex: FdSet + var rd, wr, ex: TFdSet var m = 0 createFdSet(rd, readfds, m) createFdSet(wr, writefds, m) diff --git a/lib/pure/osproc.nim b/lib/pure/osproc.nim index 52d0c56a6..f47df73ca 100644 --- a/lib/pure/osproc.nim +++ b/lib/pure/osproc.nim @@ -883,13 +883,13 @@ elif not defined(useNimRtl): else: result = csystem(command) - proc createFdSet(fd: var FdSet, s: seq[Process], m: var int) = + proc createFdSet(fd: var TFdSet, s: seq[Process], m: var int) = FD_ZERO(fd) for i in items(s): m = max(m, int(i.outHandle)) fdSet(cint(i.outHandle), fd) - proc pruneProcessSet(s: var seq[Process], fd: var FdSet) = + proc pruneProcessSet(s: var seq[Process], fd: var TFdSet) = var i = 0 var L = s.len while i < L: @@ -905,7 +905,7 @@ elif not defined(useNimRtl): tv.tv_sec = 0 tv.tv_usec = timeout * 1000 - var rd: FdSet + var rd: TFdSet var m = 0 createFdSet((rd), readfds, m) diff --git a/lib/pure/rawsockets.nim b/lib/pure/rawsockets.nim index 45634c4ec..7e293f490 100644 --- a/lib/pure/rawsockets.nim +++ b/lib/pure/rawsockets.nim @@ -361,13 +361,13 @@ proc timeValFromMilliseconds(timeout = 500): Timeval = result.tv_sec = seconds.int32 result.tv_usec = ((timeout - seconds * 1000) * 1000).int32 -proc createFdSet(fd: var FdSet, s: seq[SocketHandle], m: var int) = +proc createFdSet(fd: var TFdSet, s: seq[SocketHandle], m: var int) = FD_ZERO(fd) for i in items(s): m = max(m, int(i)) fdSet(i, fd) -proc pruneSocketSet(s: var seq[SocketHandle], fd: var FdSet) = +proc pruneSocketSet(s: var seq[SocketHandle], fd: var TFdSet) = var i = 0 var L = s.len while i < L: @@ -388,7 +388,7 @@ proc select*(readfds: var seq[SocketHandle], timeout = 500): int = ## be read/written to or has errors (``exceptfds``). var tv {.noInit.}: Timeval = timeValFromMilliseconds(timeout) - var rd: FdSet + var rd: TFdSet var m = 0 createFdSet((rd), readfds, m) @@ -410,7 +410,7 @@ proc selectWrite*(writefds: var seq[SocketHandle], ## an unlimited time. var tv {.noInit.}: Timeval = timeValFromMilliseconds(timeout) - var wr: FdSet + var wr: TFdSet var m = 0 createFdSet((wr), writefds, m) diff --git a/lib/pure/selectors.nim b/lib/pure/selectors.nim index 33939537a..1c988c609 100644 --- a/lib/pure/selectors.nim +++ b/lib/pure/selectors.nim @@ -218,7 +218,7 @@ elif not defined(nimdoc): result.tv_sec = seconds.int32 result.tv_usec = ((timeout - seconds * 1000) * 1000).int32 - proc createFdSet(rd, wr: var FdSet, fds: Table[SocketHandle, SelectorKey], + proc createFdSet(rd, wr: var TFdSet, fds: Table[SocketHandle, SelectorKey], m: var int) = FD_ZERO(rd); FD_ZERO(wr) for k, v in pairs(fds): @@ -229,7 +229,7 @@ elif not defined(nimdoc): m = max(m, int(k)) FD_SET(k, wr) - proc getReadyFDs(rd, wr: var FdSet, fds: Table[SocketHandle, SelectorKey]): + proc getReadyFDs(rd, wr: var TFdSet, fds: Table[SocketHandle, SelectorKey]): seq[ReadyInfo] = result = @[] for k, v in pairs(fds): @@ -244,7 +244,7 @@ elif not defined(nimdoc): seq[ReadyInfo] = var tv {.noInit.}: TimeVal = timeValFromMilliseconds(timeout) - var rd, wr: FdSet + var rd, wr: TFdSet var m = 0 createFdSet(rd, wr, fds, m) diff --git a/lib/pure/sockets.nim b/lib/pure/sockets.nim index 5ac3589a2..33f4e8144 100644 --- a/lib/pure/sockets.nim +++ b/lib/pure/sockets.nim @@ -931,13 +931,13 @@ proc timeValFromMilliseconds(timeout = 500): Timeval = result.tv_sec = seconds.int32 result.tv_usec = ((timeout - seconds * 1000) * 1000).int32 -proc createFdSet(fd: var FdSet, s: seq[Socket], m: var int) = +proc createFdSet(fd: var TFdSet, s: seq[Socket], m: var int) = FD_ZERO(fd) for i in items(s): m = max(m, int(i.fd)) fdSet(i.fd, fd) -proc pruneSocketSet(s: var seq[Socket], fd: var FdSet) = +proc pruneSocketSet(s: var seq[Socket], fd: var TFdSet) = var i = 0 var L = s.len while i < L: @@ -987,7 +987,7 @@ proc select*(readfds, writefds, exceptfds: var seq[Socket], var tv {.noInit.}: Timeval = timeValFromMilliseconds(timeout) - var rd, wr, ex: FdSet + var rd, wr, ex: TFdSet var m = 0 createFdSet((rd), readfds, m) createFdSet((wr), writefds, m) @@ -1010,7 +1010,7 @@ proc select*(readfds, writefds: var seq[Socket], return buffersFilled var tv {.noInit.}: Timeval = timeValFromMilliseconds(timeout) - var rd, wr: FdSet + var rd, wr: TFdSet var m = 0 createFdSet((rd), readfds, m) createFdSet((wr), writefds, m) @@ -1034,7 +1034,7 @@ proc selectWrite*(writefds: var seq[Socket], ## an unlimited time. var tv {.noInit.}: Timeval = timeValFromMilliseconds(timeout) - var wr: FdSet + var wr: TFdSet var m = 0 createFdSet((wr), writefds, m) @@ -1052,7 +1052,7 @@ proc select*(readfds: var seq[Socket], timeout = 500): int = return buffersFilled var tv {.noInit.}: Timeval = timeValFromMilliseconds(timeout) - var rd: FdSet + var rd: TFdSet var m = 0 createFdSet((rd), readfds, m) diff --git a/lib/windows/winlean.nim b/lib/windows/winlean.nim index 014215066..1ac82d84a 100644 --- a/lib/windows/winlean.nim +++ b/lib/windows/winlean.nim @@ -423,7 +423,7 @@ type h_length*: int16 h_addr_list*: cstringArray - FdSet* = object + TFdSet* = object fd_count*: cint # unsigned fd_array*: array[0..FD_SETSIZE-1, SocketHandle] @@ -444,7 +444,7 @@ type {.deprecated: [TSockaddr_in: Sockaddr_in, TAddrinfo: AddrInfo, TSockAddr: SockAddr, TSockLen: SockLen, TTimeval: Timeval, - TWSADATA: WSADATA, TFdSet: FdSet, Thostent: Hostent, TServent: Servent, + TWSADATA: WSADATA, Thostent: Hostent, TServent: Servent, TInAddr: InAddr, Tin6_addr: In6_addr, Tsockaddr_in6: Sockaddr_in6, Tsockaddr_in6_old: Sockaddr_in6_old].} @@ -510,7 +510,7 @@ proc recv*(s: SocketHandle, buf: pointer, len, flags: cint): cint {. proc recvfrom*(s: SocketHandle, buf: cstring, len, flags: cint, fromm: ptr SockAddr, fromlen: ptr SockLen): cint {. stdcall, importc: "recvfrom", dynlib: ws2dll.} -proc select*(nfds: cint, readfds, writefds, exceptfds: ptr FdSet, +proc select*(nfds: cint, readfds, writefds, exceptfds: ptr TFdSet, timeout: ptr Timeval): cint {. stdcall, importc: "select", dynlib: ws2dll.} proc send*(s: SocketHandle, buf: pointer, len, flags: cint): cint {. @@ -530,18 +530,18 @@ proc getnameinfo*(a1: ptr SockAddr, a2: SockLen, proc inet_addr*(cp: cstring): int32 {. stdcall, importc: "inet_addr", dynlib: ws2dll.} -proc WSAFDIsSet(s: SocketHandle, set: var FdSet): bool {. +proc WSAFDIsSet(s: SocketHandle, set: var TFdSet): bool {. stdcall, importc: "__WSAFDIsSet", dynlib: ws2dll, noSideEffect.} -proc FD_ISSET*(Socket: SocketHandle, set: var FdSet): cint = - result = if WSAFDIsSet(Socket, set): 1'i32 else: 0'i32 +proc FD_ISSET*(socket: SocketHandle, set: var TFdSet): cint = + result = if WSAFDIsSet(socket, set): 1'i32 else: 0'i32 -proc fdSet*(socket: SocketHandle, s: var FdSet) = +proc fdSet*(socket: SocketHandle, s: var TFdSet) = if s.fd_count < FD_SETSIZE: s.fd_array[int(s.fd_count)] = socket inc(s.fd_count) -proc FD_ZERO*(s: var FdSet) = +proc FD_ZERO*(s: var TFdSet) = s.fd_count = 0 proc wsaStartup*(wVersionRequired: int16, WSData: ptr WSAData): cint {. diff --git a/todo.txt b/todo.txt index f29e97a21..66f47a1d8 100644 --- a/todo.txt +++ b/todo.txt @@ -41,9 +41,8 @@ Misc - fix the bug that keeps 'defer' template from working - make '--implicitStatic:on' the default -- fix the tuple unpacking in lambda bug - make tuple unpacking work in a non-var/let context -- special rule for ``[]=`` +- special rule for ``[]=``, items, pairs - built-in 'getImpl' - type API for macros; make 'spawn' a macro - markAndSweepGC should expose an API for fibers @@ -172,8 +171,6 @@ Not essential for 1.0.0 - implement "closure tuple consists of a single 'ref'" optimization - new feature: ``distinct T with operations`` - arglist as a type (iterator chaining); variable length type lists for generics -- implement marker procs for message passing -- implement closures that support nesting of *procs* > 1 - object constructors: static check for fields if discriminator is known at compile time - prove array accesses |