]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix lisp-comment-indent for single-semicolon case
authorNoam Postavsky <npostavs@gmail.com>
Thu, 6 Jul 2017 12:52:24 +0000 (08:52 -0400)
committerNoam Postavsky <npostavs@gmail.com>
Thu, 6 Jul 2017 12:59:32 +0000 (08:59 -0400)
* lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
open paren if we're looking at multiple comment characters.
* test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
(lisp-comment-indent-2): New tests.

lisp/emacs-lisp/lisp-mode.el
test/lisp/emacs-lisp/lisp-mode-tests.el

index 985b7513a3b718d1bc0dbf7719999efaf359339b..fa25a0c39751b6d75c0639afdd2bfdb5ceeb1c1f 100644 (file)
@@ -738,12 +738,14 @@ or to switch back to an existing one."
 
 (defun lisp-comment-indent ()
   "Like `comment-indent-default', but don't put space after open paren."
-  (let ((pt (point)))
-    (skip-syntax-backward " ")
-    (if (eq (preceding-char) ?\()
-        (cons (current-column) (current-column))
-      (goto-char pt)
-      (comment-indent-default))))
+  (or (when (looking-at "\\s<\\s<")
+        (let ((pt (point)))
+          (skip-syntax-backward " ")
+          (if (eq (preceding-char) ?\()
+              (cons (current-column) (current-column))
+            (goto-char pt)
+            nil)))
+      (comment-indent-default)))
 
 (define-obsolete-function-alias 'lisp-mode-auto-fill 'do-auto-fill "23.1")
 
index 582041cfc2dbbb50d5917a422810b9ff26701db4..cc196beea23057a5a43d1118eb7e95b8bd02768f 100644 (file)
@@ -198,6 +198,32 @@ Expected initialization file: `%s'\"
       (indent-region (point-min) (point-max))
       (should (equal (buffer-string) correct)))))
 
+(ert-deftest lisp-comment-indent-1 ()
+  (with-temp-buffer
+    (insert "\
+\(let (                                  ;sf
+      (x 3))
+  4)")
+    (let ((indent-tabs-mode nil)
+          (correct (buffer-string)))
+      (emacs-lisp-mode)
+      (goto-char (point-min))
+      (comment-indent)
+      (should (equal (buffer-string) correct)))))
+
+(ert-deftest lisp-comment-indent-2 ()
+  (with-temp-buffer
+    (insert "\
+\(let (;;sf
+      (x 3))
+  4)")
+    (let ((indent-tabs-mode nil)
+          (correct (buffer-string)))
+      (emacs-lisp-mode)
+      (goto-char (point-min))
+      (comment-indent)
+      (should (equal (buffer-string) correct)))))
+
 
 (provide 'lisp-mode-tests)
 ;;; lisp-mode-tests.el ends here