aiongg
4c81d658ec
Integration: track t05
...
# Conflicts:
# crates/ui-egui/tests/keyboard_shortcuts.rs
# docs/ui-parity.md
2026-10-22 03:01:39 +00:00
aiongg
512b2aa9fd
Integration: track t04
...
# Conflicts:
# ROADMAP.md
# crates/engine/src/cmd/edit.rs
# crates/engine/src/cmd/formulas.rs
# crates/engine/src/tests.rs
# crates/formula/src/lib.rs
# crates/formula/src/parser.rs
# crates/formula/src/tests.rs
# crates/ui-egui/src/control.rs
# crates/ui-egui/src/formula_bar.rs
# crates/ui-egui/src/grid.rs
# crates/ui-egui/src/i18n.rs
# crates/ui-egui/src/lib.rs
# crates/ui-egui/src/ribbon.rs
# crates/ui-egui/tests/selection.rs
# docs/function-parity.md
# docs/ui-parity.md
2026-10-22 03:01:31 +00:00
aiongg
b0b6409112
Integration: track t03
...
# Conflicts:
# ROADMAP.md
# crates/ui-egui/tests/keyboard_shortcuts.rs
# docs/file-format-parity.md
# docs/localization-parity.md
# docs/ui-parity.md
2026-10-22 03:00:13 +00:00
aiongg
54d0f7cfc0
Integration: track t02
...
# Conflicts:
# ROADMAP.md
# crates/core/src/lib.rs
# crates/ui-egui/src/editor.rs
# crates/ui-egui/src/grid.rs
# crates/ui-egui/src/tabs.rs
# docs/chart-parity.md
# docs/localization-parity.md
# docs/ui-parity.md
2026-10-22 02:59:55 +00:00
aiongg
1316d39865
Merge PR #1151 : Charts: a huge trendline forecast no longer collapses the chart ( #1148 )
...
ROADMAP.md: all rows kept.
crates/chart/src/tests.rs: both tests kept.
2026-10-22 02:37:37 +00:00
aiongg
169c78dda8
Merge PR #1111 : Respect workbook structure protection in sheet rename, move, copy, hide and unhide ( #1049 )
2026-10-22 02:37:22 +00:00
aiongg
470a2ae2c1
Merge PR #1765 : Sheet protection: obey the Sort and Use AutoFilter boxes
...
Conflicts:
- crates/engine/src/cmd/data.rs: do_sort keeps #1284 's sheet parameter and checks Sorting on it; toggle_filter checks Filtering after #1285 's data_target
- crates/engine/src/tests.rs: adjacent tests, both kept
2026-10-22 02:37:16 +00:00
aiongg
8ec29a8b3b
Merge PR #1652 : Fill handle: right-drag opens the fill menu (Copy Cells, Fill Series, Fill Formatting Only, Fill Without Formatting, Series…)
...
crates/ui-egui/src/grid.rs: kept both GridState fields (context_menu_frame, fill_menu); previous_popups tuple has four elements inside the touch_pan branch; release match has Drag::Rows|Cols, then the two Drag::Fill arms
docs/ui-parity.md: kept HEAD header line, both change rows
2026-10-22 02:36:24 +00:00
aiongg
8e2974cc65
Merge PR #1629 : Memory: undo steps share picture and macro bytes instead of copying them
...
Conflicts:
- ROADMAP.md: both progress-log and revision rows kept
- crates/xlsx/src/sheet_write.rs: keeps #995 's image_part call; drops #1629 's to_vec line (image_part copies from &[u8])
2026-10-22 02:36:22 +00:00
aiongg
cba89cfda8
Merge PR #1066 : Engine: formulas.evaluate refuses what cell entry refuses, saying why
...
ROADMAP.md: both progress-log rows kept.
2026-10-22 02:36:20 +00:00
aiongg
7fd1553a8b
Merge PR #1626 : Keyboard: Ctrl+6 hides and shows objects, saved as workbookPr showObjects
...
Conflicts:
- docs/file-format-parity.md: header and the three .xlsx rows keep main's text plus the show-objects entry; both log rows kept
- docs/ui-parity.md: header keeps main's text plus Ctrl+6; both log rows kept
2026-10-22 02:36:15 +00:00
aiongg
8590dca0db
Merge PR #2207 : clipboard: bound HTML colspan/rowspan expansion ( #2171 )
2026-10-22 02:36:12 +00:00
aiongg
d0394a0f34
Merge PR #2005 : AutoFill refuses a target that doesn't hold the source in a corner (whole rows into whole columns aborted the app)
...
crates/engine/src/fill.rs: kept both tests (#1360 and #2005 ).
2026-10-22 02:36:12 +00:00
aiongg
635056bd23
Merge PR #2131 : Print: JIS B4/B5 and Japanese paper sizes (はがき・封筒・B6)
...
ROADMAP.md: one status line naming both changes; both feature-table and progress-log rows, newest first.
2026-10-22 02:36:10 +00:00
aiongg
7269b12f1e
Integration: #1976 scenarioShow writes stored numbers as values
...
Entering them through the parser applied percent entry to Percentage-formatted
cells (a stored 0.05 would not round-trip). Test: scenario_show_restores_a_percentage_cells_stored_number.
2026-10-22 02:36:05 +00:00
aiongg
c03d4a881b
Merge PR #1570 : XLSX: keep dynamic-array cell metadata (cm) on save
...
ROADMAP.md: kept both progress-log rows
2026-10-22 02:36:04 +00:00
aiongg
7e74b35a1b
Merge PR #2095 : Number Stored as Text: green indicator, warning button and Convert to Number ( #1994 )
...
crates/ui-egui/src/grid.rs: kept object_menu (2084) and error_check_tag (2095), both fns and both calls.
crates/ui-egui/src/i18n/de.rs, pt.rs: union of the entries.
docs/ui-parity.md: one status line naming both changes, both history rows.
2026-10-22 02:36:03 +00:00
aiongg
7768f56603
Merge PR #1580 : Calc: CELL("filename") names the workbook's file
2026-10-22 02:35:56 +00:00
aiongg
6b0411091a
Merge PR #1559 : Sort and de-duplicate data.textToColumns fixed-width breaks
...
Conflicts:
- crates/engine/src/cmd/data.rs: adjacent test insertions, both kept
2026-10-22 02:35:56 +00:00
aiongg
524ab89a1a
Merge PR #1379 : engine: subtotal honours header:false instead of dropping the first data row
...
Conflicts:
- crates/engine/src/cmd/data.rs: subtotal keeps #1285 's data_target and sheet-qualified calls with #1379 's header/first logic; grand-total range starts at first; both tests kept (#1299 filter blanks, #1379 subtotal)
2026-10-22 02:35:51 +00:00
aiongg
6e66756ce8
Merge PR #1976 : Enter bare numbers in Percentage-formatted cells as percents
2026-10-22 02:35:44 +00:00
aiongg
3ed16929d9
Merge PR #1320 : AutoFit Column Width measures text in the font the grid draws it with
...
Conflicts:
- crates/engine/src/cmd/format.rs: autofit_cols keeps #885 's (si, lines) and adds #1320 's measure
2026-10-22 02:35:39 +00:00
aiongg
6d4e62d12b
Merge PR #2032 : Formula entry: an incomplete formula's error describes what was typed ( fixes #2030 )
...
crates/formula/src/tests.rs: kept both tests.
2026-10-22 02:35:39 +00:00
aiongg
4fd4d39aa0
Merge PR #1308 : engine: refuse removeDuplicates with no valid column instead of deleting all rows
...
Conflicts:
- crates/engine/src/cmd/data.rs: keeps #1308 's column guard after cols is built; drops its later 'let sheet' (#1285 supplies sheet)
2026-10-22 02:35:34 +00:00
aiongg
66c64a9331
Merge PR #2019 : Formulas: the reference app's longest legal operator chain (4,096 operands) no longer crashes entry or save
...
docs/function-parity.md: union of the status line and both history rows.
2026-10-22 02:35:30 +00:00
aiongg
77b861392a
Merge PR #1299 : Filter: count empty text and ="" results as (Blanks)
2026-10-22 02:35:26 +00:00
aiongg
d691e95f6d
Merge PR #1285 : Remove Duplicates, Filter and Subtotal: a Sheet! prefix on the range works on that sheet
2026-10-22 02:35:24 +00:00
aiongg
87df1947f9
Merge PR #1284 : Sort: a Sheet! prefix on the range sorts that sheet, not the active one
2026-10-22 02:35:21 +00:00
aiongg
d26bbe3432
Merge PR #1085 : Format: Row Height and Column Width say pixels, and take points like the reference app
...
Conflicts:
- crates/engine/src/cmd/format.rs: spec strings keep #885 's sheet?/Sheet! forms with #1085 's pixels/points wording; row_height and col_width keep #1085 's unit logic with #885 's (si, lines) = line_targets
2026-10-22 02:35:21 +00:00
aiongg
0bf7d40f3b
Integration: #1534 remove the What::Hyperlinks paste-special target
...
The hyperlink copy stays inside What::All, which the cut path uses; the existing
test a_cut_moves_the_sources_notes_hyperlinks_and_merges covers it.
2026-10-22 02:35:17 +00:00
aiongg
69f6ea363d
Merge PR #1529 : fix #1458 : one reference-app sheet-name quoting rule for formulas, pivot sources and ADDRESS
2026-10-22 02:35:16 +00:00
aiongg
2c10a8da46
Merge PR #759 : Names: a name over several ranges reads its top-level commas as unions
...
crates/formula/src/lib.rs: union pub use list (MAX_FORMULA_LEN and parse_name).
crates/engine/src/cmd/formulas.rs: keep both new tests.
2026-10-22 02:35:11 +00:00
aiongg
708c82cf2c
Integration: #1059 delete_areas accepts a single row or column
...
home.deleteRows {rows:"2"} and home.deleteColumns {cols:"B"} failed with
"not a range"; delete_areas now parses with parse_lines. The PR's test
covers both.
2026-10-22 02:35:09 +00:00
aiongg
c8e0323cf3
Merge PR #1975 : Select precedent/dependent cells with Ctrl+[ / Ctrl+] ( #1865 part 1)
2026-10-22 02:35:09 +00:00
aiongg
93517ccf51
Merge PR #1500 : Fix number-format palette colours in grid and PDF output
...
crates/engine/src/cmd/print.rs: kept both appended tests
docs/ui-parity.md: kept HEAD header line, both change rows
2026-10-22 02:35:06 +00:00
aiongg
51401a382c
Merge PR #1534 : engine: a cut takes the source's notes, hyperlinks and merged areas with it
2026-10-22 02:35:01 +00:00
aiongg
ee54646258
Merge PR #1372 : Edit: text that would parse as a number or formula keeps its quote prefix in the editor ( #1362 )
2026-10-22 02:34:59 +00:00
aiongg
0f27cef4d6
Merge PR #1364 : engine: keep case-insensitive replace from dropping text when folding shifts byte boundaries
2026-10-22 02:34:59 +00:00
aiongg
e9479d2155
Merge PR #1360 : engine: keep AutoFill text series from panicking or wrapping on i64 overflow
2026-10-22 02:34:56 +00:00
aiongg
675d96ef17
Merge PR #1373 : Protection: Protect Sheet entries unprotect, selectLockedCells enforced ( #1346 )
2026-10-22 02:34:56 +00:00
aiongg
93de710d28
Merge PR #1306 : Show dynamic array source formulas read-only in spill cells
...
docs/ui-parity.md: kept HEAD's header line, both change rows (newest first)
2026-10-22 02:34:52 +00:00
aiongg
78225db6f8
Merge PR #1108 : Refuse a cut-paste whose destination does not fit instead of dropping cells ( #997 )
2026-10-22 02:34:52 +00:00
aiongg
0b573362bc
Merge PR #1059 : rows/cols parameters: accept a single row or column
2026-10-22 02:34:51 +00:00
aiongg
ee6dead310
Merge PR #1057 : Flash Fill: read the text cells show
2026-10-22 02:34:49 +00:00
aiongg
4f7111941e
Merge PR #951 : fix(fill): respect the workbook date system in monthly AutoFill
...
docs/ui-parity.md: kept the newer header line, kept both history rows.
2026-10-22 02:34:45 +00:00
aiongg
2c73c2b18f
Merge PR #1214 : Grid: an armed Format Painter pastes onto the next cells clicked or dragged
2026-10-22 02:34:39 +00:00
aiongg
ccc0e8cfe4
Merge PR #885 : Row, column and freeze commands act on the sheet they are given
2026-10-22 02:34:36 +00:00
Higgs32584 and Claude Opus 5.5
06b7d09a7e
clipboard: drop wall-clock timing from span test (clippy)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-21 21:28:47 -04:00
Higgs32584 and Claude Opus 5.5
b817c04a9b
clipboard: bound HTML colspan/rowspan expansion ( #2171 )
...
Clipboard HTML is read only as far as the pasted text's shape (clamped
to the sheet) and at most 1,000,000 cells; colspan/rowspan are clamped
to the sheet extent before expanding, and rowspan now keeps later rows
in their columns.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-21 21:06:51 -04:00
midasdf
b092633561
Print: Japanese Envelope #4 is 90×205 mm and add B6 (ISO) to the Size menu
...
長形4号 is a 90×205 mm envelope (90×225 mm is 長形40号, a different one), so
the paper table gave it a height 20 mm too tall — and XLSX paper id 74, the PDF
MediaBox and the print preview all followed it. Use 205 mm (581.10 pt) and pin
the corrected size with a dedicated assertion; the ROADMAP progress row is
corrected too. 長形40号 is not added: it is a different envelope.
The Page Layout ▸ Size menu stopped at `B5 (ISO)` and never offered
`B6 (ISO)`, which the engine and the command docs support; add it.
2026-10-22 00:24:30 +09:00