diff lisp/progmodes/sh-script.el @ 61316:283f977b41fb

(sh-builtins) <bash>: Add `caller'. (sh-escaped-newline): New face. (sh-font-lock-keywords) <shell>: Improve regexp for escaped newline, and use sh-escaped-newline face.
author Glenn Morris <rgm@gnu.org>
date Tue, 05 Apr 2005 13:07:42 +0000
parents 87f9bb9d3718
children 31aa9a390538
line wrap: on
line diff
--- a/lisp/progmodes/sh-script.el	Tue Apr 05 13:06:25 2005 +0000
+++ b/lisp/progmodes/sh-script.el	Tue Apr 05 13:07:42 2005 +0000
@@ -574,7 +574,7 @@
 ;; but it *did* have an asterisk in the docstring!
 (defcustom sh-builtins
   '((bash sh-append posix
-	  "." "alias" "bg" "bind" "builtin" "compgen" "complete"
+	  "." "alias" "bg" "bind" "builtin" "caller" "compgen" "complete"
           "declare" "dirs" "disown" "enable" "fc" "fg" "help" "history"
           "jobs" "kill" "let" "local" "popd" "printf" "pushd" "shopt"
           "source" "suspend" "typeset" "unalias")
@@ -791,6 +791,10 @@
   :group 'sh-indentation)
 (defvar sh-heredoc-face 'sh-heredoc-face)
 
+(defface sh-escaped-newline '((t :inherit font-lock-string-face))
+  "Face used for (non-escaped) backslash at end of a line in Shell-script mode."
+  :group 'sh-script
+  :version "22.1")
 
 (defvar sh-font-lock-keywords
   '((csh sh-append shell
@@ -815,7 +819,7 @@
     ;; The next entry is only used for defining the others
     (shell sh-append executable-font-lock-keywords
            ;; Using font-lock-string-face here confuses sh-get-indent-info.
-           ("\\\\$" 0 font-lock-warning-face)
+           ("\\(^\\|[^\\]\\)\\(\\\\\\\\\\)*\\(\\\\\\)$" 3 'sh-escaped-newline)
 	   ("\\\\[^A-Za-z0-9]" 0 font-lock-string-face)
 	   ("\\${?\\([A-Za-z_][A-Za-z0-9_]*\\|[0-9]+\\|[$*_]\\)" 1
 	     font-lock-variable-name-face))