In Jade's version of Lisp all variables have indefinite scope and dynamic extent. What this means is that references to variables may occur anywhere in a program (i.e. bindings established in one function are not only accessible within that function, that's lexical scope) and that references may occur at any point in the time between the binding being created and it being unbound.
The combination of indefinite scope and dynamic extent is often termed dynamic scope.
As an aside, Lisp objects have indefinite extent, meaning that the object will exist for as long as there is a possibility of it being referenced (and possibly longer -- until the garbage collector runs).
Note that in Common Lisp only those variables declared `special' have indefinite scope and dynamic extent.
Try not to abuse the dynamic scoping, although it is often very useful to be able to bind a variable in one function and use it in another this can be confusing if not controlled and documented properly.
A quick example of the use of dynamic scope,
(defun foo (x)
(let
((foo-var (* x 20)))
(bar x)
...
(defun bar (y)
;; Since this function is called from
;; the function foo it can refer
;; to any bindings which foo can.
(setq y (+ y foo-var))
...
Go to the first, previous, next, last section, table of contents.