From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Alex Newsgroups: gmane.emacs.devel Subject: Re: Slightly extending commit 16b0520a9 Date: Sat, 05 Aug 2017 22:30:36 -0600 Message-ID: <87h8xluxlf.fsf@lylat> References: <87o9rtuz2r.fsf@lylat> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1501993903 6903 195.159.176.226 (6 Aug 2017 04:31:43 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 6 Aug 2017 04:31:43 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Aug 06 06:31:39 2017 Return-path: Envelope-to: ged-emacs-devel@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 1deDE1-0001Q5-Dz for ged-emacs-devel@m.gmane.org; Sun, 06 Aug 2017 06:31:37 +0200 Original-Received: from localhost ([::1]:59717 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1deDE6-0002LL-UB for ged-emacs-devel@m.gmane.org; Sun, 06 Aug 2017 00:31:43 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43914) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1deDDw-0002HH-Bp for emacs-devel@gnu.org; Sun, 06 Aug 2017 00:31:34 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1deDDt-0000nf-4E for emacs-devel@gnu.org; Sun, 06 Aug 2017 00:31:32 -0400 Original-Received: from mail-it0-x233.google.com ([2607:f8b0:4001:c0b::233]:38339) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1deDDs-0000mY-VL for emacs-devel@gnu.org; Sun, 06 Aug 2017 00:31:29 -0400 Original-Received: by mail-it0-x233.google.com with SMTP id m34so6474987iti.1 for ; Sat, 05 Aug 2017 21:31:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=/GsuOxk8EreKNQNcjoJbgd8DuRZYlTF6FKl3xD4m4/U=; b=depRu9c7yg5TBvq79rA/u9HEoVuLjeLOds0RmL5UAjd4dADFVqdwOZLfcRKyybXiLx IYepOn1oMwpDZO2BABsdDhTtoFz7B5TWNJf28ua0YAhCKJlquI9FR1nonBThaULb3ZmJ Brf0bo7qww0OywUv8ql7WYRLnxBSJkY8sj3M2mLb27FVE92yZuA9/aFZUOmkTrAt/tdJ 5YaF6In6EsoafPbBeKtTSB1MweQjg+qUTXKMq7NY0mZSSz1/dkvVquWvPiYeBQPvQJ7z BWK2JTjip/H17uoX+7jQ0Mpyuhd1RAVOSeA8dY4qm+sYAQBa04RnSj7z0vUDrKADdb7k MuMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=/GsuOxk8EreKNQNcjoJbgd8DuRZYlTF6FKl3xD4m4/U=; b=Mh2mItj8o3ePboyVFDe5a9K18hLj3sSsr/2gYdrLU5pgUC2wwo8LIhJAoZhJbKEXZo 7b18bvXoKDGS+sM4CG7SbdnQYLp2DycM9KkDwiZy3Trd8Ba9s6Pyt22ZOdhqe35GVZf/ 1aNs8zq5N4VMdn/xkge8x9uuCFAvT6qTD13draIYxz8nUvPND1iWRQx5RqG8ZCZG7+PU CtzLPyvkp3BnSP6yCxQbkYTo1N00PH9CLjWRg9rmcc4vnMFFI+GDZjfZgGb/ujXLN6gA 3nCv2/wDmm/eX6wIK101Ki5pPvKqGngZZealI+Jzz/RqheIYtTUDvnpYAYuBP1uUUDUE bcMg== X-Gm-Message-State: AHYfb5hFqk4YYZUp5gExQdOXG3lcNRJdMw9MTNYdhiZkIc5pITywTl+6 KP+qqgOm5sTMkkNQ X-Received: by 10.36.17.142 with SMTP id 136mr7155440itf.90.1501993888023; Sat, 05 Aug 2017 21:31:28 -0700 (PDT) Original-Received: from lylat (S010664777d9cebe3.ss.shawcable.net. [70.64.85.59]) by smtp.gmail.com with ESMTPSA id w135sm2503553itc.42.2017.08.05.21.31.26 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 05 Aug 2017 21:31:27 -0700 (PDT) In-Reply-To: (Stefan Monnier's message of "Sun, 06 Aug 2017 00:08:25 -0400") X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4001:c0b::233 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:217338 Archived-At: Stefan Monnier writes: >> cond = eval_sub (XCAR (args)); >> >> if (!NILP (cond)) >> - return eval_sub (Fcar (XCDR (args))); >> + return eval_sub (XCAR (XCDR (args))); > > I don't see anything in the preceding code that guarantees that `XCDR (args)` > holds a cons, so I think XCAR here is unsafe. The following line includes "XCDR (XCDR (args))", and the value of cond should not affect the type of XCDR (args). If XCDR is allowed in this case, then IIUC XCAR should be allowed as well. I believe the reason why we can assume that XCDR (args) is a cons cell is that `if' requires at least 2 (unevalled) arguments, so args must be a list of at least length 2.