# Syntax highlight problem about the ruby-mode in emacs

**URL:** <https://www.ruby-forum.com/t/syntax-highlight-problem-about-the-ruby-mode-in-emacs/54650>\
**Category:** Ruby\
**Created:** [March 11, 2006, 4:11am UTC](https://www.ruby-forum.com/t/syntax-highlight-problem-about-the-ruby-mode-in-emacs/54650 "2006-03-11T04:11:36Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![eric99](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/a88e4f/32.png) [@eric99](https://www.ruby-forum.com/u/eric99)\
**Post date:** [March 11, 2006, 4:11am UTC](https://www.ruby-forum.com/t/syntax-highlight-problem-about-the-ruby-mode-in-emacs/54650/1 "2006-03-11T04:11:36Z")

</div>

Hi

I edit ruby script in emacs, but sometimes I just cannot get ruby mode  
syntax highlight successfully. I had googled this problem and found  
that:  
[http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/131654](http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/131654)

> I suspect that most font-lock problems like this are caused by the  
> internal use of ruby-mode-hook in ruby-mode.el. Suppose your .emacs  
> file contains

In my case, I had the following settings in my .emacs file.  
(desktop-save-mode 1)  
(global-font-lock-mode 1)  
(setq font-lock-maximum-decoration t)  
(setq font-lock-global-modes '(not text-mode))  
(setq font-lock-verbose t)

If there is a opened ruby file the last time I exit the emacs, syntax  
highlight will not work as expected.

When C-h v ruby-mode-hook to inspect the value of ruby-mode-hook,  
I get the following value:

> ruby-mode-hook’s value is shown below.
> 
> Not documented as a variable.
> 
> Value:  
> ((lambda nil  
> (inf-ruby-keys))  
> turn-on-font-lock)

In the opposite, if I start Emacs without an ruby file opened. I will  
get the correct ruby-mode-hook value.

> ```
> (setq font-lock-defaults
> 
> ```
> 
> '((ruby-font-lock-keywords)  
> nil nil))  
> (setq font-lock-keywords ruby-font-lock-keywords)  
> (setq font-lock-syntax-table ruby-font-lock-syntax-table)  
> (setq font-lock-syntactic-keywords ruby-font-lock-syntactic-keywords))  
> (lambda nil  
> (inf-ruby-keys))  
> turn-on-font-lock)

I want to know what make the difference.

BTW, if the enabled the rails-mode, the synatx highlight function  
failed, too.

Eric

---

<div class="post-metadata">

**Author:** ![eric99](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/a88e4f/32.png) [@eric99](https://www.ruby-forum.com/u/eric99)\
**Post date:** [September 1, 2006, 8:54pm UTC](https://www.ruby-forum.com/t/syntax-highlight-problem-about-the-ruby-mode-in-emacs/54650/2 "2006-09-01T20:54:40Z")

</div>

I have the same problem.

I have the following files in my site-lisp folder:

C:\emacs\site-lisp\find-recursive.el  
C:\emacs\site-lisp\psvn.el  
C:\emacs\site-lisp\snippet.el  
C:\emacs\site-lisp\subdirs.el  
C:\emacs\site-lisp\emacs-rails\ChangeLog  
C:\emacs\site-lisp\emacs-rails\rails-core.el  
C:\emacs\site-lisp\emacs-rails\rails-for-controller.el  
C:\emacs\site-lisp\emacs-rails\rails-for-layout.el  
C:\emacs\site-lisp\emacs-rails\rails-for-rhtml.el  
C:\emacs\site-lisp\emacs-rails\rails-lib.el  
C:\emacs\site-lisp\emacs-rails\rails-navigation.el  
C:\emacs\site-lisp\emacs-rails\rails-ruby.el  
C:\emacs\site-lisp\emacs-rails\rails-scripts.el  
C:\emacs\site-lisp\emacs-rails\rails-ui.el  
C:\emacs\site-lisp\emacs-rails\rails-webrick.el  
C:\emacs\site-lisp\emacs-rails\rails.el  
C:\emacs\site-lisp\emacs-rails\README  
C:\emacs\site-lisp\ruby\inf-ruby.el  
C:\emacs\site-lisp\ruby\README  
C:\emacs\site-lisp\ruby\ruby-electric.el  
C:\emacs\site-lisp\ruby\ruby-mode.el  
C:\emacs\site-lisp\ruby\rubydb2x.el  
C:\emacs\site-lisp\ruby\rubydb3x.el

And here is my .emacs file:

(custom-set-variables  
;; custom-set-variables was added by Custom.  
;; If you edit it by hand, you could mess it up, so be careful.  
;; Your init file should contain only one such instance.  
;; If there is more than one, they won’t work right.  
'(cua-mode t nil (cua-base))  
'(debug-on-error t)  
'(global-font-lock-mode t nil (font-core))  
'(show-paren-mode nil)  
'(transient-mark-mode t))  
(custom-set-faces  
;; custom-set-faces was added by Custom.  
;; If you edit it by hand, you could mess it up, so be careful.  
;; Your init file should contain only one such instance.  
;; If there is more than one, they won’t work right.  
)

;;(autoload 'ruby-mode “ruby-mode” “Load ruby-mode”)  
;;(add-to-list 'auto-mode-alist '("\.rb$" . ruby-mode))  
;; uncomment the next line if you want syntax highlighting  
;;(add-hook 'ruby-mode-hook 'turn-on-font-lock)

```
(defun try-complete-abbrev (old)

```

(if (expand-abbrev) t nil))

(setq hippie-expand-try-functions-list  
'(try-complete-abbrev  
try-complete-file-name  
try-expand-dabbrev))

(require 'rails)
