diff options
author | metagn <metagngn@gmail.com> | 2022-10-01 23:35:09 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-01 22:35:09 +0200 |
commit | 0b1650576c6102ce85b4b2c0788b3a5b77154e43 (patch) | |
tree | ef5e7e6d804665be33b92c507a0d07e082634463 /lib | |
parent | cbd9fee22ac7063c66cc9aa38f20e78df082e387 (diff) | |
download | Nim-0b1650576c6102ce85b4b2c0788b3a5b77154e43.tar.gz |
move widestrs out of system (#20462)
* move widestrs out of system * fix osproc
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/asyncfile.nim | 2 | ||||
-rw-r--r-- | lib/pure/browsers.nim | 2 | ||||
-rw-r--r-- | lib/pure/includes/osenv.nim | 2 | ||||
-rw-r--r-- | lib/pure/includes/oserr.nim | 2 | ||||
-rw-r--r-- | lib/pure/memfiles.nim | 2 | ||||
-rw-r--r-- | lib/pure/os.nim | 3 | ||||
-rw-r--r-- | lib/pure/osproc.nim | 2 | ||||
-rw-r--r-- | lib/std/envvars.nim | 2 | ||||
-rw-r--r-- | lib/std/oserrors.nim | 2 | ||||
-rw-r--r-- | lib/std/private/win_setenv.nim | 3 | ||||
-rw-r--r-- | lib/std/syncio.nim | 2 | ||||
-rw-r--r-- | lib/std/tempfiles.nim | 2 | ||||
-rw-r--r-- | lib/std/widestrs.nim (renamed from lib/system/widestrs.nim) | 3 | ||||
-rw-r--r-- | lib/system.nim | 5 | ||||
-rw-r--r-- | lib/system_overview.rst | 1 | ||||
-rw-r--r-- | lib/windows/registry.nim | 3 | ||||
-rw-r--r-- | lib/windows/winlean.nim | 1 | ||||
-rw-r--r-- | lib/wrappers/odbcsql.nim | 3 |
18 files changed, 37 insertions, 5 deletions
diff --git a/lib/pure/asyncfile.nim b/lib/pure/asyncfile.nim index 9cc9f5b48..217dca6d9 100644 --- a/lib/pure/asyncfile.nim +++ b/lib/pure/asyncfile.nim @@ -26,6 +26,8 @@ import asyncdispatch, os when defined(nimPreviewSlimSystem): import std/[assertions, syncio] + when defined(windows): + import std/widestrs # TODO: Fix duplication introduced by PR #4683. diff --git a/lib/pure/browsers.nim b/lib/pure/browsers.nim index c36e31b11..b95b37a1d 100644 --- a/lib/pure/browsers.nim +++ b/lib/pure/browsers.nim @@ -21,6 +21,8 @@ when defined(nimPreviewSlimSystem): when defined(windows): import winlean + when useWinUnicode and defined(nimPreviewSlimSystem): + import std/widestrs from os import absolutePath else: import os diff --git a/lib/pure/includes/osenv.nim b/lib/pure/includes/osenv.nim index b7200a8e2..a1d906519 100644 --- a/lib/pure/includes/osenv.nim +++ b/lib/pure/includes/osenv.nim @@ -43,6 +43,8 @@ when not defined(nimscript): else: when defined(windows): + when defined(nimPreviewSlimSystem): + import std/widestrs proc c_putenv(envstring: cstring): cint {.importc: "_putenv", header: "<stdlib.h>".} from std/private/win_setenv import setEnvImpl proc c_wgetenv(varname: WideCString): WideCString {.importc: "_wgetenv", diff --git a/lib/pure/includes/oserr.nim b/lib/pure/includes/oserr.nim index a6eba84ba..c58fdb22c 100644 --- a/lib/pure/includes/oserr.nim +++ b/lib/pure/includes/oserr.nim @@ -11,6 +11,8 @@ when not defined(nimscript): when defined(windows): import winlean + when useWinUnicode and defined(nimPreviewSlimSystem): + import std/widestrs proc `==`*(err1, err2: OSErrorCode): bool {.borrow.} proc `$`*(err: OSErrorCode): string {.borrow.} diff --git a/lib/pure/memfiles.nim b/lib/pure/memfiles.nim index a952933ed..d0877b311 100644 --- a/lib/pure/memfiles.nim +++ b/lib/pure/memfiles.nim @@ -17,6 +17,8 @@ when defined(windows): import winlean + when useWinUnicode and defined(nimPreviewSlimSystem): + import std/widestrs elif defined(posix): import posix else: diff --git a/lib/pure/os.nim b/lib/pure/os.nim index a39fcaf46..b1292a648 100644 --- a/lib/pure/os.nim +++ b/lib/pure/os.nim @@ -968,6 +968,9 @@ proc getCacheDir*(app: string): string = when defined(windows): type DWORD = uint32 + when defined(nimPreviewSlimSystem): + import std/widestrs + proc getTempPath( nBufferLength: DWORD, lpBuffer: WideCString ): DWORD {.stdcall, dynlib: "kernel32.dll", importc: "GetTempPathW".} = diff --git a/lib/pure/osproc.nim b/lib/pure/osproc.nim index a0079cf95..5e130b47a 100644 --- a/lib/pure/osproc.nim +++ b/lib/pure/osproc.nim @@ -33,6 +33,8 @@ when defined(linux) and defined(useClone): when defined(nimPreviewSlimSystem): import std/[syncio, assertions] + when defined(windows): + import std/widestrs type diff --git a/lib/std/envvars.nim b/lib/std/envvars.nim index d7706c17d..9748cd2ad 100644 --- a/lib/std/envvars.nim +++ b/lib/std/envvars.nim @@ -61,6 +61,8 @@ when not defined(nimscript): proc c_putenv(envstring: cstring): cint {.importc: "_putenv", header: "<stdlib.h>".} from std/private/win_setenv import setEnvImpl import winlean + when defined(nimPreviewSlimSystem): + import std/widestrs proc c_wgetenv(varname: WideCString): WideCString {.importc: "_wgetenv", header: "<stdlib.h>".} proc getEnvImpl(env: cstring): WideCString = c_wgetenv(env.newWideCString) diff --git a/lib/std/oserrors.nim b/lib/std/oserrors.nim index 9c2649eab..8d06c41da 100644 --- a/lib/std/oserrors.nim +++ b/lib/std/oserrors.nim @@ -16,6 +16,8 @@ type when not defined(nimscript): when defined(windows): import winlean + when defined(nimPreviewSlimSystem): + import std/widestrs else: var errno {.importc, header: "<errno.h>".}: cint diff --git a/lib/std/private/win_setenv.nim b/lib/std/private/win_setenv.nim index 89bb0421f..9315f3e7e 100644 --- a/lib/std/private/win_setenv.nim +++ b/lib/std/private/win_setenv.nim @@ -23,6 +23,9 @@ check errno_t vs cint when not defined(windows): discard else: + when defined(nimPreviewSlimSystem): + import std/widestrs + type wchar_t {.importc: "wchar_t".} = int16 proc setEnvironmentVariableW*(lpName, lpValue: WideCString): int32 {. diff --git a/lib/std/syncio.nim b/lib/std/syncio.nim index fc132bba7..dadad9791 100644 --- a/lib/std/syncio.nim +++ b/lib/std/syncio.nim @@ -12,6 +12,8 @@ include system/inclrtl import std/private/since import std/formatfloat +when defined(windows): + import std/widestrs # ----------------- IO Part ------------------------------------------------ type diff --git a/lib/std/tempfiles.nim b/lib/std/tempfiles.nim index ee42f8a5c..1160aaaad 100644 --- a/lib/std/tempfiles.nim +++ b/lib/std/tempfiles.nim @@ -30,6 +30,8 @@ const when defined(windows): import winlean + when defined(nimPreviewSlimSystem): + import std/widestrs var O_RDWR {.importc: "_O_RDWR", header: "<fcntl.h>".}: cint diff --git a/lib/system/widestrs.nim b/lib/std/widestrs.nim index bb348fd67..7df4004d1 100644 --- a/lib/system/widestrs.nim +++ b/lib/std/widestrs.nim @@ -7,8 +7,7 @@ # distribution, for details about the copyright. # -# Nim support for C/C++'s `wide strings`:idx:. This is part of the system -# module! Do not import it directly! +# Nim support for C/C++'s `wide strings`:idx:. #when not declared(ThisIsSystem): # {.error: "You must not import this module explicitly".} diff --git a/lib/system.nim b/lib/system.nim index daee96c1c..fd31cf3da 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -2655,8 +2655,9 @@ when defined(genode): # and return to thread entrypoint. -import system/widestrs -export widestrs +when not defined(nimPreviewSlimSystem): + import std/widestrs + export widestrs when notJSnotNims: when defined(windows) and compileOption("threads"): diff --git a/lib/system_overview.rst b/lib/system_overview.rst index 158069375..b338845d6 100644 --- a/lib/system_overview.rst +++ b/lib/system_overview.rst @@ -8,7 +8,6 @@ is in separate files: * `exceptions <exceptions.html>`_ * `assertions <assertions.html>`_ * `dollars <dollars.html>`_ -* `widestrs <widestrs.html>`_ * `ctypes <ctypes.html>`_ diff --git a/lib/windows/registry.nim b/lib/windows/registry.nim index 44e4e4420..6abc41a89 100644 --- a/lib/windows/registry.nim +++ b/lib/windows/registry.nim @@ -11,6 +11,9 @@ import winlean, os +when defined(nimPreviewSlimSystem): + import std/widestrs + type HKEY* = uint diff --git a/lib/windows/winlean.nim b/lib/windows/winlean.nim index 91b0d18c1..93ab3dd2e 100644 --- a/lib/windows/winlean.nim +++ b/lib/windows/winlean.nim @@ -19,6 +19,7 @@ when defined(nimHasStyleChecks): when defined(nimPreviewSlimSystem): from std/syncio import FileHandle + import std/widestrs const useWinUnicode* = not defined(useWinAnsi) diff --git a/lib/wrappers/odbcsql.nim b/lib/wrappers/odbcsql.nim index 4e37e1a17..6b300c5ff 100644 --- a/lib/wrappers/odbcsql.nim +++ b/lib/wrappers/odbcsql.nim @@ -7,6 +7,9 @@ # distribution, for details about the copyright. # +when defined(nimPreviewSlimSystem): + import std/widestrs + when not defined(ODBCVER): const ODBCVER = 0x0351 ## define ODBC version 3.51 by default |