* bug#50006: 28.0.50; remove deprecated option erc-send-pre-hook
@ 2021-08-11 14:03 J.P.
2021-09-19 16:36 ` Stefan Kangas
0 siblings, 1 reply; 4+ messages in thread
From: J.P. @ 2021-08-11 14:03 UTC (permalink / raw)
To: 50006
[-- Attachment #1: Type: text/plain, Size: 3502 bytes --]
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))
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Remove-deprecated-variable-erc-send-pre-hook.patch --]
[-- Type: text/x-patch, Size: 6042 bytes --]
From ec9d3be1efbdc22bb8256b722d552d7371f77835 Mon Sep 17 00:00:00 2001
From: "F. Jason Park" <jp@neverwas.me>
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
^ permalink raw reply related [flat|nested] 4+ messages in thread
* bug#50006: 28.0.50; remove deprecated option erc-send-pre-hook
2021-08-11 14:03 bug#50006: 28.0.50; remove deprecated option erc-send-pre-hook J.P.
@ 2021-09-19 16:36 ` Stefan Kangas
2021-09-19 22:54 ` J.P.
0 siblings, 1 reply; 4+ messages in thread
From: Stefan Kangas @ 2021-09-19 16:36 UTC (permalink / raw)
To: J.P.; +Cc: 50006, Amin Bandali
"J.P." <jp@neverwas.me> writes:
> 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
Copying in the ERC maintainer Amin Bandali here.
Amin, could you help review this patch?
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#50006: 28.0.50; remove deprecated option erc-send-pre-hook
2021-09-19 16:36 ` Stefan Kangas
@ 2021-09-19 22:54 ` J.P.
2021-09-20 7:27 ` Stefan Kangas
0 siblings, 1 reply; 4+ messages in thread
From: J.P. @ 2021-09-19 22:54 UTC (permalink / raw)
To: Stefan Kangas; +Cc: 50006, Amin Bandali
Stefan Kangas <stefan@marxist.se> writes:
> Copying in the ERC maintainer Amin Bandali here.
>
> Amin, could you help review this patch?
Thanks Stefan. I should save y'all the trouble and admit that I rather
brashly submitted this without first taking a moment to get a feel for
how long Emacs retains deprecated items. (Nothing to do with the recent
ELPA proposal, BTW [1]; just sheer ignorance on my part.) So unless I'm
preempted, I'll send a control message in the next 24 or so to shut this
bad boy down. Thanks again.
[1] https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01384.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#50006: 28.0.50; remove deprecated option erc-send-pre-hook
2021-09-19 22:54 ` J.P.
@ 2021-09-20 7:27 ` Stefan Kangas
0 siblings, 0 replies; 4+ messages in thread
From: Stefan Kangas @ 2021-09-20 7:27 UTC (permalink / raw)
To: J.P.; +Cc: 50006-done, Amin Bandali
"J.P." <jp@neverwas.me> writes:
> Thanks Stefan. I should save y'all the trouble and admit that I rather
> brashly submitted this without first taking a moment to get a feel for
> how long Emacs retains deprecated items. (Nothing to do with the recent
> ELPA proposal, BTW [1]; just sheer ignorance on my part.)
Ah, so this only removes some deprecated variables? Yes, we tend to
leave them for a very long time, up to five major releases. They are
then generally removed en masse; in Emacs 28 we are removing most things
deprecated in Emacs 23.
In Emacs 29, I expect that we will remove most things deprecated in
Emacs 24.
> So unless I'm preempted, I'll send a control message in the next 24 or
> so to shut this bad boy down. Thanks again.
You can just add "-close" to the email address of the bug number to
close it, as in "50006-done@debbugs.gnu.org".
I did that now, mostly so that we don't forget about it.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-09-20 7:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-11 14:03 bug#50006: 28.0.50; remove deprecated option erc-send-pre-hook J.P.
2021-09-19 16:36 ` Stefan Kangas
2021-09-19 22:54 ` J.P.
2021-09-20 7:27 ` Stefan Kangas
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).