Subject: bug#20521: setq-local definitely behaving oddly for viper mode

From: Alan Morgan <[email-masked]>
Date: Wed, 27 May 2015 09:50:28 -0700

I must be going crazy. Here is my latest sanity check code in viper-check-state in viper-cmd.el

  (when (eq (default-value 'viper-current-state) 'vi-state)
    (message "Doomed going in"))
 (setq-local viper-current-state new-state)
  (when (eq (default-value 'viper-current-state) 'vi-state)
    (message "Doomed. viper-current-state is now vi-state"))

The setq-local replaces a simple setq at about line 380. When the problem starts I see the "Doomed. Viper-current-state is now vi-state", but I do *not* see the "Doomed going in" message. This implies that setq-local is setting the default value of the variable and that really shouldn't be possible. Either I'm nuts or this is an emacs bug.

 ---------------------------------------------------------------------
STATEMENT OF CONFIDENTIALITY
 
The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain confidential or privileged information. No representation is made on its accuracy or completeness of the information contained in this electronic message. Certain assumptions may have been made in the preparation of this material as at this date, and are subject to change without notice. If you are not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this e-mail and any attachment(s) is strictly prohibited. Please reply to the sender at NextLabs Inc and destroy all copies of this message and any attachments from your system. ======================================================================