From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: Problem exporting to PDF (and viewing) Date: Fri, 18 May 2012 18:19:33 -0400 Message-ID: <13715.1337379573@alphaville> References: <40C7B1BFC291ED4E9D10436D07736A33470478B315@EXMAIL7.haas.uc.berkeley.edu> <23805.1336833570@alphaville> <40C7B1BFC291ED4E9D10436D07736A33470478B372@EXMAIL7.haas.uc.berkeley.edu> <31430.1336884795@alphaville> <40C7B1BFC291ED4E9D10436D07736A33470478BC1E@EXMAIL7.haas.uc.berkeley.edu> Reply-To: nicholas.dokos@hp.com Return-path: Received: from eggs.gnu.org ([208.118.235.92]:33602) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SVVWN-00087p-RR for emacs-orgmode@gnu.org; Fri, 18 May 2012 18:19:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SVVWL-0006Wj-QZ for emacs-orgmode@gnu.org; Fri, 18 May 2012 18:19:39 -0400 Received: from g4t0016.houston.hp.com ([15.201.24.19]:15620) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SVVWL-0006Vb-JX for emacs-orgmode@gnu.org; Fri, 18 May 2012 18:19:37 -0400 In-Reply-To: Message from Richard Stanton of "Fri, 18 May 2012 13:56:19 PDT." <40C7B1BFC291ED4E9D10436D07736A33470478BC1E@EXMAIL7.haas.uc.berkeley.edu> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Richard Stanton Cc: "emacs-orgmode@gnu.org" , Jonathan Leech-Pepin Richard Stanton wrote: > > > 2) If not, where is the code that interprets %s? I can try stepping > > > through it and see what I can find. > > > > > > > It happens in org.el:org-open-file, specifically this piece of the code (I think): > > > > ,---- > > | (while (string-match "%s" cmd) > > | (setq cmd (replace-match > > | (save-match-data > > | (shell-quote-argument > > | (convert-standard-filename file))) > > | t t cmd))) > > `---- > > I did some tracing through, and have found where things go wrong. > > At the start of the code listed above, > > cmd = "c:/progra~1/sumatrapdf/sumatrapdf.exe %s" > file = "c:/dropbox/org/personal.pdf" > > (convert-standard-filename file) returns > "C:/dropbox/org/personal.pdf" > > So far so good... > > However, > > (shell-quote-argument (convert-standard-filename file)) returns > "c\\:dropbox/org/personal.pdf" > > That's where the problem occurs. After this block of code is completed, cmd takes the value > "c:/progra~1/sumatrapdf/sumatrapdf.exe c\\:dropbox/org/personal.pdf" > > This command causes sumatrapdf to squawk with an error. It's the "\\:" that causes the problem. If, after this block of code executes, I manually switch the "\\:" back to ":/", so cmd goes back to > > "c:/progra~1/sumatrapdf/sumatrapdf.exe c:/dropbox/org/personal.pdf" > > and then press "c" to continue, the PDF file pops up just fine. Could we just drop the call to shell-quote-argument? It seems like everything would work fine without this call. > Can you trace the execution of shell-quote-argument? In particular, what is the value of system-type and what result do you get when you evaluate the form (w32-shell-dos-semantics) ? It seems that it falls through to the default case and I'm not sure it should. Nick