#!/bin/sh
#*=====================================================================*/
#*    serrano/prgm/project/bigloo/autoconf/emacsbrand                  */
#*    -------------------------------------------------------------    */
#*    Author      :  Manuel Serrano                                    */
#*    Creation    :  Mon Apr  3 16:03:11 2000                          */
#*    Last change :  Thu Mar 22 06:53:04 2012 (serrano)                */
#*    -------------------------------------------------------------    */
#*    Checking emacs                                                   */
#*=====================================================================*/

#*---------------------------------------------------------------------*/
#*    flags                                                            */
#*---------------------------------------------------------------------*/
emacs=emacs

#*---------------------------------------------------------------------*/
#*    We parse the arguments                                           */
#*---------------------------------------------------------------------*/
while : ; do
  case $1 in
    "")
      break;;

    --emacs=*|-emacs=*)
      emacs="`echo $1 | sed 's/^[-a-z]*=//'`";;

    -*)
      echo "Unknown option \"$1\", ignored" >&2;;
  esac
  shift
done

#*---------------------------------------------------------------------*/
#*    The autodetection ELisp expression                               */
#*---------------------------------------------------------------------*/
expr="(cond \
        ((string-match \"GNU Emacs 29\" (emacs-version)) (kill-emacs 29)) \
        ((string-match \"GNU Emacs 28\" (emacs-version)) (kill-emacs 28)) \
        ((string-match \"GNU Emacs 27\" (emacs-version)) (kill-emacs 27)) \
        ((string-match \"GNU Emacs 26\" (emacs-version)) (kill-emacs 26)) \
        ((string-match \"GNU Emacs 25\" (emacs-version)) (kill-emacs 25)) \
        ((string-match \"GNU Emacs 24\" (emacs-version)) (kill-emacs 24)) \
        ((string-match \"GNU Emacs 23\" (emacs-version)) (kill-emacs 23)) \
        ((string-match \"GNU Emacs 22\" (emacs-version)) (kill-emacs 22)) \
        ((string-match \"GNU Emacs 21\" (emacs-version)) (kill-emacs 21)) \
        ((featurep 'xemacs) (kill-emacs 100)) \
        (t (kill-emacs 0)))"

$emacs --no-init-file -no-init-file --no-site-file -no-site-file -batch -eval "$expr" -kill >/dev/null 2>/dev/null
version=$?

if [ "$version" = "0" ]; then
  echo "generic";
else
  if [ "$version" = "100" ]; then
    echo "xemacs"
  else
    if [ "$version" = "21" ]; then
      echo "emacs21"
    else
      if [ "$version" = "22" ]; then
        echo "emacs22"
      else
        if [ "$version" = "23" ]; then
          echo "emacs23"
        else
          if [ "$version" = "24" ]; then
            echo "emacs24"
          else
            if [ "$version" = "25" ]; then
              echo "emacs25"      
            else
              if [ "$version" = "26" ]; then
                echo "emacs26"      
              else
                if [ "$version" = "27" ]; then
                    echo "emacs27"
                else
                  if [ "$version" = "28" ]; then
                      echo "emacs28"
                  else
                    if [ "$version" = "29" ]; then
                        echo "emacs29"  
                    fi
                  fi
                fi    
              fi
            fi
          fi
        fi
      fi
    fi
  fi
fi
