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: Wed, 06 Jun 2018 02:32:18 +0200 Message-ID: <87y3fsoiul.fsf@web.de> References: <1dff07f6-8da4-4e4c-a700-0bc39d6f2aa6@live.com> <874lii88hy.fsf@gmail.com> <87o9gqw21y.fsf@web.de> <871sdm851q.fsf@gmail.com> <87k1rc7sly.fsf@gmail.com> <6176bcee-a8da-8547-762b-4174652ad2a0@live.com> <87h8mg7r2c.fsf@gmail.com> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1528245067 10576 195.159.176.226 (6 Jun 2018 00:31:07 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 6 Jun 2018 00:31:07 +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 Wed Jun 06 02:31:03 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 1fQMLv-0002bX-3L for geb-bug-gnu-emacs@m.gmane.org; Wed, 06 Jun 2018 02:31:03 +0200 Original-Received: from localhost ([::1]:49771 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQMO0-0007t6-83 for geb-bug-gnu-emacs@m.gmane.org; Tue, 05 Jun 2018 20:33:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44460) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fQMNu-0007sp-8o for bug-gnu-emacs@gnu.org; Tue, 05 Jun 2018 20:33:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fQMNr-0006Yo-1M for bug-gnu-emacs@gnu.org; Tue, 05 Jun 2018 20:33:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:56022) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fQMNq-0006YX-Sw for bug-gnu-emacs@gnu.org; Tue, 05 Jun 2018 20:33:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fQMNq-0003qR-Cq for bug-gnu-emacs@gnu.org; Tue, 05 Jun 2018 20:33:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 06 Jun 2018 00:33:02 +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.152824515114740 (code B ref 31715); Wed, 06 Jun 2018 00:33:02 +0000 Original-Received: (at 31715) by debbugs.gnu.org; 6 Jun 2018 00:32:31 +0000 Original-Received: from localhost ([127.0.0.1]:35686 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fQMNK-0003pg-Uj for submit@debbugs.gnu.org; Tue, 05 Jun 2018 20:32:31 -0400 Original-Received: from mout.web.de ([212.227.15.3]:51187) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fQMNI-0003pS-JF for 31715@debbugs.gnu.org; Tue, 05 Jun 2018 20:32:30 -0400 Original-Received: from drachen.dragon ([188.110.196.170]) by smtp.web.de (mrweb003 [213.165.67.108]) with ESMTPSA (Nemesis) id 0Maazp-1fjwWg0FXF-00K9DN; Wed, 06 Jun 2018 02:32:19 +0200 In-Reply-To: <87h8mg7r2c.fsf@gmail.com> (Noam Postavsky's message of "Tue, 05 Jun 2018 19:26:51 -0400") X-Provags-ID: V03:K1:0MVH//2SxO4EPwkg4YbapJuPVvEY5hVO3V3vWSNy08xBX6UhqmG UwpNTyOmwiT9wGJSkJILDKQXObQaruYfO6UJnrSlKVsTrUPFKk9g1+0PodmrSpB5YDyCAVA sCK3aebC+BRYRHsCOPzlIYgUJa2+OkPrwj7LFSft2TOvwdMphEJgXm8FtITmV98uEUnXgqX Y94SZBEnydGB8imwo10+w== X-UI-Out-Filterresults: notjunk:1;V01:K0:5InlT+FGahE=:YMP4qKQpl5aaSxDm0okwlx GziZ68pCx2dQyuvmnpKoBTStIf1xpoSLfb4smVGoIylr2lIib4mWyQ8LoKIv1dLWWuGk+7vKd bHmu+oUH7kzWkyHKn31EHWscMkzlfCjGG3iKgF+Y7b2wsadD7bwNmFB31d1FjoVXAZs1nwkYi w3uI+XHtPlLTqUHP7zjOXXZ/O9CmBCYEHKrlZemwhzphxNyCwfpBJ20xtx7uGsi18Jv/l/bru /jy4d5kr9pP9rv8gIBeHgqikLuARPHD4xCe8Hf/h2rO77bt0/4zaCt6As1316S5ELEiht+AEg g5J/SFxlHCIFjpAO2cobNiVjyxXeRTjh2AL6+xMvsBueU3btVJt4ou1bsFyFDOBinmSLLM9ab Rdc0dYEl+CKsWXkJ+MujlCFh8x5idQa+K+NsgHQyfC5G9sg8eCWEIlsSQWIpVXohp9AgqAaHP bPFA0zvedvXtw19xRADxZ/XigrmyBbFurE5Llt8eo1o/zgrI69GHtXto0jXF8biKyBCpWdwS0 7vyCCoSBo2IMbk32Cy45gl1wjBS/5+tlwJl5pU9p2N01Plu2QIcVeXrVmDHa3b5ULtWVNqpyi WKfzKxPqIqEpwgMl2JWLfM+WhG8ybSq8lqIMAbe40/MZZuDnAwEVX0cOzx3ZSfWCcmuHGh3WY 24rDKV0mAKqtHduUMEDIexwCd4Qp/aiF7KvYUVKKA16tf2IPxatbUlOvyzg/W+4A3y2Pwbl69 ToJcrFBqRIZ7WmLqzREMB6ozxwnx03zuuqDgocCVnFt383QWim8Y9lhH7tAoEt9rYqKOHr2L 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:147061 Archived-At: Noam Postavsky writes: > Oh, huh, I didn't think to check that case. Maybe we should just change > cl-incf to disintguish between nil and unspecified then. > > (defmacro cl-incf (place &rest args) > "Increment PLACE by X (1 by default). > PLACE may be a symbol, or any generalized variable allowed by `setf'. > The return value is the incremented value of PLACE. > > \(fn PLACE &optional X)" > (declare (debug (place &optional form))) > (let* ((got-x (= (length args) 1)) > (x (car args))) > (if (symbolp place) > (list 'setq place (if got-x (list '+ place x) (list '1+ place))) > (list 'cl-callf '+ place (if got-x x 1))))) That's quite hackish, just to make (cl-incf x nil) error, which is a backward incompatible change with no real gain. Wouldn't we even lose the byte compiler barfing for something like (incf x 1 2)? Michael.