From ebc30399eda1933c7cd145cf1c9a43030a2ca603 Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Tue, 6 May 2025 16:35:25 +0200 Subject: [PATCH 01/12] GetLogicalDriveStringsW is desktop only --- Modules/clinic/posixmodule.c.h | 2 +- Modules/posixmodule.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index 6b8cc3d07ab01c..301ca9fa958428 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1659,7 +1659,7 @@ os_listdir(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject * return return_value; } -#if defined(MS_WINDOWS) +#if defined(MS_WINDOWS_DESKTOP) PyDoc_STRVAR(os_listdrives__doc__, "listdrives($module, /)\n" diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 922694fa367ac3..e74a10f9080db6 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -4698,7 +4698,7 @@ os_listdir_impl(PyObject *module, path_t *path) } -#ifdef MS_WINDOWS +#ifdef MS_WINDOWS_DESKTOP /*[clinic input] os.listdrives From f915189fe7ff87edd393db85166f9f2045f629eb Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Tue, 6 May 2025 16:42:12 +0200 Subject: [PATCH 02/12] fix header --- Modules/clinic/posixmodule.c.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index 301ca9fa958428..e472f75414fc75 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1681,7 +1681,7 @@ os_listdrives(PyObject *module, PyObject *Py_UNUSED(ignored)) return os_listdrives_impl(module); } -#endif /* defined(MS_WINDOWS) */ +#endif /* defined(MS_WINDOWS_DESKTOP) */ #if defined(MS_WINDOWS) From 868258e89e124a0d5eea60ff030c740f16ec4bd3 Mon Sep 17 00:00:00 2001 From: "blurb-it[bot]" <43283697+blurb-it[bot]@users.noreply.github.com> Date: Tue, 6 May 2025 14:44:56 +0000 Subject: [PATCH 03/12] =?UTF-8?q?=F0=9F=93=9C=F0=9F=A4=96=20Added=20by=20b?= =?UTF-8?q?lurb=5Fit.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst diff --git a/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst b/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst new file mode 100644 index 00000000000000..38dc2285fdeda6 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst @@ -0,0 +1 @@ +Remove :func:`os.listdrives` in non windows desktop builds since they don't support this feature From 1f8e2790c7b516a84e02f22c0f22e865054cd7ed Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Tue, 6 May 2025 16:53:49 +0200 Subject: [PATCH 04/12] further fixes to windows partitions --- Modules/clinic/posixmodule.c.h | 4 ++-- Modules/posixmodule.c | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index e472f75414fc75..ceed2e58781e95 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1659,7 +1659,7 @@ os_listdir(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject * return return_value; } -#if defined(MS_WINDOWS_DESKTOP) +#if defined(MS_WINDOWS_DESKTOP) || defined(WINAPI_PARTITION_SYSTEM) PyDoc_STRVAR(os_listdrives__doc__, "listdrives($module, /)\n" @@ -1681,7 +1681,7 @@ os_listdrives(PyObject *module, PyObject *Py_UNUSED(ignored)) return os_listdrives_impl(module); } -#endif /* defined(MS_WINDOWS_DESKTOP) */ +#endif /* defined(MS_WINDOWS_DESKTOP) || defined(WINAPI_PARTITION_SYSTEM) */ #if defined(MS_WINDOWS) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index e74a10f9080db6..1c297f376c4d04 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -4698,7 +4698,7 @@ os_listdir_impl(PyObject *module, path_t *path) } -#ifdef MS_WINDOWS_DESKTOP +#if defined(MS_WINDOWS_DESKTOP) || defined(WINAPI_PARTITION_SYSTEM) /*[clinic input] os.listdrives @@ -4747,6 +4747,10 @@ os_listdrives_impl(PyObject *module) return result; } +#endif /* MS_WINDOWS_DESKTOP || WINAPI_PARTITION_SYSTEM */ + +#ifdef MS_WINDOWS + /*[clinic input] os.listvolumes From a454e96111de424d4ab968140e066d0fc22b2eda Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Tue, 6 May 2025 16:55:06 +0200 Subject: [PATCH 05/12] fix macro name --- Modules/clinic/posixmodule.c.h | 4 ++-- Modules/posixmodule.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index ceed2e58781e95..3cf8a6e7d4cef6 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1659,7 +1659,7 @@ os_listdir(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject * return return_value; } -#if defined(MS_WINDOWS_DESKTOP) || defined(WINAPI_PARTITION_SYSTEM) +#if defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM) PyDoc_STRVAR(os_listdrives__doc__, "listdrives($module, /)\n" @@ -1681,7 +1681,7 @@ os_listdrives(PyObject *module, PyObject *Py_UNUSED(ignored)) return os_listdrives_impl(module); } -#endif /* defined(MS_WINDOWS_DESKTOP) || defined(WINAPI_PARTITION_SYSTEM) */ +#endif /* defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM) */ #if defined(MS_WINDOWS) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 1c297f376c4d04..d8229bcf1205f8 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -4698,7 +4698,7 @@ os_listdir_impl(PyObject *module, path_t *path) } -#if defined(MS_WINDOWS_DESKTOP) || defined(WINAPI_PARTITION_SYSTEM) +#if defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM) /*[clinic input] os.listdrives @@ -4747,7 +4747,7 @@ os_listdrives_impl(PyObject *module) return result; } -#endif /* MS_WINDOWS_DESKTOP || WINAPI_PARTITION_SYSTEM */ +#endif /* MS_WINDOWS_DESKTOP || MS_WINDOWS_SYSTEM */ #ifdef MS_WINDOWS From 28e13ae45dff5709df33f7989e8e1b93fc8a66b7 Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Tue, 6 May 2025 17:00:58 +0200 Subject: [PATCH 06/12] make linter happy --- Modules/clinic/posixmodule.c.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index 3cf8a6e7d4cef6..a4fb8cef3ca4f2 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1659,7 +1659,7 @@ os_listdir(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject * return return_value; } -#if defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM) +#if (defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM)) PyDoc_STRVAR(os_listdrives__doc__, "listdrives($module, /)\n" @@ -1681,7 +1681,7 @@ os_listdrives(PyObject *module, PyObject *Py_UNUSED(ignored)) return os_listdrives_impl(module); } -#endif /* defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM) */ +#endif /* (defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM)) */ #if defined(MS_WINDOWS) @@ -13398,4 +13398,4 @@ os__emscripten_debugger(PyObject *module, PyObject *Py_UNUSED(ignored)) #ifndef OS__EMSCRIPTEN_DEBUGGER_METHODDEF #define OS__EMSCRIPTEN_DEBUGGER_METHODDEF #endif /* !defined(OS__EMSCRIPTEN_DEBUGGER_METHODDEF) */ -/*[clinic end generated code: output=f7b5635e0b948be4 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=3a4edc65bb386975 input=a9049054013a1b77]*/ From adc119a16fa3749543d68e65f596486830c202b1 Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Tue, 6 May 2025 23:06:15 +0200 Subject: [PATCH 07/12] remove os.listvolumes as well --- .../Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst | 3 ++- Modules/clinic/posixmodule.c.h | 4 ++-- Modules/posixmodule.c | 5 ++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst b/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst index 38dc2285fdeda6..142684d6687a40 100644 --- a/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst +++ b/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst @@ -1 +1,2 @@ -Remove :func:`os.listdrives` in non windows desktop builds since they don't support this feature +Remove :func:`os.listdrives` and :func:`os.listvolumes` in non windows desktop builds +since the underlying functionality diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index a4fb8cef3ca4f2..5680c5f4fcd85e 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1683,7 +1683,7 @@ os_listdrives(PyObject *module, PyObject *Py_UNUSED(ignored)) #endif /* (defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM)) */ -#if defined(MS_WINDOWS) +#if defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM) PyDoc_STRVAR(os_listvolumes__doc__, "listvolumes($module, /)\n" @@ -1705,7 +1705,7 @@ os_listvolumes(PyObject *module, PyObject *Py_UNUSED(ignored)) return os_listvolumes_impl(module); } -#endif /* defined(MS_WINDOWS) */ +#endif /* defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM) */ #if defined(MS_WINDOWS) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index d8229bcf1205f8..61e5cdfcfb13c2 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -4749,7 +4749,7 @@ os_listdrives_impl(PyObject *module) #endif /* MS_WINDOWS_DESKTOP || MS_WINDOWS_SYSTEM */ -#ifdef MS_WINDOWS +#if defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM) /*[clinic input] os.listvolumes @@ -4812,6 +4812,9 @@ os_listvolumes_impl(PyObject *module) return result; } +#endif /* MS_WINDOWS_APP || MS_WINDOWS_SYSTEM */ + +#ifdef MS_WINDOWS /*[clinic input] os.listmounts From a3d6bed63f7533b62aeb6df20ace27408e2ac9bd Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Tue, 6 May 2025 23:11:24 +0200 Subject: [PATCH 08/12] make linter happy --- Modules/clinic/posixmodule.c.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index 5680c5f4fcd85e..0d781bb38c21b2 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1705,7 +1705,7 @@ os_listvolumes(PyObject *module, PyObject *Py_UNUSED(ignored)) return os_listvolumes_impl(module); } -#endif /* defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM) */ +#endif /* (defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM)) */ #if defined(MS_WINDOWS) @@ -13398,4 +13398,4 @@ os__emscripten_debugger(PyObject *module, PyObject *Py_UNUSED(ignored)) #ifndef OS__EMSCRIPTEN_DEBUGGER_METHODDEF #define OS__EMSCRIPTEN_DEBUGGER_METHODDEF #endif /* !defined(OS__EMSCRIPTEN_DEBUGGER_METHODDEF) */ -/*[clinic end generated code: output=3a4edc65bb386975 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=b2f101ce2b2cf700 input=a9049054013a1b77]*/ From fca55c383c3d46a724b1ada5cdcd177fa890899d Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Tue, 6 May 2025 23:53:20 +0200 Subject: [PATCH 09/12] fix another linter warning --- Modules/clinic/posixmodule.c.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index 0d781bb38c21b2..e1510dbe76993d 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1683,7 +1683,7 @@ os_listdrives(PyObject *module, PyObject *Py_UNUSED(ignored)) #endif /* (defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM)) */ -#if defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM) +#if (defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM)) PyDoc_STRVAR(os_listvolumes__doc__, "listvolumes($module, /)\n" From 194994a2eea3a84e0e059948c3efa642f7fdf627 Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Wed, 7 May 2025 00:12:30 +0200 Subject: [PATCH 10/12] remove os.listmounts as well --- .../Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst | 4 ++-- Modules/clinic/posixmodule.c.h | 4 ++-- Modules/posixmodule.c | 5 ++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst b/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst index 142684d6687a40..9c58252554b9e6 100644 --- a/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst +++ b/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst @@ -1,2 +1,2 @@ -Remove :func:`os.listdrives` and :func:`os.listvolumes` in non windows desktop builds -since the underlying functionality +Remove :func:`os.listdrives`, :func:`os.listvolumes` and :func:`os.listmounts` +in non windows desktop builds since the underlying functionality diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index e1510dbe76993d..9b764860c7bea3 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -1707,7 +1707,7 @@ os_listvolumes(PyObject *module, PyObject *Py_UNUSED(ignored)) #endif /* (defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM)) */ -#if defined(MS_WINDOWS) +#if (defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM)) PyDoc_STRVAR(os_listmounts__doc__, "listmounts($module, /, volume)\n" @@ -1774,7 +1774,7 @@ os_listmounts(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObjec return return_value; } -#endif /* defined(MS_WINDOWS) */ +#endif /* (defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM)) */ #if defined(MS_WINDOWS) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 61e5cdfcfb13c2..2bb5f387e44ef8 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -4814,7 +4814,7 @@ os_listvolumes_impl(PyObject *module) #endif /* MS_WINDOWS_APP || MS_WINDOWS_SYSTEM */ -#ifdef MS_WINDOWS +#if defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_SYSTEM) /*[clinic input] os.listmounts @@ -4895,6 +4895,9 @@ os_listmounts_impl(PyObject *module, path_t *volume) return result; } +#endif /* MS_WINDOWS_DESKTOP || MS_WINDOWS_SYSTEM */ + +#ifdef MS_WINDOWS /*[clinic input] os._path_isdevdrive From 887c2643df1568c4724a320930d06ffe24256b97 Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Wed, 7 May 2025 00:48:49 +0200 Subject: [PATCH 11/12] make linter happy --- Modules/clinic/posixmodule.c.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index 9b764860c7bea3..3621a0625411d3 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -13398,4 +13398,4 @@ os__emscripten_debugger(PyObject *module, PyObject *Py_UNUSED(ignored)) #ifndef OS__EMSCRIPTEN_DEBUGGER_METHODDEF #define OS__EMSCRIPTEN_DEBUGGER_METHODDEF #endif /* !defined(OS__EMSCRIPTEN_DEBUGGER_METHODDEF) */ -/*[clinic end generated code: output=b2f101ce2b2cf700 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=ae64df0389746258 input=a9049054013a1b77]*/ From e14545e8e62c568b98b0b358074388440623b0c8 Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Wed, 7 May 2025 10:13:24 +0200 Subject: [PATCH 12/12] Update Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst Co-authored-by: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> --- .../next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst b/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst index 9c58252554b9e6..7c53fc484a84ac 100644 --- a/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst +++ b/Misc/NEWS.d/next/Library/2025-05-06-14-44-55.gh-issue-133517.Ca6NgW.rst @@ -1,2 +1,2 @@ Remove :func:`os.listdrives`, :func:`os.listvolumes` and :func:`os.listmounts` -in non windows desktop builds since the underlying functionality +in non Windows desktop builds since the underlying functionality is missing.