From 036684281942343c84612ce63764ad994c752279 Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Sat, 26 Nov 2022 01:46:42 +0000 Subject: Teach paredit-forward/backward-kill-word to take prefix argument. XXX Unlike other paredit commands, C-u is not handled specially -- it is just interpreted as 4. No automatic tests for this at the moment. --- test.el | 68 +++++++++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 25 deletions(-) (limited to 'test.el') diff --git a/test.el b/test.el index 8435d87..77850fa 100644 --- a/test.el +++ b/test.el @@ -1613,31 +1613,49 @@ Four arguments: the paredit command, the text of the buffer "\n(f xy\n z\n w)\n;;;|T " "\n(f xy\n z\n w)\n;;;|T ")))) -(paredit-test 'paredit-forward-kill-word - '(("|(hello \"world\")" - "(| \"world\")" - "( \"|\")" - error) - ("(hello| \"world\")" - "(hello \"|\")") - ("(hello \"world|\")" error) - ("(hello \"world\"|)" error) - ("(hello \"world\")|" error))) - -(paredit-test 'paredit-backward-kill-word - '(("(hello \"world\")|" - "(hello \"|\")" - "(|\"\")" - ;; error or nop -- XXX broken - ) - ("(hello \"|world\")" - "(|\"world\")" - ;; error or nop -- XXX broken - ) - ("(|hello \"world\")" - ;; error or nop -- XXX broken - ) - ("|(hello \"world\")" "|(hello \"world\")"))) +(let ((forward-cases + '(("|(hello \"world\")" + "(| \"world\")" + "( \"|\")" + error) + ("(hello| \"world\")" + "(hello \"|\")") + ("(hello \"world|\")" error) + ("(hello \"world\"|)" error) + ("(hello \"world\")|" error)))) + (paredit-test 'paredit-forward-kill-word forward-cases) + (let ((current-prefix-arg -1)) + (paredit-test 'paredit-backward-kill-word forward-cases))) + +(let ((backward-cases + '(("(hello \"world\")|" + "(hello \"|\")" + "(|\"\")" + ;; error or nop -- XXX broken + ) + ("(hello \"|world\")" + "(|\"world\")" + ;; error or nop -- XXX broken + ) + ("(|hello \"world\")" + ;; error or nop -- XXX broken + ) + ("|(hello \"world\")" "|(hello \"world\")")))) + (paredit-test 'paredit-backward-kill-word backward-cases) + (let ((current-prefix-arg -1)) + (paredit-test 'paredit-forward-kill-word backward-cases))) + +(let ((current-prefix-arg 2)) + (paredit-test 'paredit-forward-kill-word + '((("(foo |bar baz quux)" + "(foo | quux)" + "(foo |)" + "(foo |)")))) + (paredit-test 'paredit-backward-kill-word + '((("(foo bar baz| quux)" + "(foo | quux)" + "(| quux)" + "(| quux)"))))) (if (> paredit-test-nfailures 0) (error "%S paredit tests failed" paredit-test-nfailures)) -- cgit v1.2.1