From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.bugs Subject: bug#31715: cl-incf and cl-decf error out when passed a nil-valued variable as 'offset' Date: Tue, 05 Jun 2018 01:43:21 +0200 Message-ID: <87o9gqw21y.fsf@web.de> References: <1dff07f6-8da4-4e4c-a700-0bc39d6f2aa6@live.com> <874lii88hy.fsf@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1528155729 3181 195.159.176.226 (4 Jun 2018 23:42:09 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 4 Jun 2018 23:42:09 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: =?UTF-8?Q?Cl=C3=A9ment?= Pit-Claudel , 31715@debbugs.gnu.org To: Noam Postavsky Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jun 05 01:42:05 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fPz6v-0000dt-PT for geb-bug-gnu-emacs@m.gmane.org; Tue, 05 Jun 2018 01:42:01 +0200 Original-Received: from localhost ([::1]:42364 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fPz92-0005ep-Th for geb-bug-gnu-emacs@m.gmane.org; Mon, 04 Jun 2018 19:44:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37242) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fPz8v-0005eF-AK for bug-gnu-emacs@gnu.org; Mon, 04 Jun 2018 19:44:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fPz8s-0003Gk-2T for bug-gnu-emacs@gnu.org; Mon, 04 Jun 2018 19:44:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:54058) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fPz8r-0003Ge-Tl for bug-gnu-emacs@gnu.org; Mon, 04 Jun 2018 19:44:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fPz8r-00045j-Iz for bug-gnu-emacs@gnu.org; Mon, 04 Jun 2018 19:44:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Jun 2018 23:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 31715 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 31715-submit@debbugs.gnu.org id=B31715.152815581315685 (code B ref 31715); Mon, 04 Jun 2018 23:44:01 +0000 Original-Received: (at 31715) by debbugs.gnu.org; 4 Jun 2018 23:43:33 +0000 Original-Received: from localhost ([127.0.0.1]:33722 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fPz8P-00044u-2g for submit@debbugs.gnu.org; Mon, 04 Jun 2018 19:43:33 -0400 Original-Received: from mout.web.de ([217.72.192.78]:56921) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fPz8N-00044h-Nr for 31715@debbugs.gnu.org; Mon, 04 Jun 2018 19:43:32 -0400 Original-Received: from drachen.dragon ([188.110.196.170]) by smtp.web.de (mrweb103 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MZlR4-1fj9NM2vxm-00LVG0; Tue, 05 Jun 2018 01:43:22 +0200 In-Reply-To: <874lii88hy.fsf@gmail.com> (Noam Postavsky's message of "Mon, 04 Jun 2018 18:58:01 -0400") X-Provags-ID: V03:K1:F7kip4wQckcqJtkmUGa2sW3LvbflHBFUfQtDj8NiaquzLvsF5C6 qes3PF9dkRQyWqGK23PXpHofaWufQljzggYhhnAkzNVpDf899chm9HbJGgMjfcZzcJvlo7w D4DMfQ3o0u5fQms3EU1JEVpH67/ODGouxJv2S1XwVFftTAOgm/W0OfFczm3kwiRlUZy12Sy YljcjWcGMSEKrU/L8qodg== X-UI-Out-Filterresults: notjunk:1;V01:K0:CAONRUIMw+Y=:DMZfhaWxUODzi/UPRx2FXd Z2nXw2mIdCV9OHO483TC0R9lxf00Gu2szbAeUp4yddWW8vKW8V9cuPqCJ7fOPQ8PJkMfCInhZ 9mFufoGcJlnh+RqvmrDlkNrRlxlopitFgYsOZ57xAgsDPPF1mk++2/jxv4bJYgjKh9fHl9S+/ YoqIfwTa5QIABJ1E4QO7o6uyVODMJ2y4oRIWWAh5MqEzSgETvFMCRQZt02Gt5BkIcjLgGX1O+ ZzRdp1WIoEl8/WIYXOxQDcBcQocLDRofxKvnY9snONpEm6ORER0WSkWh8GHF/AfawSAvqnKA7 KFrb4OEm7h9WwjSBG93wRJcwDGfY2f2gyd11+v7uB93Fb2UGcg+TnAskLpvmk1FgkpV3gBBm6 H+4YSK6uD0qvT8v2yjWGcsrc/qRRQ+7HaQ2/3ZIX1aUZPZzfiLN2uWzPA6hNXNZCs2JOzvVjn CK//MN2F81YEfUwNfUEuGVuYfyHZJoQ3Zhv1VnrMn0ecs/V+J65W2Jj8CM+sOkVOdMf2HfTo1 7VuK98CJYuNpmVPjkY2xSsbqDi7P1Qku3Oqo53V7z3pFl1M7l80RtOtwgcbTL8xzdqFIjVxyT NZpU4AQn4T+N39YnrI0rwWiqaRb0durmofkMtrypK+YNNp1qPovXQWB9UxKE0LZtOVgCpQbzt AbZSKgNfFj20WSCeg080bFsxdAWzVteCkpd/63Tw1vqY53pa8onQVRieY8534eBmnv+0MveNI CIONVPD5RNcy4C/T7rb2jLtRKX6siiYJ29/1GtyRGJgidks3RZG/gZUgg0JSNQno07cd89Cd X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:146978 Archived-At: Noam Postavsky writes: > X is an optional macro parameter, so the "optionalness" applies at > compile time. Are you sure we always treat optional macro parameters like this? > I think that would approximately double the cost of cl-incf in the > simple case [...] We could drop the optimization in case an X expression is specified, resulting in one additional `or' call: (defmacro cl-incf (place &optional x) (if (and (symbolp place) (not x)) (list 'setq place (list '1+ place)) (list 'cl-callf '+ place (or x 1)))) Would that be significantly slower than the current definition? Michael.