From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?UTF-8?Q?=C5=A0t=C4=9Bp=C3=A1n_?= =?UTF-8?Q?N=C4=9Bmec?= Newsgroups: gmane.emacs.bugs Subject: bug#40570: [PATCH] Alias cl-subseq to seq-subseq, define gv-setter in the latter Date: Sun, 12 Apr 2020 11:46:27 +0200 Message-ID: <20200412094627.2494060-1-stepnem@gmail.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="55069"; mail-complaints-to="usenet@ciao.gmane.io" Cc: monnier@iro.umontreal.ca To: 40570@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Apr 12 11:46:11 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1jNZBr-000EDa-At for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 12 Apr 2020 11:46:11 +0200 Original-Received: from localhost ([::1]:60188 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jNZBq-00064S-Dg for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 12 Apr 2020 05:46:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42309) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jNZBj-00064M-SI for bug-gnu-emacs@gnu.org; Sun, 12 Apr 2020 05:46:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jNZBi-0000SF-Mg for bug-gnu-emacs@gnu.org; Sun, 12 Apr 2020 05:46:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:45833) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jNZBi-0000SB-KF for bug-gnu-emacs@gnu.org; Sun, 12 Apr 2020 05:46:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jNZBi-0000sw-F2; Sun, 12 Apr 2020 05:46:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?=C5=A0t=C4=9Bp=C3=A1n_?= =?UTF-8?Q?N=C4=9Bmec?= Original-Sender: "Debbugs-submit" Resent-CC: monnier@iro.umontreal.ca, bug-gnu-emacs@gnu.org Resent-Date: Sun, 12 Apr 2020 09:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 40570 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org X-Debbugs-Original-Xcc: monnier@iro.umontreal.ca Original-Received: via spool by submit@debbugs.gnu.org id=B.15866847593388 (code B ref -1); Sun, 12 Apr 2020 09:46:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 12 Apr 2020 09:45:59 +0000 Original-Received: from localhost ([127.0.0.1]:57378 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNZBf-0000sa-7E for submit@debbugs.gnu.org; Sun, 12 Apr 2020 05:45:59 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:46917) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jNZBd-0000sS-E0 for submit@debbugs.gnu.org; Sun, 12 Apr 2020 05:45:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42298) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jNZBc-000649-5z for bug-gnu-emacs@gnu.org; Sun, 12 Apr 2020 05:45:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jNZBb-0000Pt-36 for bug-gnu-emacs@gnu.org; Sun, 12 Apr 2020 05:45:56 -0400 Original-Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]:40564) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jNZBa-0000Pb-Sd for bug-gnu-emacs@gnu.org; Sun, 12 Apr 2020 05:45:55 -0400 Original-Received: by mail-lf1-x132.google.com with SMTP id 198so4398323lfo.7 for ; Sun, 12 Apr 2020 02:45:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=ZyaDtbDi8pNjZ9goeSzfAIM56Vt4va2hEqHbM03ySGw=; b=bbIbgoB9dOa2v1ZYrjRH+oIswl0F1gfaEHuEtOcvNfLyhl5sKAJwzSBxkgDpBnco18 JiudUa8peeZa4OFpsln4lrjsPPzMz+J2bfeXsdhGNvSF1kkjsHBTe6Zs1i9L8TG9gJWf VBUeoFbHeQHFnHf04ru+ugwnYpwFSW1ILjbxLmbpfghcfgeziNmU/0iM2QfNHXCWX/9F KXogHfzK5tmJBds5Q2vS0hbaOkbKlW8ybu0UUIOz7GhmoxF2yh3Yq+BAJa7HArWSPwpj 6VH7nDJ0Xru+5+VcUPFP0YpTANKBCibV/L9DLQNlLWuaKGgoLN+h6FjbvpUj5H/u2jpQ i+wQ== 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 :content-transfer-encoding; bh=ZyaDtbDi8pNjZ9goeSzfAIM56Vt4va2hEqHbM03ySGw=; b=hKyOWH+G4tYggfASL4s+tH7PwAJdYWrPai7LEYR6dVrIRpuBmlphptSc5jSra1jvFB w1GYJZuZI2Ds/2UAsxP7vOle+JV9lQ1n9V2obKbNOlkA7FVgt4kCsIXofSTPPc0jYLvN t8jgv6BaMXF7qk+Ih+OlLJukAa5F/mCbCnFzhPO1xV6UmuFg9u5VDU8Afunp1FdTfQT7 29FQHs47wHuJZxvd10zOeN3qURS+ACNWPcCJHpOo10mf798OPEufGgcR1JBy+Zc3Tyk1 zVD5+s7UE32W84FPF7Vz+loSZdUDaYRASNuIoCQY/jQgsolTZEmQ6GyFN9ng0uJfekKp vd4g== X-Gm-Message-State: AGi0PuYxDLtcKRMkojz+ZJK6avZFNtujGepDF7gAzgKOjWBtPbWKfmly UjfcbLc+6xuoXpg2ib/bnHBOOt4V X-Google-Smtp-Source: APiQypIn6lPvOhwmPod35+Y9zUSylRHFZFRAXkMW7jqHGLWWxzJqlmel4TR5MxU3WOy5LjrT6iUKLA== X-Received: by 2002:a19:2d1d:: with SMTP id k29mr7426377lfj.46.1586684752982; Sun, 12 Apr 2020 02:45:52 -0700 (PDT) Original-Received: from localhost ([185.112.167.47]) by smtp.gmail.com with ESMTPSA id q4sm5615994lfk.67.2020.04.12.02.45.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Apr 2020 02:45:52 -0700 (PDT) X-Mailer: git-send-email 2.26.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. 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: 209.51.188.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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:178225 Archived-At: The definition was moved in 2019-10-27T13:25:00-04:00!monnier@iro.umontreal.ca 0e4dd67aae (* lisp/emacs-lisp/seq.el: Don't require cl-lib.) already, but not the gv-setter declaration, so 'setf' worked with 'cl-subseq', but not with 'seq-subseq'. Moving also the gv-setter to seq-subseq and defining 'cl-subseq' as an alias of the former makes 'setf' work with both. * lisp/emacs-lisp/cl-extra.el (cl-subseq): Redefine as an alias of 'seq-subseq'. * lisp/emacs-lisp/seq.el (seq-subseq): Move gv-setter declaration here from 'cl-subseq' so that 'setf' works. --- lisp/emacs-lisp/cl-extra.el | 12 +++--------- lisp/emacs-lisp/seq.el | 5 +++++ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index 5bf74792c0..2583fdb19e 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el @@ -538,18 +538,12 @@ cl-float-limits ;;; Sequence functions. ;;;###autoload -(defun cl-subseq (seq start &optional end) - "Return the subsequence of SEQ from START to END. +(defalias 'cl-subseq #'seq-subseq + "Return the subsequence of SEQUENCE from START to END. If END is omitted, it defaults to the length of the sequence. If START or END is negative, it counts from the end. Signal an error if START or END are outside of the sequence (i.e -too large if positive or too small if negative)." - (declare (gv-setter - (lambda (new) - (macroexp-let2 nil new new - `(progn (cl-replace ,seq ,new :start1 ,start :end1 ,end) - ,new))))) - (seq-subseq seq start end)) +too large if positive or too small if negative).") ;;;###autoload (defalias 'cl-concatenate #'seq-concatenate diff --git a/lisp/emacs-lisp/seq.el b/lisp/emacs-lisp/seq.el index e3037a7190..936c38283e 100644 --- a/lisp/emacs-lisp/seq.el +++ b/lisp/emacs-lisp/seq.el @@ -154,6 +154,11 @@ seq-subseq START or END is negative, it counts from the end. Signal an error if START or END are outside of the sequence (i.e too large if positive or too small if negative)." + (declare (gv-setter + (lambda (new) + (macroexp-let2 nil new new + `(progn (cl-replace ,sequence ,new :start1 ,start :end1 ,end) + ,new))))) (cond ((or (stringp sequence) (vectorp sequence)) (substring sequence start end)) ((listp sequence) -- 2.26.0