On Thursday 14 August 2008 11:03:07 Francis Moreau wrote: > On Thu, Aug 14, 2008 at 10:16 AM, Henrik Austad wrote: > > On Thursday 14 August 2008 09:53:39 Francis Moreau wrote: > >> Hello, > >> > >> I'm trying to open a file with emacs automatically set on sh-mode. > >> The file name can't be used to guess that emacs should be in sh-mode > >> when opening it. > >> > >> So I tried: > >> > >> $ emacs -f sh-mode foo > >> > >> But that doesn't work. > >> > >> Could anybody give me some advices ? > > > > 1) which version of emacs are you using? > > 2) is it a valid-sh file? i.e. does it start with #!/bin/bash on the > > first line? > > No, it's actually the file created by fc(1) to edit the bash history. > > It uses the FCEDIT env variable to launch the editor it going to use. > > So I'd like to set it to: > > export FCEDIT="emacs -f sh-mode" > > so that fc(1) uses emacs as editor in sh-mode directly. > > Note that the name of the temporary file is *appended* to what you > specified in FCEDIT. so, basically you are looking for a way of putting #!/bin/bash before the output of fc is included? I don't see any obvious ways of doing this, but, you could, if you wanted to, use .bash_history (or the appropriate history-file for your shell) and grep for what you want there? When you set emacs to be the editor, remember that you call emacs with a new file as argument, i.e. if you specify foo as a file, emacs will open *both* foo and the new file from fc. You could, perhaps, add a hook in .emacs as all files created by fc starts with [shell]-fc- so basically, I think the question boils down to: """ How do I create a hook in my .emacs so that all files starting with bash-fc-* will load sh-mode? """ -- mvh Henrik Austad