From 6918d89538657a9d31efdb1f51465df65bb4bb7f Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Sat, 9 Apr 2011 18:25:23 +0000 Subject: Don't indent while the buffer is in intermediate broken states. Ignore-this: eb090de24ae6a8502605aefee51420a4 Emacs may have indentation methods that rely on the buffer's being balanced. The change to `paredit-forward-barf-sexp' is OK because when `paredit-forward-and-indent' calls `indent-region', the point will be on the same line as the closing delimiter, so it will get indented correctly. Add regression tests. darcs-hash:20110409182523-00fcc-5ed49a704f12afa1fb9353eb8dcd5d97e963964c --- test.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'test.el') diff --git a/test.el b/test.el index 987048a..ddb61c8 100644 --- a/test.el +++ b/test.el @@ -183,4 +183,21 @@ Four arguments: the paredit command, the text of the buffer ;; (";;|foo(" ";|foo(" error) )) +(defun paredit-canary-indent-method (state indent-point normal-indent) + (check-parens) + nil) + +(put 'paredit-canary 'scheme-indent-function 'paredit-canary-indent-method) + +;;; Check for regressions the indentation behaviour of forward slurping +;;; and barfing. + +(paredit-test 'paredit-forward-slurp-sexp + '(("(paredit-canary|)\n(lose)" + "(paredit-canary|\n (lose))"))) + +(paredit-test 'paredit-forward-barf-sexp + '(("(paredit-canary| ;\n (lose))") + ("(paredit-canary| ;\n)\n(lose)"))) + ;++ Killing commands...ugh... -- cgit v1.2.1