`((?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.