From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 00:25:02 2018 Received: (at submit) by debbugs.gnu.org; 22 Jan 2018 05:25:02 +0000 Received: from localhost ([127.0.0.1]:37610 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edUbN-0005VU-RL for submit@debbugs.gnu.org; Mon, 22 Jan 2018 00:25:02 -0500 Received: from eggs.gnu.org ([208.118.235.92]:57352) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edUbM-0005Ut-AO for submit@debbugs.gnu.org; Mon, 22 Jan 2018 00:25:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edUbG-0004aT-8H for submit@debbugs.gnu.org; Mon, 22 Jan 2018 00:24:55 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:52616) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1edUbG-0004aN-4z for submit@debbugs.gnu.org; Mon, 22 Jan 2018 00:24:54 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48323) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edUbE-00019Q-Pm for bug-gnu-emacs@gnu.org; Mon, 22 Jan 2018 00:24:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edUbB-0004XW-LO for bug-gnu-emacs@gnu.org; Mon, 22 Jan 2018 00:24:52 -0500 Received: from mail-pg0-x229.google.com ([2607:f8b0:400e:c05::229]:42278) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1edUbB-0004Wz-F0 for bug-gnu-emacs@gnu.org; Mon, 22 Jan 2018 00:24:49 -0500 Received: by mail-pg0-x229.google.com with SMTP id q67so6256293pga.9 for ; Sun, 21 Jan 2018 21:24:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=ujR4ARz55y9LfsaVk7FFGVf4YfVESxmIbEFSj55eVR4=; b=HsxIwlo69Hk9qp7Kxb8ijAKYasFjkUte0w+ZolemyVtPdXoV1gWQfC2XW+bY4g42PI apRfbF/RdtgQaLUZQ88nPi1d0TgO7DAtgCnsesmDbORt9Te4NTTiEyqodShbyWQBolrO E6JE3j2OzD1sNeOOIUjHIvjubAR+nSbukVw1+XfQvBBid+7nt8YmQVRyGW2oMlSGOcEu +93cVesme3mCHGGOg9bSRCE+Nec+5gpzucb+kLYXPrUXNsPSw1EXhn4H7ninQEX5UGzV c0++TCMuxUoKXtzsGyn3Xcoy+L+lRnXmCYE98MiksXPjKbltjGY6zNvkMwtnn8zfyzhn hKYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=ujR4ARz55y9LfsaVk7FFGVf4YfVESxmIbEFSj55eVR4=; b=SlSV8AVo1lhxwdv9vyKjdQ1tgiO4w4lI5/QaDNvkU/WfCCaPDinXPJu4TvexC9LgAz it95fPQh2Zki+JRwv9EMkKLv9X46mhxe6aVwlTjM8+SBX2dAMnyCSnviI5pfY68op1as 34g8EkJ7OLgGyqK2GgA9gWvZsisNTKVcdV4ZgJjaUhN61kn/Sv2+JererrMJWsqGm6bi 7I9Q3t5KbFM8lpiWIAjcstq47pr7t55pLwJZG1QTmTqqs+ZHF/nZScvNeh1K+WN2FgdR BT+2giiBFlwu9m/ct000yY0U8kVGiBmzAu6WCwLeMRkc+w4xfbvbI78o3zDxDfnqZhXH p6xA== X-Gm-Message-State: AKwxytdTiJpe5OSIO2gfrxBk0qxc1RmDWt6ixAIa9gofMrNG7vZ47pd5 Jvlmf+A5I1E6NepwkDEelytVQ/yG X-Google-Smtp-Source: AH8x224IWILYGeh3Qoc0vGGeHZP/ubmXR4jUP6cp9ADH3kKqQ/bjjC0SeIUietyoL9ZZU8jpExNTIg== X-Received: by 10.98.204.144 with SMTP id j16mr7353063pfk.101.1516598688275; Sun, 21 Jan 2018 21:24:48 -0800 (PST) Received: from calancha-pc (FL1-125-193-170-29.tky.mesh.ad.jp. [125.193.170.29]) by smtp.gmail.com with ESMTPSA id g15sm25674024pgu.52.2018.01.21.21.24.46 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 21 Jan 2018 21:24:47 -0800 (PST) From: Tino Calancha To: bug-gnu-emacs@gnu.org Subject: 27.0.50; Code refactoring on assq-delete-all assoc-delete-all Date: Mon, 22 Jan 2018 14:24:38 +0900 Message-ID: <87r2qilb3d.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) X-Debbugs-CC: monnier@iro.umontreal.ca Severity: wishlist Hi Stefan, yesterday was added (how about to announce it in NEWS file?) the new function `assoc-delete-all', which is pretty much the same as `assq-delete-all' with `equal' instead of `eq'. How do you think below patch? IIUC, the byte compiler will carry the substitution (funcall function foo bar) into (function foo bar) so that compile code won't suffer the funcall overhead, right? * `rassq-delete-all' is also very similar, maybe it could also join the refactoring. --8<-----------------------------cut here---------------start------------->8--- commit 11e4408e9f35d4da1cf07effda63354dde44d9a6 Author: tino calancha Date: Mon Jan 22 13:57:37 2018 +0900 Code refactoring * lisp/subr.el (alist-delete-all): New defun extracted from assq-delete-all. (assoc-delete-all, assq-delete-all): Use it. diff --git a/lisp/subr.el b/lisp/subr.el index 092850a44d..d8286c0937 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -705,35 +705,33 @@ member-ignore-case (setq list (cdr list))) list) -(defun assoc-delete-all (key alist) - "Delete from ALIST all elements whose car is `equal' to KEY. +(defun alist-delete-all (key alist function) + "Delete from ALIST all elements whose car is KEY. +Keys are compared with FUNCTION. Return the modified alist. Elements of ALIST that are not conses are ignored." (while (and (consp (car alist)) - (equal (car (car alist)) key)) + (funcall function (caar alist) key)) (setq alist (cdr alist))) (let ((tail alist) tail-cdr) (while (setq tail-cdr (cdr tail)) (if (and (consp (car tail-cdr)) - (equal (car (car tail-cdr)) key)) + (funcall function (caar tail-cdr) key)) (setcdr tail (cdr tail-cdr)) (setq tail tail-cdr)))) alist) +(defun assoc-delete-all (key alist) + "Delete from ALIST all elements whose car is `equal' to KEY. +Return the modified alist. +Elements of ALIST that are not conses are ignored." + (alist-delete-all key alist #'equal)) + (defun assq-delete-all (key alist) "Delete from ALIST all elements whose car is `eq' to KEY. Return the modified alist. Elements of ALIST that are not conses are ignored." - (while (and (consp (car alist)) - (eq (car (car alist)) key)) - (setq alist (cdr alist))) - (let ((tail alist) tail-cdr) - (while (setq tail-cdr (cdr tail)) - (if (and (consp (car tail-cdr)) - (eq (car (car tail-cdr)) key)) - (setcdr tail (cdr tail-cdr)) - (setq tail tail-cdr)))) - alist) + (alist-delete-all key alist #'eq)) (defun rassq-delete-all (value alist) "Delete from ALIST all elements whose cdr is `eq' to VALUE. --8<-----------------------------cut here---------------end--------------->8--- In GNU Emacs 27.0.50 (build 13, x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of 2018-01-22 built on calancha-pc Repository revision: 9fd9d4cf63d96ba9748b9e89137575e386191c82 From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 08:17:47 2018 Received: (at 30202) by debbugs.gnu.org; 22 Jan 2018 13:17:47 +0000 Received: from localhost ([127.0.0.1]:37808 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edbyt-0004Mb-N2 for submit@debbugs.gnu.org; Mon, 22 Jan 2018 08:17:47 -0500 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:38173) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edbys-0004MT-5h for 30202@debbugs.gnu.org; Mon, 22 Jan 2018 08:17:47 -0500 Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id w0MDHjg6020916; Mon, 22 Jan 2018 08:17:45 -0500 Received: by pastel.home (Postfix, from userid 20848) id E46896080A; Mon, 22 Jan 2018 08:17:44 -0500 (EST) From: Stefan Monnier To: Tino Calancha Subject: Re: bug#30202: 27.0.50; Code refactoring on assq-delete-all assoc-delete-all Message-ID: References: <87r2qilb3d.fsf@gmail.com> Date: Mon, 22 Jan 2018 08:17:44 -0500 In-Reply-To: <87r2qilb3d.fsf@gmail.com> (Tino Calancha's message of "Mon, 22 Jan 2018 14:24:38 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6205=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6205> : inlines <6323> : streams <1776772> : uri <2576821> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: 30202 Cc: 30202@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) > yesterday was added (how about to announce it in NEWS file?) > the new function `assoc-delete-all', which is pretty much > the same as `assq-delete-all' with `equal' instead of `eq'. > How do you think below patch? How 'bout defining (defun assoc-delete-all (key alist &optional test) (unless test (setq test #'equal)) ...) > IIUC, the byte compiler will carry the substitution > (funcall function foo bar) > into > (function foo bar) > so that compile code won't suffer the funcall overhead, right? IIRC both forms result in the same bytecode except that the longer form will not benefit from inlining and/or the use of specialized bytecodes (e.g. when `foo` is `equal`). Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 10:04:39 2018 Received: (at 30202) by debbugs.gnu.org; 22 Jan 2018 15:04:39 +0000 Received: from localhost ([127.0.0.1]:38289 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eddeJ-000799-3T for submit@debbugs.gnu.org; Mon, 22 Jan 2018 10:04:39 -0500 Received: from mail-pg0-f54.google.com ([74.125.83.54]:36464) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eddeG-00078t-Uo for 30202@debbugs.gnu.org; Mon, 22 Jan 2018 10:04:37 -0500 Received: by mail-pg0-f54.google.com with SMTP id k68so7293110pga.3 for <30202@debbugs.gnu.org>; Mon, 22 Jan 2018 07:04:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=usAZyhin2nXMXzHIhdFRqh2DLCIqMju4hmO3rMjl0Cw=; b=Xv+5wHzEV0ZJvOQeT4ny4nrnZVhl9q3gAQvtoYpmYpZoM4XitpqVt9bodwRgDPcri0 yF+kFx5kLnpzyXPPOxadvdllGK4f/HHZ0wGWWyMoLqPFGehghJp3cWPf5Bqmhg0P/o7W suHHLeXA4uAF8UgwJSoVGSrPq5i5uErCkzt+D7ucQOAoZAnnIU27KDptK+EaYyfgCJay PUT5pYLMrJKgsnCNndOffu/1aFMqcqcG4d/ngFrO9egRSs4zwENbyeZwI5TZ8sHGpR6U IMw6oC/IwEJIu4ef+AjOwt1HT0mGxNAVKUVZsl/tcOdgtNR6GcexL/jJ6L6G6JDPb7IQ w3uQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=usAZyhin2nXMXzHIhdFRqh2DLCIqMju4hmO3rMjl0Cw=; b=slezWQZF9GZmtApXM+hWZ00naNXgsahevVqJ97ONog7ISfKWcaLCH25IJNLUSlftJB oD6bwA+8Z86dl7iIKDoLCcFclTzNU5DaiJ8gbFD9XdwP0H63kxKWPF3nbwcuPOyx3bhB XZU4AldNt7DtAiLo4eFZHGHiGcpyrBSr6dMLoNRwGfFDyI43tUpJDruyxYS1t2iogeNb HW5JPJTy+P2XWbyqAxx1IECtX81ATSQjlF1h7LdoJc57pV41ShGcSAaPwK5dlrEhUlYF cTP18IhaW6JWrJ1H6xPqgIWpmdpzQeX+NGk0yp7V13Qg72tizmt9xL5C2dUUkwkmX1zD Lt/w== X-Gm-Message-State: AKwxytcWCRAkLeewGSA+1AMBPPRYw3nTQ/r9ALCE3uqKu8rrlfepEWzU q/xRS7MZICaUj7FIYokAv1Y= X-Google-Smtp-Source: AH8x225N4knJ+Js7KSK45YMb4QxzLKHIJ6KkPeQ19b7SL4vnRyU6eSgAEaiaU2Z1oFN2cmNyEmN/0Q== X-Received: by 10.101.81.7 with SMTP id f7mr7432028pgq.423.1516633468635; Mon, 22 Jan 2018 07:04:28 -0800 (PST) Received: from calancha-pc (146.219.128.101.dy.bbexcite.jp. [101.128.219.146]) by smtp.gmail.com with ESMTPSA id w12sm901671pfd.86.2018.01.22.07.04.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 07:04:27 -0800 (PST) From: Tino Calancha X-Google-Original-From: Tino Calancha Date: Tue, 23 Jan 2018 00:04:24 +0900 (JST) X-X-Sender: calancha@calancha-pc To: Stefan Monnier Subject: Re: bug#30202: 27.0.50; Code refactoring on assq-delete-all assoc-delete-all In-Reply-To: Message-ID: References: <87r2qilb3d.fsf@gmail.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30202 Cc: 30202@debbugs.gnu.org, Tino Calancha X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On Mon, 22 Jan 2018, Stefan Monnier wrote: >> yesterday was added (how about to announce it in NEWS file?) >> the new function `assoc-delete-all', which is pretty much >> the same as `assq-delete-all' with `equal' instead of `eq'. >> How do you think below patch? > > How 'bout defining > > (defun assoc-delete-all (key alist &optional test) > (unless test (setq test #'equal)) > ...) Yes, I prefer this way. Thank you. Updated patch below. >> IIUC, the byte compiler will carry the substitution >> (funcall function foo bar) >> into >> (function foo bar) >> so that compile code won't suffer the funcall overhead, right? > > IIRC both forms result in the same bytecode except that the longer form > will not benefit from inlining and/or the use of specialized bytecodes > (e.g. when `foo` is `equal`). Here I tend to prefer to avoid the duplication of the similar code; in case that the gain of performance result critical, and considering that the functions are very short, then it might be OK repeat ourselves. --8<-----------------------------cut here---------------start------------->8--- commit 9ecce395b1f2def081187d3e430d0cb82af8ba01 Author: tino calancha Date: Mon Jan 22 23:53:27 2018 +0900 Code refactoring * lisp/subr.el (assoc-delete-all): Add optional arg TEST. (assq-delete-all): Use assoc-delete-all. diff --git a/lisp/subr.el b/lisp/subr.el index 092850a44d..e7a0ffc5be 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -705,17 +705,19 @@ member-ignore-case (setq list (cdr list))) list) -(defun assoc-delete-all (key alist) - "Delete from ALIST all elements whose car is `equal' to KEY. +(defun assoc-delete-all (key alist &optional test) + "Delete from ALIST all elements whose car is KEY. +Compare keys with TEST. Defaults to `equal'. Return the modified alist. Elements of ALIST that are not conses are ignored." + (unless test (setq test #'equal)) (while (and (consp (car alist)) - (equal (car (car alist)) key)) + (funcall test (caar alist) key)) (setq alist (cdr alist))) (let ((tail alist) tail-cdr) (while (setq tail-cdr (cdr tail)) (if (and (consp (car tail-cdr)) - (equal (car (car tail-cdr)) key)) + (funcall test (caar tail-cdr) key)) (setcdr tail (cdr tail-cdr)) (setq tail tail-cdr)))) alist) @@ -724,16 +726,7 @@ assq-delete-all "Delete from ALIST all elements whose car is `eq' to KEY. Return the modified alist. Elements of ALIST that are not conses are ignored." - (while (and (consp (car alist)) - (eq (car (car alist)) key)) - (setq alist (cdr alist))) - (let ((tail alist) tail-cdr) - (while (setq tail-cdr (cdr tail)) - (if (and (consp (car tail-cdr)) - (eq (car (car tail-cdr)) key)) - (setcdr tail (cdr tail-cdr)) - (setq tail tail-cdr)))) - alist) + (assoc-delete-all key alist #'eq)) (defun rassq-delete-all (value alist) "Delete from ALIST all elements whose cdr is `eq' to VALUE. --8<-----------------------------cut here---------------end--------------->8--- From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 10:47:26 2018 Received: (at 30202) by debbugs.gnu.org; 22 Jan 2018 15:47:26 +0000 Received: from localhost ([127.0.0.1]:38309 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edeJi-00088G-Lb for submit@debbugs.gnu.org; Mon, 22 Jan 2018 10:47:26 -0500 Received: from eggs.gnu.org ([208.118.235.92]:45967) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edeJg-000881-2A for 30202@debbugs.gnu.org; Mon, 22 Jan 2018 10:47:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edeJZ-0001dL-SI for 30202@debbugs.gnu.org; Mon, 22 Jan 2018 10:47:18 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:38118) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edeJT-0001Tt-Ga; Mon, 22 Jan 2018 10:47:11 -0500 Received: from [176.228.60.248] (port=3273 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1edeJT-00071G-3N; Mon, 22 Jan 2018 10:47:11 -0500 Date: Mon, 22 Jan 2018 17:46:59 +0200 Message-Id: <83lggprj4c.fsf@gnu.org> From: Eli Zaretskii To: Tino Calancha In-reply-to: <87r2qilb3d.fsf@gmail.com> (message from Tino Calancha on Mon, 22 Jan 2018 14:24:38 +0900) Subject: Re: bug#30202: 27.0.50; Code refactoring on assq-delete-all assoc-delete-all References: <87r2qilb3d.fsf@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 30202 Cc: 30202@debbugs.gnu.org, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Tino Calancha > Date: Mon, 22 Jan 2018 14:24:38 +0900 > Cc: monnier@iro.umontreal.ca > > yesterday was added (how about to announce it in NEWS file?) Please just add a NEWS entry if you find a missing one. Bonus points for documenting new functions in the respective manual(s). Thanks. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 22 19:02:23 2018 Received: (at 30202) by debbugs.gnu.org; 23 Jan 2018 00:02:23 +0000 Received: from localhost ([127.0.0.1]:38740 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edm2h-000402-90 for submit@debbugs.gnu.org; Mon, 22 Jan 2018 19:02:23 -0500 Received: from mail-pg0-f50.google.com ([74.125.83.50]:41859) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edm2g-0003zq-Ao for 30202@debbugs.gnu.org; Mon, 22 Jan 2018 19:02:22 -0500 Received: by mail-pg0-f50.google.com with SMTP id 136so8356136pgd.8 for <30202@debbugs.gnu.org>; Mon, 22 Jan 2018 16:02:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=D1QOkMyIBFAZ/LKkqsghnjY/9+LL+HopUQAM25iBd/g=; b=FoEBmqclrvJPv/4fjrzOclZFWzHByp/i50NFPm/WZfL0f+bUMGQLSeE4MHl3wmBpdg hN4IJJeS3e6LJjfpPppys6ulhzR7KcjQvaQWFKr0FVmOHOwm/nkUk+PVrQGqkOeqPmAY /D7lIoulx0ZivQ1pIuqb57ODKiM277FOFRrusHAx8tzfEQtT7DHIYX59p39i9a0pxVKB aeaU2jrOLRPu8/RnFsIzurMQZU7QkScBEAcQUmiMpDgMvVyO+1unchrg4U3icolUJnL1 g8i14lIL56gDP1jTSoWDObb9Od46tXmMcF5nC/RTwQYH9E7MiacqilIsaxnu3Tx/Trk/ RWag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=D1QOkMyIBFAZ/LKkqsghnjY/9+LL+HopUQAM25iBd/g=; b=YIsaDcYL+PQNhc8Z7vEqvj9ggi6JR1xc5k1y1OvzqCgVWkP8b4t7RxSFPo1nXEayq7 eHghPnJH5sKnV0Wtf+PiJcqbTKrVby+gn+PHbDd6IjaDA+W/CgtTNkQN4fCkrTYVtRO2 fXvSM0CGucOLqShIu8KIRJvVEOpXrmKoh4i3PN5qqTyOhWCWZU6jI3WvcQG3OrWG8fqV RwUnuCubNnGchzuTQBwZAPC/4baWESrmASv0YHZhaPsQg6How3aozEZXcFkABMu0VqOU yUJ7Rz+wX2UL++vdrS+YQgXZuPz6K/qS3SC2sQF4xV9hsqifAT95UUhN1y+/HP+h+9ug LagQ== X-Gm-Message-State: AKwxyte2UqwU75s44Jpb/w927CGMaxK+kGn/id3U83V8sIWUxwFWnkm4 CRrG9l9EHWpHx5ix64XoSow= X-Google-Smtp-Source: AH8x227w6qz8NjJHKvgmqSA0HeVgupQBjFSy6RktXxYQwYJxdzXwWrO8m5ddcy2enTCElx26XCOx8A== X-Received: by 10.101.76.14 with SMTP id u14mr7629262pgq.363.1516665736387; Mon, 22 Jan 2018 16:02:16 -0800 (PST) Received: from calancha-pc (FL1-125-193-170-29.tky.mesh.ad.jp. [125.193.170.29]) by smtp.gmail.com with ESMTPSA id x8sm2070152pfk.123.2018.01.22.16.02.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Jan 2018 16:02:15 -0800 (PST) From: Tino Calancha X-Google-Original-From: Tino Calancha Date: Tue, 23 Jan 2018 09:02:12 +0900 (JST) X-X-Sender: calancha@calancha-pc To: Eli Zaretskii Subject: Re: bug#30202: 27.0.50; Code refactoring on assq-delete-all assoc-delete-all In-Reply-To: <83lggprj4c.fsf@gnu.org> Message-ID: References: <87r2qilb3d.fsf@gmail.com> <83lggprj4c.fsf@gnu.org> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30202 Cc: 30202@debbugs.gnu.org, monnier@iro.umontreal.ca, Tino Calancha X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On Mon, 22 Jan 2018, Eli Zaretskii wrote: >> From: Tino Calancha >> Date: Mon, 22 Jan 2018 14:24:38 +0900 >> Cc: monnier@iro.umontreal.ca >> >> yesterday was added (how about to announce it in NEWS file?) > > Please just add a NEWS entry if you find a missing one. Bonus points > for documenting new functions in the respective manual(s). Thanks for the suggestion. Updated the patch with the NEWS entry and manual doc. --8<-----------------------------cut here---------------start------------->8--- commit a80eda38ac4abefbbfd05719cb8ecd4ad9a85d68 Author: tino calancha Date: Tue Jan 23 08:52:48 2018 +0900 Code refactoring * lisp/subr.el (assoc-delete-all): Add optional arg TEST. (assq-delete-all): Use assoc-delete-all. * doc/lispref/lists.texi (Association Lists): Document assoc-delete-all in the manual. ; * etc/NEWS: Add entry for assoc-delete-all diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi index 3e2dd13c70..37b8172502 100644 --- a/doc/lispref/lists.texi +++ b/doc/lispref/lists.texi @@ -1733,6 +1733,13 @@ Association Lists @end example @end defun +@defun assoc-delete-all key alist &optional test +This function is like @code{assq-delete-all} except that accepts +an optional argument @var{test} to compare the keys in @var{alist}. +@var{test} defaults to @code{equal}. As @code{assq-delete-all}, +this function often modifies the original list structure of @var{alist}. +@end defun + @defun rassq-delete-all value alist This function deletes from @var{alist} all the elements whose @sc{cdr} is @code{eq} to @var{value}. It returns the shortened alist, and diff --git a/etc/NEWS b/etc/NEWS index d30f0b087c..c491777781 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -204,6 +204,9 @@ as new-style, bind the new variable 'force-new-style-backquotes' to t. * Lisp Changes in Emacs 27.1 ++++ +** New function assoc-delete-all. + ** 'print-quoted' now defaults to t, so if you want to see (quote x) instead of 'x you will have to bind it to nil where applicable. diff --git a/lisp/subr.el b/lisp/subr.el index 092850a44d..e7a0ffc5be 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -705,17 +705,19 @@ member-ignore-case (setq list (cdr list))) list) -(defun assoc-delete-all (key alist) - "Delete from ALIST all elements whose car is `equal' to KEY. +(defun assoc-delete-all (key alist &optional test) + "Delete from ALIST all elements whose car is KEY. +Compare keys with TEST. Defaults to `equal'. Return the modified alist. Elements of ALIST that are not conses are ignored." + (unless test (setq test #'equal)) (while (and (consp (car alist)) - (equal (car (car alist)) key)) + (funcall test (caar alist) key)) (setq alist (cdr alist))) (let ((tail alist) tail-cdr) (while (setq tail-cdr (cdr tail)) (if (and (consp (car tail-cdr)) - (equal (car (car tail-cdr)) key)) + (funcall test (caar tail-cdr) key)) (setcdr tail (cdr tail-cdr)) (setq tail tail-cdr)))) alist) @@ -724,16 +726,7 @@ assq-delete-all "Delete from ALIST all elements whose car is `eq' to KEY. Return the modified alist. Elements of ALIST that are not conses are ignored." - (while (and (consp (car alist)) - (eq (car (car alist)) key)) - (setq alist (cdr alist))) - (let ((tail alist) tail-cdr) - (while (setq tail-cdr (cdr tail)) - (if (and (consp (car tail-cdr)) - (eq (car (car tail-cdr)) key)) - (setcdr tail (cdr tail-cdr)) - (setq tail tail-cdr)))) - alist) + (assoc-delete-all key alist #'eq)) (defun rassq-delete-all (value alist) "Delete from ALIST all elements whose cdr is `eq' to VALUE. --8<-----------------------------cut here---------------end--------------->8--- From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 23 11:05:52 2018 Received: (at 30202) by debbugs.gnu.org; 23 Jan 2018 16:05:52 +0000 Received: from localhost ([127.0.0.1]:39806 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ee155-00018D-Sx for submit@debbugs.gnu.org; Tue, 23 Jan 2018 11:05:52 -0500 Received: from eggs.gnu.org ([208.118.235.92]:52126) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ee154-00017x-9r for 30202@debbugs.gnu.org; Tue, 23 Jan 2018 11:05:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ee14v-00016X-08 for 30202@debbugs.gnu.org; Tue, 23 Jan 2018 11:05:44 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57952) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ee14i-00012D-EQ; Tue, 23 Jan 2018 11:05:28 -0500 Received: from [176.228.60.248] (port=4575 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1ee14g-0007OY-8p; Tue, 23 Jan 2018 11:05:27 -0500 Date: Tue, 23 Jan 2018 18:05:16 +0200 Message-Id: <83r2qgzhkz.fsf@gnu.org> From: Eli Zaretskii To: Tino Calancha In-reply-to: (message from Tino Calancha on Tue, 23 Jan 2018 09:02:12 +0900 (JST)) Subject: Re: bug#30202: 27.0.50; Code refactoring on assq-delete-all assoc-delete-all References: <87r2qilb3d.fsf@gmail.com> <83lggprj4c.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 30202 Cc: 30202@debbugs.gnu.org, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Tino Calancha > Date: Tue, 23 Jan 2018 09:02:12 +0900 (JST) > cc: Tino Calancha , 30202@debbugs.gnu.org, > monnier@iro.umontreal.ca > > Updated the patch with the NEWS entry and manual doc. Thanks, a few nits below. > +@defun assoc-delete-all key alist &optional test > +This function is like @code{assq-delete-all} except that accepts ^^^^^^^^^^^^^^^^^^^ "... except that it accepts" > +an optional argument @var{test} to compare the keys in @var{alist}. To make it even more clear, I would say except that it accepts an optional argument @var{test}, a predicate function to compare the keys in @var{alist}. > +@var{test} defaults to @code{equal}. An even more minor nit: try to avoid starting a sentence with @var. In an Info manual, @var produces UPPER CASE, which looks OK at the beginning of a sentence; but in the printed manual, @var produces a lower-case word in slant typeface, which makes the sentence begin with a lower-case letter. So it is better to either say If omitted or @code{nil}, @var{test} defaults to ... or even make it part of the previous sentence: ... a predicate function to compare the keys in @var{alist}; @var{test} defaults to @code{equal}. Or maybe even toss the reference to TEST: ... a predicate function to compare the keys in @var{alist}; if omitted, it defaults to @code{equal}. (And yes, I know that our manuals are full of sentences starting with @var; something to improve on, I guess.) Thanks! From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 23 22:10:56 2018 Received: (at 30202) by debbugs.gnu.org; 24 Jan 2018 03:10:57 +0000 Received: from localhost ([127.0.0.1]:40210 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeBSh-0002la-9i for submit@debbugs.gnu.org; Tue, 23 Jan 2018 22:10:55 -0500 Received: from mail-pg0-f45.google.com ([74.125.83.45]:41995) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eeBSf-0002lN-4E for 30202@debbugs.gnu.org; Tue, 23 Jan 2018 22:10:53 -0500 Received: by mail-pg0-f45.google.com with SMTP id q67so1733329pga.9 for <30202@debbugs.gnu.org>; Tue, 23 Jan 2018 19:10:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=qWIN7mukB1Ny033IrW35JfFUPciDm2UBe+v48KY9X/k=; b=oJisHMKCSXXEVMVVMjZmgKrxQ3aUakkNBtEYAZDk/KopHslpS1s3YC/OXiqj0REnxT 4EcuCPgbLuMocH7LS1am8VQxvn06a/qJ8Hapt538bUonHMQR6rWhiwGYcow6GHEbVZQV 4R8aVkomVZQfegxqomd/YCvzSOFTN/2wgS9nQDDNbpLSTF29Io9CJ2mBifVq4Vc/cZs1 uR+2X0QJ1gJyKld+50TUEmf6rWFYUcxqdEgbWSpwSveWgWb2owUpqefjqqSNh2rCbWtO sZb+zNqrcVl7ax6Ifk8SQ4C2+uVDfvtHg0IJLLX+Nt2jcwKWlk6IPMIwEp0DpyBJH+ZI 2NwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=qWIN7mukB1Ny033IrW35JfFUPciDm2UBe+v48KY9X/k=; b=m013BwR8n18iW695z9w6frOIeeyQqcvPDekjEp1PD9Stx59YKzhtvgXNS/B1agVvTe bvABaVnG7MVt1nZDFmlrl3qd3yFIpG5e9h4QvHkvMoPLV+PZiTSIdlHCQ0kbxbGv2TJW Q4du7DnLUNK0e3jBktS7QquOJphEUu+nSlmCdMJapWmeZ6R07DOdbrhPPbI7d1b6W/Ky dU95yT2snT7ENDnPKTBjM0gnsPi5eu8d1R30YcBKjUq1/IRGCtA2A65jfZHrn7AbzpAK NTYRvfdmBBAxskxx7aX9Kg1u4kyYilHoB0NHKIJH4eUos19gaV8Wu1sktuT3dKN8Yeqe ip+Q== X-Gm-Message-State: AKwxytc7w0lU1k1nx/H2k0vwizqjmb8sx3SaW/h7072iomEZIZP0fe6u hEsDrWcA26qRVLi5SzI3o+E= X-Google-Smtp-Source: AH8x225uiFVj0npzLO5VCKq0tvCdO2jjx8071aXp6jzSfXA86Yrt5veRLGi84C7U/FT2v5lBrKwBGg== X-Received: by 10.98.58.5 with SMTP id h5mr11518712pfa.169.1516763447136; Tue, 23 Jan 2018 19:10:47 -0800 (PST) Received: from calancha-pc (FL1-125-193-170-29.tky.mesh.ad.jp. [125.193.170.29]) by smtp.gmail.com with ESMTPSA id f80sm6421683pfa.1.2018.01.23.19.10.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Jan 2018 19:10:46 -0800 (PST) From: Tino Calancha X-Google-Original-From: Tino Calancha Date: Wed, 24 Jan 2018 12:10:42 +0900 (JST) X-X-Sender: calancha@calancha-pc To: Eli Zaretskii Subject: Re: bug#30202: 27.0.50; Code refactoring on assq-delete-all assoc-delete-all In-Reply-To: <83r2qgzhkz.fsf@gnu.org> Message-ID: References: <87r2qilb3d.fsf@gmail.com> <83lggprj4c.fsf@gnu.org> <83r2qgzhkz.fsf@gnu.org> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 30202 Cc: 30202@debbugs.gnu.org, monnier@iro.umontreal.ca, Tino Calancha X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On Tue, 23 Jan 2018, Eli Zaretskii wrote: > An even more minor nit: try to avoid starting a sentence with @var. > In an Info manual, @var produces UPPER CASE, which looks OK at the > beginning of a sentence; but in the printed manual, @var produces a > lower-case word in slant typeface, which makes the sentence begin with > a lower-case letter. Excellent! Thank you! Indeed I found very ugly when I wrote such sentence starting with @{var}; I couldn't find an alternative way to say what I wanted to say. You summarized the point nicely. Updated the patch (below). I will push it by Sunday (4 days from now) if there is no more activity in thi thread. --8<-----------------------------cut here---------------start------------->8--- commit 55b82da7a7d0c1e016ef73ef46a7579fd9369cbf Author: tino calancha Date: Wed Jan 24 12:03:14 2018 +0900 Code refactoring * lisp/subr.el (assoc-delete-all): Add optional arg TEST. (assq-delete-all): Use assoc-delete-all. * doc/lispref/lists.texi (Association Lists): Document assoc-delete-all in the manual. ; * etc/NEWS: Add entry for assoc-delete-all diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi index 3e2dd13c70..761750eb20 100644 --- a/doc/lispref/lists.texi +++ b/doc/lispref/lists.texi @@ -1733,6 +1733,14 @@ Association Lists @end example @end defun +@defun assoc-delete-all key alist &optional test +This function is like @code{assq-delete-all} except that it accepts +an optional argument @var{test}, a predicate function to compare the +keys in @var{alist}. If omitted or @code{nil}, @var{test} defaults to +@code{equal}. As @code{assq-delete-all}, this function often modifies +the original list structure of @var{alist}. +@end defun + @defun rassq-delete-all value alist This function deletes from @var{alist} all the elements whose @sc{cdr} is @code{eq} to @var{value}. It returns the shortened alist, and diff --git a/etc/NEWS b/etc/NEWS index d30f0b087c..c491777781 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -204,6 +204,9 @@ as new-style, bind the new variable 'force-new-style-backquotes' to t. * Lisp Changes in Emacs 27.1 ++++ +** New function assoc-delete-all. + ** 'print-quoted' now defaults to t, so if you want to see (quote x) instead of 'x you will have to bind it to nil where applicable. diff --git a/lisp/subr.el b/lisp/subr.el index 092850a44d..e7a0ffc5be 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -705,17 +705,19 @@ member-ignore-case (setq list (cdr list))) list) -(defun assoc-delete-all (key alist) - "Delete from ALIST all elements whose car is `equal' to KEY. +(defun assoc-delete-all (key alist &optional test) + "Delete from ALIST all elements whose car is KEY. +Compare keys with TEST. Defaults to `equal'. Return the modified alist. Elements of ALIST that are not conses are ignored." + (unless test (setq test #'equal)) (while (and (consp (car alist)) - (equal (car (car alist)) key)) + (funcall test (caar alist) key)) (setq alist (cdr alist))) (let ((tail alist) tail-cdr) (while (setq tail-cdr (cdr tail)) (if (and (consp (car tail-cdr)) - (equal (car (car tail-cdr)) key)) + (funcall test (caar tail-cdr) key)) (setcdr tail (cdr tail-cdr)) (setq tail tail-cdr)))) alist) @@ -724,16 +726,7 @@ assq-delete-all "Delete from ALIST all elements whose car is `eq' to KEY. Return the modified alist. Elements of ALIST that are not conses are ignored." - (while (and (consp (car alist)) - (eq (car (car alist)) key)) - (setq alist (cdr alist))) - (let ((tail alist) tail-cdr) - (while (setq tail-cdr (cdr tail)) - (if (and (consp (car tail-cdr)) - (eq (car (car tail-cdr)) key)) - (setcdr tail (cdr tail-cdr)) - (setq tail tail-cdr)))) - alist) + (assoc-delete-all key alist #'eq)) (defun rassq-delete-all (value alist) "Delete from ALIST all elements whose cdr is `eq' to VALUE. --8<-----------------------------cut here---------------end--------------->8--- From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 27 23:12:58 2018 Received: (at 30202-done) by debbugs.gnu.org; 28 Jan 2018 04:12:58 +0000 Received: from localhost ([127.0.0.1]:45647 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1efeKw-00057N-3x for submit@debbugs.gnu.org; Sat, 27 Jan 2018 23:12:58 -0500 Received: from mail-pf0-f176.google.com ([209.85.192.176]:40103) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1efeKu-00057B-5e for 30202-done@debbugs.gnu.org; Sat, 27 Jan 2018 23:12:56 -0500 Received: by mail-pf0-f176.google.com with SMTP id i66so2273066pfd.7 for <30202-done@debbugs.gnu.org>; Sat, 27 Jan 2018 20:12:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version; bh=oW4xUa5kvMV3v53253mnMjKzTtG/p13TZ7Qsg2usPnY=; b=QNNOQVlFvG1q8UpmHBbD2UksjEKXDaphiO6ndYPNtIW/aLNW7e44RQPvA1O1NhxApy M6CI9s/eshJ3RhNBJhP+cJPMTCKhLZuSjcMQVCjPZfvKCDKu6ZJodgzoiM74r0sVlIN/ MMiJKa+JpI1MLVsg+6BHSHkzb3lce4zXvvChnntW/Vcoo6wPKv+amdANt/qfMgRIlu7b 8/HylUXXXq2AAHGOLj4Q/stw3eYbgTWTFZI3pVS9zagWf3lQ9Ok/F4DFXe79WdXiTjPy 9kHKJzFc0o4ca3XyDRE0SS1kcNxXLyiBYDKVwOggIN+MdbA51bNmvTR5llAoN4/HR36X CUFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=oW4xUa5kvMV3v53253mnMjKzTtG/p13TZ7Qsg2usPnY=; b=HJJVnc15/dYBQxmqXl9Z/P9nsS52gzkR8S6tiwnfn/KHFAHZdInr0rmkUFH2yYhKU6 F8JvKXq0IaKgUYa9N3zNDjrzxr5jtx7X2UIoMgW4C4OQSU0q2MgLaDZAR1D7FGGecnyk eWQiRnah4IoGFB/QUH5DE3X5/NLwaqjDuys9ZMA3bk20/myZK1nr1lAxKT+Y0ted7B7O 46A+RCtpAG18nct2gLPrhrHUMw2kp4gLh6j2nblRCQeo7M8siIS/2VAfCuhKWxv4A9c0 3sRZfSs3mt996ma8tbeSsMO3eLRnkXN0VxV2kt0q53WopOIjxcPPA5Ybmm2qxIeIPmWK APoA== X-Gm-Message-State: AKwxytdLDsla6AQ0RoiQ9f/QZb1w56jyMQlOY4dvCpYx+yKRHm3zHB9e vub5k5nzMPoyghnjG3UdwRWgEw== X-Google-Smtp-Source: AH8x226K4KebSN1auItc8ynBik5IM6bJQ8qb0y9cakzGoc/MNWR0q0JcxflUNkgW+GCQDJiHxtGzcA== X-Received: by 10.98.59.149 with SMTP id w21mr23151331pfj.7.1517112770118; Sat, 27 Jan 2018 20:12:50 -0800 (PST) Received: from calancha-pc ([240f:6e:e2e6:1:427c:67d2:f4a2:d669]) by smtp.gmail.com with ESMTPSA id w7sm5449858pfb.125.2018.01.27.20.12.47 for <30202-done@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 27 Jan 2018 20:12:49 -0800 (PST) From: Tino Calancha To: 30202-done@debbugs.gnu.org Subject: Re: bug#30202: 27.0.50; Code refactoring on assq-delete-all assoc-delete-all References: <87r2qilb3d.fsf@gmail.com> <83lggprj4c.fsf@gnu.org> <83r2qgzhkz.fsf@gnu.org> Date: Sun, 28 Jan 2018 13:12:42 +0900 In-Reply-To: (Tino Calancha's message of "Wed, 24 Jan 2018 12:10:42 +0900 (JST)") Message-ID: <87y3kipqo5.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 30202-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Tino Calancha writes: > Updated the patch (below). > I will push it by Sunday (4 days from now) if there is no more > activity in this thread. Commited into master branch, 'Code refactoring assoc-delete-all assq-delete-all' (9824885fabea53f8c4461d038f4c1edad1b8f591) From unknown Wed Jun 25 05:41:10 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 25 Feb 2018 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator