"John Gabriele" <jmg3000@gmail.com> writes:
>> (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files")
>> (add-to-list 'auto-mode-alist '("\\.rb$" . ruby-mode))
>> (add-to-list 'interpreter-mode-alist '("ruby" . ruby-mode))
>> (autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process")
>> (autoload 'inf-ruby-keys "inf-ruby" "Set local key defs for inf-ruby
>> in ruby-mode")
>
> I appended those to my ~/.emacs file, but there's still no syntax
> highlighting when I open a Ruby source file.
Which OS / distro are you running?
Right now: Debian Etch. At home: Ubuntu 6.06. On servers, usually Sarge.
Many provide a package which
separately er... packages the Ruby elisp files and makes sure they're
in the load path, etc. On Debian (and Ubuntu?) the package is named
ruby1.8-elisp for ruby 1.8.
Thanks. Dunno how I missed that. I'll try it if we can't get this
working using what we have (the files from ruby-1.8.4, and my ~/.emacs
file). Maybe that package comes with some kind of post-inst script
that modifies some system-wide emacs config file... (?)
> Also, you mention to add ruby-mode.el to the "autoload list", but you
> have three lines above for adding stuff to this autoload list. Are
> ruby-mode, run-ruby, and inf-ruby-keys three separate thingies inside
> ruby-mode.el?
What the autoload function does is make Emacs load a particular file
(e.g., "ruby-mode") when you user a particular function (e.g.,
'ruby-mode).
Ah. The single-quote mark indicates a function name maybe...
Multiple files generally means multiple autoload
invocations. Ask your local Emacs installation for more information
with C-h f autoload RET!
Ok.
The "ruby-mode.el" file contains the main Ruby editing mode. The file
"ruby-electric.el" contains so-termed "electric" keybindings for the
Ruby editing mode (more on that later). The file "inf-ruby" has code
for interacting with an "inferior" ruby process communicating with
Emacs; i.e., running irb in an Emacs window, sending it code from
other buffers, etc.
Ah. Looks like I should copy the .../src/ruby-1.8.4/misc/inf-ruby.el
to my ~/.emacs.d as well then. I'd only previously copied the one
ruby-mode.el file.
> but I've already got that (global-font-lock-mode t nil (font-lock)) in
> my ~/.emacs file. Do I need that "add-hook" line too?
Nope.
> I've tried appending it to the end of ~/.emacs, but still no syntax
> highlighting.
If you have global-font-lock-mode enabled and are in Ruby mode, you
should see syntax highlighting. Do M-x customize-variable
(I hit return after that. Continuing...)
global-font-lock-mode RET to make sure that customization is being
loaded properly.
It says non-nil, so I that should mean that Global-Font-Lock mode is enabled.
If so, when you open a file ending in '.rb' do you
see "Ruby" in the modeline?
No. It says "Fundamental".
If you don't see it, then your
auto-mode-alist addition isn't getting run. Can you manually switch
to ruby-mode with M-x ruby-mode RET?
No. I get "[No Match]". Can't autocomplete it either. I bet I need to
copy that inf_ruby.el file into ~/.emacs.d...
Nope. "File mode specification error: (file-error "Cannot open load
file" "ruby-mode")". Note, it said that without inf_ruby.el in place
as well -- I just hadn't noticed.
Maybe I'm supposed to copy these .el files to some subdirectory
*beneath* ~/.emacs.d?
If not, then the ruby elisp code
isn't being made available to your Emacs instance.
> Also, I've read here and there on nntp://gnu.emacs.help that the way
> I'm trying to get all spaces (and no tabs at all), with 4-space
> indents:
>
> >
> > '(indent-tabs-mode nil)
> > '(tab-width 4)
> >
>
> is "evil". Am I doing it right? So far, tabs seem to be coming out
> just the way I want. 
Because (1) some tools like 'make' and really old versions of 'sh'
consider tabs vs. spaces significant, (2a) you can stomp on the toes
of people who do use tabs when editing their files, and (2b) you can
create extraneous diffs when editing files which do contain tabs.
Emacs largely avoid (1) for you automatically, and as for (2) I think
people who use tabs deserve to be stomped on ;-).
I'll take that as a "yes" that my settings are suitable for what I'm after. 
[snip notes on ruby-electric]
Anyway, hope this helps!
Yes, it does! Thank you. When we're done here, I'll try to condense
this tread into something suitable for the wiki.
---John
···
On 8/15/06, Marshall T. Vandegrift <llasram@gmail.com> wrote: