`((?b . ,(shell-quote-argument base-name))
(?f . ,(shell-quote-argument full-name))
(?o . ,(shell-quote-argument out-dir))))))
What about add a spec to output-file, some commands need this information.
I will edit my diff tonight and sent to org-mode mailling list as far as possible.