Skip to content

Commit

Permalink
Documentation updates.
Browse files Browse the repository at this point in the history
  • Loading branch information
shawnw committed Jun 18, 2018
1 parent 08f10b2 commit 66e7ae5
Show file tree
Hide file tree
Showing 6 changed files with 81 additions and 14 deletions.
14 changes: 8 additions & 6 deletions CHANGES.187.md
Expand Up @@ -56,13 +56,15 @@ Softcode
* `clone()` now takes an optional fourth argument to act like `@clone/preserve` [797]
* New 'me' and 'inventory' flags for `scan()` give finer control of what to scan. [MG]
* `orflags()`, `orlflags()`, `andflags()`, `andlflags()`, and the power versions no longer return errors on unknown flags/powers. They instead treat the unknown one as if it wasn't set. Suggested by Qon. [1180].
* `sqlescape()` when using a sqlite3 connection no longer also requires MySQL.
* `timecalc()` and `secscalc()` for adding/subtracting intervals from times.
* `@suggest` and `suggest()` for user-defined spellchecking. Loads */usr/share/dict/words* or another configurable wordlist by default.
* `connlog()` and `connrecord()` for interfacing with enhanced connection logs.
* `soundex()` and `soundslike()` now support a second phonetic hash besides soundex.
* `soundex()` and `soundslike()` now support a second phonetic hash algorithm besides soundex.
* Side-effect version of link() now returns 1 on success, 0 or #-1 on failure. [MT]
* owner() now accepts two optional arguments, allowing ownership to be changed as in @chown and @atrchown. [MT]
* If compiled with libcurl support, adds `@http` for interacting with RESTFul web APIs. [SW]
* `stripaccents()` supports a second, smarter, transliteration algorithm.
* If compiled with ICU support, adds `lcstr2()` and `ucstr2()` with proper support for characters like the German eszett (ß) that map to a different number of characters in different cases.

Fixes
-----
Expand All @@ -75,19 +77,20 @@ Fixes
* Pass `pe_info` into IDLE and HAVEN attributes from the page command. [MG]
* The x and X options to `align()` now always truncate to the column width, rather than incorrectly truncating at a space. Reported by Qon. [MG, 1178]
* `json_query()` didn't understand an action of 'type' as documented. [SW]
* Assorted help file fixes. [SW]
* `@clone` without /preserve wasn't stripping privileged flags and such. [1190,SW]
* `@chown/preserve` was resetting wiz-bit despite it's help file indicating otherwise. [1187] PR by Qon.
* `scan()` now determines if objects will be included based on whether the caller can examine them, rather than if `scan()`'s `<looker>` can examine them. [MG]
* Fixed some bugs regarding when `setq()` will and won't let you set the values of named registers when you've hit the limit. [MG, 1179]
* `sqlescape()` when using a sqlite3 connection no longer also requires MySQL.
* A number of issues in the handling UTF-8 text sent by clients have been fixed, as well as improvements in UTF-8 handling in general. [SW]

Documentation
-------------

* Changelogs and other documentation use markup. [SW, 1140]
* Start trying to clean up and revise ancient documentation. [1095]
* Minor help fixes. [MG]
* More minor help fixes. [MT]
* Help fixes and improvements. [MG, SW, MT]
* Help files are now in UTF-8.

OS Specific
-----------
Expand All @@ -103,4 +106,3 @@ OS Specific
### Windows ###

* Use Windows crypto library functions for base64 conversion and digest hashing instead of OpenSSL. [SW]

7 changes: 4 additions & 3 deletions INSTALL.md
Expand Up @@ -88,9 +88,10 @@ The quickstart version of the installation is:
it out of the box, but some might require a development package as
well (libssl-dev, openssl-dev or some such name).
5. Development versions of a number of optional libraries are nice to have:
* A sql client library for Sqlite3, MySQL/MariaDB or Postgresql.
* libevent
* libcurl
* A sql client library for MySQL/MariaDB or Postgresql.
* ICU (For enhanced Unicode support)
* libevent (For ssl_slave)
* libcurl (For `@http`)
5. Run ./configure with any desired options (See ./configure --help or
read below)
6. make update
Expand Down
3 changes: 2 additions & 1 deletion game/txt/hlp/pennv187.hlp
Expand Up @@ -48,13 +48,13 @@ Softcode:
* clone() now takes an optional fourth argument to act like @clone/preserve [797]
* New ‘me’ and ‘inventory’ flags for scan() give finer control of what to scan. [MG]
* orflags(), orlflags(), andflags(), andlflags(), and the power versions no longer return errors on unknown flags/powers. They instead treat the unknown one as if it wasn’t set. Suggested by Qon. [1180].
* sqlescape() when using a sqlite3 connection no longer also requires MySQL.
* timecalc() and secscalc() for adding/subtracting intervals from times.
* @suggest and suggest() for user-defined spellchecking. Loads /usr/share/dict/words or another configurable wordlist by default.
* connlog() and connrecord() for interfacing with enhanced connection logs.
* soundex() and soundslike() now support a second phonetic hash besides soundex.
* Side-effect version of link() now returns 1 on success, 0 or #-1 on failure. [MT]
* owner() now accepts two optional arguments, allowing ownership to be changed as in @chown and @atrchown. [MT]
* If compiled with libcurl support, adds @http for interacting with RESTFul web APIs. [SW]

Fixes:

Expand All @@ -71,6 +71,7 @@ Fixes:
* @chown/preserve was resetting wiz-bit despite it’s help file indicating otherwise. [1187] PR by Qon.
* scan() now determines if objects will be included based on whether the caller can examine them, rather than if scan()’s <looker> can examine them. [MG]
* Fixed some bugs regarding when setq() will and won’t let you set the values of named registers when you’ve hit the limit. [MG, 1179]
* sqlescape() when using a sqlite3 connection no longer also requires MySQL.

Documentation:

Expand Down
62 changes: 59 additions & 3 deletions htmldocs/CHANGES.187.html
Expand Up @@ -27,6 +27,7 @@ <h1 class="title">PennMUSH 1.8.7 Changes</h1>
<ul>
<li><a href="#version-1.8.7-patchlevel-0-20">Version 1.8.7 patchlevel 0 ??? ?? 20??</a><ul>
<li><a href="#major-changes">Major Changes</a></li>
<li><a href="#minor-changes">Minor Changes</a></li>
<li><a href="#softcode">Softcode</a></li>
<li><a href="#fixes">Fixes</a></li>
<li><a href="#documentation">Documentation</a></li>
Expand All @@ -40,6 +41,7 @@ <h1 class="title">PennMUSH 1.8.7 Changes</h1>
<li>[GM] is Greg Millam, a PennMUSH developer (aka Walker)</li>
<li>[MG] is Mike Griffiths, a PennMUSH developer (aka Talvo)</li>
<li>[TK] is Tim Krajcar, a PennMUSH developer (aka Rince)</li>
<li>[MT] is Mike Taylor, a PennMUSH developer (aka Qon or Zenithar)</li>
<li>[3] refers to code by (or inspired by) TinyMUSH 3.0</li>
<li>[MUX] refers to code by (or inspired by) TinyMUX 2.x</li>
<li>[Rhost] refers to code by (or inspired by) RhostMUSH</li>
Expand All @@ -49,27 +51,81 @@ <h1 class="title">PennMUSH 1.8.7 Changes</h1>
<h1 id="version-1.8.7-patchlevel-0-20">Version 1.8.7 patchlevel 0 ??? ?? 20??</h1>
<h2 id="major-changes">Major Changes</h2>
<ul>
<li>Support websocket connections. See <a href="http://grapenut.org/code/wsclient/index.html" class="uri">http://grapenut.org/code/wsclient/index.html</a> for a sample in-browser client. [Grapenut, 1007]</li>
<li>Support websocket connections. See <a href="https://github.com/grapenut/websockclient" class="uri">https://github.com/grapenut/websockclient</a> for a sample in-browser client. [Grapenut, 1007]</li>
<li>Change attributes from being stored in sorted linked lists to sorted arrays; results in faster lookups and less memory usage. [SW]</li>
<li>Penn now comes with the Sqlite3 database engine bundled with it, and uses it internally in a few ways:
<ul>
<li>3 different tables for looking up color names are combined into a single table.</li>
<li>Per-object auxilliary data keys (objdata) are handled in sql.</li>
<li>Player names and alias lists are handled in sql, making some operations on them simpler.</li>
<li>Suggests alternatives for unknown function names, flags, powers and help entries, and a softcode interface to the suggestion engine.</li>
<li><span class="citation" data-cites="entrances">@entrances</span> and entrances() no longer scan the entire database.</li>
<li>Help files are stored in a database, with an expanded help/search that supports full text search. See <code>HELP SEARCHING</code> for details.</li>
<li>Optional enhanced connection logging. See the file <em>game/CONNLOG.md</em> for details.</li>
<li>A number of new softcode functions and expanded functions, listed below.</li>
</ul></li>
</ul>
<h2 id="minor-changes">Minor Changes</h2>
<ul>
<li>Message translation support now defaults to off. Run configure with <code>--enable-nls</code> to turn it on if needed. [SW]</li>
<li>Shrink the <code>NEW_PE_INFO</code> struct, for signficant memory savings in softcode that queues lots of commands. [SW]</li>
<li>Add more test cases to the softcode test suite. [SW]</li>
<li>log_forces in mushcnf.dst now defaults to no. You probably only want this on if you're debugging. [MG]</li>
</ul>
<h2 id="softcode">Softcode</h2>
<ul>
<li>Support all of Rhost's colors() key arguments (Except n). [SW, 1112]</li>
<li>Support all of Rhost's <code>colors()</code> key arguments (Except n). [SW, 1112]</li>
<li>Functions that work on integers (Like <code>div()</code> or <code>band()</code>) now use 64-bit values instead of 32-bit. [SW]</li>
<li>Added <code>isjson()</code></li>
<li><code>json_query()</code> get and exists can follow paths into objects instead of taking a single key/index. Suggested by qa'toq. [SW]</li>
<li><code>json_query()</code> can apply merge patches to json objects per <a href="https://tools.ietf.org/html/rfc7396" class="uri">https://tools.ietf.org/html/rfc7396</a></li>
<li><code>json_query(str, unescape)</code> handles unicode escape sequences.</li>
<li><code>json(string, foo)</code> escapes non-ascii characters.</li>
<li><code>clone()</code> now takes an optional fourth argument to act like <code>@clone/preserve</code> [797]</li>
<li>New 'me' and 'inventory' flags for <code>scan()</code> give finer control of what to scan. [MG]</li>
<li><code>orflags()</code>, <code>orlflags()</code>, <code>andflags()</code>, <code>andlflags()</code>, and the power versions no longer return errors on unknown flags/powers. They instead treat the unknown one as if it wasn't set. Suggested by Qon. [1180].</li>
<li><code>timecalc()</code> and <code>secscalc()</code> for adding/subtracting intervals from times.</li>
<li><code>@suggest</code> and <code>suggest()</code> for user-defined spellchecking. Loads <em>/usr/share/dict/words</em> or another configurable wordlist by default.</li>
<li><code>connlog()</code> and <code>connrecord()</code> for interfacing with enhanced connection logs.</li>
<li><code>soundex()</code> and <code>soundslike()</code> now support a second phonetic hash algorithm besides soundex.</li>
<li>Side-effect version of link() now returns 1 on success, 0 or #-1 on failure. [MT]</li>
<li>owner() now accepts two optional arguments, allowing ownership to be changed as in <span class="citation" data-cites="chown">@chown</span> and <span class="citation" data-cites="atrchown">@atrchown</span>. [MT]</li>
<li>If compiled with libcurl support, adds <code>@http</code> for interacting with RESTFul web APIs. [SW]</li>
<li><code>stripaccents()</code> supports a second, smarter, transliteration algorithm.</li>
<li>If compiled with ICU support, adds <code>lcstr2()</code> and <code>ucstr2()</code> with proper support for characters like the German eszett (ß) that map to a different number of characters in different cases.</li>
</ul>
<h2 id="fixes">Fixes</h2>
<ul>
<li>A bunch of color names weren't mapping correctly to Xterm color codes. [SW]</li>
<li><code>@grep/iprint</code> hilites the matching text in the same case it appears in the attribute body. [SW, 1120]</li>
<li><code>@mail</code> wasn't updating a player's MAILCURF attribute correctly. [CLDawes, 1131]</li>
<li>Connecting with a web browser to a mush without a <code>mud_url</code> config option set caused an infinite refresh loop. Reported by grapenut. [1149]</li>
<li>Make sure <code>sigrecv_ack()</code> won't hang the mush if it somehow gets called at the wrong time. Also fix a file descriptor leak in the signal handling code. [SW]</li>
<li>Pass <code>pe_info</code> into IDLE and HAVEN attributes from the page command. [MG]</li>
<li>The x and X options to <code>align()</code> now always truncate to the column width, rather than incorrectly truncating at a space. Reported by Qon. [MG, 1178]</li>
<li><code>json_query()</code> didn't understand an action of 'type' as documented. [SW]</li>
<li><code>@clone</code> without /preserve wasn't stripping privileged flags and such. [1190,SW]</li>
<li><code>@chown/preserve</code> was resetting wiz-bit despite it's help file indicating otherwise. [1187] PR by Qon.</li>
<li><code>scan()</code> now determines if objects will be included based on whether the caller can examine them, rather than if <code>scan()</code>'s <code>&lt;looker&gt;</code> can examine them. [MG]</li>
<li>Fixed some bugs regarding when <code>setq()</code> will and won't let you set the values of named registers when you've hit the limit. [MG, 1179]</li>
<li><code>sqlescape()</code> when using a sqlite3 connection no longer also requires MySQL.</li>
<li>A number of issues in the handling UTF-8 text sent by clients have been fixed, as well as improvements in UTF-8 handling in general. [SW]</li>
</ul>
<h2 id="documentation">Documentation</h2>
<ul>
<li>Changelogs and other documentation use markup. [SW, 1140]</li>
<li>Start trying to clean up and revise ancient documentation. [1095]</li>
<li>Help fixes and improvements. [MG, SW, MT]</li>
<li>Help files are now in UTF-8.</li>
</ul>
<h2 id="os-specific">OS Specific</h2>
<h3 id="bsds-in-general">BSDs in general</h3>
<ul>
<li><code>info_slave</code> and <code>ssl_slave</code> use <code>kqueue()</code> to efficiently be notified of parent mush crashes.</li>
</ul>
<h3 id="openbsd">OpenBSD</h3>
<ul>
<li>netmush and slave processes use pledge(2) to limit their privileges. [SW]</li>
<li>netmush and slave processes use <code>pledge(2)</code> to limit their privileges. [SW]</li>
</ul>
<h3 id="windows">Windows</h3>
<ul>
Expand Down
7 changes: 7 additions & 0 deletions htmldocs/INSTALL.html
Expand Up @@ -72,6 +72,13 @@ <h1 id="installation-from-source">Installation from source</h1>
<li>On Unix systems, you need: A C compiler, perl, the minimum development packages required to compile programs (Linux distributions that don't come with gcc in the base install often need a package named glibc-dev).</li>
<li>A version of the PCRE regular expression library and any related development packages. (Debian and Ubuntu call them libpcre3 and libpcre3-dev).</li>
<li>A version of the OpenSSL library; most OSes these days come with it out of the box, but some might require a development package as well (libssl-dev, openssl-dev or some such name).</li>
<li>Development versions of a number of optional libraries are nice to have:
<ul>
<li>A sql client library for MySQL/MariaDB or Postgresql.</li>
<li>ICU (For enhanced Unicode support)</li>
<li>libevent (For ssl_slave)</li>
<li>libcurl (For <code>@http</code>)</li>
</ul></li>
<li>Run ./configure with any desired options (See ./configure --help or read below)</li>
<li>make update</li>
<li>make install</li>
Expand Down
2 changes: 1 addition & 1 deletion htmldocs/README.SQL.html
Expand Up @@ -64,7 +64,7 @@ <h2 id="postgresql">PostgresQL</h2>
<p>If you installed PostgresQL from a binary package (e.g. rpm or apt), you should be sure that your system also has the development package (usually postgresql-dev, or libpq or similar)</p>
<p>If you think you have PostgresQL libraries and header files but configure isn't finding them, they may be in an unusual location on your system, with <code>pg_config</code> not in your default path. Find its location (<code>where pg_config</code> if the program works for you, <code>find / -name pg_config</code> otherwise), and call configure with <code>--with-postgresql=/path/to/pg_config</code></p>
<h2 id="sqlite">Sqlite</h2>
<p>PennMUSH comes with Sqlite3 3.23.1 as part of its source. It is the suggested SQL engine for use with softcode unless you need the capabilities of one of the others.</p>
<p>PennMUSH comes with Sqlite3 3.24.0 as part of its source. It is the suggested SQL engine for use with softcode unless you need the capabilities of one of the others.</p>
<p>Sqlite3 is compiled with support for the RTree, FTS5 and JSON1 modules, and optionally has Unicode support if ICU is present (Though text in the results of a query is turned into Latin-1 by the MUSH, this still affects functions like UPPER()).</p>
<h1 id="mush-configuration-overview">MUSH configuration overview</h1>
<p>mush.cnf includes these directives that configure the SQL support:</p>
Expand Down

0 comments on commit 66e7ae5

Please sign in to comment.