From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: carlmarcos--- via Users list for the GNU Emacs text editor Newsgroups: gmane.emacs.help Subject: Re: Generality of defvar Date: Wed, 27 Jul 2022 14:18:27 +0200 (CEST) Message-ID: References: <87r127h40s.fsf@posteo.net-N7wjq17--3-2> Reply-To: carlmarcos@tutanota.com Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15591"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Philip Kaludercic , carlmarcos--- via Users list for the GNU Emacs text editor To: Thibaut Verron Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jul 27 14:20:27 2022 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oGg1b-0003ri-Dz for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 27 Jul 2022 14:20:27 +0200 Original-Received: from localhost ([::1]:55446 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oGg1a-0001Tp-8S for geh-help-gnu-emacs@m.gmane-mx.org; Wed, 27 Jul 2022 08:20:26 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49968) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGfzl-0001RP-Qs for help-gnu-emacs@gnu.org; Wed, 27 Jul 2022 08:18:33 -0400 Original-Received: from w1.tutanota.de ([81.3.6.162]:46866) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oGfzi-0006gT-JQ for help-gnu-emacs@gnu.org; Wed, 27 Jul 2022 08:18:33 -0400 Original-Received: from w3.tutanota.de (unknown [192.168.1.164]) by w1.tutanota.de (Postfix) with ESMTP id 2DA3EFBF96B; Wed, 27 Jul 2022 12:18:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1658924307; s=s1; d=tutanota.com; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Content-Transfer-Encoding:Cc:Cc:Date:Date:In-Reply-To:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:References:Sender; bh=juD87awYTcA+22pH//QrpxWkb1qfbyeZ5MIHSv5MHv4=; b=12993pWEl7Nk2Y/20PEz7vRmPw3NBnazFhHojzpUFbELjgFVIAhXdi/V7u2S/UJI SqgxklsgEKT/bupDjsSS8vYKeM21OPgpvX48vBqW4f39Wm4F+6JtnDnux3x8Z83jIvy JOz8jiHOPUdG57cwmwKF4LTbtdyX+A89gnz2eos9t97IplIC39hJLnVClbUn+sQ808+ wqkudnKSle9SEJoDCvJAJORTcTvLy5MaQku6z3bCjzY1yCTCNOIWfKR65Y7DgMMOfxZ K1ReU//B/pwFnI4/2MUox/y8twowZPL6ZoaB1JzK4mgeeHL9if87KuQC3YTn1i+lSuD DBa8ju56kw== In-Reply-To: Received-SPF: pass client-ip=81.3.6.162; envelope-from=carlmarcos@tutanota.com; helo=w1.tutanota.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:138643 Archived-At: Jul 27, 2022, 07:29 by thibaut.verron@gmail.com: > Le mer. 27 juil. 2022 =C3=A0 01:11, carlmarcos--- via Users list for the = GNU > Emacs text editor a =C3=A9crit : > >> Jul 26, 2022, 23:01 by philipk@posteo.net: >> >> > carlmarcos--- via Users list for the GNU Emacs text editor >> > writes: >> > >> >> Have been looking into defvar and noticed the generality of its use >> >> >> >> (defvar aname t) >> >> (defvar bname nil) >> >> (defvar cname 1) >> >> (defvar dname "text") >> >> >> >> Then I can do >> >> >> >> (when aname (setq debug-on-error t)) >> >> (when bname (setq debug-on-error nil)) >> >> >> >> Is this correct? >> >> >> > >> > You can /do/ it, but what do you /want/ to archive? >> > >> Want to use a defvar to enable or disable some functionality using `when= ', >> such as enabling error diagnostics with the command >> >> (when myopt (setq debug-on-error t)) >> > > In principle yes, but for this example there already is a variable for th= at > purpose, debug-on-error. > So you might as well just use it as your control variable, and use > conditionals like (when debug-on-error ...) or (unless debug-on-error ...= ) > if you want to do more things. > > Also, those lines: > > (when aname (setq debug-on-error t)) > (when bname (setq debug-on-error nil)) > > are equivalent to > > (setq debug-on-error (and aname (not bname))) > > I don't really see the point of having two variables hold opposite values= . > Wouldn't > > (if aname > (setq debug-on-error t) > (setq debug-on-error nil)) > > or equivalently > > (setq debug-on-error aname) > > be more what you want? > Thank you very much for your elaboration.=C2=A0=20 This is what I got right now (defvar error-diagnostics t =C2=A0 "Enable error diagnostics if non-nil.") (defun enable-error-diagnostics () =C2=A0 "Enable error diagnostics with backtrace buffer. One can exit the debugger with the q command." =C2=A0 (setq debug-on-error t) =C2=A0 (setq debug-ignored-errors t)) (when error-diagnostics (enable-error-diagnostics))