emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Symbol's value as variable is void: selection-coding-system


From: Stefan Monnier
Subject: Re: Symbol's value as variable is void: selection-coding-system
Date: Tue, 27 May 2008 10:49:47 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

>> I cannot reproduce this, do you still see it?  Can someone else
>> reproduce it?  Are you using a non-X11 build or somesuch?

> As I mentioned in a followup to that message, it's built without X support
> (--without-x).

I think I figured it out:

- you get a "Search failed: Vselection-coding-system" because Emacs
  decided the variable is defined in C, but in the DOC file, there is no
  Vselection-coding-system within one of the build-files.

- Emacs decides that the variable is defined in C because it has
  a variable-documentation property with an *integer* value (the fact
  that this property is non-nil is what allows you to specify it to
  descvribe-variable even tho it's void) and it doesn't appear in
  load-history.

- It doesn't appear in load-history because it's not been defined.

- The variable-documentation property is added by Snarf-documentation,
  which is careful to skip C files other than the ones in build-files
  but is not careful to skip Elisp files that are not in load-history.

Now, why doesn't w32-valid-locales suffer from the same problem?
Because Snarf-documentation checks whether the symbol already exists
(but not whether it's bound) before adding the variable-documentation
property.  And even though the selection-coding-system variable is not
defined, the symbol appears in mule.el (set-selection-coding-system) and
mule-diag.el (describe-current-coding-system).

Incidentally M-x describe-current-coding-system RET also signals an
error that selection-coding-system is void.


        Stefan




reply via email to

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