Plugs and Sockets by Sean Turner

This topic is for discussions related to Plugs and Sockets by Sean Turner

Hi, does anybody Sean Turner? Is he around?

I believe I have found a bug (with a fix).

This example illustrates the problem:

"Charge your laptop"

Include Plugs and Sockets by Sean Turner.

A high power plug is a kind of PS-plug. The PS-type of a high power plug is "high-power".
An high power socket is a kind of PS-socket. The PS-type of a high power socket is "high-power".

A low power plug is a kind of PS-plug. The PS-type of a low power plug is "12 V".
A low power socket is a kind of PS-socket. The PS-type of a low power socket is "12 V".

The lab is a room. 

The macbook is a thing in the lab. It incorporates a low power socket.
	
A charger is a kind of thing. 
Incorporated by every charger is one low power plug and one high power plug.

The laptop charger is a charger in the lab. 

A wall point is here. It is fixed in place. Incorporated by it is a high power socket.

test me with "plug charger into wall / plug charger into macbook / unplug charger from wall / unplug charger from macbook / plug charger into macbook / plug charger into wall";
	

The last test command will fail, with the response

The fix or this is to add one line after line 260:

Check an actor plugging something into something (this is the plug-unknown-socket-unknown rule):
	if the candidate plug is nothing, and the candidate socket is nothing:
		let matching connection type be "";
		repeat with test-plug running through the PS-plugs which are part of the candidate inserter:
			if the actual plug is not nothing and the actual socket is not nothing, break;
			if the attachment of the test-plug is nothing:

The fix is just adding the “if the actual plug is not nothing and the actual socket is not nothing, break;” line.

I added this a pull request at github i7/extensions. I’m not sure what the protocol is, is it considered a friendly thing to do to add extensions made by somebody else to github?