mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-23 14:10:28 -08:00
rcirc: Document /reconnect as a built-in command (Bug#29656)
The change "New command rcirc-cmd-reconnect" from 2014-04-09 (shipped in Emacs 25.1) added a /reconnect command to rcirc but did not document it and did not delete the example /reconnect command definition in the manual. * doc/misc/rcirc.texi (rcirc commands): Document the built-in /reconnect command. (Hacking and Tweaking): Delete example reconnect command. Copyright-paperwork-exempt: yes
This commit is contained in:
parent
a1e615618d
commit
3d09d533d1
1 changed files with 17 additions and 43 deletions
|
|
@ -88,7 +88,6 @@ Hacking and Tweaking
|
||||||
* Scrolling conservatively::
|
* Scrolling conservatively::
|
||||||
* Changing the time stamp format::
|
* Changing the time stamp format::
|
||||||
* Defining a new command::
|
* Defining a new command::
|
||||||
* Reconnecting after you have lost the connection::
|
|
||||||
|
|
||||||
@end detailmenu
|
@end detailmenu
|
||||||
@end menu
|
@end menu
|
||||||
|
|
@ -401,6 +400,23 @@ This disconnects from the server and parts all channels. You can
|
||||||
optionally provide a reason for quitting. When you kill the server
|
optionally provide a reason for quitting. When you kill the server
|
||||||
buffer, you automatically quit the server and part all channels. (Also
|
buffer, you automatically quit the server and part all channels. (Also
|
||||||
@code{/quit ZZZzzz...}.)
|
@code{/quit ZZZzzz...}.)
|
||||||
|
|
||||||
|
@item /reconnect
|
||||||
|
@cindex /reconnect
|
||||||
|
@cindex reconnect
|
||||||
|
@cindex lost connection
|
||||||
|
@cindex disconnecting servers, reconnecting
|
||||||
|
This reconnects after you have lost the connection.
|
||||||
|
|
||||||
|
If you're chatting from a laptop, then you might be familiar with this
|
||||||
|
problem: When your laptop falls asleep and wakes up later, your IRC
|
||||||
|
client doesn't realize that it has been disconnected. It takes several
|
||||||
|
minutes until the client decides that the connection has in fact been
|
||||||
|
lost. The simple solution is to use @kbd{M-x rcirc}. The problem is
|
||||||
|
that this opens an @emph{additional} connection, so you'll have two
|
||||||
|
copies of every channel buffer, one dead and one live.
|
||||||
|
|
||||||
|
The real answer, therefore, is the @code{/reconnect} command.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node Useful IRC commands
|
@node Useful IRC commands
|
||||||
|
|
@ -787,7 +803,6 @@ Here are some examples of stuff you can do to configure @code{rcirc}.
|
||||||
* Scrolling conservatively::
|
* Scrolling conservatively::
|
||||||
* Changing the time stamp format::
|
* Changing the time stamp format::
|
||||||
* Defining a new command::
|
* Defining a new command::
|
||||||
* Reconnecting after you have lost the connection::
|
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Skipping /away messages using handlers
|
@node Skipping /away messages using handlers
|
||||||
|
|
@ -888,47 +903,6 @@ because @code{defun-rcirc-command} is not yet available, and without
|
||||||
(concat "I use " rcirc-id-string))))
|
(concat "I use " rcirc-id-string))))
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@node Reconnecting after you have lost the connection
|
|
||||||
@section Reconnecting after you have lost the connection
|
|
||||||
@cindex reconnecting
|
|
||||||
@cindex disconnecting servers, reconnecting
|
|
||||||
|
|
||||||
If you're chatting from a laptop, then you might be familiar with this
|
|
||||||
problem: When your laptop falls asleep and wakes up later, your IRC
|
|
||||||
client doesn't realize that it has been disconnected. It takes several
|
|
||||||
minutes until the client decides that the connection has in fact been
|
|
||||||
lost. The simple solution is to use @kbd{M-x rcirc}. The problem is
|
|
||||||
that this opens an @emph{additional} connection, so you'll have two
|
|
||||||
copies of every channel buffer, one dead and one live.
|
|
||||||
|
|
||||||
The real answer, therefore, is a @code{/reconnect} command:
|
|
||||||
|
|
||||||
@smallexample
|
|
||||||
(with-eval-after-load 'rcirc
|
|
||||||
(defun-rcirc-command reconnect (arg)
|
|
||||||
"Reconnect the server process."
|
|
||||||
(interactive "i")
|
|
||||||
(unless process
|
|
||||||
(error "There's no process for this target"))
|
|
||||||
(let* ((server (car (process-contact process)))
|
|
||||||
(port (process-contact process :service))
|
|
||||||
(nick (rcirc-nick process))
|
|
||||||
channels query-buffers)
|
|
||||||
(dolist (buf (buffer-list))
|
|
||||||
(with-current-buffer buf
|
|
||||||
(when (eq process (rcirc-buffer-process))
|
|
||||||
(remove-hook 'change-major-mode-hook
|
|
||||||
'rcirc-change-major-mode-hook)
|
|
||||||
(if (rcirc-channel-p rcirc-target)
|
|
||||||
(setq channels (cons rcirc-target channels))
|
|
||||||
(setq query-buffers (cons buf query-buffers))))))
|
|
||||||
(delete-process process)
|
|
||||||
(rcirc-connect server port nick
|
|
||||||
rcirc-default-user-name
|
|
||||||
rcirc-default-full-name
|
|
||||||
channels))))
|
|
||||||
@end smallexample
|
|
||||||
|
|
||||||
@node GNU Free Documentation License
|
@node GNU Free Documentation License
|
||||||
@appendix GNU Free Documentation License
|
@appendix GNU Free Documentation License
|
||||||
@include doclicense.texi
|
@include doclicense.texi
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue