Restore the previous order of ERC's '/whois' arguments

* etc/NEWS: Remove unneeded entry.
* lisp/erc/erc.el (erc-cmd-WHOIS): Restore the previous order of
arguments sent to the server, so that there's no change in the
function's behavior.  Instead, rename the arguments to be more
accurate, and expand upon them in the doc string.
This commit is contained in:
Amin Bandali 2021-09-29 22:15:07 -04:00
parent 758753431a
commit 9fc1fdcbf3
No known key found for this signature in database
GPG key ID: 8B44A0CDC7B956F2
2 changed files with 17 additions and 15 deletions

View file

@ -2881,11 +2881,6 @@ The new '/opme' convenience command asks ChanServ to set the operator
status for the current nick in the current channel, and '/deopme'
unsets it.
---
*** Fix the order of '/whois' arguments sent to the server.
Per RFC 1459 and RFC 2812, when given, the optional 'server' argument
for the WHOIS command must come before the 'user' argument, not after.
** xwidget-webkit mode
---

View file

@ -3298,17 +3298,24 @@ a script after exceeding the flood threshold."
t)
(t nil)))
(defun erc-cmd-WHOIS (user &optional server)
"Display whois information for USER.
(defun erc-cmd-WHOIS (nick-or-server &optional nick-if-server)
"Display whois information for the given user.
If SERVER is non-nil, use that, rather than the current server.
This is useful for getting the time USER has been idle for, if
USER is on a different server of the network than the current
user, since only the server the user is connected to knows this
information."
(let ((send (if server
(format "WHOIS %s %s" server user)
(format "WHOIS %s" user))))
If NICK-IF-SERVER is nil, NICK-OR-SERVER should be the nick of
the user about whom the whois information is to be requested.
Otherwise, if NICK-IF-SERVER is non-nil, NICK-OR-SERVER should be
the server to which the user with the nick NICK-IF-USER is
connected to.
Specifying the server NICK-OR-SERVER that the nick NICK-IF-SERVER
is connected to is useful for getting the time the NICK-IF-SERVER
user has been idle for, when the user NICK-IF-SERVER is connected
to a different server of the network than the one current user is
connected to, since only the server a user is connected to knows
the idle time of that user."
(let ((send (if nick-if-server
(format "WHOIS %s %s" nick-or-server nick-if-server)
(format "WHOIS %s" nick-or-server))))
(erc-log (format "cmd: %s" send))
(erc-server-send send)
t))