[OS X TeX] Emacs 22.92, %! and TeXShop
Stephen Moye
stephenmoye at cox.net
Fri Jan 26 05:06:50 EST 2007
On Jan 26, 2007, at 12:12 AM, Jens Noeckel wrote:
>
> On Jan 25, 2007, at 8:49 PM, Jens Noeckel wrote:
>
>>
>> On Jan 25, 2007, at 6:49 PM, Stephen Moye wrote:
>>
>>> On Jan 25, 2007, at 9:10 PM, Jens Noeckel wrote:
>>>
>>>>
>>>> On Jan 25, 2007, at 5:41 PM, Stephen Moye wrote:
>>>>
>>>>> On Jan 25, 2007, at 8:34 PM, Stephen Moye wrote:
>>>>>
>>>>>> I just started using emacs 22.92 -- I have been using emacs
>>>>>> 22.50. Unlike v22.50, when I open a TeXShop TeX file with
>>>>>> emacs 22.92, it is opened as a PostScript file. I imagined
>>>>>> that it had something to do with the first line of the file:
>>>>>>
>>>>>> %!TEX TS-program = latex
>>>>>>
>>>>>> Sure enough, I went digging using
>>>>>>
>>>>>> C-h v auto-mode-alist
>>>>>>
>>>>>> and found a line in files.el:
>>>>>>
>>>>>> ("%![^V]" . ps-mode)
>>>>>>
>>>>>> in addition to what I expected:
>>>>>>
>>>>>> ("\\.[tT]e[xX]\\'" . tex-mode)
>>>>>>
>>>>>> So emacs is looking inside the file to make a better guess
>>>>>> about what kind of file it is. I tried changing
>>>>>>
>>>>>> ("%![^V]" . ps-mode)
>>>>>>
>>>>>> to
>>>>>>
>>>>>> ("%![^VT]" . ps-mode)
>>>>>>
>>>>>> but that did not work.
>>>>>>
>>>>>> I really like emacs 22.nn, but this is a bit of a bother. Can
>>>>>> I put something in my .emacs file to counter this unwanted
>>>>>> cleverness? I know that I can put
>>>>>>
>>>>>> %-*-latex-*-
>>>>>>
>>>>>> as the first line of the file and both emacs and TeXShop will
>>>>>> be happy, but that seems an unnecessary complication.
>>>>>>
>>>>>> Any suggestions? Or, alternatively, where else should I more
>>>>>> appropriately post this query?
>>>>>>
>>>>>> Thank you for any insights.
>>>>>
>>>>> Sorry, but I should have mentioned that I am using emacs under
>>>>> X11.
>>>>>
>>>>>
>>>>>
>>>>> Stephen
>>>>>
>>>>
>>>> Stephen,
>>>> not knowing what exactly is in your .emacs already, I would
>>>> suggest adding the line
>>>>
>>>> (setq auto-mode-alist (cons '("\\.tex$" . tex-mode)
>>>> auto-mode-alist))
>>>>
>>>> as close to the end of .emacs as possible (so that it doesn't
>>>> get overridden by other associations - the order of these things
>>>> matters).
>>>>
>>>> Jens
>>>
>>> I placed the line you suggested at the very end of my .emacs file
>>> (which has very little in it), but a TeX file with %! at the top
>>> still opened as a PostScript file.
>>>
>>> I am puzzled. Shouldn't the extension take precedence over
>>> anything else? Surely a .tex file is almost certainly not going
>>> to be a PostScript file...
>>>
>>> Anyway, thank you for the suggestion though.
>>>
>>> Stephen
>>>
>>> PS I did make the discovery that if the first line of the TeX
>>> file is empty and the *second* line begins with %! then the emacs
>>> mechanism is fooled and the file opens in TeX mode. Hmmmm...
>>
>>
>> Ah, I just saw in the documentation that the magic-mode-alist
>> takes precedence over the auto-mode-alist. I had not encountered
>> this problem before, but I can reproduce it now with Carbon Emacs
>> from fink. Here is something that fixes the problem: if you put
>> this line in your .emacs, it will be stricter about what it
>> considers as postscript:
>>
>> (mapc (lambda (pair) (if (eq (cdr pair) 'ps-mode) (setcar pair '"%!
>> PS[^V]"))) magic-mode-alist)
>>
>> Now you have to have %!PS at the start to make it a PS file. What
>> this code does is simply to search the magic-mode-alist for the ps-
>> mode definition and replace the condition for recognizing it. This
>> worked for me - hope it solves your problem, too.
>>
>> Jens
>>
>
> One more change:
> to avoid an error when using other emacs versions that don't define
> magic-mode-alist, enclose everything in an if statement:
>
> (if (fboundp 'magic-mode-alist)
> (mapc (lambda (pair) (if (eq (cdr pair) 'ps-mode) (setcar pair '"%!
> PS[^V]"))) magic-mode-alist))
>
> I think that should cover everything now...
> Jens
Thank you -- that worked perfectly. I'll have to study and learn from
your fix, so thank you again for explaining it to me.
Stephen
------------------------- Helpful Info -------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
List Reminders & Etiquette: http://www.esm.psu.edu/mac-tex/list/
More information about the MacOSX-TeX
mailing list