Skip to content

Use uucp caselesseq instead of structural equality and String.ascii_lowercase #2444

Open
@cuihtlauac

Description

@cuihtlauac

In the ocaml.org source code, strings are compared or searched, ignoring cases (i.e. in a case-insensitive manner). Most often, this is done using String.lowercase_ascii and either OCaml structural equality (=) or standard library functions such as String.sub or String.begins_with.

However, as @Octachron has noted, this is reckless. We'd better use robust, i18n-aware string functions from Uucp's library. Since this library is already part of what ocaml.org pulls, this does not create dependency considerations.
See: #2442

There are several tasks involved here:

  1. Locate places where case-insensitive string comparison takes places
  2. Use Uucp functions to perform those comparisons
  3. Check no regression takes place

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    📋 Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions