[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Qs on free variable occurrences
From: |
Drew Adams |
Subject: |
RE: Qs on free variable occurrences |
Date: |
Mon, 1 May 2006 14:29:51 -0700 |
Consider variable `minibuffer-history-position', in library simple.el.
1. It is bound (`let') in function `repeat-complex-command'.
2. It is assigned a value at the top level of the file.
3. It is both used (evaluated) and assigned a value in
functions `previous-matching-history-element' and
`next-history-element'.
4. Byte-compiling the file gives no warning of the variable
being used as a free variable (in #3 and #4).
This is not a criticism, but a couple of questions.
a. Why #4? Is it because the byte-compiler cannot detect these
as free occurrences of the variable or is it intentional (TRT)?
If the latter, what's the rationale?
b. Is this coding style considered good or bad? In particular,
should `minibuffer-history-position' be declared a global
variable by giving it a defvar?
Just trying to learn. Supporting reasons would help me understand.
I should have tried `C-h v' first. It says that this variable is defined in
C source code. That would perhaps explain #4. I still wonder about the
coding style. Consider my questions in a context where the variable was not
predefined in C. Thx.