--- /usr/share/emacs/site-lisp/flim/mime-conf.el 2010-02-04 16:57:09.000000000 -0500 +++ mime-conf.el 2010-11-17 15:32:02.774770977 -0500 @@ -210,19 +210,27 @@ (let ((i 0) (len (length mtext)) (p 0) - dest) + dest + quotes) (while (< i len) (let ((chr (aref mtext i))) - (cond ((eq chr ?%) + (cond ((or (eq chr ?\") (eq chr ?')) + (if (or (null quotes) (not (eq (car quotes) chr))) + (setq quotes (cons chr quotes)) + (setq quotes (cdr quotes))) + (setq i (1+ i))) + ((eq chr ?%) (setq i (1+ i) chr (aref mtext i)) (cond ((eq chr ?s) (let ((file (cdr (assq 'filename situation)))) (if (null file) (error "'filename is not specified in situation.") + (unless quotes + (setq file (shell-quote-argument file))) (setq dest (concat dest (substring mtext p (1- i)) - (shell-quote-argument file)) + file) i (1+ i) p i) )))