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

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

Re: how to map sh-mode to mean bash-mode


From: Perry Smith
Subject: Re: how to map sh-mode to mean bash-mode
Date: Sun, 17 Jul 2011 09:25:22 -0500

On Jul 17, 2011, at 4:26 AM, Andreas Röhler wrote:

> Am 16.07.2011 01:58, schrieb jidanni@jidanni.org:
>> $ touch a.sh a.bash
>> $ emacs -nw -Q a.bash a.sh
>> See they are in different modeline modes?
>> How can I make them both bash mode?
>> No matter if it is filename prefix, or #!/bin/sh or whatever.
>> I tried defalias, and it didn't work.
>> 
>> 
> 
> Hi,
> 
> AFAIU you want a bash-specific editing environment.
> I'm interested in that question, as delivered some shell-script tools.
> Maybe have a look at
> 
> sh-beg-end.el  at https://launchpad.net/s-x-emacs-werkstatt/
> 
> BTW, what should such bash-mode do, what sh-mode and shell-script-mode do not?

I'm curious on this too but... emacs looks at the #! line as well as the 
suffix.  So if you do:

echo '#!/bin/bash' > f1.sh
echo '#!/bin/bash' > f2.bash

and then edit them, both put you into bash mode.  And:

echo '#!/bin/bash' > f3

(no suffix) will put you into bash mode too as well as

echo '#!/usr/bin/env bash' > f4

(more complicated interpretation of the #! line)

Likewise:

echo '#!/usr/bin/env ruby' > f5

will put you into Ruby mode when editing f5.

My curiosity is where is all this magic done so I could tweak it if I needed 
to?  I know about file-mode-alist but that is just the suffix mapping part.  
What is interpreting the #! of a file?

Thanks,
pedz




reply via email to

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