[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

    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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]