- A Concurrent Affair - https://www.concurrentaffair.org -

Fortnight-and-Changely Log 02/24 to 03/10

On February 25, I got attributes working; they modify the output of variables. For instance, you can tell a variable that returns a file to make that file relative to some directory.

I spent the remaining days fixing small things that had gone wrong, like the escaping behavior for the quote-balancing tokenizer. I changed the escape character from backslash (\) to dollar ($), and then reversed the behavior of quotes and keywords that start with the escape character: Some text is considered a quote or a keyword unless it is prefixed with the escape character (e.g. ${foo}). Before, the first character was considered an escape character, so to get the quote ${foo}, you had to write $${foo}, and that’s just dumb. This problem is similar to the grep vs. egrep situation.

I also changed the way makeRelativeTo works on Windows: If the file is on a different drive than the directory it should be made relative to, then the absolute path of the file on its drive is returned. That’s not a relative path, but it’s as relative as it can get. The “Execute External Process” variables now work correctly on Windows, too.

Over Spring break, unfortunately I got sick, so I didn’t get as much done as I had wanted. On Tuesday, March 4, I think I finally got the behavior for properties and attributes right.

I then embarked on a small side project: I separated the “maximum heap size” settings for the Main and the Interactions VM from the JVM\_ARGS settings and created settings for the sizes of their own. This also involves “sanitizing” the JVM\_ARGS lines and removing or copying the size into the correct property. I just committed this.

Now we can catch exceptions like com.sun.jdi.VMOutOfMemoryException and java.lang.OutOfMemoryError and directly ask the user to increase the memory size.

[1] [2]Share [3]