From 99138b32a3076baed238ee4c6a81eaed3da74d3d Mon Sep 17 00:00:00 2001 From: Per Cederqvist <ceder@lysator.liu.se> Date: Sat, 8 Aug 1998 15:36:07 +0000 Subject: [PATCH] Spell checking performed. Some other minor typos fixed. State that the aux-item read-confirm should only be added after the user has acknowledged that he has read the text. --- doc/Protocol-A.texi | 160 ++++++++++++++++++++++---------------------- 1 file changed, 81 insertions(+), 79 deletions(-) diff --git a/doc/Protocol-A.texi b/doc/Protocol-A.texi index 00f8e6224..864014437 100644 --- a/doc/Protocol-A.texi +++ b/doc/Protocol-A.texi @@ -1,5 +1,5 @@ \input texinfo @c -*-texinfo-*- -@c $Id: Protocol-A.texi,v 1.12 1998/08/05 16:19:20 ceder Exp $ +@c $Id: Protocol-A.texi,v 1.13 1998/08/08 15:36:07 ceder Exp $ @c %**start of header @setfilename protocol-a.info @settitle LysKOM Protocol A @@ -374,7 +374,7 @@ LysKOM protocol A can be run on top of any reliable, bidirectional, 8-bit data stream. All current implementations use TCP/IP. At Lysator port 4894 is used on the host @code{kom.lysator.liu.se}. -Data in protocol A is ASCII clear text except within hollerith strings, +Data in protocol A is ASCII clear text except within Hollerith strings, where arbitrary eight-bit characters are allowed. Data arguments are separated by whitespace. The reason for this unorthodox design is that the protocol should be usable from a text-only terminal, something that @@ -436,7 +436,7 @@ Every article has at least one number, the global article number. Global numbers are assigned in ascending order to new articles, and are never reused. If an article has recipients it will also have a local number for each recipient. Local numbers are used in some data structures to -provide more compact storage and to provida an ordering of articles for +provide more compact storage and to provide an ordering of articles for a particular recipient. Local numbers are assigned in ascending order and are never reused for a particular recipient, though different recipients will have articles with the same local numbers. @@ -476,7 +476,7 @@ restriction is currently not enforced by the server; clients must implement this functionality. @item letterbox Conferences of this type are connected to persons. Letters to a person -are sent to the letterbox and the name of the letterbox is synchronised +are sent to the letterbox and the name of the letterbox is synchronized with the person name. It is currently not possible to explicitly set or clear this flag on a conference. @item secret @@ -647,12 +647,12 @@ fields. The aux-no field is used to identify an item. The aux-no together with a text or conference number uniquely identifies a particular aux item. -Items are numbered from one and up within each item list Once assigned, +Items are numbered from one and up within each item list. Once assigned, the aux-no for an item is never changed. New items are guaranteed to be assigned numbers that have never been used before within a particular list. -The tag field ideintifies the type of aux item. It is used by the server +The tag field identifies the type of aux item. It is used by the server and by clients to figure out how to interpret the data field, and by the server to decide if the item needs special treatment. @@ -677,7 +677,7 @@ type of item. The server may also place limits on who may create predefined items, might verify the data field, and can force any field in the item to a specific value, no matter what the client specified. -All items with tags in the rande 1-9999 and 30000 and up are considered +All items with tags in the range 1-9999 and 30000 and up are considered predefined. If a client attempts to create an item with a tag in this range, but the server has no idea what that tag means, the server will return an error (KOM_ILL_AUX.) @@ -742,7 +742,9 @@ The hide-creator, secret and inherit bits are automatically cleared. @item read-confirm [7] (text) This item can be taken as confirmation that the item creator has read -the text to which the item is attached. +the text to which the item is attached. Clients should never ever create +this item without an explicit confirmation from the user that the text +has indeed been read. The hide-creator, secret and inherit bits are automatically cleared. @@ -753,7 +755,7 @@ When set, messages sent directly to the conference should really be sent elsewhere. Data is PROTOCOL:ADDRESS where PROTOCOL is either "E-mail" or "LysKOM", and ADDRESS is either an e-mail address or a LysKOM conference. Hopefully we'll be able to replace this with a -forwardning mechanism later. +forwarding mechanism later. This item can only be set by the conference supervisor or in the case of a letterbox, the person attached to the letterbox. The hide-creator and @@ -770,7 +772,7 @@ a letterbox, the person attached to the letterbox. The hide-creator and secret bits are cleared automatically. -@item alternate-name [10] (text, conferece) +@item alternate-name [10] (text, conference) Data is a string that the client may use as an alternate to the name of a conference or the subject of a text. @@ -835,10 +837,10 @@ numbers in the range 20000-29999 are for experimental use. @node Defining New Aux-Item Types, , Experimental Aux-Item Types, The Aux-Item List @subsubsection Defining New Aux-Item Types -If you want a new predifined item type, just document what it does, what +If you want a new predefined item type, just document what it does, what the data format looks like and what the server is to do with the item and send this to the LysKOM development group. We'll assign a number to -oooyour item and put the documentation in this document. +your item and put the documentation in this document. If you're not sure what you want the data to look like yet, make a note in your documentation that the data format might change. Once you have a @@ -975,7 +977,7 @@ network port@footnote{The default port for a LysKOM server is 4894} and sending a single letter which is used to select a protocol version followed by connection information required by that protocol. In protocol A the connection information is a Hollerith string saying who -the user connecting is followed by a hewline character. +the user connecting is followed by a newline character. When the server has accepted the connection its reply is protocol-dependent. Protocol A servers will reply with the string @@ -1171,7 +1173,7 @@ where each @code{<call>} is the name of a call, @code{<n>} is the call number, @code{<request>} is a single data element sent as a request and @code{<reply>} is a single data element sent in reply from the server. -RPC calls are trasmitted as @code{<n> <request>} where @code{<n>} and +RPC calls are transmitted as @code{<n> <request>} where @code{<n>} and @code{<request>} have the same meaning as above. Note that in the client-server dialog a reference number must also be supplied with each request. This reference number is not part of the RPC itself, but is @@ -1323,9 +1325,9 @@ The item tag. The tag determines what the data means. The person who created the item, or zero if the item was created anonymously or if the owner is being withheld. @item created-at -The time when the item was created +The time when the item was created. @item flags -The item flags (see below) +The item flags (see below). @item inherit-limit Determines how many times (how deep) an item may be inherited. If zero, the item is inherited an unlimited number of times. If nonzero it is @@ -1734,7 +1736,7 @@ This holds the number of articles written by the person. @item no-of-marks The number of marked texts this person has. @item no-of-confs -The numer of conferences the person is a member of. +The number of conferences the person is a member of. @end table @@ -1765,12 +1767,12 @@ server may force this flag to be set when adding another person as a member of a conference. @item passive The member is not actively participating in the conference. Passive -members do not revceive group messages and should not be displayed as +members do not receive group messages and should not be displayed as active members by clients. @item secret The member does not wish to disclose the membership. Secret memberships and members are cleared before being returned to a person who is not a -subervisor of the member or has sufficient privileges enabled. +supervisor of the member or has sufficient privileges enabled. @end table The remaining flags in the @code{Membership-Type} structure are reserved @@ -1940,7 +1942,7 @@ These two structures contain information about a single article. @code{Text-Stat} contains core information about the article and @code{Misc-Info} contains miscellaneous information related to the article. In the future, @code{Misc-Info} will become obsolete and -@code{Text-Stat} will be extened with more information. +@code{Text-Stat} will be extended with more information. A @code{Text-Stat} consists of the following: @@ -2158,7 +2160,7 @@ types @code{Session-Info} and @code{Session-Info-Ident} have been superseded by @code{Static-Session-Info} and @code{Dynamic-Session-Info}. The static session info represents information about a session that does not change during the lifetime of -the session. Therefore static session infos can be agressively cached by +the session. Therefore static session infos can be aggressively cached by the client. The fields of @code{Session-Info} are @@ -2195,7 +2197,7 @@ The name of the ``real'' user (see @code{Who-Info-Ident} above.) @item hostname The host the connection originated at. @item ident-user -The user name accoring to the Ident +The user name according to the Ident @ifinfo daemon @end ifinfo @@ -2211,7 +2213,7 @@ The time when the connection was initiated. This is not the same as the amount of time the person has been on. @end table -The fields of @code{Svtatic-Session-Info} are +The fields of @code{Static-Session-Info} are @table @code @item username @@ -2219,7 +2221,7 @@ The name of the ``real'' user (see @code{Who-Info-Ident} above.) @item hostname The host the connection originated at. @item ident-user -The user name accoring to the Ident +The user name according to the Ident @ifinfo daemon @end ifinfo @@ -2313,8 +2315,8 @@ equivalent according to swascii rules. @node Protocol Requests, , , Top @chapter Protocol Requests -This chapter deocuments all calls that can be made to the server. All -calls are annoted with the protocol version in which they appeared and +This chapter documents all calls that can be made to the server. All +calls are annotated with the protocol version in which they appeared and their current status, which is one of @table @samp @@ -2341,13 +2343,13 @@ in the example. @menu - Call Name Ststus Description Number + Call Name Status Description Number ------------------------------------------------------------------------------- * login-old:: O Log in to LysKOM. Call 62 is preferred (0) * logout:: Log out. Call 62 to log in again (1) * change-conference:: Change current conference (2) * change-name:: Change name of a conference or person (3) -* change-what-i-am-doing:: Whance what-am-i-doing in who information (4) +* change-what-i-am-doing:: Change what-am-i-doing in who information (4) * create-person-old:: O Create a person (5) * get-person-stat-old:: O Get person information. Use call 49 (6) * set-priv-bits:: Set privileges of a person (7) @@ -2362,7 +2364,7 @@ in the example. * set-presentation:: Set the presentation of a conference (16) * set-etc-motd:: Set conference notice (17) * set-supervisor:: Set supervisor of a conference (18) -* set-permitted-submitters:: Set permitted subumitters of a conference (19) +* set-permitted-submitters:: Set permitted submitters of a conference (19) * set-super-conf:: Set super-conference of a conference (20) * set-conf-type:: Set the type of a conference (21) * set-garb-nice:: Set garb-nice of a conference (22) @@ -2555,7 +2557,7 @@ Conference @code{conference} does not exist or is secret. @item zero-conference @code{conference} is zero. -@item premission-denied +@item permission-denied Permission denied. The @code{change-name} bit is not set or the user does not have enough access to @code{conference}. @@ -3540,7 +3542,7 @@ many marks, or cause the text to have too many marks. -> ( result : HOLLERITH ); @end example -Retreive text number @code{text} from the LysKOM database, starting at +Retrieve text number @code{text} from the LysKOM database, starting at position @code{start-char} and ending at position @code{end-char}. The first character in the text is numbered 0 and the last can be retrieved using @ref{get-text-stat}. It is also permitted to request a character @@ -3620,7 +3622,7 @@ The text @code{text-no} does not exist, or no read access. -> ( ); @end example -Marks text @code{text} in confernece number @code{conference} as read +Marks text @code{text} in conference number @code{conference} as read for the current user. This call updates the membership record for the user. @@ -3726,7 +3728,7 @@ The string @code{text} is longer than the maximum length of a message. @item temporary-failure The text could not be created at the moment. @item no-such-text -Attempt to comment or footnote a non-existant or secret text. +Attempt to comment or footnote a non-existent or secret text. @item not-author Attempt to footnote a text authored by someone else. @item footnote-limit @@ -3798,7 +3800,7 @@ Adds @code{conf-no} as recipient to text @code{text-no}. If created; otherwise a recept is created. Since protocol version 8 this call can also be used to change a -cc_recept into a recept and vice versa by simply adding a receipient +cc_recept into a recept and vice versa by simply adding a recipient that already exists. Since protocol version 10 the @code{carbon-copy} parameter is a @@ -4038,7 +4040,7 @@ conference. Clients will usually use the @code{query-read-texts} (@pxref{query-read-texts}) or @code{get-membership} (@pxref{get-membership}) calls to find the last local number a user has read in a particular conference, then use the @code{get-map} call to -retreive the global numbers of all unread texts in the conference. +retrieve the global numbers of all unread texts in the conference. The @code{conf-no} parameter specifies which conference to get the map of. @code{first-local-no} is the local number of the first text returned @@ -4047,7 +4049,7 @@ wants. The result is a list of global text numbers. The first element of the list is the global number of local number @code{first-local-no}, -specified by the calll; the second element is the global number of local +specified by the call; the second element is the global number of local number @code{first-local-no} plus one; and so forth. The list returned by the server is at most @code{no-of-texts} long, but may be shorter if the call specifies more texts that there are in the conference. @@ -4066,7 +4068,7 @@ zero, the server will return an error. This example shows three @code{get-map} calls. The first retrieves the mappings of local numbers 10 to 15; the second call returns local -numbers 16 to 18. As this exampls shows the maps are not necessarily +numbers 16 to 18. As this example shows the maps are not necessarily sorted in ascending order, since texts may be added after their creation, and the maps may contain zeroes anywhere. These represent texts that have been removed for some reason. @@ -4167,9 +4169,9 @@ This call always succeeds. -> ( ); @end example -Add a foonote link between the text @code{footnote-to} and the text +Add a footnote link between the text @code{footnote-to} and the text @code{text-no} (@code{text-no} becomes a footnote to the text -@code{footnote-to}). This call is used to add foonote links after a text +@code{footnote-to}). This call is used to add footnote links after a text has been created. Only the author of both texts is allowed to add the footnote link. @@ -4202,7 +4204,7 @@ secret. Maximum number of texts in database already. @item not-author Not author of @code{footnote-to}. -@item foootnote-limit +@item footnote-limit Text @code{footnote-to} already has the maximum number of footnotes. @item already-footnote Text @code{text-no} is already a footnote to @code{footnote-to}. @@ -4221,7 +4223,7 @@ Text @code{text-no} is already a footnote to @code{footnote-to}. @end example This call removes the text @code{text-no} from @code{footnote-to}'s list -of foootnotes. Only the author of a footnote may remove it. +of footnotes. Only the author of a footnote may remove it. @example 1 26 1 @@ -4238,7 +4240,7 @@ of foootnotes. Only the author of a footnote may remove it. @end example In this example text 2 is a footnote to text 1, as shown by the -misc-info lists of the two texts. The @code{sub-foootnote} is called. +misc-info lists of the two texts. The @code{sub-footnote} is called. The misc-info lists are changed to reflect the change. @unnumberedsubsubsec Error codes @@ -4267,8 +4269,8 @@ set and enabled to complete call anyway. -> ( result : Who-Info-List-Old ); @end example -This call is obsoolete. Use @ref{get-static-session-info} and -@ref{who-is-on-dynamic} instead. If the server dooes not support these +This call is obsolete. Use @ref{get-static-session-info} and +@ref{who-is-on-dynamic} instead. If the server does not support these calls, use @ref{who-is-on} instead. @unnumberedsubsubsec Error codes @@ -4423,7 +4425,7 @@ server implementation. This call is privileged in most implementations. This example shows how the @ref{enable} call is used to enable all privileges, then the @code{sync-kom} call is used to save the database. -The server responds with two asynchronous messages signalling that the +The server responds with two asynchronous messages signaling that the database is being saved. @unnumberedsubsubsec Error codes @@ -4565,7 +4567,7 @@ person's membership list. ( result : Text-List ); @end example -This call retuns a list of the texts written by a person. is the person +This call returns a list of the texts written by a person. is the person whose created texts are to be retrieved. @code{first} is the first text to retrieve. @code{no-of-texts} is the number of texts to retrieve. @@ -4628,7 +4630,7 @@ to return. @t{=1 2 @{ 9 10 @}} @end example -In this example the client first requests the firat 100 members in +In this example the client first requests the first 100 members in conference 1. The second request is for the first 100 members of conference 6. The last request is for members 2 and 3 in conference 6. @@ -4637,7 +4639,7 @@ conference 6. The last request is for members 2 and 3 in conference 6. @table @code @item undefined-conference The conference @code{conf} does not exist or is secret. -@item index-out-of-rande +@item index-out-of-range @code{first} is higher than the number of members in @code{conf}. @end table @@ -4735,13 +4737,13 @@ The conference @code{conf-no} does not exist or is secret. @end example This call is obsolete. Please use @ref{who-is-on-dynamic} and -@code{get-static-session-info} instead. Nontheless, servers should +@code{get-static-session-info} instead. Nonetheless, servers should support this call since many clients still use it. This call should simply return a list of visible sessions. The data -structure is descibed elsewhere (@pxref{LysKOM Data Types}.) +structure is described elsewhere (@pxref{LysKOM Data Types}.) -@unnumberedsubsubsec Error coodes +@unnumberedsubsubsec Error codes This call always succeeds. @@ -4885,7 +4887,7 @@ session logged in as a person for which @i{foo} is the supervisor. In this example the client asks for its own session number, then disconnects itself. The asynchronous message sent just before the session is disconnected is the logout message for the user that was -logged on in the session. The ``Connection closed by foreight host.'' is +logged on in the session. The ``Connection closed by foreign host.'' is not part of the server output. This message was generated by telnet. @unnumberedsubsubsec Error codes @@ -5056,7 +5058,7 @@ The string @code{text} is longer than the maximum length of a message. @item temporary-failure The text could not be created at the moment. @item no-such-text -Attempt to comment or footnote a non-existant or secret text. +Attempt to comment or footnote a non-existent or secret text. @item not-author Attempt to footnote a text authored by someone else. @item footnote-limit @@ -5130,9 +5132,9 @@ or readable text number, as shown in the examples. @t{=1 2} @end example -This example shows that the last readable text in teh database is number -11 (unless by some odd coincidende all text from 11 to text number -134217727 have been deleted.) It also shows that the moost recent text +This example shows that the last readable text in the database is number +11 (unless by some odd coincidence all text from 11 to text number +134217727 have been deleted.) It also shows that the most recent text before number 4 is text number 2. @unnumberedsubsubsec Error codes @@ -5210,7 +5212,7 @@ does not have enough privileges set and enabled to log in anyway. ( result : Who-Info-Ident-List ); @end example -This call is obsolte. It has been replaced by @pxref{who-is-on-dynamic} +This call is obsolete. It has been replaced by @pxref{who-is-on-dynamic} and @pxref{get-static-session-info}. It used to return a list of all active and visible sessions. @@ -5273,7 +5275,7 @@ not a correct regexp. @end example This call is obsolete. It has been replaced by @pxref{re-z-lookup}. It -used to return a list of conferences matchin the regular expression +used to return a list of conferences matching the regular expression @code{regexp}. The regexp syntax used was that of the @code{ed(1)} Unix utility. @@ -5317,7 +5319,7 @@ This call always succeeds. @end example This call is obsolete. It has been replaced by @pxref{lookup-z-name}. -This call used to return a list of conferences with names matchin the +This call used to return a list of conferences with names matching the contracted name in @code{name}. See @pxref{Name Expansion} for a description of the matching process. @@ -5356,7 +5358,7 @@ calls. In this example the @pxref{who-am-i} call is used to find the ID of the current session. Next, set-client-version is used to set the name of the -client to ``elisp-client'' and the version to ``0.45''. The thrid call +client to ``elisp-client'' and the version to ``0.45''. The third call is to @pxref{get-client-name}, which returns the string just sent to the server. Finally @pxref{get-client-version} is used to retrieve the client version of session number 7, which is, as expected, the string @@ -5541,7 +5543,7 @@ works. This example shows three calls to @code{re-z-lookup}. The first call returns all conferences and persons in the entire database, in this case two conferences and two persons. The second example uses the same -regulare expression, but in this case, the call specifies that the +regular expression, but in this case, the call specifies that the result is only to contain conferences, so the two persons are not returned. The third example simply returns all names matching the pattern ``T.*C''. @@ -5575,7 +5577,7 @@ capabilities are. @end example This example lets us know that the server is lyskomd, version 1.9.0, -which at the time of writing this is the only really useable server. +which at the time of writing this is the only really usable server. @unnumberedsubsubsec Error codes @@ -5649,7 +5651,7 @@ a specific number of unread texts in a particular conference. @t{=3 2 4 22 18 6 97 5 198 1 6 100 3 0 *} @end example -This exampls shows how person 7 originally had read everything up to and +This example shows how person 7 originally had read everything up to and including local text number 6 in conference 6. After the call to @code{set-last=read}, the @pxref{query-read-texts} call reports that person 7 has read everything up to and including local text number 3. @@ -5721,7 +5723,7 @@ The conference @code{conference} does not exist or is secret. set-info [79] ( info : Info ) -> ( ) @end example -This call sets the server information retreived by @ref{get-info}. The +This call sets the server information retrieved by @ref{get-info}. The version number in the info structure is ignored, but all other fields are stored permanently in the LysKOM database. This is a privileged call. @@ -5946,7 +5948,7 @@ The string @code{text} is longer than the maximum length of a message. @item temporary-failure The text could not be created at the moment. @item no-such-text -Attempt to comment or footnote a non-existant or secret text. +Attempt to comment or footnote a non-existent or secret text. @item not-author Attempt to footnote a text authored by someone else. @item footnote-limit @@ -6008,7 +6010,7 @@ The string @code{text} is longer than the maximum length of a message. @item temporary-failure The text could not be created at the moment. @item no-such-text -Attempt to comment or footnote a non-existant or secret text. +Attempt to comment or footnote a non-existent or secret text. @item not-author Attempt to footnote a text authored by someone else. @item footnote-limit @@ -6105,7 +6107,7 @@ This call requests that the server create a new person with the name and password given as arguments. To create a person the session must be logged in as a person with sufficient privileges. The list @code{aux-items} contains the aux items that are to be attached to the -new person's letterboox conference. +new person's letterbox conference. @@ -6282,7 +6284,7 @@ This call always succeeds. @end example This call modifies the aux-item list of the server information (which -can be retreived using @ref{get-info}.) It only succeeds when issued by +can be retrieved using @ref{get-info}.) It only succeeds when issued by a person with the admin bit set and privileges enabled. @unnumberedsubsubsec Error codes @@ -6555,7 +6557,7 @@ the contents. Cleared elements simply have all fields set to zero. @t{=1 2 @{ 9 8 10000000 10 10 00000000@}} @end example -In this example the client first requests the firat 100 members in +In this example the client first requests the first 100 members in conference 1. The second request is for the first 100 members of conference 6. The last request is for members 2 and 3 in conference 6. @@ -6604,7 +6606,7 @@ FIXME: more text here @node Asynchronous Messages, , , Top @chapter Asynchronous Messages -Asynchroonous messages are information messages sent from the server to +Asynchronous messages are information messages sent from the server to the client. Clients can select which messages to receive by issuing an @code{@ref{accept-async}} call. They can find out which messages are being sent by issuing the @code{@ref{query-async}} call. Note that the @@ -6631,7 +6633,7 @@ The parameters of each message are listed in the same format as server calls. @menu - Message Name Ststus Description Number + Message Name Status Description Number ------------------------------------------------------------------------------- * async-new-text-old:: A text has been created (0) * async-i-am-off:: O Logged off (obsolete) (1) @@ -6856,7 +6858,7 @@ message is sent to all logged-in members of any recipient of the text. If a call cannot complete successfully, LysKOM will respond with an -error reply, as defined below and earlied (@pxref{Client-Server +error reply, as defined below and earlier (@pxref{Client-Server Dialog}). @example @@ -6873,7 +6875,7 @@ Dialog}). A client should be prepared for any error code in response to any call, no matter if the response makes any sense or not. The value returned in @code{error-status} was more or less undefined before protocol version -10. For protocol version 10, the meaning of @code{erroor-status} is +10. For protocol version 10, the meaning of @code{error-status} is defined below. The meaning of @code{error-status} can be modified by any call. In @@ -6894,7 +6896,7 @@ new errors might be added later on. @table @code @item no-error (0) -No error has occured. @code{error-status} is undefined. This should +No error has occurred. @code{error-status} is undefined. This should never happen, but it might. @item not-implemented (2) @@ -7130,7 +7132,7 @@ the recipient is not accepting messages at the moment. LysKOM defines a few special content types for texts. They are all described in this chapter. In addition to these, clients must support text/plain, should support text/enriched and are encouraged to support -HTML. +text/html. @menu * Reformattable Text (x-kom/basic) :: @@ -7142,7 +7144,7 @@ HTML. @section Reformattable Text This type of content corresponds to the mime type x-kom/basic. It is raw -text that can be reformatted by the client without ill effectes, but +text that can be reformatted by the client without ill effects, but that can be legibly displayed on a text terminal without formatting. @itemize @bullet @@ -7204,7 +7206,7 @@ what you name your client's block. This defines the theoretical structure of the common block. The real world probably does not agree entirely with this, and it is likely to -change just as soon as I have time to define somthing better. In the +change just as soon as I have time to define something better. In the mean while you're probably better off ignoring the common block and storing all your settings in a client block. The Emacs lisp client uses the common block, but I have a feeling that it might store data that @@ -7255,7 +7257,7 @@ automatically. Boolean. @item dashed-lines True if the user wants dashed lines around the text body when it's -displayed. Booolean. +displayed. Boolean. @item presence-messages True if the user wants messages about people logging in and logging out @@ -7299,7 +7301,7 @@ it contains some information that may be useful for client writers. @node Common Commands, Client Conventions, , Writing Clients @section Common Commands -Most clients will implement certain commands. This main prupose of this +Most clients will implement certain commands. This main purpose of this section is to get client writers started on some of these commands, and to answer some questions that seem to come up over and over again. -- GitLab