Skip to content

Conversation

secDre4mer
Copy link
Contributor

@secDre4mer secDre4mer commented Feb 26, 2025

Currently, yaegi uses the filepath package to join paths.

However, this has issues: YAEGI uses an fs.FS internally for source code access, and fs specifies that / separated paths must be used. On Unix systems, this obviously makes no difference; but on Windows, with a non-default FS, this causes errors (since YAEGI creates \ separated paths, but the FS expects / separated paths).

Furthermore, generally speaking, Golang import paths and the like are always / separated anyway, regardless of OS.

To clear this up, this PR changes path handling to / separated paths. This has the advantage of being accepted by all OS (even Windows will accept / separated paths). Paths passed by the user to CompilePath or similar are changed to / separators, if necessary.

Copy link
Collaborator

@mvertes mvertes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay in reviewing this. Thank you for fixing the support of windows. Looks good to me.

@mvertes mvertes added bug Something isn't working area/core os/windows labels May 21, 2025
@mvertes mvertes added this to the v0.16.x milestone May 21, 2025
@traefiker traefiker merged commit 938db1c into traefik:master May 21, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/core bug Something isn't working os/windows
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants