emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 386918f: Fix lisp-comment-indent for single-semicol


From: Noam Postavsky
Subject: [Emacs-diffs] master 386918f: Fix lisp-comment-indent for single-semicolon case
Date: Thu, 6 Jul 2017 08:58:47 -0400 (EDT)

branch: master
commit 386918f0b807116051facbe51a2bee342de37841
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Fix lisp-comment-indent for single-semicolon case
    
    * 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            | 14 ++++++++------
 test/lisp/emacs-lisp/lisp-mode-tests.el | 26 ++++++++++++++++++++++++++
 2 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 985b751..fa25a0c 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -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")
 
diff --git a/test/lisp/emacs-lisp/lisp-mode-tests.el 
b/test/lisp/emacs-lisp/lisp-mode-tests.el
index 582041c..cc196be 100644
--- a/test/lisp/emacs-lisp/lisp-mode-tests.el
+++ b/test/lisp/emacs-lisp/lisp-mode-tests.el
@@ -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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]