summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--compiler/nimfix.nim14
-rw-r--r--compiler/pretty.nim5
-rw-r--r--lib/posix/posix.nim16
-rw-r--r--lib/pure/asyncftpclient.nim2
-rw-r--r--lib/pure/asyncio.nim10
-rw-r--r--lib/pure/osproc.nim6
-rw-r--r--lib/pure/rawsockets.nim8
-rw-r--r--lib/pure/selectors.nim6
-rw-r--r--lib/pure/sockets.nim12
-rw-r--r--lib/windows/winlean.nim16
-rw-r--r--todo.txt5
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