X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/282266074971a3b4746fefdd8dbbeb1ff66417e9..8df608c1cee9daf656566f2f9c7a63a133e7c16a:/lisp/progmodes/sh-script.el diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 5635a1b17f..baf4d96ee7 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -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