help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Please why ORDER of .emacs lines here matters.....


From: Christian Seberino
Subject: Re: Please why ORDER of .emacs lines here matters.....
Date: 31 Jul 2003 22:36:22 -0700

Kevin

Thanks so much.  I'm impressed because I tried your theory that 
py-indent-offset would work like I wanted in second buffer even though
it did not work in first.  This was indeed true!!!

Why is it better/different to invoke my customizations in a "hook"
then just
calling my function in place of the mode???  My way worked for c,
java,
fortran77 and fortran90.  It would have worked in python too except
for
this one variable....

Should I redo all other langs to have "hook functions"??
Like cs-java-mode-hook, cs-fortran90-mode-hook, etc.???

If it is better in general for some reason then I'll do it.

I am *very* grateful for this insight.  This was really bugging me!

Chris




Kevin Rodgers <ihs_4664@yahoo.com> wrote in message 
news:<3F298FDA.10906@yahoo.com>...
> Christian Seberino wrote:
> 
> > Notice the py-indent-offset line (2nd one) below.  If I move this
> > line further down then I don't
> > get 8 space idents anymore.  The order matters!!!! But why???
> 
> py-indent-offset is probably a buffer local variable whose value is set
> in the python-mode function to the global default.  setq-default only
> affects the global value, so if you set that after calling python-mode
> the buffer local binding is already set to the original value.  (If that
> is true, then your claim the it doesn't work isn't quite true: the first
> Python mode buffer will have the old global default, but subsequent
> Python mode buffers should have the new global default.)
> 
> 
> >   (defun cs-python-mode()
> >       (setq-default  py-indent-offset        8            )
> >       (python-mode)
> >       (turn-on-font-lock)
> >       (setq-default  auto-fill-function      'do-auto-fill)
> >       (setq-default  py-python-command       "python2.2"  )
> >       (setq-default  py-continuation-offset  8            )
> >       (setq-default  py-smart-indentation    nil          )
> >       (setq-default  py-block-comment-prefix "#"          ))
> 
> Either move those setq-defaults to the top level (outside your function),
> 
> or just use python mode:
> 
> (add-hook 'python-mode-hook 'cs-python-mode-hook)
> 
> (defun cs-python-mode-hook ()
>    (turn-on-font-lock)
>    (setq auto-fill-function 'do-auto-fill
>       py-python-command "python2.2"
>       py-indent-offset 8
>       py-continuation-offset 8
>       py-smart-indentation nil
>       py-block-comment-prefix "#"))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]