]> code.delx.au - gnu-emacs-elpa/commitdiff
Fix bug where empty varlists weren't parsed.
authorJackson Ray Hamilton <jackson@jacksonrayhamilton.com>
Sat, 7 Nov 2015 18:22:30 +0000 (10:22 -0800)
committerJackson Ray Hamilton <jackson@jacksonrayhamilton.com>
Sat, 7 Nov 2015 18:22:30 +0000 (10:22 -0800)
context-coloring.el
test/context-coloring-test.el
test/fixtures/empty-varlist.el [new file with mode: 0644]

index 8d6cacc0c116b8ebbc6430de3a47d803051d0e1f..0fe1427d8927d9e0d45e8aa06e0dbe226f599e6f 100644 (file)
@@ -504,9 +504,11 @@ For instance, the current file could be a Node.js program."
     (context-coloring-colorize-comments-and-strings start (point))))
 
 (defsubst context-coloring-elisp-forward-sexp ()
-  "Like `forward-sexp', coloring skipped comments and strings."
+  "Skip/ignore missing sexps, coloring comments and strings."
   (let ((start (point)))
-    (forward-sexp)
+    (condition-case nil
+        (forward-sexp)
+      (scan-error (context-coloring-forward-sws)))
     (context-coloring-elisp-colorize-comments-and-strings-in-region
      start (point))))
 
index f643e914c508b5a9b917c235ac8345ef9f21d95d..fc79f7b6c35bd1f7f3ac12eb7946745a7b2e8b82 100644 (file)
@@ -749,6 +749,16 @@ ssssssssssss0"))
 1111 cc ccccccc
     1sss11")))
 
+(context-coloring-test-deftest-emacs-lisp empty-varlist
+  (lambda ()
+    (context-coloring-test-assert-coloring "
+1111111 1 11
+1111111 111
+
+1111 1cc
+      11
+1111111 111")))
+
 (context-coloring-test-deftest-emacs-lisp let*
   (lambda ()
     (context-coloring-test-assert-coloring "
diff --git a/test/fixtures/empty-varlist.el b/test/fixtures/empty-varlist.el
new file mode 100644 (file)
index 0000000..5ee6a78
--- /dev/null
@@ -0,0 +1,6 @@
+(lambda ( ))
+(lambda ())
+
+(let (;;
+      ))
+(lambda ())