Subject: bug#20617: closed (Re: bug#20617: 23.4; sh-script.el indentation for "main" function)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 20 May 2015 16:55:03 +0000

Your bug report

#20617: 23.4; sh-script.el indentation for "main" function

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
20617: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20617
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#20617: 23.4; sh-script.el indentation for "main" function
From: Glenn Morris <[email-masked]>
To: [email-masked]
Date: Wed, 20 May 2015 12:54:38 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 24.1

Thibaut wrote:

>   When indenting sh script in "Shell-script" mode, I have this very
> strange behaviour with the funtion named 'main'
>   It indent on more time the line in the function AND the line after
> the function!
>
> example:---------------------------1: main( ) {
> 2:    echo "usage: $1"3:    exit 0
> 4:    }
> 5:    
> 6:    main $*
> ---------------------------(for lines 2 and 3 I have one Tab, for lines 4 to 6, I have 4 spaces)

Thanks for the report.
By experiment, this was fixed in Emacs 24.1.
Please upgrade (current is 24.5).

Subject: 23.4; sh-script.el indentation for "main" function
From: Thibaut <[email-masked]>
To: "[email-masked]" <[email-masked]>
Date: Wed, 20 May 2015 16:35:53 +0000 (UTC)
List-Id: <debbugs-submit.debbugs.gnu.org>

  When indenting sh script in "Shell-script" mode, I have this very strange behaviour with the funtion named 'main'
  It indent on more time the line in the function AND the line after the function!

example:---------------------------1: main( ) {
2:    echo "usage: $1"3:    exit 0
4:    }
5:    
6:    main $*
---------------------------(for lines 2 and 3 I have one Tab, for lines 4 to 6, I have 4 spaces)

It does not do the same with an other function name of 4 letters.
--------------------------- 
 #!/bin/sh

toto( ) {
    echo "usage: $1"
    exit 0
}

toto $*
--------------------------- And if I add a parameter, the behaviour changes back to normal...
---------------------------#!/bin/sh

main( nil ) {
    echo "usage: $1"
    exit 0
}

main $*
---------------------------  
I looked in the file: http://repo.or.cz/w/emacs.git/blob/HEAD:/lisp/progmodes/sh-script.elBut could not find a specific processing of the 'main' function.
Longue Vie au Gnou!