libexpr: Deprecate CR and CRLF line endings

They are broken beyond repair, and barring a language version revision
this is our only option besides doing nothing about it.

Change-Id: I25fa4f032ca9b5ca67356946bcd889289583592e
This commit is contained in:
piegames
2025-02-28 16:17:17 +01:00
parent 5778998cfa
commit e38ad66ef7
12 changed files with 97 additions and 10 deletions
+12
View File
@@ -0,0 +1,12 @@
---
synopsis: 'more deprecated features'
issues: []
cls: []
category: Breaking Changes
credits: [piegames, horrors]
---
This release cycle features a new batch of deprecated (anti-)features.
You can opt in into the old behavior with `--extra-deprecated-features` or any equivalent configuration option.
- `cr-line-endings`: Current handling of CR (`\r`) or CRLF (`\r\n`) line endings in Nix is inconsistent and broken, and will lead to unexpected evaluation results with certain strings. Given that fixing the semantics might silently alter the evaluation result of derivations, the only option at the moment is to disallow them alltogether. More proper support for CRLF is planned to be added back again in the future. Until then, all files must use `\n` exclusively.