From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Corwin Brust Newsgroups: gmane.emacs.help Subject: seq-filter or delete-dups or ignore? Date: Fri, 29 Jan 2021 00:32:38 -0600 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13477"; mail-complaints-to="usenet@ciao.gmane.io" To: Help Gnu Emacs mailing list Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Jan 29 07:33:33 2021 Return-path: Envelope-to: geh-help-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 1l5NLY-0003PH-Hx for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 29 Jan 2021 07:33:32 +0100 Original-Received: from localhost ([::1]:44052 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l5NLX-0001sb-Jw for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 29 Jan 2021 01:33:31 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47200) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l5NKv-0001sF-Tg for help-gnu-emacs@gnu.org; Fri, 29 Jan 2021 01:32:54 -0500 Original-Received: from mail-ej1-f44.google.com ([209.85.218.44]:46452) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l5NKt-00012Y-JG for help-gnu-emacs@gnu.org; Fri, 29 Jan 2021 01:32:53 -0500 Original-Received: by mail-ej1-f44.google.com with SMTP id rv9so11324315ejb.13 for ; Thu, 28 Jan 2021 22:32:50 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=R0luw4FePRpbS+3+h58A/AS2VR0mdrAxOuFgF7vq548=; b=dZGBzW6lKppT1VI/QkCMpJgT9zSyadaunrS+vVEPSiw1iBEwWuJ6E0jxJdB4BYbUoF r9V3OYdk3kbR+lzKFNIWbd8SutpEmsYoMGI3j6zMG5XtaQIhKiqHlJPjNgwcuEiL4vId rqphqbdhrgGjU2MG72oyTdalp76KaTapPRRSkIHBPWIWtJxy+wWnC0PH4Nu1Sdq7GRFZ dvD8zIDZihXL1TLikHSY1ArxXdtXWIRfh3OSGSDHsR1PQQOh5aoFQYEK6xidhBrEI6L7 ms2pzk2swvU2Wq8tB+Ej4oEi5fBoJLuN3UCvvDcdUF5XPOXhd23yMVuoaQ98RUHY4kvV Yj5Q== X-Gm-Message-State: AOAM532tvO4oqdZhiV5I1Th743n4rbUgRtMIDFOiZ/onTtvpj/4xHC/O PzoKmFwGA5mQ/yrB24qMuJkxfjOPIFtd+rm1THnPDXOoDFw= X-Google-Smtp-Source: ABdhPJwUV9DaXnXSuF1OWnl1aAOH4nrpxUYbhLmnvvr0vZm5RAJsh+Xt/YBwQZAZdepZUPlWD4NP+VhfItl32VUsNgw= X-Received: by 2002:a17:906:338b:: with SMTP id v11mr3233466eja.74.1611901969430; Thu, 28 Jan 2021 22:32:49 -0800 (PST) Received-SPF: pass client-ip=209.85.218.44; envelope-from=mplscorwin@gmail.com; helo=mail-ej1-f44.google.com X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:127420 Archived-At: Given ERC doesn't currently import seq.el, consider some following possible implementations of a command to stop tracking the current buffer by adding its name to `erc-track-ignore'. Are there compelling reasons to prefer one among them, or another approach? I also noticed `delete-duplicates' from cl-lib however I didn't see any reason to prefer it to delete dups, which as part of subr can be assumed to be available by the time ERC is loaded. Aniceliery suggestions that otherwise improve the approach here are most welcome also :) #+NAME delete-dups #+BEGIN_SRC emacs-lisp (defun erc-cmd-UNTRACK (&optional target) "Stop tracking TARGET (or current channel)." (interactive) (let ((target (or target (buffer-name)))) (setq erc-track-exclude (append (list target))) (delete-dups erc-track-exclude))) #+END_SRC #+NAME req-seq #+BEGIN_SRC emacs-lisp (defun erc-cmd-UNTRACK (&optional target) "Stop tracking TARGET (or current channel)." (interactive) (let ((target (or target (buffer-name)))) (setq erc-track-exclude (seq-uniq (append (list target) erc-track-exclude))))) #+END_SRC #+NAME append-remove #+BEGIN_SRC emacs-lisp (defun erc-cmd-UNTRACK (&optional target) "Stop tracking TARGET (or current channel)." (interactive) (let ((target (or target (buffer-name)))) (setq erc-track-exclude (append (list target) (remove target erc-track-exclude))))) #+END_SRC Thanks & regards, Corwin