]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/progmodes/sh-script.el (sh-font-lock-paren, sh-kw, sh-prev-thing):
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 5 Feb 2011 15:53:04 +0000 (10:53 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 5 Feb 2011 15:53:04 +0000 (10:53 -0500)
Handle new bashisms ";&" and ";;&".

Fixes: debbugs:7947
lisp/ChangeLog
lisp/progmodes/sh-script.el

index cdf994dc4ff1fa994d0c9f5f62ebde7969bf27de..2bdce356f5d3c86991aa1809e5d84fa80411aaab 100644 (file)
@@ -1,7 +1,12 @@
+2011-02-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * progmodes/sh-script.el (sh-font-lock-paren, sh-kw, sh-prev-thing):
+       Handle new bashisms ";&" and ";;&" (bug#7947).
+
 2011-02-05  Michael Albinus  <michael.albinus@gmx.de>
 
-       * net/tramp-smb.el (tramp-smb-errors): Use `regexp-opt'.  Add
-       "NT_STATUS_IO_TIMEOUT" and "NT_STATUS_NO_SUCH_USER".
+       * net/tramp-smb.el (tramp-smb-errors): Use `regexp-opt'.
+       Add "NT_STATUS_IO_TIMEOUT" and "NT_STATUS_NO_SUCH_USER".
 
 2011-02-05  Era Eriksson  <era+tramp@iki.fi>  (tiny change)
 
index 64f8c62377946a55d81aad0a1c3a0946105ddc95..30d768d77437f7195cd41845a951fdd40a6ba448 100644 (file)
@@ -1104,7 +1104,7 @@ subshells can nest."
                  ;; a normal command rather than the real `in' keyword.
                  ;; I.e. we should look back to try and find the
                  ;; corresponding `case'.
-                 (looking-at ";;\\|in"))
+                 (looking-at ";[;&]\\|in"))
       sh-st-punc)))
 
 (defun sh-font-lock-backslash-quote ()
@@ -1659,6 +1659,8 @@ This adds rules for comments and assignments."
      ("esac" sh-handle-this-esac sh-handle-prev-esac)
      (case-label nil sh-handle-after-case-label) ;; ???
      (";;" nil sh-handle-prev-case-alt-end) ;; ???
+     (";;&" nil sh-handle-prev-case-alt-end) ;Like ";;" with diff semantics.
+     (";&" nil sh-handle-prev-case-alt-end) ;Like ";;" with diff semantics.
      ("done" sh-handle-this-done sh-handle-prev-done)
      ("do" sh-handle-this-do sh-handle-prev-do))
 
@@ -2496,7 +2498,7 @@ we go to the end of the previous line and do not check for continuations."
                          (sh-prev-line nil)
                        (line-beginning-position))))
       (skip-chars-backward " \t;" min-point)
-      (if (looking-at "\\s-*;;")
+      (if (looking-at "\\s-*;[;&]")
           ;; (message "Found ;; !")
           ";;"
         (skip-chars-backward "^)}];\"'`({[" min-point)