Skip to content

Windows support; PyOSError added; sys.audit; more os api...

Latest
Compare
Choose a tag to compare
@litlighilit litlighilit released this 27 Apr 15:32

v0.9.10 - 2025-04-27

Full Changelog: v0.9.9...v0.9.10

This version is tested against Windows. And:

  • PyOSError is added over Nim's OSError
  • sys.audit is introduced
  • more os api...

Bug Fixes

  • py:
    • io.flush raises OSError on SIGXFSZ. (5f26625)
    • audit funcs; .... (1ad6d96)
    • with for os.ScandirIterator; add follow_symlinks for DirEntry.stat. (85ee4ec)
    • OSError([arg]): works. (ac0d459)
    • stat_result lacks st_file_attributes,st_reparse_tag on Windows. (42acad3)
    • os.makedirs exist_ok was exists_ok. (e48a60a)
  • bool:
    • echo x where x has no $ resulted in pybool called. (9a8d0dc)
    • bypass(NIM-BUG), fixup! feat(bool): pybool cvt works for Option, bool-able: T is SomeNumber not compile. (3da7e86)
  • pyconfig:
    • X87_double_rounding was reverted. (e0f0749)
    • c_defined reverted;getrandom never declared. (87326ec)
  • windows:
    • CC crash on dtoa:fixup: fix(builtins): round(float[, n]) not to-even (ref #52). (d26c786)
    • oserr: raiseExcWithPath used wrong error code. (538277f)

Lib

  • unittest:
    • fixup: skipIf,skipUnless that returns a proc not compile.... (ec62e98, 6c51835)
  • resource:
    • not compile on Linux(lack RUSAGE_BOTH,RUSAGE_THREAD). (c54fa07)
    • getpagesize not compile; prlimit,setrlimit not work for non tuple types. (bad24cc)
  • signal:
  • stat:
    • stat.S_IMODE not compile for Mode. (4625dcc)
  • stat,os.chmod,os.symlink:
    • not compile on Windows. (c626c08)
  • os:
    • fixup: 'feat(Lib/os): chmod' errmap not compile on Termux. (cd4faa9)
    • Windows: unlink not compile. (a331a89)
  • shutils:
    • SameFileError not of PyOSError. (e8d93be)
  • time:
    • sleep: add audit; fix 1 ms offset. (4531bb9)

JS

  • Lib/os:
    • getpid() not work on js. (ac405b0)
    • not compiles for stat,unlink,chmods,scandir. (2e76c43)
  • oserr/errmap: not compile. (48d0fc3)
  • os: just import causes not compile. (7fc1a2e)
  • bypass(NIM-BUG): nim 2.2.4/2.3.1 disallows NonVarDestructor when js. (b3c8121)
  • denoAttrs:deno detect was reverted, import* not support str as arg. (3153a57)

Feature additions

builtins

  • ops: bitops for ints. (2025f40)
  • bool: pybool cvt works for Option, bool-able. (e9eaf8c)

Lib

inner

  • pyconfig: builtin_available,check_func_runtime. (ac14e44)
  • version: wrapPySince, templWrapExportSincePy. (d040f7a)
  • Python/config_read_env. (5d0659d)
  • sugar:
    • raise OSError now raises PyOSError over Nim's.... (7a1586b)
    • support except (E,...) [as x]. (86fbbad)

impr

  • Lib/signal: use AC_CHECK_FUNCS. (8e69446)

refine

  • Lib: use wrapExportSincePy if possible. (a0011fa)
  • win: dedup IO_REPARSE_TAG_SYMLINK,IO_REPARSE_TAG_MOUNT_POINT. (2b26c30)

refactor

  • Lib/shutil: split to shutil_impl; add n_shutil. (2544eea)