From a26a9a75e0472abc35ae877fcfc2a4b10745c588 Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Tue, 22 Mar 2011 07:44:46 +0000 Subject: 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(-) (limited to 'paredit.el') 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 ?\" ) -- cgit v1.2.1