Computers: March 2001 Archives

File::Glob, taint, kill

| | Comments (0)
So it was decided to implement a basic kill() that kills nothing. It just sets an error code and returns that no signal was sent. This makes it so that kill() can be used to test for taintedness, which many people do.
Taintedness can also be tested safely with something like "eval { $data, eval 1 }". There's another way in Thomas Wegner's bug report: il&aid=231848&group_id=7940&atid=10794 0
where you can substr a scalar to 0 length, then eval "# $data". Regardless, many people use kill, so it is nice to have it there.
Thomas' File::Glob patches, and my patches to the glob tests, were tested on perl-5.6.1-TRIAL3 and MacPerl 5.6.1d2, and it all worked, so I sent it on to p5p.
I am waiting to hear back from VISE on the installer license. I am hoping to do a first preview release in April.

This Week

| | Comments (0)
Well, I didn't get a lot done this week. Long hours at work, plus meetings, plus cleaning out my den, and I just couldn't get up for it. However, Thomas Wegner did give me a working patch to File::Glob, which made my week. And I spent tonight working on a first go at an installer, using MindVision's VISE.
It is very cool; they give free licenses to share/freeware developers (good for one year; I just give them a copy of the installer so they can verify it meets their criteria, which it already did before, since Matthias used it), and then I can make all the installers I want for MacPerl for a year. Then I just renew in another year to make more.
Also very cool is the relatively new web-based installer. I create a little 276k installer app, and then the user downloads it and selects what he wants to install: PPC, 68K, Fat, MPW, whatever. Then the user selects a location to download from (I will put in a bunch of CPAN mirrors from around the world), and then the app downloads what is needed. I tested it tonight and it worked great. Very nice.
I plan on distributing the one tiny web installer, and the full installer with everything in it, so users can choose which to download.
I also need to look at the Updater functionality at some point; it might be cool to have an Updater that can update all of the standard modules (maybe other modules, too?) to the last versions, etc. Mmmmm. That comes later, but I am going to read up on it now so I know if I need to do any preparation beforehand.

Fun Code

| | Comments (0)
I like this.  You don't have to.

    my $mode =
        (ref $hash->{CALLBACK} eq 'CODE'
            ? kAEQueueReply
            : (exists $hash->{REPLY}    # check event setting
                ? $hash->{REPLY}
                : exists $self->{REPLY}    # check global setting
                    ? $self->{REPLY}
                    : 1        # default to wait
                ? kAEWaitReply
                : kAENoReply)

            | (exists $hash->{MODE}
                ? $hash->{MODE}
                : exists $self->{MODE}
                    ? $self->{MODE}
                    : (kAECanInteract | kAECanSwitchLayer));

Hi Gnat

| | Comments (0)
You are so cool.


| | Comments (0)
OK, 5.6.1d2 is out. Mostly changes to the build process, config.{h,sh,pm} stuff is all done, lots of little things here and there. It is almost 1 a.m. and I am not lucid. I hope it turns out OK. ;-)


| | Comments (0)
I got a ton done today, I think. I closed out some bug reports and tasks, I submitted some patches, I did a bunch of test builds (with the newly released perl-5.6.1-TRIAL3), and I figured out some more things about the source.
The patches were for File::Path, which I had thought I had done already, and POSIX.xs to take care of the definitions which were moved to macish.h/c for times() and struct tms, so we could build Devel::DProf. All of the extensions are built now.
Even more bugs have been uncovered, unfortunately. :-) Some of them are GUSI issues, some aren't. I've been putting off bugs that are specific to the MacPerl app code, and focusing on the perl core and standard library. Once that is quite stable, then the app will have, at least, a good foundation to work on. When I look at the bugs, it seems like there's a lot to do, but when I remove the app-specific bugs, it doesn't look so bad.
If some of the more serious remaining bugs can be worked out soon, I want to do a binary alpha/preview release. That'd be cool. I want to do a source release this week. Maybe Wednesday.

Lack of Progress

| | Comments (0)
I've gotten a bunch of important things done in the last week, including getting Errno and Devel::DProf mostly figured out, and submitting some patches for bleadperl and maintperl (maintperl has not yet included the patches, though). I've not been able to do a lot of work this week, however. A new GUSI beta fixed at least one existing bug. I am trying to get Devel::DProf working (which means getting times() working), and I ran into a snag or two that I have not had a chance to look into. I have to prepare a talk for Comdex in a few weeks, and that's been taking up my time; when it's done, I'll have more time to work on MacPerl. Sigh. The tyranny of the urgent.

Debugging and more Extensions

| | Comments (0)
The latest build here was done with -DDEBUGGING (which required some amount of debugging to get to build :-). I had to fix up perlsfio.h in 5.6.1 to be, basically, what is in 5.7. Apparently PerlIO_set_ptrcnt relied on FILE_cnt instead of PerlIO_getcnt (or whatever), where FILE_cnt is specifically only defined if these PerlIO_* macros are not ... wheee!
I got more extensions built, most notably Devel::DProf, ByteLoader, and B. Errno still hasn't built (I am not sure how to get it built), Devel::DProf needs some work, and B won't build out of the box (just some makefile stuff).
B passes all tests after some portability fixes (except for one test, which relies on $Config{static_extensions} or whatever having the right value, which it currently doesn't). Very cool.
So all in all, a lot done today. Hopefully Matthias can answer a few questions for me, and I will load up some patches (including some tests) tomorrow to send on to p5p.

foo bar baz buz

| | Comments (0)
I got a lot more done on config stuff. For now, and config.h will have to both be maintained by hand. It shouldn't take a lot of work in the future to keep these up to date.
I looked at a bunchy of little bugs. Tomorrow, I will want to submit more patches for some .pm and .t files.
<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 Archive

This page is a archive of entries in the Computers category from March 2001.

Computers: February 2001 is the previous archive.

Computers: April 2001 is the next archive.

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