wiredfool

Mozilla Changes

A little programming talk today.

Mozilla is changing things. It’s good enough to be used as a most of the time browser. Especially now that you can disable obnoxious javascript behavior (window placement, new windows) while leaving it on for some added functionality. The ability to command click for links to be opened in a new tab behind the current one is killer. Before I visit dangerousmeta, I have one tab open; after, I have 10 with the next 10 minutes of reading queueing up in the background. Killer I tell you.

But Mozilla 0.9.8 broke a few of my apps in interesting ways. First, when you have code like the following that creates an image button for a form submission:

<input type='image'  height='13' width='19' border='0' 
  name='transferImage.erics.out' value='erics.out' 
  src='http:\//douglas.socialecology.com/arrow.gif' >

Every other browser in the world sends two parameters on submission, transferImage.erics.out.x and transferImage.erics.out.y, corresponding to the point on the image where you clicked. Mozilla (since 0.9.8) now sends three, the original two and transferImage.erics.out=erics.out (the value argument). Through a little fragile programming on my part, I mucked that one up.

The 0.9.8 update also hosed some attachment uploading code that I had, although in a slightly subtle way. I believe that previously Mozilla didn’t send empty file upload categories, where now it sends an empty string.

So when I get an attachment list (in frontier) that used to be { table:3 items }, I’m now getting { table:3 items, “”, “” }. This interacts badly with the following code:

local (attList = {someTable, "",""});
for item in attList {
	process(item)}

Apparently ‘for item in list’ uses simple assignment instead of table.assign, so the second time through you are trying to assign a string over a table variable. More accurately, you are trying and failing with an unexpected error.

No comments

No comments yet. Be the first.

Leave a reply

You must be logged in to post a comment.