mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Sequester some special-variable declarations in ERC
* lisp/erc/erc-backend.el (erc-log-p): Remove declaration entirely. (erc-server-reconnect): Move declaration for `erc-reuse-buffers' here. (erc-process-sentinel-1): Move `erc-kill-server-buffer-on-quit' declaration here. (erc--conceal-prompt): Move `erc-prompt-hidden' declaration here. (erc-server-INVITE): Move `erc-invitation' declaration here. (erc-server-PART): Move `erc-kill-buffer-on-part' declaration here. (erc-server-PRIVMSG): Move declarations for `erc-minibuffer-ignored', `erc-receive-query-display', `erc-receive-query-display-defer', `erc--cmem-from-nick-function', `erc-format-nick-function', and `erc-format-query-as-channel-p' here. (erc-server-401): Move `erc-whowas-on-nosuchnick' declaration here. (erc-server-475): Move `erc--called-as-input-p' and `erc-prompt-for-channel-key' declarations here. * lisp/erc/erc-common.el (erc-log-p): Remove declaration for `erc-log-p' and replace with actual definition. (erc-log-aux): Move `erc-dbuf' declaration from top level into function body. * lisp/erc/erc-fill.el (erc-fill--wrap-continued-message-p): Note in the doc string that this function produces side effects. * lisp/erc/erc-networks.el (erc-determine-network, erc-networks--copy-server-buffer-functions): Move some variable declarations to function body. (erc-settings, erc-get): Deprecate for now and explain why in doc strings. We could deprecate them unconditionally, but they never provided usable code, and their names are short and valuable. * lisp/erc/erc.el (tabbar--local-hlf, motif-version-string, gtk-version-string): Prefer moving these single-serving declarations to function bodies, if only to make closures from this library less cluttered when debugging. This should also help avoid stray declarations. (erc-hooks, erc-timer-hook): Revise doc strings. (erc-log-p): Move definition to erc-common.el. (erc-cmd-SV): Mimic `emacs-version' and stick with `featurep', here in combination with special-variable declarations, instead of `boundp' or similar. (erc-header-line-uses-tabbar-p): Explain that this has nothing to do with `tab-bar'. (erc-update-mode-line-buffer): Only assign when bound. This has been verified to work with version 2.0 on EmacsWiki. * test/lisp/erc/erc-scenarios-base-reconnect.el: Timeouts. * test/lisp/erc/erc-scenarios-base-renick.el: Timeouts. * test/lisp/erc/resources/join/network-id/foonet-again.eld: Timeouts.
This commit is contained in:
parent
b5da8ba807
commit
61b22ae9f3
8 changed files with 64 additions and 38 deletions
|
|
@ -42,16 +42,12 @@
|
|||
|
||||
(defvar erc--target)
|
||||
(defvar erc-insert-marker)
|
||||
(defvar erc-kill-buffer-hook)
|
||||
(defvar erc-kill-server-hook)
|
||||
(defvar erc-modules)
|
||||
(defvar erc-rename-buffers)
|
||||
(defvar erc-reuse-buffers)
|
||||
(defvar erc-server-announced-name)
|
||||
(defvar erc-server-connected)
|
||||
(defvar erc-server-parameters)
|
||||
(defvar erc-server-process)
|
||||
(defvar erc-session-server)
|
||||
|
||||
(declare-function erc--get-isupport-entry "erc-backend" (key &optional single))
|
||||
(declare-function erc-buffer-filter "erc" (predicate &optional proc))
|
||||
|
|
@ -1229,6 +1225,8 @@ Use the server parameter NETWORK if provided, otherwise parse the
|
|||
server name and search for a match in `erc-networks-alist'."
|
||||
;; The server made it easy for us and told us the name of the NETWORK
|
||||
(declare (obsolete "maybe see `erc-networks--determine'" "29.1"))
|
||||
(defvar erc-server-parameters)
|
||||
(defvar erc-session-server)
|
||||
(let ((network-name (cdr (assoc "NETWORK" erc-server-parameters))))
|
||||
(if network-name
|
||||
(intern network-name)
|
||||
|
|
@ -1381,6 +1379,8 @@ already been copied over to the current, replacement buffer.")
|
|||
(defun erc-networks--copy-over-server-buffer-contents (existing name)
|
||||
"Kill off existing server buffer after copying its contents.
|
||||
Must be called from the replacement buffer."
|
||||
(defvar erc-kill-buffer-hook)
|
||||
(defvar erc-kill-server-hook)
|
||||
;; ERC expects `erc-open' to be idempotent when setting up local
|
||||
;; vars and other context properties for a new identity. Thus, it's
|
||||
;; unlikely we'll have to copy anything else over besides text. And
|
||||
|
|
@ -1586,14 +1586,29 @@ return the host alone sans URL formatting (for compatibility)."
|
|||
'((pals Libera.Chat ("kensanata" "shapr" "anti\\(fuchs\\|gone\\)"))
|
||||
(format-nick-function (Libera.Chat "#emacs") erc-format-@nick))
|
||||
"Experimental: Alist of configuration options.
|
||||
|
||||
WARNING: this variable is a vestige from a long-abandoned
|
||||
experiment. ERC may redefine it using the same name for any
|
||||
purpose at any time.
|
||||
|
||||
The format is (VARNAME SCOPE VALUE) where
|
||||
VARNAME is a symbol identifying the configuration option,
|
||||
SCOPE is either a symbol which identifies an entry from
|
||||
`erc-networks-alist' or a list (NET TARGET) where NET is a network symbol and
|
||||
TARGET is a string identifying the channel/query target.
|
||||
VALUE is the options value.")
|
||||
(make-obsolete-variable 'erc-settings
|
||||
"temporarily deprecated for later repurposing" "30.1")
|
||||
|
||||
(defun erc-get (var &optional net target)
|
||||
"Retrieve configuration values from `erc-settings'.
|
||||
|
||||
WARNING: this function is a non-functioning remnant from a
|
||||
long-abandoned experiment. ERC may redefine it using the same
|
||||
name for any purpose at any time.
|
||||
|
||||
\(fn &rest UNKNOWN)"
|
||||
(declare (obsolete "temporarily deprecated for later repurposing" "30.1"))
|
||||
(let ((items erc-settings)
|
||||
elt val)
|
||||
(while items
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue