MacPerl::DoAppleScript and MoreFiles

| | Comments (0)
So I've got Mac::MoreFiles essentially working under Mac OS X. I need to get the MacPerl package working, for many reasons, not the least of which is that %Application requires MacPerl::Volumes(). I have most of MacPerl done, including DoAppleScript:

[pudge@bourque]$ perl -MMacPerl=:all -le '$x = DoAppleScript(q{tell app "Finder" to get version}); print $x || $@'
## Component Manager: attempting to find symbols in a component alias of type (regR/carP/x!bt)
"10.2"

I wonder if there is any way to not have that "Component Manager" notification printed? I can redirect it to STDERR, but still, it's annoying. It's new, I've never seen it before today, and it even happens with a simple osascript(1). What the heck?

Anyway, so I needed to get Apple's MoreFiles sample code working, which required a few minor changes, basically just editing out a few lines, and making sure O_FILES was added to OBJECT. Because there is a MoreFiles.c in the sample code, MacPerl had made MoreFiles.xs into MF.xs, so there was no conflict. This caused some problems for me, so screw it, I made MoreFiles.c into MoreFilesOrig.c and MF.xs is now MoreFiles.xs. It's mostly happy for now, though I still need to figure out implementations for GUSISpecial2FSp, fsetfileinfo, and fgetfileinfo. Next up: Mac::AppleEvents! use.perl.org

Leave a comment

<pudge/*> (pronounced "PudgeGlob") is thousands of posts over many years by Pudge.

"It is the common fate of the indolent to see their rights become a prey to the active. The condition upon which God hath given liberty to man is eternal vigilance; which condition if he break, servitude is at once the consequence of his crime and the punishment of his guilt."

About this Entry

This page contains a single entry by pudge published on October 21, 2002 10:28 PM.

use Perl Downtime was the previous entry in this site.

PowerBook Combo Drive Woes is the next entry in this site.

Find recent content on the main index or look in the archives to find all content.