mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-22 21:32:31 +00:00
Make numerous improvements
- Python static hello world now 1.8mb - Python static fully loaded now 10mb - Python HTTPS client now uses MbedTLS - Python REPL now completes import stmts - Increase stack size for Python for now - Begin synthesizing posixpath and ntpath - Restore Python \N{UNICODE NAME} support - Restore Python NFKD symbol normalization - Add optimized code path for Intel SHA-NI - Get more Python unit tests passing faster - Get Python help() pagination working on NT - Python hashlib now supports MbedTLS PBKDF2 - Make memcpy/memmove/memcmp/bcmp/etc. faster - Add Mersenne Twister and Vigna to LIBC_RAND - Provide privileged __printf() for error code - Fix zipos opendir() so that it reports ENOTDIR - Add basic chmod() implementation for Windows NT - Add Cosmo's best functions to Python cosmo module - Pin function trace indent depth to that of caller - Show memory diagram on invalid access in MODE=dbg - Differentiate stack overflow on crash in MODE=dbg - Add stb_truetype and tools for analyzing font files - Upgrade to UNICODE 13 and reduce its binary footprint - COMPILE.COM now logs resource usage of build commands - Start implementing basic poll() support on bare metal - Set getauxval(AT_EXECFN) to GetModuleFileName() on NT - Add descriptions to strerror() in non-TINY build modes - Add COUNTBRANCH() macro to help with micro-optimizations - Make error / backtrace / asan / memory code more unbreakable - Add fast perfect C implementation of μ-Law and a-Law audio codecs - Make strtol() functions consistent with other libc implementations - Improve Linenoise implementation (see also github.com/jart/bestline) - COMPILE.COM now suppresses stdout/stderr of successful build commands
This commit is contained in:
parent
fa7b4f5bd1
commit
39bf41f4eb
806 changed files with 77494 additions and 63859 deletions
8
third_party/python/Lib/posixpath.py
vendored
8
third_party/python/Lib/posixpath.py
vendored
|
@ -25,6 +25,8 @@ devnull = '/dev/null'
|
|||
import os
|
||||
import sys
|
||||
import stat
|
||||
import cosmo
|
||||
import ntpath
|
||||
import genericpath
|
||||
from genericpath import *
|
||||
|
||||
|
@ -64,6 +66,8 @@ def normcase(s):
|
|||
|
||||
def isabs(s):
|
||||
"""Test whether a path is absolute"""
|
||||
if cosmo.kernel == 'nt' and '\\' in s:
|
||||
return ntpath.isabs(s)
|
||||
s = os.fspath(s)
|
||||
sep = _get_sep(s)
|
||||
return s.startswith(sep)
|
||||
|
@ -78,6 +82,8 @@ def join(a, *p):
|
|||
If any component is an absolute path, all previous path components
|
||||
will be discarded. An empty last part will result in a path that
|
||||
ends with a separator."""
|
||||
if cosmo.kernel == 'nt' and '\\' in a:
|
||||
return ntpath.join(a, *p)
|
||||
a = os.fspath(a)
|
||||
sep = _get_sep(a)
|
||||
path = a
|
||||
|
@ -233,6 +239,8 @@ def ismount(path):
|
|||
def expanduser(path):
|
||||
"""Expand ~ and ~user constructions. If user or $HOME is unknown,
|
||||
do nothing."""
|
||||
if cosmo.kernel == 'nt' and '\\' in path:
|
||||
return ntpath.expanduser(path)
|
||||
path = os.fspath(path)
|
||||
if isinstance(path, bytes):
|
||||
tilde = b'~'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue