Skip to content

CM.make is unable to handle filenames that contain a backslash #253

@JohnReppy

Description

@JohnReppy

Version

110.99.2

Operating System

  • All
  • Linux
  • macOS
  • Windows
  • Other Unix

OS Version

No response

Processor

Any

Component

Compilation manager (CM)

Severity

Cosmetic

Description of the problem

CM.make somehow treats a backslash as a forward slash. This means that CM.make is unable to read any files that have a backslash in their name. For example:

- CM.make "\\.cm";
[scanning /.cm]

uncaught exception Io [Io: openIn failed on "/.cm", No such file or directory]
  raised at: Basis/Implementation/IO/text-io-fn.sml:792.25-792.71
             ../cm/util/safeio.sml:30.11
             ../cm/parse/parse.sml:502.47

Transcript

No response

Expected Behavior

No response

Steps to Reproduce

No response

Additional Information

No response

Email address

No response

Comments from smlnj-gforge

Original smlnj-gforge bug number 312

Submitted on 2022-05-20 at 15:57:00

comment by @JohnReppy on 2022-05-31 15:49:00 +000 UTC

The problem is that CM is interpreting the backslash as a path separator (which it is on Windows). The interpretation of the argument probably should follow the system's conventions. ~ Note that there is a workaround, which is creating a wrapper CM file that uses a quoted path "\.cm".

comment by @JohnReppy on 2022-06-05 18:02:00 +000 UTC

Fixed for 110.99.3 and 2022.2.

Metadata

Metadata

Labels

bugSomething isn't workingcmproblem with compilation managerfixed-in-110.99.3issues that will be fixed in the 110.99.3 versiongforgebug (or feature request) ported from smlnj-gforge repository

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions