help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: How to see that a variable holds t


From: Lennart Borgman
Subject: Re: How to see that a variable holds t
Date: Sun, 3 Jan 2010 21:32:37 +0100

On Sun, Jan 3, 2010 at 6:11 PM, Cecil Westerhof <Cecil@decebal.nl> wrote:
> At the moment I have the following function:
>    (defun switch-gnus-idle-daemon-do-log ()
>      (interactive)
>      (setq gnus-idle-daemon-do-log
>            (case gnus-idle-daemon-do-log
>              (10        t)
>              (otherwise 10)))
>      (message "gnus-idle-daemon-do-log: %s" gnus-idle-daemon-do-log))
>
> I know that it looks like overkill a case for switching to two values,
> but I expect that in the future there will be more values.
>
> What I really would like is;
>    (defun switch-gnus-idle-daemon-do-log ()
>      (interactive)
>      (setq gnus-idle-daemon-do-log
>            (case gnus-idle-daemon-do-log
>              (t         10)
>              (otherwise t)))
>      (message "gnus-idle-daemon-do-log: %s" gnus-idle-daemon-do-log))
>
> Because I would like the default to be t and not 10. (For when the value
> is not one of the defined values.) But when I do this, it is always set
> to 10, because the case does not make a difference between t and 10. How
> do I solve this?


Doesn't this work:

(let ((T t))
  (case T
   ((eq T t) (message "was t!"))
   (t (message "T=%S" T))))




reply via email to

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