From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "J.P." Newsgroups: gmane.emacs.bugs Subject: bug#50006: 28.0.50; remove deprecated option erc-send-pre-hook Date: Wed, 11 Aug 2021 07:03:12 -0700 Message-ID: <87k0ksjcyn.fsf@neverwas.me> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17366"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: 50006@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Aug 11 16:04:33 2021 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 1mDoqK-000403-8n for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 11 Aug 2021 16:04:28 +0200 Original-Received: from localhost ([::1]:57480 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mDoqJ-0005jJ-7E for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 11 Aug 2021 10:04:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34056) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mDopv-0004V8-0Y for bug-gnu-emacs@gnu.org; Wed, 11 Aug 2021 10:04:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:52871) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mDopu-0004Vv-PV for bug-gnu-emacs@gnu.org; Wed, 11 Aug 2021 10:04:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mDopu-0006Ap-GD for bug-gnu-emacs@gnu.org; Wed, 11 Aug 2021 10:04:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: "J.P." Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 11 Aug 2021 14:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 50006 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.162869061223683 (code B ref -1); Wed, 11 Aug 2021 14:04:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 11 Aug 2021 14:03:32 +0000 Original-Received: from localhost ([127.0.0.1]:36184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mDopL-00069r-Nx for submit@debbugs.gnu.org; Wed, 11 Aug 2021 10:03:31 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:40932) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mDopH-00069g-6I for submit@debbugs.gnu.org; Wed, 11 Aug 2021 10:03:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33560) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mDopF-0002lR-St for bug-gnu-emacs@gnu.org; Wed, 11 Aug 2021 10:03:22 -0400 Original-Received: from mail-108-mta230.mxroute.com ([136.175.108.230]:38803) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mDopB-0003wb-E0 for bug-gnu-emacs@gnu.org; Wed, 11 Aug 2021 10:03:21 -0400 Original-Received: from filter004.mxroute.com ([149.28.56.236] filter004.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta230.mxroute.com (ZoneMTA) with ESMTPSA id 17b35863b5600074ba.001 for (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256); Wed, 11 Aug 2021 14:03:14 +0000 X-Zone-Loop: e89887e31c8a7c8bba6152288bec353764fad1566383 X-Originating-IP: [149.28.56.236] X-AuthUser: masked@neverwas.me X-Zone-Spam-Resolution: no action X-Zone-Spam-Status: No, score=-0.1, required=15, tests=[ARC_NA=0, NEURAL_SPAM=0, FROM_HAS_DN=0, HAS_ATTACHMENT=0, FROM_EQ_ENVFROM=0, MIME_TRACE=0, MIME_GOOD=-0.1, RCPT_COUNT_ONE=0, MID_RHS_MATCH_FROM=0, RCVD_COUNT_ZERO=0, TO_DN_NONE=0] Received-SPF: pass client-ip=136.175.108.230; envelope-from=jp@neverwas.me; helo=mail-108-mta230.mxroute.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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:211599 Archived-At: --=-=-= Content-Type: text/plain Tags: patch Severity: minor I don't actually need this for any of the more delusional mega patches I currently have on offer [1], so feel free to flat out deny. (However, I will say that it does unclutter some of the main message-sending business, which may not be the worst thing ever.) Note: I guess we should probably double check this doesn't interfere with any of the ELPA plans that ERC's maintainer has cooking. Thanks. [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=48598 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49860 In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.30, cairo version 1.17.4) of 2021-08-09 built on localhost Repository revision: aeec97fae0ccfcc4dc406a5e0e4c0a94b834cac4 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: Fedora 34 (Workstation Edition) Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map text-property-search time-date subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 51538 6355) (symbols 48 6607 1) (strings 32 18255 1368) (string-bytes 1 616656) (vectors 16 14292) (vector-slots 8 185252 10153) (floats 8 21 47) (intervals 56 205 0) (buffers 992 10)) --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Remove-deprecated-variable-erc-send-pre-hook.patch >From ec9d3be1efbdc22bb8256b722d552d7371f77835 Mon Sep 17 00:00:00 2001 From: "F. Jason Park" Date: Fri, 23 Jul 2021 22:14:44 -0700 Subject: [PATCH] Remove deprecated variable erc-send-pre-hook * lisp/erc/erc.el (erc-send-pre-hook, erc-insert-this, erc-send-input): Remove all traces of the hook and the state variable from doc strings and comments and, most importantly, from the function erc-send-input. --- lisp/erc/erc.el | 85 +++++++++++++------------------------------------ 1 file changed, 22 insertions(+), 63 deletions(-) diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index 73202016ba..c1491bd864 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el @@ -1007,27 +1007,6 @@ erc-insert-pre-hook :group 'erc-hooks :type 'hook) -(defcustom erc-send-pre-hook nil - "Hook called first when some text is sent through `erc-send-current-line'. -It gets called with one argument, STRING. - -To change the text that will be sent, set the variable `str' which is -used in `erc-send-current-line'. - -To change the text inserted into the buffer without changing the text -that will be sent, use `erc-send-modify-hook' instead. - -Filtering functions can set `erc-send-this' to nil to avoid sending of -that particular string at all and `erc-insert-this' to prevent -inserting that particular string into the buffer. - -Note that it's useless to set `erc-send-this' to nil and -`erc-insert-this' to t. ERC is sane enough to not insert the text -anyway." - :group 'erc-hooks - :type 'hook) -(make-obsolete-variable 'erc-send-pre-hook 'erc-pre-send-functions "27.1") - (defcustom erc-pre-send-functions nil "Special hook run to possibly alter the string that is sent. The functions are called with one argument, an `erc-input' struct, @@ -1037,7 +1016,10 @@ erc-pre-send-functions `string': The current input string. `insertp': Whether the string should be inserted into the erc buffer. - `sendp': Whether the string should be sent to the irc server." + `sendp': Whether the string should be sent to the irc server. + +Note that modifications to `erc-insert-this' will be ignored. Update +the field `insertp' instead." :group 'erc :type 'hook :version "27.1") @@ -1047,12 +1029,6 @@ erc-insert-this Functions on `erc-insert-pre-hook' can set this variable to nil if they wish to avoid insertion of a particular string.") -(defvar erc-send-this t - "Send the text to the target or not. -Functions on `erc-send-pre-hook' can set this variable to nil -if they wish to avoid sending of a particular string.") -(make-obsolete-variable 'erc-send-this 'erc-pre-send-functions "27.1") - (defcustom erc-insert-modify-hook () "Insertion hook for functions that will change the text's appearance. This hook is called just after `erc-insert-pre-hook' when the value @@ -1082,8 +1058,8 @@ erc-insert-done-hook (defcustom erc-send-modify-hook nil "Sending hook for functions that will change the text's appearance. -This hook is called just after `erc-send-pre-hook' when the values -of `erc-send-this' and `erc-insert-this' are both t. +This hook is called just after `erc-send-pre-hook' when the value +of `erc-insert-this' is t. While this hook is run, narrowing is in effect and `current-buffer' is the buffer where the text got inserted. @@ -5565,42 +5541,25 @@ erc-send-input (beep)) nil) (t - ;; This dynamic variable is used by `erc-send-pre-hook'. It's - ;; obsolete, and when it's finally removed, this binding should - ;; also be removed. - (with-suppressed-warnings ((lexical str)) - (defvar str)) - (let ((str input) - (erc-insert-this t) - (erc-send-this t) - state) - ;; The calling convention of `erc-send-pre-hook' is that it - ;; should change the dynamic variable `str' or set - ;; `erc-send-this' to nil. This has now been deprecated: - ;; Instead `erc-pre-send-functions' is used as a filter to do - ;; allow both changing and suppressing the string. - (run-hook-with-args 'erc-send-pre-hook input) - (setq state (make-erc-input :string str ;May be != from `input' now! - :insertp erc-insert-this - :sendp erc-send-this)) + (let ((erc-insert-this t) + (state (make-erc-input :string input :insertp t :sendp t))) + ;; The `erc-pre-send-functions' filter allows both modifying and + ;; supressing inserted text. It replaces `erc-send-pre-hook', + ;; which did the former via the dynamic var `str' and the latter + ;; via `erc-send-this', now `erc-input-sendp'. (run-hook-with-args 'erc-pre-send-functions state) - (when (and (erc-input-sendp state) - erc-send-this) - (let ((string (erc-input-string state))) + (when (erc-input-sendp state) + (let ((string (erc-input-string state))) (if (or (string-search "\n" string) (not (string-match erc-command-regexp string))) - (mapc - (lambda (line) - (mapc - (lambda (line) - ;; Insert what has to be inserted for this. - (when (erc-input-insertp state) - (erc-display-msg line)) - (erc-process-input-line (concat line "\n") - (null erc-flood-protect) t)) - (or (and erc-flood-protect (erc-split-line line)) - (list line)))) - (split-string string "\n")) + (dolist (line (split-string string "\n")) + (dolist (line (or (and erc-flood-protect (erc-split-line line)) + (list line))) + ;; Insert what has to be inserted for this. + (when (erc-input-insertp state) + (erc-display-msg line)) + (erc-process-input-line (concat line "\n") + (null erc-flood-protect) t))) (erc-process-input-line (concat string "\n") t nil)) t)))))) -- 2.31.1 --=-=-=--