.emacs-autogen.sh
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 06 Jul 2011 15:53:09 +0300
changeset 665 9761254a1260
parent 622 596406094fd1
child 693 0462d1dcbe75
permissions -rwxr-xr-x
Maintaining the table of contents up-to-date.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
386
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
if [ -z "$1" ]; then
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
  echo "Where config file?"
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
  exit 1
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
fi
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
cfg=$1
3efe37437745 Explore environment for abilities and tup config in ~/.emacs-autogen.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
579
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    10
# Set host_os:
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    11
#   windows, linux, unknown
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    12
# host_distro:
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    13
#   cygwin, debian, unknown
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    14
check_platform() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    15
  case `uname -s` in
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    16
    CYGWIN_NT-*)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    17
      host_os=windows
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    18
      host_distro=cygwin
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    19
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    20
    Linux)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    21
      host_os=linux
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    22
      if [ -e /etc/debian_version ]; then
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    23
        host_distro=debian
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    24
      else
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    25
        host_distro=unknown
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    26
      fi
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    27
      ;;
622
596406094fd1 Port to Mac OS X console Emacs 22.1.1.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 604
diff changeset
    28
    Darwin)
596406094fd1 Port to Mac OS X console Emacs 22.1.1.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 604
diff changeset
    29
      host_os=darwin
596406094fd1 Port to Mac OS X console Emacs 22.1.1.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 604
diff changeset
    30
      ;;
579
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    31
    *)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    32
      host_os=unknown
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    33
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    34
  esac
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    35
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    36
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    37
check_ispell() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    38
  command -v ispell >/dev/null && return 0 || return 1
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    39
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    40
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    41
check_aspell() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    42
  command -v aspell >/dev/null && return 0 || return 1
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    43
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    44
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    45
print_ispell() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    46
  echo '(setq-default ispell-program-name "ispell")'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    47
  case $host_distro in
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    48
    debian)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    49
      echo '(setq-default ispell-local-dictionary "british")'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    50
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    51
    unknown)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    52
      echo '(setq-default ispell-local-dictionary "default")'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    53
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    54
  esac
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    55
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    56
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    57
print_aspell() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    58
  echo '(setq-default ispell-program-name "aspell")'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    59
  echo '(setq-default ispell-local-dictionary "en")'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    60
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    61
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    62
check_speller() {
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    63
  echo
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    64
  echo ';; ================================================================'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    65
  echo ';; Speller settings (check_speller).'
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    66
  echo
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    67
  check_ispell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    68
  ispell_present=$?
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    69
  check_aspell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    70
  aspell_present=$?
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    71
  case $host_os in
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    72
    windows)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    73
      case $host_distro in
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    74
        cygwin)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    75
          if [ $aspell_present = 0 ]; then
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    76
            print_aspell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    77
          elif [ $ispell_present = 0 ]; then
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    78
            print_ispell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    79
          fi
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    80
          ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    81
      esac
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    82
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    83
    linux)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    84
      case $host_distro in
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    85
        debian)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    86
          if [ $ispell_present = 0 ]; then
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    87
            print_ispell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    88
          elif [ $aspell_present = 0 ]; then
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    89
            print_aspell
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    90
          fi
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    91
          ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    92
      esac
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    93
      ;;
622
596406094fd1 Port to Mac OS X console Emacs 22.1.1.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 604
diff changeset
    94
    darwin)
596406094fd1 Port to Mac OS X console Emacs 22.1.1.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 604
diff changeset
    95
      print_aspell
596406094fd1 Port to Mac OS X console Emacs 22.1.1.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 604
diff changeset
    96
      ;;
579
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    97
    *)
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    98
      :
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
    99
      ;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   100
  esac
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   101
}
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   102
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   103
# Remove old auto-generated config and fill it by standard header.
604
9084d12d924d Fix mode name for elisp files.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 579
diff changeset
   104
echo ";; -*- mode: emacs-lisp; coding: utf-8; fill-column: 78 -*-
579
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   105
;;
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   106
;; For load order see README.
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   107
" >$cfg
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   108
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   109
check_platform
b71e74cfe817 Improve checker architecture.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 575
diff changeset
   110
check_speller >>$cfg