- Cut to temp buffer:
- Respect selections by expanding to full line boundaries
- Normalize end iterator to include full line + newline
- Ensure consistent newline handling for last line
- Preserve cursor position after delete
- Prevent line merging when accumulating cut buffer
- Duplicate line:
- Simplify logic using line-based iter APIs
- Fix incorrect selection handling and off-by-one issues
- Ensure full-line duplication for both selection and cursor cases
- Correct cursor/selection restoration after duplication