From e0af01a1d55d428c074c8d62b60b99aad17dbbb3 Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Tue, 9 Jul 2013 20:32:50 +0000 Subject: Make slurping and barfing support prefix arguments. Positive numeric means slurp/barf that many forms. Negative numeric slurp means barf -that many forms, and vice versa. C-u means slurp/barf as many as possible before hitting end of list. Tests are currently pretty limited. Please help! --- test.el | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'test.el') diff --git a/test.el b/test.el index 235fb81..14ef8cc 100644 --- a/test.el +++ b/test.el @@ -1337,6 +1337,46 @@ Four arguments: the paredit command, the text of the buffer ("x (\"y\"|)" "(x \"y\"|)") ("x (\"y\")|" error))) +(let ((current-prefix-arg 2)) + (paredit-test 'paredit-forward-slurp-sexp + '(("(foo|) bar baz" "(foo| bar baz)"))) + (paredit-test 'paredit-backward-slurp-sexp + '(("foo bar (|baz)" "(foo bar |baz)"))) + (paredit-test 'paredit-forward-barf-sexp + '(("(foo| bar baz)" "(foo|) bar baz") + ("(foo |bar baz)" "(foo) |bar baz"))) + (paredit-test 'paredit-backward-barf-sexp + '(("(foo bar| baz)" "foo bar| (baz)") + ("(foo bar |baz)" "foo bar (|baz)")))) + +(let ((current-prefix-arg -2)) + (paredit-test 'paredit-forward-slurp-sexp + '(("(foo| bar baz)" "(foo|) bar baz") + ("(foo |bar baz)" "(foo) |bar baz"))) + (paredit-test 'paredit-backward-slurp-sexp + '(("(foo bar| baz)" "foo bar| (baz)") + ("(foo bar |baz)" "foo bar (|baz)"))) + (paredit-test 'paredit-forward-barf-sexp + '(("(foo|) bar baz" "(foo| bar baz)"))) + (paredit-test 'paredit-backward-barf-sexp + '(("foo bar (|baz)" "(foo bar |baz)")))) + +(let ((current-prefix-arg '(4))) + (paredit-test 'paredit-forward-slurp-sexp + '(("(foo|) bar baz" "(foo| bar baz)") + ("(foo| bar) baz" "(foo| bar baz)"))) + (paredit-test 'paredit-backward-slurp-sexp + '(("foo bar (|baz)" "(foo bar |baz)") + ("foo (bar |baz)" "(foo bar |baz)"))) + (paredit-test 'paredit-forward-barf-sexp + '(("(foo| bar baz)" "(foo|) bar baz") + ("(foo |bar baz)" "(foo) |bar baz") + ("(foo b|ar baz)" "(foo b|ar) baz"))) + (paredit-test 'paredit-backward-barf-sexp + '(("(foo ba|r baz)" "foo (ba|r baz)") + ("(foo bar| baz)" "foo bar| (baz)") + ("(foo bar |baz)" "foo bar (|baz)")))) + (defun paredit-canary-indent-method (state indent-point normal-indent) (check-parens) nil) -- cgit v1.2.1