[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 1.3-72-g1ffb918

Ville Skyttä ville.skytta at iki.fi
Thu Apr 14 19:18:41 UTC 2011


The following commit has been merged in the master branch:
commit 1ffb918b4e39fbc3e89b04822ab58dc39b5656e1
Author: Ville Skyttä <ville.skytta at iki.fi>
Date:   Thu Apr 14 22:17:09 2011 +0300

    Support tildes when recursively sourcing muttrc files (Debian: #615134).

diff --git a/CHANGES b/CHANGES
index 882c258..c755222 100644
--- a/CHANGES
+++ b/CHANGES
@@ -12,6 +12,7 @@ bash-completion (2.x)
   * Install full path /etc/rc.d/init.d/* completions.
   * Try both full path and basename completions for sudo etc (Alioth: #313065).
   * Don't install completions for init.d backup files.
+  * Support tildes when recursively sourcing muttrc files (Debian: #615134).
 
   [ Guillaume Rousse ]
   * added puppet completion, using work from Mathieu Parent (sathieudebian.org)
diff --git a/completions/mutt b/completions/mutt
index 46863db..92e90ad 100644
--- a/completions/mutt
+++ b/completions/mutt
@@ -61,6 +61,7 @@ _muttconffiles()
     while [[ "$1" ]]; do
         newconffiles=( $(sed -n 's|^source[[:space:]]\{1,\}\([^[:space:]]\{1,\}\).*$|\1|p' $(eval echo $1) ) )
         for file in "${newconffiles[@]}"; do
+            __expand_tilde_by_ref file
             [[ ! -f "$file" || "${sofar/ ${file} / }" != "$sofar" ]] &&
                 continue
             sofar+=" $file"
diff --git a/test/fixtures/mutt/bar/muttrc_b b/test/fixtures/mutt/bar/muttrc_b
new file mode 100644
index 0000000..f4a0493
--- /dev/null
+++ b/test/fixtures/mutt/bar/muttrc_b
@@ -0,0 +1 @@
+source ~/foo/muttrc_f
diff --git a/test/fixtures/_filedir/a b/i b/test/fixtures/mutt/foo/muttrc_f
similarity index 100%
copy from test/fixtures/_filedir/a b/i
copy to test/fixtures/mutt/foo/muttrc_f
diff --git a/test/fixtures/mutt/muttrc b/test/fixtures/mutt/muttrc
index 58ad7f5..d26c8bc 100644
--- a/test/fixtures/mutt/muttrc
+++ b/test/fixtures/mutt/muttrc
@@ -1,3 +1,4 @@
 set folder=.
 alias a1 a1 at example.com
 alias a2 a2 at example.com
+source ~/bar/muttrc_b
diff --git a/test/lib/completions/mutt.exp b/test/lib/completions/mutt.exp
index 8cb8b0c..8ee4069 100644
--- a/test/lib/completions/mutt.exp
+++ b/test/lib/completions/mutt.exp
@@ -1,10 +1,15 @@
 proc setup {} {
     save_env
+    assert_bash_exec {OLDHOME=$HOME ; HOME=$SRCDIRABS/fixtures/mutt}
 }
 
 
 proc teardown {} {
-    assert_env_unmodified {/OLDPWD=/d}
+    assert_bash_exec {HOME=$OLDHOME}
+    assert_env_unmodified {
+        /OLDPWD=/d
+        /OLDHOME=/d
+    }
 }
 
 
@@ -30,4 +35,9 @@ assert_complete_dir $expected "mutt -F muttrc -A " $::srcdir/fixtures/mutt
 sync_after_int
 
 
+set expected "$::srcdirabs/fixtures/mutt/muttrc $::srcdirabs/fixtures/mutt/bar/muttrc_b $::srcdirabs/fixtures/mutt/foo/muttrc_f"
+assert_bash_list $expected { _muttconffiles "$HOME/muttrc" "$HOME/muttrc" } "find muttrcs recursively"
+sync_after_int
+
+
 teardown

-- 
bash-completion



More information about the Bash-completion-commits mailing list