emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] 01/01: doc/chess.texi: Steal parts of Shell mode documentation to


From: Mario Lang
Subject: [elpa] 01/01: doc/chess.texi: Steal parts of Shell mode documentation to explain comint-based chess-ics-mode.
Date: Fri, 06 Jun 2014 09:27:42 +0000

mlang pushed a commit to branch externals/chess
in repository elpa.

commit 933ef4d46b638409c31ced405ef3f0049203368c
Author: Mario Lang <address@hidden>
Date:   Fri Jun 6 11:26:39 2014 +0200

    doc/chess.texi: Steal parts of Shell mode documentation to explain
    comint-based chess-ics-mode.
---
 chess.info     |  317 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 doc/chess.texi |  293 ++++++++++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 566 insertions(+), 44 deletions(-)

diff --git a/chess.info b/chess.info
index 7d480da..26b91d1 100644
--- a/chess.info
+++ b/chess.info
@@ -1497,7 +1497,7 @@ File: chess.info,  Node: Internet Chess Servers,  Next: 
Concept Index,  Prev: En
 5 Internet Chess Servers
 ************************
 
-Based on the services provided above, there is also a speical mode for
+Based on the services provided above, there is also a special mode for
 communication with Internet Chess Servers.
 
    On an Internet Chess Server you can seek to play against other human
@@ -1521,11 +1521,13 @@ variable:
 * Menu:
 
 * Connecting to a server::
+* Chess ICS Mode::
+* Command History::
 * Seeking an opponent for a new game::
 * The sought game display::
 
 
-File: chess.info,  Node: Connecting to a server,  Next: Seeking an opponent 
for a new game,  Prev: Internet Chess Servers,  Up: Internet Chess Servers
+File: chess.info,  Node: Connecting to a server,  Next: Chess ICS Mode,  Prev: 
Internet Chess Servers,  Up: Internet Chess Servers
 
 5.1 Connecting to a server
 ==========================
@@ -1536,15 +1538,217 @@ To open a new connection to an Internet Chess Server, 
use:
           password-or-filename helper &rest helper-args
      Connect to an Internet Chess Server.
 
-   Internet Chess Server support is a derivative of Comint mode, a
-general-purpose mode for communicating with interactive subprocesses.  A
-history of previously entered commands at the ICS prompt is available
-with 'M-p' and 'M-n'.  See COMINT-MODE-MAP.
+
+File: chess.info,  Node: Chess ICS Mode,  Next: Command History,  Prev: 
Connecting to a server,  Up: Internet Chess Servers
+
+5.2 Chess ICS Mode
+==================
+
+The major mode for ICS buffers is Chess ICS mode.  Many of its special
+commands are bound to the 'C-c' prefix.  Here is a list of ICS mode
+commands:
+
+'<RET>'
+     Send the current line as input to the server ('comint-send-input').
+     Any prompt at the beginning of the line is omitted.  If point is at
+     the end of buffer, this is like submitting the command line in an
+     ordinary interactive shell.  However, you can also invoke <RET>
+     elsewhere in the ICS buffer to submit the current line as input.
+
+'C-d'
+     Either delete a character or send EOF (End Of File)
+     ('comint-delchar-or-maybe-eof').  Typed at the end of the ICS
+     buffer, this sends EOF to the server and terminates the connection.
+     Typed at any other position in the buffer, this deletes a character
+     as usual.
+
+'C-c C-a'
+     Move to the beginning of the line, but after the prompt if any
+     ('comint-bol-or-process-mark').  If you repeat this command twice
+     in a row, the second time it moves back to the process mark, which
+     is the beginning of the input that you have not yet sent to the
+     server.  (Normally that is the same place--the end of the prompt on
+     this line--but after 'C-c <SPC>' the process mark may be in a
+     previous line.)
+
+'C-c <SPC>'
+     Accumulate multiple lines of input, then send them together
+     ('comint-accumulate').  This command inserts a newline before
+     point, but does not send the preceding text as input to the
+     server--at least, not yet.  Both lines, the one before this newline
+     and the one after, will be sent together (along with the newline
+     that separates them), when you type <RET>.
+
+'C-c C-u'
+     Kill all text pending at end of buffer to be sent as input
+     ('comint-kill-input').  If point is not at end of buffer, this only
+     kills the part of this text that precedes point.
+
+'C-c C-w'
+     Kill a word before point ('backward-kill-word').
+
+'C-c C-o'
+     Delete the last batch of output from an ICS server command
+     ('comint-delete-output').  This is useful if a server command spews
+     out lots of output that just gets in the way.
+
+'C-c C-s'
+     Write the last batch of output from an ICS server command to a file
+     ('comint-write-output').  With a prefix argument, the file is
+     appended to instead.  Any prompt at the end of the output is not
+     written.
+
+'C-c C-r'
+'C-M-l'
+     Scroll to display the beginning of the last batch of output at the
+     top of the window; also move the cursor there
+     ('comint-show-output').
+
+'C-c C-e'
+     Scroll to put the end of the buffer at the bottom of the window
+     ('comint-show-maximum-output').
+
+'M-x comint-truncate-buffer'
+     This command truncates the ICS buffer to a certain maximum number
+     of lines, specified by the variable 'comint-buffer-maximum-size'.
+     Here's how to do this automatically each time you get output from
+     the server:
+
+          (add-hook 'comint-output-filter-functions
+                    'comint-truncate-buffer)
+
+   ICS mode is a derivative of Comint mode, a general-purpose mode for
+communicating with interactive subprocesses.  Most of the features of
+ICS mode actually come from Comint mode, as you can see from the command
+names listed above.
+
+
+File: chess.info,  Node: Command History,  Next: Seeking an opponent for a new 
game,  Prev: Chess ICS Mode,  Up: Internet Chess Servers
+
+5.3 ICS Command History
+=======================
+
+ICS buffers support two ways of repeating earlier commands.  You can use
+keys like those used for the minibuffer history; these work much as they
+do in the minibuffer, inserting text from prior commands while point
+remains always at the end of the buffer.  You can move through the
+buffer to previous inputs in their original place, then resubmit them or
+copy them to the end.
+
+* Menu:
+
+* Ring: ICS Ring.               Fetching commands from the history list.
+* Shell History Copying::
 
 
-File: chess.info,  Node: Seeking an opponent for a new game,  Next: The sought 
game display,  Prev: Connecting to a server,  Up: Internet Chess Servers
+File: chess.info,  Node: ICS Ring,  Next: Shell History Copying,  Prev: 
Command History,  Up: Command History
+
+5.3.1 ICS History Ring
+----------------------
 
-5.2 Seeking an opponent for a new game
+'M-p'
+'C-<UP>'
+     Fetch the next earlier old ICS command.
+
+'M-n'
+'C-<DOWN>'
+     Fetch the next later old ICS command.
+
+'M-r'
+     Begin an incremental regexp search of old ICS commands.
+
+'C-c C-x'
+     Fetch the next subsequent command from the history.
+
+'C-c .'
+     Fetch one argument from an old ICS command.
+
+'C-c C-l'
+     Display the buffer's history of ICS commands in another window
+     ('comint-dynamic-list-input-ring').
+
+   ICS buffers provide a history of previously entered commands.  To
+reuse commands from the history, use the editing commands 'M-p', 'M-n',
+'M-r' and 'M-s'.  These work just like the minibuffer history commands
+(*note (emacs)Minibuffer History::), except that they operate within the
+ICS buffer rather than the minibuffer.
+
+   'M-p' fetches an earlier ICS command to the end of the ICS buffer.
+Successive use of 'M-p' fetches successively earlier commands, each
+replacing any text that was already present as potential input.  'M-n'
+does likewise except that it finds successively more recent ICS commands
+from the buffer.  'C-<UP>' works like 'M-p', and 'C-<DOWN>' like 'M-n'.
+
+   The history search command 'M-r' begins an incremental regular
+expression search of previous ICS commands.  After typing 'M-r', start
+typing the desired string or regular expression; the last matching ICS
+command will be displayed in the current line.  Incremental search
+commands have their usual effects--for instance, 'C-s' and 'C-r' search
+forward and backward for the next match (*note (emacs)Incremental
+Search::).  When you find the desired input, type <RET> to terminate the
+search.  This puts the input in the command line.  Any partial input you
+were composing before navigating the history list is restored when you
+go to the beginning or end of the history ring.
+
+   Often it is useful to reexecute several successive ICS commands that
+were previously executed in sequence.  To do this, first find and
+reexecute the first command of the sequence.  Then type 'C-c C-x'; that
+will fetch the following command--the one that follows the command you
+just repeated.  Then type <RET> to reexecute this command.  You can
+reexecute several successive commands by typing 'C-c C-x <RET>' over and
+over.
+
+   The command 'C-c .' ('comint-input-previous-argument') copies an
+individual argument from a previous command, like '<ESC> .' in Bash.
+The simplest use copies the last argument from the previous ICS command.
+With a prefix argument N, it copies the Nth argument instead.  Repeating
+'C-c .' copies from an earlier ICS command instead, always using the
+same value of N (don't give a prefix argument when you repeat the 'C-c
+.' command).
+
+   These commands get the text of previous ICS commands from a special
+history list, not from the ICS buffer itself.  Thus, editing the ICS
+buffer, or even killing large parts of it, does not affect the history
+that these commands access.
+
+
+File: chess.info,  Node: Shell History Copying,  Prev: ICS Ring,  Up: Command 
History
+
+5.3.2 Shell History Copying
+---------------------------
+
+'C-c C-p'
+     Move point to the previous prompt ('comint-previous-prompt').
+
+'C-c C-n'
+     Move point to the following prompt ('comint-next-prompt').
+
+'C-c <RET>'
+     Copy the input command at point, inserting the copy at the end of
+     the buffer ('comint-copy-old-input').  This is useful if you move
+     point back to a previous command.  After you copy the command, you
+     can submit the copy as input with <RET>.  If you wish, you can edit
+     the copy before resubmitting it.  If you use this command on an
+     output line, it copies that line to the end of the buffer.
+
+'Mouse-2'
+     If 'comint-use-prompt-regexp' is 'nil' (the default), copy the old
+     input command that you click on, inserting the copy at the end of
+     the buffer ('comint-insert-input').  If 'comint-use-prompt-regexp'
+     is non-'nil', or if the click is not over old input, just yank as
+     usual.
+
+   Moving to a previous input and then copying it with 'C-c <RET>' or
+'Mouse-2' produces the same results--the same buffer contents--that you
+would get by using 'M-p' enough times to fetch that previous input from
+the history list.  However, 'C-c <RET>' copies the text from the buffer,
+which can be different from what is in the history list if you edit the
+input text in the buffer after it has been sent.
+
+
+File: chess.info,  Node: Seeking an opponent for a new game,  Next: The sought 
game display,  Prev: Command History,  Up: Internet Chess Servers
+
+5.4 Seeking an opponent for a new game
 ======================================
 
 After you connected to a server, one of the first things you will want
@@ -1552,10 +1756,18 @@ to do is find an oponent for a new game.  You can use 
the ICS command
 "seek" to announce your availability for a chess game to interested
 people.
 
+   For example:
+
+     fics% seek 10 10 rated
+
+   This will announce your availability to play a rated game with 10
+minutes initial time-control for each player, and 10 seconds added for
+every move made.
+
 
 File: chess.info,  Node: The sought game display,  Prev: Seeking an opponent 
for a new game,  Up: Internet Chess Servers
 
-5.3 The sought game display
+5.5 The sought game display
 ===========================
 
 There is a special mode for displaying games sought by other users on an
@@ -1588,7 +1800,11 @@ Concept Index
 [index]
 * Menu:
 
-* library:                               The chess.el library.  (line 6)
+* Chess ICS mode:                        Chess ICS Mode.       (line  6)
+* Comint mode:                           Chess ICS Mode.       (line 79)
+* library:                               The chess.el library. (line  6)
+* mode, Comint:                          Chess ICS Mode.       (line 79)
+* mode, ICS:                             Chess ICS Mode.       (line  6)
 
 
 File: chess.info,  Node: Function and Variable Index,  Next: Key Index,  Prev: 
Concept Index,  Up: Top
@@ -1599,6 +1815,7 @@ Function and Variable Index
 [index]
 * Menu:
 
+* backward-kill-word:                    Chess ICS Mode.       (line 47)
 * chess-ai-best-move:                    AI.                   (line 24)
 * chess-ai-depth:                        AI.                   (line 13)
 * chess-ai-quiescence-depth:             AI.                   (line 16)
@@ -1771,6 +1988,29 @@ Function and Variable Index
 * chess-var-seq:                         Variation positions.  (line 12)
 * chess-var-side-to-move:                Variation positions.  (line 15)
 * chess-var-to-algebraic:                Varation plies.       (line 12)
+* comint-accumulate:                     Chess ICS Mode.       (line 34)
+* comint-bol-or-process-mark:            Chess ICS Mode.       (line 25)
+* comint-buffer-maximum-size:            Chess ICS Mode.       (line 71)
+* comint-copy-old-input:                 Shell History Copying.
+                                                               (line 12)
+* comint-delchar-or-maybe-eof:           Chess ICS Mode.       (line 18)
+* comint-delete-output:                  Chess ICS Mode.       (line 50)
+* comint-dynamic-list-input-ring:        ICS Ring.             (line 24)
+* comint-get-next-from-history:          ICS Ring.             (line 18)
+* comint-history-isearch-backward-regexp: ICS Ring.            (line 14)
+* comint-input-previous-argument:        ICS Ring.             (line 21)
+* comint-kill-input:                     Chess ICS Mode.       (line 42)
+* comint-next-input:                     ICS Ring.             (line 10)
+* comint-next-prompt:                    Shell History Copying.
+                                                               (line  9)
+* comint-previous-input:                 ICS Ring.             (line  6)
+* comint-previous-prompt:                Shell History Copying.
+                                                               (line  6)
+* comint-send-input:                     Chess ICS Mode.       (line 11)
+* comint-show-maximum-output:            Chess ICS Mode.       (line 67)
+* comint-show-output:                    Chess ICS Mode.       (line 62)
+* comint-truncate-buffer:                Chess ICS Mode.       (line 71)
+* comint-write-output:                   Chess ICS Mode.       (line 55)
 
 
 File: chess.info,  Node: Key Index,  Prev: Function and Variable Index,  Up: 
Top
@@ -1781,18 +2021,37 @@ Key Index
 [index]
 * Menu:
 
-* 'C-u M-x chess RET ai RET':            AI.                   (line 10)
-* 'C-u M-x chess RET crafty RET':        Crafty.               (line 17)
-* 'C-u M-x chess RET fruit RET':         Fruit.                (line 20)
-* 'C-u M-x chess RET glaurung RET':      Glaurung.             (line 14)
-* 'C-u M-x chess RET gnuchess RET':      GNU Chess.            (line 18)
-* 'C-u M-x chess RET phalanx RET':       Phalanx.              (line 14)
-* 'C-u M-x chess RET sjeng RET':         Sjeng.                (line 16)
-* 'C-u M-x chess RET stockfish RET':     Stockfish.            (line 17)
-* 'M-n':                                 Connecting to a server.
-                                                               (line 12)
-* 'M-p':                                 Connecting to a server.
+* C-c . (Shell mode):                    ICS Ring.             (line 21)
+* C-c C-a:                               Chess ICS Mode.       (line 25)
+* C-c C-e:                               Chess ICS Mode.       (line 67)
+* C-c C-l (Shell mode):                  ICS Ring.             (line 24)
+* C-c C-n:                               Shell History Copying.
+                                                               (line  9)
+* C-c C-o:                               Chess ICS Mode.       (line 50)
+* C-c C-p:                               Shell History Copying.
+                                                               (line  6)
+* C-c C-r:                               Chess ICS Mode.       (line 62)
+* C-c C-s:                               Chess ICS Mode.       (line 55)
+* C-c C-u:                               Chess ICS Mode.       (line 42)
+* C-c C-w:                               Chess ICS Mode.       (line 47)
+* C-c C-x:                               ICS Ring.             (line 18)
+* C-c RET:                               Shell History Copying.
                                                                (line 12)
+* C-c SPC:                               Chess ICS Mode.       (line 34)
+* C-d:                                   Chess ICS Mode.       (line 18)
+* C-M-l:                                 Chess ICS Mode.       (line 62)
+* C-u M-x chess RET ai RET:              AI.                   (line 10)
+* C-u M-x chess RET crafty RET:          Crafty.               (line 17)
+* C-u M-x chess RET fruit RET:           Fruit.                (line 20)
+* C-u M-x chess RET glaurung RET:        Glaurung.             (line 14)
+* C-u M-x chess RET gnuchess RET:        GNU Chess.            (line 18)
+* C-u M-x chess RET phalanx RET:         Phalanx.              (line 14)
+* C-u M-x chess RET sjeng RET:           Sjeng.                (line 16)
+* C-u M-x chess RET stockfish RET:       Stockfish.            (line 17)
+* M-n:                                   ICS Ring.             (line 10)
+* M-p:                                   ICS Ring.             (line  6)
+* M-r:                                   ICS Ring.             (line 14)
+* RET:                                   Chess ICS Mode.       (line 11)
 * 'RET':                                 The sought game display.
                                                                (line 24)
 
@@ -1860,11 +2119,15 @@ Node: Phalanx53148
 Node: Sjeng53730
 Node: Stockfish54419
 Node: Internet Chess Servers55184
-Node: Connecting to a server56271
-Node: Seeking an opponent for a new game56947
-Node: The sought game display57399
-Node: Concept Index58377
-Node: Function and Variable Index58620
-Node: Key Index71455
+Node: Connecting to a server56310
+Node: Chess ICS Mode56711
+Node: Command History60119
+Node: ICS Ring60794
+Node: Shell History Copying63855
+Node: Seeking an opponent for a new game65305
+Node: The sought game display65954
+Node: Concept Index66932
+Node: Function and Variable Index67467
+Node: Key Index82027
 
 End Tag Table
diff --git a/doc/chess.texi b/doc/chess.texi
index 5b15a9c..13ffd4d 100644
--- a/doc/chess.texi
+++ b/doc/chess.texi
@@ -1579,7 +1579,7 @@ The @dfn{AI} engine module defines a pure Emacs Lisp 
implementation
 of an opponent.  Contrary to all other engine modules mentioned later on,
 it does not require any external programs to be installed.
 
address@hidden @kbd{C-u M-x chess RET ai RET}
address@hidden C-u M-x chess RET ai RET
 To explicitly select this engine as an opponent,
 use @kbd{C-u M-x chess @key{RET} ai @key{RET}}.
 
@@ -1616,7 +1616,7 @@ the @code{chess-crafty} engine module will automatically 
detect it.
 If Crafty is installed in a non-standard location, variable 
@code{chess-crafty-path}
 can be set to point to the executable.
 
address@hidden @kbd{C-u M-x chess RET crafty RET}
address@hidden C-u M-x chess RET crafty RET
 If you have multiple engines installed you can explicitly select
 to play against Crafty by invoking @kbd{C-u M-x chess @key{RET} crafty 
@key{RET}}.
 
@@ -1638,7 +1638,7 @@ the @code{chess-fruit} engine module will automatically 
detect it.
 If Fruit is installed in a non-standard location, variable
 @code{chess-fruit-path} can be set to point to the executable.
 
address@hidden @kbd{C-u M-x chess RET fruit RET}
address@hidden C-u M-x chess RET fruit RET
 If you have multiple engines installed you can explicitly select
 to play against Fruit by invoking @kbd{C-u M-x chess @key{RET} fruit 
@key{RET}}.
 
@@ -1654,7 +1654,7 @@ the @code{chess-glaurung} engine module will 
automatically detect it.
 If Glaurung is installed in a non-standard location, variable
 @code{chess-glaurung-path} can be set to point to the executable.
 
address@hidden @kbd{C-u M-x chess RET glaurung RET}
address@hidden C-u M-x chess RET glaurung RET
 If you have multiple engines installed you can explicitly select
 to play against Glaurung by invoking @kbd{C-u M-x chess @key{RET} glaurung 
@key{RET}}.
 
@@ -1674,7 +1674,7 @@ the @code{chess-gnuchess} engine module will 
automatically detect it.
 If GNU Chess is installed in a non-standard location, variable
 @code{chess-gnuchess-path} can be set to point to the executable.
 
address@hidden @kbd{C-u M-x chess RET gnuchess RET}
address@hidden C-u M-x chess RET gnuchess RET
 If you have multiple engines installed you can explicitly select
 to play against GNU Chess by invoking .
 
@@ -1690,7 +1690,7 @@ the @code{chess-phalanx} engine module will automatically 
detect it.
 If Phalanx is installed in a non-standard location, variable
 @code{chess-phalanx-path} can be set to point to the executable.
 
address@hidden @kbd{C-u M-x chess RET phalanx RET}
address@hidden C-u M-x chess RET phalanx RET
 If you have multiple engines installed you can explicitly select
 to play against Phalanx by invoking @kbd{C-u M-x chess @key{RET} phalanx 
@key{RET}}.
 
@@ -1708,7 +1708,7 @@ the @code{chess-sjeng} engine module will automatically 
detect it.
 If Sjeng is installed in a non-standard location, variable
 @code{chess-sjeng-path} can be set to point to the executable.
 
address@hidden @kbd{C-u M-x chess RET sjeng RET}
address@hidden C-u M-x chess RET sjeng RET
 If you have multiple engines installed you can explicitly select
 to play against Sjeng by invoking @kbd{C-u M-x chess @key{RET} sjeng 
@key{RET}}.
 
@@ -1728,14 +1728,14 @@ the @code{chess-stockfish} engine module will 
automatically detect it.
 If Stockfish is installed in a non-standard location, variable
 @code{chess-stockfish-path} can be set to point to the executable.
 
address@hidden @kbd{C-u M-x chess RET stockfish RET}
address@hidden C-u M-x chess RET stockfish RET
 If you have multiple engines installed you can explicitly select
 to play against Stockfish by invoking @kbd{C-u M-x chess @key{RET} stockfish 
@key{RET}}.
 
 @node Internet Chess Servers, Concept Index, Engines, Top
 @chapter Internet Chess Servers
 
-Based on the services provided above, there is also a speical mode
+Based on the services provided above, there is also a special mode
 for communication with Internet Chess Servers.
 
 On an Internet Chess Server you can seek to play against other
@@ -1759,11 +1759,13 @@ are currently supported.
 
 @menu
 * Connecting to a server::
+* Chess ICS Mode::
+* Command History::
 * Seeking an opponent for a new game::
 * The sought game display::
 @end menu
 
address@hidden Connecting to a server, Seeking an opponent for a new game, 
Internet Chess Servers, Internet Chess Servers
address@hidden Connecting to a server, Chess ICS Mode, Internet Chess Servers, 
Internet Chess Servers
 @section Connecting to a server
 
 To open a new connection to an Internet Chess Server, use:
@@ -1774,14 +1776,261 @@ To open a new connection to an Internet Chess Server, 
use:
 Connect to an Internet Chess Server.
 @end defun
 
address@hidden @kbd{M-p}
address@hidden @kbd{M-n}
-Internet Chess Server support is a derivative of Comint mode,
-a general-purpose mode for communicating with interactive subprocesses.
-A history of previously entered commands at the ICS prompt is
-available with @kbd{M-p} and @kbd{M-n}.  See @var{comint-mode-map}.
address@hidden Chess ICS Mode, Command History, Connecting to a server, 
Internet Chess Servers
address@hidden Chess ICS Mode
address@hidden Chess ICS mode
address@hidden mode, ICS
+
+  The major mode for ICS buffers is Chess ICS mode.  Many of its special
+commands are bound to the @kbd{C-c} prefix.  Here is a list of ICS mode
+commands:
+
address@hidden @kbd
address@hidden @key{RET}
address@hidden RET
address@hidden comint-send-input
+Send the current line as input to the server
+(@code{comint-send-input}).  Any prompt at the beginning of the
+line is omitted.  If point is at the end of
+buffer, this is like submitting the command line in an ordinary
+interactive shell.  However, you can also invoke @key{RET} elsewhere
+in the ICS buffer to submit the current line as input.
+
address@hidden C-d
address@hidden C-d
address@hidden comint-delchar-or-maybe-eof
+Either delete a character or send @acronym{EOF, End Of File}
+(@code{comint-delchar-or-maybe-eof}).  Typed at the end of the ICS
+buffer, this sends @acronym{EOF} to the server and terminates the
+connection.  Typed at any other
+position in the buffer, this deletes a character as usual.
+
address@hidden C-c C-a
address@hidden C-c C-a
address@hidden comint-bol-or-process-mark
+Move to the beginning of the line, but after the prompt if any
+(@code{comint-bol-or-process-mark}).  If you repeat this command twice
+in a row, the second time it moves back to the process mark, which is
+the beginning of the input that you have not yet sent to the server.
+(Normally that is the same place---the end of the prompt on this
+line---but after @kbd{C-c @key{SPC}} the process mark may be in a
+previous line.)
+
address@hidden C-c @key{SPC}
address@hidden C-c SPC
address@hidden comint-accumulate
+Accumulate multiple lines of input, then send them together
+(@code{comint-accumulate}).  This
+command inserts a newline before point, but does not send the preceding
+text as input to the server---at least, not yet.  Both lines, the one
+before this newline and the one after, will be sent together (along with
+the newline that separates them), when you type @key{RET}.
+
address@hidden C-c C-u
address@hidden C-c C-u
address@hidden comint-kill-input
+Kill all text pending at end of buffer to be sent as input
+(@code{comint-kill-input}).  If point is not at end of buffer,
+this only kills the part of this text that precedes point.
+
address@hidden C-c C-w
address@hidden C-c C-w
address@hidden backward-kill-word
+Kill a word before point (@code{backward-kill-word}).
+
address@hidden C-c C-o
address@hidden C-c C-o
address@hidden comint-delete-output
+Delete the last batch of output from an ICS server command
+(@code{comint-delete-output}).  This is useful if a server command spews
+out lots of output that just gets in the way.
+
address@hidden C-c C-s
address@hidden C-c C-s
address@hidden comint-write-output
+Write the last batch of output from an ICS server command to a file
+(@code{comint-write-output}).  With a prefix argument, the file is
+appended to instead.  Any prompt at the end of the output is not
+written.
+
address@hidden C-c C-r
address@hidden C-M-l
address@hidden C-c C-r
address@hidden C-M-l
address@hidden comint-show-output
+Scroll to display the beginning of the last batch of output at the top
+of the window; also move the cursor there (@code{comint-show-output}).
+
address@hidden C-c C-e
address@hidden C-c C-e
address@hidden comint-show-maximum-output
+Scroll to put the end of the buffer at the bottom of the window
+(@code{comint-show-maximum-output}).
+
address@hidden M-x comint-truncate-buffer
address@hidden comint-truncate-buffer
address@hidden comint-buffer-maximum-size
+This command truncates the ICS buffer to a certain maximum number of
+lines, specified by the variable @code{comint-buffer-maximum-size}.
+Here's how to do this automatically each time you get output from the
+server:
+
address@hidden
+(add-hook 'comint-output-filter-functions
+          'comint-truncate-buffer)
address@hidden example
address@hidden table
+
address@hidden Comint mode
address@hidden mode, Comint
+  ICS mode is a derivative of Comint mode, a general-purpose mode for
+communicating with interactive subprocesses.  Most of the features of
+ICS mode actually come from Comint mode, as you can see from the
+command names listed above.
+
address@hidden Command History, Seeking an opponent for a new game, Chess ICS 
Mode, Internet Chess Servers
address@hidden ICS Command History
+
+  ICS buffers support two ways of repeating earlier commands.  You
+can use keys like those used for the minibuffer history; these work
+much as they do in the minibuffer, inserting text from prior commands
+while point remains always at the end of the buffer.  You can move
+through the buffer to previous inputs in their original place, then
+resubmit them or copy them to the end.
 
address@hidden Seeking an opponent for a new game, The sought game display, 
Connecting to a server, Internet Chess Servers
address@hidden
+* Ring: ICS Ring.               Fetching commands from the history list.
+* Shell History Copying::
address@hidden menu
+
address@hidden ICS Ring, Shell History Copying, Command History, Command History
address@hidden ICS History Ring
+
address@hidden @kbd
address@hidden comint-previous-input
address@hidden M-p
address@hidden M-p
address@hidden address@hidden
+Fetch the next earlier old ICS command.
+
address@hidden M-n
address@hidden comint-next-input
address@hidden M-n
address@hidden address@hidden
+Fetch the next later old ICS command.
+
address@hidden M-r
address@hidden comint-history-isearch-backward-regexp
address@hidden M-r
+Begin an incremental regexp search of old ICS commands.
+
address@hidden C-c C-x
address@hidden C-c C-x
address@hidden comint-get-next-from-history
+Fetch the next subsequent command from the history.
+
address@hidden C-c .
address@hidden C-c . @r{(Shell mode)}
address@hidden comint-input-previous-argument
+Fetch one argument from an old ICS command.
+
address@hidden C-c C-l
address@hidden C-c C-l @r{(Shell mode)}
address@hidden comint-dynamic-list-input-ring
+Display the buffer's history of ICS commands in another window
+(@code{comint-dynamic-list-input-ring}).
address@hidden table
+
+  ICS buffers provide a history of previously entered
+commands.  To reuse commands from the history, use the editing
+commands @kbd{M-p}, @kbd{M-n}, @kbd{M-r} and @kbd{M-s}.  These work
+just like the minibuffer history commands (@pxref{Minibuffer
+History, , , emacs}), except that they operate within the ICS buffer rather
+than the minibuffer.
+
+  @kbd{M-p} fetches an earlier ICS command to the end of the ICS
+buffer.  Successive use of @kbd{M-p} fetches successively earlier
+commands, each replacing any text that was already present as
+potential input.  @kbd{M-n} does likewise except that it finds
+successively more recent ICS commands from the buffer.
address@hidden@key{UP}} works like @kbd{M-p}, and @address@hidden like
address@hidden
+
+  The history search command @kbd{M-r} begins an incremental regular
+expression search of previous ICS commands.  After typing @kbd{M-r},
+start typing the desired string or regular expression; the last
+matching ICS command will be displayed in the current line.
+Incremental search commands have their usual effects---for instance,
address@hidden and @kbd{C-r} search forward and backward for the next match
+(@pxref{Incremental Search, , , emacs}).  When you find the desired input, type
address@hidden to terminate the search.  This puts the input in the command
+line.  Any partial input you were composing before navigating the
+history list is restored when you go to the beginning or end of the
+history ring.
+
+  Often it is useful to reexecute several successive ICS commands that
+were previously executed in sequence.  To do this, first find and
+reexecute the first command of the sequence.  Then type @kbd{C-c C-x};
+that will fetch the following command---the one that follows the command
+you just repeated.  Then type @key{RET} to reexecute this command.  You
+can reexecute several successive commands by typing @kbd{C-c C-x
address@hidden over and over.
+
+  The command @kbd{C-c .}@: (@code{comint-input-previous-argument})
+copies an individual argument from a previous command, like
address@hidden@key{ESC} .} in Bash.  The simplest use copies the last argument 
from the
+previous ICS command.  With a prefix argument @var{n}, it copies the
address@hidden argument instead.  Repeating @kbd{C-c .} copies from an
+earlier ICS command instead, always using the same value of @var{n}
+(don't give a prefix argument when you repeat the @kbd{C-c .}
+command).
+
+  These commands get the text of previous ICS commands from a special
+history list, not from the ICS buffer itself.  Thus, editing the ICS
+buffer, or even killing large parts of it, does not affect the history
+that these commands access.
+
address@hidden Shell History Copying,  , ICS Ring, Command History
address@hidden Shell History Copying
+
address@hidden @kbd
address@hidden C-c C-p
address@hidden comint-previous-prompt
address@hidden C-c C-p
+Move point to the previous prompt (@code{comint-previous-prompt}).
+
address@hidden C-c C-n
address@hidden comint-next-prompt
address@hidden C-c C-n
+Move point to the following prompt (@code{comint-next-prompt}).
+
address@hidden C-c RET
address@hidden comint-copy-old-input
address@hidden C-c @key{RET}
+Copy the input command at point, inserting the copy at the end of the
+buffer (@code{comint-copy-old-input}).  This is useful if you move
+point back to a previous command.  After you copy the command, you can
+submit the copy as input with @key{RET}.  If you wish, you can edit
+the copy before resubmitting it.  If you use this command on an output
+line, it copies that line to the end of the buffer.
+
address@hidden Mouse-2
+If @code{comint-use-prompt-regexp} is @code{nil} (the default), copy
+the old input command that you click on, inserting the copy at the end
+of the buffer (@code{comint-insert-input}).  If
address@hidden is address@hidden, or if the click is
+not over old input, just yank as usual.
address@hidden table
+
+  Moving to a previous input and then copying it with @kbd{C-c
address@hidden or @kbd{Mouse-2} produces the same results---the same
+buffer contents---that you would get by using @kbd{M-p} enough times
+to fetch that previous input from the history list.  However, @kbd{C-c
address@hidden copies the text from the buffer, which can be different
+from what is in the history list if you edit the input text in the
+buffer after it has been sent.
+
address@hidden Seeking an opponent for a new game, The sought game display, 
Command History, Internet Chess Servers
 @section Seeking an opponent for a new game
 
 After you connected to a server, one of the first things you will
@@ -1789,6 +2038,16 @@ want to do is find an oponent for a new game.  You can 
use the
 ICS command "seek" to announce your availability for a chess game
 to interested people.
 
+For example:
+
address@hidden
+fics% seek 10 10 rated
address@hidden example
+
+This will announce your availability to play a rated game with 10 minutes
+initial time-control for each player, and 10 seconds added
+for every move made.
+
 @node The sought game display,  , Seeking an opponent for a new game, Internet 
Chess Servers
 @section The sought game display
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]