(defun c:test ()
(defun myaddit ()
(+ mynumber yournumber)
)
(setq mynumber 2)
(setq yournumber 3)
(myaddit)
)
(defun c:test (/mynumber yournumber)
(defun myaddit (mynumber yournumber)
(setq mynumber 2)
(+ mynumber yournumber)
)
(setq yournumber 3)
(myaddit)
)
_$ (defun c:test (/ MYNUMBER YOURNUMBER)
(defun myaddit (mynumber yournumber)
(+ mynumber yournumber)
)
(setq mynumber 2)
(setq yournumber 3)
(myaddit mynumber yournumber)
)
C:TEST
_$ (myaddit mynumber yournumber)
; error: no function definition: MYADDIT
_$ (c:test)
5
_$ (myaddit mynumber yournumber)
_$ (myaddit 6 9)
15
Notice after C:Test is run, the myaddit function has become a global function. If you don't want this (i.e. you only want it inside the c:test containing function), then you'll need to declare it the same as you do for the variables mynumber & yournumber. Notice that they give a blank result when used outside of c:test? That's because they're released when c:test completes - that's what the declaration causes.