At a certain point it talks about: Use "free(p)" instead of "if (p != NULL) free(p)"
and I was wondering if that's some C++ left in the guideline or if it's actually squirrel.
Also, what does it do exactly? Is it the same as putting free = null; in the code?
I tried searching but only thing I can find is about free variables which is not the same.
I include it anyway because I think it's nifty and would like to try and use it once.

Free variables
Free variables are variables referenced by a function that are not visible in the function scope. In the following example the function foo() declares x, y and testy as free variables.
Code: Select all
local x=10,y=20
testy <- “I’m testy”
function foo(a,b):(x,y,testy)
{
::print(testy);
return a+b+x+y;
}
The value of a free variable is frozen and bound to the function when the function is created; the value is passed to the function as implicit parameter every time is called.