X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/a3ae17d490db9c7a64f5f031e0dd1f838ea46c17..818226ac7eafb08656e40657c51b87ddcddfe0a5:/lisp/progmodes/sh-script.el diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index a23dc0a307..cef86f8f90 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el @@ -1,6 +1,6 @@ ;;; sh-script.el --- shell-script editing commands for Emacs -;; Copyright (C) 1993, 94, 95, 96, 97, 1999, 2001, 2003 +;; Copyright (C) 1993, 94, 95, 96, 97, 1999, 2001, 03, 2004 ;; Free Software Foundation, Inc. ;; Author: Daniel Pfeiffer @@ -315,9 +315,7 @@ shell it really is." :type '(repeat (cons (symbol :tag "Shell") (choice (const :tag "No Arguments" nil) (string :tag "Arguments") - (cons :format "Evaluate: %v" - (const :format "" eval) - sexp)))) + (sexp :format "Evaluate: %v")))) :group 'sh-script) (defcustom sh-imenu-generic-expression @@ -355,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 @@ -498,9 +501,7 @@ This is buffer-local in every such buffer.") See `sh-feature'." :type '(repeat (cons (symbol :tag "Shell") (choice (const :tag "require" t) - (cons :format "Evaluate: %v" - (const :format "" eval) - sexp)))) + (sexp :format "Evaluate: %v")))) :group 'sh-script) @@ -515,9 +516,7 @@ First grouping matches the variable name. This is upto and including the `=' sign. See `sh-feature'." :type '(repeat (cons (symbol :tag "Shell") (choice regexp - (cons :format "Evaluate: %v" - (const :format "" eval) - sexp)))) + (sexp :format "Evaluate: %v")))) :group 'sh-script) @@ -639,9 +638,7 @@ Note that on some systems not all builtins are available or some are implemented as aliases. See `sh-feature'." :type '(repeat (cons (symbol :tag "Shell") (choice (repeat string) - (cons :format "Evaluate: %v" - (const :format "" eval) - sexp)))) + (sexp :format "Evaluate: %v")))) :group 'sh-script) @@ -656,16 +653,14 @@ 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 flow of control or syntax. See `sh-feature'." :type '(repeat (cons (symbol :tag "Shell") (choice (repeat string) - (cons :format "Evaluate: %v" - (const :format "" eval) - sexp)))) + (sexp :format "Evaluate: %v")))) :group 'sh-script) @@ -702,9 +697,7 @@ flow of control or syntax. See `sh-feature'." See `sh-feature'." :type '(repeat (cons (symbol :tag "Shell") (choice (repeat string) - (cons :format "Evaluate: %v" - (const :format "" eval) - sexp)))) + (sexp :format "Evaluate: %v")))) :group 'sh-script) @@ -929,7 +922,7 @@ be indented (i.e. a <<- was used rather than just <<)." ;; Skip through one pattern (while (or (/= 0 (skip-syntax-backward "w_")) - (/= 0 (skip-chars-backward "?[]*/\\")) + (/= 0 (skip-chars-backward "?[]*@/\\")) (and (sh-is-quoted-p (1- (point))) (goto-char (- (point) 2))) (when (memq (char-before) '(?\" ?\')) @@ -1495,7 +1488,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