branch: elpa/paredit
commit a26a9a75e0472abc35ae877fcfc2a4b10745c588
Author: Taylor R Campbell <[email protected]>
Commit: Taylor R Campbell <[email protected]>
Permit joining adjacent lists without intervening whitespace.
Ignore-this: c058945ef1f3c5590c36a034121811e8
Insert whitespace if it may be necessary.
Thanks to Eitan Postavsky for the bug report.
darcs-hash:20110322074446-00fcc-e3303edd5c9055a9687d22f99379d23f8879eba7
---
paredit.el | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/paredit.el b/paredit.el
index 6d8d827..cbbbafb 100644
--- a/paredit.el
+++ b/paredit.el
@@ -2282,7 +2282,7 @@ Both must be lists, strings, or atoms; error if there is
a mismatch."
(right-char (char-after right-point)))
(let ((left-syntax (char-syntax left-char))
(right-syntax (char-syntax right-char)))
- (cond ((>= left-point right-point)
+ (cond ((< right-point left-point)
(error "Can't join a datum with itself."))
((and (eq left-syntax ?\) )
(eq right-syntax ?\( )
@@ -2293,6 +2293,11 @@ Both must be lists, strings, or atoms; error if there is
a mismatch."
(delete-char 1)
(goto-char left-point)
(backward-delete-char 1)
+ ;; Heuristic kludge: (foo)(bar) => (foo bar).
+ (if (and (= left-point right-point)
+ (not (or (eq ?\s (char-syntax (char-before)))
+ (eq ?\s (char-syntax (char-after))))))
+ (insert ?\s))
(backward-up-list)
(indent-sexp))
((and (eq left-syntax ?\" )