[OS X TeX] Re: Alpha, DoScript and non unix like paths

Claus Gerhardt gerhardt at math.uni-heidelberg.de
Thu Jan 6 11:02:26 EST 2005


The problem with non unix like paths might be considered to be solved, 
since the only exception I worry about is the occurence of spaces, 
which people use because of better readability. I myself always stick 
to unix like paths and if someone is so foolish to use "$,[&,.." or 
other keys then he is rightly on his own.

The DoScript construction seems to me quite sufficient to communicate 
from Applescript to tcl, similar to the "do shell script" construction. 
However, the tcl equivalents of the basic commands should be documented 
somewhere, so that the tcl illiterate like myself can look them up. 
page should  provide answer for this problem.


On Jan 6, 2005, at 16:08, Jon Guyer wrote:

> On Jan 6, 2005, at 8:21 AM, Claus Gerhardt wrote:
>> The 'quoted form of' is indeed an Applescript standard conversion. In 
>> case of the DoScript command one should always use the following 
>> syntax
>> set fileNamedoublequoted to "\"" & fileName & "\""
>> tell application "AlphaX"
>> 	set theAnswer to DoScript "win::getInfo " & fileNamedoublequoted & " 
>> " & "dirty"
>> end tell
>> This will work for any path, regardless if it complies with the unix 
>> convention or not.
> Actually, it won't. If the fileName has ", $, [, ] in it, you're going 
> to have varying degrees of problems from Alpha, ranging from syntax 
> errors to executing erroneous or even malicious code, depending on the 
> name of the file.
> set fileNameCurlied to "{" & fileName & "}"
> would be somewhat safer, although then you have to worry about if 
> you've got { or } in fileName. In the end, Tcl's quoting rules are 
> fundamentally different from AppleScript's, which are fundamentally 
> different from the shell's, which are fundamentally different from 
> Python's, which are fundamentally different...
> I think your only solutions are to either come up with the AppleScript 
> equivalent of Alpha's
> proc quote::Insert str {
>     regsub -all {[][\\$"\{\}]} $str {\\&} str
>     string map [list "\r" "\\r" "\n" "\\n" "\t" "\\t"] $str
> }
> or for us to give you a proper AppleScript interface.
> The first choice assumes that AppleScript has access to the same 
> string mangling facilities that Alpha does, which, short of a regular 
> expression OSAX (which do exist, I know), I don't think it does. 
> Languages like Tcl and Perl are fundamentally better at string 
> handling than AppleScript is.
> The second choice involves some things that Alpha already has [*], and 
> some careful thought about what the crucial set and syntax of 
> AppleScript commands should be. Alpha has thousands of Tcl commands, 
> and there's no point in trying to replicate them all for 
> AppleScripters, but I think we're going to be better off providing a 
> proper AppleScript interface to at least basic information about 
> windows, window state, as well as providing mechanisms for selecting 
> and replacing text. I've already shown you how we can do some of this.
> Last night, I started to write an accessor for window properties ("get 
> dirty state of frontmost window" and such), but ran into a limitation 
> in my ascr/gdte handler that wasn't trivial to fix. It can and will be 
> fixed, but it was going to take more time than I had at the moment.
> I'm curious, though. A number of the commands that you've requested 
> have involved the topmost window. What happens when the topmost window 
> isn't a TeX file, or isn't even associated with a file? In your ideal 
> world, what would you really like to know from Alpha? Let's design a 
> good interface now and save ourselves trouble in the long run.
> [*] I've spent a great deal of time thinking about AppleScripting 
> Alpha, actually, and have built a great deal of AppleScripting power 
> into Alpha (also available to any other Tcl application), but nobody's 
> ever expressed any interest in it, so I've found other things to 
> occupy my time.
> --------------------- Info ---------------------
> Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
>           & FAQ: http://latex.yauh.de/faq/
> TeX FAQ: http://www.tex.ac.uk/faq
> List Post: <mailto:MacOSX-TeX at email.esm.psu.edu>

--------------------- Info ---------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
           & FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Post: <mailto:MacOSX-TeX at email.esm.psu.edu>

More information about the MacOSX-TeX mailing list