summaryrefslogtreecommitdiffstats
path: root/emacs.d/nxhtml/tests/in/emacswiki-erb-bug.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs.d/nxhtml/tests/in/emacswiki-erb-bug.el')
-rw-r--r--emacs.d/nxhtml/tests/in/emacswiki-erb-bug.el36
1 files changed, 36 insertions, 0 deletions
diff --git a/emacs.d/nxhtml/tests/in/emacswiki-erb-bug.el b/emacs.d/nxhtml/tests/in/emacswiki-erb-bug.el
new file mode 100644
index 0000000..4e565ef
--- /dev/null
+++ b/emacs.d/nxhtml/tests/in/emacswiki-erb-bug.el
@@ -0,0 +1,36 @@
+;;; This file is from a link on EmacsWiki to http://paste.lisp.org/display/59495
+;;
+;; As far as I can see this is a ruby-mode bug, not a mumamo bug.
+
+;;; The problem is that when a ruby ERB template is loaded with an
+;;; after-hook that modifies the font-lock keywords, nxhtml causes
+;;; font-lock not to occur on strings and comments. What's more is
+;;; this affects regular ruby-mode as well, not just within mumamo.
+
+(require 'ruby-mode)
+
+;; Extra keyword fontification for ruby
+(defun emacswiki-erb-bug-keywords ()
+ (font-lock-add-keywords nil
+ '(("\\<\\(FIX\\|TODO\\|FIXME\\|HACK\\|REFACTOR\\):"
+ 1 font-lock-warning-face t))))
+
+;; Adding the extra keywords at the beginning of ruby-mode-hook breaks
+;; ruby-mode fontification (use the test case at the bottom):
+(add-hook 'ruby-mode-hook 'emacswiki-erb-bug-keywords)
+;; removing this hook makes it not break anymore:
+(remove-hook 'ruby-mode-hook 'emacswiki-erb-bug-keywords)
+;; However adding the extra keywords at the end of the hook works fine:
+(add-hook 'ruby-mode-hook 'emacswiki-erb-bug-keywords t)
+
+
+;; run this to test:
+(progn
+ (find-file "bar.rb")
+ (insert "# Comments should be font-locked, but are not.
+class Bar
+ def baz
+ \"strings should also be font-locked but are not.\"
+ end
+end"))
+