]> code.delx.au - gnu-emacs/blobdiff - lisp/progmodes/sh-script.el
Restore arch taglines
[gnu-emacs] / lisp / progmodes / sh-script.el
index 5635a1b17f792c0a9e0d6f15aa0a3f145147fe3d..baf4d96ee7f395ef1842078d1bc4a9d77b6a2126 100644 (file)
@@ -353,6 +353,11 @@ the car and cdr are the same symbol.")
 (defvar sh-shell (sh-canonicalize-shell (file-name-nondirectory sh-shell-file))
   "The shell being programmed.  This is set by \\[sh-set-shell].")
 
+(defvar sh-mode-abbrev-table nil)
+
+(define-abbrev-table 'sh-mode-abbrev-table ())
+
+
 ;; I turned off this feature because it doesn't permit typing commands
 ;; in the usual way without help.
 ;;(defvar sh-abbrevs
@@ -416,6 +421,7 @@ This is buffer-local in every such buffer.")
        ?^ "_"
        ?~ "_"
        ?, "_"
+       ?= "."
        ?< "."
        ?> ".")
   "Default syntax table for shell mode.")
@@ -648,7 +654,7 @@ implemented as aliases.  See `sh-feature'."
 
     (rc "else")
 
-    (sh "do" "elif" "else" "if" "then" "trap" "type" "until" "while"))
+    (sh "!" "do" "elif" "else" "if" "then" "trap" "type" "until" "while"))
   "*List of keywords that may be immediately followed by a builtin or keyword.
 Given some confusion between keywords and builtins depending on shell and
 system, the distinction here has been based on whether they influence the
@@ -1483,7 +1489,7 @@ Calls the value of `sh-set-shell-hook' if set."
       (setq require-final-newline tem)))
   (setq
        comment-start-skip "#+[\t ]*"
-;;;    local-abbrev-table (sh-feature sh-abbrevs)
+       local-abbrev-table sh-mode-abbrev-table
        mode-line-process (format "[%s]" sh-shell)
        sh-shell-variables nil
        sh-shell-variables-initialized nil