From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: pjb@informatimago.com (Pascal J. Bourguignon) Newsgroups: gmane.emacs.help Subject: Re: How to see that a variable holds t Date: Mon, 04 Jan 2010 17:44:16 +0100 Organization: Informatimago Message-ID: <877hrxyg4f.fsf@hubble.informatimago.com> References: <87fx6ncdvc.fsf@Traian.DecebalComp> <87wrzysjty.fsf@hubble.informatimago.com> <87bphacj64.fsf@Traian.DecebalComp> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1262710263 23121 80.91.229.12 (5 Jan 2010 16:51:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 5 Jan 2010 16:51:03 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Jan 05 17:50:56 2010 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NSCaj-0004NI-2I for geh-help-gnu-emacs@m.gmane.org; Tue, 05 Jan 2010 17:49:09 +0100 Original-Received: from localhost ([127.0.0.1]:49493 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NSCaj-0005B7-Fy for geh-help-gnu-emacs@m.gmane.org; Tue, 05 Jan 2010 11:49:09 -0500 Original-Path: news.stanford.edu!usenet.stanford.edu!cgl.ucsf.edu!newsfeed.berkeley.edu!ucberkeley!news.tele.dk!feed118.news.tele.dk!news.tele.dk!small.news.tele.dk!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 53 Original-X-Trace: individual.net jMBJ7UUc+oKVYIV+Yo3QbgiUv1Oj1ljAqXnAFLWS9a5GTjDQg7 Cancel-Lock: sha1:MWY4YzFiZmMwNWQxOTQ4M2NmYWY2YmZiZjAxM2UzOGIxZTAyYWQxMw== sha1:gNHm+pPVQ/+zfsFRGxHIButcBSw= Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwAQMAAABtzGvEAAAABlBMVEUAAAD///+l2Z/dAAAA oElEQVR4nK3OsRHCMAwF0O8YQufUNIQRGIAja9CxSA55AxZgFO4coMgYrEDDQZWPIlNAjwq9 033pbOBPtbXuB6PKNBn5gZkhGa86Z4x2wE67O+06WxGD/HCOGR0deY3f9Ijwwt7rNGNf6Oac l/GuZTF1wFGKiYYHKSFAkjIo1b6sCYS1sVmFhhhahKQssRjRT90ITWUk6vvK3RsPGs+M1RuR mV+hO/VvFAAAAABJRU5ErkJggg== X-Accept-Language: fr, es, en X-Disabled: X-No-Archive: no User-Agent: Gnus/5.101 (Gnus v5.10.10) Emacs/22.3 (gnu/linux) Original-Xref: news.stanford.edu gnu.emacs.help:175984 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:71063 Archived-At: Cecil Westerhof writes: > pjb@informatimago.com (Pascal J. Bourguignon) writes: > >>> 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? >> >> The first clause is always selected because in emacs lisp, t and >> otherwise are equivalent in case. >> >> I don't understand you people! How fucking difficult is it to type >> C-h f case RET and READ the documentation? > > I had looked up case, but not in Emacs itself. In the definition I found > it was not mentioned that t is the same as otherwise. Yes, you have to be careful. In general operators that are common to emacs lisp and Common Lisp are rather similar, but there are sometimes some significant differences, and sometimes more subtle differences. Always check with the doc. You could even bind space to automatically find the doc for you: (defun space-doc () (interactive) (save-excursion (backward-sexp) (backward-char) (when (looking-at "(") (forward-char) (when (thing-at-point 'symbol) (let* ((start (point)) (end (progn (forward-sexp) (point))) (symname (buffer-substring start end))) (ignore-errors (describe-function (intern symname))))))) (insert " ")) (global-set-key (kbd "SPC") 'space-doc) ;; Or use local-set-key in mode hooks where you write emacs lisp code ;; such as emacs-lisp-mode-hook. -- __Pascal Bourguignon__ http://www.informatimago.com/