Hi Emanuel, I did some further tests and found that the "function *** is not known to be defined" error only happen once for either a undefined function or a function defined in a nested structure, as seen in the attached screenshot. 1. The kkl0-fun, which is defined at top-level, linter shows no error at all about it 2. The kkl1-fun is defined as long as the *kk0l* global variable  is assigned as t 3. The first linter error appears when the kkl1-fun is called first time 4. At the second call-site of kkl1-fun, the linter "undefined-unction" error disappears 5. the kkl2-fun is totally undefined, and linter identifies the undefined function error at its first call-site 6. at the second call-site of kkl2-fun, the undefined-function linter error disappears as well So, it seems that elint starts to ignore undefined function starting second call-site regardless that function is defined or not. we need some further investigation on elint.el's elint-update-env function and related functions. Thanks, Kiong-Gē.