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: Kevin Rodgers
Subject: Re: how to map sh-mode to mean bash-mode
Date: Mon, 25 Jul 2011 23:43:18 -0600
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.18) Gecko/20110616 Thunderbird/3.1.11

On 7/17/11 8:25 AM, Perry Smith wrote:

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

Am 16.07.2011 01:58, schrieb address@hidden:
$ 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?

C-h v interpreter-mode-alist
C-h v auto-mode-interpreter-regexp

--
Kevin Rodgers
Denver, Colorado, USA




reply via email to

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