fix: feet-inch dynamic input, STRETCH preselection, ribbon title wrap

- Dynamic-input fields take ' and " and read 2'9" / 3' as lengths (#937)
- STRETCH on a selection made by a crossing window stretches through that
  window and goes straight to the base point (#1068)
- STRETCH's crossing-window steps show no coordinate boxes (#657)
- Collapsed ribbon panel titles wrap at words, never mid-word (#920)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-06 16:15:35 +03:00
1 parent 178c7dff41
commit 1cbcc8f4c5
9 files changed
+67 -5

No files matched your search

+4
View File
@@ -381,6 +381,10 @@ impl Parser {
/// Evaluate a string as an f64 expression.
/// Returns None on parse error.
pub fn eval_number(input: &str) -> Option<f64> {
// Feet and inches (`2'9"`, `3'`, `9 1/2"`) are lengths, not arithmetic (#937).
if input.contains(['\'', '"']) {
return crate::entities::common::parse_typed_length(input);
}
let tokens = tokenize(input.trim()).ok()?;
let mut parser = Parser::new(tokens);
let result = parser.parse_expr(0).ok()?;