ops/core (B1-B8): tp-remove no longer drops 3rd+ properties; string removal is per-interval via tp--map-intervals instead of smearing position-0 props; tp-clear defaults bounds from OBJECT; (tp-get STR N N) works like the buffer region form; no bogus (:key nil) from trailing bare keywords; region form signals immediately on flat PROP/VAL args; face-family prepend semantics extended to font-lock-face/mouse-face. builtins/palette (B45-B51): Emacs 28.1 compat for plistp/subr-x; display-buffer macros use a minor-mode keymap instead of mutating the major-mode map; tp-link resolves palette colors lazily (theme-correct); tp-palette-alist is the single source of truth (stale defvars dropped); tp-headline handles integer heights; tp-space matches its documented pixel spec; tp-parse-color accepts one-sided cons colors. Test infra: fixture gains unwind-protect teardown via tp-layer-reset (incl. transforms); file header/provide renamed to tp-tests; suite is order-independent (verified with shuffled runs). Adds Makefile with test/compile/clean targets. 334 tests green (280 legacy + 54 new regression tests). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
30 lines
814 B
Makefile
30 lines
814 B
Makefile
# Makefile for the tp library.
|
|
#
|
|
# Usage:
|
|
# make test # run all ERT test suites
|
|
# make compile # byte-compile all modules
|
|
# make clean # remove compiled files
|
|
#
|
|
# If dash.el is not on the default load-path, point LOAD_EXTRA at it:
|
|
# make test LOAD_EXTRA="-L ~/.emacs.d/elpa/dash-20240510.1327"
|
|
|
|
EMACS ?= emacs
|
|
LOAD_EXTRA ?=
|
|
LOADPATH = -L . $(LOAD_EXTRA)
|
|
|
|
SRC = tp-core.el tp-reactive.el tp-layer.el tp-ops.el tp-search.el \
|
|
tp-render.el tp-stack.el tp-palette.el tp-builtins.el tp.el
|
|
TESTS = $(wildcard *-tests.el)
|
|
|
|
.PHONY: test compile clean
|
|
|
|
test:
|
|
$(EMACS) -Q --batch $(LOADPATH) -l tp.el $(patsubst %,-l %,$(TESTS)) \
|
|
-f ert-run-tests-batch-and-exit
|
|
|
|
compile: clean
|
|
$(EMACS) -Q --batch $(LOADPATH) -f batch-byte-compile $(SRC)
|
|
|
|
clean:
|
|
rm -f *.elc
|