emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/bash-completion b307dc24c3 005/313: keep cword


From: ELPA Syncer
Subject: [nongnu] elpa/bash-completion b307dc24c3 005/313: keep cword
Date: Sat, 3 Dec 2022 10:58:59 -0500 (EST)

branch: elpa/bash-completion
commit b307dc24c3e8ab20e41aeca32c5c7ac3d8ecebb0
Author: Stephane Zermatten <szermatt@gmx.net>
Commit: Stephane Zermatten <szermatt@gmx.net>

    keep cword
---
 bash-complete.el      |  6 ++++--
 bash-complete_test.el | 14 +++++++-------
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/bash-complete.el b/bash-complete.el
index 06df1d4b3a..8af7b5619b 100644
--- a/bash-complete.el
+++ b/bash-complete.el
@@ -38,7 +38,9 @@ Return a list containing the words and the number of the word
 at POS, the current word: ( (word1 word2 ...) . wordnum )"
   (save-excursion
     (goto-char start)
-    (nreverse (bash-complete-split-0 start end pos nil ""))))
+    (let ((accum (cons nil nil)))
+      (setq accum (bash-complete-split-0 start end pos accum ""))
+      (cons (car accum) (nreverse (cdr accum))))))
 
 (defun bash-complete-split-0 (start end pos accum straccum)
   (let ( (char-start (char-after))
@@ -76,7 +78,7 @@ at POS, the current word: ( (word1 word2 ...) . wordnum )"
    ;; word end
    (t
     (when straccum
-      (push straccum accum))
+      (setcdr accum (cons straccum (cdr accum))))
     (skip-chars-forward " \t\n\r" end)
     (if (< (point) end)
        (bash-complete-split-0 (point) end pos accum "")
diff --git a/bash-complete_test.el b/bash-complete_test.el
index 3c6f9447b6..d3403a7343 100644
--- a/bash-complete_test.el
+++ b/bash-complete_test.el
@@ -32,43 +32,43 @@
       (sz-testutils-with-buffer
        '("a hello world b c")
        (bash-complete-split 1 (line-end-position) 0))
-      '("a" "hello" "world" "b" "c"))
+      '(nil . ("a" "hello" "world" "b" "c")))
 
      ("bash-complete-split escaped space"
       (sz-testutils-with-buffer
        '("a hello\\ world b c")
        (bash-complete-split 1 (line-end-position) 0))
-      '("a" "hello world" "b" "c"))
+      '(nil . ("a" "hello world" "b" "c")))
 
      ("bash-complete-split double quotes"
       (sz-testutils-with-buffer
        '("a \"hello world\" b c")
        (bash-complete-split 1 (line-end-position) 0))
-      '("a" "hello world" "b" "c"))
+      '(nil . ("a" "hello world" "b" "c")))
 
      ("bash-complete-split double quotes escaped"
       (sz-testutils-with-buffer
        '("a \"-\\\"hello world\\\"-\" b c")
        (bash-complete-split 1 (line-end-position) 0))
-      '("a" "-\"hello world\"-" "b" "c"))
+      '(nil . ("a" "-\"hello world\"-" "b" "c")))
 
      ("bash-complete-split single quotes"
       (sz-testutils-with-buffer
        '("a 'hello world' b c")
        (bash-complete-split 1 (line-end-position) 0))
-      '("a" "hello world" "b" "c"))
+      '(nil . ("a" "hello world" "b" "c")))
 
      ("bash-complete-split single quotes escaped"
       (sz-testutils-with-buffer
        '("a '-\\'hello world\\'-' b c")
        (bash-complete-split 1 (line-end-position) 0))
-      '("a" "-'hello world'-" "b" "c"))
+      '(nil . ("a" "-'hello world'-" "b" "c")))
 
      ("bash-complete-split complex quote mix"
       (sz-testutils-with-buffer
        '("a hel\"lo w\"o'rld b'c d")
        (bash-complete-split 1 (line-end-position) 0))
-      '("a" "hello world bc" "d"))
+      '(nil . ("a" "hello world bc" "d")))
 
       )))
 



reply via email to

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