Send in your ideas. Deadline October 1, 2024

Last update: 2003-07-07

End: 2003-01

Progress report March 2003

tools for developing, distributing, and installing software


Agide 0.1 has been released March 13. This was almost a week later as planned, but with all the functionality that was intended. Not bad at all. The web site has been updated to show that the A-A-P project now consists of two main parts: Aap, the recipe executive, and Agide, the A-A-P GUI IDE. A tutorial for Agide has been added.

The domain has been claimed, now points to the A-A-P website. This will strengthen the name Agide. Searching for "Agide" on Google currently results in a fifth place, still rising.

A bit of help was received from Gordon Prieur of Sun to enhance the Netbeans interface (this forms the connection between Agide and Vim). Daniel Elstner helped implementing balloon evaluation for GTK Vim. This certainly helped making the 0.1 release include nice features, such as showing the value of a variable in a balloon by pointing to it with the mouse.

Unfortunately, the number of reactions about Agide has been disappointing so far. Not much more than a few people have mentioned that they started using it. This will require finding out a way to attract more users, and especially people who would like to enhance Agide. I suspect people hesitate to install wxPython, but it is not clear that this is the threshold that keeps people from using Agide.

There is one known issue still to be solved: When starting the debugger the gvim window must be closed, otherwise Agide will hang. This looks like a problem with wxPython and threads, it is not clear how to fix this properly.


After the Agide release work was conentrated on issues with Aap, the recipe executive. In the past months several remarks have been made by users and there have been discussions about the advantages and disadvantages of the current choices. These issues need to be taken care of before the Aap 1.0 release.

The big issue taken care of is scope of variables. The old solution with ":export" and ":global" commands didn't work well. After a long discussion on the maillist a choice was made to use scope names in the form "scope.var". This has been implemented and is working well. The recipe becomes simpler to understand, while the use of variables like $CFLAGS still works as expected.

One disadvantage that has been encountered during implementation is that using a variable name without a scope name in a Python command doesn't search other scopes. That is because the Python "exec" command cannot be used with a custom dictionary. But otherwise it works well and several parts of the implementation actually became simpler and more efficient (no longer need to copy a dictionary for each block of build commands).

A problem has been encountered with Python, while executing the recipe that applies over 400 patches to Vim: A block of commands in an "if" statement cannot exceed 32000 bytes of bytecode. This has been reported and Guido admits this is a Python problem. Fortunately it was possible to avoid the "if" statement, the recipe now works without trouble.


The A-A-P presentation for the O'Reilly conference has been accepted. This is in the second week of July. This would be a perfect opportunity to announce the release of Aap 1.0, which was scheduled for July. This does require doing it a bit quicker than originally planned, which means some less important work needs to be shifted to the 1.1 release.


One week more than planned was spend on Agide. It looks like the work to make Aap ready for the 1.0 release is going to be a bit more than expected. The implementation of scopes took over a week, and there are several other issues still to be done. Let's say this will take one more week than planned, thus we lag behind schedule about two weeks.

Coming Weeks

With only three months to go until the planned Aap 1.0 release, the remaining work consists mostly of smaller work packages. More work to be done and trying to get it ready before the O'Reilly conference requires shifting some work to after the 1.0 release. The most likely candidate for this is the cross referencer work package. Some of the other packages could be reduced at first, especially the version control wrapper and the recipe finder.

The main goal is to make sure the recipe format for the 1.0 release is stable, we do not want to make incompatible changes after that. Therefore, enhancing Aap and taking care of remarks made by users will be done first. The mechanism to automatically install a missing application will make it easier to use Aap, and in several discussions this feature has come up as an important advantage over alternatives.

Bram Moolenaar

Project A-A-P

Navigate projects