[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#8933: 'js-mode' break single char comment highlighting from 'define-
From: |
Lawrence Mitchell |
Subject: |
bug#8933: 'js-mode' break single char comment highlighting from 'define-generic-mode'. |
Date: |
Mon, 27 Jun 2011 10:08:54 +0100 |
User-agent: |
Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux) |
Oleksandr Gavenko wrote:
> I use Emacs 23.3.
Also reproducible in Emacs 24.0.50
> $ emacs -Q
> Next eval:
> (define-generic-mode my-mode
> '(?\; ?#)
> nil nil nil nil)
> And open file with two or more lines:
> ; commented line (1)
> wrongly highlighted line (2)
> another wrongly highlighted line (3)
> After 'M-x my-mode RET' line (1) highlighted as comment line.
> Another line not.
> Then open any .js file so js-mode loaded and back to 'my-mode'
> file and revert it.
> Now all line highlighted as comment lines!
This is because js-mode stomps on the default value of
comment-start and comment-end (rather than using
make-local-variable). This confuses generic-mode.
Cheers,
Lawrence
Here's a commit-message plus patch.
js-mode: Don't stomp on comment-start/end's default value
* progmodes/js.el (js-mode): Ensure comment-start and comment-end
are local variables (Bug#8933).
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 5bc756e..4b3a2ba 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-27 Lawrence Mitchell <wence@gmx.li>
+
+ * progmodes/js.el (js-mode): Ensure comment-start and comment-end
+ are local variables (Bug#8933).
+
2011-06-22 Lawrence Mitchell <wence@gmx.li>
* net/browse-url.el (browse-url-xdg-open): Use 0, rather than nil
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index a0437cc..1bdcb4c 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -3306,8 +3306,8 @@ If one hasn't been set, or if it's stale, prompt for a
new one."
#'js--which-func-joiner)
;; Comments
- (setq comment-start "// ")
- (setq comment-end "")
+ (set (make-local-variable 'comment-start) "// ")
+ (set (make-local-variable 'comment-end) "")
(set (make-local-variable 'fill-paragraph-function)
'js-c-fill-paragraph)