Kinneyzhang
65a438c773
update
2026-01-06 00:11:14 +08:00
Kinneyzhang
edfb7b2e35
update
2026-01-05 20:20:12 +08:00
copilot-swe-agent[bot]
d11d109f7b
Fix "Odd length text property list" error when property value is nil
...
The bug occurred because tp--parse-args was incorrectly omitting nil values
from the property list, producing (face) instead of (face nil).
Fixed the same bug pattern in:
- tp--parse-args (used by tp-set, tp-reset, tp-add)
- tp-add-to-layers
- tp-add-to-all-layers
Added 6 new regression tests for nil property values.
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-05 09:52:26 +00:00
Kinneyzhang
ec1619e047
update
2026-01-05 17:43:34 +08:00
copilot-swe-agent[bot]
93f61e5ba0
Fix tp-intervals to handle 1-based buffer positions correctly
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-04 13:10:55 +00:00
copilot-swe-agent[bot]
b58065293b
Fix define-tps to set multi-layer properties with tp-layers structure
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-04 12:54:36 +00:00
copilot-swe-agent[bot]
a481327727
Add support for parameterized layer groups (define-tps with arg)
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-04 12:38:58 +00:00
copilot-swe-agent[bot]
e277b1e999
Remove support for parameterized reactive layers (Format 4), only allow :props/:data etc with $-prefixed variables
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-04 12:01:26 +00:00
copilot-swe-agent[bot]
c7db648e85
Fix tp-layer-props-with-arg to handle reactive parameterized layers
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-04 11:45:53 +00:00
copilot-swe-agent[bot]
7934749397
Complete refactoring: remove tp-define-layer and tp-define-layer-group, use only define-tp and define-tps
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-04 11:35:30 +00:00
copilot-swe-agent[bot]
4607f50a13
Add reactive features support (:props, :data, :compute, :watch, :transform) to define-tp macro
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-04 11:16:53 +00:00
copilot-swe-agent[bot]
5667881765
Fix tp-group-props to handle both old and new formats, update remaining documentation examples
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-04 10:31:52 +00:00
copilot-swe-agent[bot]
fdaa2b0c54
Refactor tp-define-layer to define-tp/define-tps format with updated tests and documentation
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-04 10:23:47 +00:00
Kinneyzhang
82c226e777
update
2026-01-02 19:41:11 +08:00
copilot-swe-agent[bot]
9a65f85fe8
Fix property merging when combining custom layers with built-in properties
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-01 17:09:37 +00:00
copilot-swe-agent[bot]
04feef0433
Add automatic property merging for duplicate keys in single call
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2026-01-01 16:49:16 +00:00
copilot-swe-agent[bot]
3410e28dac
feat: add recursive resolution for nested custom layer properties
...
When a define-tp layer returns a plist containing other custom layer names,
those are now recursively expanded to their built-in text properties.
This fixes the issue where tp-button using tp-palette internally would
leave tp-palette as a text property instead of resolving it to the
actual face properties.
Changes:
- Added tp--plist-has-layer-key-p helper function
- Updated tp--expand-layer-in-plist to recursively expand layer props
- Updated tp-layer-props to expand nested layers in returned plist
- Updated tp-layer-props-with-arg to expand nested layers in returned plist
- Added 3 tests for nested layer resolution
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-31 08:15:32 +00:00
Kinneyzhang
3be28a7362
update
2025-12-31 16:02:30 +08:00
copilot-swe-agent[bot]
197a564733
Improve documentation and add error handling for palette utility functions
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-30 16:00:49 +00:00
copilot-swe-agent[bot]
03aa3d392a
Add validation for built-in text property names in define-tp and improve tp-palette colors
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-30 15:59:00 +00:00
Kinneyzhang
8d17b7da12
modify tp-button
2025-12-30 23:39:14 +08:00
Kinneyzhang
98d554aa1a
add tp-palette
2025-12-30 18:09:18 +08:00
Kinneyzhang
81e20918f2
add built-in colors
2025-12-30 11:50:04 +08:00
copilot-swe-agent[bot]
0b49e8202b
Add reactive system optimizations: batch updates, value transforms, debug mode
...
- Add tp-with-batch-updates macro for deferring reactive updates
- Add :transform option for tp-text value transformation
- Add tp-debug-mode for tracing reactive updates
- Remove widget tests (moved to twidget repository)
- Remove widget documentation
- Add optimization documentation (CN/EN)
- Fix deep merge for reactive property updates
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-29 16:53:09 +00:00
Kinneyzhang
c59ac63837
remove code related to widget
2025-12-29 15:28:50 +08:00
copilot-swe-agent[bot]
388bb667ca
Change named slots syntax from :name-slot to (slot-name ...) sexp format
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-29 04:00:02 +00:00
copilot-swe-agent[bot]
7c64cb32ff
Implement named slots and component inheritance for widgets
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-29 03:08:54 +00:00
copilot-swe-agent[bot]
edf2c908ea
Add warning for unused slot arguments when slot is not supported
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-29 01:16:12 +00:00
copilot-swe-agent[bot]
fbd1e72836
Update widget slot system to boolean and support multiple slots, add optimization doc
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-29 01:14:33 +00:00
Kinneyzhang
4edd27ccab
improve code
2025-12-29 08:52:53 +08:00
copilot-swe-agent[bot]
4abcb0fd33
Address code review feedback: improve efficiency and documentation
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 19:17:54 +00:00
copilot-swe-agent[bot]
09b56b584e
Implement tp-define-twidget and tp-widget-parse for widget definition and parsing
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 19:15:44 +00:00
copilot-swe-agent[bot]
328d98b7ef
Support reactive variables with define-tp layers: adds tp-name only when reactive vars present
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 18:54:38 +00:00
copilot-swe-agent[bot]
e9cb90cce7
Support parameterized and non-parameterized define-tp layers in tp-push-layer/tp-put-layer
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 18:39:10 +00:00
copilot-swe-agent[bot]
aafbeff1a4
Remove tp-name from direct property setting, keep for layer stack and reactive
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 18:19:21 +00:00
copilot-swe-agent[bot]
42c436494f
Consolidate tp-layer-params into tp-layer-alist with unified structure
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 17:48:12 +00:00
copilot-swe-agent[bot]
c701a1ca75
Support layer properties at any position in plist
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 17:26:32 +00:00
copilot-swe-agent[bot]
e4729668ed
Fix: support mixing layer properties with native text properties
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 17:11:34 +00:00
copilot-swe-agent[bot]
31ccbb6924
Address code review comments: improve comments clarity
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 16:44:20 +00:00
copilot-swe-agent[bot]
a24bd264c1
Update define-tp format: use empty arglist () for non-parameterized layers
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 16:42:25 +00:00
copilot-swe-agent[bot]
0b44d1f57b
Add parameterized define-tp format and new usage syntax
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 16:35:42 +00:00
copilot-swe-agent[bot]
fefe5873ed
Address code review feedback: use helper function for layer props update
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:31:31 +00:00
copilot-swe-agent[bot]
094f8f0f88
Fix tp-text reactive variable synchronization when initial value is nil
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:29:03 +00:00
Kinneyzhang
2156d1083a
improve code
2025-12-28 18:19:15 +08:00
Kinneyzhang
bb7b1b2962
Merge remote-tracking branch 'origin/copilot/optimize-tp-el-code-structure'
2025-12-28 18:15:36 +08:00
Kinneyzhang
5562ef98ad
improve code
2025-12-28 18:15:34 +08:00
copilot-swe-agent[bot]
121662dee8
Clean up section headers for consistency
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:09:55 +00:00
copilot-swe-agent[bot]
868ba038d9
Reorganize tp.el with clear section headers and add ARCHITECTURE.md
...
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:07:16 +00:00
Kinneyzhang
e0a56f7475
improve code
2025-12-28 17:53:26 +08:00
Kinneyzhang
e52a9e8cd8
improve code
2025-12-28 17:51:13 +08:00