This patch replaces "---" with "—" in the documentation, which is
the proper SGML character entity for an emdash.

Barring any objections, I'll apply this to HEAD before the end of the
day.

-Neil

# Old manifest: 01f0baf61d31b0bbe7563ce51fd262481b20ca57
# New manifest: fcb6532423fefa04824a2aefd07c4c9d7fe640b0
# Summary of changes:
# 
#   patch doc/src/sgml/array.sgml
#    from 1b00c69d094632ee14178f62930153152a3b2a94
#      to 8052e2bef3e4d6de12fee8706e9a7222830882ff
# 
#   patch doc/src/sgml/backup.sgml
#    from 9af3e51f96d332e564060493443e172f1f5c9b5f
#      to 40aa68c313f097cdbfa630864b86ee1a65fa65ae
# 
#   patch doc/src/sgml/catalogs.sgml
#    from 66daa1980d14077db9fef757878cc7f1ea9e6644
#      to 2a3562616974b84d37760722f88b70fec61a3de2
# 
#   patch doc/src/sgml/datetime.sgml
#    from 83ba94e01004142ff3d45998136e288848dad8a9
#      to f45c54ece8d562197f9cdae6d90c8d2e7e41e63a
# 
#   patch doc/src/sgml/ddl.sgml
#    from e96d2b97e6c97dbdbe1ff717839aa615efd8aede
#      to f29c9ba31362b3d5b84751266033742cc38cfa99
# 
#   patch doc/src/sgml/dfunc.sgml
#    from b171f77de7b0131997837f55c9b8d6be310e6075
#      to ad63f7cc25881541fc844617244df16725cf55a9
# 
#   patch doc/src/sgml/errcodes.sgml
#    from c068effaebafa7e86a8ef1ba81bb9e4d725ae379
#      to db00797ad0503ceb386a32fe2c1393ac9f86a234
# 
#   patch doc/src/sgml/func.sgml
#    from 928b2aec84c396c5282bf8138fe9a3accdbc981f
#      to 4e1580d4a478afd8c9a70df19940f387b989f09d
# 
#   patch doc/src/sgml/information_schema.sgml
#    from dd030182cb6072a4554c451087c99281ea5adb4b
#      to 890d3c6b5142e9f30cf87a837e317430e6ad8b3a
# 
#   patch doc/src/sgml/libpq.sgml
#    from 038396930b6d0ce26a9bdd546421b1825e2d0228
#      to 3bc6b064872ef91d95302029dd44a107c95c7f8e
# 
#   patch doc/src/sgml/maintenance.sgml
#    from aadb76dd1db108dd83304cbad49f6d7c35da8133
#      to 5fe574c7e81cdfc8bff67a30c94f6ceffe44ec5f
# 
#   patch doc/src/sgml/mvcc.sgml
#    from 7159f3aad786afa521484da9fb789f9a11c8af61
#      to 68951a11d2c7051dc2008ae40c543085e1012a90
# 
#   patch doc/src/sgml/perform.sgml
#    from 3f5b510224a48f2d56bc7fd6ae809eec171438e2
#      to 9f330a1a92bab64932253b7d5f14edadae523386
# 
#   patch doc/src/sgml/plpgsql.sgml
#    from cf091d56e4b1c9554030d61099592b52e935d138
#      to 08940a5da76b559f3a66136ab4523486481f08a1
# 
#   patch doc/src/sgml/protocol.sgml
#    from 148daace598d221b4fb1de5ed596c788993c3266
#      to bf8f3b8c0d4cf23aeba65dadfe70a2750487e2f0
# 
#   patch doc/src/sgml/queries.sgml
#    from 4418fed2dbdb2c5621812bb3915ace53fb67dd66
#      to fdd6f5d0a734e008276a12fb3a6a970b4f3febaf
# 
#   patch doc/src/sgml/query.sgml
#    from 3f6f4c6699fc8dd029ab5a7d27ad4e864d2cc406
#      to 288c88918d3587f565d710a84c49885c35efabbc
# 
#   patch doc/src/sgml/ref/cluster.sgml
#    from acfd092cabdfc6f19ac901df0bc83ab551373d39
#      to f6cfc959fcd35060bac1e3f6e6ae921204dc21e1
# 
#   patch doc/src/sgml/ref/copy.sgml
#    from 661348d43626b2871e203d74fa7f976acc346287
#      to 9fdc148930163d22540651fcfd0b07d4182f0158
# 
#   patch doc/src/sgml/ref/declare.sgml
#    from 9961dae87ac389f5fe7593f664c15af5c76ed6b2
#      to 689d73682b68411555b52f523191f2e45f9da7d7
# 
#   patch doc/src/sgml/ref/lock.sgml
#    from e3dd1be0b6efde957b6a8f992377ff8da559c632
#      to f0fbc57e3014961a6337ed2542cdd15ea6e749f0
# 
#   patch doc/src/sgml/ref/postgres-ref.sgml
#    from e9388954ebb8d59144cee0bdd06d5d05f75a7007
#      to d3010c3f04e96336e1bdc956b179bd7896b52785
# 
#   patch doc/src/sgml/regress.sgml
#    from 86a51990076a31765b7275e05ba8f14bffc88464
#      to b4ce3c46efb0c5b640ab3f1309b8cac9f9512dd1
# 
#   patch doc/src/sgml/rules.sgml
#    from cf9e537241a6ee657e9ec461cad9bc6d512d1fb4
#      to 136e5abe5960fd65b98901066f4cd9f1b68329c2
# 
#   patch doc/src/sgml/sources.sgml
#    from f8d57c8d127dde3ab613d2c985f553befa05d3a4
#      to d2bcbecbf2466dc9236b65310175c2c4b5baa104
# 
#   patch doc/src/sgml/sql.sgml
#    from bf7cdc3dd1e8b057afa7d1688ad7b13e42e45953
#      to 08953c131981ce3abc80c0028e11d0e1fe90d47a
# 
#   patch doc/src/sgml/syntax.sgml
#    from d9b5fe8f14229b801db59c7d138c19af0afcba1f
#      to 7f93fd4211e1f8cdffb42e0ff28954e1924e3129
# 
#   patch doc/src/sgml/wal.sgml
#    from 9aa672dfa9ed46c1330677d16cbd985b1e5cbaa9
#      to 30921a612739486af99e373e667ce7b1b882eb40
# 
#   patch doc/src/sgml/xaggr.sgml
#    from 91d56faa5dddf742a1bfc79a49a87d7a495a28c4
#      to e4c9732bf66e692185f9362a71b1737f97b77d5a
# 
#   patch doc/src/sgml/xfunc.sgml
#    from b73db6406df8b3d0196a9019753ac8596b8742f8
#      to e19cfec736613f3abc13362355e6a3a607a288a3
# 
#   patch doc/src/sgml/xindex.sgml
#    from 990371873d8aad33013647888af8add8b71bf5f9
#      to dbcf718a136c57fc75d6921137562cb2bfbf9248
# 
#   patch doc/src/sgml/xoper.sgml
#    from 063c6801cb4078757dccee5f799bce757e2dd12e
#      to e8f294f2be0d2c4f9f529aee7247471755c46897
# 
--- doc/src/sgml/array.sgml
+++ doc/src/sgml/array.sgml
@@ -49,7 +49,7 @@
 </programlisting>
 
   However, the current implementation does not enforce the array size
-  limits --- the behavior is the same as for arrays of unspecified
+  limits &mdash; the behavior is the same as for arrays of unspecified
   length.
  </para>
 
--- doc/src/sgml/backup.sgml
+++ doc/src/sgml/backup.sgml
@@ -499,7 +499,7 @@
     the administrator specify a shell command to be executed to copy a
     completed segment file to wherever it needs to go.  The command could be
     as simple as a <application>cp</>, or it could invoke a complex shell
-    script --- it's all up to you.
+    script &mdash; it's all up to you.
    </para>
 
    <para>
@@ -725,7 +725,7 @@
     last base backup, the interval between base backups should usually be
     chosen based on how much storage you want to expend on archived WAL
     files.  You should also consider how long you are prepared to spend
-    recovering, if recovery should be necessary --- the system will have to
+    recovering, if recovery should be necessary &mdash; the system will have to
     replay all those WAL segments, and that could take awhile if it has
     been a long time since the last base backup.
    </para>
--- doc/src/sgml/catalogs.sgml
+++ doc/src/sgml/catalogs.sgml
@@ -16,7 +16,7 @@
    Normally, one should not change the system catalogs by hand, there
    are always SQL commands to do that.  (For example, <command>CREATE
    DATABASE</command> inserts a row into the
-   <structname>pg_database</structname> catalog --- and actually
+   <structname>pg_database</structname> catalog &mdash; and actually
    creates the database on disk.)  There are some exceptions for
    particularly esoteric operations, such as adding index access methods.
   </para>
@@ -2509,7 +2509,7 @@
    not in its <structname>pg_opclass</structname> row, but in the associated
    rows in <structname>pg_amop</structname> and
    <structname>pg_amproc</structname>.  Those rows are considered to be
-   part of the operator class definition --- this is not unlike the way
+   part of the operator class definition &mdash; this is not unlike the way
    that a relation is defined by a single <structname>pg_class</structname>
    row plus associated rows in <structname>pg_attribute</structname> and
    other tables.
@@ -4275,7 +4275,7 @@
   <para>
    <structname>pg_stats</structname> is also designed to present the
    information in a more readable format than the underlying catalog
-   --- at the cost that its schema must be extended whenever new slot types
+   &mdash; at the cost that its schema must be extended whenever new slot types
    are defined for <structname>pg_statistic</structname>.
   </para>
 
--- doc/src/sgml/datetime.sgml
+++ doc/src/sgml/datetime.sgml
@@ -370,7 +370,7 @@
     <xref linkend="datetime-timezone-input-table"> shows the time zone
     abbreviations recognized by <productname>PostgreSQL</productname>
     in date/time input values.  Note that these names are <emphasis>not</>
-    used for date/time output --- display is driven by the currently
+    used for date/time output &mdash; display is driven by the currently
     selected <xref linkend="guc-timezone"> parameter setting.  (It is
     likely that future releases will make some use of <varname>timezone</>
     for input as well.)
--- doc/src/sgml/ddl.sgml
+++ doc/src/sgml/ddl.sgml
@@ -350,7 +350,7 @@
     identifiers are also 32-bit quantities.  This creates a hard limit
     of 2<superscript>32</> (4 billion) <acronym>SQL</acronym> commands
     within a single transaction.  In practice this limit is not a
-    problem --- note that the limit is on number of
+    problem &mdash; note that the limit is on number of
     <acronym>SQL</acronym> commands, not number of rows processed.
    </para>
  </sect1>
--- doc/src/sgml/dfunc.sgml
+++ doc/src/sgml/dfunc.sgml
@@ -38,7 +38,7 @@
   in memory when they are loaded by the executable.  (Object files
   intended for executables are usually not compiled that way.)  The
   command to link a shared library contains special flags to
-  distinguish it from linking an executable. --- At least this is the
+  distinguish it from linking an executable. &mdash; At least this is the
   theory.  On some systems the practice is much uglier.
  </para>
 
--- doc/src/sgml/errcodes.sgml
+++ doc/src/sgml/errcodes.sgml
@@ -125,7 +125,7 @@
 
 <row>
 <entry>Class 02</entry>
-<entry>No Data --- this is also a warning class per SQL99</entry>
+<entry>No Data &mdash; this is also a warning class per SQL99</entry>
 </row>
 
 <row>
--- doc/src/sgml/func.sgml
+++ doc/src/sgml/func.sgml
@@ -2793,7 +2793,7 @@
      if it is a member of the regular set described by the regular
      expression.  As with <function>LIKE</function>, pattern characters
      match string characters exactly unless they are special characters
-     in the regular expression language --- but regular expressions use
+     in the regular expression language &mdash; but regular expressions use
      different special characters than <function>LIKE</function> does.
      Unlike <function>LIKE</function> patterns, a
      regular expression is allowed to match anywhere within a string, unless
@@ -8425,7 +8425,7 @@
 SELECT pg_type_is_visible('myschema.widget'::regtype);
 </programlisting>
     Note that it would not make much sense to test an unqualified name in
-    this way --- if the name can be recognized at all, it must be visible.
+    this way &mdash; if the name can be recognized at all, it must be visible.
    </para>
 
    <indexterm zone="functions-info">
--- doc/src/sgml/information_schema.sgml
+++ doc/src/sgml/information_schema.sgml
@@ -11,7 +11,7 @@
   The information schema consists of a set of views that contain
   information about the objects defined in the current database.  The
   information schema is defined in the SQL standard and can therefore
-  be expected to be portable and remain stable --- unlike the system
+  be expected to be portable and remain stable &mdash; unlike the system
   catalogs, which are specific to
   <productname>PostgreSQL</productname> and are modelled after
   implementation concerns.  The information schema views do not,
--- doc/src/sgml/libpq.sgml
+++ doc/src/sgml/libpq.sgml
@@ -2252,7 +2252,7 @@
   <listitem>
   <para>
    Converts an escaped string representation of binary data into binary
-   data --- the reverse of <function>PQescapeBytea</function>.
+   data &mdash; the reverse of <function>PQescapeBytea</function>.
    This is needed when retrieving <type>bytea</type> data in text format,
    but not when retrieving it in binary format.
 
--- doc/src/sgml/maintenance.sgml
+++ doc/src/sgml/maintenance.sgml
@@ -117,7 +117,7 @@
     may be useful to set up periodic <application>cron</> tasks that
     <command>VACUUM</command> only selected tables, skipping tables that are known not to
     change often. This is only likely to be helpful if you have both
-    large heavily-updated tables and large seldom-updated tables --- the
+    large heavily-updated tables and large seldom-updated tables &mdash; the
     extra cost of vacuuming a small table isn't enough to be worth
     worrying about.
    </para>
@@ -151,7 +151,7 @@
     The standard form of <command>VACUUM</> is best used with the goal
     of maintaining a fairly level steady-state usage of disk space. If
     you need to return disk space to the operating system you can use
-    <command>VACUUM FULL</> --- but what's the point of releasing disk
+    <command>VACUUM FULL</> &mdash; but what's the point of releasing disk
     space that will only have to be allocated again soon?  Moderately
     frequent standard <command>VACUUM</> runs are a better approach
     than infrequent <command>VACUUM FULL</> runs for maintaining
@@ -278,7 +278,7 @@
     (32 bits at this writing) a cluster that runs for a long time (more
     than 4 billion transactions) will suffer <firstterm>transaction ID
     wraparound</>: the XID counter wraps around to zero, and all of a sudden
-    transactions that were in the past appear to be in the future --- which
+    transactions that were in the past appear to be in the future &mdash; which
     means their outputs become invisible.  In short, catastrophic data loss.
     (Actually the data is still there, but that's cold comfort if you can't
     get at it.)
@@ -337,7 +337,7 @@
     is exactly one billion transactions: if you wait longer, it's possible
     that a row version that was not quite old enough to be reassigned last time
     is now more than two billion transactions old and has wrapped around
-    into the future --- i.e., is lost to you.  (Of course, it'll reappear
+    into the future &mdash; i.e., is lost to you.  (Of course, it'll reappear
     after another two billion transactions, but that's no help.)
    </para>
 
--- doc/src/sgml/mvcc.sgml
+++ doc/src/sgml/mvcc.sgml
@@ -410,7 +410,7 @@
     The intuitive meaning (and mathematical definition) of
     <quote>serializable</> execution is that any two successfully committed
     concurrent transactions will appear to have executed strictly serially,
-    one after the other --- although which one appeared to occur first may
+    one after the other &mdash; although which one appeared to occur first may
     not be predictable in advance.  It is important to realize that forbidding
     the undesirable behaviors listed in <xref linkend="mvcc-isolevel-table">
     is not sufficient to guarantee true serializability, and in fact
@@ -524,7 +524,7 @@
     even if the name contains the word
     <quote>row</quote>; the names of the lock modes are historical.
     To some extent the names reflect the typical usage of each lock
-    mode --- but the semantics are all the same.  The only real difference
+    mode &mdash; but the semantics are all the same.  The only real difference
     between one lock mode and another is the set of lock modes with
     which each conflicts.  Two transactions cannot hold locks of conflicting
     modes on the same table at the same time.  (However, a transaction
@@ -895,7 +895,7 @@
     of transactions not counted by the first.  Doing the two sums in a
     single serializable transaction will give an accurate picture of the
     effects of transactions that committed before the serializable transaction
-    started --- but one might legitimately wonder whether the answer is still
+    started &mdash; but one might legitimately wonder whether the answer is still
     relevant by the time it is delivered.  If the serializable transaction
     itself applied some changes before trying to make the consistency check,
     the usefulness of the check becomes even more debatable, since now it
--- doc/src/sgml/perform.sgml
+++ doc/src/sgml/perform.sgml
@@ -576,7 +576,7 @@
    both for reducing planning time and for directing the planner to a
    good query plan.  If the planner chooses a bad join order by default,
    you can force it to choose a better order via <literal>JOIN</> syntax
-   --- assuming that you know of a better order, that is.  Experimentation
+   &mdash; assuming that you know of a better order, that is.  Experimentation
    is recommended.
   </para>
 
--- doc/src/sgml/plpgsql.sgml
+++ doc/src/sgml/plpgsql.sgml
@@ -129,7 +129,7 @@
         a parameter as the name of a table or column in an SQL command.  To get
         around this restriction, you can construct dynamic commands using
         the <application>PL/pgSQL</application> <command>EXECUTE</command>
-        statement --- at the price of constructing a new execution plan on
+        statement &mdash; at the price of constructing a new execution plan on
         every execution.
    </para>
 
@@ -499,7 +499,7 @@
      control.  <application>PL/pgSQL</>'s <command>BEGIN</>/<command>END</>
      are only for grouping; they do not start or end a transaction.
      Functions and trigger procedures are always executed within a transaction
-     established by an outer query --- they cannot start or commit that
+     established by an outer query &mdash; they cannot start or commit that
      transaction, since there would be no context for them to execute in.
      However, a block containing an <literal>EXCEPTION</> clause effectively
      forms a subtransaction that can be rolled back without affecting the
@@ -2359,7 +2359,7 @@
         <command>CREATE FUNCTION</> command, declaring it as a function with
         no arguments and a return type of <type>trigger</type>.  Note that
         the function must be declared with no arguments even if it expects
-        to receive arguments specified in <command>CREATE TRIGGER</> ---
+        to receive arguments specified in <command>CREATE TRIGGER</> &mdash;
         trigger arguments are passed via <varname>TG_ARGV</>, as described
         below.
   </para>
--- doc/src/sgml/protocol.sgml
+++ doc/src/sgml/protocol.sgml
@@ -775,7 +775,7 @@
     ErrorResponse, then reads and discards messages until a Sync is reached,
     then issues ReadyForQuery and returns to normal message processing.
     (But note that no skipping occurs if an error is detected
-    <emphasis>while</> processing Sync --- this ensures that there is one
+    <emphasis>while</> processing Sync &mdash; this ensures that there is one
     and only one ReadyForQuery sent for each Sync.)
    </para>
 
@@ -1034,7 +1034,7 @@
     value changes for any of the parameters the backend believes the
     frontend should know about.  Most commonly this occurs in response
     to a <command>SET</> SQL command executed by the frontend, and
-    this case is effectively synchronous --- but it is also possible
+    this case is effectively synchronous &mdash; but it is also possible
     for parameter status changes to occur because the administrator
     changed a configuration file and then sent the
     <systemitem>SIGHUP</systemitem> signal to the postmaster.  Also,
@@ -1119,7 +1119,7 @@
    </para>
 
    <Para>
-    The cancellation signal may or may not have any effect --- for
+    The cancellation signal may or may not have any effect &mdash; for
     example, if it arrives after the backend has finished processing
     the query, then it will have no effect.  If the cancellation is
     effective, it results in the current command being terminated
--- doc/src/sgml/queries.sgml
+++ doc/src/sgml/queries.sgml
@@ -135,7 +135,7 @@
     not only that table but all of its subtable successors, unless the
     key word <literal>ONLY</> precedes the table name.  However, the
     reference produces only the columns that appear in the named table
-    --- any columns added in subtables are ignored.
+    &mdash; any columns added in subtables are ignored.
    </para>
 
    <sect3 id="queries-join">
--- doc/src/sgml/query.sgml
+++ doc/src/sgml/query.sgml
@@ -37,7 +37,7 @@
 </screen>
 
     This creates the scripts and compiles the C files containing user-defined
-    functions and types.  (You must use GNU make for this --- it may be named
+    functions and types.  (You must use GNU make for this &mdash; it may be named
     something different on your system, often <application>gmake</>.)
     Then, to start the tutorial, do the following:
 
--- doc/src/sgml/ref/cluster.sgml
+++ doc/src/sgml/ref/cluster.sgml
@@ -159,7 +159,7 @@
     to rename <replaceable class="parameter">newtable</replaceable> to the old name, and
     recreate the table's indexes. However, this approach does not preserve
     OIDs, constraints, foreign key relationships, granted privileges, and
-    other ancillary properties of the table --- all such items must be
+    other ancillary properties of the table &mdash; all such items must be
     manually recreated.
    </para>
  </refsect1>
--- doc/src/sgml/ref/copy.sgml
+++ doc/src/sgml/ref/copy.sgml
@@ -538,7 +538,7 @@
       <term>Signature</term>
       <listitem>
        <para>
-11-byte sequence <literal>PGCOPY\n\377\r\n\0</> --- note that the zero byte
+11-byte sequence <literal>PGCOPY\n\377\r\n\0</> &mdash; note that the zero byte
 is a required part of the signature.  (The signature is designed to allow
 easy identification of files that have been munged by a non-8-bit-clean
 transfer.  This signature will be changed by end-of-line-translation
@@ -638,7 +638,7 @@
     <para>
 If OIDs are included in the file, the OID field immediately follows the
 field-count word.  It is a normal field except that it's not included
-in the field-count.  In particular it has a length word --- this will allow
+in the field-count.  In particular it has a length word &mdash; this will allow
 handling of 4-byte vs. 8-byte OIDs without too much pain, and will allow
 OIDs to be shown as null if that ever proves desirable.
     </para>
--- doc/src/sgml/ref/declare.sgml
+++ doc/src/sgml/ref/declare.sgml
@@ -78,7 +78,7 @@
     specifies whether data is to be retrieved in text or binary format.
     This choice overrides the way that the cursor is defined.  The concept
     of a binary cursor as such is thus obsolete when using extended query
-    protocol --- any cursor can be treated as either text or binary.
+    protocol &mdash; any cursor can be treated as either text or binary.
    </para>
   </note>
  </refsect1>
--- doc/src/sgml/ref/lock.sgml
+++ doc/src/sgml/ref/lock.sgml
@@ -71,7 +71,7 @@
    TABLE</> statement before executing any data modification
    statement.  A serializable transaction's view of data will be
    frozen when its first data modification statement begins.  A later
-   <command>LOCK TABLE</> will still prevent concurrent writes --- but it
+   <command>LOCK TABLE</> will still prevent concurrent writes &mdash; but it
    won't ensure that what the transaction reads corresponds to the
    latest committed values.
   </para>
@@ -85,7 +85,7 @@
    mode, and then be unable to also acquire <literal>ROW EXCLUSIVE</>
    mode to actually perform their updates.  (Note that a transaction's
    own locks never conflict, so a transaction can acquire <literal>ROW
-   EXCLUSIVE</> mode when it holds <literal>SHARE</> mode --- but not
+   EXCLUSIVE</> mode when it holds <literal>SHARE</> mode &mdash; but not
    if anyone else holds <literal>SHARE</> mode.)  To avoid deadlocks,
    make sure all transactions acquire locks on the same objects in the
    same order, and if multiple lock modes are involved for a single
--- doc/src/sgml/ref/postgres-ref.sgml
+++ doc/src/sgml/ref/postgres-ref.sgml
@@ -393,7 +393,7 @@
    <literal>SIGQUIT</literal> to terminate without the normal cleanup.
    These signals <emphasis>should not</emphasis> be used by users.  It is also
    unwise to send <literal>SIGKILL</literal> to a <command>postgres</command>
-   process --- the <command>postmaster</command> will interpret this as
+   process &mdash; the <command>postmaster</command> will interpret this as
    a crash in <command>postgres</command>, and will force all the sibling
    <command>postgres</command> processes to quit as part of its standard
    crash-recovery procedure.
--- doc/src/sgml/regress.sgml
+++ doc/src/sgml/regress.sgml
@@ -211,7 +211,7 @@
      fail if you run the test on the day of a daylight-saving time
      changeover, or the day after one.  These queries expect that
      the intervals between midnight yesterday, midnight today and
-     midnight tomorrow are exactly twenty-four hours --- which is wrong
+     midnight tomorrow are exactly twenty-four hours &mdash; which is wrong
      if daylight-saving time went into or out of effect meanwhile.
     </para>
 
--- doc/src/sgml/rules.sgml
+++ doc/src/sgml/rules.sgml
@@ -546,7 +546,7 @@
     the remaining range-table entries in the top query (in this example there
     are no more), and it will recursively check the range-table entries in
     the added subquery to see if any of them reference views.  (But it
-    won't expand <literal>*OLD*</> or <literal>*NEW*</> --- otherwise we'd have infinite recursion!)
+    won't expand <literal>*OLD*</> or <literal>*NEW*</> &mdash; otherwise we'd have infinite recursion!)
     In this example, there are no rewrite rules for <literal>shoelace_data</> or <literal>unit</>,
     so rewriting is complete and the above is the final result given to
     the planner.
--- doc/src/sgml/sources.sgml
+++ doc/src/sgml/sources.sgml
@@ -117,7 +117,7 @@
     error).  The <function>errcode</> call specifies the SQLSTATE error code
     using a macro defined in <filename>src/include/utils/errcodes.h</>.  The
     <function>errmsg</> call provides the primary message text.  Notice the
-    extra set of parentheses surrounding the auxiliary function calls ---
+    extra set of parentheses surrounding the auxiliary function calls &mdash;
     these are annoying but syntactically necessary.
    </para>
 
--- doc/src/sgml/sql.sgml
+++ doc/src/sgml/sql.sgml
@@ -1314,7 +1314,7 @@
      <para>
       <acronym>SQL</acronym> allows one to partition the tuples of a table
       into groups. Then the
-      aggregate operators described above can be applied to the groups ---
+      aggregate operators described above can be applied to the groups &mdash;
       i.e. the value of the aggregate operator is no longer calculated over
       all the values of the specified column but over all values of a
       group. Thus the aggregate operator is evaluated separately for every
--- doc/src/sgml/syntax.sgml
+++ doc/src/sgml/syntax.sgml
@@ -1259,7 +1259,7 @@
     The first form of aggregate expression invokes the aggregate
     across all input rows for which the given expression yields a
     non-null value.  (Actually, it is up to the aggregate function
-    whether to ignore null values or not --- but all the standard ones do.)
+    whether to ignore null values or not &mdash; but all the standard ones do.)
     The second form is the same as the first, since
     <literal>ALL</literal> is the default.  The third form invokes the
     aggregate for all distinct non-null values of the expression found
@@ -1546,7 +1546,7 @@
    <para>
     By default, the value created by a <literal>ROW</> expression is of
     an anonymous record type.  If necessary, it can be cast to a named
-    composite type --- either the rowtype of a table, or a composite type
+    composite type &mdash; either the rowtype of a table, or a composite type
     created with <command>CREATE TYPE AS</>.  An explicit cast may be needed
     to avoid ambiguity.  For example:
 <programlisting>
--- doc/src/sgml/wal.sgml
+++ doc/src/sgml/wal.sgml
@@ -87,7 +87,7 @@
     we simply install a prior physical backup of the database, and
     replay the WAL log just as far as the desired time.  What's more,
     the physical backup doesn't have to be an instantaneous snapshot
-    of the database state --- if it is made over some period of time,
+    of the database state &mdash; if it is made over some period of time,
     then replaying the WAL log for that period will fix any internal
     inconsistencies.
    </para>
--- doc/src/sgml/xaggr.sgml
+++ doc/src/sgml/xaggr.sgml
@@ -67,7 +67,7 @@
   <para>
    The above definition of <function>sum</function> will return zero (the initial
    state condition) if there are no nonnull input values.
-   Perhaps we want to return null in that case instead --- the SQL standard
+   Perhaps we want to return null in that case instead &mdash; the SQL standard
    expects <function>sum</function> to behave that way.  We can do this simply by
    omitting the <literal>initcond</literal> phrase, so that the initial state
    condition is null.  Ordinarily this would mean that the <literal>sfunc</literal>
--- doc/src/sgml/xfunc.sgml
+++ doc/src/sgml/xfunc.sgml
@@ -702,7 +702,7 @@
     compiled into dynamically loadable objects (also called shared
     libraries) and are loaded by the server on demand.  The dynamic
     loading feature is what distinguishes <quote>C language</> functions
-    from <quote>internal</> functions --- the actual coding conventions
+    from <quote>internal</> functions &mdash; the actual coding conventions
     are essentially the same for both.  (Hence, the standard internal
     function library is a rich source of coding examples for user-defined
     C functions.)
@@ -1170,7 +1170,7 @@
     <title>Calling Conventions Version 0 for C-Language Functions</title>
 
     <para>
-     We present the <quote>old style</quote> calling convention first --- although
+     We present the <quote>old style</quote> calling convention first &mdash; although
      this approach is now deprecated, it's easier to get a handle on
      initially.  In the version-0 method, the arguments and result
      of the C function are just declared in normal C style, but being
@@ -1971,7 +1971,7 @@
 </programlisting>
      if you plan to work with C strings.  If you are writing a function
      returning set, you can save the results of these functions in the
-     <structname>FuncCallContext</> structure --- use the
+     <structname>FuncCallContext</> structure &mdash; use the
      <structfield>tuple_desc</> or <structfield>attinmeta</> field
      respectively.
     </para>
--- doc/src/sgml/xindex.sgml
+++ doc/src/sgml/xindex.sgml
@@ -42,7 +42,7 @@
    <productname>PostgreSQL</productname>, but all index methods are
    described in <classname>pg_am</classname>.  It is possible to add a
    new index method by defining the required interface routines and
-   then creating a row in <classname>pg_am</classname> --- but that is
+   then creating a row in <classname>pg_am</classname> &mdash; but that is
    far beyond the scope of this chapter.
   </para>
 
@@ -745,7 +745,7 @@
    Consider again the situation where we are storing in the index only
    the bounding box of a complex object such as a polygon.  In this
    case there's not much value in storing the whole polygon in the index
-   entry --- we may as well store just a simpler object of type
+   entry &mdash; we may as well store just a simpler object of type
    <type>box</>.  This situation is expressed by the <literal>STORAGE</>
    option in <command>CREATE OPERATOR CLASS</>: we'd write something like
 
--- doc/src/sgml/xoper.sgml
+++ doc/src/sgml/xoper.sgml
@@ -132,7 +132,7 @@
      <literal>tab2.y = tab1.x</>, because the index-scan machinery expects
      to see the indexed column on the left of the operator it is given.
      <ProductName>PostgreSQL</ProductName> will <emphasis>not</> simply
-     assume that this is a valid transformation --- the creator of the
+     assume that this is a valid transformation &mdash; the creator of the
      <literal>=</> operator must specify that it is valid, by marking the
      operator with commutator information.
     </para>
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to