Changeset 14799


Ignore:
Timestamp:
May 14, 2011, 4:00:25 PM (8 years ago)
Author:
gb
Message:

updated

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/doc/ccl-documentation.html

    r14795 r14799  
    66    <title>Clozure CL Documentation</title>
    77    <meta name="generator" content="DocBook XSL Stylesheets V1.75.2" />
    8     <link rel="home" href="#id435872" title="Clozure CL Documentation" />
     8    <link rel="home" href="#id590940" title="Clozure CL Documentation" />
    99    <link rel="next" href="#about-ccl" title="Chapter 1. About Clozure CL" />
    1010  </head>
     
    1414        <div>
    1515          <div>
    16             <h1 class="title"><a id="id435872"></a>Clozure CL Documentation</h1>
     16            <h1 class="title"><a id="id590940"></a>Clozure CL Documentation</h1>
    1717          </div>
    1818        </div>
     
    233233          <dt>
    234234            <span class="chapter">
    235               <a href="#Programming-with-Threads">6. Programming with Threads</a>
     235              <a href="#HemlockProgramming">6. Hemlock Programming</a>
    236236            </span>
    237237          </dt>
     
    240240              <dt>
    241241                <span class="sect1">
    242                   <a href="#Threads-overview">6.1. Threads Overview</a>
     242                  <a href="#HemlockProgrammingIntroduction">6.1. Introduction</a>
    243243                </span>
    244244              </dt>
    245245              <dt>
    246246                <span class="sect1">
    247                   <a href="#Intentionally--Missing-Functionality">6.2. (Intentionally) Missing Functionality</a>
     247                  <a href="#HemlockProgrammingRepresentationOfText">6.2. Representation of Text</a>
    248248                </span>
    249249              </dt>
    250250              <dt>
    251251                <span class="sect1">
    252                   <a href="#Implementation-Decisions-and-Open-Questions">6.3. Implementation Decisions and Open Questions</a>
     252                  <a href="#HemlockProgrammingBuffers">6.3. Buffers</a>
    253253                </span>
    254254              </dt>
    255255              <dt>
    256256                <span class="sect1">
    257                   <a href="#Porting-Code-from-the-Old-Thread-Model">6.4. Porting Code from the Old Thread Model</a>
     257                  <a href="#HemlockProgrammingAlteringAndSearchingText">6.4. Altering and Searching Text</a>
    258258                </span>
    259259              </dt>
    260260              <dt>
    261261                <span class="sect1">
    262                   <a href="#Background-Terminal-Input">6.5. Background Terminal Input</a>
     262                  <a href="#HemlockProgrammingTheCurrentEnvironment">6.5. The Current Environment</a>
    263263                </span>
    264264              </dt>
    265265              <dt>
    266266                <span class="sect1">
    267                   <a href="#The-Threads-which-CCL-Uses-for-Its-Own-Purposes">6.6. The Threads which Clozure CL Uses for Its Own Purposes</a>
     267                  <a href="#HemlockProgrammingHemlockVariables">6.6. Hemlock Variables</a>
    268268                </span>
    269269              </dt>
    270270              <dt>
    271271                <span class="sect1">
    272                   <a href="#Threads-Dictionary">6.7. Threads Dictionary</a>
     272                  <a href="#HemlockProgrammingCommands">6.7. Commands</a>
     273                </span>
     274              </dt>
     275              <dt>
     276                <span class="sect1">
     277                  <a href="#HemlockProgrammingModes">6.8. Modes</a>
     278                </span>
     279              </dt>
     280              <dt>
     281                <span class="sect1">
     282                  <a href="#HemlockProgrammingCharacterAttributes">6.9. Character Attributes</a>
     283                </span>
     284              </dt>
     285              <dt>
     286                <span class="sect1">
     287                  <a href="#HemlockProgrammingControllingTheDisplay">6.10. Controlling the Display</a>
     288                </span>
     289              </dt>
     290              <dt>
     291                <span class="sect1">
     292                  <a href="#HemlockProgrammingLogicalKeyEvents">6.11. Logical Key-Events</a>
     293                </span>
     294              </dt>
     295              <dt>
     296                <span class="sect1">
     297                  <a href="#EchoArea">6.12. The Echo Area</a>
     298                </span>
     299              </dt>
     300              <dt>
     301                <span class="sect1">
     302                  <a href="#Files">6.13. Files</a>
     303                </span>
     304              </dt>
     305              <dt>
     306                <span class="sect1">
     307                  <a href="#HemlockProgrammingHemlockSLispEnvironment">6.14. Hemlock's Lisp Environment</a>
     308                </span>
     309              </dt>
     310              <dt>
     311                <span class="sect1">
     312                  <a href="#HemlockProgrammingHighLevelTextPrimitives">6.15. High-Level Text Primitives</a>
     313                </span>
     314              </dt>
     315              <dt>
     316                <span class="sect1">
     317                  <a href="#HemlockProgrammingUtilities">6.16. Utilities</a>
     318                </span>
     319              </dt>
     320              <dt>
     321                <span class="sect1">
     322                  <a href="#HemlockProgrammingMiscellaneous">6.17. Miscellaneous</a>
    273323                </span>
    274324              </dt>
     
    277327          <dt>
    278328            <span class="chapter">
    279               <a href="#Programming-with-Sockets">7. Programming with Sockets</a>
     329              <a href="#Programming-with-Threads">7. Programming with Threads</a>
    280330            </span>
    281331          </dt>
     
    284334              <dt>
    285335                <span class="sect1">
    286                   <a href="#Sockets-Overview">7.1. Overview</a>
     336                  <a href="#Threads-overview">7.1. Threads Overview</a>
    287337                </span>
    288338              </dt>
    289339              <dt>
    290340                <span class="sect1">
    291                   <a href="#Sockets-Dictionary">7.2. Sockets Dictionary</a>
     341                  <a href="#Intentionally--Missing-Functionality">7.2. (Intentionally) Missing Functionality</a>
     342                </span>
     343              </dt>
     344              <dt>
     345                <span class="sect1">
     346                  <a href="#Implementation-Decisions-and-Open-Questions">7.3. Implementation Decisions and Open Questions</a>
     347                </span>
     348              </dt>
     349              <dt>
     350                <span class="sect1">
     351                  <a href="#Porting-Code-from-the-Old-Thread-Model">7.4. Porting Code from the Old Thread Model</a>
     352                </span>
     353              </dt>
     354              <dt>
     355                <span class="sect1">
     356                  <a href="#Background-Terminal-Input">7.5. Background Terminal Input</a>
     357                </span>
     358              </dt>
     359              <dt>
     360                <span class="sect1">
     361                  <a href="#The-Threads-which-CCL-Uses-for-Its-Own-Purposes">7.6. The Threads which Clozure CL Uses for Its Own Purposes</a>
     362                </span>
     363              </dt>
     364              <dt>
     365                <span class="sect1">
     366                  <a href="#Threads-Dictionary">7.7. Threads Dictionary</a>
    292367                </span>
    293368              </dt>
     
    296371          <dt>
    297372            <span class="chapter">
    298               <a href="#Running-Other-Programs-as-Subprocesses">8. Running Other Programs as Subprocesses</a>
     373              <a href="#Programming-with-Sockets">8. Programming with Sockets</a>
    299374            </span>
    300375          </dt>
     
    303378              <dt>
    304379                <span class="sect1">
    305                   <a href="#Subprocess-Overview">8.1. Overview</a>
     380                  <a href="#Sockets-Overview">8.1. Overview</a>
    306381                </span>
    307382              </dt>
    308383              <dt>
    309384                <span class="sect1">
    310                   <a href="#Subprocess-Examples">8.2. Examples</a>
    311                 </span>
    312               </dt>
    313               <dt>
    314                 <span class="sect1">
    315                   <a href="#Limitations-and-known-bugs">8.3. Limitations and known bugs</a>
    316                 </span>
    317               </dt>
    318               <dt>
    319                 <span class="sect1">
    320                   <a href="#External-Program-Dictionary">8.4. External-Program Dictionary</a>
     385                  <a href="#Sockets-Dictionary">8.2. Sockets Dictionary</a>
    321386                </span>
    322387              </dt>
     
    325390          <dt>
    326391            <span class="chapter">
    327               <a href="#Streams">9. Streams</a>
     392              <a href="#Running-Other-Programs-as-Subprocesses">9. Running Other Programs as Subprocesses</a>
    328393            </span>
    329394          </dt>
     
    332397              <dt>
    333398                <span class="sect1">
    334                   <a href="#CCL-Stream-Extensions">9.1. Stream Extensions</a>
     399                  <a href="#Subprocess-Overview">9.1. Overview</a>
    335400                </span>
    336401              </dt>
    337402              <dt>
    338403                <span class="sect1">
    339                   <a href="#Creating-Your-Own-Stream-Classes-with-Gray-Streams">9.2. Creating Your Own Stream Classes with Gray Streams</a>
     404                  <a href="#Subprocess-Examples">9.2. Examples</a>
     405                </span>
     406              </dt>
     407              <dt>
     408                <span class="sect1">
     409                  <a href="#Limitations-and-known-bugs">9.3. Limitations and known bugs</a>
     410                </span>
     411              </dt>
     412              <dt>
     413                <span class="sect1">
     414                  <a href="#External-Program-Dictionary">9.4. External-Program Dictionary</a>
    340415                </span>
    341416              </dt>
     
    344419          <dt>
    345420            <span class="chapter">
    346               <a href="#Writing-Portable-Extensions-to-the-Object-System-using-the-MetaObject-Protocol">10. Writing Portable Extensions to the Object System  using the MetaObject Protocol</a>
     421              <a href="#Streams">10. Streams</a>
    347422            </span>
    348423          </dt>
     
    351426              <dt>
    352427                <span class="sect1">
    353                   <a href="#MOP-Overview">10.1. Overview</a>
     428                  <a href="#CCL-Stream-Extensions">10.1. Stream Extensions</a>
    354429                </span>
    355430              </dt>
    356431              <dt>
    357432                <span class="sect1">
    358                   <a href="#MOP-Implementation-status">10.2. Implementation status</a>
    359                 </span>
    360               </dt>
    361               <dt>
    362                 <span class="sect1">
    363                   <a href="#Concurrency-issues">10.3. Concurrency issues</a>
     433                  <a href="#Creating-Your-Own-Stream-Classes-with-Gray-Streams">10.2. Creating Your Own Stream Classes with Gray Streams</a>
    364434                </span>
    365435              </dt>
     
    368438          <dt>
    369439            <span class="chapter">
    370               <a href="#Profiling">11. Profiling</a>
     440              <a href="#Writing-Portable-Extensions-to-the-Object-System-using-the-MetaObject-Protocol">11. Writing Portable Extensions to the Object System  using the MetaObject Protocol</a>
    371441            </span>
    372442          </dt>
     
    375445              <dt>
    376446                <span class="sect1">
    377                   <a href="#Profiling-Using-the-Linux-oprofile-system-level-profiler">11.1. Using the Linux oprofile system-level profiler</a>
     447                  <a href="#MOP-Overview">11.1. Overview</a>
    378448                </span>
    379449              </dt>
    380450              <dt>
    381451                <span class="sect1">
    382                   <a href="#Profiling-Using-Apples-CHUD-metering-tools">11.2. Using Apple's CHUD metering tools</a>
     452                  <a href="#MOP-Implementation-status">11.2. Implementation status</a>
     453                </span>
     454              </dt>
     455              <dt>
     456                <span class="sect1">
     457                  <a href="#Concurrency-issues">11.3. Concurrency issues</a>
    383458                </span>
    384459              </dt>
     
    387462          <dt>
    388463            <span class="chapter">
    389               <a href="#The-Foreign-Function-Interface">12. The Foreign-Function Interface</a>
     464              <a href="#Profiling">12. Profiling</a>
    390465            </span>
    391466          </dt>
     
    394469              <dt>
    395470                <span class="sect1">
    396                   <a href="#Specifying-And-Using-Foreign-Types">12.1. Specifying And Using Foreign Types</a>
     471                  <a href="#Profiling-Using-the-Linux-oprofile-system-level-profiler">12.1. Using the Linux oprofile system-level profiler</a>
    397472                </span>
    398473              </dt>
    399474              <dt>
    400475                <span class="sect1">
    401                   <a href="#Foreign-Function-Calls">12.2. Foreign Function Calls</a>
    402                 </span>
    403               </dt>
    404               <dt>
    405                 <span class="sect1">
    406                   <a href="#Referencing-and-Using-Foreign-Memory-Addresses">12.3. Referencing and Using Foreign Memory Addresses</a>
    407                 </span>
    408               </dt>
    409               <dt>
    410                 <span class="sect1">
    411                   <a href="#The-Interface-Database">12.4. The Interface Database</a>
    412                 </span>
    413               </dt>
    414               <dt>
    415                 <span class="sect1">
    416                   <a href="#Using-Interface-Directories">12.5. Using Interface Directories</a>
    417                 </span>
    418               </dt>
    419               <dt>
    420                 <span class="sect1">
    421                   <a href="#Using-Shared-Libraries">12.6. Using Shared Libraries</a>
    422                 </span>
    423               </dt>
    424               <dt>
    425                 <span class="sect1">
    426                   <a href="#The-Interface-Translator">12.7. The Interface Translator</a>
    427                 </span>
    428               </dt>
    429               <dt>
    430                 <span class="sect1">
    431                   <a href="#Case-sensitivity-of-foreign-names-in-CCL">12.8. Case-sensitivity of foreign names in <code class="literal">CCL</code></a>
    432                 </span>
    433               </dt>
    434               <dt>
    435                 <span class="sect1">
    436                   <a href="#Reading-Foreign-Names">12.9. Reading Foreign Names</a>
    437                 </span>
    438               </dt>
    439               <dt>
    440                 <span class="sect1">
    441                   <a href="#Tutorial--Using-Basic-Calls-and-Types">12.10. Tutorial: Using Basic Calls and Types</a>
    442                 </span>
    443               </dt>
    444               <dt>
    445                 <span class="sect1">
    446                   <a href="#Tutorial--Allocating-Foreign-Data-on-the-Lisp-Heap">12.11. Tutorial: Allocating Foreign Data on the Lisp Heap </a>
    447                 </span>
    448               </dt>
    449               <dt>
    450                 <span class="sect1">
    451                   <a href="#Foreign-Function-Interface-Dictionary">12.12. The Foreign-Function-Interface Dictionary</a>
     476                  <a href="#Profiling-Using-Apples-CHUD-metering-tools">12.2. Using Apple's CHUD metering tools</a>
    452477                </span>
    453478              </dt>
     
    456481          <dt>
    457482            <span class="chapter">
    458               <a href="#The-Objective-C-Bridge">13. The Objective-C Bridge</a>
     483              <a href="#The-Foreign-Function-Interface">13. The Foreign-Function Interface</a>
    459484            </span>
    460485          </dt>
     
    463488              <dt>
    464489                <span class="sect1">
    465                   <a href="#Objective-C-Changes-1.2">13.1. Changes in 1.2</a>
     490                  <a href="#Specifying-And-Using-Foreign-Types">13.1. Specifying And Using Foreign Types</a>
    466491                </span>
    467492              </dt>
    468493              <dt>
    469494                <span class="sect1">
    470                   <a href="#Using-Objective-C-Classes">13.2. Using Objective-C Classes</a>
     495                  <a href="#Foreign-Function-Calls">13.2. Foreign Function Calls</a>
    471496                </span>
    472497              </dt>
    473498              <dt>
    474499                <span class="sect1">
    475                   <a href="#Instantiating-Objective-C-Objects">13.3. Instantiating Objective-C Objects</a>
     500                  <a href="#Referencing-and-Using-Foreign-Memory-Addresses">13.3. Referencing and Using Foreign Memory Addresses</a>
    476501                </span>
    477502              </dt>
    478503              <dt>
    479504                <span class="sect1">
    480                   <a href="#Calling-Objective-C-Methods">13.4. Calling Objective-C Methods</a>
     505                  <a href="#The-Interface-Database">13.4. The Interface Database</a>
    481506                </span>
    482507              </dt>
    483508              <dt>
    484509                <span class="sect1">
    485                   <a href="#Defining-Objective-C-Classes">13.5. Defining Objective-C Classes</a>
     510                  <a href="#Using-Interface-Directories">13.5. Using Interface Directories</a>
    486511                </span>
    487512              </dt>
    488513              <dt>
    489514                <span class="sect1">
    490                   <a href="#Defining-Objective-C-Methods">13.6. Defining Objective-C Methods</a>
     515                  <a href="#Using-Shared-Libraries">13.6. Using Shared Libraries</a>
    491516                </span>
    492517              </dt>
    493518              <dt>
    494519                <span class="sect1">
    495                   <a href="#Loading-Objc-Frameworks">13.7. Loading Frameworks</a>
     520                  <a href="#The-Interface-Translator">13.7. The Interface Translator</a>
    496521                </span>
    497522              </dt>
    498523              <dt>
    499524                <span class="sect1">
    500                   <a href="#How-Objective-C-Names-are-Mapped-to-Lisp-Symbols">13.8. How Objective-C Names are Mapped to Lisp Symbols</a>
     525                  <a href="#Case-sensitivity-of-foreign-names-in-CCL">13.8. Case-sensitivity of foreign names in <code class="literal">CCL</code></a>
     526                </span>
     527              </dt>
     528              <dt>
     529                <span class="sect1">
     530                  <a href="#Reading-Foreign-Names">13.9. Reading Foreign Names</a>
     531                </span>
     532              </dt>
     533              <dt>
     534                <span class="sect1">
     535                  <a href="#Tutorial--Using-Basic-Calls-and-Types">13.10. Tutorial: Using Basic Calls and Types</a>
     536                </span>
     537              </dt>
     538              <dt>
     539                <span class="sect1">
     540                  <a href="#Tutorial--Allocating-Foreign-Data-on-the-Lisp-Heap">13.11. Tutorial: Allocating Foreign Data on the Lisp Heap </a>
     541                </span>
     542              </dt>
     543              <dt>
     544                <span class="sect1">
     545                  <a href="#Foreign-Function-Interface-Dictionary">13.12. The Foreign-Function-Interface Dictionary</a>
    501546                </span>
    502547              </dt>
     
    505550          <dt>
    506551            <span class="chapter">
    507               <a href="#Platform-specific-notes">14. Platform-specific notes</a>
     552              <a href="#The-Objective-C-Bridge">14. The Objective-C Bridge</a>
    508553            </span>
    509554          </dt>
     
    512557              <dt>
    513558                <span class="sect1">
    514                   <a href="#Platform-specific-overview">14.1. Overview</a>
     559                  <a href="#Objective-C-Changes-1.2">14.1. Changes in 1.2</a>
    515560                </span>
    516561              </dt>
    517562              <dt>
    518563                <span class="sect1">
    519                   <a href="#Unix-Posix-Darwin-Features">14.2. Unix/Posix/Darwin Features</a>
     564                  <a href="#Using-Objective-C-Classes">14.2. Using Objective-C Classes</a>
    520565                </span>
    521566              </dt>
    522567              <dt>
    523568                <span class="sect1">
    524                   <a href="#Cocoa-Programming-in-CCL">14.3. Cocoa Programming in Clozure CL</a>
     569                  <a href="#Instantiating-Objective-C-Objects">14.3. Instantiating Objective-C Objects</a>
    525570                </span>
    526571              </dt>
    527572              <dt>
    528573                <span class="sect1">
    529                   <a href="#Building-an-Application-Bundle">14.4. Building an Application Bundle</a>
     574                  <a href="#Calling-Objective-C-Methods">14.4. Calling Objective-C Methods</a>
    530575                </span>
    531576              </dt>
    532577              <dt>
    533578                <span class="sect1">
    534                   <a href="#Recommended-Reading">14.5. Recommended Reading</a>
     579                  <a href="#Defining-Objective-C-Classes">14.5. Defining Objective-C Classes</a>
    535580                </span>
    536581              </dt>
    537582              <dt>
    538583                <span class="sect1">
    539                   <a href="#Operating-System-Dictionary">14.6. Operating-System Dictionary</a>
     584                  <a href="#Defining-Objective-C-Methods">14.6. Defining Objective-C Methods</a>
     585                </span>
     586              </dt>
     587              <dt>
     588                <span class="sect1">
     589                  <a href="#Loading-Objc-Frameworks">14.7. Loading Frameworks</a>
     590                </span>
     591              </dt>
     592              <dt>
     593                <span class="sect1">
     594                  <a href="#How-Objective-C-Names-are-Mapped-to-Lisp-Symbols">14.8. How Objective-C Names are Mapped to Lisp Symbols</a>
    540595                </span>
    541596              </dt>
     
    544599          <dt>
    545600            <span class="chapter">
    546               <a href="#Understanding-and-Configuring-the-Garbage-Collector">15. Understanding and Configuring the Garbage Collector</a>
     601              <a href="#Platform-specific-notes">15. Platform-specific notes</a>
    547602            </span>
    548603          </dt>
     
    551606              <dt>
    552607                <span class="sect1">
    553                   <a href="#Heap-space-allocation">15.1. Heap space allocation</a>
     608                  <a href="#Platform-specific-overview">15.1. Overview</a>
    554609                </span>
    555610              </dt>
    556611              <dt>
    557612                <span class="sect1">
    558                   <a href="#The-Ephemeral-GC">15.2. The Ephemeral GC</a>
     613                  <a href="#Unix-Posix-Darwin-Features">15.2. Unix/Posix/Darwin Features</a>
    559614                </span>
    560615              </dt>
    561616              <dt>
    562617                <span class="sect1">
    563                   <a href="#GC-Page-reclamation-policy">15.3. GC Page reclamation policy</a>
     618                  <a href="#Cocoa-Programming-in-CCL">15.3. Cocoa Programming in Clozure CL</a>
    564619                </span>
    565620              </dt>
    566621              <dt>
    567622                <span class="sect1">
    568                   <a href="#iPure--areas-are-read-only--paged-from-image-file">15.4. "Pure" areas are read-only, paged from image file</a>
     623                  <a href="#Building-an-Application-Bundle">15.4. Building an Application Bundle</a>
    569624                </span>
    570625              </dt>
    571626              <dt>
    572627                <span class="sect1">
    573                   <a href="#Weak-References">15.5. Weak References</a>
     628                  <a href="#Recommended-Reading">15.5. Recommended Reading</a>
    574629                </span>
    575630              </dt>
    576631              <dt>
    577632                <span class="sect1">
    578                   <a href="#Weak-References-Dictionary">15.6. Weak References Dictionary</a>
    579                 </span>
    580               </dt>
    581               <dt>
    582                 <span class="sect1">
    583                   <a href="#Garbage-Collection-Dictionary">15.7. Garbage-Collection Dictionary</a>
     633                  <a href="#Operating-System-Dictionary">15.6. Operating-System Dictionary</a>
    584634                </span>
    585635              </dt>
     
    588638          <dt>
    589639            <span class="chapter">
    590               <a href="#Implementation-Details-of-CCL">16. Implementation Details of Clozure CL</a>
     640              <a href="#Understanding-and-Configuring-the-Garbage-Collector">16. Understanding and Configuring the Garbage Collector</a>
    591641            </span>
    592642          </dt>
     
    595645              <dt>
    596646                <span class="sect1">
    597                   <a href="#Threads-and-exceptions">16.1. Threads and exceptions</a>
     647                  <a href="#Heap-space-allocation">16.1. Heap space allocation</a>
    598648                </span>
    599649              </dt>
    600650              <dt>
    601651                <span class="sect1">
    602                   <a href="#Register-usage-and-tagging">16.2. Register usage and tagging</a>
     652                  <a href="#The-Ephemeral-GC">16.2. The Ephemeral GC</a>
    603653                </span>
    604654              </dt>
    605655              <dt>
    606656                <span class="sect1">
    607                   <a href="#Heap-Allocation">16.3. Heap Allocation</a>
     657                  <a href="#GC-Page-reclamation-policy">16.3. GC Page reclamation policy</a>
    608658                </span>
    609659              </dt>
    610660              <dt>
    611661                <span class="sect1">
    612                   <a href="#GC-details">16.4. GC details</a>
     662                  <a href="#iPure--areas-are-read-only--paged-from-image-file">16.4. "Pure" areas are read-only, paged from image file</a>
    613663                </span>
    614664              </dt>
    615665              <dt>
    616666                <span class="sect1">
    617                   <a href="#The-ephemeral-GC">16.5. The ephemeral GC</a>
     667                  <a href="#Weak-References">16.5. Weak References</a>
    618668                </span>
    619669              </dt>
    620670              <dt>
    621671                <span class="sect1">
    622                   <a href="#Fasl-files">16.6. Fasl files</a>
     672                  <a href="#Weak-References-Dictionary">16.6. Weak References Dictionary</a>
    623673                </span>
    624674              </dt>
    625675              <dt>
    626676                <span class="sect1">
    627                   <a href="#The-Objective-C-Bridge--1-">16.7. The Objective-C Bridge</a>
     677                  <a href="#Garbage-Collection-Dictionary">16.7. Garbage-Collection Dictionary</a>
    628678                </span>
    629679              </dt>
     
    632682          <dt>
    633683            <span class="chapter">
    634               <a href="#Modifying-CCL">17. Modifying Clozure CL</a>
     684              <a href="#Implementation-Details-of-CCL">17. Implementation Details of Clozure CL</a>
    635685            </span>
    636686          </dt>
     
    639689              <dt>
    640690                <span class="sect1">
    641                   <a href="#Contributing-Code-Back-to-the-CCL-Project">17.1. Contributing Code Back to the Clozure CL Project</a>
     691                  <a href="#Threads-and-exceptions">17.1. Threads and exceptions</a>
    642692                </span>
    643693              </dt>
    644694              <dt>
    645695                <span class="sect1">
    646                   <a href="#Using-CCL-in--development--and-in--user--mode">17.2. Using Clozure CL in "development" and in  "user" mode</a>
     696                  <a href="#Register-usage-and-tagging">17.2. Register usage and tagging</a>
    647697                </span>
    648698              </dt>
    649699              <dt>
    650700                <span class="sect1">
    651                   <a href="#kernel-debugger">17.3. The Kernel Debugger</a>
     701                  <a href="#Heap-Allocation">17.3. Heap Allocation</a>
    652702                </span>
    653703              </dt>
    654704              <dt>
    655705                <span class="sect1">
    656                   <a href="#Using-AltiVec-in-CCL-LAP-functions">17.4. Using AltiVec in Clozure CL LAP functions</a>
     706                  <a href="#GC-details">17.4. GC details</a>
    657707                </span>
    658708              </dt>
    659709              <dt>
    660710                <span class="sect1">
    661                   <a href="#Development-Mode-Dictionary">17.5. Development-Mode Dictionary</a>
     711                  <a href="#The-ephemeral-GC">17.5. The ephemeral GC</a>
     712                </span>
     713              </dt>
     714              <dt>
     715                <span class="sect1">
     716                  <a href="#Fasl-files">17.6. Fasl files</a>
     717                </span>
     718              </dt>
     719              <dt>
     720                <span class="sect1">
     721                  <a href="#The-Objective-C-Bridge--1-">17.7. The Objective-C Bridge</a>
    662722                </span>
    663723              </dt>
     
    666726          <dt>
    667727            <span class="chapter">
    668               <a href="#Questions-and-Answers">18. Questions and Answers</a>
     728              <a href="#Modifying-CCL">18. Modifying Clozure CL</a>
    669729            </span>
    670730          </dt>
     
    673733              <dt>
    674734                <span class="sect1">
    675                   <a href="#How-can-I-do-nonblocking--aka--unbuffered--and--raw---IO-">18.1. How can I do nonblocking (aka "unbuffered" and "raw") IO?</a>
     735                  <a href="#Contributing-Code-Back-to-the-CCL-Project">18.1. Contributing Code Back to the Clozure CL Project</a>
    676736                </span>
    677737              </dt>
    678738              <dt>
    679739                <span class="sect1">
    680                   <a href="#I-m-using-the-graphics-demos--Why-doesn-t-the-menubar-change-">18.2. I'm using the graphics demos. Why doesn't the menubar
     740                  <a href="#Using-CCL-in--development--and-in--user--mode">18.2. Using Clozure CL in "development" and in  "user" mode</a>
     741                </span>
     742              </dt>
     743              <dt>
     744                <span class="sect1">
     745                  <a href="#kernel-debugger">18.3. The Kernel Debugger</a>
     746                </span>
     747              </dt>
     748              <dt>
     749                <span class="sect1">
     750                  <a href="#Using-AltiVec-in-CCL-LAP-functions">18.4. Using AltiVec in Clozure CL LAP functions</a>
     751                </span>
     752              </dt>
     753              <dt>
     754                <span class="sect1">
     755                  <a href="#Development-Mode-Dictionary">18.5. Development-Mode Dictionary</a>
     756                </span>
     757              </dt>
     758            </dl>
     759          </dd>
     760          <dt>
     761            <span class="chapter">
     762              <a href="#Questions-and-Answers">19. Questions and Answers</a>
     763            </span>
     764          </dt>
     765          <dd>
     766            <dl>
     767              <dt>
     768                <span class="sect1">
     769                  <a href="#How-can-I-do-nonblocking--aka--unbuffered--and--raw---IO-">19.1. How can I do nonblocking (aka "unbuffered" and "raw") IO?</a>
     770                </span>
     771              </dt>
     772              <dt>
     773                <span class="sect1">
     774                  <a href="#I-m-using-the-graphics-demos--Why-doesn-t-the-menubar-change-">19.2. I'm using the graphics demos. Why doesn't the menubar
    681775      change?</a>
    682776                </span>
     
    684778              <dt>
    685779                <span class="sect1">
    686                   <a href="#I-m-using-Slime-and-Cocoa--Why-doesn-t--standard-output--seem-to-work-">18.3. I'm using Slime and Cocoa. Why doesn't *standard-output*
     780                  <a href="#I-m-using-Slime-and-Cocoa--Why-doesn-t--standard-output--seem-to-work-">19.3. I'm using Slime and Cocoa. Why doesn't *standard-output*
    687781      seem to work? </a>
    688782                </span>
     
    12931387        such as <code class="literal">require</code> and
    12941388        <code class="literal">provide</code>, access to foreign interface
    1295         information (see <a class="link" href="#The-Interface-Database" title="12.4. The Interface Database">The
     1389        information (see <a class="link" href="#The-Interface-Database" title="13.4. The Interface Database">The
    12961390        Interface Database</a>) and the Lisp build process (see
    12971391        <a class="link" href="#Building-CCL">Building Clozure CL from its Source
     
    15311625              <code class="literal">--set-lisp-heap-gc-threshold</code>
    15321626              <em class="parameter"><code>n</code></em>).  Sets the Lisp gc threshold to
    1533               <em class="parameter"><code>n</code></em>. (see <a class="xref" href="#GC-Page-reclamation-policy" title="15.3. GC Page reclamation policy">Section 15.3, “GC Page reclamation policy”</a></p>
     1627              <em class="parameter"><code>n</code></em>. (see <a class="xref" href="#GC-Page-reclamation-policy" title="16.3. GC Page reclamation policy">Section 16.3, “GC Page reclamation policy”</a></p>
    15341628              </li>
    15351629              <li class="listitem">
     
    15431637              <code class="literal">--heap-reserve</code>). Reserves
    15441638              <em class="parameter"><code>n</code></em> bytes for heap expansion.  The
    1545               default is <code class="literal"> 549755813888</code>.  (see <a class="xref" href="#Heap-space-allocation" title="15.1. Heap space allocation">Section 15.1, “Heap space allocation”</a>)</p>
     1639              default is <code class="literal"> 549755813888</code>.  (see <a class="xref" href="#Heap-space-allocation" title="16.1. Heap space allocation">Section 16.1, “Heap space allocation”</a>)</p>
    15461640              </li>
    15471641              <li class="listitem">
    15481642                <p><code class="literal">-S</code> <em class="parameter"><code>n</code></em> (or
    15491643              <code class="literal">--stack-size</code> <em class="parameter"><code>n</code></em>). Sets the size of the
    1550               initial control stack to <em class="parameter"><code>n</code></em>. (see <a class="xref" href="#Thread-Stack-Sizes" title="6.3.1. Thread Stack Sizes">Section 6.3.1, “Thread Stack Sizes”</a>)</p>
     1644              initial control stack to <em class="parameter"><code>n</code></em>. (see <a class="xref" href="#Thread-Stack-Sizes" title="7.3.1. Thread Stack Sizes">Section 7.3.1, “Thread Stack Sizes”</a>)</p>
    15511645              </li>
    15521646              <li class="listitem">
     
    15541648              <code class="literal">--thread-stack-size</code>
    15551649              <em class="parameter"><code>n</code></em>). Sets the size of the first
    1556               thread's stack to <em class="parameter"><code>n</code></em>. (see <a class="xref" href="#Thread-Stack-Sizes" title="6.3.1. Thread Stack Sizes">Section 6.3.1, “Thread Stack Sizes”</a>)</p>
     1650              thread's stack to <em class="parameter"><code>n</code></em>. (see <a class="xref" href="#Thread-Stack-Sizes" title="7.3.1. Thread Stack Sizes">Section 7.3.1, “Thread Stack Sizes”</a>)</p>
    15571651              </li>
    15581652              <li class="listitem">
     
    17511845          <p xmlns="http://www.w3.org/1999/xhtml">The following terms are used in subsequent sections; it
    17521846      may be helpful to refer to these definitions.</p>
    1753           <p xmlns="http://www.w3.org/1999/xhtml"><a id="id445357" class="indexterm"></a><a class="glossterm" href="#fasl-file"><em class="glossterm">fasl
     1847          <p xmlns="http://www.w3.org/1999/xhtml"><a id="id617613" class="indexterm"></a><a class="glossterm" href="#fasl-file"><em class="glossterm">fasl
    17541848        files</em></a> are the object files produced
    17551849      by <code class="literal">compile-file</code>.  fasl files store the
     
    17621856      see
    17631857      <a class="xref" href="#Platform-specific-filename-conventions" title="Table 3.1. Platform-specific filename conventions">Table 3.1, “Platform-specific filename conventions”</a> </p>
    1764           <p xmlns="http://www.w3.org/1999/xhtml">The <a id="id454540" class="indexterm"></a> <a class="glossterm" href="#lisp_kernel"><em class="glossterm">Lisp
     1858          <p xmlns="http://www.w3.org/1999/xhtml">The <a id="id617682" class="indexterm"></a> <a class="glossterm" href="#lisp_kernel"><em class="glossterm">Lisp
    17651859        kernel</em></a> is a C program with a fair amount of
    17661860      platform-specific assembly language code. Its basic job is to
     
    17721866      files on different platforms; see
    17731867      <a class="xref" href="#Platform-specific-filename-conventions" title="Table 3.1. Platform-specific filename conventions">Table 3.1, “Platform-specific filename conventions”</a>.</p>
    1774           <p xmlns="http://www.w3.org/1999/xhtml">A <a id="id487863" class="indexterm"></a> <a class="glossterm" href="#lisp_image"><em class="glossterm">heap
     1868          <p xmlns="http://www.w3.org/1999/xhtml">A <a id="id632967" class="indexterm"></a> <a class="glossterm" href="#lisp_image"><em class="glossterm">heap
    17751869        image</em></a> is a file that can be quickly mapped into a
    17761870      process's address space. Conceptually, it's not too different
     
    17831877      standard full heap image files on different platforms; see
    17841878      <a class="xref" href="#Platform-specific-filename-conventions" title="Table 3.1. Platform-specific filename conventions">Table 3.1, “Platform-specific filename conventions”</a>.</p>
    1785           <p xmlns="http://www.w3.org/1999/xhtml">A <a id="id489213" class="indexterm"></a> bootstrapping image is a minimal
     1879          <p xmlns="http://www.w3.org/1999/xhtml">A <a id="id615294" class="indexterm"></a> bootstrapping image is a minimal
    17861880      heap image used in the process of building Clozure CL itself.  The
    17871881      bootstrapping image contains just enough code to load the rest
     
    17951889      as-yet-unsupported ones) has a uniquely named subdirectory of
    17961890      <code class="literal">ccl/lisp-kernel/</code>; each such
    1797       <a id="id461162" class="indexterm"></a>
     1891      <a id="id635477" class="indexterm"></a>
    17981892      contains a Makefile and may contain some auxiliary files (linker
    17991893      scripts, etc.) that are used to build the lisp kernel on a
     
    25802674                <dt>
    25812675                  <span class="sect2">
    2582                     <a href="#code-coverage-interpreting-code-coloring">4.13.4. Interpreting Code Coloring</a>
     2676                    <a href="#code-coverage-functions-and-variables">4.13.4. Functions and Variables</a>
     2677                  </span>
     2678                </dt>
     2679                <dt>
     2680                  <span class="sect2">
     2681                    <a href="#code-coverage-interpreting-code-coloring">4.13.5. Interpreting Code Coloring</a>
    25832682                  </span>
    25842683                </dt>
     
    26242723    </p>
    26252724          <p xmlns="http://www.w3.org/1999/xhtml">
    2626       <a id="id477453" class="indexterm"></a>
     2725      <a id="id626964" class="indexterm"></a>
    26272726      <span class="command"><strong><em class="varname"><a id="trace"></a>TRACE</em> {<em class="replaceable"><code>keyword</code></em>
    26282727        <em class="replaceable"><code>global-value</code></em>}* {<em class="replaceable"><code>spec</code></em> |
     
    30683167          </div>
    30693168          <p xmlns="http://www.w3.org/1999/xhtml">
    3070       <a id="id490618" class="indexterm"></a>
     3169      <a id="id645738" class="indexterm"></a>
    30713170      <span class="command"><strong><em class="varname"><a id="trace-level"></a>CCL:*TRACE-LEVEL*</em>    [Variable]</strong></span>
    30723171    </p>
    30733172          <p xmlns="http://www.w3.org/1999/xhtml">Variable bound to the current nesting level during execution of before and after trace actions.  The default printing actions use it to determine the amount of indentation.</p>
    30743173          <p xmlns="http://www.w3.org/1999/xhtml">
    3075       <a id="id490644" class="indexterm"></a>
     3174      <a id="id645765" class="indexterm"></a>
    30763175      <span class="command"><strong><em class="varname"><a id="trace-max-indent"></a>CCL:*TRACE-MAX-INDENT*</em>    [Variable]</strong></span>
    30773176    </p>
    30783177          <p xmlns="http://www.w3.org/1999/xhtml">The default before and after print actions will not indent by more than the value of <em class="varname">ccl:*trace-max-indent*</em> regardless of the current trace level.</p>
    30793178          <p xmlns="http://www.w3.org/1999/xhtml">
    3080       <a id="id490673" class="indexterm"></a>
     3179      <a id="id645794" class="indexterm"></a>
    30813180      <span class="command"><strong><em class="varname"><a id="trace-function"></a>CCL:TRACE-FUNCTION</em> <em class="replaceable"><code>spec</code></em> <em class="varname">&amp;key</em> {<em class="replaceable"><code>keyword</code></em> <em class="replaceable"><code>value</code></em>}*    [Function]</strong></span>
    30823181    </p>
     
    30863185    </p>
    30873186          <p xmlns="http://www.w3.org/1999/xhtml">
    3088       <a id="id490722" class="indexterm"></a>
     3187      <a id="id645842" class="indexterm"></a>
    30893188      <span class="command"><strong><em class="varname"><a id="trace-print-level"></a>CCL:*TRACE-PRINT-LEVEL*</em>   [Variable]</strong></span>
    30903189    </p>
     
    30943193      explicit printing done by user code.</p>
    30953194          <p xmlns="http://www.w3.org/1999/xhtml">
    3096       <a id="id490757" class="indexterm"></a>
     3195      <a id="id645877" class="indexterm"></a>
    30973196      <span class="command"><strong><em class="varname"><a id="trace-print-length"></a>CCL:*TRACE-PRINT-LENGTH*</em>    [Variable]</strong></span>
    30983197    </p>
     
    31023201      explicit printing done by user code.</p>
    31033202          <p xmlns="http://www.w3.org/1999/xhtml">
    3104       <a id="id490791" class="indexterm"></a>
     3203      <a id="id645912" class="indexterm"></a>
    31053204      <span class="command"><strong><em class="varname"><a id="trace-bar-frequency"></a>CCL:*TRACE-BAR-FREQUENCY*</em>    [Variable]</strong></span>
    31063205    </p>
     
    31513250            <div>
    31523251              <div class="refsect1" lang="en" xml:lang="en">
    3153                 <a xmlns="http://www.w3.org/1999/xhtml" id="id490954"></a>
     3252                <a xmlns="http://www.w3.org/1999/xhtml" id="id646075"></a>
    31543253                <div class="header">Arguments and Values:</div>
    31553254                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">spec</span></i>---
     
    31863285              </div>
    31873286              <div class="refsect1" lang="en" xml:lang="en">
    3188                 <a xmlns="http://www.w3.org/1999/xhtml" id="id491060"></a>
     3287                <a xmlns="http://www.w3.org/1999/xhtml" id="id646182"></a>
    31893288                <div class="header">Examples:</div>
    31903289                <p xmlns="http://www.w3.org/1999/xhtml">
     
    32313330            <div>
    32323331              <div class="refsect1" lang="en" xml:lang="en">
    3233                 <a xmlns="http://www.w3.org/1999/xhtml" id="id491159"></a>
     3332                <a xmlns="http://www.w3.org/1999/xhtml" id="id646281"></a>
    32343333                <div class="header">Description:</div>
    32353334                <p xmlns="http://www.w3.org/1999/xhtml">
     
    32463345              </div>
    32473346              <div class="refsect1" lang="en" xml:lang="en">
    3248                 <a xmlns="http://www.w3.org/1999/xhtml" id="id491226"></a>
     3347                <a xmlns="http://www.w3.org/1999/xhtml" id="id646348"></a>
    32493348                <div class="header">Arguments and Values:</div>
    32503349                <p xmlns="http://www.w3.org/1999/xhtml">
     
    32703369            <div>
    32713370              <div class="refsect1" lang="en" xml:lang="en">
    3272                 <a xmlns="http://www.w3.org/1999/xhtml" id="id491304"></a>
     3371                <a xmlns="http://www.w3.org/1999/xhtml" id="id646426"></a>
    32733372                <div class="header">Description:</div>
    32743373                <p xmlns="http://www.w3.org/1999/xhtml">
     
    32823381              </div>
    32833382              <div class="refsect1" lang="en" xml:lang="en">
    3284                 <a xmlns="http://www.w3.org/1999/xhtml" id="id491352"></a>
     3383                <a xmlns="http://www.w3.org/1999/xhtml" id="id646474"></a>
    32853384                <div class="header">Arguments and Values:</div>
    32863385                <p xmlns="http://www.w3.org/1999/xhtml">
     
    34423541              <div>
    34433542                <div class="refsect1" lang="en" xml:lang="en">
    3444                   <a xmlns="http://www.w3.org/1999/xhtml" id="id491886"></a>
     3543                  <a xmlns="http://www.w3.org/1999/xhtml" id="id647008"></a>
    34453544                  <div class="header">Description:</div>
    34463545                  <p xmlns="http://www.w3.org/1999/xhtml">The value of this variable is used when :EXTERNAL-FORMAT is
     
    34683567              <div>
    34693568                <div class="refsect1" lang="en" xml:lang="en">
    3470                   <a xmlns="http://www.w3.org/1999/xhtml" id="id491948"></a>
     3569                  <a xmlns="http://www.w3.org/1999/xhtml" id="id647070"></a>
    34713570                  <div class="header">Description:</div>
    34723571                  <p xmlns="http://www.w3.org/1999/xhtml">The value of this variable is used when an external-format
     
    35003599              <div>
    35013600                <div class="refsect1" lang="en" xml:lang="en">
    3502                   <a xmlns="http://www.w3.org/1999/xhtml" id="id492030"></a>
     3601                  <a xmlns="http://www.w3.org/1999/xhtml" id="id647152"></a>
    35033602                  <div class="header">Arguments and Values:</div>
    35043603                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">domain</span></i>---This is used to indicate where the external
     
    35343633                </div>
    35353634                <div class="refsect1" lang="en" xml:lang="en">
    3536                   <a xmlns="http://www.w3.org/1999/xhtml" id="id507273"></a>
     3635                  <a xmlns="http://www.w3.org/1999/xhtml" id="id662900"></a>
    35373636                  <div class="header">Description:</div>
    35383637                  <p xmlns="http://www.w3.org/1999/xhtml">Despite the function's name, it doesn't necessarily create a
     
    37073806                <div>
    37083807                  <div>
    3709                     <h4 class="title"><a id="id507607"></a>4.5.4.1. Encoding Problems</h4>
     3808                    <h4 class="title"><a id="id663234"></a>4.5.4.1. Encoding Problems</h4>
    37103809                  </div>
    37113810                </div>
     
    37233822                <div>
    37243823                  <div>
    3725                     <h4 class="title"><a id="id507620"></a>4.5.4.2. Byte Order Marks</h4>
     3824                    <h4 class="title"><a id="id663246"></a>4.5.4.2. Byte Order Marks</h4>
    37263825                  </div>
    37273826                </div>
     
    37513850                <div>
    37523851                  <div>
    3753                     <h4 class="title"><a id="id507654"></a>4.5.4.3. <span class="function"><strong>DESCRIBE-CHARACTER-ENCODINGS</strong></span></h4>
     3852                    <h4 class="title"><a id="id663281"></a>4.5.4.3. <span class="function"><strong>DESCRIBE-CHARACTER-ENCODINGS</strong></span></h4>
    37543853                  </div>
    37553854                </div>
     
    37733872                <div>
    37743873                  <div class="refsect1" lang="en" xml:lang="en">
    3775                     <a xmlns="http://www.w3.org/1999/xhtml" id="id507716"></a>
     3874                    <a xmlns="http://www.w3.org/1999/xhtml" id="id663342"></a>
    37763875                    <div class="header">Description:</div>
    37773876                    <p xmlns="http://www.w3.org/1999/xhtml">Writes descriptions of all defined character encodings
     
    37823881                  </div>
    37833882                  <div class="refsect1" lang="en" xml:lang="en">
    3784                     <a xmlns="http://www.w3.org/1999/xhtml" id="id507731"></a>
     3883                    <a xmlns="http://www.w3.org/1999/xhtml" id="id663357"></a>
    37853884                    <div class="header">See Also:</div>
    37863885                    <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#Character-Encodings" title="4.5.4. Character Encodings">Section 4.5.4, “Character Encodings”</a>, <a class="xref" href="#External-Formats" title="4.5.2. External Formats">Section 4.5.2, “External Formats”</a>, <a class="xref" href="#Supported-Character-Encodings" title="4.5.4.4. Supported Character Encodings">Section 4.5.4.4, “Supported Character Encodings”</a></span>
     
    42134312                <div>
    42144313                  <div>
    4215                     <h4 class="title"><a id="id508410"></a>4.5.4.5. Encoding and Decoding Strings</h4>
     4314                    <h4 class="title"><a id="id664036"></a>4.5.4.5. Encoding and Decoding Strings</h4>
    42164315                  </div>
    42174316                </div>
     
    42384337                <div>
    42394338                  <div class="refsect1" lang="en" xml:lang="en">
    4240                     <a xmlns="http://www.w3.org/1999/xhtml" id="id508485"></a>
     4339                    <a xmlns="http://www.w3.org/1999/xhtml" id="id664112"></a>
    42414340                    <div class="header">Description:</div>
    42424341                    <p xmlns="http://www.w3.org/1999/xhtml">
     
    42694368                <div>
    42704369                  <div class="refsect1" lang="en" xml:lang="en">
    4271                     <a xmlns="http://www.w3.org/1999/xhtml" id="id508580"></a>
     4370                    <a xmlns="http://www.w3.org/1999/xhtml" id="id664207"></a>
    42724371                    <div class="header">Description:</div>
    42734372                    <p xmlns="http://www.w3.org/1999/xhtml">
     
    43184417                <div>
    43194418                  <div class="refsect1" lang="en" xml:lang="en">
    4320                     <a xmlns="http://www.w3.org/1999/xhtml" id="id508714"></a>
     4419                    <a xmlns="http://www.w3.org/1999/xhtml" id="id664341"></a>
    43214420                    <div class="header">Description:</div>
    43224421                    <p xmlns="http://www.w3.org/1999/xhtml">
     
    43714470                <div>
    43724471                  <div class="refsect1" lang="en" xml:lang="en">
    4373                     <a xmlns="http://www.w3.org/1999/xhtml" id="id508845"></a>
     4472                    <a xmlns="http://www.w3.org/1999/xhtml" id="id664471"></a>
    43744473                    <div class="header">Description:</div>
    43754474                    <p xmlns="http://www.w3.org/1999/xhtml">
     
    44214520            </div>
    44224521            <p xmlns="http://www.w3.org/1999/xhtml">Clozure CL sets up logical pathname translations for logical hosts:  <code class="literal">ccl</code> and <code class="literal">home</code></p>
    4423             <a xmlns="http://www.w3.org/1999/xhtml" id="id508933" class="indexterm"></a>
     4522            <a xmlns="http://www.w3.org/1999/xhtml" id="id664560" class="indexterm"></a>
    44244523            <p xmlns="http://www.w3.org/1999/xhtml">The <code class="literal">CCL</code> logical host should point to the
    44254524        <code class="literal">ccl</code> directory.  It is used for a variety of
     
    44804579                <div>
    44814580                  <div>
    4482                     <h4 class="title"><a id="id509036"></a>4.6.3.1. Working with native namestrings</h4>
     4581                    <h4 class="title"><a id="id664662"></a>4.6.3.1. Working with native namestrings</h4>
    44834582                  </div>
    44844583                </div>
     
    44994598                <div>
    45004599                  <div class="refsect1" lang="en" xml:lang="en">
    4501                     <a xmlns="http://www.w3.org/1999/xhtml" id="id509082"></a>
     4600                    <a xmlns="http://www.w3.org/1999/xhtml" id="id664709"></a>
    45024601                    <div class="header">Description:</div>
    45034602                    <p xmlns="http://www.w3.org/1999/xhtml">
     
    45304629                <div>
    45314630                  <div class="refsect1" lang="en" xml:lang="en">
    4532                     <a xmlns="http://www.w3.org/1999/xhtml" id="id509156"></a>
     4631                    <a xmlns="http://www.w3.org/1999/xhtml" id="id664783"></a>
    45334632                    <div class="header">Description:</div>
    45344633                    <p xmlns="http://www.w3.org/1999/xhtml">
     
    46534752      platforms.</p>
    46544753          <p xmlns="http://www.w3.org/1999/xhtml">
    4655       <a id="id509330" class="indexterm"></a>
     4754      <a id="id664957" class="indexterm"></a>
    46564755      <span class="command"><strong><em class="varname"><a id="map-file-to-ivector"></a>CCL:MAP-FILE-TO-IVECTOR</em>
    46574756        <em class="parameter"><code>pathname</code></em>
     
    47134812      a memory error.</p>
    47144813          <p xmlns="http://www.w3.org/1999/xhtml">
    4715       <a id="id509463" class="indexterm"></a>
     4814      <a id="id665090" class="indexterm"></a>
    47164815      <span class="command"><strong><em class="varname"><a id="unmap-ivector"></a>CCL:UNMAP-IVECTOR</em>
    47174816        <em class="parameter"><code>displaced-array</code></em>
     
    47254824      target is an empty vector (of length zero).</p>
    47264825          <p xmlns="http://www.w3.org/1999/xhtml">
    4727       <a id="id509499" class="indexterm"></a>
     4826      <a id="id665125" class="indexterm"></a>
    47284827      <span class="command"><strong><em class="varname"><a id="map-file-to-octet-vector"></a>CCL:MAP-FILE-TO-OCTET-VECTOR</em>
    47294828        <em class="parameter"><code>pathname</code></em>
     
    47354834      bytes.</p>
    47364835          <p xmlns="http://www.w3.org/1999/xhtml">
    4737       <a id="id509531" class="indexterm"></a>
     4836      <a id="id665157" class="indexterm"></a>
    47384837      <span class="command"><strong><em class="varname"><a id="unmap-octet-vector"></a>CCL:UNMAP-OCTET-VECTOR</em>
    47394838        <em class="parameter"><code>displaced-array</code></em>
     
    47744873      static.</p>
    47754874          <p xmlns="http://www.w3.org/1999/xhtml">
    4776       <a id="id509605" class="indexterm"></a>
     4875      <a id="id665232" class="indexterm"></a>
    47774876      <span class="command"><strong><em class="varname"><a id="defstatic"></a>DEFSTATIC</em>
    47784877        <em class="parameter"><code>var</code></em>
     
    48284927            </div>
    48294928          </div>
    4830           <a xmlns="http://www.w3.org/1999/xhtml" id="id509717" class="indexterm"></a>
     4929          <a xmlns="http://www.w3.org/1999/xhtml" id="id665344" class="indexterm"></a>
    48314930          <p xmlns="http://www.w3.org/1999/xhtml">Clozure CL provides the
    48324931      function <code class="literal">CCL:SAVE-APPLICATION</code>, which creates a file
     
    49085007      converted, because address 0 can always be relied upon to refer to
    49095008      the same thing.</p>
    4910           <a xmlns="http://www.w3.org/1999/xhtml" id="id509939" class="indexterm"></a>
     5009          <a xmlns="http://www.w3.org/1999/xhtml" id="id665565" class="indexterm"></a>
    49115010          <p xmlns="http://www.w3.org/1999/xhtml">As of Clozure CL 1.2, the constant <code class="literal">CCL:+NULL-PTR+</code>
    49125011      refers to a <code class="literal">MACPTR</code> object that points to address 0.</p>
     
    49195018      or <code class="literal">ccl64</code> script.</p>
    49205019          <p xmlns="http://www.w3.org/1999/xhtml">
    4921       <a id="id509986" class="indexterm"></a>
     5020      <a id="id665613" class="indexterm"></a>
    49225021      <span class="command"><strong><em class="varname"><a id="save-application"></a>SAVE-APPLICATION</em>
    49235022        <em class="parameter"><code>filename</code></em>
     
    51205219            <div>
    51215220              <div class="refsect1" lang="en" xml:lang="en">
    5122                 <a xmlns="http://www.w3.org/1999/xhtml" id="id510389"></a>
     5221                <a xmlns="http://www.w3.org/1999/xhtml" id="id666016"></a>
    51235222                <div class="header">Arguments and Values:</div>
    51245223                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">out-file</span></i>---
     
    51345233              </div>
    51355234              <div class="refsect1" lang="en" xml:lang="en">
    5136                 <a xmlns="http://www.w3.org/1999/xhtml" id="id510449"></a>
     5235                <a xmlns="http://www.w3.org/1999/xhtml" id="id666075"></a>
    51375236                <div class="header">Description:</div>
    51385237                <p xmlns="http://www.w3.org/1999/xhtml">
     
    51945293            <div>
    51955294              <div class="refsect1" lang="en" xml:lang="en">
    5196                 <a xmlns="http://www.w3.org/1999/xhtml" id="id510540"></a>
     5295                <a xmlns="http://www.w3.org/1999/xhtml" id="id666166"></a>
    51975296                <div class="header">Arguments and Values:</div>
    51985297                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">mode</span></i>---
     
    52025301              </div>
    52035302              <div class="refsect1" lang="en" xml:lang="en">
    5204                 <a xmlns="http://www.w3.org/1999/xhtml" id="id510563"></a>
     5303                <a xmlns="http://www.w3.org/1999/xhtml" id="id666190"></a>
    52055304                <div class="header">Description:</div>
    52065305                <p xmlns="http://www.w3.org/1999/xhtml">
     
    52415340            <div>
    52425341              <div class="refsect1" lang="en" xml:lang="en">
    5243                 <a xmlns="http://www.w3.org/1999/xhtml" id="id510658"></a>
     5342                <a xmlns="http://www.w3.org/1999/xhtml" id="id666285"></a>
    52445343                <div class="header">Arguments and Values:</div>
    52455344                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">rounding-mode</span></i>---
     
    52505349              </div>
    52515350              <div class="refsect1" lang="en" xml:lang="en">
    5252                 <a xmlns="http://www.w3.org/1999/xhtml" id="id510695"></a>
     5351                <a xmlns="http://www.w3.org/1999/xhtml" id="id666321"></a>
    52535352                <div class="header">Description:</div>
    52545353                <p xmlns="http://www.w3.org/1999/xhtml">
     
    52995398              <div>
    53005399                <div class="refsect1" lang="en" xml:lang="en">
    5301                   <a xmlns="http://www.w3.org/1999/xhtml" id="id510770"></a>
     5400                  <a xmlns="http://www.w3.org/1999/xhtml" id="id666396"></a>
    53025401                  <div class="header">Arguments and Values:</div>
    53035402                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">object</span></i>---
     
    53065405                </div>
    53075406                <div class="refsect1" lang="en" xml:lang="en">
    5308                   <a xmlns="http://www.w3.org/1999/xhtml" id="id510792"></a>
     5407                  <a xmlns="http://www.w3.org/1999/xhtml" id="id666418"></a>
    53095408                  <div class="header">Description:</div>
    53105409                  <p xmlns="http://www.w3.org/1999/xhtml">
     
    54735572              <div>
    54745573                <div class="refsect1" lang="en" xml:lang="en">
    5475                   <a xmlns="http://www.w3.org/1999/xhtml" id="id510966"></a>
     5574                  <a xmlns="http://www.w3.org/1999/xhtml" id="id666593"></a>
    54765575                  <div class="header">Description:</div>
    54775576                  <p xmlns="http://www.w3.org/1999/xhtml">
     
    55075606              <div>
    55085607                <div class="refsect1" lang="en" xml:lang="en">
    5509                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511015"></a>
     5608                  <a xmlns="http://www.w3.org/1999/xhtml" id="id666641"></a>
    55105609                  <div class="header">Discussion:</div>
    55115610                  <p xmlns="http://www.w3.org/1999/xhtml">
     
    55255624                </div>
    55265625                <div class="refsect1" lang="en" xml:lang="en">
    5527                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511068"></a>
     5626                  <a xmlns="http://www.w3.org/1999/xhtml" id="id666695"></a>
    55285627                  <div class="header">Restarts:</div>
    55295628                  <p xmlns="http://www.w3.org/1999/xhtml">
     
    55935692                <div>
    55945693                  <div>
    5595                     <h4 class="title"><a id="id511126"></a>4.12.5.1. Fancy arrays</h4>
     5694                    <h4 class="title"><a id="id666752"></a>4.12.5.1. Fancy arrays</h4>
    55965695                  </div>
    55975696                </div>
     
    56205719                <div>
    56215720                  <div>
    5622                     <h4 class="title"><a id="id511145"></a>4.12.5.2. Hash tables</h4>
     5721                    <h4 class="title"><a id="id666771"></a>4.12.5.2. Hash tables</h4>
    56235722                  </div>
    56245723                </div>
     
    56685767                <div>
    56695768                  <div>
    5670                     <h4 class="title"><a id="id511175"></a>4.12.5.3. Lists</h4>
     5769                    <h4 class="title"><a id="id666802"></a>4.12.5.3. Lists</h4>
    56715770                  </div>
    56725771                </div>
     
    57745873(progn
    57755874  (do-this)
    5776   (setq that ...) ...))
    5777   </pre>
     5875  (setq that ...) ...))</pre>
    57785876            <p xmlns="http://www.w3.org/1999/xhtml">
    57795877  do:
     
    57835881  (do-this)
    57845882  (setq that ...)  ...)
    5785 (init-this-and-that)
    5786   </pre>
     5883(init-this-and-that)</pre>
    57875884            <p xmlns="http://www.w3.org/1999/xhtml">
     5885
    57885886Then you can see the coverage information in the definition of
    57895887<code class="literal">init-this-and-that</code>.
     
    58075905            <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
    58085906(setq ccl:*compile-code-coverage* t)
    5809 (recompile-all-your-files)
    5810   </pre>
     5907(recompile-all-your-files)</pre>
    58115908            <p xmlns="http://www.w3.org/1999/xhtml">
    58125909</p>
     
    58165913</p>
    58175914            <p xmlns="http://www.w3.org/1999/xhtml">
    5818   When you execute function loaded from instrumented fasl files, they
    5819   will record coverage information every time they are executed. The
    5820   system keeps track of which instrumented files have been loaded.
     5915  When you execute functions loaded from instrumented fasl files, they
     5916  will record coverage information every time they are executed.
     5917  You can examine that information by calling <code class="literal">ccl:report-coverage</code>
     5918  or <code class="literal">ccl:coverage-statistics</code>.
    58215919</p>
     5920            <p xmlns="http://www.w3.org/1999/xhtml">
     5921   While recording coverage, you can collect incremental coverage deltas between any two points
     5922   in time.  You might do this while running a test suite, to record the coverage for
     5923   each test, for example:
     5924  </p>
     5925            <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     5926(ccl:reset-incremental-coverage)
     5927(loop with coverage = (make-hash-table)
     5928      for test in (tests-to-run)
     5929      do (run-test test)
     5930      do (setf (gethash test coverage) (ccl:get-incremental-coverage))
     5931      finally (return coverage))</pre>
     5932            <p xmlns="http://www.w3.org/1999/xhtml">creates a hash table mapping a test to a representation of all coverage recorded while running the
     5933   test.  This hash table can then be passed to <code class="literal">ccl:incremental-coverage-svn-matches</code>
     5934   or <code class="literal">ccl:incremental-coverage-source-matches</code>.
     5935</p>
     5936          </div>
     5937          <div class="sect2" lang="en" xml:lang="en">
     5938            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     5939              <div>
     5940                <div>
     5941                  <h3 class="title"><a id="code-coverage-functions-and-variables"></a>4.13.4. Functions and Variables</h3>
     5942                </div>
     5943              </div>
     5944            </div>
    58225945            <p xmlns="http://www.w3.org/1999/xhtml">
    58235946  The following functions can be used to manage the coverage data:
     
    58375960              <div>
    58385961                <div class="refsect1" lang="en" xml:lang="en">
    5839                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511363"></a>
     5962                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667031"></a>
    58405963                  <div class="header">Arguments and Values:</div>
    58415964                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">output-file</span></i>---
     
    58615984                </div>
    58625985                <div class="refsect1" lang="en" xml:lang="en">
    5863                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511434"></a>
     5986                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667102"></a>
    58645987                  <div class="header">Example:</div>
    58655988                  <p xmlns="http://www.w3.org/1999/xhtml">
     
    58956018              <div>
    58966019                <div class="refsect1" lang="en" xml:lang="en">
    5897                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511513"></a>
     6020                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667181"></a>
    58986021                  <div class="header">Description:</div>
    58996022                  <p xmlns="http://www.w3.org/1999/xhtml">
     
    59176040              <div>
    59186041                <div class="refsect1" lang="en" xml:lang="en">
    5919                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511552"></a>
     6042                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667220"></a>
    59206043                  <div class="header">Description:</div>
    59216044                  <p xmlns="http://www.w3.org/1999/xhtml">
    59226045      Gets rid of the information about which instrumented files have
    5923       been loaded, so ccl:report-coverage will not report any files,
    5924       and ccl:save-coverage-in-file will not save any info, until more
     6046      been loaded, so <code class="literal">ccl:report-coverage</code> will not report any files,
     6047      and <code class="literal">ccl:save-coverage-in-file</code> will not save any info, until more
    59256048      instrumented files are loaded.
    59266049    </p>
     
    59436066              <div>
    59446067                <div class="refsect1" lang="en" xml:lang="en">
    5945                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511604"></a>
     6068                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667282"></a>
    59466069                  <div class="header">Description:</div>
    59476070                  <p xmlns="http://www.w3.org/1999/xhtml">
     
    59496072      coverage state later. This allows you to combine multiple runs
    59506073      or continue in a later session. Equivalent to
    5951       (ccl:write-coverage-to-file (ccl:save-coverage) pathname).
     6074      <code class="literal">(ccl:write-coverage-to-file (ccl:get-coverage) pathname)</code>.
    59526075    </p>
    59536076                </div>
     
    59696092              <div>
    59706093                <div class="refsect1" lang="en" xml:lang="en">
    5971                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511656"></a>
     6094                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667339"></a>
    59726095                  <div class="header">Description:</div>
    59736096                  <p xmlns="http://www.w3.org/1999/xhtml">
     
    59776100      info is only restored for files that have been loaded in this
    59786101      session. For example if in a previous session you had loaded
    5979       "foo.lx86fsl" and then saved the coverage info, in this session
    5980       you must load the same "foo.lx86fsl" before calling
    5981       restore-coverage-from-file in order to retrieve the stored
    5982       coverage info for "foo".  Equivalent to (ccl:restore-coverage
    5983       (ccl:read-coverage-from-file pathname)).
     6102      <code class="filename">"foo.lx86fsl"</code> and then saved the coverage info, in this session
     6103      you must load the same <code class="filename">"foo.lx86fsl"</code> before calling
     6104      <code class="literal">restore-coverage-from-file</code> in order to retrieve the stored
     6105      coverage info for "foo".  Equivalent to <code class="literal">(ccl:restore-coverage
     6106      (ccl:read-coverage-from-file pathname))</code>.
    59846107    </p>
    59856108                </div>
     
    59886111            <p>
    59896112              <div class="refentrytitle">
    5990                 <a id="f_save-coverage"></a>
     6113                <a id="f_get-coverage"></a>
    59916114                <strong>[Function]</strong>
    59926115                <br></br>
    5993                 <code>SAVE-COVERAGE</code>
     6116                <code>GET-COVERAGE</code>
    59946117              </div>
    59956118              <div class="refentrytitle">
     
    60006123              <div>
    60016124                <div class="refsect1" lang="en" xml:lang="en">
    6002                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511699"></a>
     6125                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667403"></a>
    60036126                  <div class="header">Description:</div>
    60046127                  <p xmlns="http://www.w3.org/1999/xhtml">
    60056128      Returns a snapshot of the current coverage data. A snapshot is a
    60066129      copy of the current coverage state. It can be saved in a file
    6007       with ccl:write-coverage-to-file, reinstated back as the current
    6008       state with ccl:restore-coverage, or combined with other
    6009       snapshots with ccl:combine-coverage.
     6130      with <code class="literal">ccl:write-coverage-to-file</code>, reinstated back as the current
     6131      state with <code class="literal">ccl:restore-coverage</code>, or combined with other
     6132      snapshots with <code class="literal">ccl:combine-coverage</code>.
    60106133    </p>
    60116134                </div>
     
    60276150              <div>
    60286151                <div class="refsect1" lang="en" xml:lang="en">
    6029                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511752"></a>
     6152                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667470"></a>
    60306153                  <div class="header">Description:</div>
    60316154                  <p xmlns="http://www.w3.org/1999/xhtml">
     
    60506173              <div>
    60516174                <div class="refsect1" lang="en" xml:lang="en">
    6052                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511803"></a>
     6175                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667521"></a>
    60536176                  <div class="header">Description:</div>
    60546177                  <p xmlns="http://www.w3.org/1999/xhtml">
     
    60746197              <div>
    60756198                <div class="refsect1" lang="en" xml:lang="en">
    6076                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511854"></a>
     6199                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667571"></a>
    60776200                  <div class="header">Description:</div>
    60786201                  <p xmlns="http://www.w3.org/1999/xhtml">
    60796202      Saves the coverage snapshot in a file. The snapshot can be
    6080       loaded back with ccl:read-coverage-from-file or loaded and
    6081       restored with ccl:restore-coverage-from-file. Note that the file
     6203      loaded back with <code class="literal">ccl:read-coverage-from-file</code> or loaded and
     6204      restored with <code class="literal">ccl:restore-coverage-from-file</code>. Note that the file
    60826205      created is actually a lisp source file and can be compiled for
    60836206      faster loading.
     
    61016224              <div>
    61026225                <div class="refsect1" lang="en" xml:lang="en">
    6103                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511906"></a>
     6226                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667634"></a>
    61046227                  <div class="header">Description:</div>
    61056228                  <p xmlns="http://www.w3.org/1999/xhtml">
    61066229      Returns the snapshot saved in pathname. Doesn't affect the
    61076230      current coverage state. pathname can be the file previously
    6108       created with ccl:write-coverage-to-file or
    6109       ccl:save-coverage-in-file, or it can be the name of the fasl
     6231      created with <code class="literal">ccl:write-coverage-to-file</code> or
     6232      <code class="literal">ccl:save-coverage-in-file</code>, or it can be the name of the fasl
    61106233      created from compiling such a file.
    61116234    </p>
     
    61286251              <div>
    61296252                <div class="refsect1" lang="en" xml:lang="en">
    6130                   <a xmlns="http://www.w3.org/1999/xhtml" id="id511959"></a>
     6253                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667701"></a>
    61316254                  <div class="header">Description:</div>
    61326255                  <p xmlns="http://www.w3.org/1999/xhtml">
    6133       Returns a sequence ccl:coverage-statistics objects, one for each
     6256      Returns a sequence of <code class="literal">ccl:coverage-statistics</code> objects, one for each
    61346257      source file, containing the same information as that written to
    6135       the statistics file by ccl:report-coverage. The following
    6136       accessors are defined for ccl:coverage-statistics objects:
     6258      the statistics file by <code class="literal">ccl:report-coverage</code>. The following
     6259      accessors are defined for <code class="literal">ccl:coverage-statistics</code> objects:
    61376260      </p>
    61386261                  <div xmlns="http://www.w3.org/1999/xhtml" class="variablelist">
     
    62826405            <p>
    62836406              <div class="refentrytitle">
     6407                <a id="f_reset-incremental-coverage"></a>
     6408                <strong>[Function]</strong>
     6409                <br></br>
     6410                <code><span xmlns="http://www.w3.org/1999/xhtml" class="function"><strong>reset-incremental-coverage</strong></span>
     6411    </code>
     6412              </div>
     6413              <div class="refentrytitle">
     6414      Reset incremental coverage.
     6415    </div>
     6416            </p>
     6417            <p>
     6418              <div>
     6419                <div class="refsect1" lang="en" xml:lang="en">
     6420                  <a xmlns="http://www.w3.org/1999/xhtml" id="id667952"></a>
     6421                  <div class="header">Description:</div>
     6422                  <p xmlns="http://www.w3.org/1999/xhtml">
     6423      Marks a starting point for recording incremental coverage.
     6424      Note that calling
     6425      this function does not affect regular coverage data (whereas calling
     6426      <code class="literal">ccl:reset-coverage</code> resets incremental coverage as well).
     6427    </p>
     6428                </div>
     6429              </div>
     6430            </p>
     6431            <p>
     6432              <div class="refentrytitle">
     6433                <a id="f_get-incremental-coverage"></a>
     6434                <strong>[Function]</strong>
     6435                <br></br>
     6436                <code><span xmlns="http://www.w3.org/1999/xhtml" class="function"><strong>get-incremental-coverage</strong></span> <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> (reset t)
     6437    </code>
     6438              </div>
     6439              <div class="refentrytitle">
     6440      Returns the delta of coverage since the last incremental reset.
     6441    </div>
     6442            </p>
     6443            <p>
     6444              <div>
     6445                <div class="refsect1" lang="en" xml:lang="en">
     6446                  <a xmlns="http://www.w3.org/1999/xhtml" id="id668012"></a>
     6447                  <div class="header">Description:</div>
     6448                  <p xmlns="http://www.w3.org/1999/xhtml">
     6449      Returns the delta of coverage since the last reset of incremental coverage.
     6450     If <code class="literal">reset</code> is true (the default), it also resets incremental coverage
     6451     now, so that the next call to <code class="literal">get-incremental-coverage</code> will return
     6452     the delta from this point.
     6453     </p>
     6454                  <p xmlns="http://www.w3.org/1999/xhtml">
     6455      Incremental coverage deltas are represented differently than the full coverage snapshots
     6456      returned by functions such as <code class="literal">ccl:get-coverage</code>.  Incremental
     6457      coverage uses an abbreviated format
     6458      and is missing some of the information in a full snapshot, and therefore cannot be passed to
     6459      functions documented to accept a <span style="color: red">&lt;variable&gt;snapshot&lt;/variable&gt;</span>, only to functions
     6460      specifically documented to accept incremental coverage deltas.
     6461     </p>
     6462                </div>
     6463              </div>
     6464            </p>
     6465            <p>
     6466              <div class="refentrytitle">
     6467                <a id="f_incremental-coverage-source-matches"></a>
     6468                <strong>[Function]</strong>
     6469                <br></br>
     6470                <code><span xmlns="http://www.w3.org/1999/xhtml" class="function"><strong>incremental-coverage-source-matches</strong></span> collection sources
     6471    </code>
     6472              </div>
     6473              <div class="refentrytitle">
     6474      Find incremental coverage deltas intersecting source regions.
     6475    </div>
     6476            </p>
     6477            <p>
     6478              <div>
     6479                <div class="refsect1" lang="en" xml:lang="en">
     6480                  <a xmlns="http://www.w3.org/1999/xhtml" id="id668090"></a>
     6481                  <div class="header">Arguments and Values:</div>
     6482                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">collection</span></i>---
     6483          A hash table mapping arbitrary keys to incremental coverage deltas, or a sequence of
     6484          incremental coverage deltas.
     6485         </p>
     6486                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">sources</span></i>---
     6487          A list of pathnames and/or source-notes, the latter representing a range within a file.
     6488         </p>
     6489                </div>
     6490                <div class="refsect1" lang="en" xml:lang="en">
     6491                  <a xmlns="http://www.w3.org/1999/xhtml" id="id668127"></a>
     6492                  <div class="header">Description:</div>
     6493                  <p xmlns="http://www.w3.org/1999/xhtml">
     6494     Given a hash table <code class="literal">collection</code> whose values are incremental coverage
     6495     deltas, return a list of all keys corresponding to those deltas that intersect any region
     6496     in <code class="literal">sources</code>.
     6497     </p>
     6498                  <p xmlns="http://www.w3.org/1999/xhtml">
     6499     For example if the deltas represent tests, then the returned value is a list of all tests
     6500     that cover some part of the source regions.
     6501     </p>
     6502                  <p xmlns="http://www.w3.org/1999/xhtml">
     6503     <code class="literal">collection</code> can also be a sequence of deltas, in which case a subsequence
     6504      of matching deltas is returned.  In particular you can test whether any particular delta
     6505      intersects the sources by passing it in as a single-element list.
     6506     </p>
     6507                </div>
     6508              </div>
     6509            </p>
     6510            <p>
     6511              <div class="refentrytitle">
     6512                <a id="f_incremental-coverage-svn-matches"></a>
     6513                <strong>[Function]</strong>
     6514                <br></br>
     6515                <code><span xmlns="http://www.w3.org/1999/xhtml" class="function"><strong>incremental-coverage-svn-matches</strong></span> collection <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> (directory (current-directory)) (revision :base)
     6516    </code>
     6517              </div>
     6518              <div class="refentrytitle">
     6519      Find incremental coverage deltas matching changes from a particular subversion revision.
     6520    </div>
     6521            </p>
     6522            <p>
     6523              <div>
     6524                <div class="refsect1" lang="en" xml:lang="en">
     6525                  <a xmlns="http://www.w3.org/1999/xhtml" id="id668207"></a>
     6526                  <div class="header">Arguments and Values:</div>
     6527                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">collection</span></i>---
     6528          A hash table mapping arbitrary keys to incremental coverage deltas, or a sequence of
     6529          incremental coverage deltas.
     6530         </p>
     6531                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">directory</span></i>---
     6532          The pathname of a subversion working directory.
     6533         </p>
     6534                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">revision</span></i>---
     6535          The revision to compare to the working directory, an integer or another
     6536          value whose printed representation is suitable for passing as the
     6537          <code xmlns="http://www.w3.org/1999/xhtml" class="literal">--revision</code> argument
     6538          to <code xmlns="http://www.w3.org/1999/xhtml" class="filename">svn</code>.
     6539         </p>
     6540                </div>
     6541                <div class="refsect1" lang="en" xml:lang="en">
     6542                  <a xmlns="http://www.w3.org/1999/xhtml" id="id668268"></a>
     6543                  <div class="header">Description:</div>
     6544                  <p xmlns="http://www.w3.org/1999/xhtml">
     6545     Given a hash table <code class="literal">collection</code> whose values are incremental coverage
     6546     deltas, return a list of all keys corresponding to those deltas that intersect any changed
     6547     source in <code class="literal">directory</code> since revision <code class="literal">revision</code> in subversion.
     6548     </p>
     6549                  <p xmlns="http://www.w3.org/1999/xhtml">
     6550     For example if the deltas represent tests, then the returned value is a list of all tests
     6551     that might be affected by the changes.
     6552     </p>
     6553                  <p xmlns="http://www.w3.org/1999/xhtml">
     6554     <code class="literal">collection</code> can also be a sequence of deltas, in which case a subsequence
     6555      of matching deltas is returned.  In particular you can test whether any particular delta
     6556      is affected by the changes by passing it in as a single-element list.
     6557     </p>
     6558                </div>
     6559              </div>
     6560            </p>
     6561            <p>
     6562              <div class="refentrytitle">
    62846563                <a id="v_compile-code-coverage"></a>
    62856564                <strong>[Variable]</strong>
     
    62956574              <div>
    62966575                <div class="refsect1" lang="en" xml:lang="en">
    6297                   <a xmlns="http://www.w3.org/1999/xhtml" id="id512194"></a>
     6576                  <a xmlns="http://www.w3.org/1999/xhtml" id="id668348"></a>
    62986577                  <div class="header">Description:</div>
    62996578                  <p xmlns="http://www.w3.org/1999/xhtml">
     
    63206599              <div>
    63216600                <div class="refsect1" lang="en" xml:lang="en">
    6322                   <a xmlns="http://www.w3.org/1999/xhtml" id="id512246"></a>
     6601                  <a xmlns="http://www.w3.org/1999/xhtml" id="id668400"></a>
    63236602                  <div class="header">Description:</div>
    63246603                  <p xmlns="http://www.w3.org/1999/xhtml">
    63256604      This macro arranges so that body doesn't record internal details
    63266605      of code coverage. It will be considered totally covered if it's
    6327       entered at all. The Common Lisp macros ASSERT and CHECK-TYPE use
     6606      entered at all. The Common Lisp macros <code class="literal">ASSERT</code> and <code class="literal">CHECK-TYPE</code> use
    63286607      this macro.
    63296608    </p>
     
    63366615              <div>
    63376616                <div>
    6338                   <h3 class="title"><a id="code-coverage-interpreting-code-coloring"></a>4.13.4. Interpreting Code Coloring</h3>
     6617                  <h3 class="title"><a id="code-coverage-interpreting-code-coloring"></a>4.13.5. Interpreting Code Coloring</h3>
    63396618                </div>
    63406619              </div>
     
    63636642 form will have the outer form's coverage color. If the syntax of outer form involves some non-executable
    63646643 forms, or forms that do not have coverage info of their own for whatever reason, then they will just
    6365  inherit the color of the outer form, because it doesn't get replaced with a color of its own.
     6644 inherit the color of the outer form, because they don't get repainted with a color of their own.
    63666645</p>
    63676646            <p xmlns="http://www.w3.org/1999/xhtml">
     
    63966675            <div>
    63976676              <div class="refsect1" lang="en" xml:lang="en">
    6398                 <a xmlns="http://www.w3.org/1999/xhtml" id="id512348"></a>
     6677                <a xmlns="http://www.w3.org/1999/xhtml" id="id668512"></a>
    63996678                <div class="header">Summary:</div>
    64006679                <p xmlns="http://www.w3.org/1999/xhtml">
     
    64316710            <div>
    64326711              <div class="refsect1" lang="en" xml:lang="en">
    6433                 <a xmlns="http://www.w3.org/1999/xhtml" id="id512410"></a>
     6712                <a xmlns="http://www.w3.org/1999/xhtml" id="id668574"></a>
    64346713                <div class="header">Summary:</div>
    64356714                <p xmlns="http://www.w3.org/1999/xhtml">
     
    64626741            <div>
    64636742              <div class="refsect1" lang="en" xml:lang="en">
    6464                 <a xmlns="http://www.w3.org/1999/xhtml" id="id512467"></a>
     6743                <a xmlns="http://www.w3.org/1999/xhtml" id="id668631"></a>
    64656744                <div class="header">Summary:</div>
    64666745                <p xmlns="http://www.w3.org/1999/xhtml">
     
    66926971                <div>
    66936972                  <div>
    6694                     <h4 class="title"><a id="id464004"></a>5.4.2.1. Checking for Updates</h4>
     6973                    <h4 class="title"><a id="id651919"></a>5.4.2.1. Checking for Updates</h4>
    66956974                  </div>
    66966975                </div>
     
    68247103      the required subsystems, if necessary.</p>
    68257104          <p xmlns="http://www.w3.org/1999/xhtml">
    6826       <a id="id468313" class="indexterm"></a>
     7105      <a id="id600388" class="indexterm"></a>
    68277106      <span class="command"><strong><em class="varname"><a id="build-application"></a>BUILD-APPLICATION</em> <em class="varname">&amp;key</em>
    68287107        (<em class="parameter"><code>name</code></em> <em class="replaceable"><code>"MyApplication"</code></em>)
     
    70947373          <div>
    70957374            <div>
    7096               <h2 class="title"><a id="Programming-with-Threads"></a>Chapter 6. Programming with Threads</h2>
     7375              <h2 class="title"><a id="HemlockProgramming"></a>Chapter 6. Hemlock Programming</h2>
    70977376            </div>
    70987377          </div>
     
    71027381            <dt>
    71037382              <span class="sect1">
    7104                 <a href="#Threads-overview">6.1. Threads Overview</a>
     7383                <a href="#HemlockProgrammingIntroduction">6.1. Introduction</a>
    71057384              </span>
    71067385            </dt>
    71077386            <dt>
    71087387              <span class="sect1">
    7109                 <a href="#Intentionally--Missing-Functionality">6.2. (Intentionally) Missing Functionality</a>
    7110               </span>
    7111             </dt>
    7112             <dt>
    7113               <span class="sect1">
    7114                 <a href="#Implementation-Decisions-and-Open-Questions">6.3. Implementation Decisions and Open Questions</a>
     7388                <a href="#HemlockProgrammingRepresentationOfText">6.2. Representation of Text</a>
    71157389              </span>
    71167390            </dt>
     
    71197393                <dt>
    71207394                  <span class="sect2">
    7121                     <a href="#Thread-Stack-Sizes">6.3.1. Thread Stack Sizes</a>
     7395                    <a href="#Lines">6.2.1. Lines</a>
    71227396                  </span>
    71237397                </dt>
    71247398                <dt>
    71257399                  <span class="sect2">
    7126                     <a href="#id480092">6.3.2.  As of August 2003:</a>
     7400                    <a href="#Marks">6.2.2. Marks</a>
     7401                  </span>
     7402                </dt>
     7403                <dt>
     7404                  <span class="sect2">
     7405                    <a href="#Regions">6.2.3. Regions</a>
    71277406                  </span>
    71287407                </dt>
     
    71317410            <dt>
    71327411              <span class="sect1">
    7133                 <a href="#Porting-Code-from-the-Old-Thread-Model">6.4. Porting Code from the Old Thread Model</a>
    7134               </span>
    7135             </dt>
    7136             <dt>
    7137               <span class="sect1">
    7138                 <a href="#Background-Terminal-Input">6.5. Background Terminal Input</a>
     7412                <a href="#HemlockProgrammingBuffers">6.3. Buffers</a>
    71397413              </span>
    71407414            </dt>
     
    71437417                <dt>
    71447418                  <span class="sect2">
    7145                     <a href="#backgrount-ti-overview">6.5.1. Overview</a>
     7419                    <a href="#CurrentBuffer">6.3.1. The Current Buffer</a>
    71467420                  </span>
    71477421                </dt>
    71487422                <dt>
    71497423                  <span class="sect2">
    7150                     <a href="#background-terminal-example">6.5.2. An example</a>
     7424                    <a href="#BufferFunctions">6.3.2. Buffer  Functions</a>
    71517425                  </span>
    71527426                </dt>
    71537427                <dt>
    71547428                  <span class="sect2">
    7155                     <a href="#A-more-elaborate-example-">6.5.3. A more elaborate example.</a>
    7156                   </span>
    7157                 </dt>
    7158                 <dt>
    7159                   <span class="sect2">
    7160                     <a href="#Summary">6.5.4. Summary</a>
     7429                    <a href="#Modelines">6.3.3. Modelines</a>
    71617430                  </span>
    71627431                </dt>
     
    71657434            <dt>
    71667435              <span class="sect1">
    7167                 <a href="#The-Threads-which-CCL-Uses-for-Its-Own-Purposes">6.6. The Threads which Clozure CL Uses for Its Own Purposes</a>
     7436                <a href="#HemlockProgrammingAlteringAndSearchingText">6.4. Altering and Searching Text</a>
     7437              </span>
     7438            </dt>
     7439            <dd>
     7440              <dl>
     7441                <dt>
     7442                  <span class="sect2">
     7443                    <a href="#AlteringText">6.4.1. Altering Text</a>
     7444                  </span>
     7445                </dt>
     7446                <dt>
     7447                  <span class="sect2">
     7448                    <a href="#TextPredicates">6.4.2. Text Predicates</a>
     7449                  </span>
     7450                </dt>
     7451                <dt>
     7452                  <span class="sect2">
     7453                    <a href="#KillRing">6.4.3. Kill Ring</a>
     7454                  </span>
     7455                </dt>
     7456                <dt>
     7457                  <span class="sect2">
     7458                    <a href="#ActiveRegions">6.4.4. Active Regions</a>
     7459                  </span>
     7460                </dt>
     7461                <dt>
     7462                  <span class="sect2">
     7463                    <a href="#SearchingAndReplacing">6.4.5. Searching and Replacing</a>
     7464                  </span>
     7465                </dt>
     7466              </dl>
     7467            </dd>
     7468            <dt>
     7469              <span class="sect1">
     7470                <a href="#HemlockProgrammingTheCurrentEnvironment">6.5. The Current Environment</a>
     7471              </span>
     7472            </dt>
     7473            <dd>
     7474              <dl>
     7475                <dt>
     7476                  <span class="sect2">
     7477                    <a href="#DifferentScopes">6.5.1. Different Scopes</a>
     7478                  </span>
     7479                </dt>
     7480                <dt>
     7481                  <span class="sect2">
     7482                    <a href="#Shadowing">6.5.2. Shadowing</a>
     7483                  </span>
     7484                </dt>
     7485              </dl>
     7486            </dd>
     7487            <dt>
     7488              <span class="sect1">
     7489                <a href="#HemlockProgrammingHemlockVariables">6.6. Hemlock Variables</a>
     7490              </span>
     7491            </dt>
     7492            <dd>
     7493              <dl>
     7494                <dt>
     7495                  <span class="sect2">
     7496                    <a href="#VariableNames">6.6.1. Variable Names</a>
     7497                  </span>
     7498                </dt>
     7499                <dt>
     7500                  <span class="sect2">
     7501                    <a href="#VariableFunctions">6.6.2. Variable Functions</a>
     7502                  </span>
     7503                </dt>
     7504                <dt>
     7505                  <span class="sect2">
     7506                    <a href="#Hooks">6.6.3. Hooks</a>
     7507                  </span>
     7508                </dt>
     7509              </dl>
     7510            </dd>
     7511            <dt>
     7512              <span class="sect1">
     7513                <a href="#HemlockProgrammingCommands">6.7. Commands</a>
     7514              </span>
     7515            </dt>
     7516            <dd>
     7517              <dl>
     7518                <dt>
     7519                  <span class="sect2">
     7520                    <a href="#HemlockProgrammingCommandsIntroduction">6.7.1. Introduction</a>
     7521                  </span>
     7522                </dt>
     7523                <dt>
     7524                  <span class="sect2">
     7525                    <a href="#CommandInterpreter">6.7.2. The Command Interpreter</a>
     7526                  </span>
     7527                </dt>
     7528                <dt>
     7529                  <span class="sect2">
     7530                    <a href="#CommandTypes">6.7.3. Command Types</a>
     7531                  </span>
     7532                </dt>
     7533                <dt>
     7534                  <span class="sect2">
     7535                    <a href="#CommandArguments">6.7.4. Command Arguments</a>
     7536                  </span>
     7537                </dt>
     7538              </dl>
     7539            </dd>
     7540            <dt>
     7541              <span class="sect1">
     7542                <a href="#HemlockProgrammingModes">6.8. Modes</a>
     7543              </span>
     7544            </dt>
     7545            <dd>
     7546              <dl>
     7547                <dt>
     7548                  <span class="sect2">
     7549                    <a href="#ModeHooks">6.8.1. Mode Hooks</a>
     7550                  </span>
     7551                </dt>
     7552                <dt>
     7553                  <span class="sect2">
     7554                    <a href="#MajorAndMinorModes">6.8.2. Major and Minor Modes</a>
     7555                  </span>
     7556                </dt>
     7557                <dt>
     7558                  <span class="sect2">
     7559                    <a href="#ModeFunctions">6.8.3. Mode Functions</a>
     7560                  </span>
     7561                </dt>
     7562              </dl>
     7563            </dd>
     7564            <dt>
     7565              <span class="sect1">
     7566                <a href="#HemlockProgrammingCharacterAttributes">6.9. Character Attributes</a>
     7567              </span>
     7568            </dt>
     7569            <dd>
     7570              <dl>
     7571                <dt>
     7572                  <span class="sect2">
     7573                    <a href="#HemlockProgrammingCharacterAttributesIntroduction">6.9.1. Introduction</a>
     7574                  </span>
     7575                </dt>
     7576                <dt>
     7577                  <span class="sect2">
     7578                    <a href="#CharacterAttributeNames">6.9.2. Character Attribute Names</a>
     7579                  </span>
     7580                </dt>
     7581                <dt>
     7582                  <span class="sect2">
     7583                    <a href="#CharacterAttributeFunctions">6.9.3. Character Attribute Functions</a>
     7584                  </span>
     7585                </dt>
     7586                <dt>
     7587                  <span class="sect2">
     7588                    <a href="#CharacterAttributeHooks">6.9.4. Character Attribute Hooks</a>
     7589                  </span>
     7590                </dt>
     7591                <dt>
     7592                  <span class="sect2">
     7593                    <a href="#SystemDefinedCharacterAttributes">6.9.5. System Defined Character Attributes</a>
     7594                  </span>
     7595                </dt>
     7596              </dl>
     7597            </dd>
     7598            <dt>
     7599              <span class="sect1">
     7600                <a href="#HemlockProgrammingControllingTheDisplay">6.10. Controlling the Display</a>
     7601              </span>
     7602            </dt>
     7603            <dd>
     7604              <dl>
     7605                <dt>
     7606                  <span class="sect2">
     7607                    <a href="#Views">6.10.1. Views</a>
     7608                  </span>
     7609                </dt>
     7610                <dt>
     7611                  <span class="sect2">
     7612                    <a href="#CurrentView">6.10.2. The Current View</a>
     7613                  </span>
     7614                </dt>
     7615                <dt>
     7616                  <span class="sect2">
     7617                    <a href="#ViewFunctions">6.10.3. View Functions</a>
     7618                  </span>
     7619                </dt>
     7620                <dt>
     7621                  <span class="sect2">
     7622                    <a href="#CursorPositions">6.10.4. Cursor Positions</a>
     7623                  </span>
     7624                </dt>
     7625                <dt>
     7626                  <span class="sect2">
     7627                    <a href="#Redisplay">6.10.5. Redisplay</a>
     7628                  </span>
     7629                </dt>
     7630              </dl>
     7631            </dd>
     7632            <dt>
     7633              <span class="sect1">
     7634                <a href="#HemlockProgrammingLogicalKeyEvents">6.11. Logical Key-Events</a>
     7635              </span>
     7636            </dt>
     7637            <dd>
     7638              <dl>
     7639                <dt>
     7640                  <span class="sect2">
     7641                    <a href="#HemlockProgrammingLogicalKeyEventsIntroduction">6.11.1. Introduction</a>
     7642                  </span>
     7643                </dt>
     7644                <dt>
     7645                  <span class="sect2">
     7646                    <a href="#LogicalKeyEventFunctions">6.11.2. Logical Key-Event Functions</a>
     7647                  </span>
     7648                </dt>
     7649                <dt>
     7650                  <span class="sect2">
     7651                    <a href="#SystemDefinedLogicalKeyEvents">6.11.3. System Defined Logical Key-Events</a>
     7652                  </span>
     7653                </dt>
     7654              </dl>
     7655            </dd>
     7656            <dt>
     7657              <span class="sect1">
     7658                <a href="#EchoArea">6.12. The Echo Area</a>
     7659              </span>
     7660            </dt>
     7661            <dd>
     7662              <dl>
     7663                <dt>
     7664                  <span class="sect2">
     7665                    <a href="#EchoAreaFunctions">6.12.1. Echo Area Functions</a>
     7666                  </span>
     7667                </dt>
     7668                <dt>
     7669                  <span class="sect2">
     7670                    <a href="#PromptingFunctions">6.12.2. Prompting Functions</a>
     7671                  </span>
     7672                </dt>
     7673                <dt>
     7674                  <span class="sect2">
     7675                    <a href="#ControlOfParsingBehavior">6.12.3. Control of Parsing Behavior</a>
     7676                  </span>
     7677                </dt>
     7678                <dt>
     7679                  <span class="sect2">
     7680                    <a href="#DefiningNewPromptingFunctions">6.12.4. Defining New Prompting Functions</a>
     7681                  </span>
     7682                </dt>
     7683                <dt>
     7684                  <span class="sect2">
     7685                    <a href="#SomeEchoAreaCommands">6.12.5. Some Echo Area Commands</a>
     7686                  </span>
     7687                </dt>
     7688              </dl>
     7689            </dd>
     7690            <dt>
     7691              <span class="sect1">
     7692                <a href="#Files">6.13. Files</a>
     7693              </span>
     7694            </dt>
     7695            <dd>
     7696              <dl>
     7697                <dt>
     7698                  <span class="sect2">
     7699                    <a href="#FileOptionsAndTypeHooks">6.13.1. File Options and Type Hooks</a>
     7700                  </span>
     7701                </dt>
     7702                <dt>
     7703                  <span class="sect2">
     7704                    <a href="#PathnamesAndBuffers">6.13.2. Pathnames and Buffers</a>
     7705                  </span>
     7706                </dt>
     7707                <dt>
     7708                  <span class="sect2">
     7709                    <a href="#FileGroups">6.13.3. File Groups</a>
     7710                  </span>
     7711                </dt>
     7712                <dt>
     7713                  <span class="sect2">
     7714                    <a href="#FileReadingAndWriting">6.13.4. File Reading and Writing</a>
     7715                  </span>
     7716                </dt>
     7717              </dl>
     7718            </dd>
     7719            <dt>
     7720              <span class="sect1">
     7721                <a href="#HemlockProgrammingHemlockSLispEnvironment">6.14. Hemlock's Lisp Environment</a>
     7722              </span>
     7723            </dt>
     7724            <dd>
     7725              <dl>
     7726                <dt>
     7727                  <span class="sect2">
     7728                    <a href="#EnteringAndLeavingTheEditor">6.14.1. Entering and Leaving the Editor</a>
     7729                  </span>
     7730                </dt>
     7731                <dt>
     7732                  <span class="sect2">
     7733                    <a href="#KeyboardInput">6.14.2. Keyboard Input</a>
     7734                  </span>
     7735                </dt>
     7736                <dt>
     7737                  <span class="sect2">
     7738                    <a href="#HemlockStreams">6.14.3. Hemlock Streams</a>
     7739                  </span>
     7740                </dt>
     7741                <dt>
     7742                  <span class="sect2">
     7743                    <a href="#InterfaceToTheErrorSystem">6.14.4. Interface to the Error System</a>
     7744                  </span>
     7745                </dt>
     7746                <dt>
     7747                  <span class="sect2">
     7748                    <a href="#DefinitionEditing">6.14.5. Definition Editing</a>
     7749                  </span>
     7750                </dt>
     7751                <dt>
     7752                  <span class="sect2">
     7753                    <a href="#EventScheduling">6.14.6. Event Scheduling</a>
     7754                  </span>
     7755                </dt>
     7756                <dt>
     7757                  <span class="sect2">
     7758                    <a href="#Miscellaneous">6.14.7. Miscellaneous</a>
     7759                  </span>
     7760                </dt>
     7761              </dl>
     7762            </dd>
     7763            <dt>
     7764              <span class="sect1">
     7765                <a href="#HemlockProgrammingHighLevelTextPrimitives">6.15. High-Level Text Primitives</a>
     7766              </span>
     7767            </dt>
     7768            <dd>
     7769              <dl>
     7770                <dt>
     7771                  <span class="sect2">
     7772                    <a href="#IndentingText">6.15.1. Indenting Text</a>
     7773                  </span>
     7774                </dt>
     7775                <dt>
     7776                  <span class="sect2">
     7777                    <a href="#LispTextBuffers">6.15.2. Lisp Text Buffers</a>
     7778                  </span>
     7779                </dt>
     7780                <dt>
     7781                  <span class="sect2">
     7782                    <a href="#EnglishTextBuffers">6.15.3. English Text Buffers</a>
     7783                  </span>
     7784                </dt>
     7785                <dt>
     7786                  <span class="sect2">
     7787                    <a href="#LogicalPages">6.15.4. Logical Pages</a>
     7788                  </span>
     7789                </dt>
     7790                <dt>
     7791                  <span class="sect2">
     7792                    <a href="#Filling">6.15.5. Filling</a>
     7793                  </span>
     7794                </dt>
     7795              </dl>
     7796            </dd>
     7797            <dt>
     7798              <span class="sect1">
     7799                <a href="#HemlockProgrammingUtilities">6.16. Utilities</a>
     7800              </span>
     7801            </dt>
     7802            <dd>
     7803              <dl>
     7804                <dt>
     7805                  <span class="sect2">
     7806                    <a href="#StringTableFunctions">6.16.1. String-table Functions</a>
     7807                  </span>
     7808                </dt>
     7809                <dt>
     7810                  <span class="sect2">
     7811                    <a href="#RingFunctions">6.16.2. Ring Functions</a>
     7812                  </span>
     7813                </dt>
     7814                <dt>
     7815                  <span class="sect2">
     7816                    <a href="#UndoingCommands">6.16.3. Undoing commands</a>
     7817                  </span>
     7818                </dt>
     7819              </dl>
     7820            </dd>
     7821            <dt>
     7822              <span class="sect1">
     7823                <a href="#HemlockProgrammingMiscellaneous">6.17. Miscellaneous</a>
     7824              </span>
     7825            </dt>
     7826            <dd>
     7827              <dl>
     7828                <dt>
     7829                  <span class="sect2">
     7830                    <a href="#KeyEvents">6.17.1. Key-events</a>
     7831                  </span>
     7832                </dt>
     7833              </dl>
     7834            </dd>
     7835          </dl>
     7836        </div>
     7837        <div class="sect1" lang="en" xml:lang="en">
     7838          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     7839            <div>
     7840              <div>
     7841                <h2 class="title" style="clear: both"><a id="HemlockProgrammingIntroduction"></a>6.1. Introduction</h2>
     7842              </div>
     7843            </div>
     7844          </div>
     7845          <p xmlns="http://www.w3.org/1999/xhtml">
     7846Hemlock is the text editor used in Clozure CL.  It was originally based on the <a class="ulink" href="http://www.cons.org/cmucl/hemlock/index.html" target="_top">CMU Hemlock editor</a>, but has since diverged from it in various ways.  We continue to call the editor part of our IDE <code class="code">Hemlock</code> to give credit where credit is due, but we make no attempt at source or API compatibility with the original Hemlock.
     7847        </p>
     7848          <p xmlns="http://www.w3.org/1999/xhtml">
     7849Like the code, this documentation is based on the original Hemlock documentation, modified as necessary.
     7850        </p>
     7851          <p xmlns="http://www.w3.org/1999/xhtml">
     7852Hemlock follows in the tradition of Emacs-compatible editors, with a rich set of extensible commands.  This document describes the API for implementing new commands.  The basic editor consists of a set of Lisp utility functions for manipulating buffers and the other data structures of the editor.  All user level commands are written in terms of these
     7853functions. To find out how to define commands see <a class="ulink" href="HemlockProgrammer/Commands" target="_top">Commands</a>.
     7854        </p>
     7855        </div>
     7856        <div class="sect1" lang="en" xml:lang="en">
     7857          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     7858            <div>
     7859              <div>
     7860                <h2 class="title" style="clear: both"><a id="HemlockProgrammingRepresentationOfText"></a>6.2. Representation of Text</h2>
     7861              </div>
     7862            </div>
     7863          </div>
     7864          <p xmlns="http://www.w3.org/1999/xhtml">
     7865In Hemlock, text is represented as a sequence of lines.  Newline characters
     7866are never stored but are implicit between lines.  The
     7867implicit newline character is treated as the single character <code class="code">#\Newline</code> by the
     7868text primitives.
     7869        </p>
     7870          <p xmlns="http://www.w3.org/1999/xhtml">
     7871Text is broken into lines when it is first introduced into Hemlock.  Text enters
     7872Hemlock from the outside world in two ways: reading a file, or pasting text
     7873from the system clipboard.  Hemlock uses heuristics <span class="bold"><strong>(which should be documented here!)</strong></span>
     7874to decide what newline convention to use to convert the incoming text into its internal
     7875representation as a sequence of lines.  Similarly it uses heuristics
     7876<span class="bold"><strong>(which should be documented here!)</strong></span> to convert the internal representation into
     7877a string with embedded newlines in order to write a file or paste a region into
     7878the clipboard.
     7879        </p>
     7880          <div class="sect2" lang="en" xml:lang="en">
     7881            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     7882              <div>
     7883                <div>
     7884                  <h3 class="title"><a id="Lines"></a>6.2.1. Lines</h3>
     7885                </div>
     7886              </div>
     7887            </div>
     7888            <p xmlns="http://www.w3.org/1999/xhtml">
     7889A <code class="code">line</code> is an object representing a sequence of characters with no line breaks.
     7890            </p>
     7891            <p>
     7892              <div class="refentrytitle">
     7893                <a id="f_linep"></a>
     7894                <strong>[Function]</strong>
     7895                <br></br>
     7896                <code>
     7897                        linep line
     7898                    </code>
     7899              </div>
     7900              <div class="refentrytitle"></div>
     7901            </p>
     7902            <p>
     7903              <div>
     7904                <div class="refsect1" lang="en" xml:lang="en">
     7905                  <a xmlns="http://www.w3.org/1999/xhtml" id="id626500"></a>
     7906                  <div class="header">Description:</div>
     7907                  <p xmlns="http://www.w3.org/1999/xhtml">
     7908This function returns t if line is a line object, otherwise nil.
     7909                    </p>
     7910                </div>
     7911              </div>
     7912            </p>
     7913            <p>
     7914              <div class="refentrytitle">
     7915                <a id="f_line-string"></a>
     7916                <strong>[Function]</strong>
     7917                <br></br>
     7918                <code>
     7919                        line-string line
     7920                    </code>
     7921              </div>
     7922              <div class="refentrytitle"></div>
     7923            </p>
     7924            <p>
     7925              <div>
     7926                <div class="refsect1" lang="en" xml:lang="en">
     7927                  <a xmlns="http://www.w3.org/1999/xhtml" id="id626553"></a>
     7928                  <div class="header">Description:</div>
     7929                  <p xmlns="http://www.w3.org/1999/xhtml">
     7930Given a line, this function returns as a simple string the characters
     7931in the line.  This is setf'able to set the line-string to any string
     7932that does not contain newline characters.  It is an error to
     7933destructively modify the result of line-string or to destructively
     7934modify any string after the line-string of some line has been set to
     7935that string.
     7936                    </p>
     7937                </div>
     7938              </div>
     7939            </p>
     7940            <p>
     7941              <div class="refentrytitle">
     7942                <a id="f_line-previous"></a>
     7943                <strong>[Function]</strong>
     7944                <br></br>
     7945                <code>
     7946                        line-previous line
     7947                    </code>
     7948              </div>
     7949              <div class="refentrytitle"></div>
     7950            </p>
     7951            <p>
     7952              <div>
     7953                <div class="refsect1" lang="en" xml:lang="en">
     7954                  <a xmlns="http://www.w3.org/1999/xhtml" id="id662541"></a>
     7955                  <div class="header">Description:</div>
     7956                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     7957                </div>
     7958              </div>
     7959            </p>
     7960            <p>
     7961              <div class="refentrytitle">
     7962                <a id="f_line-next"></a>
     7963                <strong>[Function]</strong>
     7964                <br></br>
     7965                <code>
     7966                        line-next line
     7967                    </code>
     7968              </div>
     7969              <div class="refentrytitle"></div>
     7970            </p>
     7971            <p>
     7972              <div>
     7973                <div class="refsect1" lang="en" xml:lang="en">
     7974                  <a xmlns="http://www.w3.org/1999/xhtml" id="id662593"></a>
     7975                  <div class="header">Description:</div>
     7976                  <p xmlns="http://www.w3.org/1999/xhtml">
     7977Given a line, line-previous returns the previous line or nil if there
     7978is no previous line.  Similarly, line-next returns the line following
     7979line or nil.
     7980                    </p>
     7981                </div>
     7982              </div>
     7983            </p>
     7984            <p>
     7985              <div class="refentrytitle">
     7986                <a id="f_line-buffer"></a>
     7987                <strong>[Function]</strong>
     7988                <br></br>
     7989                <code>
     7990                        line-buffer line
     7991                    </code>
     7992              </div>
     7993              <div class="refentrytitle"></div>
     7994            </p>
     7995            <p>
     7996              <div>
     7997                <div class="refsect1" lang="en" xml:lang="en">
     7998                  <a xmlns="http://www.w3.org/1999/xhtml" id="id604470"></a>
     7999                  <div class="header">Description:</div>
     8000                  <p xmlns="http://www.w3.org/1999/xhtml">
     8001This function returns the buffer which contains this line. Since a
     8002line may not be associated with any buffer, in which case line-buffer
     8003returns nil.
     8004                    </p>
     8005                </div>
     8006              </div>
     8007            </p>
     8008            <p>
     8009              <div class="refentrytitle">
     8010                <a id="f_line-length"></a>
     8011                <strong>[Function]</strong>
     8012                <br></br>
     8013                <code>
     8014                        line-length line
     8015                    </code>
     8016              </div>
     8017              <div class="refentrytitle"></div>
     8018            </p>
     8019            <p>
     8020              <div>
     8021                <div class="refsect1" lang="en" xml:lang="en">
     8022                  <a xmlns="http://www.w3.org/1999/xhtml" id="id604523"></a>
     8023                  <div class="header">Description:</div>
     8024                  <p xmlns="http://www.w3.org/1999/xhtml">
     8025This function returns the number of characters in the line. This
     8026excludes the newline character at the end.
     8027                    </p>
     8028                </div>
     8029              </div>
     8030            </p>
     8031            <p>
     8032              <div class="refentrytitle">
     8033                <a id="f_line-character"></a>
     8034                <strong>[Function]</strong>
     8035                <br></br>
     8036                <code>
     8037                        line-character line index
     8038                    </code>
     8039              </div>
     8040              <div class="refentrytitle"></div>
     8041            </p>
     8042            <p>
     8043              <div>
     8044                <div class="refsect1" lang="en" xml:lang="en">
     8045                  <a xmlns="http://www.w3.org/1999/xhtml" id="id604577"></a>
     8046                  <div class="header">Description:</div>
     8047                  <p xmlns="http://www.w3.org/1999/xhtml">
     8048This function returns the character at position index within line. It
     8049is an error for index to be greater than the length of the line or
     8050less than zero.  If index is equal to the length of the line, this
     8051returns a #\newline character.
     8052                    </p>
     8053                </div>
     8054              </div>
     8055            </p>
     8056            <p>
     8057              <div class="refentrytitle">
     8058                <a id="f_line-plist"></a>
     8059                <strong>[Function]</strong>
     8060                <br></br>
     8061                <code>
     8062                        line-plist line
     8063                    </code>
     8064              </div>
     8065              <div class="refentrytitle"></div>
     8066            </p>
     8067            <p>
     8068              <div>
     8069                <div class="refsect1" lang="en" xml:lang="en">
     8070                  <a xmlns="http://www.w3.org/1999/xhtml" id="id660364"></a>
     8071                  <div class="header">Description:</div>
     8072                  <p xmlns="http://www.w3.org/1999/xhtml">
     8073This function returns the property-list for line. setf, getf, putf and
     8074remf can be used to change properties. This is typically used in
     8075conjunction with line-signature to cache information about the line's
     8076contents.
     8077                    </p>
     8078                </div>
     8079              </div>
     8080            </p>
     8081            <p>
     8082              <div class="refentrytitle">
     8083                <a id="f_line-signature"></a>
     8084                <strong>[Function]</strong>
     8085                <br></br>
     8086                <code>
     8087                        line-signature line
     8088                    </code>
     8089              </div>
     8090              <div class="refentrytitle"></div>
     8091            </p>
     8092            <p>
     8093              <div>
     8094                <div class="refsect1" lang="en" xml:lang="en">
     8095                  <a xmlns="http://www.w3.org/1999/xhtml" id="id660419"></a>
     8096                  <div class="header">Description:</div>
     8097                  <p xmlns="http://www.w3.org/1999/xhtml">
     8098This function returns an object that serves as a signature for a
     8099line's contents. It is guaranteed that any modification of text on the
     8100line will result in the signature changing so that it is not eql to
     8101any previous value. The signature may change even when the text
     8102remains unmodified, but this does not happen often.
     8103                    </p>
     8104                </div>
     8105              </div>
     8106            </p>
     8107          </div>
     8108          <div class="sect2" lang="en" xml:lang="en">
     8109            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     8110              <div>
     8111                <div>
     8112                  <h3 class="title"><a id="Marks"></a>6.2.2. Marks</h3>
     8113                </div>
     8114              </div>
     8115            </div>
     8116            <p xmlns="http://www.w3.org/1999/xhtml">
     8117A <code class="code">mark</code> indicates a specific position within the text represented by a
     8118line and a character position within that line.  Although a mark is
     8119sometimes loosely referred to as pointing to some character, it in
     8120fact points between characters.  If the charpos is zero, the previous
     8121character is the newline character separating the previous line from
     8122the mark's line. If the charpos is equal to the number of characters
     8123in the line, the next character is the newline character separating
     8124the current line from the next.  If the mark's line has no previous
     8125line, a mark with charpos of zero has no previous character; if the
     8126mark's line has no next line, a mark with charpos equal to the length of
     8127the line has no next character.
     8128            </p>
     8129            <p xmlns="http://www.w3.org/1999/xhtml">
     8130This section discusses the very basic operations involving marks, but
     8131a lot of Hemlock programming is built on altering some text at a mark.
     8132For more extended uses of marks see <a class="ulink" href="HemlockProgrammer/AlteringAndSearchingText" target="_top">Altering And Searching Text</a>.
     8133            </p>
     8134            <div class="sect3" lang="en" xml:lang="en">
     8135              <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     8136                <div>
     8137                  <div>
     8138                    <h4 class="title"><a id="MarksKindsOfMarks"></a>6.2.2.1. Kinds of Marks</h4>
     8139                  </div>
     8140                </div>
     8141              </div>
     8142              <p xmlns="http://www.w3.org/1999/xhtml">
     8143A mark may have one of two lifetimes: temporary or permanent. Permanent
     8144marks remain valid after arbitrary operations on the text; temporary
     8145marks do not.  Temporary marks are used because less bookkeeping
     8146overhead is involved in their creation and use.  If a temporary mark
     8147is used after the text it points to has been modified results will be
     8148unpredictable. Permanent marks continue to point between the same two
     8149characters regardless of insertions and deletions made before or after
     8150them.
     8151                </p>
     8152              <p xmlns="http://www.w3.org/1999/xhtml">
     8153There are two different kinds of permanent marks which differ only in
     8154their behavior when text is inserted at the position of the mark; text
     8155is inserted to the left of a left-inserting mark and to the right of
     8156right-inserting mark.
     8157                </p>
     8158            </div>
     8159            <div class="sect3" lang="en" xml:lang="en">
     8160              <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     8161                <div>
     8162                  <div>
     8163                    <h4 class="title"><a id="MarksMarkFunctions"></a>6.2.2.2. Mark Functions</h4>
     8164                  </div>
     8165                </div>
     8166              </div>
     8167              <p>
     8168                <div class="refentrytitle">
     8169                  <a id="f_markp"></a>
     8170                  <strong>[Function]</strong>
     8171                  <br></br>
     8172                  <code>
     8173                            markp mark
     8174                        </code>
     8175                </div>
     8176                <div class="refentrytitle"></div>
     8177              </p>
     8178              <p>
     8179                <div>
     8180                  <div class="refsect1" lang="en" xml:lang="en">
     8181                    <a xmlns="http://www.w3.org/1999/xhtml" id="id660541"></a>
     8182                    <div class="header">Description:</div>
     8183                    <p xmlns="http://www.w3.org/1999/xhtml">
     8184This function returns t if mark is a mark object, otherwise nil.
     8185                        </p>
     8186                  </div>
     8187                </div>
     8188              </p>
     8189              <p>
     8190                <div class="refentrytitle">
     8191                  <a id="f_mark-line"></a>
     8192                  <strong>[Function]</strong>
     8193                  <br></br>
     8194                  <code>
     8195                            mark-line mark
     8196                        </code>
     8197                </div>
     8198                <div class="refentrytitle"></div>
     8199              </p>
     8200              <p>
     8201                <div>
     8202                  <div class="refsect1" lang="en" xml:lang="en">
     8203                    <a xmlns="http://www.w3.org/1999/xhtml" id="id660595"></a>
     8204                    <div class="header">Description:</div>
     8205                    <p xmlns="http://www.w3.org/1999/xhtml">
     8206This function returns the line to which mark points.
     8207                        </p>
     8208                  </div>
     8209                </div>
     8210              </p>
     8211              <p>
     8212                <div class="refentrytitle">
     8213                  <a id="f_mark-charpos"></a>
     8214                  <strong>[Function]</strong>
     8215                  <br></br>
     8216                  <code>
     8217                            mark-charpos mark
     8218                        </code>
     8219                </div>
     8220                <div class="refentrytitle"></div>
     8221              </p>
     8222              <p>
     8223                <div>
     8224                  <div class="refsect1" lang="en" xml:lang="en">
     8225                    <a xmlns="http://www.w3.org/1999/xhtml" id="id660648"></a>
     8226                    <div class="header">Description:</div>
     8227                    <p xmlns="http://www.w3.org/1999/xhtml">
     8228This function returns the character position <span class="emphasis"><em>in the line</em></span> of the character
     8229after mark, i.e. the number of characters before the mark in the mark's line.
     8230                        </p>
     8231                  </div>
     8232                </div>
     8233              </p>
     8234              <p>
     8235                <div class="refentrytitle">
     8236                  <a id="f_mark-buffer"></a>
     8237                  <strong>[Function]</strong>
     8238                  <br></br>
     8239                  <code>
     8240                            mark-buffer mark
     8241                        </code>
     8242                </div>
     8243                <div class="refentrytitle"></div>
     8244              </p>
     8245              <p>
     8246                <div>
     8247                  <div class="refsect1" lang="en" xml:lang="en">
     8248                    <a xmlns="http://www.w3.org/1999/xhtml" id="id660706"></a>
     8249                    <div class="header">Description:</div>
     8250                    <p xmlns="http://www.w3.org/1999/xhtml">
     8251Returns the buffer containing this mark.
     8252                        </p>
     8253                  </div>
     8254                </div>
     8255              </p>
     8256              <p>
     8257                <div class="refentrytitle">
     8258                  <a id="f_mark-absolute-position"></a>
     8259                  <strong>[Function]</strong>
     8260                  <br></br>
     8261                  <code>
     8262                            mark-absolute-position mark
     8263                        </code>
     8264                </div>
     8265                <div class="refentrytitle"></div>
     8266              </p>
     8267              <p>
     8268                <div>
     8269                  <div class="refsect1" lang="en" xml:lang="en">
     8270                    <a xmlns="http://www.w3.org/1999/xhtml" id="id660760"></a>
     8271                    <div class="header">Description:</div>
     8272                    <p xmlns="http://www.w3.org/1999/xhtml">
     8273This function returns the character position <span class="emphasis"><em>in the buffer</em></span> of the character
     8274after the mark, i.e. the number of characters before the mark in the mark's
     8275buffer.
     8276                        </p>
     8277                  </div>
     8278                </div>
     8279              </p>
     8280              <p>
     8281                <div class="refentrytitle">
     8282                  <a id="f_mark-kind"></a>
     8283                  <strong>[Function]</strong>
     8284                  <br></br>
     8285                  <code>
     8286                            mark-kind mark
     8287                        </code>
     8288                </div>
     8289                <div class="refentrytitle"></div>
     8290              </p>
     8291              <p>
     8292                <div>
     8293                  <div class="refsect1" lang="en" xml:lang="en">
     8294                    <a xmlns="http://www.w3.org/1999/xhtml" id="id660819"></a>
     8295                    <div class="header">Description:</div>
     8296                    <p xmlns="http://www.w3.org/1999/xhtml">
     8297This function returns one of <code class="code">:right-inserting</code>, <code class="code">:left-inserting</code> or
     8298                            <code class="code">:temporary</code> depending on the mark's kind.  A corresponding setf form
     8299changes the mark's kind.
     8300                        </p>
     8301                  </div>
     8302                </div>
     8303              </p>
     8304              <p>
     8305                <div class="refentrytitle">
     8306                  <a id="f_previous-character"></a>
     8307                  <strong>[Function]</strong>
     8308                  <br></br>
     8309                  <code>
     8310                            previous-character mark
     8311                        </code>
     8312                </div>
     8313                <div class="refentrytitle"></div>
     8314              </p>
     8315              <p>
     8316                <div>
     8317                  <div class="refsect1" lang="en" xml:lang="en">
     8318                    <a xmlns="http://www.w3.org/1999/xhtml" id="id660884"></a>
     8319                    <div class="header">Description:</div>
     8320                    <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     8321                  </div>
     8322                </div>
     8323              </p>
     8324              <p>
     8325                <div class="refentrytitle">
     8326                  <a id="f_next-character"></a>
     8327                  <strong>[Function]</strong>
     8328                  <br></br>
     8329                  <code>
     8330                            next-character mark
     8331                        </code>
     8332                </div>
     8333                <div class="refentrytitle"></div>
     8334              </p>
     8335              <p>
     8336                <div>
     8337                  <div class="refsect1" lang="en" xml:lang="en">
     8338                    <a xmlns="http://www.w3.org/1999/xhtml" id="id660938"></a>
     8339                    <div class="header">Description:</div>
     8340                    <p xmlns="http://www.w3.org/1999/xhtml">
     8341This function returns the character immediately before (after) the
     8342position of the mark, or nil if there is no previous (next) character.
     8343These characters may be set with setf when they exist; the setf
     8344methods for these forms signal errors when there is no previous or
     8345next character.
     8346                        </p>
     8347                  </div>
     8348                </div>
     8349              </p>
     8350            </div>
     8351            <div class="sect3" lang="en" xml:lang="en">
     8352              <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     8353                <div>
     8354                  <div>
     8355                    <h4 class="title"><a id="MarksMakingMarks"></a>6.2.2.3. Making Marks</h4>
     8356                  </div>
     8357                </div>
     8358              </div>
     8359              <p>
     8360                <div class="refentrytitle">
     8361                  <a id="f_mark"></a>
     8362                  <strong>[Function]</strong>
     8363                  <br></br>
     8364                  <code>
     8365                            mark line charpos <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> kind
     8366                        </code>
     8367                </div>
     8368                <div class="refentrytitle"></div>
     8369              </p>
     8370              <p>
     8371                <div>
     8372                  <div class="refsect1" lang="en" xml:lang="en">
     8373                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661008"></a>
     8374                    <div class="header">Description:</div>
     8375                    <p xmlns="http://www.w3.org/1999/xhtml">
     8376This function returns a mark object that points to the charpos'th
     8377character of the line. Kind is the kind of mark to create, one
     8378of <code class="code">:temporary</code>, <code class="code">:left-inserting</code>, or <code class="code">:right-inserting</code>. The default is
     8379:temporary.
     8380                        </p>
     8381                  </div>
     8382                </div>
     8383              </p>
     8384              <p>
     8385                <div class="refentrytitle">
     8386                  <a id="f_copy-mark"></a>
     8387                  <strong>[Function]</strong>
     8388                  <br></br>
     8389                  <code>
     8390                            copy-mark mark <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> kind
     8391                        </code>
     8392                </div>
     8393                <div class="refentrytitle"></div>
     8394              </p>
     8395              <p>
     8396                <div>
     8397                  <div class="refsect1" lang="en" xml:lang="en">
     8398                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661077"></a>
     8399                    <div class="header">Description:</div>
     8400                    <p xmlns="http://www.w3.org/1999/xhtml">
     8401This function returns a new mark pointing to the same position and of
     8402the same kind, or of kind kind if it is supplied.
     8403                        </p>
     8404                  </div>
     8405                </div>
     8406              </p>
     8407              <p>
     8408                <div class="refentrytitle">
     8409                  <a id="f_delete-mark"></a>
     8410                  <strong>[Function]</strong>
     8411                  <br></br>
     8412                  <code>
     8413                            delete-mark mark
     8414                        </code>
     8415                </div>
     8416                <div class="refentrytitle"></div>
     8417              </p>
     8418              <p>
     8419                <div>
     8420                  <div class="refsect1" lang="en" xml:lang="en">
     8421                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661132"></a>
     8422                    <div class="header">Description:</div>
     8423                    <p xmlns="http://www.w3.org/1999/xhtml">
     8424This function deletes mark. Delete any permanent marks when you are
     8425finished using it.
     8426                        </p>
     8427                  </div>
     8428                </div>
     8429              </p>
     8430              <p>
     8431                <div class="refentrytitle">
     8432                  <a id="m_with-mark"></a>
     8433                  <strong>[Macro]</strong>
     8434                  <br></br>
     8435                  <code>
     8436                            with-mark ({(mark pos [kind])}*) {form}*
     8437                        </code>
     8438                </div>
     8439                <div class="refentrytitle"></div>
     8440              </p>
     8441              <p>
     8442                <div>
     8443                  <div class="refsect1" lang="en" xml:lang="en">
     8444                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661187"></a>
     8445                    <div class="header">Description:</div>
     8446                    <p xmlns="http://www.w3.org/1999/xhtml">
     8447This macro binds to each variable mark a mark of kind kind, which
     8448defaults to <code class="code">:temporary</code>, pointing to the same position as the
     8449markpos. On exit from the scope the mark is deleted.  The value of the
     8450last form is the value returned.
     8451                        </p>
     8452                  </div>
     8453                </div>
     8454              </p>
     8455            </div>
     8456            <div class="sect3" lang="en" xml:lang="en">
     8457              <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     8458                <div>
     8459                  <div>
     8460                    <h4 class="title"><a id="MarksMovingMarks"></a>6.2.2.4. Moving Marks</h4>
     8461                  </div>
     8462                </div>
     8463              </div>
     8464              <p xmlns="http://www.w3.org/1999/xhtml">
     8465These functions destructively modify marks to point to new positions.
     8466Other sections of this document describe mark moving routines specific
     8467to higher level text forms than characters and lines, such as words,
     8468sentences, paragraphs, Lisp forms, etc.
     8469                </p>
     8470              <p>
     8471                <div class="refentrytitle">
     8472                  <a id="f_move-to-position"></a>
     8473                  <strong>[Function]</strong>
     8474                  <br></br>
     8475                  <code>
     8476                            move-to-position mark charpos <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> line
     8477                        </code>
     8478                </div>
     8479                <div class="refentrytitle"></div>
     8480              </p>
     8481              <p>
     8482                <div>
     8483                  <div class="refsect1" lang="en" xml:lang="en">
     8484                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661266"></a>
     8485                    <div class="header">Description:</div>
     8486                    <p xmlns="http://www.w3.org/1999/xhtml">
     8487This function changes the mark to point to the given character
     8488position on the line line. Line defaults to mark's line.
     8489                        </p>
     8490                  </div>
     8491                </div>
     8492              </p>
     8493              <p>
     8494                <div class="refentrytitle">
     8495                  <a id="f_move-to-absolute-position"></a>
     8496                  <strong>[Function]</strong>
     8497                  <br></br>
     8498                  <code>
     8499                            move-to-absolute-position mark position
     8500                        </code>
     8501                </div>
     8502                <div class="refentrytitle"></div>
     8503              </p>
     8504              <p>
     8505                <div>
     8506                  <div class="refsect1" lang="en" xml:lang="en">
     8507                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661322"></a>
     8508                    <div class="header">Description:</div>
     8509                    <p xmlns="http://www.w3.org/1999/xhtml">
     8510This function changes the mark to point to the given character
     8511position in the buffer.
     8512                        </p>
     8513                  </div>
     8514                </div>
     8515              </p>
     8516              <p>
     8517                <div class="refentrytitle">
     8518                  <a id="f_move-mark"></a>
     8519                  <strong>[Function]</strong>
     8520                  <br></br>
     8521                  <code>
     8522                            move-mark mark new-position
     8523                        </code>
     8524                </div>
     8525                <div class="refentrytitle"></div>
     8526              </p>
     8527              <p>
     8528                <div>
     8529                  <div class="refsect1" lang="en" xml:lang="en">
     8530                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661376"></a>
     8531                    <div class="header">Description:</div>
     8532                    <p xmlns="http://www.w3.org/1999/xhtml">
     8533This function moves mark to the same position as the
     8534mark new-position and returns it.
     8535                        </p>
     8536                  </div>
     8537                </div>
     8538              </p>
     8539              <p>
     8540                <div class="refentrytitle">
     8541                  <a id="f_line-start"></a>
     8542                  <strong>[Function]</strong>
     8543                  <br></br>
     8544                  <code>
     8545                            line-start mark <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> line
     8546                        </code>
     8547                </div>
     8548                <div class="refentrytitle"></div>
     8549              </p>
     8550              <p>
     8551                <div>
     8552                  <div class="refsect1" lang="en" xml:lang="en">
     8553                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661434"></a>
     8554                    <div class="header">Description:</div>
     8555                    <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     8556                  </div>
     8557                </div>
     8558              </p>
     8559              <p>
     8560                <div class="refentrytitle">
     8561                  <a id="f_line-end"></a>
     8562                  <strong>[Function]</strong>
     8563                  <br></br>
     8564                  <code>
     8565                            line-end mark <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> line
     8566                        </code>
     8567                </div>
     8568                <div class="refentrytitle"></div>
     8569              </p>
     8570              <p>
     8571                <div>
     8572                  <div class="refsect1" lang="en" xml:lang="en">
     8573                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661492"></a>
     8574                    <div class="header">Description:</div>
     8575                    <p xmlns="http://www.w3.org/1999/xhtml">
     8576This function changes mark to point to the beginning or the end of
     8577line and returns it. Line defaults to mark's line.
     8578                        </p>
     8579                  </div>
     8580                </div>
     8581              </p>
     8582              <p>
     8583                <div class="refentrytitle">
     8584                  <a id="f_buffer-start"></a>
     8585                  <strong>[Function]</strong>
     8586                  <br></br>
     8587                  <code>
     8588                            buffer-start mark <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> buffer
     8589                        </code>
     8590                </div>
     8591                <div class="refentrytitle"></div>
     8592              </p>
     8593              <p>
     8594                <div>
     8595                  <div class="refsect1" lang="en" xml:lang="en">
     8596                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661550"></a>
     8597                    <div class="header">Description:</div>
     8598                    <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     8599                  </div>
     8600                </div>
     8601              </p>
     8602              <p>
     8603                <div class="refentrytitle">
     8604                  <a id="f_buffer-end"></a>
     8605                  <strong>[Function]</strong>
     8606                  <br></br>
     8607                  <code>
     8608                            buffer-end mark <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> buffer
     8609                        </code>
     8610                </div>
     8611                <div class="refentrytitle"></div>
     8612              </p>
     8613              <p>
     8614                <div>
     8615                  <div class="refsect1" lang="en" xml:lang="en">
     8616                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661607"></a>
     8617                    <div class="header">Description:</div>
     8618                    <p xmlns="http://www.w3.org/1999/xhtml">
     8619These functions change mark to point to the beginning or end of
     8620buffer, which defaults to the buffer mark currently points into. If
     8621buffer is unsupplied, then it is an error for mark to be disassociated
     8622from any buffer.
     8623                        </p>
     8624                  </div>
     8625                </div>
     8626              </p>
     8627              <p>
     8628                <div class="refentrytitle">
     8629                  <a id="f_mark-before"></a>
     8630                  <strong>[Function]</strong>
     8631                  <br></br>
     8632                  <code>
     8633                            mark-before mark
     8634                        </code>
     8635                </div>
     8636                <div class="refentrytitle"></div>
     8637              </p>
     8638              <p>
     8639                <div>
     8640                  <div class="refsect1" lang="en" xml:lang="en">
     8641                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661663"></a>
     8642                    <div class="header">Description:</div>
     8643                    <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     8644                  </div>
     8645                </div>
     8646              </p>
     8647              <p>
     8648                <div class="refentrytitle">
     8649                  <a id="f_mark-after"></a>
     8650                  <strong>[Function]</strong>
     8651                  <br></br>
     8652                  <code>
     8653                            mark-after mark
     8654                        </code>
     8655                </div>
     8656                <div class="refentrytitle"></div>
     8657              </p>
     8658              <p>
     8659                <div>
     8660                  <div class="refsect1" lang="en" xml:lang="en">
     8661                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661718"></a>
     8662                    <div class="header">Description:</div>
     8663                    <p xmlns="http://www.w3.org/1999/xhtml">
     8664These functions change mark to point one character before or after the
     8665current position.  If there is no character before/after the current
     8666position, then they return nil and leave mark unmodified.
     8667                        </p>
     8668                  </div>
     8669                </div>
     8670              </p>
     8671              <p>
     8672                <div class="refentrytitle">
     8673                  <a id="f_character-offset"></a>
     8674                  <strong>[Function]</strong>
     8675                  <br></br>
     8676                  <code>
     8677                            character-offset mark n
     8678                        </code>
     8679                </div>
     8680                <div class="refentrytitle"></div>
     8681              </p>
     8682              <p>
     8683                <div>
     8684                  <div class="refsect1" lang="en" xml:lang="en">
     8685                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661773"></a>
     8686                    <div class="header">Description:</div>
     8687                    <p xmlns="http://www.w3.org/1999/xhtml">
     8688This function changes mark to point n characters after (n before if n
     8689is negative) the current position.  If there are less than n
     8690characters after (before) the mark, then this returns nil and mark is
     8691unmodified.
     8692                        </p>
     8693                  </div>
     8694                </div>
     8695              </p>
     8696              <p>
     8697                <div class="refentrytitle">
     8698                  <a id="f_line-offset"></a>
     8699                  <strong>[Function]</strong>
     8700                  <br></br>
     8701                  <code>
     8702                            line-offset mark n <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> charpos
     8703                        </code>
     8704                </div>
     8705                <div class="refentrytitle"></div>
     8706              </p>
     8707              <p>
     8708                <div>
     8709                  <div class="refsect1" lang="en" xml:lang="en">
     8710                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661832"></a>
     8711                    <div class="header">Description:</div>
     8712                    <p xmlns="http://www.w3.org/1999/xhtml">
     8713This function changes mark to point n lines after (n before if n is
     8714negative) the current position.  The character position of the
     8715resulting mark is (min (line-length resulting-line) (mark-charpos
     8716mark)) if charpos is unspecified, or (min (line-length resulting-line)
     8717charpos) if it is.  As with character-offset, if there are not n lines
     8718then nil is returned and mark is not modified.
     8719                        </p>
     8720                  </div>
     8721                </div>
     8722              </p>
     8723            </div>
     8724          </div>
     8725          <div class="sect2" lang="en" xml:lang="en">
     8726            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     8727              <div>
     8728                <div>
     8729                  <h3 class="title"><a id="Regions"></a>6.2.3. Regions</h3>
     8730                </div>
     8731              </div>
     8732            </div>
     8733            <p xmlns="http://www.w3.org/1999/xhtml">
     8734A <code class="code">region</code> is simply a pair of marks: a starting mark and an ending
     8735mark.  The text in a region consists of the characters following the
     8736starting mark and preceding the ending mark (keep in mind that a mark
     8737points between characters on a line, not at them).  By modifying the
     8738starting or ending mark in a region it is possible to produce regions
     8739with a start and end which are out of order or even in different
     8740buffers.  The use of such regions is undefined and may result in
     8741arbitrarily bad behavior.
     8742            </p>
     8743            <div class="sect3" lang="en" xml:lang="en">
     8744              <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     8745                <div>
     8746                  <div>
     8747                    <h4 class="title"><a id="RegionsRegionFunctions"></a>6.2.3.1. Region Functions</h4>
     8748                  </div>
     8749                </div>
     8750              </div>
     8751              <p>
     8752                <div class="refentrytitle">
     8753                  <a id="f_region"></a>
     8754                  <strong>[Function]</strong>
     8755                  <br></br>
     8756                  <code>
     8757                            region start end
     8758                        </code>
     8759                </div>
     8760                <div class="refentrytitle"></div>
     8761              </p>
     8762              <p>
     8763                <div>
     8764                  <div class="refsect1" lang="en" xml:lang="en">
     8765                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661921"></a>
     8766                    <div class="header">Description:</div>
     8767                    <p xmlns="http://www.w3.org/1999/xhtml">
     8768This function returns a region constructed from the marks start and
     8769end. It is an error for the marks to point to non-contiguous lines or
     8770for start to come after end.
     8771                        </p>
     8772                  </div>
     8773                </div>
     8774              </p>
     8775              <p>
     8776                <div class="refentrytitle">
     8777                  <a id="f_regionp"></a>
     8778                  <strong>[Function]</strong>
     8779                  <br></br>
     8780                  <code>
     8781                            regionp region
     8782                        </code>
     8783                </div>
     8784                <div class="refentrytitle"></div>
     8785              </p>
     8786              <p>
     8787                <div>
     8788                  <div class="refsect1" lang="en" xml:lang="en">
     8789                    <a xmlns="http://www.w3.org/1999/xhtml" id="id661977"></a>
     8790                    <div class="header">Description:</div>
     8791                    <p xmlns="http://www.w3.org/1999/xhtml">
     8792This function returns t if region is a region object, otherwise nil.
     8793                        </p>
     8794                  </div>
     8795                </div>
     8796              </p>
     8797              <p>
     8798                <div class="refentrytitle">
     8799                  <a id="f_make-empty-region"></a>
     8800                  <strong>[Function]</strong>
     8801                  <br></br>
     8802                  <code>
     8803                            make-empty-region
     8804                        </code>
     8805                </div>
     8806                <div class="refentrytitle"></div>
     8807              </p>
     8808              <p>
     8809                <div>
     8810                  <div class="refsect1" lang="en" xml:lang="en">
     8811                    <a xmlns="http://www.w3.org/1999/xhtml" id="id662032"></a>
     8812                    <div class="header">Description:</div>
     8813                    <p xmlns="http://www.w3.org/1999/xhtml">
     8814This function returns a region with start and end marks pointing to
     8815the start of one empty line.  The start mark is a <code class="code">:right-inserting</code>
     8816mark, and the end is a <code class="code">:left-inserting</code> mark.
     8817                        </p>
     8818                  </div>
     8819                </div>
     8820              </p>
     8821              <p>
     8822                <div class="refentrytitle">
     8823                  <a id="f_copy-region"></a>
     8824                  <strong>[Function]</strong>
     8825                  <br></br>
     8826                  <code>
     8827                            copy-region region
     8828                        </code>
     8829                </div>
     8830                <div class="refentrytitle"></div>
     8831              </p>
     8832              <p>
     8833                <div>
     8834                  <div class="refsect1" lang="en" xml:lang="en">
     8835                    <a xmlns="http://www.w3.org/1999/xhtml" id="id662094"></a>
     8836                    <div class="header">Description:</div>
     8837                    <p xmlns="http://www.w3.org/1999/xhtml">
     8838This function returns a region containing a copy of the text in the
     8839specified region. The resulting region is completely disjoint
     8840from region with respect to data references --- marks, lines, text, etc.
     8841                        </p>
     8842                  </div>
     8843                </div>
     8844              </p>
     8845              <p>
     8846                <div class="refentrytitle">
     8847                  <a id="f_region-to-string"></a>
     8848                  <strong>[Function]</strong>
     8849                  <br></br>
     8850                  <code>
     8851                            region-to-string region
     8852                        </code>
     8853                </div>
     8854                <div class="refentrytitle"></div>
     8855              </p>
     8856              <p>
     8857                <div>
     8858                  <div class="refsect1" lang="en" xml:lang="en">
     8859                    <a xmlns="http://www.w3.org/1999/xhtml" id="id662150"></a>
     8860                    <div class="header">Description:</div>
     8861                    <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     8862                  </div>
     8863                </div>
     8864              </p>
     8865              <p>
     8866                <div class="refentrytitle">
     8867                  <a id="f_string-to-region"></a>
     8868                  <strong>[Function]</strong>
     8869                  <br></br>
     8870                  <code>
     8871                            string-to-region string
     8872                        </code>
     8873                </div>
     8874                <div class="refentrytitle"></div>
     8875              </p>
     8876              <p>
     8877                <div>
     8878                  <div class="refsect1" lang="en" xml:lang="en">
     8879                    <a xmlns="http://www.w3.org/1999/xhtml" id="id662205"></a>
     8880                    <div class="header">Description:</div>
     8881                    <p xmlns="http://www.w3.org/1999/xhtml">
     8882These functions coerce regions to Lisp strings and vice versa.  Within
     8883the string, lines are delimited by newline characters.
     8884                        </p>
     8885                  </div>
     8886                </div>
     8887              </p>
     8888              <p>
     8889                <div class="refentrytitle">
     8890                  <a id="f_line-to-region"></a>
     8891                  <strong>[Function]</strong>
     8892                  <br></br>
     8893                  <code>
     8894                            line-to-region line
     8895                        </code>
     8896                </div>
     8897                <div class="refentrytitle"></div>
     8898              </p>
     8899              <p>
     8900                <div>
     8901                  <div class="refsect1" lang="en" xml:lang="en">
     8902                    <a xmlns="http://www.w3.org/1999/xhtml" id="id662260"></a>
     8903                    <div class="header">Description:</div>
     8904                    <p xmlns="http://www.w3.org/1999/xhtml">
     8905This function returns a region containing all the characters on
     8906line. The first mark is <code class="code">:right-inserting</code> and the last is
     8907                            <code class="code">:left-inserting</code>.
     8908                        </p>
     8909                  </div>
     8910                </div>
     8911              </p>
     8912              <p>
     8913                <div class="refentrytitle">
     8914                  <a id="f_region-start"></a>
     8915                  <strong>[Function]</strong>
     8916                  <br></br>
     8917                  <code>
     8918                            region-start region
     8919                        </code>
     8920                </div>
     8921                <div class="refentrytitle"></div>
     8922              </p>
     8923              <p>
     8924                <div>
     8925                  <div class="refsect1" lang="en" xml:lang="en">
     8926                    <a xmlns="http://www.w3.org/1999/xhtml" id="id662322"></a>
     8927                    <div class="header">Description:</div>
     8928                    <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     8929                  </div>
     8930                </div>
     8931              </p>
     8932              <p>
     8933                <div class="refentrytitle">
     8934                  <a id="f_region-end"></a>
     8935                  <strong>[Function]</strong>
     8936                  <br></br>
     8937                  <code>
     8938                            region-end region
     8939                        </code>
     8940                </div>
     8941                <div class="refentrytitle"></div>
     8942              </p>
     8943              <p>
     8944                <div>
     8945                  <div class="refsect1" lang="en" xml:lang="en">
     8946                    <a xmlns="http://www.w3.org/1999/xhtml" id="id662376"></a>
     8947                    <div class="header">Description:</div>
     8948                    <p xmlns="http://www.w3.org/1999/xhtml">
     8949This function returns the start or end mark of region.
     8950                        </p>
     8951                  </div>
     8952                </div>
     8953              </p>
     8954              <p>
     8955                <div class="refentrytitle">
     8956                  <a id="f_region-bounds"></a>
     8957                  <strong>[Function]</strong>
     8958                  <br></br>
     8959                  <code>
     8960                            region-bounds region
     8961                        </code>
     8962                </div>
     8963                <div class="refentrytitle"></div>
     8964              </p>
     8965              <p>
     8966                <div>
     8967                  <div class="refsect1" lang="en" xml:lang="en">
     8968                    <a xmlns="http://www.w3.org/1999/xhtml" id="id684753"></a>
     8969                    <div class="header">Description:</div>
     8970                    <p xmlns="http://www.w3.org/1999/xhtml">
     8971This function returns as multiple-values the starting and ending marks
     8972of region.
     8973                        </p>
     8974                  </div>
     8975                </div>
     8976              </p>
     8977              <p>
     8978                <div class="refentrytitle">
     8979                  <a id="f_set-region-bounds"></a>
     8980                  <strong>[Function]</strong>
     8981                  <br></br>
     8982                  <code>
     8983                            set-region-bounds region start end
     8984                        </code>
     8985                </div>
     8986                <div class="refentrytitle"></div>
     8987              </p>
     8988              <p>
     8989                <div>
     8990                  <div class="refsect1" lang="en" xml:lang="en">
     8991                    <a xmlns="http://www.w3.org/1999/xhtml" id="id684800"></a>
     8992                    <div class="header">Description:</div>
     8993                    <p xmlns="http://www.w3.org/1999/xhtml">
     8994This function sets the start and end of region to start and end. It is
     8995an error for start to be after or in a different buffer from end.
     8996                        </p>
     8997                  </div>
     8998                </div>
     8999              </p>
     9000              <p>
     9001                <div class="refentrytitle">
     9002                  <a id="f_count-lines"></a>
     9003                  <strong>[Function]</strong>
     9004                  <br></br>
     9005                  <code>
     9006                            count-lines region
     9007                        </code>
     9008                </div>
     9009                <div class="refentrytitle"></div>
     9010              </p>
     9011              <p>
     9012                <div>
     9013                  <div class="refsect1" lang="en" xml:lang="en">
     9014                    <a xmlns="http://www.w3.org/1999/xhtml" id="id684848"></a>
     9015                    <div class="header">Description:</div>
     9016                    <p xmlns="http://www.w3.org/1999/xhtml">
     9017This function returns the number of lines in the region, first and
     9018last lines inclusive.  A newline is associated with the line it
     9019follows, thus a region containing some number of non-newline
     9020characters followed by one newline is one line, but if a newline were
     9021added at the beginning, it would be two lines.
     9022                        </p>
     9023                  </div>
     9024                </div>
     9025              </p>
     9026              <p>
     9027                <div class="refentrytitle">
     9028                  <a id="f_count-characters"></a>
     9029                  <strong>[Function]</strong>
     9030                  <br></br>
     9031                  <code>
     9032                            count-characters region
     9033                        </code>
     9034                </div>
     9035                <div class="refentrytitle"></div>
     9036              </p>
     9037              <p>
     9038                <div>
     9039                  <div class="refsect1" lang="en" xml:lang="en">
     9040                    <a xmlns="http://www.w3.org/1999/xhtml" id="id684897"></a>
     9041                    <div class="header">Description:</div>
     9042                    <p xmlns="http://www.w3.org/1999/xhtml">
     9043This function returns the number of characters in a given region. This
     9044counts line breaks as one character.
     9045                        </p>
     9046                  </div>
     9047                </div>
     9048              </p>
     9049            </div>
     9050          </div>
     9051        </div>
     9052        <div class="sect1" lang="en" xml:lang="en">
     9053          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     9054            <div>
     9055              <div>
     9056                <h2 class="title" style="clear: both"><a id="HemlockProgrammingBuffers"></a>6.3. Buffers</h2>
     9057              </div>
     9058            </div>
     9059          </div>
     9060          <p xmlns="http://www.w3.org/1999/xhtml">
     9061A buffer is an object consisting of:
     9062            </p>
     9063          <div xmlns="http://www.w3.org/1999/xhtml" class="orderedlist">
     9064            <ol class="orderedlist" type="1">
     9065              <li class="listitem">
     9066                <p>
     9067A name.
     9068                    </p>
     9069              </li>
     9070              <li class="listitem">
     9071                <p>
     9072A piece of text.
     9073                    </p>
     9074              </li>
     9075              <li class="listitem">
     9076                <p>
     9077The insertion point.
     9078                    </p>
     9079              </li>
     9080              <li class="listitem">
     9081                <p>
     9082An associated file (optional).
     9083                    </p>
     9084              </li>
     9085              <li class="listitem">
     9086                <p>
     9087A write protect flag.
     9088                    </p>
     9089              </li>
     9090              <li class="listitem">
     9091                <p>
     9092Some <a class="ulink" href="HemlockProgrammer/HemlockVariables" target="_top">variables</a>.
     9093                    </p>
     9094              </li>
     9095              <li class="listitem">
     9096                <p>
     9097Some <a class="ulink" href="HemlockProgrammer/Commands" target="_top">key bindings</a>.
     9098                    </p>
     9099              </li>
     9100              <li class="listitem">
     9101                <p>
     9102A collection of <a class="ulink" href="HemlockProgrammer/Modes" target="_top">modes</a>.
     910310. A list of modeline fields (optional).
     9104                    </p>
     9105              </li>
     9106            </ol>
     9107          </div>
     9108          <p xmlns="http://www.w3.org/1999/xhtml">Because of the way Hemlock is currently integrated in Cocoa, all modifications
     9109to buffer contents must take place in the GUI thread.  Hemlock commands always
     9110run in the GUI thread, so most of the time you do not need to worry about it.
     9111If you are running code in another thread that needs to modify a buffer, you
     9112should perform that action using <code class="code">gui::execute-in-gui</code> or <code class="code">gui::queue-for-gui</code>.
     9113        </p>
     9114          <p xmlns="http://www.w3.org/1999/xhtml">
     9115There are no intrinsic limitations on examining buffers from any thread,
     9116however, Hemlock currently does no locking, so you risk seeing the buffer
     9117in an inconsistent state if you look at it outside the GUI thread.
     9118        </p>
     9119          <div class="sect2" lang="en" xml:lang="en">
     9120            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     9121              <div>
     9122                <div>
     9123                  <h3 class="title"><a id="CurrentBuffer"></a>6.3.1. The Current Buffer</h3>
     9124                </div>
     9125              </div>
     9126            </div>
     9127            <p xmlns="http://www.w3.org/1999/xhtml">
     9128Hemlock has the concept of the "current buffer".  The current buffer
     9129is defined during Hemlock commands as the buffer of the hemlock view
     9130that received the key events that invoked the command.  Many hemlock
     9131function operate on the current buffer rather than taking an explicit
     9132buffer argument.  In effect, the current buffer is an implicit argument
     9133to many text manipulation functions.
     9134            </p>
     9135            <p>
     9136              <div class="refentrytitle">
     9137                <a id="f_current-buffer"></a>
     9138                <strong>[Function]</strong>
     9139                <br></br>
     9140                <code>
     9141                        current-buffer 
     9142                    </code>
     9143              </div>
     9144              <div class="refentrytitle"></div>
     9145            </p>
     9146            <p>
     9147              <div>
     9148                <div class="refsect1" lang="en" xml:lang="en">
     9149                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685061"></a>
     9150                  <div class="header">Description:</div>
     9151                  <p xmlns="http://www.w3.org/1999/xhtml">
     9152Returns the current buffer, which, during command execution, is the
     9153buffer that is the target of the command.
     9154                    </p>
     9155                </div>
     9156              </div>
     9157            </p>
     9158            <p>
     9159              <div class="refentrytitle">
     9160                <a id="f_current-point"></a>
     9161                <strong>[Function]</strong>
     9162                <br></br>
     9163                <code>
     9164                        current-point
     9165                    </code>
     9166              </div>
     9167              <div class="refentrytitle"></div>
     9168            </p>
     9169            <p>
     9170              <div>
     9171                <div class="refsect1" lang="en" xml:lang="en">
     9172                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685108"></a>
     9173                  <div class="header">Description:</div>
     9174                  <p xmlns="http://www.w3.org/1999/xhtml">
     9175This function returns the buffer-point of the current buffer . This is
     9176such a common idiom in commands that it is defined despite its trivial
     9177implementation.
     9178                    </p>
     9179                </div>
     9180              </div>
     9181            </p>
     9182            <p>
     9183              <div class="refentrytitle">
     9184                <a id="f_current-point-collapsing-selection"></a>
     9185                <strong>[Function]</strong>
     9186                <br></br>
     9187                <code>
     9188                        current-point-collapsing-selection
     9189                    </code>
     9190              </div>
     9191              <div class="refentrytitle"></div>
     9192            </p>
     9193            <p>
     9194              <div>
     9195                <div class="refsect1" lang="en" xml:lang="en">
     9196                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685156"></a>
     9197                  <div class="header">Description:</div>
     9198                  <p xmlns="http://www.w3.org/1999/xhtml">
     9199This function returns the buffer-point of the current buffer, after first
     9200deactivating any active region.
     9201                    </p>
     9202                </div>
     9203              </div>
     9204            </p>
     9205            <p>
     9206              <div class="refentrytitle">
     9207                <a id="f_current-point-extending-selection"></a>
     9208                <strong>[Function]</strong>
     9209                <br></br>
     9210                <code>
     9211                        current-point-extending-selection
     9212                    </code>
     9213              </div>
     9214              <div class="refentrytitle"></div>
     9215            </p>
     9216            <p>
     9217              <div>
     9218                <div class="refsect1" lang="en" xml:lang="en">
     9219                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685203"></a>
     9220                  <div class="header">Description:</div>
     9221                  <p xmlns="http://www.w3.org/1999/xhtml">
     9222This function returns the buffer-point of the current buffer, after first
     9223making sure there is an active region - if the region is already active,
     9224keeps it active, otherwise it establishes a new (empty) region at point.
     9225                    </p>
     9226                </div>
     9227              </div>
     9228            </p>
     9229            <p>
     9230              <div class="refentrytitle">
     9231                <a id="f_current-point-for-insertion"></a>
     9232                <strong>[Function]</strong>
     9233                <br></br>
     9234                <code>
     9235                        current-point-for-insertion
     9236                    </code>
     9237              </div>
     9238              <div class="refentrytitle"></div>
     9239            </p>
     9240            <p>
     9241              <div>
     9242                <div class="refsect1" lang="en" xml:lang="en">
     9243                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685251"></a>
     9244                  <div class="header">Description:</div>
     9245                  <p xmlns="http://www.w3.org/1999/xhtml">
     9246This function checks to see if the current buffer can be modified at its
     9247current point, and errors if not.  Otherwise, it deletes the current
     9248selection if any, and returns the current point.
     9249                    </p>
     9250                </div>
     9251              </div>
     9252            </p>
     9253            <p>
     9254              <div class="refentrytitle">
     9255                <a id="f_current-point-for-deletion"></a>
     9256                <strong>[Function]</strong>
     9257                <br></br>
     9258                <code>
     9259                        current-point-for-deletion
     9260                    </code>
     9261              </div>
     9262              <div class="refentrytitle"></div>
     9263            </p>
     9264            <p>
     9265              <div>
     9266                <div class="refsect1" lang="en" xml:lang="en">
     9267                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685306"></a>
     9268                  <div class="header">Description:</div>
     9269                  <p xmlns="http://www.w3.org/1999/xhtml">
     9270This function checks to see if the current buffer can be modified at its
     9271current point and errors if not.  Otherwise, if there is a section
     9272in the current buffer, it deletes it and returns NIL.  If there is no
     9273selection, it returns the current point.
     9274                    </p>
     9275                </div>
     9276              </div>
     9277            </p>
     9278            <p>
     9279              <div class="refentrytitle">
     9280                <a id="f_current-point-unless-selection"></a>
     9281                <strong>[Function]</strong>
     9282                <br></br>
     9283                <code>
     9284                        current-point-unless-selection
     9285                    </code>
     9286              </div>
     9287              <div class="refentrytitle"></div>
     9288            </p>
     9289            <p>
     9290              <div>
     9291                <div class="refsect1" lang="en" xml:lang="en">
     9292                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685362"></a>
     9293                  <div class="header">Description:</div>
     9294                  <p xmlns="http://www.w3.org/1999/xhtml">
     9295This function checks to see if the current buffer can be modified at its
     9296current point and errors if not.  Otherwise, if there's a selection in the
     9297current buffer, returns NIL.  If there is no selection, it returns the
     9298current point.
     9299                    </p>
     9300                </div>
     9301              </div>
     9302            </p>
     9303            <p>
     9304              <div class="refentrytitle">
     9305                <a id="f_current-mark"></a>
     9306                <strong>[Function]</strong>
     9307                <br></br>
     9308                <code>
     9309                        current-mark
     9310                    </code>
     9311              </div>
     9312              <div class="refentrytitle"></div>
     9313            </p>
     9314            <p>
     9315              <div>
     9316                <div class="refsect1" lang="en" xml:lang="en">
     9317                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685418"></a>
     9318                  <div class="header">Description:</div>
     9319                  <p xmlns="http://www.w3.org/1999/xhtml">
     9320This function returns the top of the current buffer's mark stack.
     9321There always is at least one mark at the beginning of the buffer's
     9322region, and all marks returned are right-inserting.
     9323                    </p>
     9324                </div>
     9325              </div>
     9326            </p>
     9327            <p>
     9328              <div class="refentrytitle">
     9329                <a id="f_pop-buffer-mark"></a>
     9330                <strong>[Function]</strong>
     9331                <br></br>
     9332                <code>
     9333                        pop-buffer-mark
     9334                    </code>
     9335              </div>
     9336              <div class="refentrytitle"></div>
     9337            </p>
     9338            <p>
     9339              <div>
     9340                <div class="refsect1" lang="en" xml:lang="en">
     9341                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685474"></a>
     9342                  <div class="header">Description:</div>
     9343                  <p xmlns="http://www.w3.org/1999/xhtml">
     9344This function pops the current buffer's mark stack, returning the
     9345mark.  If the stack becomes empty, this pushes a new mark on the stack
     9346pointing to the buffer's start.  This always deactivates the current
     9347region (see <a class="ulink" href="HemlockProgrammer/AlteringAndSearchingText#ActiveRegions" target="_top">Active Regions</a>).
     9348                    </p>
     9349                </div>
     9350              </div>
     9351            </p>
     9352            <p>
     9353              <div class="refentrytitle">
     9354                <a id="f_push-buffer-mark"></a>
     9355                <strong>[Function]</strong>
     9356                <br></br>
     9357                <code>
     9358                        push-buffer-mark mark <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> activate-region
     9359                    </code>
     9360              </div>
     9361              <div class="refentrytitle"></div>
     9362            </p>
     9363            <p>
     9364              <div>
     9365                <div class="refsect1" lang="en" xml:lang="en">
     9366                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685540"></a>
     9367                  <div class="header">Description:</div>
     9368                  <p xmlns="http://www.w3.org/1999/xhtml">
     9369This function pushes mark into the current buffer's mark stack,
     9370ensuring that the mark is right-inserting. If mark does not point into
     9371the current buffer, this signals an error.  Optionally, the current
     9372region is made active, but this never deactivates the current region
     9373(see <a class="ulink" href="HemlockProgrammer/AlteringAndSearchingText#ActiveRegions" target="_top">Active Regions</a>).
     9374Mark is returned.
     9375                    </p>
     9376                </div>
     9377              </div>
     9378            </p>
     9379            <p>
     9380              <div class="refentrytitle">
     9381                <a id="f_push-new-buffer-mark"></a>
     9382                <strong>[Function]</strong>
     9383                <br></br>
     9384                <code>
     9385                        push-new-buffer-mark mark <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> activate-region
     9386                    </code>
     9387              </div>
     9388              <div class="refentrytitle"></div>
     9389            </p>
     9390            <p>
     9391              <div>
     9392                <div class="refsect1" lang="en" xml:lang="en">
     9393                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685606"></a>
     9394                  <div class="header">Description:</div>
     9395                  <p xmlns="http://www.w3.org/1999/xhtml">
     9396This function pushes a new mark onto the mark stack, at the position of <code class="code">mark</code>.
     9397It's equivalent to calling <code class="code">push-buffer-mark</code> on <code class="code">(copy-mark mark)</code>.
     9398                    </p>
     9399                </div>
     9400              </div>
     9401            </p>
     9402            <p>
     9403              <div class="refentrytitle">
     9404                <a id="f_all-buffers"></a>
     9405                <strong>[Function]</strong>
     9406                <br></br>
     9407                <code>
     9408                        all-buffers
     9409                    </code>
     9410              </div>
     9411              <div class="refentrytitle"></div>
     9412            </p>
     9413            <p>
     9414              <div>
     9415                <div class="refsect1" lang="en" xml:lang="en">
     9416                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685672"></a>
     9417                  <div class="header">Description:</div>
     9418                  <p xmlns="http://www.w3.org/1999/xhtml">
     9419This function returns a list of all the buffer objects made with make-buffer.
     9420                    </p>
     9421                </div>
     9422              </div>
     9423            </p>
     9424            <p>
     9425              <div class="refentrytitle">
     9426                <a id="v_buffer-names"></a>
     9427                <strong>[Variable]</strong>
     9428                <br></br>
     9429                <code>
     9430                        *buffer-names*
     9431                    </code>
     9432              </div>
     9433              <div class="refentrytitle"></div>
     9434            </p>
     9435            <p>
     9436              <div>
     9437                <div class="refsect1" lang="en" xml:lang="en">
     9438                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685727"></a>
     9439                  <div class="header">Description:</div>
     9440                  <p xmlns="http://www.w3.org/1999/xhtml">
     9441This variable holds a <a class="ulink" href="HemlockProgrammer/Utilities#StringTables" target="_top">string-table</a>
     9442mapping the name of a buffer to the corresponding buffer object.
     9443                    </p>
     9444                </div>
     9445              </div>
     9446            </p>
     9447          </div>
     9448          <div class="sect2" lang="en" xml:lang="en">
     9449            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     9450              <div>
     9451                <div>
     9452                  <h3 class="title"><a id="BufferFunctions"></a>6.3.2. Buffer  Functions</h3>
     9453                </div>
     9454              </div>
     9455            </div>
     9456            <p>
     9457              <div class="refentrytitle">
     9458                <a id="f_make-buffer"></a>
     9459                <strong>[Function]</strong>
     9460                <br></br>
     9461                <code>
     9462                        make-buffer  name <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :modes :modeline-fields :delete-hook
     9463                    </code>
     9464              </div>
     9465              <div class="refentrytitle"></div>
     9466            </p>
     9467            <p>
     9468              <div>
     9469                <div class="refsect1" lang="en" xml:lang="en">
     9470                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685804"></a>
     9471                  <div class="header">Description:</div>
     9472                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     9473                </div>
     9474              </div>
     9475            </p>
     9476            <p>
     9477              <div class="refentrytitle">
     9478                <a id="hv_default_modeline_fields"></a>
     9479                <strong>[Hemlock Variable]</strong>
     9480                <br></br>
     9481                <code>
     9482                        Default Modeline Fields
     9483                    </code>
     9484              </div>
     9485              <div class="refentrytitle"></div>
     9486            </p>
     9487            <p>
     9488              <div>
     9489                <div class="refsect1" lang="en" xml:lang="en">
     9490                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685858"></a>
     9491                  <div class="header">Description:</div>
     9492                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     9493                </div>
     9494              </div>
     9495            </p>
     9496            <p>
     9497              <div class="refentrytitle">
     9498                <a id="hv_make_buffer_hook"></a>
     9499                <strong>[Hemlock Variable]</strong>
     9500                <br></br>
     9501                <code>
     9502                        Make Buffer Hook
     9503                    </code>
     9504              </div>
     9505              <div class="refentrytitle"></div>
     9506            </p>
     9507            <p>
     9508              <div>
     9509                <div class="refsect1" lang="en" xml:lang="en">
     9510                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685912"></a>
     9511                  <div class="header">Description:</div>
     9512                  <p xmlns="http://www.w3.org/1999/xhtml">
     9513make-buffer creates and returns a buffer with the given name. If a
     9514buffer named name already exists, nil is returned. Modes is a list of
     9515modes which should be in effect in the buffer, major mode first,
     9516followed by any minor modes.  If this is omitted then the buffer is
     9517created with the list of modes contained in Default Modes (page
     951835). Modeline-fields is a list of modeline-field objects (see section
     95193.3) which may be nil. delete-hook is a list of delete hooks specific
     9520to this buffer, and delete-buffer invokes these along with Delete
     9521Buffer Hook.
     9522                    </p>
     9523                  <p xmlns="http://www.w3.org/1999/xhtml">
     9524Buffers created with make-buffer are entered into the list
     9525(all-buffers), and their names are inserted into the string-table
     9526*buffer-names*. When a buffer is created the hook Make Buffer Hook is
     9527invoked with the new buffer.
     9528                    </p>
     9529                </div>
     9530              </div>
     9531            </p>
     9532            <p>
     9533              <div class="refentrytitle">
     9534                <a id="f_bufferp"></a>
     9535                <strong>[Function]</strong>
     9536                <br></br>
     9537                <code>
     9538                        bufferp buffer 
     9539                    </code>
     9540              </div>
     9541              <div class="refentrytitle"></div>
     9542            </p>
     9543            <p>
     9544              <div>
     9545                <div class="refsect1" lang="en" xml:lang="en">
     9546                  <a xmlns="http://www.w3.org/1999/xhtml" id="id685976"></a>
     9547                  <div class="header">Description:</div>
     9548                  <p xmlns="http://www.w3.org/1999/xhtml">
     9549Returns t if buffer is a buffer object, otherwise nil.
     9550                    </p>
     9551                </div>
     9552              </div>
     9553            </p>
     9554            <p>
     9555              <div class="refentrytitle">
     9556                <a id="f_buffer-name"></a>
     9557                <strong>[Function]</strong>
     9558                <br></br>
     9559                <code>
     9560                        buffer-name buffer 
     9561                    </code>
     9562              </div>
     9563              <div class="refentrytitle"></div>
     9564            </p>
     9565            <p>
     9566              <div>
     9567                <div class="refsect1" lang="en" xml:lang="en">
     9568                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686031"></a>
     9569                  <div class="header">Description:</div>
     9570                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     9571                </div>
     9572              </div>
     9573            </p>
     9574            <p>
     9575              <div class="refentrytitle">
     9576                <a id="hv_buffer_name_hook"></a>
     9577                <strong>[Hemlock Variable]</strong>
     9578                <br></br>
     9579                <code>
     9580                        Buffer Name Hook
     9581                    </code>
     9582              </div>
     9583              <div class="refentrytitle"></div>
     9584            </p>
     9585            <p>
     9586              <div>
     9587                <div class="refsect1" lang="en" xml:lang="en">
     9588                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686084"></a>
     9589                  <div class="header">Description:</div>
     9590                  <p xmlns="http://www.w3.org/1999/xhtml">
     9591buffer-name returns the name, which is a string, of the given buffer.
     9592The corresponding setf method invokes Buffer Name Hook with buffer
     9593and the new name and then sets the buffer's name.  When the user
     9594supplies a name for which a buffer already exists, the setf method
     9595signals an error.
     9596                    </p>
     9597                </div>
     9598              </div>
     9599            </p>
     9600            <p>
     9601              <div class="refentrytitle">
     9602                <a id="f_buffer-region"></a>
     9603                <strong>[Function]</strong>
     9604                <br></br>
     9605                <code>
     9606                        buffer-region buffer 
     9607                    </code>
     9608              </div>
     9609              <div class="refentrytitle"></div>
     9610            </p>
     9611            <p>
     9612              <div>
     9613                <div class="refsect1" lang="en" xml:lang="en">
     9614                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686141"></a>
     9615                  <div class="header">Description:</div>
     9616                  <p xmlns="http://www.w3.org/1999/xhtml">
     9617Returns the buffer's region.  Note this is the region that contains all
     9618the text in a buffer, not the current-region (page 19).
     9619                    </p>
     9620                  <p xmlns="http://www.w3.org/1999/xhtml">
     9621This can be set with setf to replace the buffer's text.
     9622                    </p>
     9623                </div>
     9624              </div>
     9625            </p>
     9626            <p>
     9627              <div class="refentrytitle">
     9628                <a id="f_buffer-pathname"></a>
     9629                <strong>[Function]</strong>
     9630                <br></br>
     9631                <code>
     9632                        buffer-pathname buffer 
     9633                    </code>
     9634              </div>
     9635              <div class="refentrytitle"></div>
     9636            </p>
     9637            <p>
     9638              <div>
     9639                <div class="refsect1" lang="en" xml:lang="en">
     9640                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686200"></a>
     9641                  <div class="header">Description:</div>
     9642                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     9643                </div>
     9644              </div>
     9645            </p>
     9646            <p>
     9647              <div class="refentrytitle">
     9648                <a id="hv_buffer_pathname_hook"></a>
     9649                <strong>[Hemlock Variable]</strong>
     9650                <br></br>
     9651                <code>
     9652                        Buffer Pathname Hook
     9653                    </code>
     9654              </div>
     9655              <div class="refentrytitle"></div>
     9656            </p>
     9657            <p>
     9658              <div>
     9659                <div class="refsect1" lang="en" xml:lang="en">
     9660                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686254"></a>
     9661                  <div class="header">Description:</div>
     9662                  <p xmlns="http://www.w3.org/1999/xhtml">
     9663buffer-pathname returns the pathname of the file associated with the
     9664given buffer, or nil if it has no associated file.  This is the
     9665truename of the file as of the most recent time it was read or
     9666written.  There is a setf form to change the pathname.  When the
     9667pathname is changed the hook Buffer Pathname Hook is invoked with the
     9668buffer and new value.
     9669                    </p>
     9670                </div>
     9671              </div>
     9672            </p>
     9673            <p>
     9674              <div class="refentrytitle">
     9675                <a id="f_buffer-write-date"></a>
     9676                <strong>[Function]</strong>
     9677                <br></br>
     9678                <code>
     9679                        buffer-write-date buffer 
     9680                    </code>
     9681              </div>
     9682              <div class="refentrytitle"></div>
     9683            </p>
     9684            <p>
     9685              <div>
     9686                <div class="refsect1" lang="en" xml:lang="en">
     9687                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686311"></a>
     9688                  <div class="header">Description:</div>
     9689                  <p xmlns="http://www.w3.org/1999/xhtml">
     9690Returns the write date for the file associated with the buffer in
     9691universal time format.  When this the buffer-pathname is set, use setf
     9692to set this to the corresponding write date, or to nil if the date is
     9693unknown or there is no file.
     9694                    </p>
     9695                </div>
     9696              </div>
     9697            </p>
     9698            <p>
     9699              <div class="refentrytitle">
     9700                <a id="f_buffer-point"></a>
     9701                <strong>[Function]</strong>
     9702                <br></br>
     9703                <code>
     9704                        buffer-point buffer 
     9705                    </code>
     9706              </div>
     9707              <div class="refentrytitle"></div>
     9708            </p>
     9709            <p>
     9710              <div>
     9711                <div class="refsect1" lang="en" xml:lang="en">
     9712                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686368"></a>
     9713                  <div class="header">Description:</div>
     9714                  <p xmlns="http://www.w3.org/1999/xhtml">
     9715Returns the mark which is the current location within buffer. To move
     9716the point, use move-mark or move-to-position (page 5).
     9717                    </p>
     9718                </div>
     9719              </div>
     9720            </p>
     9721            <p>
     9722              <div class="refentrytitle">
     9723                <a id="f_buffer-mark"></a>
     9724                <strong>[Function]</strong>
     9725                <br></br>
     9726                <code>
     9727                        buffer-mark buffer 
     9728                    </code>
     9729              </div>
     9730              <div class="refentrytitle"></div>
     9731            </p>
     9732            <p>
     9733              <div>
     9734                <div class="refsect1" lang="en" xml:lang="en">
     9735                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686423"></a>
     9736                  <div class="header">Description:</div>
     9737                  <p xmlns="http://www.w3.org/1999/xhtml">
     9738This function returns the top of buffer's mark stack.  There always is
     9739at least one mark at the beginning of buffer's region, and all marks
     9740returned are right-inserting.
     9741                    </p>
     9742                </div>
     9743              </div>
     9744            </p>
     9745            <p>
     9746              <div class="refentrytitle">
     9747                <a id="f_buffer-start-mark"></a>
     9748                <strong>[Function]</strong>
     9749                <br></br>
     9750                <code>
     9751                        buffer-start-mark buffer 
     9752                    </code>
     9753              </div>
     9754              <div class="refentrytitle"></div>
     9755            </p>
     9756            <p>
     9757              <div>
     9758                <div class="refsect1" lang="en" xml:lang="en">
     9759                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686479"></a>
     9760                  <div class="header">Description:</div>
     9761                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     9762                </div>
     9763              </div>
     9764            </p>
     9765            <p>
     9766              <div class="refentrytitle">
     9767                <a id="f_buffer-end-mark"></a>
     9768                <strong>[Function]</strong>
     9769                <br></br>
     9770                <code>
     9771                        buffer-end-mark buffer 
     9772                    </code>
     9773              </div>
     9774              <div class="refentrytitle"></div>
     9775            </p>
     9776            <p>
     9777              <div>
     9778                <div class="refsect1" lang="en" xml:lang="en">
     9779                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686532"></a>
     9780                  <div class="header">Description:</div>
     9781                  <p xmlns="http://www.w3.org/1999/xhtml">
     9782These functions return the start and end marks of buffer's region:
     9783</p>
     9784                  <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     9785
     9786(buffer-start-mark buffer )  &amp;lt;==&amp;gt;  (region-start (buffer-region buffer))
     9787
     9788</pre>
     9789                  <p xmlns="http://www.w3.org/1999/xhtml">and
     9790</p>
     9791                  <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     9792
     9793(buffer-end-mark buffer )  &amp;lt;==&amp;gt;  (region-end (buffer-region buffer))
     9794
     9795</pre>
     9796                  <p xmlns="http://www.w3.org/1999/xhtml">
     9797                    </p>
     9798                </div>
     9799              </div>
     9800            </p>
     9801            <p>
     9802              <div class="refentrytitle">
     9803                <a id="f_buffer-writable"></a>
     9804                <strong>[Function]</strong>
     9805                <br></br>
     9806                <code>
     9807                        buffer-writable buffer 
     9808                    </code>
     9809              </div>
     9810              <div class="refentrytitle"></div>
     9811            </p>
     9812            <p>
     9813              <div>
     9814                <div class="refsect1" lang="en" xml:lang="en">
     9815                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686600"></a>
     9816                  <div class="header">Description:</div>
     9817                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     9818                </div>
     9819              </div>
     9820            </p>
     9821            <p>
     9822              <div class="refentrytitle">
     9823                <a id="hv_buffer_writable_hook"></a>
     9824                <strong>[Hemlock Variable]</strong>
     9825                <br></br>
     9826                <code>
     9827                        Buffer Writable Hook
     9828                    </code>
     9829              </div>
     9830              <div class="refentrytitle"></div>
     9831            </p>
     9832            <p>
     9833              <div>
     9834                <div class="refsect1" lang="en" xml:lang="en">
     9835                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686654"></a>
     9836                  <div class="header">Description:</div>
     9837                  <p xmlns="http://www.w3.org/1999/xhtml">
     9838This function returns t if you can modify the buffer, nil if you
     9839cannot.  If a buffer is not writable, then any attempt to alter text
     9840in the buffer results in an error.  There is a setf method to change
     9841this value.  The setf method invokes the functions in Buffer Writable
     9842Hook on the buffer and new value before storing the new value.
     9843                    </p>
     9844                </div>
     9845              </div>
     9846            </p>
     9847            <p>
     9848              <div class="refentrytitle">
     9849                <a id="f_buffer-modified"></a>
     9850                <strong>[Function]</strong>
     9851                <br></br>
     9852                <code>
     9853                        buffer-modified buffer 
     9854                    </code>
     9855              </div>
     9856              <div class="refentrytitle"></div>
     9857            </p>
     9858            <p>
     9859              <div>
     9860                <div class="refsect1" lang="en" xml:lang="en">
     9861                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686711"></a>
     9862                  <div class="header">Description:</div>
     9863                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     9864                </div>
     9865              </div>
     9866            </p>
     9867            <p>
     9868              <div class="refentrytitle">
     9869                <a id="hv_buffer_modified_hook"></a>
     9870                <strong>[Hemlock Variable]</strong>
     9871                <br></br>
     9872                <code>
     9873                        Buffer Modified Hook
     9874                    </code>
     9875              </div>
     9876              <div class="refentrytitle"></div>
     9877            </p>
     9878            <p>
     9879              <div>
     9880                <div class="refsect1" lang="en" xml:lang="en">
     9881                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686765"></a>
     9882                  <div class="header">Description:</div>
     9883                  <p xmlns="http://www.w3.org/1999/xhtml">
     9884buffer-modified returns t if the buffer has been modified, nil if it
     9885hasn't.  This attribute is set whenever a text-altering operation is
     9886performed on a buffer.  There is a setf method to change this value.
     9887The setf method invokes the functions in Buffer Modified Hook with the
     9888buffer whenever the value of the modified flag changes.
     9889                    </p>
     9890                </div>
     9891              </div>
     9892            </p>
     9893            <p>
     9894              <div class="refentrytitle">
     9895                <a id="m_with-writable-buffer"></a>
     9896                <strong>[Macro]</strong>
     9897                <br></br>
     9898                <code>
     9899                        with-writable-buffer (buffer) <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;body</em> body 
     9900                    </code>
     9901              </div>
     9902              <div class="refentrytitle"></div>
     9903            </p>
     9904            <p>
     9905              <div>
     9906                <div class="refsect1" lang="en" xml:lang="en">
     9907                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686825"></a>
     9908                  <div class="header">Description:</div>
     9909                  <p xmlns="http://www.w3.org/1999/xhtml">
     9910This macro executes forms with buffer's writable status set.  After
     9911forms execute, this resets the buffer's writable and modified status.
     9912                    </p>
     9913                </div>
     9914              </div>
     9915            </p>
     9916            <p>
     9917              <div class="refentrytitle">
     9918                <a id="f_buffer-signature"></a>
     9919                <strong>[Function]</strong>
     9920                <br></br>
     9921                <code>
     9922                        buffer-signature buffer 
     9923                    </code>
     9924              </div>
     9925              <div class="refentrytitle"></div>
     9926            </p>
     9927            <p>
     9928              <div>
     9929                <div class="refsect1" lang="en" xml:lang="en">
     9930                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686880"></a>
     9931                  <div class="header">Description:</div>
     9932                  <p xmlns="http://www.w3.org/1999/xhtml">
     9933This function returns an arbitrary number which reflects the buffer's
     9934current signature. The result is eql to a previous result if and only if
     9935the buffer has not been modified between the calls.
     9936                    </p>
     9937                </div>
     9938              </div>
     9939            </p>
     9940            <p>
     9941              <div class="refentrytitle">
     9942                <a id="f_buffer-variables"></a>
     9943                <strong>[Function]</strong>
     9944                <br></br>
     9945                <code>
     9946                        buffer-variables buffer 
     9947                    </code>
     9948              </div>
     9949              <div class="refentrytitle"></div>
     9950            </p>
     9951            <p>
     9952              <div>
     9953                <div class="refsect1" lang="en" xml:lang="en">
     9954                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686936"></a>
     9955                  <div class="header">Description:</div>
     9956                  <p xmlns="http://www.w3.org/1999/xhtml">
     9957This function returns a string-table (page 69) containing the names of
     9958the buffer's local variables.  See chapter 6.
     9959                    </p>
     9960                </div>
     9961              </div>
     9962            </p>
     9963            <p>
     9964              <div class="refentrytitle">
     9965                <a id="f_buffer-modes"></a>
     9966                <strong>[Function]</strong>
     9967                <br></br>
     9968                <code>
     9969                        buffer-modes buffer 
     9970                    </code>
     9971              </div>
     9972              <div class="refentrytitle"></div>
     9973            </p>
     9974            <p>
     9975              <div>
     9976                <div class="refsect1" lang="en" xml:lang="en">
     9977                  <a xmlns="http://www.w3.org/1999/xhtml" id="id686991"></a>
     9978                  <div class="header">Description:</div>
     9979                  <p xmlns="http://www.w3.org/1999/xhtml">
     9980This function returns the list of the names of the modes active in
     9981buffer. The major mode is first, followed by any minor modes.  See
     9982chapter 8.
     9983                    </p>
     9984                </div>
     9985              </div>
     9986            </p>
     9987            <p>
     9988              <div class="refentrytitle">
     9989                <a id="f_buffer-delete-hook"></a>
     9990                <strong>[Function]</strong>
     9991                <br></br>
     9992                <code>
     9993                        buffer-delete-hook buffer 
     9994                    </code>
     9995              </div>
     9996              <div class="refentrytitle"></div>
     9997            </p>
     9998            <p>
     9999              <div>
     10000                <div class="refsect1" lang="en" xml:lang="en">
     10001                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687047"></a>
     10002                  <div class="header">Description:</div>
     10003                  <p xmlns="http://www.w3.org/1999/xhtml">
     10004This function returns the list of buffer specific functions
     10005delete-buffer invokes when deleting a buffer . This is setf-able.
     10006                    </p>
     10007                </div>
     10008              </div>
     10009            </p>
     10010            <p>
     10011              <div class="refentrytitle">
     10012                <a id="f_delete-buffer"></a>
     10013                <strong>[Function]</strong>
     10014                <br></br>
     10015                <code>
     10016                        delete-buffer  buffer 
     10017                    </code>
     10018              </div>
     10019              <div class="refentrytitle"></div>
     10020            </p>
     10021            <p>
     10022              <div>
     10023                <div class="refsect1" lang="en" xml:lang="en">
     10024                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687102"></a>
     10025                  <div class="header">Description:</div>
     10026                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10027                </div>
     10028              </div>
     10029            </p>
     10030            <p>
     10031              <div class="refentrytitle">
     10032                <a id="hv_delete_buffer_hook"></a>
     10033                <strong>[Hemlock Variable]</strong>
     10034                <br></br>
     10035                <code>
     10036                        Delete Buffer Hook
     10037                    </code>
     10038              </div>
     10039              <div class="refentrytitle"></div>
     10040            </p>
     10041            <p>
     10042              <div>
     10043                <div class="refsect1" lang="en" xml:lang="en">
     10044                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687156"></a>
     10045                  <div class="header">Description:</div>
     10046                  <p xmlns="http://www.w3.org/1999/xhtml">
     10047delete-buffer removes buffer from (all-buffers) (page 10) and its name
     10048from *buffer-names* (page 10).  Before buffer is deleted, this invokes
     10049the functions on buffer returned by buffer-delete-hook and those found
     10050in Delete Buffer Hook. If buffer is the current-buffer, or if it is
     10051displayed in any view, then this function signals an error.
     10052                    </p>
     10053                </div>
     10054              </div>
     10055            </p>
     10056          </div>
     10057          <div class="sect2" lang="en" xml:lang="en">
     10058            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     10059              <div>
     10060                <div>
     10061                  <h3 class="title"><a id="Modelines"></a>6.3.3. Modelines</h3>
     10062                </div>
     10063              </div>
     10064            </div>
     10065            <p xmlns="http://www.w3.org/1999/xhtml">
     10066A Buffer may specify a modeline, a line of text which is displayed
     10067across the bottom of a view to indicate status information.
     10068Modelines are described by a list of modeline-field objects which have
     10069individual update functions and are optionally fixed-width. These have
     10070an eql name for convenience in referencing and updating, but the name
     10071must be unique for all created modeline-field objects.  All modeline-field
     10072functions must take a buffer as an
     10073argument and return a string.  When displaying
     10074a modeline-field with a specified width, the result of the update
     10075function is either truncated or padded on the right to meet the
     10076constraint.
     10077            </p>
     10078            <p xmlns="http://www.w3.org/1999/xhtml">
     10079Whenever one of the following changes occurs, all of a buffer's
     10080modeline fields are updated:
     10081            </p>
     10082            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     10083              <ul class="itemizedlist" type="disc">
     10084                <li class="listitem">
     10085                  <p>
     10086A buffer's major mode is set.
     10087                    </p>
     10088                </li>
     10089                <li class="listitem">
     10090                  <p>
     10091One of a buffer's minor modes is turned on or off.
     10092                    </p>
     10093                </li>
     10094                <li class="listitem">
     10095                  <p>
     10096A buffer  is renamed.
     10097                    </p>
     10098                </li>
     10099                <li class="listitem">
     10100                  <p>
     10101A buffer's pathname changes.
     10102                    </p>
     10103                </li>
     10104                <li class="listitem">
     10105                  <p>
     10106A buffer's modified status changes.
     10107                    </p>
     10108                </li>
     10109              </ul>
     10110            </div>
     10111            <p xmlns="http://www.w3.org/1999/xhtml">
     10112The policy is that whenever one of these changes occurs, it is
     10113guaranteed that the modeline will be updated before the next trip
     10114through redisplay.  Furthermore, since the system cannot know what
     10115modeline-field objects the user has added whose update functions rely
     10116on these values, or how he has changed Default Modeline Fields, we must
     10117update all the fields. 
     10118            </p>
     10119            <p xmlns="http://www.w3.org/1999/xhtml">
     10120The user should note that modelines can be updated at any time, so
     10121update functions should be careful to avoid needless delays (for
     10122example, waiting for a local area network to determine information).
     10123            </p>
     10124            <p>
     10125              <div class="refentrytitle">
     10126                <a id="f_make-modeline-field"></a>
     10127                <strong>[Function]</strong>
     10128                <br></br>
     10129                <code>
     10130                        make-modeline-field <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :name :width :function
     10131                    </code>
     10132              </div>
     10133              <div class="refentrytitle"></div>
     10134            </p>
     10135            <p>
     10136              <div>
     10137                <div class="refsect1" lang="en" xml:lang="en">
     10138                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687297"></a>
     10139                  <div class="header">Description:</div>
     10140                  <p xmlns="http://www.w3.org/1999/xhtml">
     10141This function returns a modeline-field object with name, width,
     10142and function. Width defaults to nil meaning that the field is variable
     10143width; otherwise, the programmer must supply this as a positive
     10144integer. Function must take a buffer as an arguments and
     10145return a string.  If name already names a modeline-field object,
     10146then this signals an error.
     10147                    </p>
     10148                </div>
     10149              </div>
     10150            </p>
     10151            <p>
     10152              <div class="refentrytitle">
     10153                <a id="f_modeline-field-name"></a>
     10154                <strong>[Function]</strong>
     10155                <br></br>
     10156                <code>
     10157                        modeline-field-name modeline-field
     10158                    </code>
     10159              </div>
     10160              <div class="refentrytitle"></div>
     10161            </p>
     10162            <p>
     10163              <div>
     10164                <div class="refsect1" lang="en" xml:lang="en">
     10165                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687354"></a>
     10166                  <div class="header">Description:</div>
     10167                  <p xmlns="http://www.w3.org/1999/xhtml">
     10168This function returns the name field of a modeline-field object.
     10169If this is set with setf, and the new name already names a
     10170modeline-field, then the setf method signals an error.
     10171                    </p>
     10172                </div>
     10173              </div>
     10174            </p>
     10175            <p>
     10176              <div class="refentrytitle">
     10177                <a id="f_modeline-field-p"></a>
     10178                <strong>[Function]</strong>
     10179                <br></br>
     10180                <code>
     10181                        modeline-field-p modeline-field
     10182                    </code>
     10183              </div>
     10184              <div class="refentrytitle"></div>
     10185            </p>
     10186            <p>
     10187              <div>
     10188                <div class="refsect1" lang="en" xml:lang="en">
     10189                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687410"></a>
     10190                  <div class="header">Description:</div>
     10191                  <p xmlns="http://www.w3.org/1999/xhtml">
     10192This function returns t if its argument is a modeline-field object, nil
     10193otherwise.
     10194                    </p>
     10195                </div>
     10196              </div>
     10197            </p>
     10198            <p>
     10199              <div class="refentrytitle">
     10200                <a id="f_modeline-field"></a>
     10201                <strong>[Function]</strong>
     10202                <br></br>
     10203                <code>
     10204                        modeline-field name
     10205                    </code>
     10206              </div>
     10207              <div class="refentrytitle"></div>
     10208            </p>
     10209            <p>
     10210              <div>
     10211                <div class="refsect1" lang="en" xml:lang="en">
     10212                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687465"></a>
     10213                  <div class="header">Description:</div>
     10214                  <p xmlns="http://www.w3.org/1999/xhtml">
     10215This returns the modeline-field object named name. If none exists, this
     10216returns nil.
     10217                    </p>
     10218                </div>
     10219              </div>
     10220            </p>
     10221            <p>
     10222              <div class="refentrytitle">
     10223                <a id="f_modeline-field-function"></a>
     10224                <strong>[Function]</strong>
     10225                <br></br>
     10226                <code>
     10227                        modeline-field-function modeline-field
     10228                    </code>
     10229              </div>
     10230              <div class="refentrytitle"></div>
     10231            </p>
     10232            <p>
     10233              <div>
     10234                <div class="refsect1" lang="en" xml:lang="en">
     10235                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687520"></a>
     10236                  <div class="header">Description:</div>
     10237                  <p xmlns="http://www.w3.org/1999/xhtml">
     10238Returns the function called when updating the modeline-field. When this
     10239is set with setf, the setf method updates modeline-field for all views
     10240on all buffers that contain the given field, so the next trip through
     10241redisplay will reflect the change.  All modeline-field functions must
     10242take a buffer as an argument and return a string.
     10243                    </p>
     10244                </div>
     10245              </div>
     10246            </p>
     10247            <p>
     10248              <div class="refentrytitle">
     10249                <a id="f_modeline-field-width"></a>
     10250                <strong>[Function]</strong>
     10251                <br></br>
     10252                <code>
     10253                        modeline-field-width modeline-field
     10254                    </code>
     10255              </div>
     10256              <div class="refentrytitle"></div>
     10257            </p>
     10258            <p>
     10259              <div>
     10260                <div class="refsect1" lang="en" xml:lang="en">
     10261                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687577"></a>
     10262                  <div class="header">Description:</div>
     10263                  <p xmlns="http://www.w3.org/1999/xhtml">
     10264Returns the width to which modeline-field is constrained, or nil
     10265indicating that it is variable width.  When this is set with setf, the
     10266setf method updates all modeline-fields for all views on all buffers
     10267that contain the given field, so the next trip through redisplay will
     10268reflect the change.
     10269                    </p>
     10270                </div>
     10271              </div>
     10272            </p>
     10273            <p>
     10274              <div class="refentrytitle">
     10275                <a id="f_buffer-modeline-fields"></a>
     10276                <strong>[Function]</strong>
     10277                <br></br>
     10278                <code>
     10279                        buffer-modeline-fields buffer 
     10280                    </code>
     10281              </div>
     10282              <div class="refentrytitle"></div>
     10283            </p>
     10284            <p>
     10285              <div>
     10286                <div class="refsect1" lang="en" xml:lang="en">
     10287                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687634"></a>
     10288                  <div class="header">Description:</div>
     10289                  <p xmlns="http://www.w3.org/1999/xhtml">
     10290Returns a copy of the list of buffer's modeline-field objects. This
     10291list can be destructively modified without affecting display of
     10292buffer's modeline, but modifying any particular field's components
     10293(for example, width or function) causes the changes to be reflected
     10294the next trip through redisplay in every modeline display that uses
     10295the modified modeline-field.  When this is set with setf, the setf
     10296method method updates all modeline-fields on all views on the buffer,
     10297so next trip through the redisplay will reflect the change.
     10298                    </p>
     10299                </div>
     10300              </div>
     10301            </p>
     10302            <p>
     10303              <div class="refentrytitle">
     10304                <a id="f_buffer-modeline-field-p"></a>
     10305                <strong>[Function]</strong>
     10306                <br></br>
     10307                <code>
     10308                        buffer-modeline-field-p buffer field
     10309                    </code>
     10310              </div>
     10311              <div class="refentrytitle"></div>
     10312            </p>
     10313            <p>
     10314              <div>
     10315                <div class="refsect1" lang="en" xml:lang="en">
     10316                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687693"></a>
     10317                  <div class="header">Description:</div>
     10318                  <p xmlns="http://www.w3.org/1999/xhtml">
     10319If field, a modeline-field or the name of one, is in buffer's list of
     10320modeline-field objects, it is returned; otherwise, this returns nil.
     10321                    </p>
     10322                </div>
     10323              </div>
     10324            </p>
     10325            <p>
     10326              <div class="refentrytitle">
     10327                <a id="f_update-modeline-fields"></a>
     10328                <strong>[Function]</strong>
     10329                <br></br>
     10330                <code>
     10331                        update-modeline-fields buffer
     10332                    </code>
     10333              </div>
     10334              <div class="refentrytitle"></div>
     10335            </p>
     10336            <p>
     10337              <div>
     10338                <div class="refsect1" lang="en" xml:lang="en">
     10339                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687749"></a>
     10340                  <div class="header">Description:</div>
     10341                  <p xmlns="http://www.w3.org/1999/xhtml">
     10342Arranges so that the modeline display is updated with the latest values
     10343at the end of current command.
     10344                    </p>
     10345                </div>
     10346              </div>
     10347            </p>
     10348          </div>
     10349        </div>
     10350        <div class="sect1" lang="en" xml:lang="en">
     10351          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     10352            <div>
     10353              <div>
     10354                <h2 class="title" style="clear: both"><a id="HemlockProgrammingAlteringAndSearchingText"></a>6.4. Altering and Searching Text</h2>
     10355              </div>
     10356            </div>
     10357          </div>
     10358          <p xmlns="http://www.w3.org/1999/xhtml">
     10359A note on marks and text alteration: :temporary marks are invalid
     10360after any change has been made to the buffer the mark points to; it is
     10361an error to use a temporary mark after such a change has been made.
     10362        </p>
     10363          <p xmlns="http://www.w3.org/1999/xhtml">
     10364If text is deleted which has permanent marks pointing into it then
     10365they are left pointing to the position where the text was.
     10366        </p>
     10367          <div class="sect2" lang="en" xml:lang="en">
     10368            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     10369              <div>
     10370                <div>
     10371                  <h3 class="title"><a id="AlteringText"></a>6.4.1. Altering Text</h3>
     10372                </div>
     10373              </div>
     10374            </div>
     10375            <p>
     10376              <div class="refentrytitle">
     10377                <a id="f_insert-character"></a>
     10378                <strong>[Function]</strong>
     10379                <br></br>
     10380                <code>
     10381                        insert-character mark character
     10382                    </code>
     10383              </div>
     10384              <div class="refentrytitle"></div>
     10385            </p>
     10386            <p>
     10387              <div>
     10388                <div class="refsect1" lang="en" xml:lang="en">
     10389                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687837"></a>
     10390                  <div class="header">Description:</div>
     10391                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10392                </div>
     10393              </div>
     10394            </p>
     10395            <p>
     10396              <div class="refentrytitle">
     10397                <a id="f_insert-string"></a>
     10398                <strong>[Function]</strong>
     10399                <br></br>
     10400                <code>
     10401                        insert-string mark string
     10402                    </code>
     10403              </div>
     10404              <div class="refentrytitle"></div>
     10405            </p>
     10406            <p>
     10407              <div>
     10408                <div class="refsect1" lang="en" xml:lang="en">
     10409                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687891"></a>
     10410                  <div class="header">Description:</div>
     10411                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10412                </div>
     10413              </div>
     10414            </p>
     10415            <p>
     10416              <div class="refentrytitle">
     10417                <a id="f_insert-region"></a>
     10418                <strong>[Function]</strong>
     10419                <br></br>
     10420                <code>
     10421                        insert-region mark region
     10422                    </code>
     10423              </div>
     10424              <div class="refentrytitle"></div>
     10425            </p>
     10426            <p>
     10427              <div>
     10428                <div class="refsect1" lang="en" xml:lang="en">
     10429                  <a xmlns="http://www.w3.org/1999/xhtml" id="id687945"></a>
     10430                  <div class="header">Description:</div>
     10431                  <p xmlns="http://www.w3.org/1999/xhtml">
     10432Inserts character, string or region at mark. <code class="code">insert-character</code> signals
     10433an error if character is not <code class="code">string-char-p</code>. If string or region is
     10434empty, and mark is in some buffer, then Hemlock leaves buffer-modified of
     10435mark's buffer unaffected.
     10436                    </p>
     10437                </div>
     10438              </div>
     10439            </p>
     10440            <p>
     10441              <div class="refentrytitle">
     10442                <a id="f_ninsert-region"></a>
     10443                <strong>[Function]</strong>
     10444                <br></br>
     10445                <code>
     10446                        ninsert-region mark region
     10447                    </code>
     10448              </div>
     10449              <div class="refentrytitle"></div>
     10450            </p>
     10451            <p>
     10452              <div>
     10453                <div class="refsect1" lang="en" xml:lang="en">
     10454                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688009"></a>
     10455                  <div class="header">Description:</div>
     10456                  <p xmlns="http://www.w3.org/1999/xhtml">
     10457Like <code class="code">insert-region</code>, inserts the region at the mark's position,
     10458destroying the source region.  This must be used with caution, since
     10459if anyone else can refer to the source region bad things will
     10460happen. In particular, one should make sure the region is not linked
     10461into any existing buffer.  If region is empty, and mark is in some
     10462buffer, then Hemlock leaves buffer-modified of mark's buffer unaffected.
     10463                    </p>
     10464                </div>
     10465              </div>
     10466            </p>
     10467            <p>
     10468              <div class="refentrytitle">
     10469                <a id="f_delete-characters"></a>
     10470                <strong>[Function]</strong>
     10471                <br></br>
     10472                <code>
     10473                        delete-characters mark n
     10474                    </code>
     10475              </div>
     10476              <div class="refentrytitle"></div>
     10477            </p>
     10478            <p>
     10479              <div>
     10480                <div class="refsect1" lang="en" xml:lang="en">
     10481                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688070"></a>
     10482                  <div class="header">Description:</div>
     10483                  <p xmlns="http://www.w3.org/1999/xhtml">
     10484This deletes n characters after the mark (or -n before if n is
     10485negative).  If n characters after (or -n before) the mark do not
     10486exist, then this returns nil; otherwise, it returns t. If n is zero,
     10487and mark is in some buffer, then Hemlock leaves buffer-modified of
     10488mark's buffer unaffected.
     10489                    </p>
     10490                </div>
     10491              </div>
     10492            </p>
     10493            <p>
     10494              <div class="refentrytitle">
     10495                <a id="f_delete-region"></a>
     10496                <strong>[Function]</strong>
     10497                <br></br>
     10498                <code>
     10499                        delete-region region 
     10500                    </code>
     10501              </div>
     10502              <div class="refentrytitle"></div>
     10503            </p>
     10504            <p>
     10505              <div>
     10506                <div class="refsect1" lang="en" xml:lang="en">
     10507                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688126"></a>
     10508                  <div class="header">Description:</div>
     10509                  <p xmlns="http://www.w3.org/1999/xhtml">
     10510This deletes region. This is faster than delete-and-save-region
     10511(below) because no lines are copied. If region is empty and contained
     10512in some buffer's buffer-region, then Hemlock leaves buffer-modified of
     10513the buffer unaffected.
     10514                    </p>
     10515                </div>
     10516              </div>
     10517            </p>
     10518            <p>
     10519              <div class="refentrytitle">
     10520                <a id="f_delete-and-save-region"></a>
     10521                <strong>[Function]</strong>
     10522                <br></br>
     10523                <code>
     10524                        delete-and-save-region region 
     10525                    </code>
     10526              </div>
     10527              <div class="refentrytitle"></div>
     10528            </p>
     10529            <p>
     10530              <div>
     10531                <div class="refsect1" lang="en" xml:lang="en">
     10532                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688183"></a>
     10533                  <div class="header">Description:</div>
     10534                  <p xmlns="http://www.w3.org/1999/xhtml">
     10535This deletes region and returns a region containing the original
     10536region's text. If region is empty and contained in some buffer's
     10537buffer-region, then Hemlock leaves buffer-modified of the buffer
     10538unaffected. In this case, this returns a distinct empty region.
     10539                    </p>
     10540                </div>
     10541              </div>
     10542            </p>
     10543            <p>
     10544              <div class="refentrytitle">
     10545                <a id="f_filter-region"></a>
     10546                <strong>[Function]</strong>
     10547                <br></br>
     10548                <code>
     10549                        filter-region function region
     10550                    </code>
     10551              </div>
     10552              <div class="refentrytitle"></div>
     10553            </p>
     10554            <p>
     10555              <div>
     10556                <div class="refsect1" lang="en" xml:lang="en">
     10557                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688240"></a>
     10558                  <div class="header">Description:</div>
     10559                  <p xmlns="http://www.w3.org/1999/xhtml">
     10560Destructively modifies region by replacing the text of each line with
     10561the result of the application of function to a string containing that
     10562text. Function must obey the following restrictions:
     10563                    </p>
     10564                  <div xmlns="http://www.w3.org/1999/xhtml" class="orderedlist">
     10565                    <ol class="orderedlist" type="1">
     10566                      <li class="listitem">
     10567                        <p>
     10568The argument may not be destructively modified.
     10569                            </p>
     10570                      </li>
     10571                      <li class="listitem">
     10572                        <p>
     10573The return value may not contain newline characters.
     10574                            </p>
     10575                      </li>
     10576                      <li class="listitem">
     10577                        <p>
     10578The return value may not be destructively modified after it is returned from function.
     10579                            </p>
     10580                      </li>
     10581                    </ol>
     10582                  </div>
     10583                  <p xmlns="http://www.w3.org/1999/xhtml">
     10584The strings are passed in order.
     10585                    </p>
     10586                  <p xmlns="http://www.w3.org/1999/xhtml">
     10587Using this function, a region could be uppercased by doing:
     10588                        <code class="code">(filter-region #'string-upcase region)</code>
     10589                    </p>
     10590                </div>
     10591              </div>
     10592            </p>
     10593          </div>
     10594          <div class="sect2" lang="en" xml:lang="en">
     10595            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     10596              <div>
     10597                <div>
     10598                  <h3 class="title"><a id="TextPredicates"></a>6.4.2. Text Predicates</h3>
     10599                </div>
     10600              </div>
     10601            </div>
     10602            <p>
     10603              <div class="refentrytitle">
     10604                <a id="f_start-line-p"></a>
     10605                <strong>[Function]</strong>
     10606                <br></br>
     10607                <code>
     10608                        start-line-p mark
     10609                    </code>
     10610              </div>
     10611              <div class="refentrytitle"></div>
     10612            </p>
     10613            <p>
     10614              <div>
     10615                <div class="refsect1" lang="en" xml:lang="en">
     10616                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688352"></a>
     10617                  <div class="header">Description:</div>
     10618                  <p xmlns="http://www.w3.org/1999/xhtml">
     10619Returns t if the mark points before the first character in a line, nil
     10620otherwise.
     10621                    </p>
     10622                </div>
     10623              </div>
     10624            </p>
     10625            <p>
     10626              <div class="refentrytitle">
     10627                <a id="f_end-line-p"></a>
     10628                <strong>[Function]</strong>
     10629                <br></br>
     10630                <code>
     10631                        end-line-p mark
     10632                    </code>
     10633              </div>
     10634              <div class="refentrytitle"></div>
     10635            </p>
     10636            <p>
     10637              <div>
     10638                <div class="refsect1" lang="en" xml:lang="en">
     10639                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688407"></a>
     10640                  <div class="header">Description:</div>
     10641                  <p xmlns="http://www.w3.org/1999/xhtml">
     10642Returns t if the mark points after the last character in a line and
     10643before the newline, nil otherwise.
     10644                    </p>
     10645                  <p xmlns="http://www.w3.org/1999/xhtml">
     10646                        <code class="code">empty-line-p</code> mark [Function]
     10647Return t if the line which mark points to contains no characters.
     10648                    </p>
     10649                </div>
     10650              </div>
     10651            </p>
     10652            <p>
     10653              <div class="refentrytitle">
     10654                <a id="f_blank-line-p"></a>
     10655                <strong>[Function]</strong>
     10656                <br></br>
     10657                <code>
     10658                        blank-line-p line
     10659                    </code>
     10660              </div>
     10661              <div class="refentrytitle"></div>
     10662            </p>
     10663            <p>
     10664              <div>
     10665                <div class="refsect1" lang="en" xml:lang="en">
     10666                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688470"></a>
     10667                  <div class="header">Description:</div>
     10668                  <p xmlns="http://www.w3.org/1999/xhtml">
     10669Returns t if line contains only characters with a Whitespace attribute
     10670of 1.  See chapter 9 for discussion of character attributes.
     10671                    </p>
     10672                </div>
     10673              </div>
     10674            </p>
     10675            <p>
     10676              <div class="refentrytitle">
     10677              &n