From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: Comments on setopt Date: Wed, 16 Feb 2022 15:13:04 +0800 Message-ID: <87bkz7wagv.fsf@yahoo.com> References: <871r05rr2r.fsf@posteo.net> <87a6esztjj.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38617"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) Cc: philipk@posteo.net, larsi@gnus.org, emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Feb 16 08:35:50 2022 Return-path: Envelope-to: ged-emacs-devel@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 1nKEqs-0009o4-0e for ged-emacs-devel@m.gmane-mx.org; Wed, 16 Feb 2022 08:35:50 +0100 Original-Received: from localhost ([::1]:37526 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nKEqp-0008Rs-Us for ged-emacs-devel@m.gmane-mx.org; Wed, 16 Feb 2022 02:35:47 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:55614) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nKEV4-0005m0-Jm for emacs-devel@gnu.org; Wed, 16 Feb 2022 02:13:19 -0500 Original-Received: from sonic314-22.consmr.mail.ne1.yahoo.com ([66.163.189.148]:41704) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nKEV1-0006pF-WE for emacs-devel@gnu.org; Wed, 16 Feb 2022 02:13:18 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1644995593; bh=3BbHDz+zVUuEvsqyuyyp1EOM7nGuG5Y9ftBozBgBfEc=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=S6zVmHnVcS0lJ7ioqZwXm6CL6vkmQSCuloRA/H4xusMzITK4AriexCruDKkGojbjCY2AhJBed02ZLnaNJ4oUmkJFy8r2IIeoQJ9HOD6LowHz2+nRbB8NtFnq9SVbfClG9Pp1ireulzjNiuo2BBnUCPYkMvE9TVmxQLci6dpG3HvtDjGOCHBvsxG9bDHxxnY2sRNkZ7oBmwGeK18Y/zAXsav95lKth+ogsHEVPAwFBWDvaGTbMri2rp9p9EEiwfyAeoPedTCK4rUumHArMJcSok0CFsRq4mf5L9qc4lkGB2mIIyK7GTM42BULNgijUCElTnm4fJ+ggzJ5jDPKcmoowA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1644995593; bh=VmV4EqQmhodG7RZcxSPpBDOf71MTfwUlyNHtYqXZooK=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=gOIQXc6C7i+W700ijlzIaUGyKR4wCQmnY0ZghWB/44yHx/cRZ/YF1QrNQp77jG6ym0jJQ5GGz9RK+bfFiy7RpXz+cjsQN+ISE6irxBa+IWxuP+DRCekOElUiS30wkddwmtEkK8BRwI2ZaKez3q4AkUDo60c40SMuziRBRAXiEUqxejYu0WWx7fEtPCLYb72pkJySfBLI9gFnUsUTVwIKH3EKNR9Koj/Wp2Q88BZT4qRT+yP+o3rayYy8C3sMRs17Mhk8p0mqNdcA2prv3F7zmun0Mq01PTJ0FtbTLG7dofSB10NBr/2oNXTJI5pnLxubbAy26B+SFasi08+lUEqcFQ== X-YMail-OSG: DUPzf7UVM1k10MEUthCYsPg98ufwt3kIyG0Kd5qNbE7SVr44YiL6DPxH3ZceJaO jC7_VETtX4dHUu0b9gGNKnPzCL7RfVB7W.OE.cjwlrjqEkzuqOHwYWpqRurT.UC3vikofwuPQNe. _2j62h1BWM9hfgjYpCuo0BxhNKU2pkERZe2O.w_dDpNfwxcayIQ_9w4E0wHTYGbNi2XfrSBDQnh4 HWBF6rwdE50YFHjF8sje7qcKqGfWfc1gR51tE4ShzLpqFI9n2WXv_4qwb.H37ktchSHFIJu6PlIL vy.FldavezpC9zGFlaCmeWtxyusj9Gzr19c9trAmWm07pciReEJxc0uy19cXPG0r5TOEU4yy.yWm j6pwf7knZrJ6IialHXwhNCya0OEDESniG7tpPINa6UXvtOBRFvta2sQDJS_7G3AEmIfSbzhsAVJH xQvarStzNpUBVN6Ve0sPQk5nBXK93YyMRYq2yT_ZT8QVf3DVpBQdrpvX4ZXe4K4iH6GjXONLoTbA vGjpwgFQQ7dljXyY6bzEpx0wkP5eafmt7vQQiL_grfNGOKLssVkIwc5ryEL84f_KZXE8zNkBz8IV K2FcKTKKx6JL8cTGwk3YXfq.3JDTtlbLMRY.vpzxX4wU87B1I1hXNndY7hOv_cFt8Hecw4EOPG1A lGVs.gnHNkxOrRAActmkerkhZkDqo3pNc8NB_.yjmAlKI7qHuTHMGEVbgQg3hHSPSg73eNW06k24 r.218yYZkTfXtYDGjR03mkZcwYzpNemlnkcis2Aq8c.kerSw.9HFTBgYO2hWpcHPUjgoX30voKq0 CEHgU.w5xqZ3Q2pBCtceYPzTDSb58ep0L8u6aoQEa_ X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.consmr.mail.ne1.yahoo.com with HTTP; Wed, 16 Feb 2022 07:13:13 +0000 Original-Received: by kubenode512.mail-prod1.omega.sg3.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID 18a69bee184de10888ba4e3f3478e57b; Wed, 16 Feb 2022 07:13:10 +0000 (UTC) In-Reply-To: (Richard Stallman's message of "Tue, 15 Feb 2022 23:12:11 -0500") X-Mailer: WebService/1.1.19724 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.189.148; envelope-from=luangruo@yahoo.com; helo=sonic314-22.consmr.mail.ne1.yahoo.com 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:286369 Archived-At: Richard Stallman writes: > Setting a command line option is not especially common. > I don't think it calls for a name of only 6 characters -- if I were > choosing one afresh, I think I would choose `set-command-option'. > > The only reason to use `setopt' is to for parallelism with `getopt'. This macro sets a customizable variable in Emacs, it's not related to `getopt'. Here is its definition: (defmacro setopt (&rest pairs) "Set VARIABLE/VALUE pairs, and return the final VALUE. This is like `setq', but is meant for user options instead of plain variables. This means that `setopt' will execute any Customize form associated with VARIABLE. If VARIABLE has a `custom-set' property, that is used for setting VARIABLE, otherwise `set-default' is used. \(fn [VARIABLE VALUE]...)" (declare (debug setq)) (unless (zerop (mod (length pairs) 2)) (error "PAIRS must have an even number of variable/value members")) (let ((expr nil)) (while pairs (unless (symbolp (car pairs)) (error "Attempting to set a non-symbol: %s" (car pairs))) (push `(customize-set-variable ',(car pairs) ,(cadr pairs)) expr) (setq pairs (cddr pairs))) (macroexp-progn (nreverse expr)))) Thanks.