emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 068b4fc: Expand <<- heredocs in sh


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master 068b4fc: Expand <<- heredocs in sh
Date: Wed, 16 Oct 2019 03:20:20 -0400 (EDT)

branch: master
commit 068b4fce52dce410a9cc1ee22649541a1823c711
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    Expand <<- heredocs in sh
    
    * lisp/progmodes/sh-script.el (sh--maybe-here-document): Make <<-
    expansion work, too.
---
 lisp/progmodes/sh-script.el | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index 604d13e..8177329 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -4356,7 +4356,7 @@ The document is bounded by `sh-here-document-word'."
   (or arg (sh--maybe-here-document)))
 
 (defun sh--maybe-here-document ()
-  (when (and (looking-back "[^<]<<[ E]" (line-beginning-position))
+  (when (and (looking-back "[^<]<<[ E-]" (line-beginning-position))
              (save-excursion
               (backward-char 2)
                (not
@@ -4368,7 +4368,9 @@ The document is bounded by `sh-here-document-word'."
                   ""))
           (delim (replace-regexp-in-string "['\"]" ""
                                            sh-here-document-word)))
-      (delete-char -1)
+      ;; If we're at <<-, we don't want to delete the previous char.
+      (unless (= (preceding-char) ?-)
+        (delete-char -1))
       (insert sh-here-document-word)
       (or (eolp) (looking-at "[ \t]") (insert ?\s))
       (end-of-line 1)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]