nmh-workers
[Top] [All Lists]

[Nmh-workers] Bash completion

2010-05-05 15:39:03
<#secure method=pgpmime mode=sign>
Hello,

When I source /usr/share/doc/nmh-1.3/COMPLETION-BASH I get the following
error:

somehost: ~ > source /usr/share/doc/nmh-1.3/COMPLETION-BASH 
bash: /usr/share/doc/nmh-1.3/COMPLETION-BASH:23: syntax error near unexpected 
token `('
bash: /usr/share/doc/nmh-1.3/COMPLETION-BASH:23: `        \++([a-zA-Z_]) )'

There seem to be a lot of unbalanced parentheses in this file; I have
fixed those I could find (see attached patch).  However after I source
it again I get this error:

bash: have: command not found

The first line of the file is "have show &&"

Is this a portability issue (is "have" a builtin command for some
installations of bash?  I can't find it in any documentation), or am I
not supposed to source it?  How else would I load it?

The zsh completion worked really well, so using mh from the command-line
was a breeze.  However, since switching to bash I have not had
completion and it's now a chore (for when I'm not using Emacs).  

Thanks for any help you can offer,

Joel

-- 
Joel J. Adamson
Servedio Lab
University of North Carolina at Chapel Hill

FSF Member #8164
http://www.unc.edu/~adamsonj
--- COMPLETION-BASH     2010-05-05 11:53:26.091787388 -0400
+++ COMPLETION-BASH.mine        2010-05-05 11:45:56.843787019 -0400
@@ -20,8 +20,8 @@
     for (( i=0; i < ${#COMP_WORDS}-1; i++ ))
     do
         case "${COMP_WORDS[i]}" in
-        \++([a-zA-Z_]) )
-            folder=${COMP_WORDS[i]} 
+           ("\++([a-zA-Z_])" )
+            folder=${COMP_WORDS[i]}     
             origfolder=$( folder -f )
             ;;
         esac
@@ -134,14 +134,14 @@
         options=( $( folder -all -r -fast | grep -v "^\." | sed "s/^/+/" ) )
         ;;
 
-    +([0-9a-z])-* )
+    "+([0-9a-z])-*" )
         # Partial range
         start=${current/%-*/}
         options=( $( scan $folder -format "%(msg)" "${start}-last" ) first 
prev cur next last )
         options=( ${options[(_at_)]//#/${start}-} )
         ;;
 
-    +([0-9]) )
+    "+([0-9])" )
         # Message number, or start of range
         options=( $( scan $folder -format "%(msg)" ) first prev cur next last )
         options=( ${options[(_at_)]} ${options[(_at_)]//%/-} )
_______________________________________________
Nmh-workers mailing list
Nmh-workers(_at_)nongnu(_dot_)org
http://lists.nongnu.org/mailman/listinfo/nmh-workers
<Prev in Thread] Current Thread [Next in Thread>