I'm happy to report that I think I found the problem and a solution for
966...@bugs.debian.org aka 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=966286

When you call `/usr/bin/thunderbird`, one must separate optional
attachments with a comma.   See: 
http://kb.mozillazine.org/Command_line_arguments_%28Thunderbird%29 which
has this example:

  * /thunderbird -compose
    
"to='j...@example.com,ka...@example.com',cc='brit...@example.com',subject='dinner',body='How
    about dinner
    tonight?',attachment='C:\temp\info.doc*,*C:\temp\food.doc'" /

/Notice the comma in the last part:  ...
//'C:\temp\info.doc,C:\temp\food.doc/

This page also says that you can specify these attachment file(s) with
either absolute filenames or encoded URLs. 

But if you specify absolute filenames, then any comma, in any one of
these filenames, or in their paths, creates a problem because it's
unescaped. 


*So to fix this bug* the *xdg-email* shell script needs to be changed to
call Thunderbird with an encoded URL rather than an absolute filename. 
Fortunately this is fairly easy to do with the following single line
change which had incorrectly un-encoded the attachment name, rather than
keep and use the encoding to form a URL:

ATTACH=$(/bin/echo -e $(echo "$MAILTO" | grep '^attach='     | sed
's/^attach=//;s/%\(..\)/\\x\1/g'     | awk '{ printf "%s,",$0 }' | sed
's/,$//'    ))    #was
ATTACH=$(/bin/echo -e $(echo "$MAILTO" | grep '^attach='     | sed
's/^attach=//;s|^|file://|g'             | awk '{ printf "%s,",$0 }' |
sed 's/,$//'    ))    #should be


Note that in our case there is only one path/filename, *so this could be
further simplified as follows*:

ATTACH=$(/bin/echo -e $(echo "$MAILTO" | grep '^attach='     | sed
's/^attach=//;s|^|file://|g'                                            
                                     ))     #could also be//
//

//
//

//BTW, here's the line I'm using to test it:
//

//    $ xdg-email --attach /usr/share/nemo/actions/foo,bar/x
//

//where 'foo, bar' is a folder name with a file named x in it.//

//Hope this makes sense.
//

//Thanks for writing this Kevin and JWhite!
//

Reply via email to