Changeset 14799


Ignore:
Timestamp:
May 14, 2011, 9:00:25 AM (14 years ago)
Author:
Gary Byers
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                <a id="f_blank-before-p"></a>
     10678                <strong>[Function]</strong>
     10679                <br></br>
     10680                <code>
     10681                        blank-before-p mark
     10682                    </code>
     10683              </div>
     10684              <div class="refentrytitle"></div>
     10685            </p>
     10686            <p>
     10687              <div>
     10688                <div class="refsect1" lang="en" xml:lang="en">
     10689                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688525"></a>
     10690                  <div class="header">Description:</div>
     10691                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10692                </div>
     10693              </div>
     10694            </p>
     10695            <p>
     10696              <div class="refentrytitle">
     10697                <a id="f_blank-after-p"></a>
     10698                <strong>[Function]</strong>
     10699                <br></br>
     10700                <code>
     10701                        blank-after-p mark
     10702                    </code>
     10703              </div>
     10704              <div class="refentrytitle"></div>
     10705            </p>
     10706            <p>
     10707              <div>
     10708                <div class="refsect1" lang="en" xml:lang="en">
     10709                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688579"></a>
     10710                  <div class="header">Description:</div>
     10711                  <p xmlns="http://www.w3.org/1999/xhtml">
     10712These functions test if all the characters preceding or following mark
     10713on the line it is on have a Whitespace attribute of 1.
     10714                    </p>
     10715                </div>
     10716              </div>
     10717            </p>
     10718            <p>
     10719              <div class="refentrytitle">
     10720                <a id="f_same-line-p"></a>
     10721                <strong>[Function]</strong>
     10722                <br></br>
     10723                <code>
     10724                        same-line-p mark1 mark2
     10725                    </code>
     10726              </div>
     10727              <div class="refentrytitle"></div>
     10728            </p>
     10729            <p>
     10730              <div>
     10731                <div class="refsect1" lang="en" xml:lang="en">
     10732                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688634"></a>
     10733                  <div class="header">Description:</div>
     10734                  <p xmlns="http://www.w3.org/1999/xhtml">
     10735Returns t if mark1 and mark2 point to the same line, or nil otherwise; That is,
     10736</p>
     10737                  <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     10738
     10739(same-line-p a b) &amp;lt;==&amp;gt; (eq (mark-line a) (mark-line b))
     10740
     10741</pre>
     10742                  <p xmlns="http://www.w3.org/1999/xhtml">
     10743                    </p>
     10744                </div>
     10745              </div>
     10746            </p>
     10747            <p>
     10748              <div class="refentrytitle">
     10749                <a id="f_mark_lt"></a>
     10750                <strong>[Function]</strong>
     10751                <br></br>
     10752                <code>
     10753                        mark&lt; mark1 mark2
     10754                    </code>
     10755              </div>
     10756              <div class="refentrytitle"></div>
     10757            </p>
     10758            <p>
     10759              <div>
     10760                <div class="refsect1" lang="en" xml:lang="en">
     10761                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688695"></a>
     10762                  <div class="header">Description:</div>
     10763                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10764                </div>
     10765              </div>
     10766            </p>
     10767            <p>
     10768              <div class="refentrytitle">
     10769                <a id="f_mark_lt__eq"></a>
     10770                <strong>[Function]</strong>
     10771                <br></br>
     10772                <code>
     10773                        mark&lt;= mark1 mark2
     10774                    </code>
     10775              </div>
     10776              <div class="refentrytitle"></div>
     10777            </p>
     10778            <p>
     10779              <div>
     10780                <div class="refsect1" lang="en" xml:lang="en">
     10781                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688749"></a>
     10782                  <div class="header">Description:</div>
     10783                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10784                </div>
     10785              </div>
     10786            </p>
     10787            <p>
     10788              <div class="refentrytitle">
     10789                <a id="f_mark_eq"></a>
     10790                <strong>[Function]</strong>
     10791                <br></br>
     10792                <code>
     10793                        mark= mark1 mark2
     10794                    </code>
     10795              </div>
     10796              <div class="refentrytitle"></div>
     10797            </p>
     10798            <p>
     10799              <div>
     10800                <div class="refsect1" lang="en" xml:lang="en">
     10801                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688803"></a>
     10802                  <div class="header">Description:</div>
     10803                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10804                </div>
     10805              </div>
     10806            </p>
     10807            <p>
     10808              <div class="refentrytitle">
     10809                <a id="f_mark__eq"></a>
     10810                <strong>[Function]</strong>
     10811                <br></br>
     10812                <code>
     10813                        mark/= mark1 mark2
     10814                    </code>
     10815              </div>
     10816              <div class="refentrytitle"></div>
     10817            </p>
     10818            <p>
     10819              <div>
     10820                <div class="refsect1" lang="en" xml:lang="en">
     10821                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688858"></a>
     10822                  <div class="header">Description:</div>
     10823                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10824                </div>
     10825              </div>
     10826            </p>
     10827            <p>
     10828              <div class="refentrytitle">
     10829                <a id="f_mark_gt__eq"></a>
     10830                <strong>[Function]</strong>
     10831                <br></br>
     10832                <code>
     10833                        mark&gt;= mark1 mark2
     10834                    </code>
     10835              </div>
     10836              <div class="refentrytitle"></div>
     10837            </p>
     10838            <p>
     10839              <div>
     10840                <div class="refsect1" lang="en" xml:lang="en">
     10841                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688911"></a>
     10842                  <div class="header">Description:</div>
     10843                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10844                </div>
     10845              </div>
     10846            </p>
     10847            <p>
     10848              <div class="refentrytitle">
     10849                <a id="f_mark_gt"></a>
     10850                <strong>[Function]</strong>
     10851                <br></br>
     10852                <code>
     10853                        mark&gt; mark1 mark2
     10854                    </code>
     10855              </div>
     10856              <div class="refentrytitle"></div>
     10857            </p>
     10858            <p>
     10859              <div>
     10860                <div class="refsect1" lang="en" xml:lang="en">
     10861                  <a xmlns="http://www.w3.org/1999/xhtml" id="id688966"></a>
     10862                  <div class="header">Description:</div>
     10863                  <p xmlns="http://www.w3.org/1999/xhtml">
     10864These predicates test the relative ordering of two marks in a piece of
     10865text, that is a mark is mark&gt; another if it points to a position after
     10866it. An error is signalled if the marks do not point into the same buffer,
     10867except that for such marks mark= is always false and mark/= is always true.
     10868                    </p>
     10869                </div>
     10870              </div>
     10871            </p>
     10872            <p>
     10873              <div class="refentrytitle">
     10874                <a id="f_line_lt"></a>
     10875                <strong>[Function]</strong>
     10876                <br></br>
     10877                <code>
     10878                        line&lt; line1 line2
     10879                    </code>
     10880              </div>
     10881              <div class="refentrytitle"></div>
     10882            </p>
     10883            <p>
     10884              <div>
     10885                <div class="refsect1" lang="en" xml:lang="en">
     10886                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689022"></a>
     10887                  <div class="header">Description:</div>
     10888                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10889                </div>
     10890              </div>
     10891            </p>
     10892            <p>
     10893              <div class="refentrytitle">
     10894                <a id="f_line_lt__eq"></a>
     10895                <strong>[Function]</strong>
     10896                <br></br>
     10897                <code>
     10898                        line&lt;= line1 line2
     10899                    </code>
     10900              </div>
     10901              <div class="refentrytitle"></div>
     10902            </p>
     10903            <p>
     10904              <div>
     10905                <div class="refsect1" lang="en" xml:lang="en">
     10906                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689077"></a>
     10907                  <div class="header">Description:</div>
     10908                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10909                </div>
     10910              </div>
     10911            </p>
     10912            <p>
     10913              <div class="refentrytitle">
     10914                <a id="f_line_gt__eq"></a>
     10915                <strong>[Function]</strong>
     10916                <br></br>
     10917                <code>
     10918                        line&gt;= line1 line2
     10919                    </code>
     10920              </div>
     10921              <div class="refentrytitle"></div>
     10922            </p>
     10923            <p>
     10924              <div>
     10925                <div class="refsect1" lang="en" xml:lang="en">
     10926                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689131"></a>
     10927                  <div class="header">Description:</div>
     10928                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10929                </div>
     10930              </div>
     10931            </p>
     10932            <p>
     10933              <div class="refentrytitle">
     10934                <a id="f_line_gt"></a>
     10935                <strong>[Function]</strong>
     10936                <br></br>
     10937                <code>
     10938                        line&gt; line1 line2
     10939                    </code>
     10940              </div>
     10941              <div class="refentrytitle"></div>
     10942            </p>
     10943            <p>
     10944              <div>
     10945                <div class="refsect1" lang="en" xml:lang="en">
     10946                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689185"></a>
     10947                  <div class="header">Description:</div>
     10948                  <p xmlns="http://www.w3.org/1999/xhtml">
     10949These predicates test the ordering of line1 and line2. An error is signalled
     10950if the lines are not in the same buffer.
     10951                    </p>
     10952                </div>
     10953              </div>
     10954            </p>
     10955            <p>
     10956              <div class="refentrytitle">
     10957                <a id="f_lines-related"></a>
     10958                <strong>[Function]</strong>
     10959                <br></br>
     10960                <code>
     10961                        lines-related line1 line2
     10962                    </code>
     10963              </div>
     10964              <div class="refentrytitle"></div>
     10965            </p>
     10966            <p>
     10967              <div>
     10968                <div class="refsect1" lang="en" xml:lang="en">
     10969                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689241"></a>
     10970                  <div class="header">Description:</div>
     10971                  <p xmlns="http://www.w3.org/1999/xhtml">
     10972This function returns t if line1 and line2 are in the same buffer, nil
     10973nil otherwise.
     10974                    </p>
     10975                </div>
     10976              </div>
     10977            </p>
     10978            <p>
     10979              <div class="refentrytitle">
     10980                <a id="f_first-line-p"></a>
     10981                <strong>[Function]</strong>
     10982                <br></br>
     10983                <code>
     10984                        first-line-p mark
     10985                    </code>
     10986              </div>
     10987              <div class="refentrytitle"></div>
     10988            </p>
     10989            <p>
     10990              <div>
     10991                <div class="refsect1" lang="en" xml:lang="en">
     10992                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689296"></a>
     10993                  <div class="header">Description:</div>
     10994                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     10995                </div>
     10996              </div>
     10997            </p>
     10998            <p>
     10999              <div class="refentrytitle">
     11000                <a id="f_last-line-p"></a>
     11001                <strong>[Function]</strong>
     11002                <br></br>
     11003                <code>
     11004                        last-line-p mark
     11005                    </code>
     11006              </div>
     11007              <div class="refentrytitle"></div>
     11008            </p>
     11009            <p>
     11010              <div>
     11011                <div class="refsect1" lang="en" xml:lang="en">
     11012                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689350"></a>
     11013                  <div class="header">Description:</div>
     11014                  <p xmlns="http://www.w3.org/1999/xhtml">
     11015                        <code class="code">first-line-p</code> returns t if there is no line before the line mark is on,
     11016and nil otherwise. <code class="code">Last-line-p</code> similarly tests tests whether there is
     11017no line after mark.
     11018                    </p>
     11019                </div>
     11020              </div>
     11021            </p>
     11022          </div>
     11023          <div class="sect2" lang="en" xml:lang="en">
     11024            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     11025              <div>
     11026                <div>
     11027                  <h3 class="title"><a id="KillRing"></a>6.4.3. Kill Ring</h3>
     11028                </div>
     11029              </div>
     11030            </div>
     11031            <p xmlns="http://www.w3.org/1999/xhtml">
     11032There is a global ring (see section 16.2) of regions deleted from buffers.
     11033Some commands save affected regions on the kill ring before performing
     11034modifications.  You should consider making the command undoable (see
     11035section 16.3), but this is a simple way of achieving a less
     11036satisfactory means for the user to recover.
     11037            </p>
     11038            <p>
     11039              <div class="refentrytitle">
     11040                <a id="f_kill-region"></a>
     11041                <strong>[Function]</strong>
     11042                <br></br>
     11043                <code>
     11044                        kill-region region  current-type
     11045                    </code>
     11046              </div>
     11047              <div class="refentrytitle"></div>
     11048            </p>
     11049            <p>
     11050              <div>
     11051                <div class="refsect1" lang="en" xml:lang="en">
     11052                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689430"></a>
     11053                  <div class="header">Description:</div>
     11054                  <p xmlns="http://www.w3.org/1999/xhtml">
     11055This kills region saving it in the kill ring. Current-type is either
     11056:kill-forward or :kill-backward. When the last-command-type (page 31)
     11057is one of these, this adds region to the beginning or end,
     11058respectively, of the top of the kill ring. The result of calling this is
     11059undoable using the command Undo (see the Hemlock User's Manual). This
     11060sets last-command-type to current-type, and it interacts with
     11061kill-characters.
     11062                    </p>
     11063                </div>
     11064              </div>
     11065            </p>
     11066            <p>
     11067              <div class="refentrytitle">
     11068                <a id="f_kill-characters"></a>
     11069                <strong>[Function]</strong>
     11070                <br></br>
     11071                <code>
     11072                        kill-characters mark count
     11073                    </code>
     11074              </div>
     11075              <div class="refentrytitle"></div>
     11076            </p>
     11077            <p>
     11078              <div>
     11079                <div class="refsect1" lang="en" xml:lang="en">
     11080                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689488"></a>
     11081                  <div class="header">Description:</div>
     11082                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     11083                </div>
     11084              </div>
     11085            </p>
     11086            <p>
     11087              <div class="refentrytitle">
     11088                <a id="hv_character_deletion_threshold"></a>
     11089                <strong>[Hemlock Variable]</strong>
     11090                <br></br>
     11091                <code>
     11092                        Character Deletion Threshold (initial value 5)
     11093                    </code>
     11094              </div>
     11095              <div class="refentrytitle"></div>
     11096            </p>
     11097            <p>
     11098              <div>
     11099                <div class="refsect1" lang="en" xml:lang="en">
     11100                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689543"></a>
     11101                  <div class="header">Description:</div>
     11102                  <p xmlns="http://www.w3.org/1999/xhtml">
     11103kill-characters kills count characters after mark if count is
     11104positive, otherwise before mark if count is negative.  When count is
     11105greater than or equal to Character Deletion Threshold, the killed
     11106characters are saved on the kill ring. This may be called multiple times
     11107contiguously (that is, without last-command-type (page 31) being set)
     11108to accumulate an effective count for purposes of comparison with the
     11109threshold.
     11110                    </p>
     11111                  <p xmlns="http://www.w3.org/1999/xhtml">
     11112This sets last-command-type, and it interacts with kill-region. When
     11113this adds a new region to the kill ring, it sets last-command-type to
     11114:kill-forward (if count is positive) or :kill-backward (if count is
     11115negative).  When last-command-type is :kill-forward or :kill-backward,
     11116this adds the killed characters to the beginning (if count is
     11117negative) or the end (if count is positive) of the top of the kill ring,
     11118and it sets last-command-type as if it added a new region to the
     11119kill ring. When the kill ring is unaffected, this sets
     11120last-command-type to :char-kill-forward or :char-kill-backward
     11121depending on whether count is positive or negative, respectively.
     11122                    </p>
     11123                  <p xmlns="http://www.w3.org/1999/xhtml">
     11124This returns mark if it deletes characters.  If there are not count
     11125characters in the appropriate direction, this returns nil.
     11126                    </p>
     11127                </div>
     11128              </div>
     11129            </p>
     11130          </div>
     11131          <div class="sect2" lang="en" xml:lang="en">
     11132            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     11133              <div>
     11134                <div>
     11135                  <h3 class="title"><a id="ActiveRegions"></a>6.4.4. Active Regions</h3>
     11136                </div>
     11137              </div>
     11138            </div>
     11139            <p xmlns="http://www.w3.org/1999/xhtml">
     11140Every buffer has a mark stack (page 9) and a mark known as the point
     11141where most text altering nominally occurs.  Between the top of the
     11142mark stack, the current-mark, and the current-buffer's point, the
     11143current-point, is what is known as the current-region . Certain
     11144commands signal errors when the user tries to operate on the
     11145current-region without its having been activated.  If the user turns
     11146off this feature, then the current-region is effectively always
     11147active.
     11148            </p>
     11149            <p xmlns="http://www.w3.org/1999/xhtml">
     11150When writing a command that marks a region of text, the programmer
     11151should make sure to activate the region.  This typically occurs
     11152naturally from the primitives that you use to mark regions, but
     11153sometimes you must explicitly activate the region.  These commands
     11154should be written this way, so they do not require the user to
     11155separately mark an area and then activate it.  Commands that modify
     11156regions do not have to worry about deactivating the region since
     11157modifying a buffer automatically deactivates the region.  Commands
     11158that insert text often activate the region ephemerally; that is, the
     11159region is active for the immediately following command, allowing the
     11160user wants to delete the region inserted, fill it, or whatever.
     11161            </p>
     11162            <p xmlns="http://www.w3.org/1999/xhtml">
     11163Once a marking command makes the region active, it remains active until:
     11164            </p>
     11165            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     11166              <ul class="itemizedlist" type="disc">
     11167                <li class="listitem">
     11168                  <p>
     11169a command uses the region,
     11170                    </p>
     11171                </li>
     11172                <li class="listitem">
     11173                  <p>
     11174a command modifies the buffer,
     11175                    </p>
     11176                </li>
     11177                <li class="listitem">
     11178                  <p>
     11179a command changes the current window or buffer,
     11180                    </p>
     11181                </li>
     11182                <li class="listitem">
     11183                  <p>
     11184a command signals an editor-error,
     11185                    </p>
     11186                </li>
     11187                <li class="listitem">
     11188                  <p>
     11189or the user types C-g.
     11190                    </p>
     11191                </li>
     11192              </ul>
     11193            </div>
     11194            <p>
     11195              <div class="refentrytitle">
     11196                <a id="hv_active_regions_enabled"></a>
     11197                <strong>[Hemlock Variable]</strong>
     11198                <br></br>
     11199                <code>
     11200                        Active Regions Enabled (initial value t)
     11201                    </code>
     11202              </div>
     11203              <div class="refentrytitle"></div>
     11204            </p>
     11205            <p>
     11206              <div>
     11207                <div class="refsect1" lang="en" xml:lang="en">
     11208                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689690"></a>
     11209                  <div class="header">Description:</div>
     11210                  <p xmlns="http://www.w3.org/1999/xhtml">
     11211When this variable is non-nil, some primitives signal an editor-error
     11212if the region is not active.  This may be set to nil for more
     11213traditional Emacs region semantics.
     11214                    </p>
     11215                </div>
     11216              </div>
     11217            </p>
     11218            <p>
     11219              <div class="refentrytitle">
     11220                <a id="v_ephemerally-active-command-types"></a>
     11221                <strong>[Variable]</strong>
     11222                <br></br>
     11223                <code>
     11224                        *ephemerally-active-command-types*
     11225                    </code>
     11226              </div>
     11227              <div class="refentrytitle"></div>
     11228            </p>
     11229            <p>
     11230              <div>
     11231                <div class="refsect1" lang="en" xml:lang="en">
     11232                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689746"></a>
     11233                  <div class="header">Description:</div>
     11234                  <p xmlns="http://www.w3.org/1999/xhtml">
     11235This is a list of command types (see section 7.3), and its initial
     11236value is the list of :ephemerally-active and :unkill. When the
     11237previous command's type is one of these, the current-region is active
     11238for the currently executing command only, regardless of whether it
     11239does something to deactivate the region.  However, the current command
     11240may activate the region for future commands. :ephemerally-active is a
     11241default command type that may be used to ephemerally activate the
     11242region, and:unkill is the type used by two commands, Un-kill and
     11243Rotate Kill Ring (what users typically think of as C-y and M-y).
     11244                    </p>
     11245                </div>
     11246              </div>
     11247            </p>
     11248            <p>
     11249              <div class="refentrytitle">
     11250                <a id="f_activate-region"></a>
     11251                <strong>[Function]</strong>
     11252                <br></br>
     11253                <code>
     11254                        activate-region
     11255                    </code>
     11256              </div>
     11257              <div class="refentrytitle"></div>
     11258            </p>
     11259            <p>
     11260              <div>
     11261                <div class="refsect1" lang="en" xml:lang="en">
     11262                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689806"></a>
     11263                  <div class="header">Description:</div>
     11264                  <p xmlns="http://www.w3.org/1999/xhtml">
     11265This makes the current-region active.
     11266                    </p>
     11267                </div>
     11268              </div>
     11269            </p>
     11270            <p>
     11271              <div class="refentrytitle">
     11272                <a id="f_deactivate-region"></a>
     11273                <strong>[Function]</strong>
     11274                <br></br>
     11275                <code>
     11276                        deactivate-region
     11277                    </code>
     11278              </div>
     11279              <div class="refentrytitle"></div>
     11280            </p>
     11281            <p>
     11282              <div>
     11283                <div class="refsect1" lang="en" xml:lang="en">
     11284                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689860"></a>
     11285                  <div class="header">Description:</div>
     11286                  <p xmlns="http://www.w3.org/1999/xhtml">
     11287After invoking this the current-region is no longer active.
     11288                    </p>
     11289                </div>
     11290              </div>
     11291            </p>
     11292            <p>
     11293              <div class="refentrytitle">
     11294                <a id="f_region-active-p"></a>
     11295                <strong>[Function]</strong>
     11296                <br></br>
     11297                <code>
     11298                        region-active-p
     11299                    </code>
     11300              </div>
     11301              <div class="refentrytitle"></div>
     11302            </p>
     11303            <p>
     11304              <div>
     11305                <div class="refsect1" lang="en" xml:lang="en">
     11306                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689915"></a>
     11307                  <div class="header">Description:</div>
     11308                  <p xmlns="http://www.w3.org/1999/xhtml">
     11309Returns whether the current-region is active, including
     11310ephemerally. This ignores Active Regions Enabled.
     11311                    </p>
     11312                </div>
     11313              </div>
     11314            </p>
     11315            <p>
     11316              <div class="refentrytitle">
     11317                <a id="f_check-region-active"></a>
     11318                <strong>[Function]</strong>
     11319                <br></br>
     11320                <code>
     11321                        check-region-active
     11322                    </code>
     11323              </div>
     11324              <div class="refentrytitle"></div>
     11325            </p>
     11326            <p>
     11327              <div>
     11328                <div class="refsect1" lang="en" xml:lang="en">
     11329                  <a xmlns="http://www.w3.org/1999/xhtml" id="id689970"></a>
     11330                  <div class="header">Description:</div>
     11331                  <p xmlns="http://www.w3.org/1999/xhtml">
     11332This signals an editor-error when active regions are enabled, and the
     11333current-region is not active.
     11334                    </p>
     11335                </div>
     11336              </div>
     11337            </p>
     11338            <p>
     11339              <div class="refentrytitle">
     11340                <a id="f_current-region"></a>
     11341                <strong>[Function]</strong>
     11342                <br></br>
     11343                <code>
     11344                        current-region <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> error-if-not-active deactivate-region
     11345                    </code>
     11346              </div>
     11347              <div class="refentrytitle"></div>
     11348            </p>
     11349            <p>
     11350              <div>
     11351                <div class="refsect1" lang="en" xml:lang="en">
     11352                  <a xmlns="http://www.w3.org/1999/xhtml" id="id690029"></a>
     11353                  <div class="header">Description:</div>
     11354                  <p xmlns="http://www.w3.org/1999/xhtml">
     11355This returns a region formed with current-mark and current-point,
     11356optionally signaling an editor-error if the current region is not
     11357active. Error-if-not-active defaults to t. Each call returns a
     11358distinct region object.  Depending on deactivate-region (defaults to
     11359t), fetching the current region deactivates it.  Hemlock primitives
     11360are free to modify text regardless of whether the region is active, so
     11361a command that checks for this can deactivate the region whenever it
     11362is convenient.
     11363                    </p>
     11364                </div>
     11365              </div>
     11366            </p>
     11367          </div>
     11368          <div class="sect2" lang="en" xml:lang="en">
     11369            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     11370              <div>
     11371                <div>
     11372                  <h3 class="title"><a id="SearchingAndReplacing"></a>6.4.5. Searching and Replacing</h3>
     11373                </div>
     11374              </div>
     11375            </div>
     11376            <p xmlns="http://www.w3.org/1999/xhtml">
     11377Before using any of these functions to do a character search, look at
     11378character attributes (page 37).  They provide a facility similar to
     11379the syntax table in real Emacs.  Syntax tables are a powerful,
     11380general, and efficient mechanism for assigning meanings to characters
     11381in various modes.
     11382            </p>
     11383            <p>
     11384              <div class="refentrytitle">
     11385                <a id="f_new-search-pattern"></a>
     11386                <strong>[Function]</strong>
     11387                <br></br>
     11388                <code>
     11389                        new-search-pattern kind direction pattern <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> result-search-pattern
     11390                    </code>
     11391              </div>
     11392              <div class="refentrytitle"></div>
     11393            </p>
     11394            <p>
     11395              <div>
     11396                <div class="refsect1" lang="en" xml:lang="en">
     11397                  <a xmlns="http://www.w3.org/1999/xhtml" id="id690108"></a>
     11398                  <div class="header">Description:</div>
     11399                  <p xmlns="http://www.w3.org/1999/xhtml">
     11400Returns a search-pattern object which can be given to the find-pattern
     11401and replace-pattern functions. A search-pattern is a specification of
     11402a particular sort of search to do. direction is either :forward or
     11403:backward, indicating the direction to search in. kind specifies the
     11404kind of search pattern to make, and pattern is a thing which specifies
     11405what to search for.  The interpretation of pattern depends on the kind
     11406of pattern being made.  Currently defined kinds of search pattern are:
     11407                    </p>
     11408                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:string-insensitive</span></i>---
     11409Does a case-insensitive string search for pattern
     11410                                </p>
     11411                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:string-sensitive</span></i>---
     11412Does a case-sensitive string search for pattern.
     11413                                </p>
     11414                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:character</span></i>---
     11415Finds an occurrence of the character pattern. This is case sensitive.
     11416                                </p>
     11417                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:not-character</span></i>---
     11418Find a character which is not the character pattern.
     11419                                </p>
     11420                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:test</span></i>---
     11421Finds a character which satisfies the function pattern. This function may not be applied an any particular fashion, so it should depend only on what its argument is, and should have no side-effects.
     11422                                </p>
     11423                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:test-not</span></i>---
     11424Similar to :test, except it finds a character that fails the test.
     11425                                </p>
     11426                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:any</span></i>---
     11427Finds a character that is in the string pattern.
     11428                                </p>
     11429                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:not-any</span></i>---
     11430Finds a character that is not in the string pattern.
     11431                                </p>
     11432                  <p xmlns="http://www.w3.org/1999/xhtml">
     11433result-search-pattern, if supplied, is a search-pattern to
     11434destructively modify to produce the new pattern.  Where reasonable
     11435this should be supplied, since some kinds of search patterns may
     11436involve large data structures.
     11437                    </p>
     11438                </div>
     11439              </div>
     11440            </p>
     11441            <p>
     11442              <div class="refentrytitle">
     11443                <a id="f_search-pattern-p"></a>
     11444                <strong>[Function]</strong>
     11445                <br></br>
     11446                <code>
     11447                        search-pattern-p search-pattern
     11448                    </code>
     11449              </div>
     11450              <div class="refentrytitle"></div>
     11451            </p>
     11452            <p>
     11453              <div>
     11454                <div class="refsect1" lang="en" xml:lang="en">
     11455                  <a xmlns="http://www.w3.org/1999/xhtml" id="id690308"></a>
     11456                  <div class="header">Description:</div>
     11457                  <p xmlns="http://www.w3.org/1999/xhtml">
     11458Returns t if search-pattern is a search-pattern object, otherwise nil.
     11459                    </p>
     11460                </div>
     11461              </div>
     11462            </p>
     11463            <p>
     11464              <div class="refentrytitle">
     11465                <a id="f_get-search-pattern"></a>
     11466                <strong>[Function]</strong>
     11467                <br></br>
     11468                <code>
     11469                        get-search-pattern string direction
     11470                    </code>
     11471              </div>
     11472              <div class="refentrytitle"></div>
     11473            </p>
     11474            <p>
     11475              <div>
     11476                <div class="refsect1" lang="en" xml:lang="en">
     11477                  <a xmlns="http://www.w3.org/1999/xhtml" id="id690363"></a>
     11478                  <div class="header">Description:</div>
     11479                  <p xmlns="http://www.w3.org/1999/xhtml">
     11480get-search-pattern interfaces to a default search string and pattern
     11481that search and replacing commands can use.  These commands then share
     11482a default when prompting for what to search or replace, and save on
     11483consing a search pattern each time they execute.  This uses Default
     11484Search Kind (see the  Hemlock  User's Manual) when updating the pattern
     11485object.
     11486                    </p>
     11487                </div>
     11488              </div>
     11489            </p>
     11490            <p>
     11491              <div class="refentrytitle">
     11492                <a id="v_last-search-string"></a>
     11493                <strong>[Variable]</strong>
     11494                <br></br>
     11495                <code>
     11496                        *last-search-string*
     11497                    </code>
     11498              </div>
     11499              <div class="refentrytitle"></div>
     11500            </p>
     11501            <p>
     11502              <div>
     11503                <div class="refsect1" lang="en" xml:lang="en">
     11504                  <a xmlns="http://www.w3.org/1999/xhtml" id="id690420"></a>
     11505                  <div class="header">Description:</div>
     11506                  <p xmlns="http://www.w3.org/1999/xhtml">
     11507Returns the last string searched for, useful when prompting.
     11508                    </p>
     11509                </div>
     11510              </div>
     11511            </p>
     11512            <p>
     11513              <div class="refentrytitle">
     11514                <a id="f_find-pattern"></a>
     11515                <strong>[Function]</strong>
     11516                <br></br>
     11517                <code>
     11518                        find-pattern mark search-pattern
     11519                    </code>
     11520              </div>
     11521              <div class="refentrytitle"></div>
     11522            </p>
     11523            <p>
     11524              <div>
     11525                <div class="refsect1" lang="en" xml:lang="en">
     11526                  <a xmlns="http://www.w3.org/1999/xhtml" id="id690475"></a>
     11527                  <div class="header">Description:</div>
     11528                  <p xmlns="http://www.w3.org/1999/xhtml">
     11529Find the next match of search-pattern starting at mark. If a match is
     11530found then mark is altered to point before the matched text and the
     11531number of characters matched is returned.  If no match is found then
     11532nil is returned and mark is not modified.
     11533                    </p>
     11534                </div>
     11535              </div>
     11536            </p>
     11537            <p>
     11538              <div class="refentrytitle">
     11539                <a id="f_replace-pattern"></a>
     11540                <strong>[Function]</strong>
     11541                <br></br>
     11542                <code>
     11543                        replace-pattern mark search-pattern replacement <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> n
     11544                    </code>
     11545              </div>
     11546              <div class="refentrytitle"></div>
     11547            </p>
     11548            <p>
     11549              <div>
     11550                <div class="refsect1" lang="en" xml:lang="en">
     11551                  <a xmlns="http://www.w3.org/1999/xhtml" id="id690535"></a>
     11552                  <div class="header">Description:</div>
     11553                  <p xmlns="http://www.w3.org/1999/xhtml">
     11554Replace n matches of search-pattern with the string replacement
     11555starting at mark. If n is nil (the default) then replace all matches.
     11556A mark pointing before the last replacement done is returned.
     11557                    </p>
     11558                </div>
     11559              </div>
     11560            </p>
     11561          </div>
     11562        </div>
     11563        <div class="sect1" lang="en" xml:lang="en">
     11564          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     11565            <div>
     11566              <div>
     11567                <h2 class="title" style="clear: both"><a id="HemlockProgrammingTheCurrentEnvironment"></a>6.5. The Current Environment</h2>
     11568              </div>
     11569            </div>
     11570          </div>
     11571          <div class="sect2" lang="en" xml:lang="en">
     11572            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     11573              <div>
     11574                <div>
     11575                  <h3 class="title"><a id="DifferentScopes"></a>6.5.1. Different Scopes</h3>
     11576                </div>
     11577              </div>
     11578            </div>
     11579            <p xmlns="http://www.w3.org/1999/xhtml">
     11580In Hemlock the "current" values of <a class="ulink" href="HemlockProgrammer/HemlockVariables" target="_top">variables</a>,
     11581<a class="ulink" href="HemlockProgrammer/Commands" target="_top">key bindings</a> and
     11582<a class="ulink" href="HemlockProgrammer/CharacterAttributes" target="_top">character-attributes</a>
     11583depend on the <a class="ulink" href="HemlockProgrammer/Buffers#CurrentBuffer" target="_top">current buffer</a>
     11584and the modes active in it.  There are three possible scopes for
     11585Hemlock values:
     11586            </p>
     11587            <div xmlns="http://www.w3.org/1999/xhtml" class="variablelist">
     11588              <dl>
     11589                <dt>
     11590                  <span class="term">buffer local</span>
     11591                </dt>
     11592                <dd>
     11593                  <p>
     11594The value is present only if the buffer it is local to is the current buffer.
     11595                        </p>
     11596                </dd>
     11597                <dt>
     11598                  <span class="term">mode local</span>
     11599                </dt>
     11600                <dd>
     11601                  <p>
     11602The value is present only when the mode it is local to is active in the current buffer.
     11603                        </p>
     11604                </dd>
     11605                <dt>
     11606                  <span class="term">global</span>
     11607                </dt>
     11608                <dd>
     11609                  <p>
     11610The value is always present unless shadowed by a buffer or mode local value.
     11611                        </p>
     11612                </dd>
     11613              </dl>
     11614            </div>
     11615          </div>
     11616          <div class="sect2" lang="en" xml:lang="en">
     11617            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     11618              <div>
     11619                <div>
     11620                  <h3 class="title"><a id="Shadowing"></a>6.5.2. Shadowing</h3>
     11621                </div>
     11622              </div>
     11623            </div>
     11624            <p xmlns="http://www.w3.org/1999/xhtml">
     11625It is possible that there are different values for the same thing in
     11626in different scopes.  For example, there be might a global binding for a given
     11627variable and also a local binding in the current buffer.  Whenever there is a
     11628conflict, shadowing occurs, permitting only one of the values to be visible in
     11629the current environment.
     11630            </p>
     11631            <p xmlns="http://www.w3.org/1999/xhtml">
     11632The process of resolving such a conflict can be described as a search
     11633down a list of places where the value might be defined, returning the
     11634first value found.  The order for the search is as follows:
     11635            </p>
     11636            <div xmlns="http://www.w3.org/1999/xhtml" class="orderedlist">
     11637              <ol class="orderedlist" type="1">
     11638                <li class="listitem">
     11639                  <p>
     11640Local values in the current buffer.
     11641                    </p>
     11642                </li>
     11643                <li class="listitem">
     11644                  <p>
     11645Mode local values in the minor modes of the current buffer, in order from the highest precedence mode to the lowest precedence mode.  The order of minor modes with equal precedences is undefined.
     11646                    </p>
     11647                </li>
     11648                <li class="listitem">
     11649                  <p>
     11650Mode local values in the current buffer's major mode.
     11651                    </p>
     11652                </li>
     11653                <li class="listitem">
     11654                  <p>
     11655Global values.
     11656                    </p>
     11657                </li>
     11658              </ol>
     11659            </div>
     11660          </div>
     11661        </div>
     11662        <div class="sect1" lang="en" xml:lang="en">
     11663          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     11664            <div>
     11665              <div>
     11666                <h2 class="title" style="clear: both"><a id="HemlockProgrammingHemlockVariables"></a>6.6. Hemlock Variables</h2>
     11667              </div>
     11668            </div>
     11669          </div>
     11670          <p xmlns="http://www.w3.org/1999/xhtml">
     11671Hemlock implements a system of variables separate from normal Lisp
     11672variables for the following reasons:
     11673        </p>
     11674          <div xmlns="http://www.w3.org/1999/xhtml" class="orderedlist">
     11675            <ol class="orderedlist" type="1">
     11676              <li class="listitem">
     11677                <p>
     11678Hemlock has different scoping rules which are useful in an editor.  Hemlock variables can be local to a buffer (page 9) or a mode (page 35).
     11679                </p>
     11680              </li>
     11681              <li class="listitem">
     11682                <p>
     11683Hemlock variables have hooks (page 25), lists of functions called when someone sets the variable. See variable-value for the arguments Hemlock passes to these hook functions.
     11684                </p>
     11685              </li>
     11686              <li class="listitem">
     11687                <p>
     11688There is a database of variable names and documentation which makes it easier to find out what variables exist and what their values mean.
     11689                </p>
     11690              </li>
     11691            </ol>
     11692          </div>
     11693          <div class="sect2" lang="en" xml:lang="en">
     11694            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     11695              <div>
     11696                <div>
     11697                  <h3 class="title"><a id="VariableNames"></a>6.6.1. Variable Names</h3>
     11698                </div>
     11699              </div>
     11700            </div>
     11701            <p xmlns="http://www.w3.org/1999/xhtml">
     11702To the user, a variable name is a case insensitive string.  This
     11703string is referred to as the string name of the variable. A string
     11704name is conventionally composed of words separated by spaces.
     11705            </p>
     11706            <p xmlns="http://www.w3.org/1999/xhtml">
     11707In Lisp code a variable name is a symbol.  The name of this symbol is
     11708created by replacing any spaces in the string name with hyphens.  This
     11709symbol name is always interned in the Hemlock package.
     11710            </p>
     11711            <p>
     11712              <div class="refentrytitle">
     11713                <a id="v_global-variable-names"></a>
     11714                <strong>[Variable]</strong>
     11715                <br></br>
     11716                <code>
     11717                        *global-variable-names*
     11718                    </code>
     11719              </div>
     11720              <div class="refentrytitle"></div>
     11721            </p>
     11722            <p>
     11723              <div>
     11724                <div class="refsect1" lang="en" xml:lang="en">
     11725                  <a xmlns="http://www.w3.org/1999/xhtml" id="id690829"></a>
     11726                  <div class="header">Description:</div>
     11727                  <p xmlns="http://www.w3.org/1999/xhtml">
     11728This variable holds a string-table of the names of all the global
     11729Hemlock variables. The value of each entry is the symbol name of the
     11730variable.
     11731                    </p>
     11732                </div>
     11733              </div>
     11734            </p>
     11735            <p>
     11736              <div class="refentrytitle">
     11737                <a id="f_current-variable-tables"></a>
     11738                <strong>[Function]</strong>
     11739                <br></br>
     11740                <code>
     11741                        current-variable-tables
     11742                    </code>
     11743              </div>
     11744              <div class="refentrytitle"></div>
     11745            </p>
     11746            <p>
     11747              <div>
     11748                <div class="refsect1" lang="en" xml:lang="en">
     11749                  <a xmlns="http://www.w3.org/1999/xhtml" id="id690884"></a>
     11750                  <div class="header">Description:</div>
     11751                  <p xmlns="http://www.w3.org/1999/xhtml">
     11752This function returns a list of variable tables currently established,
     11753globally, in the current buffer, and by the modes of the
     11754current-buffer. This list is suitable for use with
     11755prompt-for-variable.
     11756                    </p>
     11757                </div>
     11758              </div>
     11759            </p>
     11760          </div>
     11761          <div class="sect2" lang="en" xml:lang="en">
     11762            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     11763              <div>
     11764                <div>
     11765                  <h3 class="title"><a id="VariableFunctions"></a>6.6.2. Variable Functions</h3>
     11766                </div>
     11767              </div>
     11768            </div>
     11769            <p xmlns="http://www.w3.org/1999/xhtml">
     11770In the following descriptions name is the symbol name of the variable.
     11771            </p>
     11772            <p>
     11773              <div class="refentrytitle">
     11774                <a id="f_defhvar"></a>
     11775                <strong>[Function]</strong>
     11776                <br></br>
     11777                <code>
     11778                        defhvar string-name documentation <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :mode :buffer :hooks :value
     11779                    </code>
     11780              </div>
     11781              <div class="refentrytitle"></div>
     11782            </p>
     11783            <p>
     11784              <div>
     11785                <div class="refsect1" lang="en" xml:lang="en">
     11786                  <a xmlns="http://www.w3.org/1999/xhtml" id="id690959"></a>
     11787                  <div class="header">Description:</div>
     11788                  <p xmlns="http://www.w3.org/1999/xhtml">
     11789This function defines a Hemlock variable. Functions that take a
     11790variable name signal an error when the variable is undefined.
     11791                    </p>
     11792                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">string-name</span></i>---
     11793The string name of the variable to define.
     11794                                </p>
     11795                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">documentation</span></i>---
     11796The documentation string for the variable.
     11797                                </p>
     11798                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:mode, :buffer</span></i>---
     11799If buffer is supplied, the variable is local to that buffer.  If mode is supplied, it is local to that mode.  If neither is supplied, it is global.
     11800                                </p>
     11801                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:value</span></i>---
     11802This is the initial value for the variable, which defaults to nil.
     11803                                </p>
     11804                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:hooks</span></i>---
     11805This is the initial list of functions to call when someone sets the variable's value. These functions execute before Hemlock establishes the new value. See variable-value for the arguments passed to the hook functions.
     11806                                </p>
     11807                  <p xmlns="http://www.w3.org/1999/xhtml">
     11808If a variable with the same name already exists in the same place,
     11809then defhvar sets its hooks and value from hooks and value if the user
     11810supplies these keywords.
     11811                    </p>
     11812                </div>
     11813              </div>
     11814            </p>
     11815            <p>
     11816              <div class="refentrytitle">
     11817                <a id="f_variable-value"></a>
     11818                <strong>[Function]</strong>
     11819                <br></br>
     11820                <code>
     11821                        variable-value name <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> kind where
     11822                    </code>
     11823              </div>
     11824              <div class="refentrytitle"></div>
     11825            </p>
     11826            <p>
     11827              <div>
     11828                <div class="refsect1" lang="en" xml:lang="en">
     11829                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691110"></a>
     11830                  <div class="header">Description:</div>
     11831                  <p xmlns="http://www.w3.org/1999/xhtml">
     11832This function returns the value of a Hemlock variable in some place. The following values for kind are defined:
     11833                    </p>
     11834                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:current</span></i>---
     11835Return the value present in the current environment, taking into consideration any mode or buffer local variables.  This is the default.
     11836                                </p>
     11837                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:global</span></i>---
     11838Return the global value.
     11839                                </p>
     11840                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:mode</span></i>---
     11841Return the value in the mode named where.
     11842                                </p>
     11843                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:buffer</span></i>---
     11844Return the value in the buffer where.
     11845                                </p>
     11846                  <p xmlns="http://www.w3.org/1999/xhtml">
     11847When set with setf, Hemlock sets the value of the specified variable
     11848and invokes the functions in its hook list with name, kind, where, and
     11849the new value.
     11850                    </p>
     11851                </div>
     11852              </div>
     11853            </p>
     11854            <p>
     11855              <div class="refentrytitle">
     11856                <a id="f_variable-documentation"></a>
     11857                <strong>[Function]</strong>
     11858                <br></br>
     11859                <code>
     11860                        variable-documentation name <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> kind where
     11861                    </code>
     11862              </div>
     11863              <div class="refentrytitle"></div>
     11864            </p>
     11865            <p>
     11866              <div>
     11867                <div class="refsect1" lang="en" xml:lang="en">
     11868                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691244"></a>
     11869                  <div class="header">Description:</div>
     11870                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     11871                </div>
     11872              </div>
     11873            </p>
     11874            <p>
     11875              <div class="refentrytitle">
     11876                <a id="f_variable-hooks"></a>
     11877                <strong>[Function]</strong>
     11878                <br></br>
     11879                <code>
     11880                        variable-hooks name <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> kind where
     11881                    </code>
     11882              </div>
     11883              <div class="refentrytitle"></div>
     11884            </p>
     11885            <p>
     11886              <div>
     11887                <div class="refsect1" lang="en" xml:lang="en">
     11888                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691302"></a>
     11889                  <div class="header">Description:</div>
     11890                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     11891                </div>
     11892              </div>
     11893            </p>
     11894            <p>
     11895              <div class="refentrytitle">
     11896                <a id="f_variable-name"></a>
     11897                <strong>[Function]</strong>
     11898                <br></br>
     11899                <code>
     11900                        variable-name name <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> kind where
     11901                    </code>
     11902              </div>
     11903              <div class="refentrytitle"></div>
     11904            </p>
     11905            <p>
     11906              <div>
     11907                <div class="refsect1" lang="en" xml:lang="en">
     11908                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691360"></a>
     11909                  <div class="header">Description:</div>
     11910                  <p xmlns="http://www.w3.org/1999/xhtml">
     11911These function return the documentation, hooks and string name of a
     11912Hemlock variable. The kind and where arguments are the same as for
     11913variable-value. The documentation and hook list may be set using setf.
     11914                    </p>
     11915                </div>
     11916              </div>
     11917            </p>
     11918            <p>
     11919              <div class="refentrytitle">
     11920                <a id="f_string-to-variable"></a>
     11921                <strong>[Function]</strong>
     11922                <br></br>
     11923                <code>
     11924                        string-to-variable string
     11925                    </code>
     11926              </div>
     11927              <div class="refentrytitle"></div>
     11928            </p>
     11929            <p>
     11930              <div>
     11931                <div class="refsect1" lang="en" xml:lang="en">
     11932                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691416"></a>
     11933                  <div class="header">Description:</div>
     11934                  <p xmlns="http://www.w3.org/1999/xhtml">
     11935This function converts a string into the corresponding variable symbol
     11936name. String need not be the name of an actual Hemlock variable.
     11937                    </p>
     11938                </div>
     11939              </div>
     11940            </p>
     11941            <p>
     11942              <div class="refentrytitle">
     11943                <a id="m_value"></a>
     11944                <strong>[Macro]</strong>
     11945                <br></br>
     11946                <code>
     11947                        value name
     11948                    </code>
     11949              </div>
     11950              <div class="refentrytitle"></div>
     11951            </p>
     11952            <p>
     11953              <div>
     11954                <div class="refsect1" lang="en" xml:lang="en">
     11955                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691471"></a>
     11956                  <div class="header">Description:</div>
     11957                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     11958                </div>
     11959              </div>
     11960            </p>
     11961            <p>
     11962              <div class="refentrytitle">
     11963                <a id="m_setv"></a>
     11964                <strong>[Macro]</strong>
     11965                <br></br>
     11966                <code>
     11967                        setv name new-value
     11968                    </code>
     11969              </div>
     11970              <div class="refentrytitle"></div>
     11971            </p>
     11972            <p>
     11973              <div>
     11974                <div class="refsect1" lang="en" xml:lang="en">
     11975                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691525"></a>
     11976                  <div class="header">Description:</div>
     11977                  <p xmlns="http://www.w3.org/1999/xhtml">
     11978These macros get and set the current value of the Hemlock variable
     11979name. Name is not evaluated.  There is a setf form for <code class="code">value</code>.
     11980                    </p>
     11981                </div>
     11982              </div>
     11983            </p>
     11984            <p>
     11985              <div class="refentrytitle">
     11986                <a id="m_hlet"></a>
     11987                <strong>[Macro]</strong>
     11988                <br></br>
     11989                <code>
     11990                        hlet ({(var value)}*){form}*
     11991                    </code>
     11992              </div>
     11993              <div class="refentrytitle"></div>
     11994            </p>
     11995            <p>
     11996              <div>
     11997                <div class="refsect1" lang="en" xml:lang="en">
     11998                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691584"></a>
     11999                  <div class="header">Description:</div>
     12000                  <p xmlns="http://www.w3.org/1999/xhtml">
     12001This macro is very similar to let in effect; within its scope each of
     12002the Hemlock variables var have the respective values, but after the
     12003scope is exited by any means the binding is removed.  This does not
     12004cause any hooks to be invoked.  The value of the last form is
     12005returned.
     12006                    </p>
     12007                </div>
     12008              </div>
     12009            </p>
     12010            <p>
     12011              <div class="refentrytitle">
     12012                <a id="f_hemlock-bound-p"></a>
     12013                <strong>[Function]</strong>
     12014                <br></br>
     12015                <code>
     12016                        hemlock-bound-p name <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> kind where
     12017                    </code>
     12018              </div>
     12019              <div class="refentrytitle"></div>
     12020            </p>
     12021            <p>
     12022              <div>
     12023                <div class="refsect1" lang="en" xml:lang="en">
     12024                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691644"></a>
     12025                  <div class="header">Description:</div>
     12026                  <p xmlns="http://www.w3.org/1999/xhtml">
     12027Returns t if name is defined as a Hemlock variable in the place
     12028specified by kind and where, or nil otherwise.
     12029                    </p>
     12030                </div>
     12031              </div>
     12032            </p>
     12033            <p>
     12034              <div class="refentrytitle">
     12035                <a id="f_delete-variable"></a>
     12036                <strong>[Function]</strong>
     12037                <br></br>
     12038                <code>
     12039                        delete-variable name <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> kind where
     12040                    </code>
     12041              </div>
     12042              <div class="refentrytitle"></div>
     12043            </p>
     12044            <p>
     12045              <div>
     12046                <div class="refsect1" lang="en" xml:lang="en">
     12047                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691703"></a>
     12048                  <div class="header">Description:</div>
     12049                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     12050                </div>
     12051              </div>
     12052            </p>
     12053            <p>
     12054              <div class="refentrytitle">
     12055                <a id="hv_delete_variable_hook"></a>
     12056                <strong>[Hemlock Variable]</strong>
     12057                <br></br>
     12058                <code>
     12059                        Delete Variable Hook
     12060                    </code>
     12061              </div>
     12062              <div class="refentrytitle"></div>
     12063            </p>
     12064            <p>
     12065              <div>
     12066                <div class="refsect1" lang="en" xml:lang="en">
     12067                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691757"></a>
     12068                  <div class="header">Description:</div>
     12069                  <p xmlns="http://www.w3.org/1999/xhtml">
     12070delete-variable makes the Hemlock variable name no longer defined in
     12071the specified place. Kind and where have the same meanings as they do
     12072for variable-value, except that :current is not available, and the
     12073default for kind is :global
     12074                    </p>
     12075                  <p xmlns="http://www.w3.org/1999/xhtml">
     12076An error will be signaled if no such variable exists.  The hook,
     12077Delete Variable Hook is invoked with the same arguments before the
     12078variable is deleted.
     12079                    </p>
     12080                </div>
     12081              </div>
     12082            </p>
     12083          </div>
     12084          <div class="sect2" lang="en" xml:lang="en">
     12085            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12086              <div>
     12087                <div>
     12088                  <h3 class="title"><a id="Hooks"></a>6.6.3. Hooks</h3>
     12089                </div>
     12090              </div>
     12091            </div>
     12092            <p xmlns="http://www.w3.org/1999/xhtml">
     12093Hemlock actions such as setting variables, changing buffers, changing
     12094windows, turning modes on and off, etc., often have hooks associated
     12095with them.  A hook is a list of functions called before the system
     12096performs the action.  The manual describes the object specific hooks
     12097with the rest of the operations defined on these objects.
     12098            </p>
     12099            <p xmlns="http://www.w3.org/1999/xhtml">
     12100Often hooks are stored in Hemlock variables, Delete Buffer Hook and
     12101Set Window Hook for example.  This leads to a minor point of confusion
     12102because these variables have hooks that the system executes when
     12103someone changes their values.  These hook functions Hemlock invokes
     12104when someone sets a variable are an example of a hook stored in an
     12105object instead of a Hemlock variable. These are all hooks for editor
     12106activity, but Hemlock keeps them in different kinds of locations.
     12107This is why some of the routines in this section have a special
     12108interpretation of the hook place argument.
     12109            </p>
     12110            <p>
     12111              <div class="refentrytitle">
     12112                <a id="m_add-hook"></a>
     12113                <strong>[Macro]</strong>
     12114                <br></br>
     12115                <code>
     12116                        add-hook place hook-fun
     12117                    </code>
     12118              </div>
     12119              <div class="refentrytitle"></div>
     12120            </p>
     12121            <p>
     12122              <div>
     12123                <div class="refsect1" lang="en" xml:lang="en">
     12124                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691844"></a>
     12125                  <div class="header">Description:</div>
     12126                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     12127                </div>
     12128              </div>
     12129            </p>
     12130            <p>
     12131              <div class="refentrytitle">
     12132                <a id="m_remove-hook"></a>
     12133                <strong>[Macro]</strong>
     12134                <br></br>
     12135                <code>
     12136                        remove-hook place hook-fun
     12137                    </code>
     12138              </div>
     12139              <div class="refentrytitle"></div>
     12140            </p>
     12141            <p>
     12142              <div>
     12143                <div class="refsect1" lang="en" xml:lang="en">
     12144                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691898"></a>
     12145                  <div class="header">Description:</div>
     12146                  <p xmlns="http://www.w3.org/1999/xhtml">
     12147These macros add or remove a hook function in some place. If hook-fun
     12148already exists in place, this call has no effect.  If place is a
     12149symbol, then it is a Hemlock variable; otherwise, it is a generalized
     12150variable or storage location.  Here are two examples:
     12151                    </p>
     12152                  <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     12153
     12154(add-hook delete-buffer-hook 'remove-buffer-from-menu)
     12155(add-hook (variable-hooks 'check-mail-interval)
     12156          'reschedule-mail-check)
     12157
     12158</pre>
     12159                </div>
     12160              </div>
     12161            </p>
     12162            <p>
     12163              <div class="refentrytitle">
     12164                <a id="m_invoke-hook"></a>
     12165                <strong>[Macro]</strong>
     12166                <br></br>
     12167                <code>
     12168                        invoke-hook place <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;rest</em> args
     12169                    </code>
     12170              </div>
     12171              <div class="refentrytitle"></div>
     12172            </p>
     12173            <p>
     12174              <div>
     12175                <div class="refsect1" lang="en" xml:lang="en">
     12176                  <a xmlns="http://www.w3.org/1999/xhtml" id="id691964"></a>
     12177                  <div class="header">Description:</div>
     12178                  <p xmlns="http://www.w3.org/1999/xhtml">
     12179This macro calls all the functions in place. If place is a symbol,
     12180then it is a Hemlock variable; otherwise, it is a generalized
     12181variable.
     12182                    </p>
     12183                </div>
     12184              </div>
     12185            </p>
     12186          </div>
     12187        </div>
     12188        <div class="sect1" lang="en" xml:lang="en">
     12189          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12190            <div>
     12191              <div>
     12192                <h2 class="title" style="clear: both"><a id="HemlockProgrammingCommands"></a>6.7. Commands</h2>
     12193              </div>
     12194            </div>
     12195          </div>
     12196          <div class="sect2" lang="en" xml:lang="en">
     12197            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12198              <div>
     12199                <div>
     12200                  <h3 class="title"><a id="HemlockProgrammingCommandsIntroduction"></a>6.7.1. Introduction</h3>
     12201                </div>
     12202              </div>
     12203            </div>
     12204            <p xmlns="http://www.w3.org/1999/xhtml">
     12205The way that the user tells Hemlock to do something is by invoking a
     12206command. Commands have three attributes:
     12207            </p>
     12208            <div xmlns="http://www.w3.org/1999/xhtml" class="variablelist">
     12209              <dl>
     12210                <dt>
     12211                  <span class="term">name</span>
     12212                </dt>
     12213                <dd>
     12214                  <p>
     12215A command's name provides a way to refer to it.  Command names are
     12216usually capitalized words separated by spaces, such as Forward Word.
     12217                        </p>
     12218                </dd>
     12219                <dt>
     12220                  <span class="term">documentation</span>
     12221                </dt>
     12222                <dd>
     12223                  <p>
     12224The documentation for a command is used by on-line help facilities.
     12225                        </p>
     12226                </dd>
     12227                <dt>
     12228                  <span class="term">function</span>
     12229                </dt>
     12230                <dd>
     12231                  <p>
     12232A command is implemented by a Lisp function, which is callable from Lisp.
     12233                        </p>
     12234                </dd>
     12235              </dl>
     12236            </div>
     12237            <p>
     12238              <div class="refentrytitle">
     12239                <a id="v_command-names"></a>
     12240                <strong>[Variable]</strong>
     12241                <br></br>
     12242                <code>
     12243                        *command-names*
     12244                    </code>
     12245              </div>
     12246              <div class="refentrytitle"></div>
     12247            </p>
     12248            <p>
     12249              <div>
     12250                <div class="refsect1" lang="en" xml:lang="en">
     12251                  <a xmlns="http://www.w3.org/1999/xhtml" id="id692098"></a>
     12252                  <div class="header">Description:</div>
     12253                  <p xmlns="http://www.w3.org/1999/xhtml">
     12254Holds a string-table (page 69) associating command names to command
     12255objects.  Whenever a new command is defined it is entered in this
     12256table.
     12257                    </p>
     12258                </div>
     12259              </div>
     12260            </p>
     12261          </div>
     12262          <div class="sect2" lang="en" xml:lang="en">
     12263            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12264              <div>
     12265                <div>
     12266                  <h3 class="title"><a id="CommandInterpreter"></a>6.7.2. The Command Interpreter</h3>
     12267                </div>
     12268              </div>
     12269            </div>
     12270            <p xmlns="http://www.w3.org/1999/xhtml">
     12271The command interpreter is the functionality invoked by the event
     12272handler to process key-events from the keyboard and dispatch to
     12273different commands on the basis of what the user types.  When the
     12274command interpreter executes a command, we say it invokes the command.  The
     12275command interpreter also provides facilities for communication between
     12276contiguously running commands, such as a last command type register.
     12277It also takes care of resetting communication mechanisms, clearing the
     12278echo area, displaying partial keys typed slowly by the user, etc.
     12279            </p>
     12280            <p>
     12281              <div class="refentrytitle">
     12282                <a id="hv_command_abort_hook"></a>
     12283                <strong>[Hemlock Variable]</strong>
     12284                <br></br>
     12285                <code>
     12286                        Command Abort Hook
     12287                    </code>
     12288              </div>
     12289              <div class="refentrytitle"></div>
     12290            </p>
     12291            <p>
     12292              <div>
     12293                <div class="refsect1" lang="en" xml:lang="en">
     12294                  <a xmlns="http://www.w3.org/1999/xhtml" id="id692582"></a>
     12295                  <div class="header">Description:</div>
     12296                  <p xmlns="http://www.w3.org/1999/xhtml">
     12297The command interpreter invokes the function in this variable whenever
     12298someone aborts a command (for example, if someone called
     12299editor-error).
     12300                    </p>
     12301                </div>
     12302              </div>
     12303            </p>
     12304          </div>
     12305          <div class="sect2" lang="en" xml:lang="en">
     12306            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12307              <div>
     12308                <div>
     12309                  <h3 class="title"><a id="CommandTypes"></a>6.7.3. Command Types</h3>
     12310                </div>
     12311              </div>
     12312            </div>
     12313            <p xmlns="http://www.w3.org/1999/xhtml">
     12314In many editors the behavior of a command depends on the kind of
     12315command invoked before it. Hemlock provides a mechanism to support
     12316this known as <code class="code">command type</code>.
     12317            </p>
     12318            <p>
     12319              <div class="refentrytitle">
     12320                <a id="f_last-command-type"></a>
     12321                <strong>[Function]</strong>
     12322                <br></br>
     12323                <code>
     12324                        last-command-type
     12325                    </code>
     12326              </div>
     12327              <div class="refentrytitle"></div>
     12328            </p>
     12329            <p>
     12330              <div>
     12331                <div class="refsect1" lang="en" xml:lang="en">
     12332                  <a xmlns="http://www.w3.org/1999/xhtml" id="id693322"></a>
     12333                  <div class="header">Description:</div>
     12334                  <p xmlns="http://www.w3.org/1999/xhtml">
     12335This returns the command type of the last command invoked. If this is
     12336set with setf, the supplied value becomes the value of
     12337last-command-type until the next command completes.  If the previous
     12338command did not set last-command-type, then its value is nil. Normally
     12339a command type is a keyword. The command type is not cleared after a
     12340command is invoked due to a transparent key binding.
     12341                    </p>
     12342                </div>
     12343              </div>
     12344            </p>
     12345          </div>
     12346          <div class="sect2" lang="en" xml:lang="en">
     12347            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12348              <div>
     12349                <div>
     12350                  <h3 class="title"><a id="CommandArguments"></a>6.7.4. Command Arguments</h3>
     12351                </div>
     12352              </div>
     12353            </div>
     12354            <p xmlns="http://www.w3.org/1999/xhtml">
     12355There are three ways in which a command may be invoked: It may be
     12356bound to a key which has been typed, it may be invoked as an extended
     12357command, or it may be called as a Lisp function.  Ideally commands
     12358should be written in such a way that they will behave sensibly no
     12359matter which way they are invoked. The functions which implement
     12360commands must obey certain conventions about argument passing if the
     12361command is to function properly.
     12362            </p>
     12363            <div class="sect3" lang="en" xml:lang="en">
     12364              <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12365                <div>
     12366                  <div>
     12367                    <h4 class="title"><a id="PrefixArgument"></a>6.7.4.1. The Prefix Argument</h4>
     12368                  </div>
     12369                </div>
     12370              </div>
     12371              <p xmlns="http://www.w3.org/1999/xhtml">
     12372Whenever a command is invoked it is passed as its first argument what
     12373is known as the prefix argument. The prefix argument is always either
     12374an integer or nil. When a command uses this value it is usually as a
     12375repeat count, or some conceptually similar function.
     12376                </p>
     12377              <p>
     12378                <div class="refentrytitle">
     12379                  <a id="f_prefix-argument"></a>
     12380                  <strong>[Function]</strong>
     12381                  <br></br>
     12382                  <code>
     12383                            prefix-argument
     12384                        </code>
     12385                </div>
     12386                <div class="refentrytitle"></div>
     12387              </p>
     12388              <p>
     12389                <div>
     12390                  <div class="refsect1" lang="en" xml:lang="en">
     12391                    <a xmlns="http://www.w3.org/1999/xhtml" id="id693414"></a>
     12392                    <div class="header">Description:</div>
     12393                    <p xmlns="http://www.w3.org/1999/xhtml">
     12394This function returns the current value of the prefix argument.  When
     12395set with setf, the new value becomes the prefix argument for the next
     12396command.  If the prefix argument is not set by the previous command
     12397then the prefix argument for a command is nil. The prefix argument is
     12398not cleared after a command is invoked due to a transparent key
     12399binding.
     12400                        </p>
     12401                  </div>
     12402                </div>
     12403              </p>
     12404            </div>
     12405            <div class="sect3" lang="en" xml:lang="en">
     12406              <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12407                <div>
     12408                  <div>
     12409                    <h4 class="title"><a id="LispArguments"></a>6.7.4.2. Lisp Arguments</h4>
     12410                  </div>
     12411                </div>
     12412              </div>
     12413              <p xmlns="http://www.w3.org/1999/xhtml">
     12414It is often desirable to call commands from Lisp code, in which case
     12415arguments which would otherwise be prompted for are passed as optional
     12416arguments following the prefix argument.  A command should prompt for
     12417any arguments not supplied.
     12418                </p>
     12419            </div>
     12420          </div>
     12421        </div>
     12422        <div class="sect1" lang="en" xml:lang="en">
     12423          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12424            <div>
     12425              <div>
     12426                <h2 class="title" style="clear: both"><a id="HemlockProgrammingModes"></a>6.8. Modes</h2>
     12427              </div>
     12428            </div>
     12429          </div>
     12430          <p xmlns="http://www.w3.org/1999/xhtml">
     12431A mode is a collection of Hemlock values which may be present in the
     12432current environment (page 21) depending on the editing task at hand.
     12433An example of a typical mode is Lisp, for editing Lisp code.
     12434        </p>
     12435          <div class="sect2" lang="en" xml:lang="en">
     12436            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12437              <div>
     12438                <div>
     12439                  <h3 class="title"><a id="ModeHooks"></a>6.8.1. Mode Hooks</h3>
     12440                </div>
     12441              </div>
     12442            </div>
     12443            <p xmlns="http://www.w3.org/1999/xhtml">
     12444When a mode is added to or removed from a buffer, its mode hook is
     12445invoked.  The hook functions take two arguments, the buffer involved
     12446and t if the mode is being added or nil if it is being removed.  Mode
     12447hooks are typically used to make a mode do something additional to
     12448what it usually does.  One might, for example, make a Text mode hook
     12449that turned on auto-fill mode when you entered.
     12450            </p>
     12451          </div>
     12452          <div class="sect2" lang="en" xml:lang="en">
     12453            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12454              <div>
     12455                <div>
     12456                  <h3 class="title"><a id="MajorAndMinorModes"></a>6.8.2. Major and Minor Modes</h3>
     12457                </div>
     12458              </div>
     12459            </div>
     12460            <p xmlns="http://www.w3.org/1999/xhtml">
     12461There are two kinds of modes, major modes and minor modes. A buffer
     12462always has exactly one major mode, but it may have any number of minor
     12463modes.  Major modes may have mode character attributes while minor
     12464modes may not.
     12465            </p>
     12466            <p xmlns="http://www.w3.org/1999/xhtml">
     12467A major mode is usually used to change the environment in some major
     12468way, such as to install special commands for editing some language.
     12469Minor modes generally change some small attribute of the environment,
     12470such as whether lines are automatically broken when they get too long.
     12471A minor mode should work regardless of what major mode and minor modes
     12472are in effect.
     12473            </p>
     12474            <p>
     12475              <div class="refentrytitle">
     12476                <a id="hv_default_modes"></a>
     12477                <strong>[Hemlock Variable]</strong>
     12478                <br></br>
     12479                <code>
     12480                        Default Modes (initial value '("Fundamental" "Save"))
     12481                    </code>
     12482              </div>
     12483              <div class="refentrytitle"></div>
     12484            </p>
     12485            <p>
     12486              <div>
     12487                <div class="refsect1" lang="en" xml:lang="en">
     12488                  <a xmlns="http://www.w3.org/1999/xhtml" id="id693547"></a>
     12489                  <div class="header">Description:</div>
     12490                  <p xmlns="http://www.w3.org/1999/xhtml">
     12491This variable contains a list of mode names which are instantiated in
     12492a buffer when no other information is available.
     12493                    </p>
     12494                </div>
     12495              </div>
     12496            </p>
     12497            <p>
     12498              <div class="refentrytitle">
     12499                <a id="v_mode-names"></a>
     12500                <strong>[Variable]</strong>
     12501                <br></br>
     12502                <code>
     12503                        *mode-names*
     12504                    </code>
     12505              </div>
     12506              <div class="refentrytitle"></div>
     12507            </p>
     12508            <p>
     12509              <div>
     12510                <div class="refsect1" lang="en" xml:lang="en">
     12511                  <a xmlns="http://www.w3.org/1999/xhtml" id="id693602"></a>
     12512                  <div class="header">Description:</div>
     12513                  <p xmlns="http://www.w3.org/1999/xhtml">
     12514Holds a string-table of the names of all the modes.
     12515                    </p>
     12516                </div>
     12517              </div>
     12518            </p>
     12519            <p>
     12520              <div class="refentrytitle">
     12521                <a id="c_illegal"></a>
     12522                <strong>[Command]</strong>
     12523                <br></br>
     12524                <code>
     12525                        Illegal
     12526                    </code>
     12527              </div>
     12528              <div class="refentrytitle"></div>
     12529            </p>
     12530            <p>
     12531              <div>
     12532                <div class="refsect1" lang="en" xml:lang="en">
     12533                  <a xmlns="http://www.w3.org/1999/xhtml" id="id693656"></a>
     12534                  <div class="header">Description:</div>
     12535                  <p xmlns="http://www.w3.org/1999/xhtml">
     12536This is a useful command to bind in modes that wish to shadow global
     12537bindings by making them effectively illegal.  Also, although less
     12538likely, minor modes may shadow major mode bindings with this.  This
     12539command calls editor-error.
     12540                    </p>
     12541                </div>
     12542              </div>
     12543            </p>
     12544          </div>
     12545          <div class="sect2" lang="en" xml:lang="en">
     12546            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12547              <div>
     12548                <div>
     12549                  <h3 class="title"><a id="ModeFunctions"></a>6.8.3. Mode Functions</h3>
     12550                </div>
     12551              </div>
     12552            </div>
     12553            <p>
     12554              <div class="refentrytitle">
     12555                <a id="f_defmode"></a>
     12556                <strong>[Function]</strong>
     12557                <br></br>
     12558                <code>
     12559                        defmode name <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :setup-function :cleanup-function :major-p :precedence :transparent-p :documentation
     12560                    </code>
     12561              </div>
     12562              <div class="refentrytitle"></div>
     12563            </p>
     12564            <p>
     12565              <div>
     12566                <div class="refsect1" lang="en" xml:lang="en">
     12567                  <a xmlns="http://www.w3.org/1999/xhtml" id="id693726"></a>
     12568                  <div class="header">Description:</div>
     12569                  <p xmlns="http://www.w3.org/1999/xhtml">
     12570This function defines a new mode named name, and enters it in
     12571*mode-names* (page 35).  If major-p is supplied and is not nil then
     12572the mode is a major mode; otherwise it is a minor mode.
     12573                    </p>
     12574                  <p xmlns="http://www.w3.org/1999/xhtml">
     12575Setup-function and cleanup-function are functions which are invoked
     12576with the buffer affected, after the mode is turned on, and before it
     12577is turned off, respectively.  These functions typically are used to
     12578make buffer-local key or variable bindings and to remove them when the
     12579mode is turned off.
     12580                    </p>
     12581                  <p xmlns="http://www.w3.org/1999/xhtml">
     12582Precedence is only meaningful for a minor mode.  The precedence of a
     12583minor mode determines the order in which it in a buffer's list of
     12584modes.  When searching for values in the current environment, minor
     12585modes are searched in order, so the precedence of a minor mode
     12586determines which value is found when there are several definitions.
     12587                    </p>
     12588                  <p xmlns="http://www.w3.org/1999/xhtml">
     12589Transparent-p determines whether key bindings local to the defined mode
     12590are transparent.  Transparent key bindings are invoked in addition to
     12591the first normal key binding found rather than shadowing less local
     12592key bindings.
     12593                    </p>
     12594                  <p xmlns="http://www.w3.org/1999/xhtml">
     12595Documentation is some introductory text about the mode.  Commands such
     12596as Describe Mode use this.
     12597                    </p>
     12598                </div>
     12599              </div>
     12600            </p>
     12601            <p>
     12602              <div class="refentrytitle">
     12603                <a id="f_mode-documentation"></a>
     12604                <strong>[Function]</strong>
     12605                <br></br>
     12606                <code>
     12607                        mode-documentation name
     12608                    </code>
     12609              </div>
     12610              <div class="refentrytitle"></div>
     12611            </p>
     12612            <p>
     12613              <div>
     12614                <div class="refsect1" lang="en" xml:lang="en">
     12615                  <a xmlns="http://www.w3.org/1999/xhtml" id="id693805"></a>
     12616                  <div class="header">Description:</div>
     12617                  <p xmlns="http://www.w3.org/1999/xhtml">
     12618This function returns the documentation for the mode named name.
     12619                    </p>
     12620                </div>
     12621              </div>
     12622            </p>
     12623            <p>
     12624              <div class="refentrytitle">
     12625                <a id="f_buffer-major-mode"></a>
     12626                <strong>[Function]</strong>
     12627                <br></br>
     12628                <code>
     12629                        buffer-major-mode buffer
     12630                    </code>
     12631              </div>
     12632              <div class="refentrytitle"></div>
     12633            </p>
     12634            <p>
     12635              <div>
     12636                <div class="refsect1" lang="en" xml:lang="en">
     12637                  <a xmlns="http://www.w3.org/1999/xhtml" id="id693860"></a>
     12638                  <div class="header">Description:</div>
     12639                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     12640                </div>
     12641              </div>
     12642            </p>
     12643            <p>
     12644              <div class="refentrytitle">
     12645                <a id="hv_buffer_major_mode_hook"></a>
     12646                <strong>[Hemlock Variable]</strong>
     12647                <br></br>
     12648                <code>
     12649                        Buffer Major Mode Hook
     12650                    </code>
     12651              </div>
     12652              <div class="refentrytitle"></div>
     12653            </p>
     12654            <p>
     12655              <div>
     12656                <div class="refsect1" lang="en" xml:lang="en">
     12657                  <a xmlns="http://www.w3.org/1999/xhtml" id="id693915"></a>
     12658                  <div class="header">Description:</div>
     12659                  <p xmlns="http://www.w3.org/1999/xhtml">
     12660buffer-major-mode returns the name of buffer's major mode.  The major
     12661mode may be changed with setf; then Buffer Major Mode Hook is invoked
     12662with buffer and the new mode.
     12663                    </p>
     12664                </div>
     12665              </div>
     12666            </p>
     12667            <p>
     12668              <div class="refentrytitle">
     12669                <a id="f_buffer-minor-mode"></a>
     12670                <strong>[Function]</strong>
     12671                <br></br>
     12672                <code>
     12673                        buffer-minor-mode buffer name
     12674                    </code>
     12675              </div>
     12676              <div class="refentrytitle"></div>
     12677            </p>
     12678            <p>
     12679              <div>
     12680                <div class="refsect1" lang="en" xml:lang="en">
     12681                  <a xmlns="http://www.w3.org/1999/xhtml" id="id693970"></a>
     12682                  <div class="header">Description:</div>
     12683                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     12684                </div>
     12685              </div>
     12686            </p>
     12687            <p>
     12688              <div class="refentrytitle">
     12689                <a id="hv_buffer_minor_mode_hook"></a>
     12690                <strong>[Hemlock Variable]</strong>
     12691                <br></br>
     12692                <code>
     12693                        Buffer Minor Mode Hook
     12694                    </code>
     12695              </div>
     12696              <div class="refentrytitle"></div>
     12697            </p>
     12698            <p>
     12699              <div>
     12700                <div class="refsect1" lang="en" xml:lang="en">
     12701                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694025"></a>
     12702                  <div class="header">Description:</div>
     12703                  <p xmlns="http://www.w3.org/1999/xhtml">
     12704buffer-minor-mode returns t if the minor mode name is active in
     12705buffer, nil otherwise. A minor mode may be turned on or off by using
     12706setf; then Buffer Minor Mode Hook is invoked with buffer, name and the
     12707new value.
     12708                    </p>
     12709                </div>
     12710              </div>
     12711            </p>
     12712            <p>
     12713              <div class="refentrytitle">
     12714                <a id="f_mode-variables"></a>
     12715                <strong>[Function]</strong>
     12716                <br></br>
     12717                <code>
     12718                        mode-variables name
     12719                    </code>
     12720              </div>
     12721              <div class="refentrytitle"></div>
     12722            </p>
     12723            <p>
     12724              <div>
     12725                <div class="refsect1" lang="en" xml:lang="en">
     12726                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694080"></a>
     12727                  <div class="header">Description:</div>
     12728                  <p xmlns="http://www.w3.org/1999/xhtml">
     12729Returns the string-table of mode local variables.
     12730                    </p>
     12731                </div>
     12732              </div>
     12733            </p>
     12734            <p>
     12735              <div class="refentrytitle">
     12736                <a id="f_mode-major-p"></a>
     12737                <strong>[Function]</strong>
     12738                <br></br>
     12739                <code>
     12740                        mode-major-p name
     12741                    </code>
     12742              </div>
     12743              <div class="refentrytitle"></div>
     12744            </p>
     12745            <p>
     12746              <div>
     12747                <div class="refsect1" lang="en" xml:lang="en">
     12748                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694134"></a>
     12749                  <div class="header">Description:</div>
     12750                  <p xmlns="http://www.w3.org/1999/xhtml">
     12751Returns t if name is the name of a major mode, or nil if it is the
     12752name of a minor mode.  It is an error for name not to be the name of a
     12753mode.
     12754                    </p>
     12755                </div>
     12756              </div>
     12757            </p>
     12758          </div>
     12759        </div>
     12760        <div class="sect1" lang="en" xml:lang="en">
     12761          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12762            <div>
     12763              <div>
     12764                <h2 class="title" style="clear: both"><a id="HemlockProgrammingCharacterAttributes"></a>6.9. Character Attributes</h2>
     12765              </div>
     12766            </div>
     12767          </div>
     12768          <div class="sect2" lang="en" xml:lang="en">
     12769            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12770              <div>
     12771                <div>
     12772                  <h3 class="title"><a id="HemlockProgrammingCharacterAttributesIntroduction"></a>6.9.1. Introduction</h3>
     12773                </div>
     12774              </div>
     12775            </div>
     12776            <p xmlns="http://www.w3.org/1999/xhtml">
     12777Character attributes provide a global database of information about
     12778characters.  This facility is similar to, but more general than, the
     12779syntax tables of other editors such as Emacs. For example, you should
     12780use character attributes for commands that need information regarding
     12781whether a character is whitespace or not.  Use character attributes
     12782for these reasons:
     12783            </p>
     12784            <div xmlns="http://www.w3.org/1999/xhtml" class="orderedlist">
     12785              <ol class="orderedlist" type="1">
     12786                <li class="listitem">
     12787                  <p>
     12788If this information is all in one place, then it is easy the
     12789change the behavior of the editor by changing the syntax table,
     12790much easier than it would be if character constants were wired
     12791into commands.
     12792                    </p>
     12793                </li>
     12794              </ol>
     12795            </div>
     12796            <div xmlns="http://www.w3.org/1999/xhtml" class="orderedlist">
     12797              <ol class="orderedlist" type="1">
     12798                <li class="listitem">
     12799                  <p>
     12800This centralization of information avoids needless duplication of effort.
     12801                    </p>
     12802                </li>
     12803              </ol>
     12804            </div>
     12805            <div xmlns="http://www.w3.org/1999/xhtml" class="orderedlist">
     12806              <ol class="orderedlist" type="1">
     12807                <li class="listitem">
     12808                  <p>
     12809The syntax table primitives are probably faster than anything that
     12810can be written above the primitive level.
     12811                    </p>
     12812                </li>
     12813              </ol>
     12814            </div>
     12815            <p xmlns="http://www.w3.org/1999/xhtml">
     12816Note that an essential part of the character attribute scheme is that
     12817character attributes are global and are there for the user to
     12818change. Information about characters which is internal to some set of
     12819commands (and which the user should not know about) should not be
     12820maintained as a character attribute.  For such uses various character
     12821searching abilities are provided by the function find-pattern (page
     1282220).
     12823            </p>
     12824          </div>
     12825          <div class="sect2" lang="en" xml:lang="en">
     12826            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12827              <div>
     12828                <div>
     12829                  <h3 class="title"><a id="CharacterAttributeNames"></a>6.9.2. Character Attribute Names</h3>
     12830                </div>
     12831              </div>
     12832            </div>
     12833            <p xmlns="http://www.w3.org/1999/xhtml">
     12834As for Hemlock variables, character attributes have a user visible
     12835string name, but are referred to in Lisp code as a symbol.  The string
     12836name, which is typically composed of capitalized words separated by
     12837spaces, is translated into a keyword by replacing all spaces with
     12838hyphens and interning this string in the keyword package.  The
     12839attribute named "Ada Syntax" would thus become :ada-syntax.
     12840            </p>
     12841            <p>
     12842              <div class="refentrytitle">
     12843                <a id="v_character-attribute-names"></a>
     12844                <strong>[Variable]</strong>
     12845                <br></br>
     12846                <code>
     12847                        *character-attribute-names*
     12848                    </code>
     12849              </div>
     12850              <div class="refentrytitle"></div>
     12851            </p>
     12852            <p>
     12853              <div>
     12854                <div class="refsect1" lang="en" xml:lang="en">
     12855                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694296"></a>
     12856                  <div class="header">Description:</div>
     12857                  <p xmlns="http://www.w3.org/1999/xhtml">
     12858Whenever a character attribute is defined, its name is entered in this
     12859string table (page 69), with the corresponding keyword as the value.
     12860                    </p>
     12861                </div>
     12862              </div>
     12863            </p>
     12864          </div>
     12865          <div class="sect2" lang="en" xml:lang="en">
     12866            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     12867              <div>
     12868                <div>
     12869                  <h3 class="title"><a id="CharacterAttributeFunctions"></a>6.9.3. Character Attribute Functions</h3>
     12870                </div>
     12871              </div>
     12872            </div>
     12873            <p>
     12874              <div class="refentrytitle">
     12875                <a id="f_defattribute"></a>
     12876                <strong>[Function]</strong>
     12877                <br></br>
     12878                <code>
     12879                        defattribute name documentation <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> type initial-value
     12880                    </code>
     12881              </div>
     12882              <div class="refentrytitle"></div>
     12883            </p>
     12884            <p>
     12885              <div>
     12886                <div class="refsect1" lang="en" xml:lang="en">
     12887                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694366"></a>
     12888                  <div class="header">Description:</div>
     12889                  <p xmlns="http://www.w3.org/1999/xhtml">
     12890This function defines a new character attribute with name, a
     12891string.  Character attribute operations take attribute
     12892arguments as a keyword whose name is name uppercased with spaces
     12893replaced by hyphens.
     12894                    </p>
     12895                  <p xmlns="http://www.w3.org/1999/xhtml">
     12896Documentation describes the uses of the character attribute.
     12897                    </p>
     12898                  <p xmlns="http://www.w3.org/1999/xhtml">
     12899Type, which defaults to (mod 2), specifies what type the values of the
     12900character attribute are.  Values of a character attribute may be of
     12901any type which may be specified to make-array. Initial-value (default
     129020) is the value which all characters will initially have for this
     12903attribute.
     12904                    </p>
     12905                </div>
     12906              </div>
     12907            </p>
     12908            <p>
     12909              <div class="refentrytitle">
     12910                <a id="f_character-attribute-name"></a>
     12911                <strong>[Function]</strong>
     12912                <br></br>
     12913                <code>
     12914                        character-attribute-name attribute
     12915                    </code>
     12916              </div>
     12917              <div class="refentrytitle"></div>
     12918            </p>
     12919            <p>
     12920              <div>
     12921                <div class="refsect1" lang="en" xml:lang="en">
     12922                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694433"></a>
     12923                  <div class="header">Description:</div>
     12924                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     12925                </div>
     12926              </div>
     12927            </p>
     12928            <p>
     12929              <div class="refentrytitle">
     12930                <a id="f_character-attribute-documentation"></a>
     12931                <strong>[Function]</strong>
     12932                <br></br>
     12933                <code>
     12934                        character-attribute-documentation attribute
     12935                    </code>
     12936              </div>
     12937              <div class="refentrytitle"></div>
     12938            </p>
     12939            <p>
     12940              <div>
     12941                <div class="refsect1" lang="en" xml:lang="en">
     12942                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694488"></a>
     12943                  <div class="header">Description:</div>
     12944                  <p xmlns="http://www.w3.org/1999/xhtml">
     12945These functions return the name or documentation for attribute.
     12946                    </p>
     12947                </div>
     12948              </div>
     12949            </p>
     12950            <p>
     12951              <div class="refentrytitle">
     12952                <a id="f_character-attribute"></a>
     12953                <strong>[Function]</strong>
     12954                <br></br>
     12955                <code>
     12956                        character-attribute attribute character
     12957                    </code>
     12958              </div>
     12959              <div class="refentrytitle"></div>
     12960            </p>
     12961            <p>
     12962              <div>
     12963                <div class="refsect1" lang="en" xml:lang="en">
     12964                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694543"></a>
     12965                  <div class="header">Description:</div>
     12966                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     12967                </div>
     12968              </div>
     12969            </p>
     12970            <p>
     12971              <div class="refentrytitle">
     12972                <a id="hv_character_attribute_hook"></a>
     12973                <strong>[Hemlock Variable]</strong>
     12974                <br></br>
     12975                <code>
     12976                        Character Attribute Hook
     12977                    </code>
     12978              </div>
     12979              <div class="refentrytitle"></div>
     12980            </p>
     12981            <p>
     12982              <div>
     12983                <div class="refsect1" lang="en" xml:lang="en">
     12984                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694598"></a>
     12985                  <div class="header">Description:</div>
     12986                  <p xmlns="http://www.w3.org/1999/xhtml">
     12987character-attribute returns the value of attribute for character. This
     12988signals an error if attribute is undefined.
     12989                    </p>
     12990                  <p xmlns="http://www.w3.org/1999/xhtml">
     12991setf will set a character's attributes.  This setf method invokes the
     12992functions in Character Attribute Hook on the attribute and character
     12993before it makes the change.
     12994                    </p>
     12995                  <p xmlns="http://www.w3.org/1999/xhtml">
     12996If character is nil, then the value of the attribute for the beginning
     12997or end of the buffer can be accessed or set.  The buffer beginning and
     12998end thus become a sort of fictitious character, which simplifies the
     12999use of character attributes in many cases.
     13000                    </p>
     13001                </div>
     13002              </div>
     13003            </p>
     13004            <p>
     13005              <div class="refentrytitle">
     13006                <a id="f_character-attribute-p"></a>
     13007                <strong>[Function]</strong>
     13008                <br></br>
     13009                <code>
     13010                        character-attribute-p symbol
     13011                    </code>
     13012              </div>
     13013              <div class="refentrytitle"></div>
     13014            </p>
     13015            <p>
     13016              <div>
     13017                <div class="refsect1" lang="en" xml:lang="en">
     13018                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694664"></a>
     13019                  <div class="header">Description:</div>
     13020                  <p xmlns="http://www.w3.org/1999/xhtml">
     13021This function returns t if symbolis the name of a character attribute,
     13022nil otherwise.
     13023                    </p>
     13024                </div>
     13025              </div>
     13026            </p>
     13027            <p>
     13028              <div class="refentrytitle">
     13029                <a id="f_shadow-attribute"></a>
     13030                <strong>[Function]</strong>
     13031                <br></br>
     13032                <code>
     13033                        shadow-attribute attribute character value mode
     13034                    </code>
     13035              </div>
     13036              <div class="refentrytitle"></div>
     13037            </p>
     13038            <p>
     13039              <div>
     13040                <div class="refsect1" lang="en" xml:lang="en">
     13041                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694720"></a>
     13042                  <div class="header">Description:</div>
     13043                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     13044                </div>
     13045              </div>
     13046            </p>
     13047            <p>
     13048              <div class="refentrytitle">
     13049                <a id="hv_shadow_attribute_hook"></a>
     13050                <strong>[Hemlock Variable]</strong>
     13051                <br></br>
     13052                <code>
     13053                        Shadow Attribute Hook
     13054                    </code>
     13055              </div>
     13056              <div class="refentrytitle"></div>
     13057            </p>
     13058            <p>
     13059              <div>
     13060                <div class="refsect1" lang="en" xml:lang="en">
     13061                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694774"></a>
     13062                  <div class="header">Description:</div>
     13063                  <p xmlns="http://www.w3.org/1999/xhtml">
     13064This function establishes value as the value of character's attribute
     13065attribute when in the mode mode.  Mode must be the name of a major
     13066mode. Shadow Attribute Hook is invoked with the same arguments when
     13067this function is called. If the value for an attribute is set while
     13068the value is shadowed, then only the shadowed value is affected, not
     13069the global one.
     13070                    </p>
     13071                </div>
     13072              </div>
     13073            </p>
     13074            <p>
     13075              <div class="refentrytitle">
     13076                <a id="f_unshadow-attribute"></a>
     13077                <strong>[Function]</strong>
     13078                <br></br>
     13079                <code>
     13080                        unshadow-attribute attribute character mode
     13081                    </code>
     13082              </div>
     13083              <div class="refentrytitle"></div>
     13084            </p>
     13085            <p>
     13086              <div>
     13087                <div class="refsect1" lang="en" xml:lang="en">
     13088                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694832"></a>
     13089                  <div class="header">Description:</div>
     13090                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     13091                </div>
     13092              </div>
     13093            </p>
     13094            <p>
     13095              <div class="refentrytitle">
     13096                <a id="hv_unshadow_attribute_hook"></a>
     13097                <strong>[Hemlock Variable]</strong>
     13098                <br></br>
     13099                <code>
     13100                        Unshadow Attribute Hook
     13101                    </code>
     13102              </div>
     13103              <div class="refentrytitle"></div>
     13104            </p>
     13105            <p>
     13106              <div>
     13107                <div class="refsect1" lang="en" xml:lang="en">
     13108                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694887"></a>
     13109                  <div class="header">Description:</div>
     13110                  <p xmlns="http://www.w3.org/1999/xhtml">
     13111Make the value of attribute for character no longer be shadowed in
     13112mode. Unshadow Attribute Hook is invoked with the same arguments when
     13113this function is called.
     13114                    </p>
     13115                </div>
     13116              </div>
     13117            </p>
     13118            <p>
     13119              <div class="refentrytitle">
     13120                <a id="f_find-attribute"></a>
     13121                <strong>[Function]</strong>
     13122                <br></br>
     13123                <code>
     13124                        find-attribute mark attribute <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> test
     13125                    </code>
     13126              </div>
     13127              <div class="refentrytitle"></div>
     13128            </p>
     13129            <p>
     13130              <div>
     13131                <div class="refsect1" lang="en" xml:lang="en">
     13132                  <a xmlns="http://www.w3.org/1999/xhtml" id="id694946"></a>
     13133                  <div class="header">Description:</div>
     13134                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     13135                </div>
     13136              </div>
     13137            </p>
     13138            <p>
     13139              <div class="refentrytitle">
     13140                <a id="f_reverse-find-attribute"></a>
     13141                <strong>[Function]</strong>
     13142                <br></br>
     13143                <code>
     13144                        reverse-find-attribute mark attribute <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> test
     13145                    </code>
     13146              </div>
     13147              <div class="refentrytitle"></div>
     13148            </p>
     13149            <p>
     13150              <div>
     13151                <div class="refsect1" lang="en" xml:lang="en">
     13152                  <a xmlns="http://www.w3.org/1999/xhtml" id="id695004"></a>
     13153                  <div class="header">Description:</div>
     13154                  <p xmlns="http://www.w3.org/1999/xhtml">
     13155These functions find the next (or previous) character with some value
     13156for the character attribute attribute starting at mark. They pass test
     13157one argument, the value of attribute for the character tested.  If the
     13158test succeeds, then these routines modify mark to point before (after
     13159for reverse-find-attribute) the character which satisfied the test.
     13160If no characters satisfy the test, then these return nil, and mark
     13161remains unmodified. Test defaults to <code class="code">#'not-zerop</code>. There is no guarantee
     13162that the test is applied in any particular fashion, so it should have
     13163no side effects and depend only on its argument.
     13164                    </p>
     13165                </div>
     13166              </div>
     13167            </p>
     13168            <p>
     13169              <div class="refentrytitle">
     13170                <a id="f_find-not-attribute"></a>
     13171                <strong>[Function]</strong>
     13172                <br></br>
     13173                <code>
     13174                        find-not-attribute mark attribute
     13175                    </code>
     13176              </div>
     13177              <div class="refentrytitle"></div>
     13178            </p>
     13179            <p>
     13180              <div>
     13181                <div class="refsect1" lang="en" xml:lang="en">
     13182                  <a xmlns="http://www.w3.org/1999/xhtml" id="id695067"></a>
     13183                  <div class="header">Description:</div>
     13184                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     13185                </div>
     13186              </div>
     13187            </p>
     13188            <p>
     13189              <div class="refentrytitle">
     13190                <a id="f_reverse-find-not-attribute"></a>
     13191                <strong>[Function]</strong>
     13192                <br></br>
     13193                <code>
     13194                        reverse-find-not-attribute mark attribute
     13195                    </code>
     13196              </div>
     13197              <div class="refentrytitle"></div>
     13198            </p>
     13199            <p>
     13200              <div>
     13201                <div class="refsect1" lang="en" xml:lang="en">
     13202                  <a xmlns="http://www.w3.org/1999/xhtml" id="id695122"></a>
     13203                  <div class="header">Description:</div>
     13204                  <p xmlns="http://www.w3.org/1999/xhtml">
     13205These are equivalent to (find-attribute mark attribute #'zerop) and
     13206(reverse-find-attribute mark attribute #'zerop), respectively.
     13207                    </p>
     13208                </div>
     13209              </div>
     13210            </p>
     13211          </div>
     13212          <div class="sect2" lang="en" xml:lang="en">
     13213            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13214              <div>
     13215                <div>
     13216                  <h3 class="title"><a id="CharacterAttributeHooks"></a>6.9.4. Character Attribute Hooks</h3>
     13217                </div>
     13218              </div>
     13219            </div>
     13220            <p xmlns="http://www.w3.org/1999/xhtml">
     13221It is often useful to use the character attribute mechanism as an
     13222abstract interface to other information about characters which in fact
     13223is stored elsewhere.  For example, some implementation of Hemlock
     13224might decide to define a Print Representation attribute which controls
     13225how a character is displayed on an output device.
     13226            </p>
     13227            <p xmlns="http://www.w3.org/1999/xhtml">
     13228To make this easy to do, each attribute has a list of hook functions
     13229which are invoked with the attribute, character and new value whenever
     13230the current value changes for any reason.
     13231            </p>
     13232            <p>
     13233              <div class="refentrytitle">
     13234                <a id="f_character-attribute-hooks"></a>
     13235                <strong>[Function]</strong>
     13236                <br></br>
     13237                <code>
     13238                        character-attribute-hooks attribute
     13239                    </code>
     13240              </div>
     13241              <div class="refentrytitle"></div>
     13242            </p>
     13243            <p>
     13244              <div>
     13245                <div class="refsect1" lang="en" xml:lang="en">
     13246                  <a xmlns="http://www.w3.org/1999/xhtml" id="id695201"></a>
     13247                  <div class="header">Description:</div>
     13248                  <p xmlns="http://www.w3.org/1999/xhtml">
     13249Return the current hook list for attribute. This may be set with
     13250setf. The add-hook and remove-hook (page 25) macros should be used to
     13251manipulate these lists.
     13252                    </p>
     13253                </div>
     13254              </div>
     13255            </p>
     13256          </div>
     13257          <div class="sect2" lang="en" xml:lang="en">
     13258            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13259              <div>
     13260                <div>
     13261                  <h3 class="title"><a id="SystemDefinedCharacterAttributes"></a>6.9.5. System Defined Character Attributes</h3>
     13262                </div>
     13263              </div>
     13264            </div>
     13265            <p xmlns="http://www.w3.org/1999/xhtml">
     13266These are predefined in Hemlock:
     13267            </p>
     13268            <div xmlns="http://www.w3.org/1999/xhtml" class="variablelist">
     13269              <dl>
     13270                <dt>
     13271                  <span class="term">"Whitespace"</span>
     13272                </dt>
     13273                <dd>
     13274                  <p>
     13275A value of 1 indicates the character is whitespace.
     13276                        </p>
     13277                </dd>
     13278                <dt>
     13279                  <span class="term">"Word Delimiter"</span>
     13280                </dt>
     13281                <dd>
     13282                  <p>
     13283A value of 1 indicates the character separates words (see section 15.3).
     13284                        </p>
     13285                </dd>
     13286                <dt>
     13287                  <span class="term">"Space"</span>
     13288                </dt>
     13289                <dd>
     13290                  <p>
     13291This is like Whitespace, but it should not include Newline. Hemlock
     13292uses this primarily for handling indentation on a line.
     13293                        </p>
     13294                </dd>
     13295                <dt>
     13296                  <span class="term">"Sentence Terminator"</span>
     13297                </dt>
     13298                <dd>
     13299                  <p>
     13300A value of 1 indicates these characters terminate sentences (see section 15.3).
     13301                        </p>
     13302                </dd>
     13303                <dt>
     13304                  <span class="term">"Sentence Closing Char"</span>
     13305                </dt>
     13306                <dd>
     13307                  <p>
     13308A value of 1 indicates these delimiting characters, such as " or ),
     13309may follow a Sentence Terminator (see section 15.3).
     13310                        </p>
     13311                </dd>
     13312                <dt>
     13313                  <span class="term">"Paragraph Delimiter"</span>
     13314                </dt>
     13315                <dd>
     13316                  <p>
     13317A value of 1 indicates these characters delimit paragraphs when they
     13318begin a line (see section 15.3).
     13319                        </p>
     13320                </dd>
     13321                <dt>
     13322                  <span class="term">"Page Delimiter"</span>
     13323                </dt>
     13324                <dd>
     13325                  <p>
     13326A value of 1 indicates this character separates logical pages (see
     13327section 15.4) when it begins a line.
     13328                        </p>
     13329                </dd>
     13330                <dt>
     13331                  <span class="term">"Lisp Syntax"</span>
     13332                </dt>
     13333                <dd>
     13334                  <p>
     13335This uses symbol values from the following:
     13336                        </p>
     13337                </dd>
     13338              </dl>
     13339            </div>
     13340            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     13341              <ul class="itemizedlist" type="disc">
     13342                <li class="listitem">
     13343                  <p>
     13344nil  These characters have no interesting properties.
     13345                    </p>
     13346                </li>
     13347              </ul>
     13348            </div>
     13349            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     13350              <ul class="itemizedlist" type="disc">
     13351                <li class="listitem">
     13352                  <p>
     13353:space  These characters act like whitespace and should not include Newline.
     13354                    </p>
     13355                </li>
     13356              </ul>
     13357            </div>
     13358            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     13359              <ul class="itemizedlist" type="disc">
     13360                <li class="listitem">
     13361                  <p>
     13362:newline  This is the Newline character.
     13363                    </p>
     13364                </li>
     13365              </ul>
     13366            </div>
     13367            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     13368              <ul class="itemizedlist" type="disc">
     13369                <li class="listitem">
     13370                  <p>
     13371:open-paren  This is ( character.
     13372                    </p>
     13373                </li>
     13374              </ul>
     13375            </div>
     13376            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     13377              <ul class="itemizedlist" type="disc">
     13378                <li class="listitem">
     13379                  <p>
     13380:close-paren  This is ) character.
     13381                    </p>
     13382                </li>
     13383              </ul>
     13384            </div>
     13385            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     13386              <ul class="itemizedlist" type="disc">
     13387                <li class="listitem">
     13388                  <p>
     13389:prefix  This is a character that is a part of any form it precedes for example, the single quote, '.
     13390                    </p>
     13391                </li>
     13392              </ul>
     13393            </div>
     13394            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     13395              <ul class="itemizedlist" type="disc">
     13396                <li class="listitem">
     13397                  <p>
     13398:string-quote  This is the character that quotes a string literal, ".
     13399                    </p>
     13400                </li>
     13401              </ul>
     13402            </div>
     13403            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     13404              <ul class="itemizedlist" type="disc">
     13405                <li class="listitem">
     13406                  <p>
     13407:char-quote  This is the character that escapes a single character, \.
     13408                    </p>
     13409                </li>
     13410              </ul>
     13411            </div>
     13412            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     13413              <ul class="itemizedlist" type="disc">
     13414                <li class="listitem">
     13415                  <p>
     13416:comment  This is the character that makes a comment with the rest of the line,;.
     13417                    </p>
     13418                </li>
     13419              </ul>
     13420            </div>
     13421            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     13422              <ul class="itemizedlist" type="disc">
     13423                <li class="listitem">
     13424                  <p>
     13425:constituent  These characters are constitute symbol names.
     13426                    </p>
     13427                </li>
     13428              </ul>
     13429            </div>
     13430          </div>
     13431        </div>
     13432        <div class="sect1" lang="en" xml:lang="en">
     13433          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13434            <div>
     13435              <div>
     13436                <h2 class="title" style="clear: both"><a id="HemlockProgrammingControllingTheDisplay"></a>6.10. Controlling the Display</h2>
     13437              </div>
     13438            </div>
     13439          </div>
     13440          <div class="sect2" lang="en" xml:lang="en">
     13441            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13442              <div>
     13443                <div>
     13444                  <h3 class="title"><a id="Views"></a>6.10.1. Views</h3>
     13445                </div>
     13446              </div>
     13447            </div>
     13448            <p xmlns="http://www.w3.org/1999/xhtml">
     13449A <code class="code">hemlock-view</code> represents the GUI object(s) used to display the contents
     13450of a buffer.  Conceptually it consists of a text buffer, a
     13451modeline for semi-permanent status info, an echo area for transient
     13452status info, and a text input area for reading prompted
     13453input. (Currently the last two are conflated, i.e. text input happens
     13454in the echo area).
     13455            </p>
     13456            <p xmlns="http://www.w3.org/1999/xhtml">
     13457The API for working with hemlock-views is not fully
     13458defined yet.  If you need to work with views beyond what's listed
     13459here, you will probably need to get in the sources and find some
     13460internal functions to call.
     13461            </p>
     13462          </div>
     13463          <div class="sect2" lang="en" xml:lang="en">
     13464            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13465              <div>
     13466                <div>
     13467                  <h3 class="title"><a id="CurrentView"></a>6.10.2. The Current View</h3>
     13468                </div>
     13469              </div>
     13470            </div>
     13471            <p>
     13472              <div class="refentrytitle">
     13473                <a id="f_current-view"></a>
     13474                <strong>[Function]</strong>
     13475                <br></br>
     13476                <code>
     13477                        current-view
     13478                    </code>
     13479              </div>
     13480              <div class="refentrytitle"></div>
     13481            </p>
     13482            <p>
     13483              <div>
     13484                <div class="refsect1" lang="en" xml:lang="en">
     13485                  <a xmlns="http://www.w3.org/1999/xhtml" id="id695569"></a>
     13486                  <div class="header">Description:</div>
     13487                  <p xmlns="http://www.w3.org/1999/xhtml">
     13488current-view returns the hemlock view which is the target of the
     13489currently executing command.  This is usually the frontmost hemlock
     13490window in the current application.
     13491                    </p>
     13492                </div>
     13493              </div>
     13494            </p>
     13495          </div>
     13496          <div class="sect2" lang="en" xml:lang="en">
     13497            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13498              <div>
     13499                <div>
     13500                  <h3 class="title"><a id="ViewFunctions"></a>6.10.3. View Functions</h3>
     13501                </div>
     13502              </div>
     13503            </div>
     13504            <p>
     13505              <div class="refentrytitle">
     13506                <a id="f_hemlock-view-p"></a>
     13507                <strong>[Function]</strong>
     13508                <br></br>
     13509                <code>
     13510                        hemlock-view-p object
     13511                    </code>
     13512              </div>
     13513              <div class="refentrytitle"></div>
     13514            </p>
     13515            <p>
     13516              <div>
     13517                <div class="refsect1" lang="en" xml:lang="en">
     13518                  <a xmlns="http://www.w3.org/1999/xhtml" id="id695636"></a>
     13519                  <div class="header">Description:</div>
     13520                  <p xmlns="http://www.w3.org/1999/xhtml">
     13521This function returns t if object is a hemlock view, otherwise nil.
     13522                    </p>
     13523                </div>
     13524              </div>
     13525            </p>
     13526            <p>
     13527              <div class="refentrytitle">
     13528                <a id="f_hemlock-view-buffer"></a>
     13529                <strong>[Function]</strong>
     13530                <br></br>
     13531                <code>
     13532                        hemlock-view-buffer view
     13533                    </code>
     13534              </div>
     13535              <div class="refentrytitle"></div>
     13536            </p>
     13537            <p>
     13538              <div>
     13539                <div class="refsect1" lang="en" xml:lang="en">
     13540                  <a xmlns="http://www.w3.org/1999/xhtml" id="id695691"></a>
     13541                  <div class="header">Description:</div>
     13542                  <p xmlns="http://www.w3.org/1999/xhtml">
     13543This function returns the buffer which is displayed in the view.
     13544                    </p>
     13545                </div>
     13546              </div>
     13547            </p>
     13548          </div>
     13549          <div class="sect2" lang="en" xml:lang="en">
     13550            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13551              <div>
     13552                <div>
     13553                  <h3 class="title"><a id="CursorPositions"></a>6.10.4. Cursor Positions</h3>
     13554                </div>
     13555              </div>
     13556            </div>
     13557            <p>
     13558              <div class="refentrytitle">
     13559                <a id="f_mark-column"></a>
     13560                <strong>[Function]</strong>
     13561                <br></br>
     13562                <code>
     13563                        mark-column mark
     13564                    </code>
     13565              </div>
     13566              <div class="refentrytitle"></div>
     13567            </p>
     13568            <p>
     13569              <div>
     13570                <div class="refsect1" lang="en" xml:lang="en">
     13571                  <a xmlns="http://www.w3.org/1999/xhtml" id="id695757"></a>
     13572                  <div class="header">Description:</div>
     13573                  <p xmlns="http://www.w3.org/1999/xhtml">
     13574This function returns the X position at which mark would be displayed,
     13575supposing its line was displayed on an infinitely wide screen.  This
     13576takes into consideration strange characters such as tabs.
     13577                    </p>
     13578                </div>
     13579              </div>
     13580            </p>
     13581            <p>
     13582              <div class="refentrytitle">
     13583                <a id="f_move-to-column"></a>
     13584                <strong>[Function]</strong>
     13585                <br></br>
     13586                <code>
     13587                        move-to-column mark column <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> line
     13588                    </code>
     13589              </div>
     13590              <div class="refentrytitle"></div>
     13591            </p>
     13592            <p>
     13593              <div>
     13594                <div class="refsect1" lang="en" xml:lang="en">
     13595                  <a xmlns="http://www.w3.org/1999/xhtml" id="id695816"></a>
     13596                  <div class="header">Description:</div>
     13597                  <p xmlns="http://www.w3.org/1999/xhtml">
     13598This function is analogous to move-to-position (page 5), except that
     13599it moves mark to the position on line which corresponds to the
     13600specified column.  If the line would not reach to the specified column, then nil is
     13601returned and mark is not modified.  Note that since a character may be
     13602displayed on more than one column on the screen, several different
     13603values of column may cause mark to be moved to the same position.
     13604                    </p>
     13605                </div>
     13606              </div>
     13607            </p>
     13608          </div>
     13609          <div class="sect2" lang="en" xml:lang="en">
     13610            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13611              <div>
     13612                <div>
     13613                  <h3 class="title"><a id="Redisplay"></a>6.10.5. Redisplay</h3>
     13614                </div>
     13615              </div>
     13616            </div>
     13617            <p xmlns="http://www.w3.org/1999/xhtml">
     13618The display of the buffer contents on the screen is updated at the
     13619end of each command.  The following function can be used to control
     13620the scroll position of the buffer in the view.
     13621            </p>
     13622            <p>
     13623              <div class="refentrytitle">
     13624                <a id="f_set-scroll-position"></a>
     13625                <strong>[Function]</strong>
     13626                <br></br>
     13627                <code>
     13628                        set-scroll-position how <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> what
     13629                    </code>
     13630              </div>
     13631              <div class="refentrytitle"></div>
     13632            </p>
     13633            <p>
     13634              <div>
     13635                <div class="refsect1" lang="en" xml:lang="en">
     13636                  <a xmlns="http://www.w3.org/1999/xhtml" id="id695893"></a>
     13637                  <div class="header">Description:</div>
     13638                  <p xmlns="http://www.w3.org/1999/xhtml">
     13639Normally, after a command that changes the contents of the buffer
     13640or the selection (i.e. the active region), the event handler repositions
     13641the view so that the selection is visible, scrolling the buffer as
     13642necessary.  Calling this function tells the system to not do that,
     13643and instead to position the buffer in a particular way.  <code class="code">how</code> can
     13644be one of the following:
     13645                    </p>
     13646                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:center-selection</span></i>---
     13647This causes the selection (or the point) to be centered in the visible area.  <code xmlns="http://www.w3.org/1999/xhtml" class="code">what</code> is ignored.
     13648
     13649                                </p>
     13650                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:page-up</span></i>---
     13651This causes the previous page of the buffer to be shown <code xmlns="http://www.w3.org/1999/xhtml" class="code">what</code> is ignored.
     13652                                </p>
     13653                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:page-down</span></i>---
     13654This causes the next page of the buffer to be shown. <code xmlns="http://www.w3.org/1999/xhtml" class="code">what</code> is ignored.
     13655                                </p>
     13656                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:lines-up</span></i>---
     13657 This causes <code xmlns="http://www.w3.org/1999/xhtml" class="code">what</code> previous lines to be scrolled in at the top. <code xmlns="http://www.w3.org/1999/xhtml" class="code">what</code> must be an integer. 
     13658                                </p>
     13659                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:lines-down</span></i>---
     13660This causes <code xmlns="http://www.w3.org/1999/xhtml" class="code">what</code> next lines to be scrolled in at the bottom. <code xmlns="http://www.w3.org/1999/xhtml" class="code">what</code> must be an integer.
     13661                                </p>
     13662                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:line</span></i>---
     13663 This causes the line containing <code xmlns="http://www.w3.org/1999/xhtml" class="code">what</code> to be scrolled to the top of the view. <code xmlns="http://www.w3.org/1999/xhtml" class="code">what</code> must be a mark.
     13664                                </p>
     13665                </div>
     13666              </div>
     13667            </p>
     13668          </div>
     13669        </div>
     13670        <div class="sect1" lang="en" xml:lang="en">
     13671          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13672            <div>
     13673              <div>
     13674                <h2 class="title" style="clear: both"><a id="HemlockProgrammingLogicalKeyEvents"></a>6.11. Logical Key-Events</h2>
     13675              </div>
     13676            </div>
     13677          </div>
     13678          <div class="sect2" lang="en" xml:lang="en">
     13679            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13680              <div>
     13681                <div>
     13682                  <h3 class="title"><a id="HemlockProgrammingLogicalKeyEventsIntroduction"></a>6.11.1. Introduction</h3>
     13683                </div>
     13684              </div>
     13685            </div>
     13686            <p xmlns="http://www.w3.org/1999/xhtml">
     13687Some primitives such as prompt-for-key (page 50) and commands such as
     13688Emacs query replace read key-events directly from the keyboard instead
     13689of using the command interpreter.  To encourage consistency between
     13690these commands and to make them portable and easy to customize, there
     13691is a mechanism for defininglogical key-events.  A logical key-event is
     13692a keyword which stands for some set of key-events.  The system
     13693globally interprets these key-events as indicators a particular
     13694action.  For example, the :help logical key-event represents the set of
     13695key-events that request help in a given Hemlock implementation. This
     13696mapping is a many-to-many mapping, not one-to-one, so a given logical
     13697key-event may have multiple corresponding actual key-events.  Also,
     13698any key-event may represent different logical key-events.
     13699            </p>
     13700          </div>
     13701          <div class="sect2" lang="en" xml:lang="en">
     13702            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13703              <div>
     13704                <div>
     13705                  <h3 class="title"><a id="LogicalKeyEventFunctions"></a>6.11.2. Logical Key-Event Functions</h3>
     13706                </div>
     13707              </div>
     13708            </div>
     13709            <p>
     13710              <div class="refentrytitle">
     13711                <a id="v_logical-key-event-names"></a>
     13712                <strong>[Variable]</strong>
     13713                <br></br>
     13714                <code>
     13715                        *logical-key-event-names*
     13716                    </code>
     13717              </div>
     13718              <div class="refentrytitle"></div>
     13719            </p>
     13720            <p>
     13721              <div>
     13722                <div class="refsect1" lang="en" xml:lang="en">
     13723                  <a xmlns="http://www.w3.org/1999/xhtml" id="id696136"></a>
     13724                  <div class="header">Description:</div>
     13725                  <p xmlns="http://www.w3.org/1999/xhtml">
     13726This variable holds a string-table mapping all logical key-event names
     13727to the keyword identifying the logical key-event.
     13728                    </p>
     13729                </div>
     13730              </div>
     13731            </p>
     13732            <p>
     13733              <div class="refentrytitle">
     13734                <a id="f_define-logical-key-event"></a>
     13735                <strong>[Function]</strong>
     13736                <br></br>
     13737                <code>
     13738                        define-logical-key-event string-name documentation
     13739                    </code>
     13740              </div>
     13741              <div class="refentrytitle"></div>
     13742            </p>
     13743            <p>
     13744              <div>
     13745                <div class="refsect1" lang="en" xml:lang="en">
     13746                  <a xmlns="http://www.w3.org/1999/xhtml" id="id696192"></a>
     13747                  <div class="header">Description:</div>
     13748                  <p xmlns="http://www.w3.org/1999/xhtml">
     13749This function defines a new logical key-event with name string-name.
     13750Logical key-event operations take logical key-events
     13751arguments as a keyword whose name is string-name uppercased with
     13752spaces replaced by hyphens.
     13753                    </p>
     13754                  <p xmlns="http://www.w3.org/1999/xhtml">
     13755Documentation describes the action indicated by the logical key-event.
     13756                    </p>
     13757                </div>
     13758              </div>
     13759            </p>
     13760            <p>
     13761              <div class="refentrytitle">
     13762                <a id="f_logical-key-event-key-events"></a>
     13763                <strong>[Function]</strong>
     13764                <br></br>
     13765                <code>
     13766                        logical-key-event-key-events keyword
     13767                    </code>
     13768              </div>
     13769              <div class="refentrytitle"></div>
     13770            </p>
     13771            <p>
     13772              <div>
     13773                <div class="refsect1" lang="en" xml:lang="en">
     13774                  <a xmlns="http://www.w3.org/1999/xhtml" id="id696253"></a>
     13775                  <div class="header">Description:</div>
     13776                  <p xmlns="http://www.w3.org/1999/xhtml">
     13777This function returns the list of key-events representing the logical
     13778key-event keyword.
     13779                    </p>
     13780                </div>
     13781              </div>
     13782            </p>
     13783            <p>
     13784              <div class="refentrytitle">
     13785                <a id="f_logical-key-event-name"></a>
     13786                <strong>[Function]</strong>
     13787                <br></br>
     13788                <code>
     13789                        logical-key-event-name keyword
     13790                    </code>
     13791              </div>
     13792              <div class="refentrytitle"></div>
     13793            </p>
     13794            <p>
     13795              <div>
     13796                <div class="refsect1" lang="en" xml:lang="en">
     13797                  <a xmlns="http://www.w3.org/1999/xhtml" id="id696308"></a>
     13798                  <div class="header">Description:</div>
     13799                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     13800                </div>
     13801              </div>
     13802            </p>
     13803            <p>
     13804              <div class="refentrytitle">
     13805                <a id="f_logical-key-event-documentation"></a>
     13806                <strong>[Function]</strong>
     13807                <br></br>
     13808                <code>
     13809                        logical-key-event-documentation keyword
     13810                    </code>
     13811              </div>
     13812              <div class="refentrytitle"></div>
     13813            </p>
     13814            <p>
     13815              <div>
     13816                <div class="refsect1" lang="en" xml:lang="en">
     13817                  <a xmlns="http://www.w3.org/1999/xhtml" id="id696363"></a>
     13818                  <div class="header">Description:</div>
     13819                  <p xmlns="http://www.w3.org/1999/xhtml">
     13820These functions return the string name and documentation given
     13821to define-logical-key-event for logical key-event keyword.
     13822                    </p>
     13823                </div>
     13824              </div>
     13825            </p>
     13826            <p>
     13827              <div class="refentrytitle">
     13828                <a id="f_logical-key-event-p"></a>
     13829                <strong>[Function]</strong>
     13830                <br></br>
     13831                <code>
     13832                        logical-key-event-p key-event keyword
     13833                    </code>
     13834              </div>
     13835              <div class="refentrytitle"></div>
     13836            </p>
     13837            <p>
     13838              <div>
     13839                <div class="refsect1" lang="en" xml:lang="en">
     13840                  <a xmlns="http://www.w3.org/1999/xhtml" id="id696419"></a>
     13841                  <div class="header">Description:</div>
     13842                  <p xmlns="http://www.w3.org/1999/xhtml">
     13843This function returns t if key-event is the logical key-event
     13844keyword. This is setf-able establishing or disestablishing key-events
     13845as particular logical key-events. It is a error for keyword to be an
     13846undefined logical key-event.
     13847                    </p>
     13848                </div>
     13849              </div>
     13850            </p>
     13851          </div>
     13852          <div class="sect2" lang="en" xml:lang="en">
     13853            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13854              <div>
     13855                <div>
     13856                  <h3 class="title"><a id="SystemDefinedLogicalKeyEvents"></a>6.11.3. System Defined Logical Key-Events</h3>
     13857                </div>
     13858              </div>
     13859            </div>
     13860            <p xmlns="http://www.w3.org/1999/xhtml">
     13861There are many default logical key-events, some of which are used by
     13862functions documented in this manual.  If a command wants to read a
     13863single key-event command that fits one of these descriptions then the
     13864key-event read should be compared to the corresponding logical
     13865key-event instead of explicitly mentioning the particular key-event in
     13866the code.  In many cases you can use the command-case (page 48) macro.
     13867It makes logical key-events easy to use and takes care of prompting
     13868and displaying help messages.
     13869            </p>
     13870            <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     13871              <ul class="itemizedlist" type="disc">
     13872                <li class="listitem">
     13873                  <p>
     13874:abort Indicates the prompter should terminate its activity without performing any closing actions of convenience, for example.
     13875                    </p>
     13876                </li>
     13877                <li class="listitem">
     13878                  <p>
     13879:yes Indicates the prompter should take the action under consideration.
     13880                    </p>
     13881                </li>
     13882                <li class="listitem">
     13883                  <p>
     13884:no Indicates the prompter should NOT take the action under consideration.
     13885                    </p>
     13886                </li>
     13887                <li class="listitem">
     13888                  <p>
     13889:do-all Indicates the prompter should repeat the action under consideration as many times as possible.
     13890                    </p>
     13891                </li>
     13892                <li class="listitem">
     13893                  <p>
     13894:do-once Indicates the prompter should execute the action under consideration once and then exit.
     13895                    </p>
     13896                </li>
     13897                <li class="listitem">
     13898                  <p>
     13899:help Indicates the prompter should display some help information.
     13900                    </p>
     13901                </li>
     13902                <li class="listitem">
     13903                  <p>
     13904:confirm Indicates the prompter should take any input provided or use the default if the user entered nothing.
     13905                    </p>
     13906                </li>
     13907                <li class="listitem">
     13908                  <p>
     13909:quote Indicates the prompter should take the following key-event as itself without any sort of command interpretation.
     13910                    </p>
     13911                </li>
     13912                <li class="listitem">
     13913                  <p>
     13914:keep Indicates the prompter should preserve something.
     13915                    </p>
     13916                </li>
     13917                <li class="listitem">
     13918                  <p>
     13919:y Indicates a short positive response
     13920                    </p>
     13921                </li>
     13922                <li class="listitem">
     13923                  <p>
     13924:n Indicates a short negative response
     13925                    </p>
     13926                </li>
     13927              </ul>
     13928            </div>
     13929            <p xmlns="http://www.w3.org/1999/xhtml">
     13930Define a new logical key-event whenever:
     13931            </p>
     13932            <div xmlns="http://www.w3.org/1999/xhtml" class="orderedlist">
     13933              <ol class="orderedlist" type="1">
     13934                <li class="listitem">
     13935                  <p>
     13936The key-event concerned represents a general class of actions, and
     13937several commands may want to take a similar action of this type.
     13938                    </p>
     13939                </li>
     13940              </ol>
     13941            </div>
     13942            <div xmlns="http://www.w3.org/1999/xhtml" class="orderedlist">
     13943              <ol class="orderedlist" type="1">
     13944                <li class="listitem">
     13945                  <p>
     13946The exact key-event a command implementor chooses may generate
     13947violent taste disputes among users, and then the users can trivially
     13948change the command in their init files.
     13949                    </p>
     13950                </li>
     13951              </ol>
     13952            </div>
     13953            <div xmlns="http://www.w3.org/1999/xhtml" class="orderedlist">
     13954              <ol class="orderedlist" type="1">
     13955                <li class="listitem">
     13956                  <p>
     13957You are using <code class="code">command-case</code> which prevents implementors from
     13958specifying non-standard characters for dispatching in otherwise
     13959possibly portable code, and you can define and set the logical
     13960key-event in a site dependent file where you can mention
     13961implementation dependent characters.
     13962                    </p>
     13963                </li>
     13964              </ol>
     13965            </div>
     13966          </div>
     13967        </div>
     13968        <div class="sect1" lang="en" xml:lang="en">
     13969          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13970            <div>
     13971              <div>
     13972                <h2 class="title" style="clear: both"><a id="EchoArea"></a>6.12. The Echo Area</h2>
     13973              </div>
     13974            </div>
     13975          </div>
     13976          <p xmlns="http://www.w3.org/1999/xhtml">
     13977Hemlock provides a number of facilities for displaying information and
     13978prompting the user for it.  Most of these work through a small area
     13979displayed at the bottom of the screen, called the Echo Area.
     13980        </p>
     13981          <div class="sect2" lang="en" xml:lang="en">
     13982            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     13983              <div>
     13984                <div>
     13985                  <h3 class="title"><a id="EchoAreaFunctions"></a>6.12.1. Echo Area Functions</h3>
     13986                </div>
     13987              </div>
     13988            </div>
     13989            <p>
     13990              <div class="refentrytitle">
     13991                <a id="f_clear-echo-area"></a>
     13992                <strong>[Function]</strong>
     13993                <br></br>
     13994                <code>
     13995                        clear-echo-area
     13996                    </code>
     13997              </div>
     13998              <div class="refentrytitle"></div>
     13999            </p>
     14000            <p>
     14001              <div>
     14002                <div class="refsect1" lang="en" xml:lang="en">
     14003                  <a xmlns="http://www.w3.org/1999/xhtml" id="id696675"></a>
     14004                  <div class="header">Description:</div>
     14005                  <p xmlns="http://www.w3.org/1999/xhtml">
     14006Clears the echo area.
     14007                    </p>
     14008                </div>
     14009              </div>
     14010            </p>
     14011            <p>
     14012              <div class="refentrytitle">
     14013                <a id="f_message"></a>
     14014                <strong>[Function]</strong>
     14015                <br></br>
     14016                <code>
     14017                        message control-string <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;rest</em> format-arguments
     14018                    </code>
     14019              </div>
     14020              <div class="refentrytitle"></div>
     14021            </p>
     14022            <p>
     14023              <div>
     14024                <div class="refsect1" lang="en" xml:lang="en">
     14025                  <a xmlns="http://www.w3.org/1999/xhtml" id="id696733"></a>
     14026                  <div class="header">Description:</div>
     14027                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     14028                </div>
     14029              </div>
     14030            </p>
     14031            <p>
     14032              <div class="refentrytitle">
     14033                <a id="f_loud-message"></a>
     14034                <strong>[Function]</strong>
     14035                <br></br>
     14036                <code>
     14037                        loud-message control-string <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;rest</em> format-arguments
     14038                    </code>
     14039              </div>
     14040              <div class="refentrytitle"></div>
     14041            </p>
     14042            <p>
     14043              <div>
     14044                <div class="refsect1" lang="en" xml:lang="en">
     14045                  <a xmlns="http://www.w3.org/1999/xhtml" id="id696791"></a>
     14046                  <div class="header">Description:</div>
     14047                  <p xmlns="http://www.w3.org/1999/xhtml">
     14048Displays a message in the echo area, replacing previous contents if any.
     14049loud-message is like message, but it also beeps.
     14050                    </p>
     14051                </div>
     14052              </div>
     14053            </p>
     14054            <p>
     14055              <div class="refentrytitle">
     14056                <a id="f_beep"></a>
     14057                <strong>[Function]</strong>
     14058                <br></br>
     14059                <code>
     14060                        beep
     14061                    </code>
     14062              </div>
     14063              <div class="refentrytitle"></div>
     14064            </p>
     14065            <p>
     14066              <div>
     14067                <div class="refsect1" lang="en" xml:lang="en">
     14068                  <a xmlns="http://www.w3.org/1999/xhtml" id="id696847"></a>
     14069                  <div class="header">Description:</div>
     14070                  <p xmlns="http://www.w3.org/1999/xhtml">
     14071Gets the user's attention, typically by making a sound.
     14072                    </p>
     14073                </div>
     14074              </div>
     14075            </p>
     14076          </div>
     14077          <div class="sect2" lang="en" xml:lang="en">
     14078            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     14079              <div>
     14080                <div>
     14081                  <h3 class="title"><a id="PromptingFunctions"></a>6.12.2. Prompting Functions</h3>
     14082                </div>
     14083              </div>
     14084            </div>
     14085            <p xmlns="http://www.w3.org/1999/xhtml">
     14086Prompting functions can be used to obtain short one-line input from the user.
     14087            </p>
     14088            <p xmlns="http://www.w3.org/1999/xhtml">
     14089Cocoa note: Because of implementation restrictions, only one buffer at
     14090a time is allowed to read prompted input.  If a prompting function is
     14091invoked while a prompting operation is already in effect in another
     14092buffer, the attempt fails, telling the user "Buffer xxx is already
     14093waiting for input".
     14094            </p>
     14095            <p xmlns="http://www.w3.org/1999/xhtml">
     14096Most of the prompting functions accept the following keyword arguments:
     14097            </p>
     14098            <div xmlns="http://www.w3.org/1999/xhtml" class="variablelist">
     14099              <dl>
     14100                <dt>
     14101                  <span class="term">:must-exist</span>
     14102                </dt>
     14103                <dd>
     14104                  <p>
     14105If :must-exist has a non-nil value then the user is
     14106prompted until a valid response is obtained. If :must-exist is nil
     14107then return as a string whatever is input.  The default is t.
     14108                        </p>
     14109                </dd>
     14110                <dt>
     14111                  <span class="term">:default</span>
     14112                </dt>
     14113                <dd>
     14114                  <p>
     14115If null input is given when the user is prompted then this
     14116value is returned. If no default is given then some input must be
     14117given before anything interesting will happen.
     14118                        </p>
     14119                </dd>
     14120                <dt>
     14121                  <span class="term">:default-string</span>
     14122                </dt>
     14123                <dd>
     14124                  <p>
     14125If a :default is given then this is a string to be
     14126printed to indicate what the default is.  The default is some
     14127representation of the value for :default, for example for a buffer it
     14128is the name of the buffer.
     14129                        </p>
     14130                </dd>
     14131                <dt>
     14132                  <span class="term">:prompt</span>
     14133                </dt>
     14134                <dd>
     14135                  <p>
     14136This is the prompt string to display.
     14137                        </p>
     14138                </dd>
     14139                <dt>
     14140                  <span class="term">:help</span>
     14141                </dt>
     14142                <dd>
     14143                  <p>
     14144This is similar to :prompt, except that it is displayed when the help
     14145command is typed during input.
     14146                        </p>
     14147                </dd>
     14148              </dl>
     14149            </div>
     14150            <div xmlns="http://www.w3.org/1999/xhtml" class="blockquote">
     14151              <blockquote class="blockquote">
     14152                <p>This may also be a function.  When called with no arguments, it
     14153should either return a string which is the help text or perform some
     14154action to help the user, returning nil.
     14155            </p>
     14156              </blockquote>
     14157            </div>
     14158            <p>
     14159              <div class="refentrytitle">
     14160                <a id="f_prompt-for-buffer"></a>
     14161                <strong>[Function]</strong>
     14162                <br></br>
     14163                <code>
     14164                        prompt-for-buffer <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :prompt :help :must-exist :default :default-string
     14165                    </code>
     14166              </div>
     14167              <div class="refentrytitle"></div>
     14168            </p>
     14169            <p>
     14170              <div>
     14171                <div class="refsect1" lang="en" xml:lang="en">
     14172                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697022"></a>
     14173                  <div class="header">Description:</div>
     14174                  <p xmlns="http://www.w3.org/1999/xhtml">
     14175Prompts with completion for a buffer name and returns the
     14176corresponding buffer.  If must-exist is nil, then it returns the input
     14177string if it is not a buffer name.  This refuses to accept the empty
     14178string as input when :default and :default-string are
     14179nil. :default-string may be used to supply a default buffer name
     14180when:default is nil, but when :must-exist is non-nil, it must name an
     14181already existing buffer.
     14182                    </p>
     14183                </div>
     14184              </div>
     14185            </p>
     14186            <p>
     14187              <div class="refentrytitle">
     14188                <a id="f_prompt-for-key-event"></a>
     14189                <strong>[Function]</strong>
     14190                <br></br>
     14191                <code>
     14192                        prompt-for-key-event <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :prompt :help
     14193                    </code>
     14194              </div>
     14195              <div class="refentrytitle"></div>
     14196            </p>
     14197            <p>
     14198              <div>
     14199                <div class="refsect1" lang="en" xml:lang="en">
     14200                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697084"></a>
     14201                  <div class="header">Description:</div>
     14202                  <p xmlns="http://www.w3.org/1999/xhtml">
     14203This function prompts for a key-event returning immediately when the
     14204user types the next key-event.  command-case (page 48) is more useful
     14205for most purposes. When appropriate, use logical key-events (page 45).
     14206                    </p>
     14207                </div>
     14208              </div>
     14209            </p>
     14210            <p>
     14211              <div class="refentrytitle">
     14212                <a id="f_prompt-for-key"></a>
     14213                <strong>[Function]</strong>
     14214                <br></br>
     14215                <code>
     14216                        prompt-for-key <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :prompt :help :must-exist :default :default-string
     14217                    </code>
     14218              </div>
     14219              <div class="refentrytitle"></div>
     14220            </p>
     14221            <p>
     14222              <div>
     14223                <div class="refsect1" lang="en" xml:lang="en">
     14224                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697144"></a>
     14225                  <div class="header">Description:</div>
     14226                  <p xmlns="http://www.w3.org/1999/xhtml">
     14227This function prompts for a key, a vector of key-events, suitable for
     14228passing to any of the functions that manipulate key bindings (page
     1422929).  If must-exist is true, then the key must be bound in the current
     14230environment, and the command currently bound is returned as the second
     14231value.
     14232                    </p>
     14233                </div>
     14234              </div>
     14235            </p>
     14236            <p>
     14237              <div class="refentrytitle">
     14238                <a id="f_prompt-for-file"></a>
     14239                <strong>[Function]</strong>
     14240                <br></br>
     14241                <code>
     14242                        prompt-for-file <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :prompt :help :must-exist :default :default-string
     14243                    </code>
     14244              </div>
     14245              <div class="refentrytitle"></div>
     14246            </p>
     14247            <p>
     14248              <div>
     14249                <div class="refsect1" lang="en" xml:lang="en">
     14250                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697205"></a>
     14251                  <div class="header">Description:</div>
     14252                  <p xmlns="http://www.w3.org/1999/xhtml">
     14253This function prompts for an acceptable filename.  "Acceptable" means
     14254that it is a legal filename, and it exists if must-exist is
     14255non-nil. prompt-for-file returns a Common Lisp pathname.  If the file
     14256exists as entered, then this returns it, otherwise it is merged with
     14257default as by merge-pathnames.
     14258                    </p>
     14259                </div>
     14260              </div>
     14261            </p>
     14262            <p>
     14263              <div class="refentrytitle">
     14264                <a id="f_prompt-for-integer"></a>
     14265                <strong>[Function]</strong>
     14266                <br></br>
     14267                <code>
     14268                        prompt-for-integer <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :prompt :help :must-exist :default :default-string
     14269                    </code>
     14270              </div>
     14271              <div class="refentrytitle"></div>
     14272            </p>
     14273            <p>
     14274              <div>
     14275                <div class="refsect1" lang="en" xml:lang="en">
     14276                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697266"></a>
     14277                  <div class="header">Description:</div>
     14278                  <p xmlns="http://www.w3.org/1999/xhtml">
     14279This function prompts for a possibly signed integer. If must-exist is
     14280nil, then prompt-for-integer returns the input as a string if it is
     14281not a valid integer.
     14282                    </p>
     14283                </div>
     14284              </div>
     14285            </p>
     14286            <p>
     14287              <div class="refentrytitle">
     14288                <a id="f_prompt-for-keyword"></a>
     14289                <strong>[Function]</strong>
     14290                <br></br>
     14291                <code>
     14292                        prompt-for-keyword string-tables <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :prompt :help :must-exist :default :default-string
     14293                    </code>
     14294              </div>
     14295              <div class="refentrytitle"></div>
     14296            </p>
     14297            <p>
     14298              <div>
     14299                <div class="refsect1" lang="en" xml:lang="en">
     14300                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697325"></a>
     14301                  <div class="header">Description:</div>
     14302                  <p xmlns="http://www.w3.org/1999/xhtml">
     14303This function prompts for a keyword with completion, using the string
     14304tables in the list string-tables. If must-exist is non-nil, then the
     14305result must be an unambiguous prefix of a string in one of the
     14306string-tables, and the returns the complete string even if only a
     14307prefix of the full string was typed.  In addition, this returns the
     14308value of the corresponding entry in the string table as the second
     14309value.
     14310                    </p>
     14311                  <p xmlns="http://www.w3.org/1999/xhtml">
     14312If must-exist is nil, then this function returns the string exactly as
     14313entered.  The difference between prompt-for-keyword with must-exist
     14314nil, and prompt-for-string, is the user may complete the input using
     14315the Complete Parse and Complete Field commands.
     14316                    </p>
     14317                </div>
     14318              </div>
     14319            </p>
     14320            <p>
     14321              <div class="refentrytitle">
     14322                <a id="f_prompt-for-expression"></a>
     14323                <strong>[Function]</strong>
     14324                <br></br>
     14325                <code>
     14326                        prompt-for-expression <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :prompt :help :must-exist :default :default-string
     14327                    </code>
     14328              </div>
     14329              <div class="refentrytitle"></div>
     14330            </p>
     14331            <p>
     14332              <div>
     14333                <div class="refsect1" lang="en" xml:lang="en">
     14334                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697392"></a>
     14335                  <div class="header">Description:</div>
     14336                  <p xmlns="http://www.w3.org/1999/xhtml">
     14337This function reads a Lisp expression.  If must-exist is nil, and a
     14338read error occurs, then this returns the string typed.
     14339                    </p>
     14340                </div>
     14341              </div>
     14342            </p>
     14343            <p>
     14344              <div class="refentrytitle">
     14345                <a id="f_prompt-for-string"></a>
     14346                <strong>[Function]</strong>
     14347                <br></br>
     14348                <code>
     14349                        prompt-for-string <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :prompt :help :default :default-string
     14350                    </code>
     14351              </div>
     14352              <div class="refentrytitle"></div>
     14353            </p>
     14354            <p>
     14355              <div>
     14356                <div class="refsect1" lang="en" xml:lang="en">
     14357                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697452"></a>
     14358                  <div class="header">Description:</div>
     14359                  <p xmlns="http://www.w3.org/1999/xhtml">
     14360This function prompts for a string; this cannot fail.
     14361                    </p>
     14362                </div>
     14363              </div>
     14364            </p>
     14365            <p>
     14366              <div class="refentrytitle">
     14367                <a id="f_prompt-for-variable"></a>
     14368                <strong>[Function]</strong>
     14369                <br></br>
     14370                <code>
     14371                        prompt-for-variable <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :prompt :help :must-exist :default :default-string
     14372                    </code>
     14373              </div>
     14374              <div class="refentrytitle"></div>
     14375            </p>
     14376            <p>
     14377              <div>
     14378                <div class="refsect1" lang="en" xml:lang="en">
     14379                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697511"></a>
     14380                  <div class="header">Description:</div>
     14381                  <p xmlns="http://www.w3.org/1999/xhtml">
     14382This function prompts for a variable name.  If must-exist is non-nil,
     14383then the string must be a variable defined in the current environment,
     14384in which case the symbol name of the variable found is returned as the
     14385second value.
     14386                    </p>
     14387                </div>
     14388              </div>
     14389            </p>
     14390            <p>
     14391              <div class="refentrytitle">
     14392                <a id="f_prompt-for-y-or-n"></a>
     14393                <strong>[Function]</strong>
     14394                <br></br>
     14395                <code>
     14396                        prompt-for-y-or-n <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :prompt :help :must-exist :default :default-string
     14397                    </code>
     14398              </div>
     14399              <div class="refentrytitle"></div>
     14400            </p>
     14401            <p>
     14402              <div>
     14403                <div class="refsect1" lang="en" xml:lang="en">
     14404                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697571"></a>
     14405                  <div class="header">Description:</div>
     14406                  <p xmlns="http://www.w3.org/1999/xhtml">
     14407This prompts for logical key events :Y or :N, returning t or nil without waiting for
     14408confirmation.  When the user types a confirmation key, this returns
     14409default if it is supplied.  If must-exist is nil, this returns
     14410whatever key-event the user first types; however, if the user types
     14411one of the above key-events, this returns t or nil. This is analogous to
     14412the Common Lisp function y-or-n-p.
     14413                    </p>
     14414                </div>
     14415              </div>
     14416            </p>
     14417            <p>
     14418              <div class="refentrytitle">
     14419                <a id="f_prompt-for-yes-or-no"></a>
     14420                <strong>[Function]</strong>
     14421                <br></br>
     14422                <code>
     14423                        prompt-for-yes-or-no <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :prompt :help :must-exist :default :default-string
     14424                    </code>
     14425              </div>
     14426              <div class="refentrytitle"></div>
     14427            </p>
     14428            <p>
     14429              <div>
     14430                <div class="refsect1" lang="en" xml:lang="en">
     14431                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697633"></a>
     14432                  <div class="header">Description:</div>
     14433                  <p xmlns="http://www.w3.org/1999/xhtml">
     14434This function is to prompt-for-y-or-n as yes-or-no-p is to
     14435y-or-n-p. "Yes" or "No" must be typed out in full and confirmation
     14436must be given.
     14437                    </p>
     14438                </div>
     14439              </div>
     14440            </p>
     14441            <p>
     14442              <div class="refentrytitle">
     14443                <a id="m_command-case"></a>
     14444                <strong>[Macro]</strong>
     14445                <br></br>
     14446                <code>
     14447                        command-case ({key value}*){({({tag}*) | tag} help {form}*)}*
     14448                    </code>
     14449              </div>
     14450              <div class="refentrytitle"></div>
     14451            </p>
     14452            <p>
     14453              <div>
     14454                <div class="refsect1" lang="en" xml:lang="en">
     14455                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697688"></a>
     14456                  <div class="header">Description:</div>
     14457                  <p xmlns="http://www.w3.org/1999/xhtml">
     14458This macro is analogous to the Common Lisp case macro. Commands such
     14459as Help use this to get a key-event, translate it to a
     14460character, and then to dispatch on the character to some case.  In
     14461addition to character dispatching, this supports logical key-events
     14462(page 45) by using the input key-event directly without translating it
     14463to a character.  Since the description of this macro is rather
     14464complex, first consider the following example:
     14465</p>
     14466                  <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     14467
     14468(defcommand "Save All Buffers" (p)
     14469  "Give the User a chance to save each modified buffer."
     14470  (dolist (b *buffer-list*)
     14471    (select-buffer-command () b)
     14472    (when (buffer-modified b)
     14473      (command-case (:prompt "Save this buffer: [Y] "
     14474                             :help "Save buffer, or do something else:")
     14475        ((:yes :confirm)
     14476         "Save this buffer and go on to the next."
     14477         (save-file-command () b))
     14478        (:no "Skip saving this buffer, and go on to the next.")
     14479        ((:exit #\p) "Punt this silly loop."
     14480         (return nil))))))
     14481
     14482</pre>
     14483                  <p xmlns="http://www.w3.org/1999/xhtml">
     14484                    </p>
     14485                  <p xmlns="http://www.w3.org/1999/xhtml">
     14486command-case prompts for a key-event and then executes the code in the
     14487first branch with a logical key-event or a character (called tags)
     14488matching the input.  Each character must be a standard-character, one
     14489that satisfies the Common Lisp standard-char-p predicate, and the
     14490dispatching mechanism compares the input key-event to any character
     14491tags by mapping the key-event to a character with
     14492ext:key-event-char. If the tag is a logical key-event, then the search
     14493for an appropriate case compares the key-event read with the tag
     14494using logical-key-event-p.
     14495                    </p>
     14496                  <p xmlns="http://www.w3.org/1999/xhtml">
     14497All uses of command-case have two default cases, :help and :abort. You
     14498can override these easily by specifying your own branches that include
     14499these logical key-event tags.  The :help branch displays in a pop-up
     14500window the a description of the valid responses using the variously
     14501specified help strings. The :abort branch signals an editor-error.
     14502                    </p>
     14503                  <p xmlns="http://www.w3.org/1999/xhtml">
     14504The key/value arguments control the prompting.  The following are valid values:
     14505                    </p>
     14506                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:help</span></i>---
     14507The default :help case displays this string in a pop-up window.  In
     14508addition it formats a description of the valid input including each
     14509case's help string.
     14510                                </p>
     14511                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:prompt</span></i>---
     14512This is the prompt used when reading the key-event.
     14513                                </p>
     14514                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:bind</span></i>---
     14515This specifies a variable to which the prompting mechanism binds the
     14516input key-event. Any case may reference this variable.  If you wish
     14517to know what character corresponds to the key-event, use
     14518key-event-char.
     14519                                </p>
     14520                  <p xmlns="http://www.w3.org/1999/xhtml">
     14521Instead of specifying a tag or list of tags, you may use t. This
     14522becomes the default branch, and its forms execute if no other branch
     14523is taken, including the default :help and :abort cases. This option has
     14524no helpstring, and the default :help case does not describe the default
     14525branch.  Every command-case has a default branch; if none is specified,
     14526the macro includes one that beep's and reprompt's (see below).
     14527                    </p>
     14528                  <p xmlns="http://www.w3.org/1999/xhtml">
     14529Within the body of command-case, there is a defined reprompt macro. It
     14530causes the prompting mechanism and dispatching mechanism to
     14531immediately repeat without further execution in the current branch.
     14532                    </p>
     14533                </div>
     14534              </div>
     14535            </p>
     14536          </div>
     14537          <div class="sect2" lang="en" xml:lang="en">
     14538            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     14539              <div>
     14540                <div>
     14541                  <h3 class="title"><a id="ControlOfParsingBehavior"></a>6.12.3. Control of Parsing Behavior</h3>
     14542                </div>
     14543              </div>
     14544            </div>
     14545            <p>
     14546              <div class="refentrytitle">
     14547                <a id="hv_beep_on_ambiguity"></a>
     14548                <strong>[Hemlock Variable]</strong>
     14549                <br></br>
     14550                <code>
     14551                        Beep On Ambiguity (initial value t)
     14552                    </code>
     14553              </div>
     14554              <div class="refentrytitle"></div>
     14555            </p>
     14556            <p>
     14557              <div>
     14558                <div class="refsect1" lang="en" xml:lang="en">
     14559                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697855"></a>
     14560                  <div class="header">Description:</div>
     14561                  <p xmlns="http://www.w3.org/1999/xhtml">
     14562If this variable is true, then an attempt to complete a parse which is
     14563ambiguous will result in a "beep".
     14564                    </p>
     14565                </div>
     14566              </div>
     14567            </p>
     14568          </div>
     14569          <div class="sect2" lang="en" xml:lang="en">
     14570            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     14571              <div>
     14572                <div>
     14573                  <h3 class="title"><a id="DefiningNewPromptingFunctions"></a>6.12.4. Defining New Prompting Functions</h3>
     14574                </div>
     14575              </div>
     14576            </div>
     14577            <p xmlns="http://www.w3.org/1999/xhtml">
     14578Prompting functionality is implemented by the function parse-for-something
     14579in cooperation with commands defined in "Echo Area" mode on the buffer associated
     14580with the echo area. You can implement new prompting functions by invoking
     14581parse-for-something with appropriate arguments.
     14582            </p>
     14583            <p>
     14584              <div class="refentrytitle">
     14585                <a id="f_parse-for-something"></a>
     14586                <strong>[Function]</strong>
     14587                <br></br>
     14588                <code>
     14589                        parse-for-something <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em>
     14590                    </code>
     14591              </div>
     14592              <div class="refentrytitle"></div>
     14593            </p>
     14594            <p>
     14595              <div>
     14596                <div class="refsect1" lang="en" xml:lang="en">
     14597                  <a xmlns="http://www.w3.org/1999/xhtml" id="id697931"></a>
     14598                  <div class="header">Description:</div>
     14599                  <p xmlns="http://www.w3.org/1999/xhtml">
     14600This function enters a mode reading input from the user and echoing it in the echo area, and
     14601returns a value when done.  The input is managed by commands bound in "Echo Area" mode on the
     14602buffer associated with the echo area.  The following  keyword arguments are accepted:
     14603                    </p>
     14604                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term"><code class="code">:verification-function</code></span></i>---
     14605This is invoked by the Confirm Parse command (page 52).  It does most of
     14606the work when parsing prompted input. Confirm Parse (page 52) calls it
     14607with one argument, which is the string that the user typed so far.
     14608The function should return a list of values which are to be the result
     14609of the recursive edit, or nil indicating that the parse failed.  In order
     14610to return zero values, a non-nil second value may be returned along with
     14611a nil first value.
     14612                                </p>
     14613                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term"><code class="code">:string-tables</code></span></i>---
     14614This is the list of string-tables, if any, that pertain to this parse.
     14615                                </p>
     14616                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term"><code class="code">:value-must-exist</code></span></i>---
     14617This is referred to by the verification function, and possibly some of the
     14618commands.
     14619                                </p>
     14620                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term"><code class="code">:default</code></span></i>---
     14621The string representing the default object when prompting the user.
     14622Confirm Parse supplies this to the parse verification function when the
     14623user input is empty.
     14624                                </p>
     14625                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term"><code class="code">:default-string</code></span></i>---
     14626When prompting the user, if :default is not specified, Hemlock displays
     14627this string as a representation of the default object; for example,
     14628when prompting for a buffer, this argument would be a default buffer name.
     14629                                </p>
     14630                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term"><code class="code">:type</code></span></i>---
     14631The kind of parse, e.g. :file, :keyword, :string. This tells the completion
     14632commands how to do completion, with :string disabling completion.
     14633                                </p>
     14634                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term"><code class="code">:prompt</code></span></i>---
     14635The prompt to display to the user.
     14636                                </p>
     14637                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term"><code class="code">:help</code></span></i>---
     14638The help string or function being used for the current parse.
     14639                                </p>
     14640                </div>
     14641              </div>
     14642            </p>
     14643          </div>
     14644          <div class="sect2" lang="en" xml:lang="en">
     14645            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     14646              <div>
     14647                <div>
     14648                  <h3 class="title"><a id="SomeEchoAreaCommands"></a>6.12.5. Some Echo Area Commands</h3>
     14649                </div>
     14650              </div>
     14651            </div>
     14652            <p xmlns="http://www.w3.org/1999/xhtml">
     14653These are some of the Echo Area commands that coordinate with the
     14654prompting routines. Hemlock binds other commands specific to the Echo
     14655Area, but they are uninteresting to mention here, such as deleting to
     14656the beginning of the line or deleting backwards a word.
     14657            </p>
     14658            <p>
     14659              <div class="refentrytitle">
     14660                <a id="c_help_on_parse"></a>
     14661                <strong>[Command]</strong>
     14662                <br></br>
     14663                <code>
     14664                        Help On Parse (bound to Home, C-_ in Echo Area mode)
     14665                    </code>
     14666              </div>
     14667              <div class="refentrytitle"></div>
     14668            </p>
     14669            <p>
     14670              <div>
     14671                <div class="refsect1" lang="en" xml:lang="en">
     14672                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698153"></a>
     14673                  <div class="header">Description:</div>
     14674                  <p xmlns="http://www.w3.org/1999/xhtml">
     14675Display the help text for the parse currently in progress.
     14676                    </p>
     14677                </div>
     14678              </div>
     14679            </p>
     14680            <p>
     14681              <div class="refentrytitle">
     14682                <a id="c_complete_keyword"></a>
     14683                <strong>[Command]</strong>
     14684                <br></br>
     14685                <code>
     14686                        Complete Keyword (bound to Escape in Echo Area mode)
     14687                    </code>
     14688              </div>
     14689              <div class="refentrytitle"></div>
     14690            </p>
     14691            <p>
     14692              <div>
     14693                <div class="refsect1" lang="en" xml:lang="en">
     14694                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698208"></a>
     14695                  <div class="header">Description:</div>
     14696                  <p xmlns="http://www.w3.org/1999/xhtml">
     14697This attempts to complete the current region.
     14698It signals an editor-error if the input is ambiguous or incorrect.
     14699                    </p>
     14700                </div>
     14701              </div>
     14702            </p>
     14703            <p>
     14704              <div class="refentrytitle">
     14705                <a id="c_complete_field"></a>
     14706                <strong>[Command]</strong>
     14707                <br></br>
     14708                <code>
     14709                        Complete Field (bound to Space in Echo Area mode)
     14710                    </code>
     14711              </div>
     14712              <div class="refentrytitle"></div>
     14713            </p>
     14714            <p>
     14715              <div>
     14716                <div class="refsect1" lang="en" xml:lang="en">
     14717                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698264"></a>
     14718                  <div class="header">Description:</div>
     14719                  <p xmlns="http://www.w3.org/1999/xhtml">
     14720Similar to <code class="code">Complete Keyword</code>, but only attempts to complete up to and
     14721including the first character in the keyword with a non-zero
     14722:parse-field-separator attribute. If there is no field separator then
     14723attempt to complete the entire keyword.  If it is not a keyword parse
     14724then just self-insert.
     14725                    </p>
     14726                </div>
     14727              </div>
     14728            </p>
     14729            <p>
     14730              <div class="refentrytitle">
     14731                <a id="c_confirm_parse"></a>
     14732                <strong>[Command]</strong>
     14733                <br></br>
     14734                <code>
     14735                        Confirm Parse (bound to Return in Echo Area mode)
     14736                    </code>
     14737              </div>
     14738              <div class="refentrytitle"></div>
     14739            </p>
     14740            <p>
     14741              <div>
     14742                <div class="refsect1" lang="en" xml:lang="en">
     14743                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698324"></a>
     14744                  <div class="header">Description:</div>
     14745                  <p xmlns="http://www.w3.org/1999/xhtml">
     14746Call the verification function with the current input.  If it
     14747returns a non-nil value then that is returned as the value of the
     14748parse.  A parse may return a nil value if the verification function
     14749returns a non-nil second value.
     14750                    </p>
     14751                </div>
     14752              </div>
     14753            </p>
     14754          </div>
     14755        </div>
     14756        <div class="sect1" lang="en" xml:lang="en">
     14757          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     14758            <div>
     14759              <div>
     14760                <h2 class="title" style="clear: both"><a id="Files"></a>6.13. Files</h2>
     14761              </div>
     14762            </div>
     14763          </div>
     14764          <p xmlns="http://www.w3.org/1999/xhtml">
     14765This chapter discusses ways to read and write files at various
     14766levels---at marks, into regions, and into buffers.  This also treats
     14767automatic mechanisms that affect the state of buffers in which files
     14768are read.
     14769        </p>
     14770          <div class="sect2" lang="en" xml:lang="en">
     14771            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     14772              <div>
     14773                <div>
     14774                  <h3 class="title"><a id="FileOptionsAndTypeHooks"></a>6.13.1. File Options and Type Hooks</h3>
     14775                </div>
     14776              </div>
     14777            </div>
     14778            <p xmlns="http://www.w3.org/1999/xhtml">
     14779The user specifies file options with a special syntax on the first
     14780line of a file.  If the first line contains the string "-*-",
     14781then Hemlock interprets the text between the first such occurrence and
     14782the second, which must be contained in one line , as a list of
     14783"option: value" pairs separated by semicolons.  The following is a
     14784typical example:
     14785</p>
     14786            <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     14787
     14788;;; -*- Mode: Lisp, Editor; Package: Hemlock -*-
     14789
     14790</pre>
     14791            <p xmlns="http://www.w3.org/1999/xhtml">See the Hemlock User's Manual for more details and predefined options.
     14792            </p>
     14793            <p xmlns="http://www.w3.org/1999/xhtml">
     14794File type hooks are executed when Hemlock reads a file into a buffer
     14795based on the type of the pathname.  When the user specifies a Mode
     14796file option that turns on a major mode, Hemlock ignores type hooks.
     14797This mechanism is mostly used as a simple means for turning on some
     14798appropriate default major mode.
     14799            </p>
     14800            <p>
     14801              <div class="refentrytitle">
     14802                <a id="m_define-file-option"></a>
     14803                <strong>[Macro]</strong>
     14804                <br></br>
     14805                <code>
     14806                        define-file-option name (buffer value) {declaration}* {form}*
     14807                    </code>
     14808              </div>
     14809              <div class="refentrytitle"></div>
     14810            </p>
     14811            <p>
     14812              <div>
     14813                <div class="refsect1" lang="en" xml:lang="en">
     14814                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698428"></a>
     14815                  <div class="header">Description:</div>
     14816                  <p xmlns="http://www.w3.org/1999/xhtml">
     14817This defines a new file option with the string
     14818name name. Buffer and value specify variable names for the buffer and the
     14819option value string, and forms are evaluated with these bound.
     14820                    </p>
     14821                </div>
     14822              </div>
     14823            </p>
     14824            <p>
     14825              <div class="refentrytitle">
     14826                <a id="m_define-file-type-hook"></a>
     14827                <strong>[Macro]</strong>
     14828                <br></br>
     14829                <code>
     14830                        define-file-type-hook type-list (buffer type) {declaration}* {form}*
     14831                    </code>
     14832              </div>
     14833              <div class="refentrytitle"></div>
     14834            </p>
     14835            <p>
     14836              <div>
     14837                <div class="refsect1" lang="en" xml:lang="en">
     14838                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698485"></a>
     14839                  <div class="header">Description:</div>
     14840                  <p xmlns="http://www.w3.org/1999/xhtml">
     14841This defines some code that process-file-options(below) executes when
     14842the file options fail to set a major mode.  This associates each type,
     14843a string, in type-list with a routine that binds buffer to the
     14844buffer the file is in and type to the type of the pathname.
     14845                    </p>
     14846                </div>
     14847              </div>
     14848            </p>
     14849            <p>
     14850              <div class="refentrytitle">
     14851                <a id="f_process-file-options"></a>
     14852                <strong>[Function]</strong>
     14853                <br></br>
     14854                <code>
     14855                        process-file-options buffer <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> pathname
     14856                    </code>
     14857              </div>
     14858              <div class="refentrytitle"></div>
     14859            </p>
     14860            <p>
     14861              <div>
     14862                <div class="refsect1" lang="en" xml:lang="en">
     14863                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698545"></a>
     14864                  <div class="header">Description:</div>
     14865                  <p xmlns="http://www.w3.org/1999/xhtml">
     14866This checks for file options in buffer and invokes handlers if there
     14867are any. Pathname defaults to buffer's pathname but may be nil. If
     14868there is no Mode file option that specifies a major mode, and pathname
     14869has a type, then this tries to invoke the appropriate file type
     14870hook. read-buffer-file calls this.
     14871                    </p>
     14872                </div>
     14873              </div>
     14874            </p>
     14875          </div>
     14876          <div class="sect2" lang="en" xml:lang="en">
     14877            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     14878              <div>
     14879                <div>
     14880                  <h3 class="title"><a id="PathnamesAndBuffers"></a>6.13.2. Pathnames and Buffers</h3>
     14881                </div>
     14882              </div>
     14883            </div>
     14884            <p xmlns="http://www.w3.org/1999/xhtml">
     14885There is no good way to uniquely identify buffer names and pathnames.
     14886However, Hemlock has one way of mapping pathnames to buffer names that
     14887should be used for consistency among customizations and primitives.
     14888Independent of this, Hemlock provides a means for consistently
     14889generating prompting defaults when asking the user for pathnames.
     14890            </p>
     14891            <p>
     14892              <div class="refentrytitle">
     14893                <a id="f_pathname-to-buffer-name"></a>
     14894                <strong>[Function]</strong>
     14895                <br></br>
     14896                <code>
     14897                        pathname-to-buffer-name pathname
     14898                    </code>
     14899              </div>
     14900              <div class="refentrytitle"></div>
     14901            </p>
     14902            <p>
     14903              <div>
     14904                <div class="refsect1" lang="en" xml:lang="en">
     14905                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698619"></a>
     14906                  <div class="header">Description:</div>
     14907                  <p xmlns="http://www.w3.org/1999/xhtml">
     14908This function returns a string of the form "file-namestring directory-namestring".
     14909                    </p>
     14910                </div>
     14911              </div>
     14912            </p>
     14913            <p>
     14914              <div class="refentrytitle">
     14915                <a id="hv_pathname_defaults"></a>
     14916                <strong>[Hemlock Variable]</strong>
     14917                <br></br>
     14918                <code>
     14919                        Pathname Defaults (initial value (pathname "gazonk.del"))
     14920                    </code>
     14921              </div>
     14922              <div class="refentrytitle"></div>
     14923            </p>
     14924            <p>
     14925              <div>
     14926                <div class="refsect1" lang="en" xml:lang="en">
     14927                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698675"></a>
     14928                  <div class="header">Description:</div>
     14929                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     14930                </div>
     14931              </div>
     14932            </p>
     14933            <p>
     14934              <div class="refentrytitle">
     14935                <a id="hv_last_resort_pathname_defaults_function"></a>
     14936                <strong>[Hemlock Variable]</strong>
     14937                <br></br>
     14938                <code>
     14939                        Last Resort Pathname Defaults Function
     14940                    </code>
     14941              </div>
     14942              <div class="refentrytitle"></div>
     14943            </p>
     14944            <p>
     14945              <div>
     14946                <div class="refsect1" lang="en" xml:lang="en">
     14947                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698730"></a>
     14948                  <div class="header">Description:</div>
     14949                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     14950                </div>
     14951              </div>
     14952            </p>
     14953            <p>
     14954              <div class="refentrytitle">
     14955                <a id="hv_last_resort_pathname_defaults"></a>
     14956                <strong>[Hemlock Variable]</strong>
     14957                <br></br>
     14958                <code>
     14959                        Last Resort Pathname Defaults (initial value (pathname "gazonk"))
     14960                    </code>
     14961              </div>
     14962              <div class="refentrytitle"></div>
     14963            </p>
     14964            <p>
     14965              <div>
     14966                <div class="refsect1" lang="en" xml:lang="en">
     14967                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698785"></a>
     14968                  <div class="header">Description:</div>
     14969                  <p xmlns="http://www.w3.org/1999/xhtml">
     14970These variables control the computation of default pathnames when
     14971needed for promting the user.  Pathname Defaults is a sticky
     14972default. See the Hemlock User's Manual for more details.
     14973                    </p>
     14974                </div>
     14975              </div>
     14976            </p>
     14977            <p>
     14978              <div class="refentrytitle">
     14979                <a id="f_buffer-default-pathname"></a>
     14980                <strong>[Function]</strong>
     14981                <br></br>
     14982                <code>
     14983                        buffer-default-pathname buffer
     14984                    </code>
     14985              </div>
     14986              <div class="refentrytitle"></div>
     14987            </p>
     14988            <p>
     14989              <div>
     14990                <div class="refsect1" lang="en" xml:lang="en">
     14991                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698841"></a>
     14992                  <div class="header">Description:</div>
     14993                  <p xmlns="http://www.w3.org/1999/xhtml">
     14994This returns Buffer Pathname if it is bound.  If it is not bound, and
     14995buffer's name is composed solely of alphnumeric characters, then
     14996return a pathname formed from buffer's name.  If buffer's name has
     14997other characters in it, then return the value of Last Resort Pathname
     14998Defaults Function called on buffer.
     14999                    </p>
     15000                </div>
     15001              </div>
     15002            </p>
     15003          </div>
     15004          <div class="sect2" lang="en" xml:lang="en">
     15005            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15006              <div>
     15007                <div>
     15008                  <h3 class="title"><a id="FileGroups"></a>6.13.3. File Groups</h3>
     15009                </div>
     15010              </div>
     15011            </div>
     15012            <p xmlns="http://www.w3.org/1999/xhtml">
     15013Currently Hemlock doesn't have support for file groups.
     15014            </p>
     15015          </div>
     15016          <div class="sect2" lang="en" xml:lang="en">
     15017            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15018              <div>
     15019                <div>
     15020                  <h3 class="title"><a id="FileReadingAndWriting"></a>6.13.4. File Reading and Writing</h3>
     15021                </div>
     15022              </div>
     15023            </div>
     15024            <p xmlns="http://www.w3.org/1999/xhtml">
     15025Common Lisp pathnames are used by the file primitives.  For probing,
     15026checking write dates, and so forth, all of the Common Lisp file
     15027functions are available.
     15028            </p>
     15029            <p>
     15030              <div class="refentrytitle">
     15031                <a id="f_read-file"></a>
     15032                <strong>[Function]</strong>
     15033                <br></br>
     15034                <code>
     15035                        read-file pathname mark
     15036                    </code>
     15037              </div>
     15038              <div class="refentrytitle"></div>
     15039            </p>
     15040            <p>
     15041              <div>
     15042                <div class="refsect1" lang="en" xml:lang="en">
     15043                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698930"></a>
     15044                  <div class="header">Description:</div>
     15045                  <p xmlns="http://www.w3.org/1999/xhtml">
     15046This inserts the file named by pathname at mark.
     15047                    </p>
     15048                </div>
     15049              </div>
     15050            </p>
     15051            <p>
     15052              <div class="refentrytitle">
     15053                <a id="f_write-file"></a>
     15054                <strong>[Function]</strong>
     15055                <br></br>
     15056                <code>
     15057                        write-file region pathname <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> :keep-backup :append
     15058                    </code>
     15059              </div>
     15060              <div class="refentrytitle"></div>
     15061            </p>
     15062            <p>
     15063              <div>
     15064                <div class="refsect1" lang="en" xml:lang="en">
     15065                  <a xmlns="http://www.w3.org/1999/xhtml" id="id698988"></a>
     15066                  <div class="header">Description:</div>
     15067                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     15068                </div>
     15069              </div>
     15070            </p>
     15071            <p>
     15072              <div class="refentrytitle">
     15073                <a id="hv_keep_backup_files"></a>
     15074                <strong>[Hemlock Variable]</strong>
     15075                <br></br>
     15076                <code>
     15077                        Keep Backup Files (initial value nil)
     15078                    </code>
     15079              </div>
     15080              <div class="refentrytitle"></div>
     15081            </p>
     15082            <p>
     15083              <div>
     15084                <div class="refsect1" lang="en" xml:lang="en">
     15085                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699043"></a>
     15086                  <div class="header">Description:</div>
     15087                  <p xmlns="http://www.w3.org/1999/xhtml">
     15088This function writes the contents of region to the file named by
     15089pathname. This writes region using a stream as if it were opened with
     15090:if-exists supplied as :rename-and-delete.
     15091                    </p>
     15092                  <p xmlns="http://www.w3.org/1999/xhtml">
     15093When keep-backup, which defaults to the value of Keep Backup Files, is
     15094non-nil, this opens the stream as if :if-exists were :rename. If
     15095append is non-nil, this writes the file as if it were opened
     15096with:if-exists supplied as :append.
     15097                    </p>
     15098                  <p xmlns="http://www.w3.org/1999/xhtml">
     15099This signals an error if both append and keep-backup are supplied as non-nil.
     15100                    </p>
     15101                </div>
     15102              </div>
     15103            </p>
     15104            <p>
     15105              <div class="refentrytitle">
     15106                <a id="f_write-buffer-file"></a>
     15107                <strong>[Function]</strong>
     15108                <br></br>
     15109                <code>
     15110                        write-buffer-file buffer pathname
     15111                    </code>
     15112              </div>
     15113              <div class="refentrytitle"></div>
     15114            </p>
     15115            <p>
     15116              <div>
     15117                <div class="refsect1" lang="en" xml:lang="en">
     15118                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699109"></a>
     15119                  <div class="header">Description:</div>
     15120                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     15121                </div>
     15122              </div>
     15123            </p>
     15124            <p>
     15125              <div class="refentrytitle">
     15126                <a id="hv_write_file_hook"></a>
     15127                <strong>[Hemlock Variable]</strong>
     15128                <br></br>
     15129                <code>
     15130                        Write File Hook
     15131                    </code>
     15132              </div>
     15133              <div class="refentrytitle"></div>
     15134            </p>
     15135            <p>
     15136              <div>
     15137                <div class="refsect1" lang="en" xml:lang="en">
     15138                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699163"></a>
     15139                  <div class="header">Description:</div>
     15140                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     15141                </div>
     15142              </div>
     15143            </p>
     15144            <p>
     15145              <div class="refentrytitle">
     15146                <a id="hv_add_newline_at_eof_on_writing_file"></a>
     15147                <strong>[Hemlock Variable]</strong>
     15148                <br></br>
     15149                <code>
     15150                        Add Newline at EOF on Writing File (initial value :ask-user)
     15151                    </code>
     15152              </div>
     15153              <div class="refentrytitle"></div>
     15154            </p>
     15155            <p>
     15156              <div>
     15157                <div class="refsect1" lang="en" xml:lang="en">
     15158                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699218"></a>
     15159                  <div class="header">Description:</div>
     15160                  <p xmlns="http://www.w3.org/1999/xhtml">
     15161write-buffer-file writes buffer to the file named by pathname
     15162including the following:
     15163                    </p>
     15164                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15165                    <ul class="itemizedlist" type="disc">
     15166                      <li class="listitem">
     15167                        <p>
     15168It assumes pathname is somehow related to buffer's pathname: if
     15169the buffer's write date is not the same as pathname's, then this
     15170prompts the user for confirmation before overwriting the file.
     15171                            </p>
     15172                      </li>
     15173                    </ul>
     15174                  </div>
     15175                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15176                    <ul class="itemizedlist" type="disc">
     15177                      <li class="listitem">
     15178                        <p>
     15179It consults Add Newline at EOF on Writing File (see Hemlock User's
     15180Manual for possible values) and interacts with the user if
     15181necessary.
     15182                            </p>
     15183                      </li>
     15184                    </ul>
     15185                  </div>
     15186                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15187                    <ul class="itemizedlist" type="disc">
     15188                      <li class="listitem">
     15189                        <p>
     15190It sets Pathname Defaults, and after using write-file,
     15191marks buffer unmodified.
     15192                            </p>
     15193                      </li>
     15194                    </ul>
     15195                  </div>
     15196                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15197                    <ul class="itemizedlist" type="disc">
     15198                      <li class="listitem">
     15199                        <p>
     15200It updates Buffer's pathname and write date.
     15201                            </p>
     15202                      </li>
     15203                    </ul>
     15204                  </div>
     15205                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15206                    <ul class="itemizedlist" type="disc">
     15207                      <li class="listitem">
     15208                        <p>
     15209It renames the buffer according to the new pathname if possible.
     15210                            </p>
     15211                      </li>
     15212                    </ul>
     15213                  </div>
     15214                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15215                    <ul class="itemizedlist" type="disc">
     15216                      <li class="listitem">
     15217                        <p>
     15218It invokes Write File Hook.
     15219                            </p>
     15220                      </li>
     15221                    </ul>
     15222                  </div>
     15223                  <p xmlns="http://www.w3.org/1999/xhtml">
     15224Write File Hook is a list of functions that take the newly written buffer as an argument.
     15225                    </p>
     15226                </div>
     15227              </div>
     15228            </p>
     15229            <p>
     15230              <div class="refentrytitle">
     15231                <a id="f_read-buffer-file"></a>
     15232                <strong>[Function]</strong>
     15233                <br></br>
     15234                <code>
     15235                        read-buffer-file pathname buffer
     15236                    </code>
     15237              </div>
     15238              <div class="refentrytitle"></div>
     15239            </p>
     15240            <p>
     15241              <div>
     15242                <div class="refsect1" lang="en" xml:lang="en">
     15243                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699353"></a>
     15244                  <div class="header">Description:</div>
     15245                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     15246                </div>
     15247              </div>
     15248            </p>
     15249            <p>
     15250              <div class="refentrytitle">
     15251                <a id="hv_read_file_hook"></a>
     15252                <strong>[Hemlock Variable]</strong>
     15253                <br></br>
     15254                <code>
     15255                        Read File Hook
     15256                    </code>
     15257              </div>
     15258              <div class="refentrytitle"></div>
     15259            </p>
     15260            <p>
     15261              <div>
     15262                <div class="refsect1" lang="en" xml:lang="en">
     15263                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699407"></a>
     15264                  <div class="header">Description:</div>
     15265                  <p xmlns="http://www.w3.org/1999/xhtml">
     15266read-buffer-file deletes buffer's region and uses read-file to read
     15267pathname into it, including the following:
     15268                    </p>
     15269                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15270                    <ul class="itemizedlist" type="disc">
     15271                      <li class="listitem">
     15272                        <p>
     15273It sets buffer's write date to the file's write date if the file
     15274exists; otherwise, it messages that this is a new file and sets
     15275buffer's write date to nil.
     15276                            </p>
     15277                      </li>
     15278                    </ul>
     15279                  </div>
     15280                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15281                    <ul class="itemizedlist" type="disc">
     15282                      <li class="listitem">
     15283                        <p>
     15284It moves buffer's point to the beginning.
     15285                            </p>
     15286                      </li>
     15287                    </ul>
     15288                  </div>
     15289                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15290                    <ul class="itemizedlist" type="disc">
     15291                      <li class="listitem">
     15292                        <p>
     15293It sets buffer's unmodified status.
     15294                            </p>
     15295                      </li>
     15296                    </ul>
     15297                  </div>
     15298                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15299                    <ul class="itemizedlist" type="disc">
     15300                      <li class="listitem">
     15301                        <p>
     15302It sets buffer's pathname to the result of probing pathname if the
     15303file exists; otherwise, this function sets buffer's pathname to the
     15304result of merging pathname with default-directory.
     15305                            </p>
     15306                      </li>
     15307                    </ul>
     15308                  </div>
     15309                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15310                    <ul class="itemizedlist" type="disc">
     15311                      <li class="listitem">
     15312                        <p>
     15313It sets Pathname Defaults to the result of the previous item.
     15314                            </p>
     15315                      </li>
     15316                    </ul>
     15317                  </div>
     15318                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15319                    <ul class="itemizedlist" type="disc">
     15320                      <li class="listitem">
     15321                        <p>
     15322It processes the file options.
     15323                            </p>
     15324                      </li>
     15325                    </ul>
     15326                  </div>
     15327                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     15328                    <ul class="itemizedlist" type="disc">
     15329                      <li class="listitem">
     15330                        <p>
     15331It invokes Read File Hook.
     15332                            </p>
     15333                      </li>
     15334                    </ul>
     15335                  </div>
     15336                  <p xmlns="http://www.w3.org/1999/xhtml">
     15337Read File Hook is a list functions that take two arguments---the
     15338buffer read into and whether the file existed, t if so.
     15339                    </p>
     15340                </div>
     15341              </div>
     15342            </p>
     15343          </div>
     15344        </div>
     15345        <div class="sect1" lang="en" xml:lang="en">
     15346          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15347            <div>
     15348              <div>
     15349                <h2 class="title" style="clear: both"><a id="HemlockProgrammingHemlockSLispEnvironment"></a>6.14. Hemlock's Lisp Environment</h2>
     15350              </div>
     15351            </div>
     15352          </div>
     15353          <p xmlns="http://www.w3.org/1999/xhtml">
     15354This chapter is sort of a catch all for any functions and variables
     15355which concern Hemlock's interaction with the outside world.
     15356        </p>
     15357          <div class="sect2" lang="en" xml:lang="en">
     15358            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15359              <div>
     15360                <div>
     15361                  <h3 class="title"><a id="EnteringAndLeavingTheEditor"></a>6.14.1. Entering and Leaving the Editor</h3>
     15362                </div>
     15363              </div>
     15364            </div>
     15365            <p>
     15366              <div class="refentrytitle">
     15367                <a id="f_ed"></a>
     15368                <strong>[Function]</strong>
     15369                <br></br>
     15370                <code>
     15371                        ed <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> x
     15372                    </code>
     15373              </div>
     15374              <div class="refentrytitle"></div>
     15375            </p>
     15376            <p>
     15377              <div>
     15378                <div class="refsect1" lang="en" xml:lang="en">
     15379                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699584"></a>
     15380                  <div class="header">Description:</div>
     15381                  <p xmlns="http://www.w3.org/1999/xhtml">
     15382This a standard Common Lisp function.  If x is supplied and is a
     15383string or pathname, the file specified by x is visited in a hemlock
     15384view (opening a new window if necessary, otherwise bringing an
     15385existing window with the file to the front), and the hemlock view
     15386object is the return value from the function.
     15387                    </p>
     15388                  <p xmlns="http://www.w3.org/1999/xhtml">
     15389If x is null, a new empty hemlock view is created and returned.
     15390                    </p>
     15391                  <p xmlns="http://www.w3.org/1999/xhtml">
     15392If x is a symbol or a setf function name, it attempts to
     15393edit the definition of the name.  In this last case, the
     15394function returns without waiting for the operation to complete
     15395(for example, it might put up a non-modal dialog asking the
     15396user to select one of multiple definitions) and hence the
     15397return value is always NIL.
     15398                    </p>
     15399                </div>
     15400              </div>
     15401            </p>
     15402          </div>
     15403          <div class="sect2" lang="en" xml:lang="en">
     15404            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15405              <div>
     15406                <div>
     15407                  <h3 class="title"><a id="KeyboardInput"></a>6.14.2. Keyboard Input</h3>
     15408                </div>
     15409              </div>
     15410            </div>
     15411            <p>
     15412              <div class="refentrytitle">
     15413                <a id="v_key-event-history"></a>
     15414                <strong>[Variable]</strong>
     15415                <br></br>
     15416                <code>
     15417                        *key-event-history*
     15418                    </code>
     15419              </div>
     15420              <div class="refentrytitle"></div>
     15421            </p>
     15422            <p>
     15423              <div>
     15424                <div class="refsect1" lang="en" xml:lang="en">
     15425                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699663"></a>
     15426                  <div class="header">Description:</div>
     15427                  <p xmlns="http://www.w3.org/1999/xhtml">
     15428This is a Hemlock ring buffer (see page 70) that holds the last 60
     15429key-events received.
     15430                    </p>
     15431                </div>
     15432              </div>
     15433            </p>
     15434            <p>
     15435              <div class="refentrytitle">
     15436                <a id="f_last-key-event-typed"></a>
     15437                <strong>[Function]</strong>
     15438                <br></br>
     15439                <code>
     15440                        last-key-event-typed
     15441                    </code>
     15442              </div>
     15443              <div class="refentrytitle"></div>
     15444            </p>
     15445            <p>
     15446              <div>
     15447                <div class="refsect1" lang="en" xml:lang="en">
     15448                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699718"></a>
     15449                  <div class="header">Description:</div>
     15450                  <p xmlns="http://www.w3.org/1999/xhtml">
     15451This function returns the last key-event the user typed to invoke the current command.
     15452                    </p>
     15453                </div>
     15454              </div>
     15455            </p>
     15456            <p>
     15457              <div class="refentrytitle">
     15458                <a id="f_last-char-typed"></a>
     15459                <strong>[Function]</strong>
     15460                <br></br>
     15461                <code>
     15462                        last-char-typed
     15463                    </code>
     15464              </div>
     15465              <div class="refentrytitle"></div>
     15466            </p>
     15467            <p>
     15468              <div>
     15469                <div class="refsect1" lang="en" xml:lang="en">
     15470                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699772"></a>
     15471                  <div class="header">Description:</div>
     15472                  <p xmlns="http://www.w3.org/1999/xhtml">
     15473This function returns the character corresponding to the last key event typed.
     15474                    </p>
     15475                </div>
     15476              </div>
     15477            </p>
     15478          </div>
     15479          <div class="sect2" lang="en" xml:lang="en">
     15480            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15481              <div>
     15482                <div>
     15483                  <h3 class="title"><a id="HemlockStreams"></a>6.14.3. Hemlock Streams</h3>
     15484                </div>
     15485              </div>
     15486            </div>
     15487            <p xmlns="http://www.w3.org/1999/xhtml">
     15488It is possible to create streams which output to or get input from a
     15489buffer. This mechanism is quite powerful and permits easy interfacing
     15490of Hemlock to Lisp.
     15491            </p>
     15492            <p xmlns="http://www.w3.org/1999/xhtml">
     15493Note that operations on these streams operate directly on buffers,
     15494therefore they have the same restrictions as described <a class="ulink" href="HemlockProgrammer/Buffers" target="_top">here</a>
     15495for interacting with buffers from outside of the GUI thread.
     15496            </p>
     15497            <p>
     15498              <div class="refentrytitle">
     15499                <a id="f_make-hemlock-output-stream"></a>
     15500                <strong>[Function]</strong>
     15501                <br></br>
     15502                <code>
     15503                        make-hemlock-output-stream mark <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> buffered
     15504                    </code>
     15505              </div>
     15506              <div class="refentrytitle"></div>
     15507            </p>
     15508            <p>
     15509              <div>
     15510                <div class="refsect1" lang="en" xml:lang="en">
     15511                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699859"></a>
     15512                  <div class="header">Description:</div>
     15513                  <p xmlns="http://www.w3.org/1999/xhtml">
     15514This function returns a stream that inserts at mark all
     15515output directed to it.  It works best if mark is a left-inserting mark.
     15516Buffered controls whether the stream is buffered or not, and its valid values
     15517are the following keywords:
     15518                    </p>
     15519                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:none</span></i>---
     15520No buffering is done.  This is the default.
     15521                                </p>
     15522                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:line</span></i>---
     15523The buffer is flushed whenever a newline is written or when it is
     15524explicitly done with force-output.
     15525                                </p>
     15526                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:full</span></i>---
     15527The stream is only brought up to date when it is explicitly
     15528done with force-output
     15529                                </p>
     15530                </div>
     15531              </div>
     15532            </p>
     15533            <p>
     15534              <div class="refentrytitle">
     15535                <a id="f_hemlock-output-stream-p"></a>
     15536                <strong>[Function]</strong>
     15537                <br></br>
     15538                <code>
     15539                        hemlock-output-stream-p object
     15540                    </code>
     15541              </div>
     15542              <div class="refentrytitle"></div>
     15543            </p>
     15544            <p>
     15545              <div>
     15546                <div class="refsect1" lang="en" xml:lang="en">
     15547                  <a xmlns="http://www.w3.org/1999/xhtml" id="id699969"></a>
     15548                  <div class="header">Description:</div>
     15549                  <p xmlns="http://www.w3.org/1999/xhtml">
     15550This function returns t if object is a hemlock-output-stream object.
     15551                    </p>
     15552                </div>
     15553              </div>
     15554            </p>
     15555            <p>
     15556              <div class="refentrytitle">
     15557                <a id="f_make-hemlock-region-stream"></a>
     15558                <strong>[Function]</strong>
     15559                <br></br>
     15560                <code>
     15561                        make-hemlock-region-stream region
     15562                    </code>
     15563              </div>
     15564              <div class="refentrytitle"></div>
     15565            </p>
     15566            <p>
     15567              <div>
     15568                <div class="refsect1" lang="en" xml:lang="en">
     15569                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700024"></a>
     15570                  <div class="header">Description:</div>
     15571                  <p xmlns="http://www.w3.org/1999/xhtml">
     15572This function returns a stream from which the text in
     15573region can be read.
     15574                    </p>
     15575                </div>
     15576              </div>
     15577            </p>
     15578            <p>
     15579              <div class="refentrytitle">
     15580                <a id="f_hemlock-region-stream-p"></a>
     15581                <strong>[Function]</strong>
     15582                <br></br>
     15583                <code>
     15584                        hemlock-region-stream-p object
     15585                    </code>
     15586              </div>
     15587              <div class="refentrytitle"></div>
     15588            </p>
     15589            <p>
     15590              <div>
     15591                <div class="refsect1" lang="en" xml:lang="en">
     15592                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700080"></a>
     15593                  <div class="header">Description:</div>
     15594                  <p xmlns="http://www.w3.org/1999/xhtml">
     15595This function returns t if object is a hemlock-region-stream object.
     15596                    </p>
     15597                </div>
     15598              </div>
     15599            </p>
     15600            <p>
     15601              <div class="refentrytitle">
     15602                <a id="m_with-input-from-region"></a>
     15603                <strong>[Macro]</strong>
     15604                <br></br>
     15605                <code>
     15606                        with-input-from-region (var region) {declaration}* {form}*
     15607                    </code>
     15608              </div>
     15609              <div class="refentrytitle"></div>
     15610            </p>
     15611            <p>
     15612              <div>
     15613                <div class="refsect1" lang="en" xml:lang="en">
     15614                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700136"></a>
     15615                  <div class="header">Description:</div>
     15616                  <p xmlns="http://www.w3.org/1999/xhtml">
     15617While evaluating forms, binds var to a stream which returns input from region.
     15618                    </p>
     15619                </div>
     15620              </div>
     15621            </p>
     15622            <p>
     15623              <div class="refentrytitle">
     15624                <a id="m_with-output-to-mark"></a>
     15625                <strong>[Macro]</strong>
     15626                <br></br>
     15627                <code>
     15628                        with-output-to-mark (var mark [buffered]) {declaration}* {form}*
     15629                    </code>
     15630              </div>
     15631              <div class="refentrytitle"></div>
     15632            </p>
     15633            <p>
     15634              <div>
     15635                <div class="refsect1" lang="en" xml:lang="en">
     15636                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700191"></a>
     15637                  <div class="header">Description:</div>
     15638                  <p xmlns="http://www.w3.org/1999/xhtml">
     15639During the evaluation of the forms, binds var to a stream which inserts
     15640output at the permanent mark.  Buffered has the same meaning as for
     15641make-hemlock-output-stream.
     15642                    </p>
     15643                </div>
     15644              </div>
     15645            </p>
     15646            <p>
     15647              <div class="refentrytitle">
     15648                <a id="m_with-pop-up-display"></a>
     15649                <strong>[Macro]</strong>
     15650                <br></br>
     15651                <code>
     15652                        with-pop-up-display (var <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;key</em> height name) {declaration}* {form}*
     15653                    </code>
     15654              </div>
     15655              <div class="refentrytitle"></div>
     15656            </p>
     15657            <p>
     15658              <div>
     15659                <div class="refsect1" lang="en" xml:lang="en">
     15660                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700250"></a>
     15661                  <div class="header">Description:</div>
     15662                  <p xmlns="http://www.w3.org/1999/xhtml">
     15663This macro executes forms in a context with var bound to a
     15664stream. Hemlock collects output to this stream and tries to pop up a
     15665display of the appropriate height containing all the output.  When
     15666height is supplied, Hemlock creates the pop-up display immediately,
     15667forcing output on line breaks.  This is useful for displaying information
     15668of temporary interest.
     15669                    </p>
     15670                </div>
     15671              </div>
     15672            </p>
     15673          </div>
     15674          <div class="sect2" lang="en" xml:lang="en">
     15675            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15676              <div>
     15677                <div>
     15678                  <h3 class="title"><a id="InterfaceToTheErrorSystem"></a>6.14.4. Interface to the Error System</h3>
     15679                </div>
     15680              </div>
     15681            </div>
     15682            <p xmlns="http://www.w3.org/1999/xhtml">
     15683Hemlock commands are executed from an event handler in the initial
     15684Cocoa thread.  They are executed within a
     15685ccl::with-standard-abort-handling form, which means cl:abort,
     15686ccl:abort-break, ccl:throw-cancel will abort the current command only
     15687and exit the event handler in an orderly fashion.
     15688            </p>
     15689            <p xmlns="http://www.w3.org/1999/xhtml">
     15690In addition, for now, lisp errors during command execution dump a
     15691backtrace in the system console and are otherwise handled as if by
     15692                <code class="code">handle-lisp-errors</code> below, which means it is not possible to debug
     15693errors at the point of the error.  Once Clozure CL has better support
     15694for debugging errors in the initial Cocoa thread, better Hemlock error
     15695handling will be provided that will allow for some way to debug.
     15696            </p>
     15697            <p>
     15698              <div class="refentrytitle">
     15699                <a id="f_editor-error"></a>
     15700                <strong>[Function]</strong>
     15701                <br></br>
     15702                <code>
     15703                        editor-error <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;rest</em> args
     15704                    </code>
     15705              </div>
     15706              <div class="refentrytitle"></div>
     15707            </p>
     15708            <p>
     15709              <div>
     15710                <div class="refsect1" lang="en" xml:lang="en">
     15711                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700339"></a>
     15712                  <div class="header">Description:</div>
     15713                  <p xmlns="http://www.w3.org/1999/xhtml">
     15714This function is called to report minor errors to the user.  These are
     15715errors that a normal user could encounter in the course of editing,
     15716such as a search failing or an attempt to delete past the end of the
     15717buffer. This function simply aborts the current command.  Any args
     15718specified are used to format an error message to be placed in the echo
     15719area.  This function never returns.
     15720                    </p>
     15721                </div>
     15722              </div>
     15723            </p>
     15724            <p>
     15725              <div class="refentrytitle">
     15726                <a id="m_handle-lisp-errors"></a>
     15727                <strong>[Macro]</strong>
     15728                <br></br>
     15729                <code>
     15730                        handle-lisp-errors {form}*
     15731                    </code>
     15732              </div>
     15733              <div class="refentrytitle"></div>
     15734            </p>
     15735            <p>
     15736              <div>
     15737                <div class="refsect1" lang="en" xml:lang="en">
     15738                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700397"></a>
     15739                  <div class="header">Description:</div>
     15740                  <p xmlns="http://www.w3.org/1999/xhtml">
     15741Within the body of this macro any Lisp errors that occur are handled
     15742by displaying an error message in a dialog and aborting the current
     15743command, leaving the error text in the echo area.  This macro should
     15744be wrapped around code which may get an error due to some action of
     15745the user --- for example, evaluating code fragments on the behalf of
     15746and supplied by the user.
     15747                    </p>
     15748                </div>
     15749              </div>
     15750            </p>
     15751          </div>
     15752          <div class="sect2" lang="en" xml:lang="en">
     15753            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15754              <div>
     15755                <div>
     15756                  <h3 class="title"><a id="DefinitionEditing"></a>6.14.5. Definition Editing</h3>
     15757                </div>
     15758              </div>
     15759            </div>
     15760            <p xmlns="http://www.w3.org/1999/xhtml">
     15761Hemlock provides commands for finding the definition of a function
     15762or variable and placing the user at the definition in a buffer. A
     15763function is provided to allow invoking this functionality outside
     15764of Hemlock.  Note that this function is unusual in that it is
     15765it is safe to call outside of the command interpreter, and in fact
     15766it can be called from any thread.
     15767            </p>
     15768            <p>
     15769              <div class="refentrytitle">
     15770                <a id="f_edit-definition"></a>
     15771                <strong>[Function]</strong>
     15772                <br></br>
     15773                <code>
     15774                        edit-definition name
     15775                    </code>
     15776              </div>
     15777              <div class="refentrytitle"></div>
     15778            </p>
     15779            <p>
     15780              <div>
     15781                <div class="refsect1" lang="en" xml:lang="en">
     15782                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700472"></a>
     15783                  <div class="header">Description:</div>
     15784                  <p xmlns="http://www.w3.org/1999/xhtml">
     15785This function tries to find the definition of <code class="code">name</code>, create
     15786or activate the window containing it, and scroll the view
     15787to show the definition.  If there are multiple definitions
     15788available, the user is given a choice of which one to
     15789use.  This function may return before the operation is complete.
     15790                    </p>
     15791                </div>
     15792              </div>
     15793            </p>
     15794          </div>
     15795          <div class="sect2" lang="en" xml:lang="en">
     15796            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15797              <div>
     15798                <div>
     15799                  <h3 class="title"><a id="EventScheduling"></a>6.14.6. Event Scheduling</h3>
     15800                </div>
     15801              </div>
     15802            </div>
     15803            <p xmlns="http://www.w3.org/1999/xhtml">
     15804No Event Scheduling functionality is provided at this time.
     15805            </p>
     15806          </div>
     15807          <div class="sect2" lang="en" xml:lang="en">
     15808            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15809              <div>
     15810                <div>
     15811                  <h3 class="title"><a id="Miscellaneous"></a>6.14.7. Miscellaneous</h3>
     15812                </div>
     15813              </div>
     15814            </div>
     15815            <p>
     15816              <div class="refentrytitle">
     15817                <a id="f_in-lisp"></a>
     15818                <strong>[Function]</strong>
     15819                <br></br>
     15820                <code>
     15821                        in-lisp {form}*
     15822                    </code>
     15823              </div>
     15824              <div class="refentrytitle"></div>
     15825            </p>
     15826            <p>
     15827              <div>
     15828                <div class="refsect1" lang="en" xml:lang="en">
     15829                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700559"></a>
     15830                  <div class="header">Description:</div>
     15831                  <p xmlns="http://www.w3.org/1999/xhtml">
     15832This evaluates forms inside handle-lisp-errors. It also binds
     15833*package* to the package named by Current Package if it is
     15834non-nil. Use this when evaluating Lisp code on behalf of the user.
     15835                    </p>
     15836                </div>
     15837              </div>
     15838            </p>
     15839            <p>
     15840              <div class="refentrytitle">
     15841                <a id="m_do-alpha-chars"></a>
     15842                <strong>[Macro]</strong>
     15843                <br></br>
     15844                <code>
     15845                        do-alpha-chars (var kind [result]) {form}*
     15846                    </code>
     15847              </div>
     15848              <div class="refentrytitle"></div>
     15849            </p>
     15850            <p>
     15851              <div>
     15852                <div class="refsect1" lang="en" xml:lang="en">
     15853                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700615"></a>
     15854                  <div class="header">Description:</div>
     15855                  <p xmlns="http://www.w3.org/1999/xhtml">
     15856This iterates over alphabetic characters in Common Lisp binding var to
     15857each character in order as specified under character relations in
     15858Common Lisp the Language. Kind is one of:lower, :upper, or :both. When
     15859the user supplies :both, lowercase characters are processed first.
     15860                    </p>
     15861                </div>
     15862              </div>
     15863            </p>
     15864          </div>
     15865        </div>
     15866        <div class="sect1" lang="en" xml:lang="en">
     15867          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15868            <div>
     15869              <div>
     15870                <h2 class="title" style="clear: both"><a id="HemlockProgrammingHighLevelTextPrimitives"></a>6.15. High-Level Text Primitives</h2>
     15871              </div>
     15872            </div>
     15873          </div>
     15874          <p xmlns="http://www.w3.org/1999/xhtml">
     15875This chapter discusses primitives that operate on higher level text
     15876forms than characters and words. For English text, there are functions
     15877that know about sentence and paragraph structures, and for Lisp
     15878sources, there are functions that understand this language. This
     15879chapter also describes mechanisms for organizing file sections into
     15880logical pages and for formatting text forms.
     15881        </p>
     15882          <div class="sect2" lang="en" xml:lang="en">
     15883            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     15884              <div>
     15885                <div>
     15886                  <h3 class="title"><a id="IndentingText"></a>6.15.1. Indenting Text</h3>
     15887                </div>
     15888              </div>
     15889            </div>
     15890            <p>
     15891              <div class="refentrytitle">
     15892                <a id="hv_indent_function"></a>
     15893                <strong>[Hemlock Variable]</strong>
     15894                <br></br>
     15895                <code>
     15896                        Indent Function       (initial value tab-to-tab-stop) 
     15897                    </code>
     15898              </div>
     15899              <div class="refentrytitle"></div>
     15900            </p>
     15901            <p>
     15902              <div>
     15903                <div class="refsect1" lang="en" xml:lang="en">
     15904                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700701"></a>
     15905                  <div class="header">Description:</div>
     15906                  <p xmlns="http://www.w3.org/1999/xhtml">
     15907The value of this variable determines how indentation is done, and it
     15908is a function which is passed a mark as its argument. The function
     15909should indent the line that the mark points to. The function may move
     15910the mark around on the line. The mark will be :left-inserting. The
     15911default simply inserts a tab character at the mark. A function for
     15912Lisp mode probably moves the mark to the beginning of the line,
     15913deletes horizontal whitespace, and computes some appropriate
     15914indentation for Lisp code.
     15915                    </p>
     15916                </div>
     15917              </div>
     15918            </p>
     15919            <p>
     15920              <div class="refentrytitle">
     15921                <a id="hv_indent_with_tabs"></a>
     15922                <strong>[Hemlock Variable]</strong>
     15923                <br></br>
     15924                <code>
     15925                        Indent with Tabs (initial value nil)     
     15926                    </code>
     15927              </div>
     15928              <div class="refentrytitle"></div>
     15929            </p>
     15930            <p>
     15931              <div>
     15932                <div class="refsect1" lang="en" xml:lang="en">
     15933                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700760"></a>
     15934                  <div class="header">Description:</div>
     15935                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     15936                </div>
     15937              </div>
     15938            </p>
     15939            <p>
     15940              <div class="refentrytitle">
     15941                <a id="hv_spaces_per_tab"></a>
     15942                <strong>[Hemlock Variable]</strong>
     15943                <br></br>
     15944                <code>
     15945                        Spaces per Tab        (initial value 8)       
     15946                    </code>
     15947              </div>
     15948              <div class="refentrytitle"></div>
     15949            </p>
     15950            <p>
     15951              <div>
     15952                <div class="refsect1" lang="en" xml:lang="en">
     15953                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700814"></a>
     15954                  <div class="header">Description:</div>
     15955                  <p xmlns="http://www.w3.org/1999/xhtml">
     15956Indent with Tabs should be true if indenting should use tabs
     15957whenever possible. If nil, the default, it only uses spaces.
     15958Spaces per Tab defines the size of a tab.
     15959                    </p>
     15960                </div>
     15961              </div>
     15962            </p>
     15963            <p>
     15964              <div class="refentrytitle">
     15965                <a id="f_indent-region"></a>
     15966                <strong>[Function]</strong>
     15967                <br></br>
     15968                <code>
     15969                        indent-region         region   
     15970                    </code>
     15971              </div>
     15972              <div class="refentrytitle"></div>
     15973            </p>
     15974            <p>
     15975              <div>
     15976                <div class="refsect1" lang="en" xml:lang="en">
     15977                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700870"></a>
     15978                  <div class="header">Description:</div>
     15979                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     15980                </div>
     15981              </div>
     15982            </p>
     15983            <p>
     15984              <div class="refentrytitle">
     15985                <a id="f_indent-region-for-commands"></a>
     15986                <strong>[Function]</strong>
     15987                <br></br>
     15988                <code>
     15989                        indent-region-for-commands    region   
     15990                    </code>
     15991              </div>
     15992              <div class="refentrytitle"></div>
     15993            </p>
     15994            <p>
     15995              <div>
     15996                <div class="refsect1" lang="en" xml:lang="en">
     15997                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700925"></a>
     15998                  <div class="header">Description:</div>
     15999                  <p xmlns="http://www.w3.org/1999/xhtml">
     16000indent-region invokes the value of Indent Function on every line of
     16001region. indent-region-for-commands uses indent-region but first saves
     16002the region for the Undo command.
     16003                    </p>
     16004                </div>
     16005              </div>
     16006            </p>
     16007            <p>
     16008              <div class="refentrytitle">
     16009                <a id="f_delete-horizontal-space"></a>
     16010                <strong>[Function]</strong>
     16011                <br></br>
     16012                <code>
     16013                        delete-horizontal-space       mark     
     16014                    </code>
     16015              </div>
     16016              <div class="refentrytitle"></div>
     16017            </p>
     16018            <p>
     16019              <div>
     16020                <div class="refsect1" lang="en" xml:lang="en">
     16021                  <a xmlns="http://www.w3.org/1999/xhtml" id="id700982"></a>
     16022                  <div class="header">Description:</div>
     16023                  <p xmlns="http://www.w3.org/1999/xhtml">
     16024This deletes all characters on either side of mark with a Space attribute (see section 9.5)
     16025of 1.
     16026                    </p>
     16027                </div>
     16028              </div>
     16029            </p>
     16030          </div>
     16031          <div class="sect2" lang="en" xml:lang="en">
     16032            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     16033              <div>
     16034                <div>
     16035                  <h3 class="title"><a id="LispTextBuffers"></a>6.15.2. Lisp Text Buffers</h3>
     16036                </div>
     16037              </div>
     16038            </div>
     16039            <p xmlns="http://www.w3.org/1999/xhtml">
     16040Hemlock bases its Lisp primitives on parsing a block of the buffer and
     16041annotating lines as to what kind of Lisp syntax occurs on the line or
     16042what kind of form a mark might be in (for example, string, comment,
     16043list, etc.). These do not work well if the block of parsed forms is
     16044exceeded when moving marks around these forms, but the block that gets
     16045parsed is somewhat programmable.
     16046            </p>
     16047            <p xmlns="http://www.w3.org/1999/xhtml">
     16048There is also a notion of a top level form which this documentation
     16049often uses synonymously with defun, meaning a Lisp form occurring in a
     16050source file delimited by parentheses with the opening parenthesis at
     16051the beginning of some line. The names of the functions include this
     16052inconsistency.
     16053            </p>
     16054            <p>
     16055              <div class="refentrytitle">
     16056                <a id="f_pre-command-parse-check"></a>
     16057                <strong>[Function]</strong>
     16058                <br></br>
     16059                <code>
     16060                        pre-command-parse-check       mark for-sure   
     16061                    </code>
     16062              </div>
     16063              <div class="refentrytitle"></div>
     16064            </p>
     16065            <p>
     16066              <div>
     16067                <div class="refsect1" lang="en" xml:lang="en">
     16068                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701062"></a>
     16069                  <div class="header">Description:</div>
     16070                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     16071                </div>
     16072              </div>
     16073            </p>
     16074            <p>
     16075              <div class="refentrytitle">
     16076                <a id="hv_parse_start_function"></a>
     16077                <strong>[Hemlock Variable]</strong>
     16078                <br></br>
     16079                <code>
     16080                        Parse Start Function  (initial value start-of-parse-block)     
     16081                    </code>
     16082              </div>
     16083              <div class="refentrytitle"></div>
     16084            </p>
     16085            <p>
     16086              <div>
     16087                <div class="refsect1" lang="en" xml:lang="en">
     16088                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701116"></a>
     16089                  <div class="header">Description:</div>
     16090                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     16091                </div>
     16092              </div>
     16093            </p>
     16094            <p>
     16095              <div class="refentrytitle">
     16096                <a id="hv_parse_end_function"></a>
     16097                <strong>[Hemlock Variable]</strong>
     16098                <br></br>
     16099                <code>
     16100                        Parse End Function    (initial value end-of-parse-block)       
     16101                    </code>
     16102              </div>
     16103              <div class="refentrytitle"></div>
     16104            </p>
     16105            <p>
     16106              <div>
     16107                <div class="refsect1" lang="en" xml:lang="en">
     16108                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701170"></a>
     16109                  <div class="header">Description:</div>
     16110                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     16111                </div>
     16112              </div>
     16113            </p>
     16114            <p>
     16115              <div class="refentrytitle">
     16116                <a id="hv_minimum_lines_parsed"></a>
     16117                <strong>[Hemlock Variable]</strong>
     16118                <br></br>
     16119                <code>
     16120                        Minimum Lines Parsed          (initial value 50)       
     16121                    </code>
     16122              </div>
     16123              <div class="refentrytitle"></div>
     16124            </p>
     16125            <p>
     16126              <div>
     16127                <div class="refsect1" lang="en" xml:lang="en">
     16128                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701225"></a>
     16129                  <div class="header">Description:</div>
     16130                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     16131                </div>
     16132              </div>
     16133            </p>
     16134            <p>
     16135              <div class="refentrytitle">
     16136                <a id="hv_maximum_lines_parsed"></a>
     16137                <strong>[Hemlock Variable]</strong>
     16138                <br></br>
     16139                <code>
     16140                        Maximum Lines Parsed          (initial value 500)     
     16141                    </code>
     16142              </div>
     16143              <div class="refentrytitle"></div>
     16144            </p>
     16145            <p>
     16146              <div>
     16147                <div class="refsect1" lang="en" xml:lang="en">
     16148                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701279"></a>
     16149                  <div class="header">Description:</div>
     16150                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     16151                </div>
     16152              </div>
     16153            </p>
     16154            <p>
     16155              <div class="refentrytitle">
     16156                <a id="hv_defun_parse_goal"></a>
     16157                <strong>[Hemlock Variable]</strong>
     16158                <br></br>
     16159                <code>
     16160                        Defun Parse Goal      (initial value 2)       
     16161                    </code>
     16162              </div>
     16163              <div class="refentrytitle"></div>
     16164            </p>
     16165            <p>
     16166              <div>
     16167                <div class="refsect1" lang="en" xml:lang="en">
     16168                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701334"></a>
     16169                  <div class="header">Description:</div>
     16170                  <p xmlns="http://www.w3.org/1999/xhtml">
     16171pre-command-parse-check calls Parse Start Function and Parse End
     16172Function on mark to get two marks. It then parses all the lines
     16173between the marks including the complete lines they point into. When
     16174for-sure is non-nil, this parses the area regardless of any cached
     16175information about the lines. Every command that uses the following
     16176routines calls this before doing so.
     16177                    </p>
     16178                  <p xmlns="http://www.w3.org/1999/xhtml">
     16179The default values of the start and end variables use Minimum Lines
     16180Parsed, Maximum Lines Parsed, and Defun Parse Goal to determine how
     16181big a region to parse. These two functions always include at least the
     16182minimum number of lines before and after the mark passed to them. They
     16183try to include Defun Parse Goal number of top level forms before and
     16184after the mark passed them, but these functions never return marks
     16185that include more than the maximum number of lines before or after the
     16186mark passed to them.
     16187                    </p>
     16188                </div>
     16189              </div>
     16190            </p>
     16191            <p>
     16192              <div class="refentrytitle">
     16193                <a id="f_form-offset"></a>
     16194                <strong>[Function]</strong>
     16195                <br></br>
     16196                <code>
     16197                        form-offset   mark count       
     16198                    </code>
     16199              </div>
     16200              <div class="refentrytitle"></div>
     16201            </p>
     16202            <p>
     16203              <div>
     16204                <div class="refsect1" lang="en" xml:lang="en">
     16205                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701399"></a>
     16206                  <div class="header">Description:</div>
     16207                  <p xmlns="http://www.w3.org/1999/xhtml">
     16208This tries to move mark count forms forward if positive or -count
     16209forms backwards if negative. Mark is always moved. If there were
     16210enough forms in the appropriate direction, this returns mark,
     16211otherwise nil.
     16212                    </p>
     16213                </div>
     16214              </div>
     16215            </p>
     16216            <p>
     16217              <div class="refentrytitle">
     16218                <a id="f_top-level-offset"></a>
     16219                <strong>[Function]</strong>
     16220                <br></br>
     16221                <code>
     16222                        top-level-offset      mark count       
     16223                    </code>
     16224              </div>
     16225              <div class="refentrytitle"></div>
     16226            </p>
     16227            <p>
     16228              <div>
     16229                <div class="refsect1" lang="en" xml:lang="en">
     16230                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701456"></a>
     16231                  <div class="header">Description:</div>
     16232                  <p xmlns="http://www.w3.org/1999/xhtml">
     16233This tries to move mark count top level forms forward if positive or
     16234-count top level forms backwards if negative. If there were enough top
     16235level forms in the appropriate direction, this returns mark, otherwise
     16236nil. Mark is moved only if this is successful.
     16237                    </p>
     16238                </div>
     16239              </div>
     16240            </p>
     16241            <p>
     16242              <div class="refentrytitle">
     16243                <a id="f_mark-top-level-form"></a>
     16244                <strong>[Function]</strong>
     16245                <br></br>
     16246                <code>
     16247                        mark-top-level-form   mark1 mark2     
     16248                    </code>
     16249              </div>
     16250              <div class="refentrytitle"></div>
     16251            </p>
     16252            <p>
     16253              <div>
     16254                <div class="refsect1" lang="en" xml:lang="en">
     16255                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701512"></a>
     16256                  <div class="header">Description:</div>
     16257                  <p xmlns="http://www.w3.org/1999/xhtml">
     16258This moves mark1 and mark2 to the beginning and end, respectively, of
     16259the current or next top level form. Mark1 is used as a reference to
     16260start looking. The marks may be altered even if unsuccessful. If
     16261successful, return mark2, else nil. Mark2 is left at the beginning of
     16262the line following the top level form if possible, but if the last
     16263line has text after the closing parenthesis, this leaves the mark
     16264immediately after the form.
     16265                    </p>
     16266                </div>
     16267              </div>
     16268            </p>
     16269            <p>
     16270              <div class="refentrytitle">
     16271                <a id="f_defun-region"></a>
     16272                <strong>[Function]</strong>
     16273                <br></br>
     16274                <code>
     16275                        defun-region          mark     
     16276                    </code>
     16277              </div>
     16278              <div class="refentrytitle"></div>
     16279            </p>
     16280            <p>
     16281              <div>
     16282                <div class="refsect1" lang="en" xml:lang="en">
     16283                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701570"></a>
     16284                  <div class="header">Description:</div>
     16285                  <p xmlns="http://www.w3.org/1999/xhtml">
     16286This returns a region around the current or next defun with respect to
     16287mark. Mark is not used to form the region. If there is no appropriate
     16288top level form, this signals an editor-error. This calls
     16289pre-command-parse-check first.
     16290                    </p>
     16291                </div>
     16292              </div>
     16293            </p>
     16294            <p>
     16295              <div class="refentrytitle">
     16296                <a id="f_inside-defun-p"></a>
     16297                <strong>[Function]</strong>
     16298                <br></br>
     16299                <code>
     16300                        inside-defun-p        mark     
     16301                    </code>
     16302              </div>
     16303              <div class="refentrytitle"></div>
     16304            </p>
     16305            <p>
     16306              <div>
     16307                <div class="refsect1" lang="en" xml:lang="en">
     16308                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701626"></a>
     16309                  <div class="header">Description:</div>
     16310                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     16311                </div>
     16312              </div>
     16313            </p>
     16314            <p>
     16315              <div class="refentrytitle">
     16316                <a id="f_start-defun-p"></a>
     16317                <strong>[Function]</strong>
     16318                <br></br>
     16319                <code>
     16320                        start-defun-p         mark     
     16321                    </code>
     16322              </div>
     16323              <div class="refentrytitle"></div>
     16324            </p>
     16325            <p>
     16326              <div>
     16327                <div class="refsect1" lang="en" xml:lang="en">
     16328                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701680"></a>
     16329                  <div class="header">Description:</div>
     16330                  <p xmlns="http://www.w3.org/1999/xhtml">
     16331These return, respectively, whether mark is inside a top level form or
     16332at the beginning of a line immediately before a character whose Lisp
     16333Syntax (see section 9.5) value is :opening-paren.
     16334                    </p>
     16335                </div>
     16336              </div>
     16337            </p>
     16338            <p>
     16339              <div class="refentrytitle">
     16340                <a id="f_forward-up-list"></a>
     16341                <strong>[Function]</strong>
     16342                <br></br>
     16343                <code>
     16344                        forward-up-list       mark     
     16345                    </code>
     16346              </div>
     16347              <div class="refentrytitle"></div>
     16348            </p>
     16349            <p>
     16350              <div>
     16351                <div class="refsect1" lang="en" xml:lang="en">
     16352                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701736"></a>
     16353                  <div class="header">Description:</div>
     16354                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     16355                </div>
     16356              </div>
     16357            </p>
     16358            <p>
     16359              <div class="refentrytitle">
     16360                <a id="f_backward-up-list"></a>
     16361                <strong>[Function]</strong>
     16362                <br></br>
     16363                <code>
     16364                        backward-up-list      mark     
     16365                    </code>
     16366              </div>
     16367              <div class="refentrytitle"></div>
     16368            </p>
     16369            <p>
     16370              <div>
     16371                <div class="refsect1" lang="en" xml:lang="en">
     16372                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701791"></a>
     16373                  <div class="header">Description:</div>
     16374                  <p xmlns="http://www.w3.org/1999/xhtml">
     16375Respectively, these move mark immediately past a character whose Lisp
     16376Syntax (see section 9.5) value is :closing-paren or immediately before
     16377a character whose Lisp Syntax value is :opening-paren.
     16378                    </p>
     16379                </div>
     16380              </div>
     16381            </p>
     16382            <p>
     16383              <div class="refentrytitle">
     16384                <a id="f_valid-spot"></a>
     16385                <strong>[Function]</strong>
     16386                <br></br>
     16387                <code>
     16388                        valid-spot    mark forwardp   
     16389                    </code>
     16390              </div>
     16391              <div class="refentrytitle"></div>
     16392            </p>
     16393            <p>
     16394              <div>
     16395                <div class="refsect1" lang="en" xml:lang="en">
     16396                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701846"></a>
     16397                  <div class="header">Description:</div>
     16398                  <p xmlns="http://www.w3.org/1999/xhtml">
     16399This returns t or nil depending on whether the character indicated by
     16400mark is a valid spot. When forwardp is set, use the character after
     16401mark and vice versa. Valid spots exclude commented text, inside
     16402strings, and character quoting.
     16403                    </p>
     16404                </div>
     16405              </div>
     16406            </p>
     16407            <p>
     16408              <div class="refentrytitle">
     16409                <a id="f_defindent"></a>
     16410                <strong>[Function]</strong>
     16411                <br></br>
     16412                <code>
     16413                        defindent     name count       
     16414                    </code>
     16415              </div>
     16416              <div class="refentrytitle"></div>
     16417            </p>
     16418            <p>
     16419              <div>
     16420                <div class="refsect1" lang="en" xml:lang="en">
     16421                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701902"></a>
     16422                  <div class="header">Description:</div>
     16423                  <p xmlns="http://www.w3.org/1999/xhtml">
     16424This defines the function with name to have count special
     16425arguments. indent-for-lisp, the value of Indent Function (see section
     1642615.1) in Lisp mode, uses this to specially indent these arguments. For
     16427example, do has two, with-open-file has one, etc. There are many of
     16428these defined by the system including definitions for special Hemlock
     16429forms. Name is a simple-string, case insensitive and purely textual
     16430(that is, not read by the Lisp reader); therefore, "with-a-mumble" is
     16431distinct from "mumble:with-a-mumble".
     16432                    </p>
     16433                </div>
     16434              </div>
     16435            </p>
     16436          </div>
     16437          <div class="sect2" lang="en" xml:lang="en">
     16438            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     16439              <div>
     16440                <div>
     16441                  <h3 class="title"><a id="EnglishTextBuffers"></a>6.15.3. English Text Buffers</h3>
     16442                </div>
     16443              </div>
     16444            </div>
     16445            <p xmlns="http://www.w3.org/1999/xhtml">
     16446This section describes some routines that understand basic English
     16447language forms.
     16448            </p>
     16449            <p>
     16450              <div class="refentrytitle">
     16451                <a id="f_word-offset"></a>
     16452                <strong>[Function]</strong>
     16453                <br></br>
     16454                <code>
     16455                        word-offset   mark count       
     16456                    </code>
     16457              </div>
     16458              <div class="refentrytitle"></div>
     16459            </p>
     16460            <p>
     16461              <div>
     16462                <div class="refsect1" lang="en" xml:lang="en">
     16463                  <a xmlns="http://www.w3.org/1999/xhtml" id="id701976"></a>
     16464                  <div class="header">Description:</div>
     16465                  <p xmlns="http://www.w3.org/1999/xhtml">
     16466This moves mark count words forward (if positive) or backwards (if
     16467negative). If mark is in the middle of a word, that counts as one. If
     16468there were count (-count if negative) words in the appropriate
     16469direction, this returns mark, otherwise nil. This always moves mark. A
     16470word lies between two characters whose Word Delimiter attribute value
     16471is 1 (see section 9.5).
     16472                    </p>
     16473                </div>
     16474              </div>
     16475            </p>
     16476            <p>
     16477              <div class="refentrytitle">
     16478                <a id="f_sentence-offset"></a>
     16479                <strong>[Function]</strong>
     16480                <br></br>
     16481                <code>
     16482                        sentence-offset       mark count       
     16483                    </code>
     16484              </div>
     16485              <div class="refentrytitle"></div>
     16486            </p>
     16487            <p>
     16488              <div>
     16489                <div class="refsect1" lang="en" xml:lang="en">
     16490                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702034"></a>
     16491                  <div class="header">Description:</div>
     16492                  <p xmlns="http://www.w3.org/1999/xhtml">
     16493This moves mark count sentences forward (if positive) or backwards (if negative). If mark is in the middle of a sentence, that counts as one. If there were count (-count if negative) sentences in the appropriate direction, this returns mark, otherwise nil. This always moves mark.
     16494                    </p>
     16495                  <p xmlns="http://www.w3.org/1999/xhtml">
     16496A sentence ends with a character whose Sentence Terminator attribute
     16497is 1 followed by two spaces, a newline, or the end of the buffer. The
     16498terminating character is optionally followed by any number of
     16499characters whose Sentence Closing Char attribute is 1. A sentence
     16500begins after a previous sentence ends, at the beginning of a
     16501paragraph, or at the beginning of the buffer.
     16502                    </p>
     16503                </div>
     16504              </div>
     16505            </p>
     16506            <p>
     16507              <div class="refentrytitle">
     16508                <a id="f_paragraph-offset"></a>
     16509                <strong>[Function]</strong>
     16510                <br></br>
     16511                <code>
     16512                        paragraph-offset      mark count <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> prefix     
     16513                    </code>
     16514              </div>
     16515              <div class="refentrytitle"></div>
     16516            </p>
     16517            <p>
     16518              <div>
     16519                <div class="refsect1" lang="en" xml:lang="en">
     16520                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702101"></a>
     16521                  <div class="header">Description:</div>
     16522                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     16523                </div>
     16524              </div>
     16525            </p>
     16526            <p>
     16527              <div class="refentrytitle">
     16528                <a id="hv_paragraph_delimiter_function"></a>
     16529                <strong>[Hemlock Variable]</strong>
     16530                <br></br>
     16531                <code>
     16532                        Paragraph Delimiter Function          (initial value )         
     16533                    </code>
     16534              </div>
     16535              <div class="refentrytitle"></div>
     16536            </p>
     16537            <p>
     16538              <div>
     16539                <div class="refsect1" lang="en" xml:lang="en">
     16540                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702157"></a>
     16541                  <div class="header">Description:</div>
     16542                  <p xmlns="http://www.w3.org/1999/xhtml">
     16543This moves mark count paragraphs forward (if positive) or backwards
     16544(if negative). If mark is in the middle of a paragraph, that counts as
     16545one. If there were count (-count if negative) paragraphs in the
     16546appropriate direction, this returns mark, otherwise nil. This only
     16547moves mark if there were enough paragraphs.
     16548                    </p>
     16549                  <p xmlns="http://www.w3.org/1999/xhtml">
     16550Paragraph Delimiter Function holds a function that takes a mark,
     16551typically at the beginning of a line, and returns whether or not the
     16552current line should break the paragraph. default-para-delim-function
     16553returns t if the next character, the first on the line, has a
     16554Paragraph Delimiter attribute value of 1. This is typically a space,
     16555for an indented paragraph, or a newline, for a block style. Some modes
     16556require a more complicated determinant; for example, Scribe modes adds
     16557some characters to the set and special cases certain formatting
     16558commands.
     16559                    </p>
     16560                  <p xmlns="http://www.w3.org/1999/xhtml">
     16561Prefix defaults to Fill Prefix (see section 15.5), and the right
     16562prefix is necessary to correctly skip paragraphs. If prefix is
     16563non-nil, and a line begins with prefix, then the scanning process
     16564skips the prefix before invoking the Paragraph Delimiter
     16565Function. Note, when scanning for paragraph bounds, and prefix is
     16566non-nil, lines are potentially part of the paragraph regardless of
     16567whether they contain the prefix; only the result of invoking the
     16568delimiter function matters.
     16569                    </p>
     16570                  <p xmlns="http://www.w3.org/1999/xhtml">
     16571The programmer should be aware of an idiom for finding the end of the
     16572current paragraph. Assume paragraphp is the result of moving mark one
     16573paragraph, then the following correctly determines whether there
     16574actually is a current paragraph:
     16575</p>
     16576                  <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     16577
     16578(or paragraphp
     16579  (and (last-line-p mark)
     16580       (end-line-p mark)
     16581       (not (blank-line-p (mark-line mark)))))
     16582
     16583</pre>
     16584                  <p xmlns="http://www.w3.org/1999/xhtml">
     16585                    </p>
     16586                  <p xmlns="http://www.w3.org/1999/xhtml">
     16587In this example mark is at the end of the last paragraph in the
     16588buffer, and there is no last newline character in the
     16589buffer. paragraph-offset would have returned nil since it could not
     16590skip any paragraphs since mark was at the end of the current and last
     16591paragraph. However, you still have found a current paragraph on which
     16592to operate. mark-paragraph understands this problem.
     16593                    </p>
     16594                </div>
     16595              </div>
     16596            </p>
     16597            <p>
     16598              <div class="refentrytitle">
     16599                <a id="f_mark-paragraph"></a>
     16600                <strong>[Function]</strong>
     16601                <br></br>
     16602                <code>
     16603                        mark-paragraph        mark1 mark2     
     16604                    </code>
     16605              </div>
     16606              <div class="refentrytitle"></div>
     16607            </p>
     16608            <p>
     16609              <div>
     16610                <div class="refsect1" lang="en" xml:lang="en">
     16611                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702249"></a>
     16612                  <div class="header">Description:</div>
     16613                  <p xmlns="http://www.w3.org/1999/xhtml">
     16614This marks the next or current paragraph, setting mark1 to the
     16615beginning and mark2 to the end. This uses Fill Prefix (see section
     1661615.5). Mark1 is always on the first line of the paragraph, regardless
     16617of whether the previous line is blank. Mark2 is typically at the
     16618beginning of the line after the line the paragraph ends on, this
     16619returns mark2 on success. If this cannot find a paragraph, then the
     16620marks are left unmoved, and nil is returned.
     16621                    </p>
     16622                </div>
     16623              </div>
     16624            </p>
     16625          </div>
     16626          <div class="sect2" lang="en" xml:lang="en">
     16627            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     16628              <div>
     16629                <div>
     16630                  <h3 class="title"><a id="LogicalPages"></a>6.15.4. Logical Pages</h3>
     16631                </div>
     16632              </div>
     16633            </div>
     16634            <p xmlns="http://www.w3.org/1999/xhtml">
     16635Logical pages are not supported at this time.
     16636            </p>
     16637          </div>
     16638          <div class="sect2" lang="en" xml:lang="en">
     16639            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     16640              <div>
     16641                <div>
     16642                  <h3 class="title"><a id="Filling"></a>6.15.5. Filling</h3>
     16643                </div>
     16644              </div>
     16645            </div>
     16646            <p xmlns="http://www.w3.org/1999/xhtml">
     16647Filling is an operation on text that breaks long lines at word
     16648boundaries before a given column and merges shorter lines together in
     16649an attempt to make each line roughly the specified length. This is
     16650different from justification which tries to add whitespace in awkward
     16651places to make each line exactly the same length. Hemlock's filling
     16652optionally inserts a specified string at the beginning of each
     16653line. Also, it eliminates extra whitespace between lines and words,
     16654but it knows two spaces follow sentences (see section 15.3).
     16655            </p>
     16656            <p>
     16657              <div class="refentrytitle">
     16658                <a id="hv_fill_column"></a>
     16659                <strong>[Hemlock Variable]</strong>
     16660                <br></br>
     16661                <code>
     16662                        Fill Column   (initial value 75)       
     16663                    </code>
     16664              </div>
     16665              <div class="refentrytitle"></div>
     16666            </p>
     16667            <p>
     16668              <div>
     16669                <div class="refsect1" lang="en" xml:lang="en">
     16670                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702342"></a>
     16671                  <div class="header">Description:</div>
     16672                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     16673                </div>
     16674              </div>
     16675            </p>
     16676            <p>
     16677              <div class="refentrytitle">
     16678                <a id="hv_fill_prefix"></a>
     16679                <strong>[Hemlock Variable]</strong>
     16680                <br></br>
     16681                <code>
     16682                        Fill Prefix   (initial value nil)     
     16683                    </code>
     16684              </div>
     16685              <div class="refentrytitle"></div>
     16686            </p>
     16687            <p>
     16688              <div>
     16689                <div class="refsect1" lang="en" xml:lang="en">
     16690                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702396"></a>
     16691                  <div class="header">Description:</div>
     16692                  <p xmlns="http://www.w3.org/1999/xhtml">
     16693These variables hold the default values of the prefix and column
     16694arguments to Hemlock's filling primitives. If Fill Prefix is nil, then
     16695there is no fill prefix.
     16696                    </p>
     16697                </div>
     16698              </div>
     16699            </p>
     16700            <p>
     16701              <div class="refentrytitle">
     16702                <a id="f_fill-region"></a>
     16703                <strong>[Function]</strong>
     16704                <br></br>
     16705                <code>
     16706                        fill-region   region <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> prefix column   
     16707                    </code>
     16708              </div>
     16709              <div class="refentrytitle"></div>
     16710            </p>
     16711            <p>
     16712              <div>
     16713                <div class="refsect1" lang="en" xml:lang="en">
     16714                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702455"></a>
     16715                  <div class="header">Description:</div>
     16716                  <p xmlns="http://www.w3.org/1999/xhtml">
     16717This deletes any blank lines in region and fills it according to
     16718prefix and column. Prefix and column default to Fill Prefix and Fill
     16719Column.
     16720                    </p>
     16721                </div>
     16722              </div>
     16723            </p>
     16724            <p>
     16725              <div class="refentrytitle">
     16726                <a id="f_fill-region-by-paragraphs"></a>
     16727                <strong>[Function]</strong>
     16728                <br></br>
     16729                <code>
     16730                        fill-region-by-paragraphs     region <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> prefix column   
     16731                    </code>
     16732              </div>
     16733              <div class="refentrytitle"></div>
     16734            </p>
     16735            <p>
     16736              <div>
     16737                <div class="refsect1" lang="en" xml:lang="en">
     16738                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702515"></a>
     16739                  <div class="header">Description:</div>
     16740                  <p xmlns="http://www.w3.org/1999/xhtml">
     16741This finds paragraphs (see section 15.3) within region and fills them
     16742with fill-region. This ignores blank lines between paragraphs. Prefix
     16743and column default to Fill Prefix and Fill Column.
     16744                    </p>
     16745                </div>
     16746              </div>
     16747            </p>
     16748          </div>
     16749        </div>
     16750        <div class="sect1" lang="en" xml:lang="en">
     16751          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     16752            <div>
     16753              <div>
     16754                <h2 class="title" style="clear: both"><a id="HemlockProgrammingUtilities"></a>6.16. Utilities</h2>
     16755              </div>
     16756            </div>
     16757          </div>
     16758          <p xmlns="http://www.w3.org/1999/xhtml">
     16759This chapter describes a number of utilities for manipulating some
     16760types of objects Hemlock uses to record information. String-tables are
     16761used to store names of variables, commands, modes, and buffers. Ring
     16762lists can be used to provide a kill ring, recent command history, or
     16763other user-visible features.
     16764        </p>
     16765          <div class="sect2" lang="en" xml:lang="en">
     16766            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     16767              <div>
     16768                <div>
     16769                  <h3 class="title"><a id="StringTableFunctions"></a>6.16.1. String-table Functions</h3>
     16770                </div>
     16771              </div>
     16772            </div>
     16773            <p xmlns="http://www.w3.org/1999/xhtml">
     16774String tables are similar to Common Lisp hash tables in that they
     16775associate a value with an object. There are a few useful differences:
     16776in a string table the key is always a case insensitive string, and
     16777primitives are provided to facilitate keyword completion and
     16778recognition. Any type of string may be added to a string table, but
     16779the string table functions always return simple-string's.
     16780            </p>
     16781            <p xmlns="http://www.w3.org/1999/xhtml">
     16782A string entry in one of these tables may be thought of as being
     16783separated into fields or keywords. The interface provides keyword
     16784completion and recognition which is primarily used to implement some
     16785Echo Area commands. These routines perform a prefix match on a
     16786field-by-field basis allowing the ambiguous specification of earlier
     16787fields while going on to enter later fields. While string tables may
     16788use any string-char as a separator, the use of characters other than
     16789space may make the Echo Area commands fail or work unexpectedly.
     16790            </p>
     16791            <p>
     16792              <div class="refentrytitle">
     16793                <a id="f_make-string-table"></a>
     16794                <strong>[Function]</strong>
     16795                <br></br>
     16796                <code>
     16797                        make-string-table               
     16798                    </code>
     16799              </div>
     16800              <div class="refentrytitle"></div>
     16801            </p>
     16802            <p>
     16803              <div>
     16804                <div class="refsect1" lang="en" xml:lang="en">
     16805                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702614"></a>
     16806                  <div class="header">Description:</div>
     16807                  <p xmlns="http://www.w3.org/1999/xhtml">
     16808This function creates an empty string table that uses separator as the
     16809character, which must be a string-char, that distinguishes
     16810fields. Initial-contents specifies an initial set of strings and their
     16811values in the form of a dotted a-list, for example:
     16812</p>
     16813                  <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     16814
     16815'(("Global" . t) ("Mode" . t) ("Buffer" . t))
     16816
     16817</pre>
     16818                  <p xmlns="http://www.w3.org/1999/xhtml">
     16819                    </p>
     16820                </div>
     16821              </div>
     16822            </p>
     16823            <p>
     16824              <div class="refentrytitle">
     16825                <a id="f_string-table-p"></a>
     16826                <strong>[Function]</strong>
     16827                <br></br>
     16828                <code>
     16829                        string-table-p          string-table     
     16830                    </code>
     16831              </div>
     16832              <div class="refentrytitle"></div>
     16833            </p>
     16834            <p>
     16835              <div>
     16836                <div class="refsect1" lang="en" xml:lang="en">
     16837                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702677"></a>
     16838                  <div class="header">Description:</div>
     16839                  <p xmlns="http://www.w3.org/1999/xhtml">
     16840This function returns t if string-table is a string-table object,
     16841otherwise nil.
     16842                    </p>
     16843                </div>
     16844              </div>
     16845            </p>
     16846            <p>
     16847              <div class="refentrytitle">
     16848                <a id="f_string-table-separator"></a>
     16849                <strong>[Function]</strong>
     16850                <br></br>
     16851                <code>
     16852                        string-table-separator          string-table     
     16853                    </code>
     16854              </div>
     16855              <div class="refentrytitle"></div>
     16856            </p>
     16857            <p>
     16858              <div>
     16859                <div class="refsect1" lang="en" xml:lang="en">
     16860                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702732"></a>
     16861                  <div class="header">Description:</div>
     16862                  <p xmlns="http://www.w3.org/1999/xhtml">
     16863This function returns the separator character given to
     16864make-string-table.
     16865                    </p>
     16866                </div>
     16867              </div>
     16868            </p>
     16869            <p>
     16870              <div class="refentrytitle">
     16871                <a id="f_delete-string"></a>
     16872                <strong>[Function]</strong>
     16873                <br></br>
     16874                <code>
     16875                        delete-string   string table     
     16876                    </code>
     16877              </div>
     16878              <div class="refentrytitle"></div>
     16879            </p>
     16880            <p>
     16881              <div>
     16882                <div class="refsect1" lang="en" xml:lang="en">
     16883                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702787"></a>
     16884                  <div class="header">Description:</div>
     16885                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     16886                </div>
     16887              </div>
     16888            </p>
     16889            <p>
     16890              <div class="refentrytitle">
     16891                <a id="f_clrstring"></a>
     16892                <strong>[Function]</strong>
     16893                <br></br>
     16894                <code>
     16895                        clrstring       table   
     16896                    </code>
     16897              </div>
     16898              <div class="refentrytitle"></div>
     16899            </p>
     16900            <p>
     16901              <div>
     16902                <div class="refsect1" lang="en" xml:lang="en">
     16903                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702841"></a>
     16904                  <div class="header">Description:</div>
     16905                  <p xmlns="http://www.w3.org/1999/xhtml">
     16906delete-string removes any entry for string from the string-table
     16907table, returning t if there was an entry. clrstring removes all
     16908entries from table.
     16909                    </p>
     16910                </div>
     16911              </div>
     16912            </p>
     16913            <p>
     16914              <div class="refentrytitle">
     16915                <a id="f_getstring"></a>
     16916                <strong>[Function]</strong>
     16917                <br></br>
     16918                <code>
     16919                        getstring       string table     
     16920                    </code>
     16921              </div>
     16922              <div class="refentrytitle"></div>
     16923            </p>
     16924            <p>
     16925              <div>
     16926                <div class="refsect1" lang="en" xml:lang="en">
     16927                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702897"></a>
     16928                  <div class="header">Description:</div>
     16929                  <p xmlns="http://www.w3.org/1999/xhtml">
     16930This function returns as multiple values, first the value
     16931corresponding to the string if it is found and nil if it isn't, and
     16932second t if it is found and nil if it isn't.
     16933                    </p>
     16934                  <p xmlns="http://www.w3.org/1999/xhtml">
     16935This may be set with setf to add a new entry or to store a new value
     16936for a string. It is an error to try to insert a string with more than
     16937one field separator character occurring contiguously.
     16938                    </p>
     16939                </div>
     16940              </div>
     16941            </p>
     16942            <p>
     16943              <div class="refentrytitle">
     16944                <a id="f_complete-string"></a>
     16945                <strong>[Function]</strong>
     16946                <br></br>
     16947                <code>
     16948                        complete-string         string tables   
     16949                    </code>
     16950              </div>
     16951              <div class="refentrytitle"></div>
     16952            </p>
     16953            <p>
     16954              <div>
     16955                <div class="refsect1" lang="en" xml:lang="en">
     16956                  <a xmlns="http://www.w3.org/1999/xhtml" id="id702957"></a>
     16957                  <div class="header">Description:</div>
     16958                  <p xmlns="http://www.w3.org/1999/xhtml">
     16959This function completes string as far as possible over the list of
     16960tables, returning five values. It is an error for tables to have
     16961different separator characters. The five return values are as follows:
     16962                    </p>
     16963                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     16964                    <ul class="itemizedlist" type="disc">
     16965                      <li class="listitem">
     16966                        <p>
     16967The maximal completion of the string or nil if there is none.
     16968                            </p>
     16969                      </li>
     16970                    </ul>
     16971                  </div>
     16972                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     16973                    <ul class="itemizedlist" type="disc">
     16974                      <li class="listitem">
     16975                        <p>
     16976An indication of the usefulness of the returned string:
     16977                            </p>
     16978                      </li>
     16979                    </ul>
     16980                  </div>
     16981                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:none</span></i>---
     16982There is no completion of string.
     16983                                </p>
     16984                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:complete</span></i>---
     16985The completion is a valid entry, but other valid
     16986completions exist too. This occurs when the supplied string is an
     16987entry as well as initial substring of another entry.
     16988                                </p>
     16989                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:unique</span></i>---
     16990The completion is a valid entry and unique.
     16991                                </p>
     16992                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:ambiguous</span></i>---
     16993The completion is invalid; get-string would return nil
     16994and nil if given the returned string.
     16995                                </p>
     16996                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     16997                    <ul class="itemizedlist" type="disc">
     16998                      <li class="listitem">
     16999                        <p>
     17000The value of the string when the completion is :unique or
     17001:complete, otherwise nil.
     17002                            </p>
     17003                      </li>
     17004                    </ul>
     17005                  </div>
     17006                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     17007                    <ul class="itemizedlist" type="disc">
     17008                      <li class="listitem">
     17009                        <p>
     17010An index, or nil, into the completion returned, indicating where
     17011the addition of a single field to string ends. The command Complete
     17012Field uses this when the completion contains the addition to string
     17013of more than one field.
     17014                            </p>
     17015                      </li>
     17016                    </ul>
     17017                  </div>
     17018                  <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     17019                    <ul class="itemizedlist" type="disc">
     17020                      <li class="listitem">
     17021                        <p>
     17022An index to the separator following the first ambiguous field when
     17023the completion is :ambiguous or :complete, otherwise nil.
     17024                            </p>
     17025                      </li>
     17026                    </ul>
     17027                  </div>
     17028                </div>
     17029              </div>
     17030            </p>
     17031            <p>
     17032              <div class="refentrytitle">
     17033                <a id="f_find-ambiguous"></a>
     17034                <strong>[Function]</strong>
     17035                <br></br>
     17036                <code>
     17037                        find-ambiguous          string table     
     17038                    </code>
     17039              </div>
     17040              <div class="refentrytitle"></div>
     17041            </p>
     17042            <p>
     17043              <div>
     17044                <div class="refsect1" lang="en" xml:lang="en">
     17045                  <a xmlns="http://www.w3.org/1999/xhtml" id="id703147"></a>
     17046                  <div class="header">Description:</div>
     17047                  <p xmlns="http://www.w3.org/1999/xhtml"> </p>
     17048                </div>
     17049              </div>
     17050            </p>
     17051            <p>
     17052              <div class="refentrytitle">
     17053                <a id="f_find-containing"></a>
     17054                <strong>[Function]</strong>
     17055                <br></br>
     17056                <code>
     17057                        find-containing         string table     
     17058                    </code>
     17059              </div>
     17060              <div class="refentrytitle"></div>
     17061            </p>
     17062            <p>
     17063              <div>
     17064                <div class="refsect1" lang="en" xml:lang="en">
     17065                  <a xmlns="http://www.w3.org/1999/xhtml" id="id703201"></a>
     17066                  <div class="header">Description:</div>
     17067                  <p xmlns="http://www.w3.org/1999/xhtml">
     17068find-ambiguous returns a list in alphabetical order of all the strings
     17069in table matching string. This considers an entry as matching if each
     17070field in string, taken in order, is an initial substring of the
     17071entry's fields; entry may have fields remaining.
     17072                    </p>
     17073                  <p xmlns="http://www.w3.org/1999/xhtml">
     17074find-containing is similar, but it ignores the order of the fields in
     17075string, returning all strings in table matching any permutation of the
     17076fields in string.
     17077                    </p>
     17078                </div>
     17079              </div>
     17080            </p>
     17081            <p>
     17082              <div class="refentrytitle">
     17083                <a id="m_do-strings"></a>
     17084                <strong>[Macro]</strong>
     17085                <br></br>
     17086                <code>
     17087                        do-strings      (string-var value-var table result) declaration tag statement   
     17088                    </code>
     17089              </div>
     17090              <div class="refentrytitle"></div>
     17091            </p>
     17092            <p>
     17093              <div>
     17094                <div class="refsect1" lang="en" xml:lang="en">
     17095                  <a xmlns="http://www.w3.org/1999/xhtml" id="id703263"></a>
     17096                  <div class="header">Description:</div>
     17097                  <p xmlns="http://www.w3.org/1999/xhtml">
     17098This macro iterates over the strings in table in alphabetical
     17099order. On each iteration, it binds string-var to an entry's string and
     17100value-var to an entry's value.
     17101                    </p>
     17102                </div>
     17103              </div>
     17104            </p>
     17105          </div>
     17106          <div class="sect2" lang="en" xml:lang="en">
     17107            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     17108              <div>
     17109                <div>
     17110                  <h3 class="title"><a id="RingFunctions"></a>6.16.2. Ring Functions</h3>
     17111                </div>
     17112              </div>
     17113            </div>
     17114            <p xmlns="http://www.w3.org/1999/xhtml">
     17115There are various purposes in an editor for which a ring of values can
     17116be used, so Hemlock provides a general ring buffer type. It is used
     17117for maintaining a ring of killed regions (see section 4.3), a ring of
     17118marks (see section 3.1), or a ring of command strings which various
     17119modes and commands maintain as a history mechanism.
     17120            </p>
     17121            <p>
     17122              <div class="refentrytitle">
     17123                <a id="f_make-ring"></a>
     17124                <strong>[Function]</strong>
     17125                <br></br>
     17126                <code>
     17127                        make-ring       length <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> delete-function       
     17128                    </code>
     17129              </div>
     17130              <div class="refentrytitle"></div>
     17131            </p>
     17132            <p>
     17133              <div>
     17134                <div class="refsect1" lang="en" xml:lang="en">
     17135                  <a xmlns="http://www.w3.org/1999/xhtml" id="id703340"></a>
     17136                  <div class="header">Description:</div>
     17137                  <p xmlns="http://www.w3.org/1999/xhtml">
     17138Makes an empty ring object capable of holding up to length Lisp
     17139objects. Delete-function is a function that each object is passed to
     17140before it falls off the end. Length must be greater than zero.
     17141                    </p>
     17142                </div>
     17143              </div>
     17144            </p>
     17145            <p>
     17146              <div class="refentrytitle">
     17147                <a id="f_ringp"></a>
     17148                <strong>[Function]</strong>
     17149                <br></br>
     17150                <code>
     17151                        ringp   ring     
     17152                    </code>
     17153              </div>
     17154              <div class="refentrytitle"></div>
     17155            </p>
     17156            <p>
     17157              <div>
     17158                <div class="refsect1" lang="en" xml:lang="en">
     17159                  <a xmlns="http://www.w3.org/1999/xhtml" id="id703396"></a>
     17160                  <div class="header">Description:</div>
     17161                  <p xmlns="http://www.w3.org/1999/xhtml">
     17162Returns t if ring is a ring object, otherwise nil.
     17163                    </p>
     17164                </div>
     17165              </div>
     17166            </p>
     17167            <p>
     17168              <div class="refentrytitle">
     17169                <a id="f_ring-length"></a>
     17170                <strong>[Function]</strong>
     17171                <br></br>
     17172                <code>
     17173                        ring-length     ring     
     17174                    </code>
     17175              </div>
     17176              <div class="refentrytitle"></div>
     17177            </p>
     17178            <p>
     17179              <div>
     17180                <div class="refsect1" lang="en" xml:lang="en">
     17181                  <a xmlns="http://www.w3.org/1999/xhtml" id="id703450"></a>
     17182                  <div class="header">Description:</div>
     17183                  <p xmlns="http://www.w3.org/1999/xhtml">
     17184Returns as multiple-values the number of elements which ring currently
     17185holds and the maximum number of elements which it may hold.
     17186                    </p>
     17187                </div>
     17188              </div>
     17189            </p>
     17190            <p>
     17191              <div class="refentrytitle">
     17192                <a id="f_ring-ref"></a>
     17193                <strong>[Function]</strong>
     17194                <br></br>
     17195                <code>
     17196                        ring-ref        ring index       
     17197                    </code>
     17198              </div>
     17199              <div class="refentrytitle"></div>
     17200            </p>
     17201            <p>
     17202              <div>
     17203                <div class="refsect1" lang="en" xml:lang="en">
     17204                  <a xmlns="http://www.w3.org/1999/xhtml" id="id703506"></a>
     17205                  <div class="header">Description:</div>
     17206                  <p xmlns="http://www.w3.org/1999/xhtml">
     17207Returns the index'th item in the ring, where zero is the index of the
     17208most recently pushed. This may be set with setf.
     17209                    </p>
     17210                </div>
     17211              </div>
     17212            </p>
     17213            <p>
     17214              <div class="refentrytitle">
     17215                <a id="f_ring-push"></a>
     17216                <strong>[Function]</strong>
     17217                <br></br>
     17218                <code>
     17219                        ring-push       object ring     
     17220                    </code>
     17221              </div>
     17222              <div class="refentrytitle"></div>
     17223            </p>
     17224            <p>
     17225              <div>
     17226                <div class="refsect1" lang="en" xml:lang="en">
     17227                  <a xmlns="http://www.w3.org/1999/xhtml" id="id703561"></a>
     17228                  <div class="header">Description:</div>
     17229                  <p xmlns="http://www.w3.org/1999/xhtml">
     17230Pushes object into ring, possibly causing the oldest item to go away.
     17231                    </p>
     17232                </div>
     17233              </div>
     17234            </p>
     17235            <p>
     17236              <div class="refentrytitle">
     17237                <a id="f_ring-pop"></a>
     17238                <strong>[Function]</strong>
     17239                <br></br>
     17240                <code>
     17241                        ring-pop        ring     
     17242                    </code>
     17243              </div>
     17244              <div class="refentrytitle"></div>
     17245            </p>
     17246            <p>
     17247              <div>
     17248                <div class="refsect1" lang="en" xml:lang="en">
     17249                  <a xmlns="http://www.w3.org/1999/xhtml" id="id703616"></a>
     17250                  <div class="header">Description:</div>
     17251                  <p xmlns="http://www.w3.org/1999/xhtml">
     17252Removes the most recently pushed object from ring and returns it. If
     17253the ring contains no elements then an error is signalled.
     17254                    </p>
     17255                </div>
     17256              </div>
     17257            </p>
     17258            <p>
     17259              <div class="refentrytitle">
     17260                <a id="f_rotate-ring"></a>
     17261                <strong>[Function]</strong>
     17262                <br></br>
     17263                <code>
     17264                        rotate-ring     ring offset     
     17265                    </code>
     17266              </div>
     17267              <div class="refentrytitle"></div>
     17268            </p>
     17269            <p>
     17270              <div>
     17271                <div class="refsect1" lang="en" xml:lang="en">
     17272                  <a xmlns="http://www.w3.org/1999/xhtml" id="id703672"></a>
     17273                  <div class="header">Description:</div>
     17274                  <p xmlns="http://www.w3.org/1999/xhtml">
     17275With a positive offset, rotates ring forward that many times. In a
     17276forward rotation the index of each element is reduced by one, except
     17277the one which initially had a zero index, which is made the last
     17278element. A negative offset rotates the ring the other way.
     17279                    </p>
     17280                </div>
     17281              </div>
     17282            </p>
     17283          </div>
     17284          <div class="sect2" lang="en" xml:lang="en">
     17285            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     17286              <div>
     17287                <div>
     17288                  <h3 class="title"><a id="UndoingCommands"></a>6.16.3. Undoing commands</h3>
     17289                </div>
     17290              </div>
     17291            </div>
     17292            <p xmlns="http://www.w3.org/1999/xhtml">
     17293No API to the undo facility is provided at this time.
     17294            </p>
     17295          </div>
     17296        </div>
     17297        <div class="sect1" lang="en" xml:lang="en">
     17298          <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     17299            <div>
     17300              <div>
     17301                <h2 class="title" style="clear: both"><a id="HemlockProgrammingMiscellaneous"></a>6.17. Miscellaneous</h2>
     17302              </div>
     17303            </div>
     17304          </div>
     17305          <p xmlns="http://www.w3.org/1999/xhtml">
     17306This chapter is somewhat of a catch-all for comments and features that
     17307don't fit well anywhere else.
     17308        </p>
     17309          <div class="sect2" lang="en" xml:lang="en">
     17310            <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     17311              <div>
     17312                <div>
     17313                  <h3 class="title"><a id="KeyEvents"></a>6.17.1. Key-events</h3>
     17314                </div>
     17315              </div>
     17316            </div>
     17317            <div class="sect3" lang="en" xml:lang="en">
     17318              <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     17319                <div>
     17320                  <div>
     17321                    <h4 class="title"><a id="KeyEventsIntroduction"></a>6.17.1.1. Introduction</h4>
     17322                  </div>
     17323                </div>
     17324              </div>
     17325              <p xmlns="http://www.w3.org/1999/xhtml">
     17326The canonical representation of editor input is a key-event
     17327structure. Users can bind commands to keys (see section 1.3.1), which
     17328are non-empty sequences of key-events. A key-event consists of
     17329an identifying token known as a keysym and a field of bits
     17330representing modifiers. Users define keysyms by supplying names
     17331that reflect the legends on their keyboard's keys.
     17332Users define modifier names similarly, but the system chooses the
     17333bit and mask for recognizing the modifier. You can
     17334use keysym and modifier names to textually specify key-events and
     17335Hemlock keys in a #k syntax. The following are some examples:
     17336</p>
     17337              <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     17338
     17339#k"C-u"
     17340#k"Control-u"
     17341#k"c-m-z"
     17342#k"control-x meta-d"
     17343#k"a"
     17344#k"A"
     17345#k"Linefeed"
     17346
     17347</pre>
     17348              <p xmlns="http://www.w3.org/1999/xhtml">
     17349                </p>
     17350              <p xmlns="http://www.w3.org/1999/xhtml">
     17351This is convenient for use within code and in init files containing
     17352bind-key calls.
     17353                </p>
     17354              <p xmlns="http://www.w3.org/1999/xhtml">
     17355The #k syntax is delimited by double quotes, but the system parses the
     17356contents rather than reading it as a Common Lisp string. Within the
     17357double quotes, spaces separate multiple key-events. A single key-event
     17358optionally starts with modifier names terminated by hyphens. Modifier
     17359names are alphabetic sequences of characters which the system uses
     17360case-insensitively. Following modifiers is a keysym name, which is
     17361case-insensitive if it consists of multiple characters, but if the
     17362name consists of only a single character, then it is case-sensitive.
     17363                </p>
     17364              <p xmlns="http://www.w3.org/1999/xhtml">
     17365You can escape special characters --- hyphen, double quote, open angle
     17366bracket, close angle bracket, and space --- with a backslash, and you
     17367can specify a backslash by using two contiguously. You can use angle
     17368brackets to enclose a keysym name with many special characters in
     17369it. Between angle brackets appearing in a keysym name position, there
     17370are only two special characters, the closing angle bracket and
     17371backslash.
     17372                </p>
     17373            </div>
     17374            <div class="sect3" lang="en" xml:lang="en">
     17375              <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     17376                <div>
     17377                  <div>
     17378                    <h4 class="title"><a id="KeyEventsInterface"></a>6.17.1.2. Interface</h4>
     17379                  </div>
     17380                </div>
     17381              </div>
     17382              <p>
     17383                <div class="refentrytitle">
     17384                  <a id="f_define-keysym"></a>
     17385                  <strong>[Function]</strong>
     17386                  <br></br>
     17387                  <code>
     17388                            define-keysym       keysym preferred-name <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;rest</em> other-names       
     17389                        </code>
     17390                </div>
     17391                <div class="refentrytitle"></div>
     17392              </p>
     17393              <p>
     17394                <div>
     17395                  <div class="refsect1" lang="en" xml:lang="en">
     17396                    <a xmlns="http://www.w3.org/1999/xhtml" id="id703831"></a>
     17397                    <div class="header">Description:</div>
     17398                    <p xmlns="http://www.w3.org/1999/xhtml">
     17399This function establishes a mapping from preferred-name to keysym for
     17400purposes of #k syntax. Other-names also map to keysym, but the system
     17401uses preferred-name when printing key-events. The names are
     17402case-insensitive simple-strings; however, if the string contains a
     17403single character, then it is used case-sensitively. Redefining a
     17404keysym or re-using names has undefined effects.
     17405                        </p>
     17406                    <p xmlns="http://www.w3.org/1999/xhtml">
     17407Keysym can be any object, but generally it is either an integer
     17408representing the window-system code for the event, or a keyword
     17409which allows the mapping of the keysym to its code to be defined
     17410separately.
     17411                        </p>
     17412                  </div>
     17413                </div>
     17414              </p>
     17415              <p>
     17416                <div class="refentrytitle">
     17417                  <a id="f_define-keysym-code"></a>
     17418                  <strong>[Function]</strong>
     17419                  <br></br>
     17420                  <code>
     17421                            define-keysym-code keysym code
     17422                        </code>
     17423                </div>
     17424                <div class="refentrytitle"></div>
     17425              </p>
     17426              <p>
     17427                <div>
     17428                  <div class="refsect1" lang="en" xml:lang="en">
     17429                    <a xmlns="http://www.w3.org/1999/xhtml" id="id703895"></a>
     17430                    <div class="header">Description:</div>
     17431                    <p xmlns="http://www.w3.org/1999/xhtml">
     17432Defines the window-system code for the key event which in Hemlock is
     17433represented by keysym.
     17434                        </p>
     17435                  </div>
     17436                </div>
     17437              </p>
     17438              <p>
     17439                <div class="refentrytitle">
     17440                  <a id="f_define-mouse-keysym"></a>
     17441                  <strong>[Function]</strong>
     17442                  <br></br>
     17443                  <code>
     17444                            define-mouse-keysym         button keysym name shifted-bit event-key         
     17445                        </code>
     17446                </div>
     17447                <div class="refentrytitle"></div>
     17448              </p>
     17449              <p>
     17450                <div>
     17451                  <div class="refsect1" lang="en" xml:lang="en">
     17452                    <a xmlns="http://www.w3.org/1999/xhtml" id="id703951"></a>
     17453                    <div class="header">Description:</div>
     17454                    <p xmlns="http://www.w3.org/1999/xhtml">
     17455This function defines keysym named name for key-events representing
     17456mouse click events. Shifted-bit is a defined modifier name that
     17457translate-mouse-key-event sets in the key-event it returns whenever
     17458the shift bit is set in an incoming event.
     17459                        </p>
     17460                  </div>
     17461                </div>
     17462              </p>
     17463              <p>
     17464                <div class="refentrytitle">
     17465                  <a id="f_name-keysym"></a>
     17466                  <strong>[Function]</strong>
     17467                  <br></br>
     17468                  <code>
     17469                            name-keysym         name     
     17470                        </code>
     17471                </div>
     17472                <div class="refentrytitle"></div>
     17473              </p>
     17474              <p>
     17475                <div>
     17476                  <div class="refsect1" lang="en" xml:lang="en">
     17477                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704009"></a>
     17478                    <div class="header">Description:</div>
     17479                    <p xmlns="http://www.w3.org/1999/xhtml">
     17480This function returns the keysym named name. If name is unknown, this
     17481returns nil.
     17482                        </p>
     17483                  </div>
     17484                </div>
     17485              </p>
     17486              <p>
     17487                <div class="refentrytitle">
     17488                  <a id="f_keysym-names"></a>
     17489                  <strong>[Function]</strong>
     17490                  <br></br>
     17491                  <code>
     17492                            keysym-names        keysym   
     17493                        </code>
     17494                </div>
     17495                <div class="refentrytitle"></div>
     17496              </p>
     17497              <p>
     17498                <div>
     17499                  <div class="refsect1" lang="en" xml:lang="en">
     17500                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704065"></a>
     17501                    <div class="header">Description:</div>
     17502                    <p xmlns="http://www.w3.org/1999/xhtml">
     17503This function returns the list of all names for keysym. If keysym is
     17504undefined, this returns nil.
     17505                        </p>
     17506                  </div>
     17507                </div>
     17508              </p>
     17509              <p>
     17510                <div class="refentrytitle">
     17511                  <a id="f_keysym-preferred-name"></a>
     17512                  <strong>[Function]</strong>
     17513                  <br></br>
     17514                  <code>
     17515                            keysym-preferred-name       keysym   
     17516                        </code>
     17517                </div>
     17518                <div class="refentrytitle"></div>
     17519              </p>
     17520              <p>
     17521                <div>
     17522                  <div class="refsect1" lang="en" xml:lang="en">
     17523                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704121"></a>
     17524                    <div class="header">Description:</div>
     17525                    <p xmlns="http://www.w3.org/1999/xhtml">
     17526This returns the preferred name for keysym, how it is typically
     17527printed. If keysym is undefined, this returns nil.
     17528                        </p>
     17529                  </div>
     17530                </div>
     17531              </p>
     17532              <p>
     17533                <div class="refentrytitle">
     17534                  <a id="f_define-key-event-modifier"></a>
     17535                  <strong>[Function]</strong>
     17536                  <br></br>
     17537                  <code>
     17538                            define-key-event-modifier   long-name short-name     
     17539                        </code>
     17540                </div>
     17541                <div class="refentrytitle"></div>
     17542              </p>
     17543              <p>
     17544                <div>
     17545                  <div class="refsect1" lang="en" xml:lang="en">
     17546                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704178"></a>
     17547                    <div class="header">Description:</div>
     17548                    <p xmlns="http://www.w3.org/1999/xhtml">
     17549This establishes long-name and short-name as modifier names for
     17550purposes of specifying key-events in #k syntax. The names are
     17551case-insensitive strings. If either name is already defined,
     17552this signals an error.
     17553                        </p>
     17554                    <p xmlns="http://www.w3.org/1999/xhtml">
     17555The system defines the following default modifiers (first the long
     17556name, then the short name):
     17557                        </p>
     17558                    <div xmlns="http://www.w3.org/1999/xhtml" class="itemizedlist">
     17559                      <ul class="itemizedlist" type="disc">
     17560                        <li class="listitem">
     17561                          <p>
     17562"Hyper", "H"
     17563                                </p>
     17564                        </li>
     17565                        <li class="listitem">
     17566                          <p>
     17567"Super", "S"
     17568                                </p>
     17569                        </li>
     17570                        <li class="listitem">
     17571                          <p>
     17572"Meta", "M"
     17573                                </p>
     17574                        </li>
     17575                        <li class="listitem">
     17576                          <p>
     17577"Control", "C"
     17578                                </p>
     17579                        </li>
     17580                        <li class="listitem">
     17581                          <p>
     17582"Shift", "Shift"
     17583                                </p>
     17584                        </li>
     17585                        <li class="listitem">
     17586                          <p>
     17587"Lock", "Lock"
     17588                                </p>
     17589                        </li>
     17590                      </ul>
     17591                    </div>
     17592                  </div>
     17593                </div>
     17594              </p>
     17595              <p>
     17596                <div class="refentrytitle">
     17597                  <a id="v_all-modifier-names"></a>
     17598                  <strong>[Variable]</strong>
     17599                  <br></br>
     17600                  <code>
     17601                            *all-modifier-names*                 
     17602                        </code>
     17603                </div>
     17604                <div class="refentrytitle"></div>
     17605              </p>
     17606              <p>
     17607                <div>
     17608                  <div class="refsect1" lang="en" xml:lang="en">
     17609                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704293"></a>
     17610                    <div class="header">Description:</div>
     17611                    <p xmlns="http://www.w3.org/1999/xhtml">
     17612This variable holds all the defined modifier names.
     17613                        </p>
     17614                  </div>
     17615                </div>
     17616              </p>
     17617              <p>
     17618                <div class="refentrytitle">
     17619                  <a id="f_make-key-event-bits"></a>
     17620                  <strong>[Function]</strong>
     17621                  <br></br>
     17622                  <code>
     17623                            make-key-event-bits         <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;rest</em> modifier-names   
     17624                        </code>
     17625                </div>
     17626                <div class="refentrytitle"></div>
     17627              </p>
     17628              <p>
     17629                <div>
     17630                  <div class="refsect1" lang="en" xml:lang="en">
     17631                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704353"></a>
     17632                    <div class="header">Description:</div>
     17633                    <p xmlns="http://www.w3.org/1999/xhtml">
     17634This function returns bits suitable for make-key-event from the
     17635supplied modifier-names. If any name is undefined, this signals an
     17636error.
     17637                        </p>
     17638                  </div>
     17639                </div>
     17640              </p>
     17641              <p>
     17642                <div class="refentrytitle">
     17643                  <a id="f_key-event-modifier-mask"></a>
     17644                  <strong>[Function]</strong>
     17645                  <br></br>
     17646                  <code>
     17647                            key-event-modifier-mask     modifier-name   
     17648                        </code>
     17649                </div>
     17650                <div class="refentrytitle"></div>
     17651              </p>
     17652              <p>
     17653                <div>
     17654                  <div class="refsect1" lang="en" xml:lang="en">
     17655                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704410"></a>
     17656                    <div class="header">Description:</div>
     17657                    <p xmlns="http://www.w3.org/1999/xhtml">
     17658This function returns a mask for modifier-name. This mask is suitable
     17659for use with key-event-bits. If modifier-name is undefined, this
     17660signals an error.
     17661                        </p>
     17662                  </div>
     17663                </div>
     17664              </p>
     17665              <p>
     17666                <div class="refentrytitle">
     17667                  <a id="f_key-event-bits-modifiers"></a>
     17668                  <strong>[Function]</strong>
     17669                  <br></br>
     17670                  <code>
     17671                            key-event-bits-modifiers    bits     
     17672                        </code>
     17673                </div>
     17674                <div class="refentrytitle"></div>
     17675              </p>
     17676              <p>
     17677                <div>
     17678                  <div class="refsect1" lang="en" xml:lang="en">
     17679                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704467"></a>
     17680                    <div class="header">Description:</div>
     17681                    <p xmlns="http://www.w3.org/1999/xhtml">
     17682This returns a list of key-event modifier names, one for each modifier
     17683set in bits.
     17684                        </p>
     17685                  </div>
     17686                </div>
     17687              </p>
     17688              <p>
     17689                <div class="refentrytitle">
     17690                  <a id="f_make-key-event"></a>
     17691                  <strong>[Function]</strong>
     17692                  <br></br>
     17693                  <code>
     17694                            make-key-event      object bits     
     17695                        </code>
     17696                </div>
     17697                <div class="refentrytitle"></div>
     17698              </p>
     17699              <p>
     17700                <div>
     17701                  <div class="refsect1" lang="en" xml:lang="en">
     17702                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704523"></a>
     17703                    <div class="header">Description:</div>
     17704                    <p xmlns="http://www.w3.org/1999/xhtml">
     17705This function returns a key-event described by object with
     17706bits. Object is one of keysym, string, or key-event. When object is a
     17707key-event, this uses key-event-keysym. You can form bits with
     17708make-key-event-bits or key-event-modifier-mask.
     17709                        </p>
     17710                  </div>
     17711                </div>
     17712              </p>
     17713              <p>
     17714                <div class="refentrytitle">
     17715                  <a id="f_key-event-p"></a>
     17716                  <strong>[Function]</strong>
     17717                  <br></br>
     17718                  <code>
     17719                            key-event-p         object   
     17720                        </code>
     17721                </div>
     17722                <div class="refentrytitle"></div>
     17723              </p>
     17724              <p>
     17725                <div>
     17726                  <div class="refsect1" lang="en" xml:lang="en">
     17727                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704581"></a>
     17728                    <div class="header">Description:</div>
     17729                    <p xmlns="http://www.w3.org/1999/xhtml">
     17730This function returns whether object is a key-event.
     17731                        </p>
     17732                  </div>
     17733                </div>
     17734              </p>
     17735              <p>
     17736                <div class="refentrytitle">
     17737                  <a id="f_key-event-bits"></a>
     17738                  <strong>[Function]</strong>
     17739                  <br></br>
     17740                  <code>
     17741                            key-event-bits      key-event       
     17742                        </code>
     17743                </div>
     17744                <div class="refentrytitle"></div>
     17745              </p>
     17746              <p>
     17747                <div>
     17748                  <div class="refsect1" lang="en" xml:lang="en">
     17749                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704637"></a>
     17750                    <div class="header">Description:</div>
     17751                    <p xmlns="http://www.w3.org/1999/xhtml">
     17752This function returns the bits field of a key-event.
     17753                        </p>
     17754                  </div>
     17755                </div>
     17756              </p>
     17757              <p>
     17758                <div class="refentrytitle">
     17759                  <a id="f_key-event-keysym"></a>
     17760                  <strong>[Function]</strong>
     17761                  <br></br>
     17762                  <code>
     17763                            key-event-keysym    key-event       
     17764                        </code>
     17765                </div>
     17766                <div class="refentrytitle"></div>
     17767              </p>
     17768              <p>
     17769                <div>
     17770                  <div class="refsect1" lang="en" xml:lang="en">
     17771                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704692"></a>
     17772                    <div class="header">Description:</div>
     17773                    <p xmlns="http://www.w3.org/1999/xhtml">
     17774This function returns the keysym field of a key-event.
     17775                        </p>
     17776                  </div>
     17777                </div>
     17778              </p>
     17779              <p>
     17780                <div class="refentrytitle">
     17781                  <a id="f_char-key-event"></a>
     17782                  <strong>[Function]</strong>
     17783                  <br></br>
     17784                  <code>
     17785                            char-key-event      character       
     17786                        </code>
     17787                </div>
     17788                <div class="refentrytitle"></div>
     17789              </p>
     17790              <p>
     17791                <div>
     17792                  <div class="refsect1" lang="en" xml:lang="en">
     17793                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704748"></a>
     17794                    <div class="header">Description:</div>
     17795                    <p xmlns="http://www.w3.org/1999/xhtml">
     17796This function returns the key-event associated with character. You can
     17797associate a key-event with a character by setf-ing this form.
     17798                        </p>
     17799                  </div>
     17800                </div>
     17801              </p>
     17802              <p>
     17803                <div class="refentrytitle">
     17804                  <a id="f_key-event-char"></a>
     17805                  <strong>[Function]</strong>
     17806                  <br></br>
     17807                  <code>
     17808                            key-event-char      key-event       
     17809                        </code>
     17810                </div>
     17811                <div class="refentrytitle"></div>
     17812              </p>
     17813              <p>
     17814                <div>
     17815                  <div class="refsect1" lang="en" xml:lang="en">
     17816                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704805"></a>
     17817                    <div class="header">Description:</div>
     17818                    <p xmlns="http://www.w3.org/1999/xhtml">
     17819This function returns the character associated with key-event. You can
     17820associate a character with a key-event by setf'ing this form. The
     17821system defaultly translates key-events in some implementation
     17822dependent way for text insertion; for example, under an ASCII system,
     17823the key-event #k"C-h", as well as #k"backspace" would map to the
     17824Common Lisp character that causes a backspace.
     17825                        </p>
     17826                  </div>
     17827                </div>
     17828              </p>
     17829              <p>
     17830                <div class="refentrytitle">
     17831                  <a id="f_key-event-bit-p"></a>
     17832                  <strong>[Function]</strong>
     17833                  <br></br>
     17834                  <code>
     17835                            key-event-bit-p     key-event bit-name       
     17836                        </code>
     17837                </div>
     17838                <div class="refentrytitle"></div>
     17839              </p>
     17840              <p>
     17841                <div>
     17842                  <div class="refsect1" lang="en" xml:lang="en">
     17843                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704864"></a>
     17844                    <div class="header">Description:</div>
     17845                    <p xmlns="http://www.w3.org/1999/xhtml">
     17846This function returns whether key-event has the bit set named by
     17847bit-name. This signals an error if bit-name is undefined.
     17848                        </p>
     17849                  </div>
     17850                </div>
     17851              </p>
     17852              <p>
     17853                <div class="refentrytitle">
     17854                  <a id="m_do-alpha-key-events"></a>
     17855                  <strong>[Macro]</strong>
     17856                  <br></br>
     17857                  <code>
     17858                            do-alpha-key-events         (var kind <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> result) form       
     17859                        </code>
     17860                </div>
     17861                <div class="refentrytitle"></div>
     17862              </p>
     17863              <p>
     17864                <div>
     17865                  <div class="refsect1" lang="en" xml:lang="en">
     17866                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704924"></a>
     17867                    <div class="header">Description:</div>
     17868                    <p xmlns="http://www.w3.org/1999/xhtml">
     17869This macro evaluates each form with var bound to a key-event
     17870representing an alphabetic character. Kind is one of :lower, :upper,
     17871or :both, and this binds var to each key-event in order a-z A-Z.
     17872When :both is specified, this processes lowercase letters
     17873first.
     17874                        </p>
     17875                  </div>
     17876                </div>
     17877              </p>
     17878              <p>
     17879                <div class="refentrytitle">
     17880                  <a id="f_pretty-key-string"></a>
     17881                  <strong>[Function]</strong>
     17882                  <br></br>
     17883                  <code>
     17884                            pretty-key-string   key <em xmlns="http://www.w3.org/1999/xhtml" class="varname">&amp;optional</em> stream long-names-p     
     17885                        </code>
     17886                </div>
     17887                <div class="refentrytitle"></div>
     17888              </p>
     17889              <p>
     17890                <div>
     17891                  <div class="refsect1" lang="en" xml:lang="en">
     17892                    <a xmlns="http://www.w3.org/1999/xhtml" id="id704985"></a>
     17893                    <div class="header">Description:</div>
     17894                    <p xmlns="http://www.w3.org/1999/xhtml">
     17895This returns a string representing key, a key-event or vector of key-events, in a
     17896user-expected fashion. Long-names-p indicates whether
     17897modifiers should be described by their long or short name.
     17898                        </p>
     17899                  </div>
     17900                </div>
     17901              </p>
     17902            </div>
     17903          </div>
     17904        </div>
     17905      </div>
     17906      <div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="chapter" lang="en" xml:lang="en">
     17907        <div xmlns="http://www.w3.org/1999/xhtml" class="titlepage">
     17908          <div>
     17909            <div>
     17910              <h2 class="title"><a id="Programming-with-Threads"></a>Chapter 7. Programming with Threads</h2>
     17911            </div>
     17912          </div>
     17913        </div>
     17914        <div xmlns="http://www.w3.org/1999/xhtml" class="toc">
     17915          <dl>
     17916            <dt>
     17917              <span class="sect1">
     17918                <a href="#Threads-overview">7.1. Threads Overview</a>
    716817919              </span>
    716917920            </dt>
    717017921            <dt>
    717117922              <span class="sect1">
    7172                 <a href="#Threads-Dictionary">6.7. Threads Dictionary</a>
     17923                <a href="#Intentionally--Missing-Functionality">7.2. (Intentionally) Missing Functionality</a>
     17924              </span>
     17925            </dt>
     17926            <dt>
     17927              <span class="sect1">
     17928                <a href="#Implementation-Decisions-and-Open-Questions">7.3. Implementation Decisions and Open Questions</a>
     17929              </span>
     17930            </dt>
     17931            <dd>
     17932              <dl>
     17933                <dt>
     17934                  <span class="sect2">
     17935                    <a href="#Thread-Stack-Sizes">7.3.1. Thread Stack Sizes</a>
     17936                  </span>
     17937                </dt>
     17938                <dt>
     17939                  <span class="sect2">
     17940                    <a href="#id651576">7.3.2.  As of August 2003:</a>
     17941                  </span>
     17942                </dt>
     17943              </dl>
     17944            </dd>
     17945            <dt>
     17946              <span class="sect1">
     17947                <a href="#Porting-Code-from-the-Old-Thread-Model">7.4. Porting Code from the Old Thread Model</a>
     17948              </span>
     17949            </dt>
     17950            <dt>
     17951              <span class="sect1">
     17952                <a href="#Background-Terminal-Input">7.5. Background Terminal Input</a>
     17953              </span>
     17954            </dt>
     17955            <dd>
     17956              <dl>
     17957                <dt>
     17958                  <span class="sect2">
     17959                    <a href="#backgrount-ti-overview">7.5.1. Overview</a>
     17960                  </span>
     17961                </dt>
     17962                <dt>
     17963                  <span class="sect2">
     17964                    <a href="#background-terminal-example">7.5.2. An example</a>
     17965                  </span>
     17966                </dt>
     17967                <dt>
     17968                  <span class="sect2">
     17969                    <a href="#A-more-elaborate-example-">7.5.3. A more elaborate example.</a>
     17970                  </span>
     17971                </dt>
     17972                <dt>
     17973                  <span class="sect2">
     17974                    <a href="#Summary">7.5.4. Summary</a>
     17975                  </span>
     17976                </dt>
     17977              </dl>
     17978            </dd>
     17979            <dt>
     17980              <span class="sect1">
     17981                <a href="#The-Threads-which-CCL-Uses-for-Its-Own-Purposes">7.6. The Threads which Clozure CL Uses for Its Own Purposes</a>
     17982              </span>
     17983            </dt>
     17984            <dt>
     17985              <span class="sect1">
     17986                <a href="#Threads-Dictionary">7.7. Threads Dictionary</a>
    717317987              </span>
    717417988            </dt>
     
    717917993            <div>
    718017994              <div>
    7181                 <h2 class="title" style="clear: both"><a id="Threads-overview"></a>6.1. Threads Overview</h2>
     17995                <h2 class="title" style="clear: both"><a id="Threads-overview"></a>7.1. Threads Overview</h2>
    718217996              </div>
    718317997            </div>
     
    730118115            <div>
    730218116              <div>
    7303                 <h2 class="title" style="clear: both"><a id="Intentionally--Missing-Functionality"></a>6.2. (Intentionally) Missing Functionality</h2>
     18117                <h2 class="title" style="clear: both"><a id="Intentionally--Missing-Functionality"></a>7.2. (Intentionally) Missing Functionality</h2>
    730418118              </div>
    730518119            </div>
     
    733918153            <div>
    734018154              <div>
    7341                 <h2 class="title" style="clear: both"><a id="Implementation-Decisions-and-Open-Questions"></a>6.3. Implementation Decisions and Open Questions</h2>
     18155                <h2 class="title" style="clear: both"><a id="Implementation-Decisions-and-Open-Questions"></a>7.3. Implementation Decisions and Open Questions</h2>
    734218156              </div>
    734318157            </div>
     
    734718161              <div>
    734818162                <div>
    7349                   <h3 class="title"><a id="Thread-Stack-Sizes"></a>6.3.1. Thread Stack Sizes</h3>
     18163                  <h3 class="title"><a id="Thread-Stack-Sizes"></a>7.3.1. Thread Stack Sizes</h3>
    735018164                </div>
    735118165              </div>
     
    737518189              <div>
    737618190                <div>
    7377                   <h3 class="title"><a id="id480092"></a>6.3.2.  As of August 2003:</h3>
     18191                  <h3 class="title"><a id="id651576"></a>7.3.2.  As of August 2003:</h3>
    737818192                </div>
    737918193              </div>
     
    742018234            <div>
    742118235              <div>
    7422                 <h2 class="title" style="clear: both"><a id="Porting-Code-from-the-Old-Thread-Model"></a>6.4. Porting Code from the Old Thread Model</h2>
     18236                <h2 class="title" style="clear: both"><a id="Porting-Code-from-the-Old-Thread-Model"></a>7.4. Porting Code from the Old Thread Model</h2>
    742318237              </div>
    742418238            </div>
     
    746818282            <div>
    746918283              <div>
    7470                 <h2 class="title" style="clear: both"><a id="Background-Terminal-Input"></a>6.5. Background Terminal Input</h2>
     18284                <h2 class="title" style="clear: both"><a id="Background-Terminal-Input"></a>7.5. Background Terminal Input</h2>
    747118285              </div>
    747218286            </div>
     
    747618290              <div>
    747718291                <div>
    7478                   <h3 class="title"><a id="backgrount-ti-overview"></a>6.5.1. Overview</h3>
     18292                  <h3 class="title"><a id="backgrount-ti-overview"></a>7.5.1. Overview</h3>
    747918293                </div>
    748018294              </div>
     
    753518349              <div>
    753618350                <div>
    7537                   <h3 class="title"><a id="background-terminal-example"></a>6.5.2. An example</h3>
     18351                  <h3 class="title"><a id="background-terminal-example"></a>7.5.2. An example</h3>
    753818352                </div>
    753918353              </div>
     
    758318397              <div>
    758418398                <div>
    7585                   <h3 class="title"><a id="A-more-elaborate-example-"></a>6.5.3. A more elaborate example.</h3>
     18399                  <h3 class="title"><a id="A-more-elaborate-example-"></a>7.5.3. A more elaborate example.</h3>
    758618400                </div>
    758718401              </div>
     
    765018464              <div>
    765118465                <div>
    7652                   <h3 class="title"><a id="Summary"></a>6.5.4. Summary</h3>
     18466                  <h3 class="title"><a id="Summary"></a>7.5.4. Summary</h3>
    765318467                </div>
    765418468              </div>
     
    768218496            <div>
    768318497              <div>
    7684                 <h2 class="title" style="clear: both"><a id="The-Threads-which-CCL-Uses-for-Its-Own-Purposes"></a>6.6. The Threads which Clozure CL Uses for Its Own Purposes</h2>
     18498                <h2 class="title" style="clear: both"><a id="The-Threads-which-CCL-Uses-for-Its-Own-Purposes"></a>7.6. The Threads which Clozure CL Uses for Its Own Purposes</h2>
    768518499              </div>
    768618500            </div>
     
    780818622            <div>
    780918623              <div>
    7810                 <h2 class="title" style="clear: both"><a id="Threads-Dictionary"></a>6.7. Threads Dictionary</h2>
     18624                <h2 class="title" style="clear: both"><a id="Threads-Dictionary"></a>7.7. Threads Dictionary</h2>
    781118625              </div>
    781218626            </div>
     
    782718641            <div>
    782818642              <div class="refsect1" lang="en" xml:lang="en">
    7829                 <a xmlns="http://www.w3.org/1999/xhtml" id="id497648"></a>
     18643                <a xmlns="http://www.w3.org/1999/xhtml" id="id669972"></a>
    783018644                <div class="header">Values:</div>
    783118645                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">result</span></i>---a list of all lisp processes (threads)
     
    783318647              </div>
    783418648              <div class="refsect1" lang="en" xml:lang="en">
    7835                 <a xmlns="http://www.w3.org/1999/xhtml" id="id497674"></a>
     18649                <a xmlns="http://www.w3.org/1999/xhtml" id="id669998"></a>
    783618650                <div class="header">Description:</div>
    783718651                <p xmlns="http://www.w3.org/1999/xhtml">Returns a list of all lisp processes (threads) known
     
    784518659              </div>
    784618660              <div class="refsect1" lang="en" xml:lang="en">
    7847                 <a xmlns="http://www.w3.org/1999/xhtml" id="id497689"></a>
     18661                <a xmlns="http://www.w3.org/1999/xhtml" id="id670013"></a>
    784818662                <div class="header">See Also:</div>
    784918663                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist">
     
    787318687            <div>
    787418688              <div class="refsect1" lang="en" xml:lang="en">
    7875                 <a xmlns="http://www.w3.org/1999/xhtml" id="id497759"></a>
     18689                <a xmlns="http://www.w3.org/1999/xhtml" id="id670082"></a>
    787618690                <div class="header">Arguments and Values:</div>
    787718691                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---a string, used to identify the process.</p>
     
    791618730              </div>
    791718731              <div class="refsect1" lang="en" xml:lang="en">
    7918                 <a xmlns="http://www.w3.org/1999/xhtml" id="id497951"></a>
     18732                <a xmlns="http://www.w3.org/1999/xhtml" id="id670276"></a>
    791918733                <div class="header">Description:</div>
    792018734                <p xmlns="http://www.w3.org/1999/xhtml">Creates and returns a new lisp process (thread) with the
     
    793718751              </div>
    793818752              <div class="refsect1" lang="en" xml:lang="en">
    7939                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498003"></a>
     18753                <a xmlns="http://www.w3.org/1999/xhtml" id="id670328"></a>
    794018754                <div class="header">See Also:</div>
    794118755                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_process-preset" title="Function PROCESS-PRESET"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-preset</b></a>, <a class="xref" href="#f_process-enable" title="Function PROCESS-ENABLE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-enable</b></a>, <a class="xref" href="#f_process-run-function" title="Function PROCESS-RUN-FUNCTION"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-run-function</b></a></span>
     
    795618770            <div>
    795718771              <div class="refsect1" lang="en" xml:lang="en">
    7958                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498081"></a>
     18772                <a xmlns="http://www.w3.org/1999/xhtml" id="id670407"></a>
    795918773                <div class="header">Arguments and Values:</div>
    796018774                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">process</span></i>---a lisp process (thread).</p>
     
    796618780              </div>
    796718781              <div class="refsect1" lang="en" xml:lang="en">
    7968                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498135"></a>
     18782                <a xmlns="http://www.w3.org/1999/xhtml" id="id670461"></a>
    796918783                <div class="header">Description:</div>
    797018784                <p xmlns="http://www.w3.org/1999/xhtml">Suspends <em class="varname">process</em>, preventing it from
     
    798818802              </div>
    798918803              <div class="refsect1" lang="en" xml:lang="en">
    7990                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498190"></a>
     18804                <a xmlns="http://www.w3.org/1999/xhtml" id="id670516"></a>
    799118805                <div class="header">See Also:</div>
    799218806                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_process-resume" title="Function PROCESS-RESUME"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-resume</b></a>, <a class="xref" href="#f_process-suspend-count" title="Function PROCESS-SUSPEND-COUNT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-suspend-count</b></a></span>
    799318807              </div>
    799418808              <div class="refsect1" lang="en" xml:lang="en">
    7995                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498215"></a>
     18809                <a xmlns="http://www.w3.org/1999/xhtml" id="id670541"></a>
    799618810                <div class="header">Notes:</div>
    799718811                <p xmlns="http://www.w3.org/1999/xhtml"><span class="function"><strong>process-suspend</strong></span> was previously called
     
    801918833            <div>
    802018834              <div class="refsect1" lang="en" xml:lang="en">
    8021                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498296"></a>
     18835                <a xmlns="http://www.w3.org/1999/xhtml" id="id670622"></a>
    802218836                <div class="header">Arguments and Values:</div>
    802318837                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">process</span></i>---a lisp process (thread).</p>
     
    803018844              </div>
    803118845              <div class="refsect1" lang="en" xml:lang="en">
    8032                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498350"></a>
     18846                <a xmlns="http://www.w3.org/1999/xhtml" id="id670675"></a>
    803318847                <div class="header">Description:</div>
    803418848                <p xmlns="http://www.w3.org/1999/xhtml">Undoes the effect of a previous call to
     
    804118855              </div>
    804218856              <div class="refsect1" lang="en" xml:lang="en">
    8043                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498381"></a>
     18857                <a xmlns="http://www.w3.org/1999/xhtml" id="id670706"></a>
    804418858                <div class="header">See Also:</div>
    804518859                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_process-suspend" title="Function PROCESS-SUSPEND"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-suspend</b></a>, <a class="xref" href="#f_process-suspend-count" title="Function PROCESS-SUSPEND-COUNT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-suspend-count</b></a></span>
    804618860              </div>
    804718861              <div class="refsect1" lang="en" xml:lang="en">
    8048                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498406"></a>
     18862                <a xmlns="http://www.w3.org/1999/xhtml" id="id670731"></a>
    804918863                <div class="header">Notes:</div>
    805018864                <p xmlns="http://www.w3.org/1999/xhtml">
     
    807218886            <div>
    807318887              <div class="refsect1" lang="en" xml:lang="en">
    8074                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498471"></a>
     18888                <a xmlns="http://www.w3.org/1999/xhtml" id="id670797"></a>
    807518889                <div class="header">Arguments and Values:</div>
    807618890                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">process</span></i>---a lisp process (thread).</p>
     
    808218896              </div>
    808318897              <div class="refsect1" lang="en" xml:lang="en">
    8084                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498525"></a>
     18898                <a xmlns="http://www.w3.org/1999/xhtml" id="id670851"></a>
    808518899                <div class="header">Description:</div>
    808618900                <p xmlns="http://www.w3.org/1999/xhtml">An "outstanding" <a class="xref" href="#f_process-suspend" title="Function PROCESS-SUSPEND"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-suspend</b></a> call
     
    809718911              </div>
    809818912              <div class="refsect1" lang="en" xml:lang="en">
    8099                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498574"></a>
     18913                <a xmlns="http://www.w3.org/1999/xhtml" id="id670900"></a>
    810018914                <div class="header">See Also:</div>
    810118915                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_process-suspend" title="Function PROCESS-SUSPEND"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-suspend</b></a>, <a class="xref" href="#f_process-resume" title="Function PROCESS-RESUME"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-resume</b></a></span>
     
    811818932            <div>
    811918933              <div class="refsect1" lang="en" xml:lang="en">
    8120                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498650"></a>
     18934                <a xmlns="http://www.w3.org/1999/xhtml" id="id670977"></a>
    812118935                <div class="header">Arguments and Values:</div>
    812218936                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">process</span></i>---a lisp process (thread).</p>
     
    812918943              </div>
    813018944              <div class="refsect1" lang="en" xml:lang="en">
    8131                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498725"></a>
     18945                <a xmlns="http://www.w3.org/1999/xhtml" id="id671052"></a>
    813218946                <div class="header">Description:</div>
    813318947                <p xmlns="http://www.w3.org/1999/xhtml">Typically used to initialize a newly-created or newly-reset
     
    814318957              </div>
    814418958              <div class="refsect1" lang="en" xml:lang="en">
    8145                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498769"></a>
     18959                <a xmlns="http://www.w3.org/1999/xhtml" id="id671096"></a>
    814618960                <div class="header">See Also:</div>
    814718961                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-process" title="Function MAKE-PROCESS"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-process</b></a>, <a class="xref" href="#f_process-enable" title="Function PROCESS-ENABLE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-enable</b></a>, <a class="xref" href="#f_process-run-function" title="Function PROCESS-RUN-FUNCTION"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-run-function</b></a></span>
     
    816418978            <div>
    816518979              <div class="refsect1" lang="en" xml:lang="en">
    8166                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498852"></a>
     18980                <a xmlns="http://www.w3.org/1999/xhtml" id="id671178"></a>
    816718981                <div class="header">Arguments and Values:</div>
    816818982                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">process</span></i>---a lisp process (thread).</p>
     
    817318987              </div>
    817418988              <div class="refsect1" lang="en" xml:lang="en">
    8175                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498913"></a>
     18989                <a xmlns="http://www.w3.org/1999/xhtml" id="id671240"></a>
    817618990                <div class="header">Description:</div>
    817718991                <p xmlns="http://www.w3.org/1999/xhtml">Tries to begin the execution of <em class="varname">process</em>.
     
    819019004              </div>
    819119005              <div class="refsect1" lang="en" xml:lang="en">
    8192                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498962"></a>
     19006                <a xmlns="http://www.w3.org/1999/xhtml" id="id671289"></a>
    819319007                <div class="header">See Also:</div>
    819419008                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-process" title="Function MAKE-PROCESS"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-process</b></a>, <a class="xref" href="#f_process-preset" title="Function PROCESS-PRESET"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-preset</b></a>, <a class="xref" href="#f_process-run-function" title="Function PROCESS-RUN-FUNCTION"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-run-function</b></a></span>
    819519009              </div>
    819619010              <div class="refsect1" lang="en" xml:lang="en">
    8197                 <a xmlns="http://www.w3.org/1999/xhtml" id="id498993"></a>
     19011                <a xmlns="http://www.w3.org/1999/xhtml" id="id671320"></a>
    819819012                <div class="header">Notes:</div>
    819919013                <p xmlns="http://www.w3.org/1999/xhtml">It would be nice to have more discussion of what it means
     
    821619030            <div>
    821719031              <div class="refsect1" lang="en" xml:lang="en">
    8218                 <a xmlns="http://www.w3.org/1999/xhtml" id="id499108"></a>
     19032                <a xmlns="http://www.w3.org/1999/xhtml" id="id671435"></a>
    821919033                <div class="header">Arguments and Values:</div>
    822019034                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---a string, used to identify the process.
     
    823819052              </div>
    823919053              <div class="refsect1" lang="en" xml:lang="en">
    8240                 <a xmlns="http://www.w3.org/1999/xhtml" id="id499297"></a>
     19054                <a xmlns="http://www.w3.org/1999/xhtml" id="id671624"></a>
    824119055                <div class="header">Description:</div>
    824219056                <p xmlns="http://www.w3.org/1999/xhtml">Creates a lisp process (thread) via
     
    825119065              </div>
    825219066              <div class="refsect1" lang="en" xml:lang="en">
    8253                 <a xmlns="http://www.w3.org/1999/xhtml" id="id499332"></a>
     19067                <a xmlns="http://www.w3.org/1999/xhtml" id="id671659"></a>
    825419068                <div class="header">See Also:</div>
    825519069                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-process" title="Function MAKE-PROCESS"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-process</b></a>, <a class="xref" href="#f_process-preset" title="Function PROCESS-PRESET"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-preset</b></a>, <a class="xref" href="#f_process-enable" title="Function PROCESS-ENABLE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-enable</b></a></span>
     
    827219086            <div>
    827319087              <div class="refsect1" lang="en" xml:lang="en">
    8274                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502712"></a>
     19088                <a xmlns="http://www.w3.org/1999/xhtml" id="id671742"></a>
    827519089                <div class="header">Arguments and Values:</div>
    827619090                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">process</span></i>---a lisp process (thread).</p>
     
    828519099              </div>
    828619100              <div class="refsect1" lang="en" xml:lang="en">
    8287                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502805"></a>
     19101                <a xmlns="http://www.w3.org/1999/xhtml" id="id671835"></a>
    828819102                <div class="header">Description:</div>
    828919103                <p xmlns="http://www.w3.org/1999/xhtml">Arranges for <em class="varname">process</em>
     
    831619130              </div>
    831719131              <div class="refsect1" lang="en" xml:lang="en">
    8318                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502879"></a>
     19132                <a xmlns="http://www.w3.org/1999/xhtml" id="id671909"></a>
    831919133                <div class="header">See Also:</div>
    832019134                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist">
     
    832519139              </div>
    832619140              <div class="refsect1" lang="en" xml:lang="en">
    8327                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502898"></a>
     19141                <a xmlns="http://www.w3.org/1999/xhtml" id="id671928"></a>
    832819142                <div class="header">Notes:</div>
    832919143                <p xmlns="http://www.w3.org/1999/xhtml">It would probably be better for <em class="varname">result</em>
     
    835519169            <div>
    835619170              <div class="refsect1" lang="en" xml:lang="en">
    8357                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502963"></a>
     19171                <a xmlns="http://www.w3.org/1999/xhtml" id="id674163"></a>
    835819172                <div class="header">Value Type:</div>
    835919173                <p xmlns="http://www.w3.org/1999/xhtml">A lisp process (thread).</p>
    836019174              </div>
    836119175              <div class="refsect1" lang="en" xml:lang="en">
    8362                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502975"></a>
     19176                <a xmlns="http://www.w3.org/1999/xhtml" id="id674175"></a>
    836319177                <div class="header">Initial Value:</div>
    836419178                <p xmlns="http://www.w3.org/1999/xhtml">Bound separately in each process, to that process itself.
     
    836619180              </div>
    836719181              <div class="refsect1" lang="en" xml:lang="en">
    8368                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502986"></a>
     19182                <a xmlns="http://www.w3.org/1999/xhtml" id="id674186"></a>
    836919183                <div class="header">Description:</div>
    837019184                <p xmlns="http://www.w3.org/1999/xhtml">Used when lisp code needs to find out what process it is
     
    837219186              </div>
    837319187              <div class="refsect1" lang="en" xml:lang="en">
    8374                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502998"></a>
     19188                <a xmlns="http://www.w3.org/1999/xhtml" id="id674198"></a>
    837519189                <div class="header">See Also:</div>
    837619190                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist">
     
    839619210            <div>
    839719211              <div class="refsect1" lang="en" xml:lang="en">
    8398                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503068"></a>
     19212                <a xmlns="http://www.w3.org/1999/xhtml" id="id674269"></a>
    839919213                <div class="header">Arguments and Values:</div>
    840019214                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">process</span></i>---a lisp process (thread).</p>
     
    840319217              </div>
    840419218              <div class="refsect1" lang="en" xml:lang="en">
    8405                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503125"></a>
     19219                <a xmlns="http://www.w3.org/1999/xhtml" id="id674325"></a>
    840619220                <div class="header">Description:</div>
    840719221                <p xmlns="http://www.w3.org/1999/xhtml">Causes <em class="varname">process</em> to cleanly exit
     
    843019244              </div>
    843119245              <div class="refsect1" lang="en" xml:lang="en">
    8432                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503192"></a>
     19246                <a xmlns="http://www.w3.org/1999/xhtml" id="id674392"></a>
    843319247                <div class="header">See Also:</div>
    843419248                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_process-kill" title="Function PROCESS-KILL"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-kill</b></a>, <a class="xref" href="#f_process-abort" title="Function PROCESS-ABORT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-abort</b></a></span>
     
    845019264            <div>
    845119265              <div class="refsect1" lang="en" xml:lang="en">
    8452                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503265"></a>
     19266                <a xmlns="http://www.w3.org/1999/xhtml" id="id674465"></a>
    845319267                <div class="header">Arguments and Values:</div>
    845419268                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">process</span></i>---a lisp process (thread), which
     
    845719271              </div>
    845819272              <div class="refsect1" lang="en" xml:lang="en">
    8459                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503307"></a>
     19273                <a xmlns="http://www.w3.org/1999/xhtml" id="id674507"></a>
    846019274                <div class="header">Description:</div>
    846119275                <p xmlns="http://www.w3.org/1999/xhtml">
     
    846519279              </div>
    846619280              <div class="refsect1" lang="en" xml:lang="en">
    8467                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503319"></a>
     19281                <a xmlns="http://www.w3.org/1999/xhtml" id="id674519"></a>
    846819282                <div class="header">See Also:</div>
    846919283                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_process-reset" title="Function PROCESS-RESET"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-reset</b></a>, <a class="xref" href="#f_process-enable" title="Function PROCESS-ENABLE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-enable</b></a></span>
     
    848519299            <div>
    848619300              <div class="refsect1" lang="en" xml:lang="en">
    8487                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503392"></a>
     19301                <a xmlns="http://www.w3.org/1999/xhtml" id="id674592"></a>
    848819302                <div class="header">Arguments and Values:</div>
    848919303                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">process</span></i>---a lisp process (thread).</p>
     
    849119305              </div>
    849219306              <div class="refsect1" lang="en" xml:lang="en">
    8493                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503433"></a>
     19307                <a xmlns="http://www.w3.org/1999/xhtml" id="id674633"></a>
    849419308                <div class="header">Description:</div>
    849519309                <p xmlns="http://www.w3.org/1999/xhtml">
     
    849919313              </div>
    850019314              <div class="refsect1" lang="en" xml:lang="en">
    8501                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503448"></a>
     19315                <a xmlns="http://www.w3.org/1999/xhtml" id="id674648"></a>
    850219316                <div class="header">See Also:</div>
    850319317                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_process-reset" title="Function PROCESS-RESET"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-reset</b></a>, <a class="xref" href="#f_process-abort" title="Function PROCESS-ABORT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-abort</b></a></span>
     
    852119335            <div>
    852219336              <div class="refsect1" lang="en" xml:lang="en">
    8523                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503531"></a>
     19337                <a xmlns="http://www.w3.org/1999/xhtml" id="id674731"></a>
    852419338                <div class="header">Arguments and Values:</div>
    852519339                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">process</span></i>---a lisp process (thread).</p>
     
    852719341              </div>
    852819342              <div class="refsect1" lang="en" xml:lang="en">
    8529                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503572"></a>
     19343                <a xmlns="http://www.w3.org/1999/xhtml" id="id674772"></a>
    853019344                <div class="header">Description:</div>
    853119345                <p xmlns="http://www.w3.org/1999/xhtml">Entirely equivalent to calling
     
    854119355              </div>
    854219356              <div class="refsect1" lang="en" xml:lang="en">
    8543                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503636"></a>
     19357                <a xmlns="http://www.w3.org/1999/xhtml" id="id674836"></a>
    854419358                <div class="header">See Also:</div>
    854519359                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_process-reset" title="Function PROCESS-RESET"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-reset</b></a>, <a class="xref" href="#f_process-kill" title="Function PROCESS-KILL"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-kill</b></a></span>
     
    856019374            <div>
    856119375              <div class="refsect1" lang="en" xml:lang="en">
    8562                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503694"></a>
     19376                <a xmlns="http://www.w3.org/1999/xhtml" id="id674894"></a>
    856319377                <div class="header">Value Type:</div>
    856419378                <p xmlns="http://www.w3.org/1999/xhtml">A positive integer.</p>
    856519379              </div>
    856619380              <div class="refsect1" lang="en" xml:lang="en">
    8567                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503705"></a>
     19381                <a xmlns="http://www.w3.org/1999/xhtml" id="id674906"></a>
    856819382                <div class="header">Initial Value:</div>
    856919383                <p xmlns="http://www.w3.org/1999/xhtml">The clock resolution of the OS scheduler.  Currently,
     
    857219386              </div>
    857319387              <div class="refsect1" lang="en" xml:lang="en">
    8574                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503718"></a>
     19388                <a xmlns="http://www.w3.org/1999/xhtml" id="id674918"></a>
    857519389                <div class="header">Description:</div>
    857619390                <p xmlns="http://www.w3.org/1999/xhtml">This value is ordinarily of marginal interest at best,
     
    858019394              </div>
    858119395              <div class="refsect1" lang="en" xml:lang="en">
    8582                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503730"></a>
     19396                <a xmlns="http://www.w3.org/1999/xhtml" id="id674931"></a>
    858319397                <div class="header">See Also:</div>
    858419398                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist">
     
    860419418            <div>
    860519419              <div class="refsect1" lang="en" xml:lang="en">
    8606                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503834"></a>
     19420                <a xmlns="http://www.w3.org/1999/xhtml" id="id675035"></a>
    860719421                <div class="header">Description:</div>
    860819422                <p xmlns="http://www.w3.org/1999/xhtml">This information is primarily for the benefit of
     
    861819432              </div>
    861919433              <div class="refsect1" lang="en" xml:lang="en">
    8620                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503876"></a>
     19434                <a xmlns="http://www.w3.org/1999/xhtml" id="id675077"></a>
    862119435                <div class="header">See Also:</div>
    862219436                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_process-wait" title="Function PROCESS-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-wait</b></a>, <a class="xref" href="#f_process-wait-with-timeout" title="Function PROCESS-WAIT-WITH-TIMEOUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-wait-with-timeout</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
    862319437              </div>
    862419438              <div class="refsect1" lang="en" xml:lang="en">
    8625                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503907"></a>
     19439                <a xmlns="http://www.w3.org/1999/xhtml" id="id675107"></a>
    862619440                <div class="header">Notes:</div>
    862719441                <p xmlns="http://www.w3.org/1999/xhtml">This should arguably be SETFable, but doesn't seem to
     
    864719461            <div>
    864819462              <div class="refsect1" lang="en" xml:lang="en">
    8649                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503965"></a>
     19463                <a xmlns="http://www.w3.org/1999/xhtml" id="id675165"></a>
    865019464                <div class="header">Description:</div>
    865119465                <p xmlns="http://www.w3.org/1999/xhtml">Advises the OS scheduler that the current thread has nothing
     
    865619470              </div>
    865719471              <div class="refsect1" lang="en" xml:lang="en">
    8658                 <a xmlns="http://www.w3.org/1999/xhtml" id="id503979"></a>
     19472                <a xmlns="http://www.w3.org/1999/xhtml" id="id675179"></a>
    865919473                <div class="header">See Also:</div>
    866019474                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
    866119475              </div>
    866219476              <div class="refsect1" lang="en" xml:lang="en">
    8663                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504027"></a>
     19477                <a xmlns="http://www.w3.org/1999/xhtml" id="id675227"></a>
    866419478                <div class="header">Notes:</div>
    866519479                <p xmlns="http://www.w3.org/1999/xhtml">This is a holdover from the days of cooperative
     
    868419498            <div>
    868519499              <div class="refsect1" lang="en" xml:lang="en">
    8686                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504091"></a>
     19500                <a xmlns="http://www.w3.org/1999/xhtml" id="id675290"></a>
    868719501                <div class="header">Arguments and Values:</div>
    868819502                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">whostate</span></i>---a string, which will be the value of
     
    869719511              </div>
    869819512              <div class="refsect1" lang="en" xml:lang="en">
    8699                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504170"></a>
     19513                <a xmlns="http://www.w3.org/1999/xhtml" id="id675369"></a>
    870019514                <div class="header">Description:</div>
    870119515                <p xmlns="http://www.w3.org/1999/xhtml">Causes the current lisp process (thread) to repeatedly
     
    871419528              </div>
    871519529              <div class="refsect1" lang="en" xml:lang="en">
    8716                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504206"></a>
     19530                <a xmlns="http://www.w3.org/1999/xhtml" id="id675405"></a>
    871719531                <div class="header">See Also:</div>
    871819532                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_process-whostate" title="Function PROCESS-WHOSTATE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-whostate</b></a>, <a class="xref" href="#f_process-wait-with-timeout" title="Function PROCESS-WAIT-WITH-TIMEOUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-wait-with-timeout</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
     
    873419548            <div>
    873519549              <div class="refsect1" lang="en" xml:lang="en">
    8736                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504314"></a>
     19550                <a xmlns="http://www.w3.org/1999/xhtml" id="id675513"></a>
    873719551                <div class="header">Arguments and Values:</div>
    873819552                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">whostate</span></i>---a string, which will be the value of
     
    875219566              </div>
    875319567              <div class="refsect1" lang="en" xml:lang="en">
    8754                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504427"></a>
     19568                <a xmlns="http://www.w3.org/1999/xhtml" id="id675626"></a>
    875519569                <div class="header">Description:</div>
    875619570                <p xmlns="http://www.w3.org/1999/xhtml">If <em class="varname">ticks</em> is NIL, behaves exactly like
     
    876919583              </div>
    877019584              <div class="refsect1" lang="en" xml:lang="en">
    8771                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504477"></a>
     19585                <a xmlns="http://www.w3.org/1999/xhtml" id="id675676"></a>
    877219586                <div class="header">See Also:</div>
    877319587                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#v_ticks-per-second" title="Variable *TICKS-PER-SECOND*"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">*ticks-per-second*</b></a>, <a class="xref" href="#f_process-whostate" title="Function PROCESS-WHOSTATE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-whostate</b></a>, <a class="xref" href="#f_process-wait" title="Function PROCESS-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-wait</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
     
    878919603            <div>
    879019604              <div class="refsect1" lang="en" xml:lang="en">
    8791                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504594"></a>
     19605                <a xmlns="http://www.w3.org/1999/xhtml" id="id675793"></a>
    879219606                <div class="header">Arguments and Values:</div>
    879319607                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">body</span></i>---an implicit progn.</p>
     
    879619610              </div>
    879719611              <div class="refsect1" lang="en" xml:lang="en">
    8798                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504638"></a>
     19612                <a xmlns="http://www.w3.org/1999/xhtml" id="id675838"></a>
    879919613                <div class="header">Description:</div>
    880019614                <p xmlns="http://www.w3.org/1999/xhtml">Executes <em class="varname">body</em>
     
    881119625              </div>
    881219626              <div class="refsect1" lang="en" xml:lang="en">
    8813                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504670"></a>
     19627                <a xmlns="http://www.w3.org/1999/xhtml" id="id675870"></a>
    881419628                <div class="header">See Also:</div>
    881519629                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist">
     
    883519649            <div>
    883619650              <div class="refsect1" lang="en" xml:lang="en">
    8837                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504742"></a>
     19651                <a xmlns="http://www.w3.org/1999/xhtml" id="id675941"></a>
    883819652                <div class="header">Arguments and Values:</div>
    883919653                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">body</span></i>---an implicit progn.</p>
     
    884219656              </div>
    884319657              <div class="refsect1" lang="en" xml:lang="en">
    8844                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504786"></a>
     19658                <a xmlns="http://www.w3.org/1999/xhtml" id="id675986"></a>
    884519659                <div class="header">Description:</div>
    884619660                <p xmlns="http://www.w3.org/1999/xhtml">Executes <em class="varname">body</em>
     
    886519679            <div>
    886619680              <div class="refsect1" lang="en" xml:lang="en">
    8867                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504858"></a>
     19681                <a xmlns="http://www.w3.org/1999/xhtml" id="id676057"></a>
    886819682                <div class="header">Arguments and Values:</div>
    886919683                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---any lisp object; saved as part of
     
    887519689              </div>
    887619690              <div class="refsect1" lang="en" xml:lang="en">
    8877                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504910"></a>
     19691                <a xmlns="http://www.w3.org/1999/xhtml" id="id676110"></a>
    887819692                <div class="header">Description:</div>
    887919693                <p xmlns="http://www.w3.org/1999/xhtml">Creates and returns a lock object, which can
     
    888519699              </div>
    888619700              <div class="refsect1" lang="en" xml:lang="en">
    8887                 <a xmlns="http://www.w3.org/1999/xhtml" id="id504927"></a>
     19701                <a xmlns="http://www.w3.org/1999/xhtml" id="id676126"></a>
    888819702                <div class="header">See Also:</div>
    888919703                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#m_with-lock-grabbed" title="Macro WITH-LOCK-GRABBED"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-lock-grabbed</b></a>, <a class="xref" href="#f_grab-lock" title="Function GRAB-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">grab-lock</b></a>, <a class="xref" href="#f_release-lock" title="Function RELEASE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">release-lock</b></a>, <a class="xref" href="#f_try-lock" title="Function TRY-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">try-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
     
    890519719            <div>
    890619720              <div class="refsect1" lang="en" xml:lang="en">
    8907                 <a xmlns="http://www.w3.org/1999/xhtml" id="id505044"></a>
     19721                <a xmlns="http://www.w3.org/1999/xhtml" id="id676244"></a>
    890819722                <div class="header">Arguments and Values:</div>
    890919723                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">lock</span></i>---an object of type CCL:LOCK.</p>
     
    891319727              </div>
    891419728              <div class="refsect1" lang="en" xml:lang="en">
    8915                 <a xmlns="http://www.w3.org/1999/xhtml" id="id505104"></a>
     19729                <a xmlns="http://www.w3.org/1999/xhtml" id="id676303"></a>
    891619730                <div class="header">Description:</div>
    891719731                <p xmlns="http://www.w3.org/1999/xhtml">Waits until <em class="varname">lock</em> is either free or
     
    892419738              </div>
    892519739              <div class="refsect1" lang="en" xml:lang="en">
    8926                 <a xmlns="http://www.w3.org/1999/xhtml" id="id505136"></a>
     19740                <a xmlns="http://www.w3.org/1999/xhtml" id="id676336"></a>
    892719741                <div class="header">See Also:</div>
    892819742                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_grab-lock" title="Function GRAB-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">grab-lock</b></a>, <a class="xref" href="#f_release-lock" title="Function RELEASE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">release-lock</b></a>, <a class="xref" href="#f_try-lock" title="Function TRY-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">try-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
     
    894319757            <div>
    894419758              <div class="refsect1" lang="en" xml:lang="en">
    8945                 <a xmlns="http://www.w3.org/1999/xhtml" id="id505249"></a>
     19759                <a xmlns="http://www.w3.org/1999/xhtml" id="id676449"></a>
    894619760                <div class="header">Arguments and Values:</div>
    894719761                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">lock</span></i>---an object of type CCL:LOCK.</p>
    894819762              </div>
    894919763              <div class="refsect1" lang="en" xml:lang="en">
    8950                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519056"></a>
     19764                <a xmlns="http://www.w3.org/1999/xhtml" id="id676475"></a>
    895119765                <div class="header">Description:</div>
    895219766                <p xmlns="http://www.w3.org/1999/xhtml">Blocks until <em class="varname">lock</em> is owned by the
     
    895919773              </div>
    896019774              <div class="refsect1" lang="en" xml:lang="en">
    8961                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519089"></a>
     19775                <a xmlns="http://www.w3.org/1999/xhtml" id="id676514"></a>
    896219776                <div class="header">See Also:</div>
    896319777                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#m_with-lock-grabbed" title="Macro WITH-LOCK-GRABBED"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-lock-grabbed</b></a>, <a class="xref" href="#f_release-lock" title="Function RELEASE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">release-lock</b></a>, <a class="xref" href="#f_try-lock" title="Function TRY-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">try-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
     
    897719791            <div>
    897819792              <div class="refsect1" lang="en" xml:lang="en">
    8979                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519188"></a>
     19793                <a xmlns="http://www.w3.org/1999/xhtml" id="id676626"></a>
    898019794                <div class="header">Arguments and Values:</div>
    898119795                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">lock</span></i>---an object of type CCL:LOCK.</p>
    898219796              </div>
    898319797              <div class="refsect1" lang="en" xml:lang="en">
    8984                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519211"></a>
     19798                <a xmlns="http://www.w3.org/1999/xhtml" id="id676653"></a>
    898519799                <div class="header">Description:</div>
    898619800                <p xmlns="http://www.w3.org/1999/xhtml">Signals an error of type CCL:LOCK-NOT-OWNER if
     
    899519809              </div>
    899619810              <div class="refsect1" lang="en" xml:lang="en">
    8997                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519244"></a>
     19811                <a xmlns="http://www.w3.org/1999/xhtml" id="id676691"></a>
    899819812                <div class="header">See Also:</div>
    899919813                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#m_with-lock-grabbed" title="Macro WITH-LOCK-GRABBED"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-lock-grabbed</b></a>, <a class="xref" href="#f_grab-lock" title="Function GRAB-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">grab-lock</b></a>, <a class="xref" href="#f_try-lock" title="Function TRY-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">try-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
     
    901419828            <div>
    901519829              <div class="refsect1" lang="en" xml:lang="en">
    9016                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519345"></a>
     19830                <a xmlns="http://www.w3.org/1999/xhtml" id="id676805"></a>
    901719831                <div class="header">Arguments and Values:</div>
    901819832                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">lock</span></i>---an object of type CCL:LOCK.</p>
     
    902119835              </div>
    902219836              <div class="refsect1" lang="en" xml:lang="en">
    9023                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519383"></a>
     19837                <a xmlns="http://www.w3.org/1999/xhtml" id="id676849"></a>
    902419838                <div class="header">Description:</div>
    902519839                <p xmlns="http://www.w3.org/1999/xhtml">Tests whether <em class="varname">lock</em>
     
    903419848              </div>
    903519849              <div class="refsect1" lang="en" xml:lang="en">
    9036                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519406"></a>
     19850                <a xmlns="http://www.w3.org/1999/xhtml" id="id676875"></a>
    903719851                <div class="header">See Also:</div>
    903819852                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#m_with-lock-grabbed" title="Macro WITH-LOCK-GRABBED"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-lock-grabbed</b></a>, <a class="xref" href="#f_grab-lock" title="Function GRAB-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">grab-lock</b></a>, <a class="xref" href="#f_release-lock" title="Function RELEASE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">release-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
     
    905419868            <div>
    905519869              <div class="refsect1" lang="en" xml:lang="en">
    9056                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519506"></a>
     19870                <a xmlns="http://www.w3.org/1999/xhtml" id="id676988"></a>
    905719871                <div class="header">Arguments and Values:</div>
    905819872                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">read-write-lock</span></i>---a newly-allocated object of type
     
    906019874              </div>
    906119875              <div class="refsect1" lang="en" xml:lang="en">
    9062                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519529"></a>
     19876                <a xmlns="http://www.w3.org/1999/xhtml" id="id677015"></a>
    906319877                <div class="header">Description:</div>
    906419878                <p xmlns="http://www.w3.org/1999/xhtml">Creates and returns an object of type CCL::READ-WRITE-LOCK.
     
    907119885              </div>
    907219886              <div class="refsect1" lang="en" xml:lang="en">
    9073                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519545"></a>
     19887                <a xmlns="http://www.w3.org/1999/xhtml" id="id677033"></a>
    907419888                <div class="header">See Also:</div>
    907519889                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#m_with-read-lock" title="Macro WITH-READ-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-read-lock</b></a>, <a class="xref" href="#m_with-write-lock" title="Macro WITH-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-write-lock</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
    907619890              </div>
    907719891              <div class="refsect1" lang="en" xml:lang="en">
    9078                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519593"></a>
     19892                <a xmlns="http://www.w3.org/1999/xhtml" id="id677086"></a>
    907919893                <div class="header">Notes:</div>
    908019894                <p xmlns="http://www.w3.org/1999/xhtml">There probably should be some way to
     
    909919913            <div>
    910019914              <div class="refsect1" lang="en" xml:lang="en">
    9101                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519650"></a>
     19915                <a xmlns="http://www.w3.org/1999/xhtml" id="id677151"></a>
    910219916                <div class="header">Arguments and Values:</div>
    910319917                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">read-write-lock</span></i>---an object of type
     
    910819922              </div>
    910919923              <div class="refsect1" lang="en" xml:lang="en">
    9110                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519701"></a>
     19924                <a xmlns="http://www.w3.org/1999/xhtml" id="id677210"></a>
    911119925                <div class="header">Description:</div>
    911219926                <p xmlns="http://www.w3.org/1999/xhtml">Waits until <em class="varname">read-write-lock</em> has no
     
    912219936              </div>
    912319937              <div class="refsect1" lang="en" xml:lang="en">
    9124                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519741"></a>
     19938                <a xmlns="http://www.w3.org/1999/xhtml" id="id677256"></a>
    912519939                <div class="header">See Also:</div>
    912619940                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#m_with-write-lock" title="Macro WITH-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-write-lock</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
     
    914219956            <div>
    914319957              <div class="refsect1" lang="en" xml:lang="en">
    9144                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519834"></a>
     19958                <a xmlns="http://www.w3.org/1999/xhtml" id="id677361"></a>
    914519959                <div class="header">Arguments and Values:</div>
    914619960                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">read-write-lock</span></i>---an object of type
     
    915119965              </div>
    915219966              <div class="refsect1" lang="en" xml:lang="en">
    9153                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519885"></a>
     19967                <a xmlns="http://www.w3.org/1999/xhtml" id="id677421"></a>
    915419968                <div class="header">Description:</div>
    915519969                <p xmlns="http://www.w3.org/1999/xhtml">Waits until <em class="varname">read-write-lock</em> has no
     
    916619980              </div>
    916719981              <div class="refsect1" lang="en" xml:lang="en">
    9168                 <a xmlns="http://www.w3.org/1999/xhtml" id="id519930"></a>
     19982                <a xmlns="http://www.w3.org/1999/xhtml" id="id677472"></a>
    916919983                <div class="header">See Also:</div>
    917019984                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#m_with-read-lock" title="Macro WITH-READ-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-read-lock</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
     
    918620000            <div>
    918720001              <div class="refsect1" lang="en" xml:lang="en">
    9188                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520020"></a>
     20002                <a xmlns="http://www.w3.org/1999/xhtml" id="id677573"></a>
    918920003                <div class="header">Arguments and Values:</div>
    919020004                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">semaphore</span></i>---a newly-allocated object of type CCL:SEMAPHORE.</p>
    919120005              </div>
    919220006              <div class="refsect1" lang="en" xml:lang="en">
    9193                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520042"></a>
     20007                <a xmlns="http://www.w3.org/1999/xhtml" id="id677599"></a>
    919420008                <div class="header">Description:</div>
    919520009                <p xmlns="http://www.w3.org/1999/xhtml">Creates and returns an object of type CCL:SEMAPHORE.
     
    920020014              </div>
    920120015              <div class="refsect1" lang="en" xml:lang="en">
    9202                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520057"></a>
     20016                <a xmlns="http://www.w3.org/1999/xhtml" id="id677616"></a>
    920320017                <div class="header">See Also:</div>
    920420018                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_signal-semaphore" title="Function SIGNAL-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">signal-semaphore</b></a>, <a class="xref" href="#f_wait-on-semaphore" title="Function WAIT-ON-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">wait-on-semaphore</b></a>, <a class="xref" href="#f_timed-wait-on-semaphore" title="Function TIMED-WAIT-ON-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">timed-wait-on-semaphore</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
     
    922020034            <div>
    922120035              <div class="refsect1" lang="en" xml:lang="en">
    9222                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520152"></a>
     20036                <a xmlns="http://www.w3.org/1999/xhtml" id="id677724"></a>
    922320037                <div class="header">Arguments and Values:</div>
    922420038                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">semaphore</span></i>---an object of type CCL:SEMAPHORE.</p>
     
    922720041              </div>
    922820042              <div class="refsect1" lang="en" xml:lang="en">
    9229                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520188"></a>
     20043                <a xmlns="http://www.w3.org/1999/xhtml" id="id677766"></a>
    923020044                <div class="header">Description:</div>
    923120045                <p xmlns="http://www.w3.org/1999/xhtml">Atomically increments <em class="varname">semaphore</em>'s
     
    923420048              </div>
    923520049              <div class="refsect1" lang="en" xml:lang="en">
    9236                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520202"></a>
     20050                <a xmlns="http://www.w3.org/1999/xhtml" id="id677781"></a>
    923720051                <div class="header">See Also:</div>
    923820052                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_wait-on-semaphore" title="Function WAIT-ON-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">wait-on-semaphore</b></a>, <a class="xref" href="#f_timed-wait-on-semaphore" title="Function TIMED-WAIT-ON-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">timed-wait-on-semaphore</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
    923920053              </div>
    924020054              <div class="refsect1" lang="en" xml:lang="en">
    9241                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520255"></a>
     20055                <a xmlns="http://www.w3.org/1999/xhtml" id="id677841"></a>
    924220056                <div class="header">Notes:</div>
    924320057                <p xmlns="http://www.w3.org/1999/xhtml"><em class="varname">result</em> should probably be interpreted
     
    926220076            <div>
    926320077              <div class="refsect1" lang="en" xml:lang="en">
    9264                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520315"></a>
     20078                <a xmlns="http://www.w3.org/1999/xhtml" id="id677910"></a>
    926520079                <div class="header">Arguments and Values:</div>
    926620080                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">semaphore</span></i>---an object of type CCL:SEMAPHORE.</p>
     
    926920083              </div>
    927020084              <div class="refsect1" lang="en" xml:lang="en">
    9271                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520351"></a>
     20085                <a xmlns="http://www.w3.org/1999/xhtml" id="id677951"></a>
    927220086                <div class="header">Description:</div>
    927320087                <p xmlns="http://www.w3.org/1999/xhtml">Waits until <em class="varname">semaphore</em>
     
    927720091              </div>
    927820092              <div class="refsect1" lang="en" xml:lang="en">
    9279                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520366"></a>
     20093                <a xmlns="http://www.w3.org/1999/xhtml" id="id677968"></a>
    928020094                <div class="header">See Also:</div>
    928120095                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_signal-semaphore" title="Function SIGNAL-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">signal-semaphore</b></a>, <a class="xref" href="#f_timed-wait-on-semaphore" title="Function TIMED-WAIT-ON-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">timed-wait-on-semaphore</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
    928220096              </div>
    928320097              <div class="refsect1" lang="en" xml:lang="en">
    9284                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520419"></a>
     20098                <a xmlns="http://www.w3.org/1999/xhtml" id="id678027"></a>
    928520099                <div class="header">Notes:</div>
    928620100                <p xmlns="http://www.w3.org/1999/xhtml"><em class="varname">result</em> should probably be interpreted
     
    930620120            <div>
    930720121              <div class="refsect1" lang="en" xml:lang="en">
    9308                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520479"></a>
     20122                <a xmlns="http://www.w3.org/1999/xhtml" id="id678096"></a>
    930920123                <div class="header">Arguments and Values:</div>
    931020124                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">semaphore</span></i>---An object of type CCL:SEMAPHORE.</p>
     
    931920133              </div>
    932020134              <div class="refsect1" lang="en" xml:lang="en">
    9321                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520545"></a>
     20135                <a xmlns="http://www.w3.org/1999/xhtml" id="id678173"></a>
    932220136                <div class="header">Description:</div>
    932320137                <p xmlns="http://www.w3.org/1999/xhtml">Waits until <em class="varname">semaphore</em>
     
    932820142              </div>
    932920143              <div class="refsect1" lang="en" xml:lang="en">
    9330                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520562"></a>
     20144                <a xmlns="http://www.w3.org/1999/xhtml" id="id678192"></a>
    933120145                <div class="header">See Also:</div>
    933220146                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_wait-on-semaphore" title="Function WAIT-ON-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">wait-on-semaphore</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
     
    934820162            <div>
    934920163              <div class="refsect1" lang="en" xml:lang="en">
    9350                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520655"></a>
     20164                <a xmlns="http://www.w3.org/1999/xhtml" id="id678297"></a>
    935120165                <div class="header">Arguments and Values:</div>
    935220166                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">fd</span></i>---a file descriptor, which is a non-negative integer
     
    935620170              </div>
    935720171              <div class="refsect1" lang="en" xml:lang="en">
    9358                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520697"></a>
     20172                <a xmlns="http://www.w3.org/1999/xhtml" id="id678345"></a>
    935920173                <div class="header">Description:</div>
    936020174                <p xmlns="http://www.w3.org/1999/xhtml">Wait until input is available on <em class="varname">fd</em>.
     
    937220186              </div>
    937320187              <div class="refsect1" lang="en" xml:lang="en">
    9374                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520730"></a>
     20188                <a xmlns="http://www.w3.org/1999/xhtml" id="id678382"></a>
    937520189                <div class="header">See Also:</div>
    937620190                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
    937720191              </div>
    937820192              <div class="refsect1" lang="en" xml:lang="en">
    9379                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520768"></a>
     20193                <a xmlns="http://www.w3.org/1999/xhtml" id="id678424"></a>
    938020194                <div class="header">Notes:</div>
    938120195                <p xmlns="http://www.w3.org/1999/xhtml">
     
    940220216            <div>
    940320217              <div class="refsect1" lang="en" xml:lang="en">
    9404                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520832"></a>
     20218                <a xmlns="http://www.w3.org/1999/xhtml" id="id678498"></a>
    940520219                <div class="header">Arguments and Values:</div>
    940620220                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">fd</span></i>---a file descriptor, which is a non-negative integer
     
    941020224              </div>
    941120225              <div class="refsect1" lang="en" xml:lang="en">
    9412                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520874"></a>
     20226                <a xmlns="http://www.w3.org/1999/xhtml" id="id678545"></a>
    941320227                <div class="header">Description:</div>
    941420228                <p xmlns="http://www.w3.org/1999/xhtml">Wait until output is possible on <em class="varname">fd</em> or until <em class="varname">timeout</em>, if
     
    942320237              </div>
    942420238              <div class="refsect1" lang="en" xml:lang="en">
    9425                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520907"></a>
     20239                <a xmlns="http://www.w3.org/1999/xhtml" id="id678583"></a>
    942620240                <div class="header">See Also:</div>
    942720241                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a></span>
    942820242              </div>
    942920243              <div class="refsect1" lang="en" xml:lang="en">
    9430                 <a xmlns="http://www.w3.org/1999/xhtml" id="id520944"></a>
     20244                <a xmlns="http://www.w3.org/1999/xhtml" id="id678625"></a>
    943120245                <div class="header">Notes:</div>
    943220246                <p xmlns="http://www.w3.org/1999/xhtml">
     
    945320267            <div>
    945420268              <div class="refsect1" lang="en" xml:lang="en">
    9455                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521009"></a>
     20269                <a xmlns="http://www.w3.org/1999/xhtml" id="id678699"></a>
    945620270                <div class="header">Arguments and Values:</div>
    945720271                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">body</span></i>---an implicit progn.</p>
     
    946020274              </div>
    946120275              <div class="refsect1" lang="en" xml:lang="en">
    9462                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521048"></a>
     20276                <a xmlns="http://www.w3.org/1999/xhtml" id="id678743"></a>
    946320277                <div class="header">Description:</div>
    946420278                <p xmlns="http://www.w3.org/1999/xhtml">Requests exclusive read access to the standard terminal
     
    946820282              </div>
    946920283              <div class="refsect1" lang="en" xml:lang="en">
    9470                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521064"></a>
     20284                <a xmlns="http://www.w3.org/1999/xhtml" id="id678762"></a>
    947120285                <div class="header">See Also:</div>
    947220286                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#v_request-terminal-input-via-break" title="Variable *REQUEST-TERMINAL-INPUT-VIA-BREAK*"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">*request-terminal-input-via-break*</b></a>, <a class="xref" href="#cmd_y" title="Toplevel Command :Y"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">:y</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a></span>
     
    948720301            <div>
    948820302              <div class="refsect1" lang="en" xml:lang="en">
    9489                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521141"></a>
     20303                <a xmlns="http://www.w3.org/1999/xhtml" id="id678850"></a>
    949020304                <div class="header">Value Type:</div>
    949120305                <p xmlns="http://www.w3.org/1999/xhtml">A boolean.</p>
    949220306              </div>
    949320307              <div class="refsect1" lang="en" xml:lang="en">
    9494                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521151"></a>
     20308                <a xmlns="http://www.w3.org/1999/xhtml" id="id678861"></a>
    949520309                <div class="header">Initial Value:</div>
    949620310                <p xmlns="http://www.w3.org/1999/xhtml">NIL.</p>
    949720311              </div>
    949820312              <div class="refsect1" lang="en" xml:lang="en">
    9499                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521161"></a>
     20313                <a xmlns="http://www.w3.org/1999/xhtml" id="id678873"></a>
    950020314                <div class="header">Description:</div>
    950120315                <p xmlns="http://www.w3.org/1999/xhtml">Controls how attempts to obtain ownership of terminal input
     
    950920323              </div>
    951020324              <div class="refsect1" lang="en" xml:lang="en">
    9511                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521174"></a>
     20325                <a xmlns="http://www.w3.org/1999/xhtml" id="id678888"></a>
    951220326                <div class="header">See Also:</div>
    951320327                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a>, <a class="xref" href="#cmd_y" title="Toplevel Command :Y"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">:y</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a></span>
     
    952820342            <div>
    952920343              <div class="refsect1" lang="en" xml:lang="en">
    9530                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521265"></a>
     20344                <a xmlns="http://www.w3.org/1999/xhtml" id="id678991"></a>
    953120345                <div class="header">Arguments and Values:</div>
    953220346                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">p</span></i>---a lisp process (thread), designated either by
     
    953720351              </div>
    953820352              <div class="refsect1" lang="en" xml:lang="en">
    9539                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521304"></a>
     20353                <a xmlns="http://www.w3.org/1999/xhtml" id="id679036"></a>
    954020354                <div class="header">Description:</div>
    954120355                <p xmlns="http://www.w3.org/1999/xhtml">:Y is a toplevel command, not a function.  As such, it
     
    954820362              </div>
    954920363              <div class="refsect1" lang="en" xml:lang="en">
    9550                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521326"></a>
     20364                <a xmlns="http://www.w3.org/1999/xhtml" id="id679060"></a>
    955120365                <div class="header">See Also:</div>
    955220366                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#m_with-terminal-input" title="Macro WITH-TERMINAL-INPUT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">with-terminal-input</b></a>, <a class="xref" href="#v_request-terminal-input-via-break" title="Variable *REQUEST-TERMINAL-INPUT-VIA-BREAK*"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">*request-terminal-input-via-break*</b></a>, <a class="xref" href="#f_make-lock" title="Function MAKE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-lock</b></a>, <a class="xref" href="#f_make-read-write-lock" title="Function MAKE-READ-WRITE-LOCK"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-read-write-lock</b></a>, <a class="xref" href="#f_make-semaphore" title="Function MAKE-SEMAPHORE"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-semaphore</b></a>, <a class="xref" href="#f_process-input-wait" title="Function PROCESS-INPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-input-wait</b></a>, <a class="xref" href="#f_process-output-wait" title="Function PROCESS-OUTPUT-WAIT"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-output-wait</b></a></span>
     
    956920383            <div>
    957020384              <div class="refsect1" lang="en" xml:lang="en">
    9571                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521419"></a>
     20385                <a xmlns="http://www.w3.org/1999/xhtml" id="id679166"></a>
    957220386                <div class="header">Arguments and Values:</div>
    957320387                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">process</span></i>---a process, typically created by <a xmlns="http://www.w3.org/1999/xhtml" class="xref" href="#f_process-run-function" title="Function PROCESS-RUN-FUNCTION"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">process-run-function</b></a> or by <a xmlns="http://www.w3.org/1999/xhtml" class="xref" href="#f_make-process" title="Function MAKE-PROCESS"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">make-process</b></a></p>
     
    957920393              </div>
    958020394              <div class="refsect1" lang="en" xml:lang="en">
    9581                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521477"></a>
     20395                <a xmlns="http://www.w3.org/1999/xhtml" id="id679232"></a>
    958220396                <div class="header">Description:</div>
    958320397                <p xmlns="http://www.w3.org/1999/xhtml">Waits for the specified process to terminate.  If the
     
    960120415          <div>
    960220416            <div>
    9603               <h2 class="title"><a id="Programming-with-Sockets"></a>Chapter 7. Programming with Sockets</h2>
     20417              <h2 class="title"><a id="Programming-with-Sockets"></a>Chapter 8. Programming with Sockets</h2>
    960420418            </div>
    960520419          </div>
     
    960920423            <dt>
    961020424              <span class="sect1">
    9611                 <a href="#Sockets-Overview">7.1. Overview</a>
     20425                <a href="#Sockets-Overview">8.1. Overview</a>
    961220426              </span>
    961320427            </dt>
    961420428            <dt>
    961520429              <span class="sect1">
    9616                 <a href="#Sockets-Dictionary">7.2. Sockets Dictionary</a>
     20430                <a href="#Sockets-Dictionary">8.2. Sockets Dictionary</a>
    961720431              </span>
    961820432            </dt>
     
    962320437            <div>
    962420438              <div>
    9625                 <h2 class="title" style="clear: both"><a id="Sockets-Overview"></a>7.1. Overview</h2>
     20439                <h2 class="title" style="clear: both"><a id="Sockets-Overview"></a>8.1. Overview</h2>
    962620440              </div>
    962720441            </div>
     
    969920513            <div>
    970020514              <div>
    9701                 <h2 class="title" style="clear: both"><a id="Sockets-Dictionary"></a>7.2. Sockets Dictionary</h2>
     20515                <h2 class="title" style="clear: both"><a id="Sockets-Dictionary"></a>8.2. Sockets Dictionary</h2>
    970220516              </div>
    970320517            </div>
     
    972020534            <div>
    972120535              <div class="refsect1" lang="en" xml:lang="en">
    9722                 <a xmlns="http://www.w3.org/1999/xhtml" id="id458958"></a>
     20536                <a xmlns="http://www.w3.org/1999/xhtml" id="id629854"></a>
    972320537                <div class="header">Arguments and Values:</div>
    972420538                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">address-family</span></i>---The address/protocol family of this socket. Currently
     
    979320607                specified number of seconds, an
    979420608                <code xmlns="http://www.w3.org/1999/xhtml" class="literal">input-timeout</code> error is signalled.
    9795                 (see <a xmlns="http://www.w3.org/1999/xhtml" class="xref" href="#Stream-Timeouts-And-Deadlines" title="9.1.4. Stream Timeouts and Deadlines">Section 9.1.4, “Stream Timeouts and Deadlines”</a>)</p>
     20609                (see <a xmlns="http://www.w3.org/1999/xhtml" class="xref" href="#Stream-Timeouts-And-Deadlines" title="10.1.4. Stream Timeouts and Deadlines">Section 10.1.4, “Stream Timeouts and Deadlines”</a>)</p>
    979620610                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">output-timeout</span></i>---The number of seconds before an output operation
    979720611                times out.  Must be a real number between zero and one
     
    979920613                specified number of seconds, an
    980020614                <code xmlns="http://www.w3.org/1999/xhtml" class="literal">output-timeout</code> error is signalled.
    9801                 (see <a xmlns="http://www.w3.org/1999/xhtml" class="xref" href="#Stream-Timeouts-And-Deadlines" title="9.1.4. Stream Timeouts and Deadlines">Section 9.1.4, “Stream Timeouts and Deadlines”</a>)</p>
     20615                (see <a xmlns="http://www.w3.org/1999/xhtml" class="xref" href="#Stream-Timeouts-And-Deadlines" title="10.1.4. Stream Timeouts and Deadlines">Section 10.1.4, “Stream Timeouts and Deadlines”</a>)</p>
    980220616                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">connect-timeout</span></i>---The number of seconds before a connection
    980320617                attempt times out. [TODO: what are acceptable values?]
     
    981720631                <code xmlns="http://www.w3.org/1999/xhtml" class="literal">COMMUNICATION-DEADLINE-EXPIRED</code>
    981820632                error is signalled.  A deadline takes precedence over
    9819                 any input/output timeouts that may be set.  (see <a xmlns="http://www.w3.org/1999/xhtml" class="xref" href="#Stream-Timeouts-And-Deadlines" title="9.1.4. Stream Timeouts and Deadlines">Section 9.1.4, “Stream Timeouts and Deadlines”</a>)</p>
     20633                any input/output timeouts that may be set.  (see <a xmlns="http://www.w3.org/1999/xhtml" class="xref" href="#Stream-Timeouts-And-Deadlines" title="10.1.4. Stream Timeouts and Deadlines">Section 10.1.4, “Stream Timeouts and Deadlines”</a>)</p>
    982020634              </div>
    982120635              <div class="refsect1" lang="en" xml:lang="en">
    9822                 <a xmlns="http://www.w3.org/1999/xhtml" id="id492760"></a>
     20636                <a xmlns="http://www.w3.org/1999/xhtml" id="id610203"></a>
    982320637                <div class="header">Description:</div>
    982420638                <p xmlns="http://www.w3.org/1999/xhtml">Creates and returns a new socket</p>
     
    983920653            <div>
    984020654              <div class="refsect1" lang="en" xml:lang="en">
    9841                 <a xmlns="http://www.w3.org/1999/xhtml" id="id492822"></a>
     20655                <a xmlns="http://www.w3.org/1999/xhtml" id="id631425"></a>
    984220656                <div class="header">Arguments and Values:</div>
    984320657                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The listener-socket to listen on.</p>
     
    984720661              </div>
    984820662              <div class="refsect1" lang="en" xml:lang="en">
    9849                 <a xmlns="http://www.w3.org/1999/xhtml" id="id492864"></a>
     20663                <a xmlns="http://www.w3.org/1999/xhtml" id="id631468"></a>
    985020664                <div class="header">Description:</div>
    985120665                <p xmlns="http://www.w3.org/1999/xhtml">Extracts the first connection on the queue of pending
     
    987320687            <div>
    987420688              <div class="refsect1" lang="en" xml:lang="en">
    9875                 <a xmlns="http://www.w3.org/1999/xhtml" id="id492929"></a>
     20689                <a xmlns="http://www.w3.org/1999/xhtml" id="id652151"></a>
    987620690                <div class="header">Arguments and Values:</div>
    987720691                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">dotted</span></i>---A string representing an IP address in the
     
    988120695              </div>
    988220696              <div class="refsect1" lang="en" xml:lang="en">
    9883                 <a xmlns="http://www.w3.org/1999/xhtml" id="id501834"></a>
     20697                <a xmlns="http://www.w3.org/1999/xhtml" id="id652192"></a>
    988420698                <div class="header">Description:</div>
    988520699                <p xmlns="http://www.w3.org/1999/xhtml">Converts a dotted-string representation of a host address to
     
    990120715            <div>
    990220716              <div class="refsect1" lang="en" xml:lang="en">
    9903                 <a xmlns="http://www.w3.org/1999/xhtml" id="id501896"></a>
     20717                <a xmlns="http://www.w3.org/1999/xhtml" id="id652254"></a>
    990420718                <div class="header">Arguments and Values:</div>
    990520719                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">ipaddr</span></i>---A 32-bit integer representing an internet host address</p>
     
    991020724              </div>
    991120725              <div class="refsect1" lang="en" xml:lang="en">
    9912                 <a xmlns="http://www.w3.org/1999/xhtml" id="id501938"></a>
     20726                <a xmlns="http://www.w3.org/1999/xhtml" id="id658993"></a>
    991320727                <div class="header">Description:</div>
    991420728                <p xmlns="http://www.w3.org/1999/xhtml">Converts a 32-bit unsigned IP address into octets.</p>
     
    992920743            <div>
    993020744              <div class="refsect1" lang="en" xml:lang="en">
    9931                 <a xmlns="http://www.w3.org/1999/xhtml" id="id501999"></a>
     20745                <a xmlns="http://www.w3.org/1999/xhtml" id="id659054"></a>
    993220746                <div class="header">Arguments and Values:</div>
    993320747                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">ipaddr</span></i>---a 32-bit integer representing an internet host address</p>
     
    993620750              </div>
    993720751              <div class="refsect1" lang="en" xml:lang="en">
    9938                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502039"></a>
     20752                <a xmlns="http://www.w3.org/1999/xhtml" id="id659094"></a>
    993920753                <div class="header">Description:</div>
    994020754                <p xmlns="http://www.w3.org/1999/xhtml">Converts a 32-bit unsigned IP address into a host name
     
    995620770            <div>
    995720771              <div class="refsect1" lang="en" xml:lang="en">
    9958                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502097"></a>
     20772                <a xmlns="http://www.w3.org/1999/xhtml" id="id652025"></a>
    995920773                <div class="header">Arguments and Values:</div>
    996020774                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">host</span></i>---Specifies the host. It can be either a host name
     
    996420778              </div>
    996520779              <div class="refsect1" lang="en" xml:lang="en">
    9966                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502124"></a>
     20780                <a xmlns="http://www.w3.org/1999/xhtml" id="id652053"></a>
    996720781                <div class="header">Description:</div>
    996820782                <p xmlns="http://www.w3.org/1999/xhtml">Converts a host spec in any of the acceptable formats into a
     
    998420798            <div>
    998520799              <div class="refsect1" lang="en" xml:lang="en">
    9986                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502182"></a>
     20800                <a xmlns="http://www.w3.org/1999/xhtml" id="id659294"></a>
    998720801                <div class="header">Arguments and Values:</div>
    998820802                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">port</span></i>---Specifies the port. It can be either a string, such as
     
    999320807              </div>
    999420808              <div class="refsect1" lang="en" xml:lang="en">
    9995                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502225"></a>
     20809                <a xmlns="http://www.w3.org/1999/xhtml" id="id659336"></a>
    999620810                <div class="header">Description:</div>
    999720811                <p xmlns="http://www.w3.org/1999/xhtml">Finds the port number for the specified port and protocol</p>
     
    1001320827            <div>
    1001420828              <div class="refsect1" lang="en" xml:lang="en">
    10015                 <a xmlns="http://www.w3.org/1999/xhtml" id="id494361"></a>
     20829                <a xmlns="http://www.w3.org/1999/xhtml" id="id659397"></a>
    1001620830                <div class="header">Arguments and Values:</div>
    1001720831                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket to read from</p>
     
    1003020844              </div>
    1003120845              <div class="refsect1" lang="en" xml:lang="en">
    10032                 <a xmlns="http://www.w3.org/1999/xhtml" id="id494452"></a>
     20846                <a xmlns="http://www.w3.org/1999/xhtml" id="id673384"></a>
    1003320847                <div class="header">Description:</div>
    1003420848                <p xmlns="http://www.w3.org/1999/xhtml">Reads a UDP packet from a socket. If no packets are
     
    1006720881            <div>
    1006820882              <div class="refsect1" lang="en" xml:lang="en">
    10069                 <a xmlns="http://www.w3.org/1999/xhtml" id="id494552"></a>
     20883                <a xmlns="http://www.w3.org/1999/xhtml" id="id649408"></a>
    1007020884                <div class="header">Arguments and Values:</div>
    1007120885                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket to write to</p>
     
    1008220896              </div>
    1008320897              <div class="refsect1" lang="en" xml:lang="en">
    10084                 <a xmlns="http://www.w3.org/1999/xhtml" id="id494654"></a>
     20898                <a xmlns="http://www.w3.org/1999/xhtml" id="id649511"></a>
    1008520899                <div class="header">Description:</div>
    1008620900                <p xmlns="http://www.w3.org/1999/xhtml">Send a UDP packet over a socket.</p>
     
    1010120915            <div>
    1010220916              <div class="refsect1" lang="en" xml:lang="en">
    10103                 <a xmlns="http://www.w3.org/1999/xhtml" id="id494716"></a>
     20917                <a xmlns="http://www.w3.org/1999/xhtml" id="id684594"></a>
    1010420918                <div class="header">Arguments and Values:</div>
    1010520919                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket to shut down (typically a tcp-stream)</p>
     
    1010820922              </div>
    1010920923              <div class="refsect1" lang="en" xml:lang="en">
    10110                 <a xmlns="http://www.w3.org/1999/xhtml" id="id494756"></a>
     20924                <a xmlns="http://www.w3.org/1999/xhtml" id="id684634"></a>
    1011120925                <div class="header">Description:</div>
    1011220926                <p xmlns="http://www.w3.org/1999/xhtml">Shuts down part of a bidirectional connection. This is
     
    1012920943            <div>
    1013020944              <div class="refsect1" lang="en" xml:lang="en">
    10131                 <a xmlns="http://www.w3.org/1999/xhtml" id="id500590"></a>
     20945                <a xmlns="http://www.w3.org/1999/xhtml" id="id684693"></a>
    1013220946                <div class="header">Arguments and Values:</div>
    1013320947                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket</p>
    1013420948              </div>
    1013520949              <div class="refsect1" lang="en" xml:lang="en">
    10136                 <a xmlns="http://www.w3.org/1999/xhtml" id="id500616"></a>
     20950                <a xmlns="http://www.w3.org/1999/xhtml" id="id659854"></a>
    1013720951                <div class="header">Description:</div>
    1013820952                <p xmlns="http://www.w3.org/1999/xhtml">Returns the native OS's representation of the socket, or
     
    1015920973            <div>
    1016020974              <div class="refsect1" lang="en" xml:lang="en">
    10161                 <a xmlns="http://www.w3.org/1999/xhtml" id="id500677"></a>
     20975                <a xmlns="http://www.w3.org/1999/xhtml" id="id659915"></a>
    1016220976                <div class="header">Arguments and Values:</div>
    1016320977                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket</p>
    1016420978              </div>
    1016520979              <div class="refsect1" lang="en" xml:lang="en">
    10166                 <a xmlns="http://www.w3.org/1999/xhtml" id="id500704"></a>
     20980                <a xmlns="http://www.w3.org/1999/xhtml" id="id659941"></a>
    1016720981                <div class="header">Description:</div>
    1016820982                <p xmlns="http://www.w3.org/1999/xhtml">Returns the 32-bit unsigned IP address of the remote host,
     
    1018420998            <div>
    1018520999              <div class="refsect1" lang="en" xml:lang="en">
    10186                 <a xmlns="http://www.w3.org/1999/xhtml" id="id500762"></a>
     21000                <a xmlns="http://www.w3.org/1999/xhtml" id="id659999"></a>
    1018721001                <div class="header">Arguments and Values:</div>
    1018821002                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket</p>
    1018921003              </div>
    1019021004              <div class="refsect1" lang="en" xml:lang="en">
    10191                 <a xmlns="http://www.w3.org/1999/xhtml" id="id500788"></a>
     21005                <a xmlns="http://www.w3.org/1999/xhtml" id="id644038"></a>
    1019221006                <div class="header">Description:</div>
    1019321007                <p xmlns="http://www.w3.org/1999/xhtml">Returns the remote port number, or NIL if the socket is not
     
    1020921023            <div>
    1021021024              <div class="refsect1" lang="en" xml:lang="en">
    10211                 <a xmlns="http://www.w3.org/1999/xhtml" id="id500845"></a>
     21025                <a xmlns="http://www.w3.org/1999/xhtml" id="id644095"></a>
    1021221026                <div class="header">Arguments and Values:</div>
    1021321027                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket</p>
    1021421028              </div>
    1021521029              <div class="refsect1" lang="en" xml:lang="en">
    10216                 <a xmlns="http://www.w3.org/1999/xhtml" id="id500871"></a>
     21030                <a xmlns="http://www.w3.org/1999/xhtml" id="id644122"></a>
    1021721031                <div class="header">Description:</div>
    1021821032                <p xmlns="http://www.w3.org/1999/xhtml">Returns 32-bit unsigned IP address of the local host.</p>
     
    1023321047            <div>
    1023421048              <div class="refsect1" lang="en" xml:lang="en">
    10235                 <a xmlns="http://www.w3.org/1999/xhtml" id="id500928"></a>
     21049                <a xmlns="http://www.w3.org/1999/xhtml" id="id644179"></a>
    1023621050                <div class="header">Arguments and Values:</div>
    1023721051                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket</p>
    1023821052              </div>
    1023921053              <div class="refsect1" lang="en" xml:lang="en">
    10240                 <a xmlns="http://www.w3.org/1999/xhtml" id="id500954"></a>
     21054                <a xmlns="http://www.w3.org/1999/xhtml" id="id644205"></a>
    1024121055                <div class="header">Description:</div>
    1024221056                <p xmlns="http://www.w3.org/1999/xhtml">Returns the local port number</p>
     
    1025721071            <div>
    1025821072              <div class="refsect1" lang="en" xml:lang="en">
    10259                 <a xmlns="http://www.w3.org/1999/xhtml" id="id501012"></a>
     21073                <a xmlns="http://www.w3.org/1999/xhtml" id="id659156"></a>
    1026021074                <div class="header">Arguments and Values:</div>
    1026121075                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket</p>
    1026221076              </div>
    1026321077              <div class="refsect1" lang="en" xml:lang="en">
    10264                 <a xmlns="http://www.w3.org/1999/xhtml" id="id501038"></a>
     21078                <a xmlns="http://www.w3.org/1999/xhtml" id="id659182"></a>
    1026521079                <div class="header">Description:</div>
    1026621080                <p xmlns="http://www.w3.org/1999/xhtml">Returns :internet or :file, as appropriate.</p>
     
    1028121095            <div>
    1028221096              <div class="refsect1" lang="en" xml:lang="en">
    10283                 <a xmlns="http://www.w3.org/1999/xhtml" id="id501095"></a>
     21097                <a xmlns="http://www.w3.org/1999/xhtml" id="id659239"></a>
    1028421098                <div class="header">Arguments and Values:</div>
    1028521099                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket</p>
    1028621100              </div>
    1028721101              <div class="refsect1" lang="en" xml:lang="en">
    10288                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506532"></a>
     21102                <a xmlns="http://www.w3.org/1999/xhtml" id="id659266"></a>
    1028921103                <div class="header">Description:</div>
    1029021104                <p xmlns="http://www.w3.org/1999/xhtml">Returns :active for tcp-stream, :passive for
     
    1030621120            <div>
    1030721121              <div class="refsect1" lang="en" xml:lang="en">
    10308                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506590"></a>
     21122                <a xmlns="http://www.w3.org/1999/xhtml" id="id683891"></a>
    1030921123                <div class="header">Arguments and Values:</div>
    1031021124                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket</p>
    1031121125              </div>
    1031221126              <div class="refsect1" lang="en" xml:lang="en">
    10313                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506616"></a>
     21127                <a xmlns="http://www.w3.org/1999/xhtml" id="id683917"></a>
    1031421128                <div class="header">Description:</div>
    1031521129                <p xmlns="http://www.w3.org/1999/xhtml">Returns the socket format as specified by the :format
     
    1033121145            <div>
    1033221146              <div class="refsect1" lang="en" xml:lang="en">
    10333                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506673"></a>
     21147                <a xmlns="http://www.w3.org/1999/xhtml" id="id683975"></a>
    1033421148                <div class="header">Arguments and Values:</div>
    1033521149                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket</p>
    1033621150              </div>
    1033721151              <div class="refsect1" lang="en" xml:lang="en">
    10338                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506699"></a>
     21152                <a xmlns="http://www.w3.org/1999/xhtml" id="id684001"></a>
    1033921153                <div class="header">Description:</div>
    1034021154                <p xmlns="http://www.w3.org/1999/xhtml">returns :stream for tcp-stream and listener-socket, and
     
    1035521169            <div>
    1035621170              <div class="refsect1" lang="en" xml:lang="en">
    10357                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506742"></a>
     21171                <a xmlns="http://www.w3.org/1999/xhtml" id="id684044"></a>
    1035821172                <div class="header">Description:</div>
    1035921173                <p xmlns="http://www.w3.org/1999/xhtml">The class of OS errors signaled by socket functions</p>
    1036021174              </div>
    1036121175              <div class="refsect1" lang="en" xml:lang="en">
    10362                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506753"></a>
     21176                <a xmlns="http://www.w3.org/1999/xhtml" id="id684054"></a>
    1036321177                <div class="header">Superclasses:</div>
    1036421178                <p xmlns="http://www.w3.org/1999/xhtml">simple-error</p>
     
    1037921193            <div>
    1038021194              <div class="refsect1" lang="en" xml:lang="en">
    10381                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506810"></a>
     21195                <a xmlns="http://www.w3.org/1999/xhtml" id="id668842"></a>
    1038221196                <div class="header">Arguments and Values:</div>
    1038321197                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket-error</span></i>---the condition</p>
    1038421198              </div>
    1038521199              <div class="refsect1" lang="en" xml:lang="en">
    10386                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506836"></a>
     21200                <a xmlns="http://www.w3.org/1999/xhtml" id="id668868"></a>
    1038721201                <div class="header">Description:</div>
    1038821202                <p xmlns="http://www.w3.org/1999/xhtml">The OS error code of the error</p>
     
    1040321217            <div>
    1040421218              <div class="refsect1" lang="en" xml:lang="en">
    10405                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506894"></a>
     21219                <a xmlns="http://www.w3.org/1999/xhtml" id="id668926"></a>
    1040621220                <div class="header">Arguments and Values:</div>
    1040721221                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket-error</span></i>---the condition</p>
    1040821222              </div>
    1040921223              <div class="refsect1" lang="en" xml:lang="en">
    10410                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506921"></a>
     21224                <a xmlns="http://www.w3.org/1999/xhtml" id="id668953"></a>
    1041121225                <div class="header">Description:</div>
    1041221226                <p xmlns="http://www.w3.org/1999/xhtml">A symbol representing the error code in a more
     
    1043221246            <div>
    1043321247              <div class="refsect1" lang="en" xml:lang="en">
    10434                 <a xmlns="http://www.w3.org/1999/xhtml" id="id506984"></a>
     21248                <a xmlns="http://www.w3.org/1999/xhtml" id="id669016"></a>
    1043521249                <div class="header">Arguments and Values:</div>
    1043621250                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket-error</span></i>---the condition</p>
    1043721251              </div>
    1043821252              <div class="refsect1" lang="en" xml:lang="en">
    10439                 <a xmlns="http://www.w3.org/1999/xhtml" id="id507010"></a>
     21253                <a xmlns="http://www.w3.org/1999/xhtml" id="id669575"></a>
    1044021254                <div class="header">Description:</div>
    1044121255                <p xmlns="http://www.w3.org/1999/xhtml">A string describing the context where the error happened. On
     
    1045821272            <div>
    1045921273              <div class="refsect1" lang="en" xml:lang="en">
    10460                 <a xmlns="http://www.w3.org/1999/xhtml" id="id507071"></a>
     21274                <a xmlns="http://www.w3.org/1999/xhtml" id="id669636"></a>
    1046121275                <div class="header">Arguments and Values:</div>
    1046221276                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">socket</span></i>---The socket to close</p>
     
    1046921283              </div>
    1047021284              <div class="refsect1" lang="en" xml:lang="en">
    10471                 <a xmlns="http://www.w3.org/1999/xhtml" id="id507114"></a>
     21285                <a xmlns="http://www.w3.org/1999/xhtml" id="id669680"></a>
    1047221286                <div class="header">Description:</div>
    1047321287                <p xmlns="http://www.w3.org/1999/xhtml">The close generic function can be applied to sockets. It
     
    1049021304            <div>
    1049121305              <div class="refsect1" lang="en" xml:lang="en">
    10492                 <a xmlns="http://www.w3.org/1999/xhtml" id="id501155"></a>
     21306                <a xmlns="http://www.w3.org/1999/xhtml" id="id669742"></a>
    1049321307                <div class="header">Arguments and Values:</div>
    1049421308                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">var</span></i>---variable to bind</p>
     
    1049721311              </div>
    1049821312              <div class="refsect1" lang="en" xml:lang="en">
    10499                 <a xmlns="http://www.w3.org/1999/xhtml" id="id501211"></a>
     21313                <a xmlns="http://www.w3.org/1999/xhtml" id="id669798"></a>
    1050021314                <div class="header">Description:</div>
    1050121315                <p xmlns="http://www.w3.org/1999/xhtml">executes body with var bound to the result of applying
     
    1051021324          <div>
    1051121325            <div>
    10512               <h2 class="title"><a id="Running-Other-Programs-as-Subprocesses"></a>Chapter 8. Running Other Programs as Subprocesses</h2>
     21326              <h2 class="title"><a id="Running-Other-Programs-as-Subprocesses"></a>Chapter 9. Running Other Programs as Subprocesses</h2>
    1051321327            </div>
    1051421328          </div>
     
    1051821332            <dt>
    1051921333              <span class="sect1">
    10520                 <a href="#Subprocess-Overview">8.1. Overview</a>
     21334                <a href="#Subprocess-Overview">9.1. Overview</a>
    1052121335              </span>
    1052221336            </dt>
    1052321337            <dt>
    1052421338              <span class="sect1">
    10525                 <a href="#Subprocess-Examples">8.2. Examples</a>
     21339                <a href="#Subprocess-Examples">9.2. Examples</a>
    1052621340              </span>
    1052721341            </dt>
    1052821342            <dt>
    1052921343              <span class="sect1">
    10530                 <a href="#Limitations-and-known-bugs">8.3. Limitations and known bugs</a>
     21344                <a href="#Limitations-and-known-bugs">9.3. Limitations and known bugs</a>
    1053121345              </span>
    1053221346            </dt>
    1053321347            <dt>
    1053421348              <span class="sect1">
    10535                 <a href="#External-Program-Dictionary">8.4. External-Program Dictionary</a>
     21349                <a href="#External-Program-Dictionary">9.4. External-Program Dictionary</a>
    1053621350              </span>
    1053721351            </dt>
     
    1054221356            <div>
    1054321357              <div>
    10544                 <h2 class="title" style="clear: both"><a id="Subprocess-Overview"></a>8.1. Overview</h2>
     21358                <h2 class="title" style="clear: both"><a id="Subprocess-Overview"></a>9.1. Overview</h2>
    1054521359              </div>
    1054621360            </div>
     
    1055921373            <div>
    1056021374              <div>
    10561                 <h2 class="title" style="clear: both"><a id="Subprocess-Examples"></a>8.2. Examples</h2>
     21375                <h2 class="title" style="clear: both"><a id="Subprocess-Examples"></a>9.2. Examples</h2>
    1056221376              </div>
    1056321377            </div>
     
    1058321397            <div>
    1058421398              <div>
    10585                 <h2 class="title" style="clear: both"><a id="Limitations-and-known-bugs"></a>8.3. Limitations and known bugs</h2>
     21399                <h2 class="title" style="clear: both"><a id="Limitations-and-known-bugs"></a>9.3. Limitations and known bugs</h2>
    1058621400              </div>
    1058721401            </div>
     
    1060821422            <div>
    1060921423              <div>
    10610                 <h2 class="title" style="clear: both"><a id="External-Program-Dictionary"></a>8.4. External-Program Dictionary</h2>
     21424                <h2 class="title" style="clear: both"><a id="External-Program-Dictionary"></a>9.4. External-Program Dictionary</h2>
    1061121425              </div>
    1061221426            </div>
     
    1062921443            <div>
    1063021444              <div class="refsect1" lang="en" xml:lang="en">
    10631                 <a xmlns="http://www.w3.org/1999/xhtml" id="id482804"></a>
     21445                <a xmlns="http://www.w3.org/1999/xhtml" id="id613494"></a>
    1063221446                <div class="header">Arguments and Values:</div>
    1063321447                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">program</span></i>---A string or pathname which denotes an executable file.
     
    1068021494              </div>
    1068121495              <div class="refsect1" lang="en" xml:lang="en">
    10682                 <a xmlns="http://www.w3.org/1999/xhtml" id="id483958"></a>
     21496                <a xmlns="http://www.w3.org/1999/xhtml" id="id604999"></a>
    1068321497                <div class="header">Description:</div>
    1068421498                <p xmlns="http://www.w3.org/1999/xhtml">Runs the specified program in an external (Unix) process,
     
    1070021514            <div>
    1070121515              <div class="refsect1" lang="en" xml:lang="en">
    10702                 <a xmlns="http://www.w3.org/1999/xhtml" id="id484017"></a>
     21516                <a xmlns="http://www.w3.org/1999/xhtml" id="id641076"></a>
    1070321517                <div class="header">Arguments and Values:</div>
    1070421518                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">proc</span></i>---An EXTERNAL-PROCESS, as returned by RUN-PROGRAM.</p>
     
    1070621520              </div>
    1070721521              <div class="refsect1" lang="en" xml:lang="en">
    10708                 <a xmlns="http://www.w3.org/1999/xhtml" id="id463425"></a>
     21522                <a xmlns="http://www.w3.org/1999/xhtml" id="id641117"></a>
    1070921523                <div class="header">Description:</div>
    1071021524                <p xmlns="http://www.w3.org/1999/xhtml">Sends the specified "signal" to the specified
     
    1072921543            <div>
    1073021544              <div class="refsect1" lang="en" xml:lang="en">
    10731                 <a xmlns="http://www.w3.org/1999/xhtml" id="id463486"></a>
     21545                <a xmlns="http://www.w3.org/1999/xhtml" id="id625357"></a>
    1073221546                <div class="header">Arguments and Values:</div>
    1073321547                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">proc</span></i>---An EXTERNAL-PROCESS, as returned by RUN-PROGRAM.</p>
    1073421548              </div>
    1073521549              <div class="refsect1" lang="en" xml:lang="en">
    10736                 <a xmlns="http://www.w3.org/1999/xhtml" id="id463512"></a>
     21550                <a xmlns="http://www.w3.org/1999/xhtml" id="id625383"></a>
    1073721551                <div class="header">Description:</div>
    1073821552                <p xmlns="http://www.w3.org/1999/xhtml">Returns the <span class="emphasis"><em>process id</em></span> assigned to
     
    1075621570            <div>
    1075721571              <div class="refsect1" lang="en" xml:lang="en">
    10758                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502635"></a>
     21572                <a xmlns="http://www.w3.org/1999/xhtml" id="id639197"></a>
    1075921573                <div class="header">Arguments and Values:</div>
    1076021574                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">proc</span></i>---An EXTERNAL-PROCESS, as returned by RUN-PROGRAM.</p>
    1076121575              </div>
    1076221576              <div class="refsect1" lang="en" xml:lang="en">
    10763                 <a xmlns="http://www.w3.org/1999/xhtml" id="id502661"></a>
     21577                <a xmlns="http://www.w3.org/1999/xhtml" id="id639222"></a>
    1076421578                <div class="header">Description:</div>
    1076521579                <p xmlns="http://www.w3.org/1999/xhtml">Returns the stream created when the input argument to
     
    1078221596            <div>
    1078321597              <div class="refsect1" lang="en" xml:lang="en">
    10784                 <a xmlns="http://www.w3.org/1999/xhtml" id="id458510"></a>
     21598                <a xmlns="http://www.w3.org/1999/xhtml" id="id683611"></a>
    1078521599                <div class="header">Arguments and Values:</div>
    1078621600                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">proc</span></i>---An EXTERNAL-PROCESS, as returned by RUN-PROGRAM.</p>
    1078721601              </div>
    1078821602              <div class="refsect1" lang="en" xml:lang="en">
    10789                 <a xmlns="http://www.w3.org/1999/xhtml" id="id458536"></a>
     21603                <a xmlns="http://www.w3.org/1999/xhtml" id="id683637"></a>
    1079021604                <div class="header">Description:</div>
    1079121605                <p xmlns="http://www.w3.org/1999/xhtml">Returns the stream created when the output argument to
     
    1080921623            <div>
    1081021624              <div class="refsect1" lang="en" xml:lang="en">
    10811                 <a xmlns="http://www.w3.org/1999/xhtml" id="id458597"></a>
     21625                <a xmlns="http://www.w3.org/1999/xhtml" id="id625165"></a>
    1081221626                <div class="header">Arguments and Values:</div>
    1081321627                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">proc</span></i>---An EXTERNAL-PROCESS, as returned by RUN-PROGRAM.</p>
    1081421628              </div>
    1081521629              <div class="refsect1" lang="en" xml:lang="en">
    10816                 <a xmlns="http://www.w3.org/1999/xhtml" id="id488650"></a>
     21630                <a xmlns="http://www.w3.org/1999/xhtml" id="id625190"></a>
    1081721631                <div class="header">Description:</div>
    1081821632                <p xmlns="http://www.w3.org/1999/xhtml">Returns the stream created when the error argument to
     
    1083621650            <div>
    1083721651              <div class="refsect1" lang="en" xml:lang="en">
    10838                 <a xmlns="http://www.w3.org/1999/xhtml" id="id488710"></a>
     21652                <a xmlns="http://www.w3.org/1999/xhtml" id="id625251"></a>
    1083921653                <div class="header">Arguments and Values:</div>
    1084021654                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">proc</span></i>---An EXTERNAL-PROCESS, as returned by RUN-PROGRAM.</p>
    1084121655              </div>
    1084221656              <div class="refsect1" lang="en" xml:lang="en">
    10843                 <a xmlns="http://www.w3.org/1999/xhtml" id="id488736"></a>
     21657                <a xmlns="http://www.w3.org/1999/xhtml" id="id617122"></a>
    1084421658                <div class="header">Description:</div>
    1084521659                <p xmlns="http://www.w3.org/1999/xhtml">Returns, as multiple values, a keyword denoting the status
     
    1085621670          <div>
    1085721671            <div>
    10858               <h2 class="title"><a id="Streams"></a>Chapter 9. Streams</h2>
     21672              <h2 class="title"><a id="Streams"></a>Chapter 10. Streams</h2>
    1085921673            </div>
    1086021674          </div>
     
    1086421678            <dt>
    1086521679              <span class="sect1">
    10866                 <a href="#CCL-Stream-Extensions">9.1. Stream Extensions</a>
     21680                <a href="#CCL-Stream-Extensions">10.1. Stream Extensions</a>
    1086721681              </span>
    1086821682            </dt>
     
    1087121685                <dt>
    1087221686                  <span class="sect2">
    10873                     <a href="#id488242">9.1.1. Stream External Format</a>
     21687                    <a href="#id612831">10.1.1. Stream External Format</a>
    1087421688                  </span>
    1087521689                </dt>
    1087621690                <dt>
    1087721691                  <span class="sect2">
    10878                     <a href="#Additional-Open-Keywords">9.1.2. Additional keywords for OPEN and MAKE-SOCKET</a>
     21692                    <a href="#Additional-Open-Keywords">10.1.2. Additional keywords for OPEN and MAKE-SOCKET</a>
    1087921693                  </span>
    1088021694                </dt>
    1088121695                <dt>
    1088221696                  <span class="sect2">
    10883                     <a href="#Basic-Versus-Fundamental-Streams">9.1.3. Basic Versus Fundamental Streams</a>
     21697                    <a href="#Basic-Versus-Fundamental-Streams">10.1.3. Basic Versus Fundamental Streams</a>
    1088421698                  </span>
    1088521699                </dt>
    1088621700                <dt>
    1088721701                  <span class="sect2">
    10888                     <a href="#Stream-Timeouts-And-Deadlines">9.1.4. Stream Timeouts and Deadlines</a>
     21702                    <a href="#Stream-Timeouts-And-Deadlines">10.1.4. Stream Timeouts and Deadlines</a>
    1088921703                  </span>
    1089021704                </dt>
    1089121705                <dt>
    1089221706                  <span class="sect2">
    10893                     <a href="#Open-File-Streams">9.1.5. Open File Streams</a>
     21707                    <a href="#Open-File-Streams">10.1.5. Open File Streams</a>
    1089421708                  </span>
    1089521709                </dt>
     
    1089821712            <dt>
    1089921713              <span class="sect1">
    10900                 <a href="#Creating-Your-Own-Stream-Classes-with-Gray-Streams">9.2. Creating Your Own Stream Classes with Gray Streams</a>
     21714                <a href="#Creating-Your-Own-Stream-Classes-with-Gray-Streams">10.2. Creating Your Own Stream Classes with Gray Streams</a>
    1090121715              </span>
    1090221716            </dt>
     
    1090521719                <dt>
    1090621720                  <span class="sect2">
    10907                     <a href="#Streams-Overview">9.2.1. Overview</a>
     21721                    <a href="#Streams-Overview">10.2.1. Overview</a>
    1090821722                  </span>
    1090921723                </dt>
    1091021724                <dt>
    1091121725                  <span class="sect2">
    10912                     <a href="#Extending-READ-SEQUENCE-and-WRITE-SEQUENCE">9.2.2. Extending READ-SEQUENCE and WRITE-SEQUENCE</a>
     21726                    <a href="#Extending-READ-SEQUENCE-and-WRITE-SEQUENCE">10.2.2. Extending READ-SEQUENCE and WRITE-SEQUENCE</a>
    1091321727                  </span>
    1091421728                </dt>
    1091521729                <dt>
    1091621730                  <span class="sect2">
    10917                     <a href="#Multibyte-I-O">9.2.3. Multibyte I/O</a>
     21731                    <a href="#Multibyte-I-O">10.2.3. Multibyte I/O</a>
    1091821732                  </span>
    1091921733                </dt>
    1092021734                <dt>
    1092121735                  <span class="sect2">
    10922                     <a href="#Gray-Streams-Dictionary">9.2.4. Gray Streams Dictionary</a>
     21736                    <a href="#Gray-Streams-Dictionary">10.2.4. Gray Streams Dictionary</a>
    1092321737                  </span>
    1092421738                </dt>
     
    1093121745            <div>
    1093221746              <div>
    10933                 <h2 class="title" style="clear: both"><a id="CCL-Stream-Extensions"></a>9.1. Stream Extensions</h2>
     21747                <h2 class="title" style="clear: both"><a id="CCL-Stream-Extensions"></a>10.1. Stream Extensions</h2>
    1093421748              </div>
    1093521749            </div>
     
    1093921753              <div>
    1094021754                <div>
    10941                   <h3 class="title"><a id="id488242"></a>9.1.1. Stream External Format</h3>
     21755                  <h3 class="title"><a id="id612831"></a>10.1.1. Stream External Format</h3>
    1094221756                </div>
    1094321757              </div>
     
    1095521769              <div>
    1095621770                <div>
    10957                   <h3 class="title"><a id="Additional-Open-Keywords"></a>9.1.2. Additional keywords for OPEN and MAKE-SOCKET</h3>
     21771                  <h3 class="title"><a id="Additional-Open-Keywords"></a>10.1.2. Additional keywords for OPEN and MAKE-SOCKET</h3>
    1095821772                </div>
    1095921773              </div>
     
    1104721861          a Gray stream, i.e. whether or not the stream is an instance
    1104821862          of <code class="literal">FUNDAMENTAL-STREAM</code> or
    11049           <code class="literal">CCL::BASIC-STREAM</code>(see <a class="xref" href="#Basic-Versus-Fundamental-Streams" title="9.1.3. Basic Versus Fundamental Streams">Section 9.1.3, “Basic Versus Fundamental Streams”</a>).  Defaults to
     21863          <code class="literal">CCL::BASIC-STREAM</code>(see <a class="xref" href="#Basic-Versus-Fundamental-Streams" title="10.1.3. Basic Versus Fundamental Streams">Section 10.1.3, “Basic Versus Fundamental Streams”</a>).  Defaults to
    1105021864          <code class="literal">T</code>.</p>
    1105121865                </dd>
     
    1105721871              <div>
    1105821872                <div>
    11059                   <h3 class="title"><a id="Basic-Versus-Fundamental-Streams"></a>9.1.3. Basic Versus Fundamental Streams</h3>
    11060                 </div>
    11061               </div>
    11062             </div>
    11063             <p xmlns="http://www.w3.org/1999/xhtml">Gray streams (see <a class="xref" href="#Creating-Your-Own-Stream-Classes-with-Gray-Streams" title="9.2. Creating Your Own Stream Classes with Gray Streams">Section 9.2, “Creating Your Own Stream Classes with Gray Streams”</a>)
     21873                  <h3 class="title"><a id="Basic-Versus-Fundamental-Streams"></a>10.1.3. Basic Versus Fundamental Streams</h3>
     21874                </div>
     21875              </div>
     21876            </div>
     21877            <p xmlns="http://www.w3.org/1999/xhtml">Gray streams (see <a class="xref" href="#Creating-Your-Own-Stream-Classes-with-Gray-Streams" title="10.2. Creating Your Own Stream Classes with Gray Streams">Section 10.2, “Creating Your Own Stream Classes with Gray Streams”</a>)
    1106421878      all inherit from <code class="literal">FUNDAMENTAL-STREAM</code> whereas
    1106521879      basic streams inherit from <code class="literal">CCL::BASIC-STREAM</code>.
     
    1109821912              <div>
    1109921913                <div>
    11100                   <h3 class="title"><a id="Stream-Timeouts-And-Deadlines"></a>9.1.4. Stream Timeouts and Deadlines</h3>
    11101                 </div>
    11102               </div>
    11103             </div>
    11104             <a xmlns="http://www.w3.org/1999/xhtml" id="id481519" class="indexterm"></a>
    11105             <a xmlns="http://www.w3.org/1999/xhtml" id="id481529" class="indexterm"></a>
    11106             <a xmlns="http://www.w3.org/1999/xhtml" id="id481539" class="indexterm"></a>
    11107             <a xmlns="http://www.w3.org/1999/xhtml" id="id481548" class="indexterm"></a>
    11108             <a xmlns="http://www.w3.org/1999/xhtml" id="id500066" class="indexterm"></a>
    11109             <a xmlns="http://www.w3.org/1999/xhtml" id="id500075" class="indexterm"></a>
     21914                  <h3 class="title"><a id="Stream-Timeouts-And-Deadlines"></a>10.1.4. Stream Timeouts and Deadlines</h3>
     21915                </div>
     21916              </div>
     21917            </div>
     21918            <a xmlns="http://www.w3.org/1999/xhtml" id="id669160" class="indexterm"></a>
     21919            <a xmlns="http://www.w3.org/1999/xhtml" id="id669170" class="indexterm"></a>
     21920            <a xmlns="http://www.w3.org/1999/xhtml" id="id669180" class="indexterm"></a>
     21921            <a xmlns="http://www.w3.org/1999/xhtml" id="id669190" class="indexterm"></a>
     21922            <a xmlns="http://www.w3.org/1999/xhtml" id="id673877" class="indexterm"></a>
     21923            <a xmlns="http://www.w3.org/1999/xhtml" id="id673886" class="indexterm"></a>
    1111021924            <p xmlns="http://www.w3.org/1999/xhtml">A stream that is associated with a file descriptor has
    1111121925        attributes and accessors:
     
    1113221946              <div>
    1113321947                <div>
    11134                   <h3 class="title"><a id="Open-File-Streams"></a>9.1.5. Open File Streams</h3>
     21948                  <h3 class="title"><a id="Open-File-Streams"></a>10.1.5. Open File Streams</h3>
    1113521949                </div>
    1113621950              </div>
     
    1116021974              <div>
    1116121975                <div class="refsect1" lang="en" xml:lang="en">
    11162                   <a xmlns="http://www.w3.org/1999/xhtml" id="id500241"></a>
     21976                  <a xmlns="http://www.w3.org/1999/xhtml" id="id674052"></a>
    1116321977                  <div class="header">Values:</div>
    1116421978                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">stream-list</span></i>---A list of open file streams.  This is a copy of
     
    1116721981                </div>
    1116821982                <div class="refsect1" lang="en" xml:lang="en">
    11169                   <a xmlns="http://www.w3.org/1999/xhtml" id="id500268"></a>
     21983                  <a xmlns="http://www.w3.org/1999/xhtml" id="id674079"></a>
    1117021984                  <div class="header">Description:</div>
    1117121985                  <p xmlns="http://www.w3.org/1999/xhtml">Returns a list of open file streams.</p>
    1117221986                </div>
    1117321987                <div class="refsect1" lang="en" xml:lang="en">
    11174                   <a xmlns="http://www.w3.org/1999/xhtml" id="id500279"></a>
     21988                  <a xmlns="http://www.w3.org/1999/xhtml" id="id674090"></a>
    1117521989                  <div class="header">See Also:</div>
    1117621990                  <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_note-open-file-stream" title="Function NOTE-OPEN-FILE-STREAM"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">note-open-file-stream</b></a>, <a class="xref" href="#f_remove-open-file-stream" title="Function REMOVE-OPEN-FILE-STREAM"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">remove-open-file-stream</b></a></span>
     
    1119522009              <div>
    1119622010                <div class="refsect1" lang="en" xml:lang="en">
    11197                   <a xmlns="http://www.w3.org/1999/xhtml" id="id500360"></a>
     22011                  <a xmlns="http://www.w3.org/1999/xhtml" id="id671998"></a>
    1119822012                  <div class="header">Arguments:</div>
    1119922013                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">file-stream</span></i>---A file stream.</p>
    1120022014                </div>
    1120122015                <div class="refsect1" lang="en" xml:lang="en">
    11202                   <a xmlns="http://www.w3.org/1999/xhtml" id="id500386"></a>
     22016                  <a xmlns="http://www.w3.org/1999/xhtml" id="id672024"></a>
    1120322017                  <div class="header">Description:</div>
    1120422018                  <p xmlns="http://www.w3.org/1999/xhtml">Adds a file stream to the internal list of open
     
    1120922023                </div>
    1121022024                <div class="refsect1" lang="en" xml:lang="en">
    11211                   <a xmlns="http://www.w3.org/1999/xhtml" id="id500405"></a>
     22025                  <a xmlns="http://www.w3.org/1999/xhtml" id="id672043"></a>
    1121222026                  <div class="header">See Also:</div>
    1121322027                  <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_open-file-streams" title="Function OPEN-FILE-STREAMS"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">open-file-streams</b></a>, <a class="xref" href="#f_remove-open-file-stream" title="Function REMOVE-OPEN-FILE-STREAM"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">remove-open-file-stream</b></a></span>
     
    1123222046              <div>
    1123322047                <div class="refsect1" lang="en" xml:lang="en">
    11234                   <a xmlns="http://www.w3.org/1999/xhtml" id="id500486"></a>
     22048                  <a xmlns="http://www.w3.org/1999/xhtml" id="id672124"></a>
    1123522049                  <div class="header">Arguments:</div>
    1123622050                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">file-stream</span></i>---A file stream.</p>
    1123722051                </div>
    1123822052                <div class="refsect1" lang="en" xml:lang="en">
    11239                   <a xmlns="http://www.w3.org/1999/xhtml" id="id500512"></a>
     22053                  <a xmlns="http://www.w3.org/1999/xhtml" id="id672151"></a>
    1124022054                  <div class="header">Description:</div>
    1124122055                  <p xmlns="http://www.w3.org/1999/xhtml">Remove file stream from the internal list of open file
     
    1124622060                </div>
    1124722061                <div class="refsect1" lang="en" xml:lang="en">
    11248                   <a xmlns="http://www.w3.org/1999/xhtml" id="id500531"></a>
     22062                  <a xmlns="http://www.w3.org/1999/xhtml" id="id672170"></a>
    1124922063                  <div class="header">See Also:</div>
    1125022064                  <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist"><a class="xref" href="#f_open-file-streams" title="Function OPEN-FILE-STREAMS"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">open-file-streams</b></a>, <a class="xref" href="#f_note-open-file-stream" title="Function NOTE-OPEN-FILE-STREAM"><b xmlns="http://www.w3.org/TR/xhtml1/transitional">note-open-file-stream</b></a></span>
     
    1125822072            <div>
    1125922073              <div>
    11260                 <h2 class="title" style="clear: both"><a id="Creating-Your-Own-Stream-Classes-with-Gray-Streams"></a>9.2. Creating Your Own Stream Classes with Gray Streams</h2>
     22074                <h2 class="title" style="clear: both"><a id="Creating-Your-Own-Stream-Classes-with-Gray-Streams"></a>10.2. Creating Your Own Stream Classes with Gray Streams</h2>
    1126122075              </div>
    1126222076            </div>
     
    1126622080              <div>
    1126722081                <div>
    11268                   <h3 class="title"><a id="Streams-Overview"></a>9.2.1. Overview</h3>
     22082                  <h3 class="title"><a id="Streams-Overview"></a>10.2.1. Overview</h3>
    1126922083                </div>
    1127022084              </div>
     
    1156722381              <div>
    1156822382                <div>
    11569                   <h3 class="title"><a id="Extending-READ-SEQUENCE-and-WRITE-SEQUENCE"></a>9.2.2. Extending READ-SEQUENCE and WRITE-SEQUENCE</h3>
     22383                  <h3 class="title"><a id="Extending-READ-SEQUENCE-and-WRITE-SEQUENCE"></a>10.2.2. Extending READ-SEQUENCE and WRITE-SEQUENCE</h3>
    1157022384                </div>
    1157122385              </div>
     
    1157522389                <div>
    1157622390                  <div>
    11577                     <h4 class="title"><a id="extending-read-write-overview"></a>9.2.2.1. Overview</h4>
     22391                    <h4 class="title"><a id="extending-read-write-overview"></a>10.2.2.1. Overview</h4>
    1157822392                  </div>
    1157922393                </div>
     
    1159622410                <div>
    1159722411                  <div>
    11598                     <h4 class="title"><a id="Notes"></a>9.2.2.2. Notes</h4>
     22412                    <h4 class="title"><a id="Notes"></a>10.2.2.2. Notes</h4>
    1159922413                  </div>
    1160022414                </div>
     
    1161022424                <div>
    1161122425                  <div>
    11612                     <h4 class="title"><a id="Example"></a>9.2.2.3. Example</h4>
     22426                    <h4 class="title"><a id="Example"></a>10.2.2.3. Example</h4>
    1161322427                  </div>
    1161422428                </div>
     
    1163822452              <div>
    1163922453                <div>
    11640                   <h3 class="title"><a id="Multibyte-I-O"></a>9.2.3. Multibyte I/O</h3>
     22454                  <h3 class="title"><a id="Multibyte-I-O"></a>10.2.3. Multibyte I/O</h3>
    1164122455                </div>
    1164222456              </div>
     
    1166222476              <div>
    1166322477                <div>
    11664                   <h3 class="title"><a id="Gray-Streams-Dictionary"></a>9.2.4. Gray Streams Dictionary</h3>
     22478                  <h3 class="title"><a id="Gray-Streams-Dictionary"></a>10.2.4. Gray Streams Dictionary</h3>
    1166522479                </div>
    1166622480              </div>
     
    1167922493              <div>
    1168022494                <div class="refsect1" lang="en" xml:lang="en">
    11681                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513059"></a>
     22495                  <a xmlns="http://www.w3.org/1999/xhtml" id="id672756"></a>
    1168222496                  <div class="header">Arguments and Values:</div>
    1168322497                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">stream</span></i>---a stream, presumably a fundamental-input-stream.</p>
     
    1169022504                </div>
    1169122505                <div class="refsect1" lang="en" xml:lang="en">
    11692                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513117"></a>
     22506                  <a xmlns="http://www.w3.org/1999/xhtml" id="id672815"></a>
    1169322507                  <div class="header">Description:</div>
    1169422508                  <p xmlns="http://www.w3.org/1999/xhtml">Should try to read up to count elements from stream into the
     
    1171122525              <div>
    1171222526                <div class="refsect1" lang="en" xml:lang="en">
    11713                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513176"></a>
     22527                  <a xmlns="http://www.w3.org/1999/xhtml" id="id672874"></a>
    1171422528                  <div class="header">Arguments and Values:</div>
    1171522529                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">stream</span></i>---a stream, presumably a fundamental-output-stream.</p>
     
    1172222536                </div>
    1172322537                <div class="refsect1" lang="en" xml:lang="en">
    11724                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513234"></a>
     22538                  <a xmlns="http://www.w3.org/1999/xhtml" id="id672932"></a>
    1172522539                  <div class="header">Description:</div>
    1172622540                  <p xmlns="http://www.w3.org/1999/xhtml">should try to write the first count elements of list to
     
    1174222556              <div>
    1174322557                <div class="refsect1" lang="en" xml:lang="en">
    11744                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513293"></a>
     22558                  <a xmlns="http://www.w3.org/1999/xhtml" id="id672990"></a>
    1174522559                  <div class="header">Arguments and Values:</div>
    1174622560                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">stream</span></i>---a stream, presumably a fundamental-input-stream</p>
     
    1175822572                </div>
    1175922573                <div class="refsect1" lang="en" xml:lang="en">
    11760                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513368"></a>
     22574                  <a xmlns="http://www.w3.org/1999/xhtml" id="id673066"></a>
    1176122575                  <div class="header">Description:</div>
    1176222576                  <p xmlns="http://www.w3.org/1999/xhtml">should try to read successive elements from stream into
     
    1178122595              <div>
    1178222596                <div class="refsect1" lang="en" xml:lang="en">
    11783                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513428"></a>
     22597                  <a xmlns="http://www.w3.org/1999/xhtml" id="id673126"></a>
    1178422598                  <div class="header">Arguments and Values:</div>
    1178522599                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">stream</span></i>---a stream, presumably a fundamental-output-stream</p>
     
    1179722611                </div>
    1179822612                <div class="refsect1" lang="en" xml:lang="en">
    11799                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513503"></a>
     22613                  <a xmlns="http://www.w3.org/1999/xhtml" id="id673201"></a>
    1180022614                  <div class="header">Description:</div>
    1180122615                  <p xmlns="http://www.w3.org/1999/xhtml">should try to write successive elements of vector to stream,
     
    1181922633              <div>
    1182022634                <div class="refsect1" lang="en" xml:lang="en">
    11821                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513563"></a>
     22635                  <a xmlns="http://www.w3.org/1999/xhtml" id="id673261"></a>
    1182222636                  <div class="header">Method Signatures:</div>
    1182322637                  <div class="synopsis"><span xmlns="http://www.w3.org/1999/xhtml" class="function"><strong>ccl::stream-device</strong></span> <i>
     
    1182522639                </div>
    1182622640                <div class="refsect1" lang="en" xml:lang="en">
    11827                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513581"></a>
     22641                  <a xmlns="http://www.w3.org/1999/xhtml" id="id673279"></a>
    1182822642                  <div class="header">Arguments and Values:</div>
    1182922643                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">s</span></i>---a stream.</p>
     
    1183622650                </div>
    1183722651                <div class="refsect1" lang="en" xml:lang="en">
    11838                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513647"></a>
     22652                  <a xmlns="http://www.w3.org/1999/xhtml" id="id682159"></a>
    1183922653                  <div class="header">Description:</div>
    1184022654                  <p xmlns="http://www.w3.org/1999/xhtml">Returns the file descriptor associated with
     
    1186022674              <div>
    1186122675                <div class="refsect1" lang="en" xml:lang="en">
    11862                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513716"></a>
     22676                  <a xmlns="http://www.w3.org/1999/xhtml" id="id682229"></a>
    1186322677                  <div class="header">Description:</div>
    1186422678                  <p xmlns="http://www.w3.org/1999/xhtml">Reads up to max-octets octets from stream into ivector,
     
    1186722681                </div>
    1186822682                <div class="refsect1" lang="en" xml:lang="en">
    11869                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513728"></a>
     22683                  <a xmlns="http://www.w3.org/1999/xhtml" id="id682241"></a>
    1187022684                  <div class="header">Arguments:</div>
    1187122685                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">stream</span></i>---An input stream. The method defined on
     
    1189222706              <div>
    1189322707                <div class="refsect1" lang="en" xml:lang="en">
    11894                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513848"></a>
     22708                  <a xmlns="http://www.w3.org/1999/xhtml" id="id682360"></a>
    1189522709                  <div class="header">Description:</div>
    1189622710                  <p xmlns="http://www.w3.org/1999/xhtml">Writes max-octets octets to stream from ivector, starting at
     
    1189822712                </div>
    1189922713                <div class="refsect1" lang="en" xml:lang="en">
    11900                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513860"></a>
     22714                  <a xmlns="http://www.w3.org/1999/xhtml" id="id682372"></a>
    1190122715                  <div class="header">Arguments:</div>
    1190222716                  <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">stream</span></i>---An input stream. The method defined on
     
    1190822722                </div>
    1190922723                <div class="refsect1" lang="en" xml:lang="en">
    11910                   <a xmlns="http://www.w3.org/1999/xhtml" id="id513932"></a>
     22724                  <a xmlns="http://www.w3.org/1999/xhtml" id="id682444"></a>
    1191122725                  <div class="header">Examples:</div>
    1191222726                  <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     
    1195122765          <div>
    1195222766            <div>
    11953               <h2 class="title"><a id="Writing-Portable-Extensions-to-the-Object-System-using-the-MetaObject-Protocol"></a>Chapter 10. Writing Portable Extensions to the Object System  using the MetaObject Protocol</h2>
     22767              <h2 class="title"><a id="Writing-Portable-Extensions-to-the-Object-System-using-the-MetaObject-Protocol"></a>Chapter 11. Writing Portable Extensions to the Object System  using the MetaObject Protocol</h2>
    1195422768            </div>
    1195522769          </div>
     
    1195922773            <dt>
    1196022774              <span class="sect1">
    11961                 <a href="#MOP-Overview">10.1. Overview</a>
     22775                <a href="#MOP-Overview">11.1. Overview</a>
    1196222776              </span>
    1196322777            </dt>
    1196422778            <dt>
    1196522779              <span class="sect1">
    11966                 <a href="#MOP-Implementation-status">10.2. Implementation status</a>
     22780                <a href="#MOP-Implementation-status">11.2. Implementation status</a>
    1196722781              </span>
    1196822782            </dt>
    1196922783            <dt>
    1197022784              <span class="sect1">
    11971                 <a href="#Concurrency-issues">10.3. Concurrency issues</a>
     22785                <a href="#Concurrency-issues">11.3. Concurrency issues</a>
    1197222786              </span>
    1197322787            </dt>
     
    1197822792            <div>
    1197922793              <div>
    11980                 <h2 class="title" style="clear: both"><a id="MOP-Overview"></a>10.1. Overview</h2>
     22794                <h2 class="title" style="clear: both"><a id="MOP-Overview"></a>11.1. Overview</h2>
    1198122795              </div>
    1198222796            </div>
     
    1199322807            <div>
    1199422808              <div>
    11995                 <h2 class="title" style="clear: both"><a id="MOP-Implementation-status"></a>10.2. Implementation status</h2>
     22809                <h2 class="title" style="clear: both"><a id="MOP-Implementation-status"></a>11.2. Implementation status</h2>
    1199622810              </div>
    1199722811            </div>
     
    1260823422            <div>
    1260923423              <div>
    12610                 <h2 class="title" style="clear: both"><a id="Concurrency-issues"></a>10.3. Concurrency issues</h2>
     23424                <h2 class="title" style="clear: both"><a id="Concurrency-issues"></a>11.3. Concurrency issues</h2>
    1261123425              </div>
    1261223426            </div>
     
    1264523459          <div>
    1264623460            <div>
    12647               <h2 class="title"><a id="Profiling"></a>Chapter 11. Profiling</h2>
     23461              <h2 class="title"><a id="Profiling"></a>Chapter 12. Profiling</h2>
    1264823462            </div>
    1264923463          </div>
     
    1265323467            <dt>
    1265423468              <span class="sect1">
    12655                 <a href="#Profiling-Using-the-Linux-oprofile-system-level-profiler">11.1. Using the Linux oprofile system-level profiler</a>
     23469                <a href="#Profiling-Using-the-Linux-oprofile-system-level-profiler">12.1. Using the Linux oprofile system-level profiler</a>
    1265623470              </span>
    1265723471            </dt>
     
    1266023474                <dt>
    1266123475                  <span class="sect2">
    12662                     <a href="#Profiling-oprofile-generating-a-lisp-image-for-use-with-oprofile">11.1.1. Generating a lisp image for use with oprofile</a>
     23476                    <a href="#Profiling-oprofile-generating-a-lisp-image-for-use-with-oprofile">12.1.1. Generating a lisp image for use with oprofile</a>
    1266323477                  </span>
    1266423478                </dt>
    1266523479                <dt>
    1266623480                  <span class="sect2">
    12667                     <a href="#Profiling-oprofile-prerequisites">11.1.2. Prerequisites</a>
     23481                    <a href="#Profiling-oprofile-prerequisites">12.1.2. Prerequisites</a>
    1266823482                  </span>
    1266923483                </dt>
    1267023484                <dt>
    1267123485                  <span class="sect2">
    12672                     <a href="#Profiling-oprofile-generating-elf-symbols-for-lisp-functions">11.1.3. Generating ELF symbols for Lisp functions</a>
     23486                    <a href="#Profiling-oprofile-generating-elf-symbols-for-lisp-functions">12.1.3. Generating ELF symbols for Lisp functions</a>
    1267323487                  </span>
    1267423488                </dt>
    1267523489                <dt>
    1267623490                  <span class="sect2">
    12677                     <a href="#Profiling-oprofile-example">11.1.4. Example</a>
     23491                    <a href="#Profiling-oprofile-example">12.1.4. Example</a>
    1267823492                  </span>
    1267923493                </dt>
    1268023494                <dt>
    1268123495                  <span class="sect2">
    12682                     <a href="#Profiling-oprofile-Issues">11.1.5. Issues</a>
     23496                    <a href="#Profiling-oprofile-Issues">12.1.5. Issues</a>
    1268323497                  </span>
    1268423498                </dt>
     
    1268723501            <dt>
    1268823502              <span class="sect1">
    12689                 <a href="#Profiling-Using-Apples-CHUD-metering-tools">11.2. Using Apple's CHUD metering tools</a>
     23503                <a href="#Profiling-Using-Apples-CHUD-metering-tools">12.2. Using Apple's CHUD metering tools</a>
    1269023504              </span>
    1269123505            </dt>
     
    1269423508                <dt>
    1269523509                  <span class="sect2">
    12696                     <a href="#Profiling-CHUD-prerequisites">11.2.1. Prerequisites</a>
     23510                    <a href="#Profiling-CHUD-prerequisites">12.2.1. Prerequisites</a>
    1269723511                  </span>
    1269823512                </dt>
    1269923513                <dt>
    1270023514                  <span class="sect2">
    12701                     <a href="#id501560">11.2.2. Generating a lisp image for use with Shark</a>
     23515                    <a href="#id637856">12.2.2. Generating a lisp image for use with Shark</a>
    1270223516                  </span>
    1270323517                </dt>
    1270423518                <dt>
    1270523519                  <span class="sect2">
    12706                     <a href="#Profiling-CHUD-usage-synopsis">11.2.3. Usage synopsis</a>
     23520                    <a href="#Profiling-CHUD-usage-synopsis">12.2.3. Usage synopsis</a>
    1270723521                  </span>
    1270823522                </dt>
    1270923523                <dt>
    1271023524                  <span class="sect2">
    12711                     <a href="#Profiling-CHUD-profiling-configurations">11.2.4. Profiling "configurations"</a>
     23525                    <a href="#Profiling-CHUD-profiling-configurations">12.2.4. Profiling "configurations"</a>
    1271223526                  </span>
    1271323527                </dt>
    1271423528                <dt>
    1271523529                  <span class="sect2">
    12716                     <a href="#Profiling-CHUD-Reference">11.2.5. Reference</a>
     23530                    <a href="#Profiling-CHUD-Reference">12.2.5. Reference</a>
    1271723531                  </span>
    1271823532                </dt>
    1271923533                <dt>
    1272023534                  <span class="sect2">
    12721                     <a href="#Profiling-CHUD-Acknowledgments">11.2.6. Acknowledgement</a>
     23535                    <a href="#Profiling-CHUD-Acknowledgments">12.2.6. Acknowledgement</a>
    1272223536                  </span>
    1272323537                </dt>
     
    1273023544            <div>
    1273123545              <div>
    12732                 <h2 class="title" style="clear: both"><a id="Profiling-Using-the-Linux-oprofile-system-level-profiler"></a>11.1. Using the Linux oprofile system-level profiler</h2>
     23546                <h2 class="title" style="clear: both"><a id="Profiling-Using-the-Linux-oprofile-system-level-profiler"></a>12.1. Using the Linux oprofile system-level profiler</h2>
    1273323547              </div>
    1273423548            </div>
     
    1274523559              <div>
    1274623560                <div>
    12747                   <h3 class="title"><a id="Profiling-oprofile-generating-a-lisp-image-for-use-with-oprofile"></a>11.1.1. Generating a lisp image for use with oprofile</h3>
     23561                  <h3 class="title"><a id="Profiling-oprofile-generating-a-lisp-image-for-use-with-oprofile"></a>12.1.1. Generating a lisp image for use with oprofile</h3>
    1274823562                </div>
    1274923563              </div>
     
    1276223576              <div>
    1276323577                <div>
    12764                   <h3 class="title"><a id="Profiling-oprofile-prerequisites"></a>11.1.2. Prerequisites</h3>
     23578                  <h3 class="title"><a id="Profiling-oprofile-prerequisites"></a>12.1.2. Prerequisites</h3>
    1276523579                </div>
    1276623580              </div>
     
    1279423608              <div>
    1279523609                <div>
    12796                   <h3 class="title"><a id="Profiling-oprofile-generating-elf-symbols-for-lisp-functions"></a>11.1.3. Generating ELF symbols for Lisp functions</h3>
     23610                  <h3 class="title"><a id="Profiling-oprofile-generating-elf-symbols-for-lisp-functions"></a>12.1.3. Generating ELF symbols for Lisp functions</h3>
    1279723611                </div>
    1279823612              </div>
     
    1284923663              <div>
    1285023664                <div>
    12851                   <h3 class="title"><a id="Profiling-oprofile-example"></a>11.1.4. Example</h3>
     23665                  <h3 class="title"><a id="Profiling-oprofile-example"></a>12.1.4. Example</h3>
    1285223666                </div>
    1285323667              </div>
     
    1291823732              <div>
    1291923733                <div>
    12920                   <h3 class="title"><a id="Profiling-oprofile-Issues"></a>11.1.5. Issues</h3>
     23734                  <h3 class="title"><a id="Profiling-oprofile-Issues"></a>12.1.5. Issues</h3>
    1292123735                </div>
    1292223736              </div>
     
    1293823752            <div>
    1293923753              <div>
    12940                 <h2 class="title" style="clear: both"><a id="Profiling-Using-Apples-CHUD-metering-tools"></a>11.2. Using Apple's CHUD metering tools</h2>
     23754                <h2 class="title" style="clear: both"><a id="Profiling-Using-Apples-CHUD-metering-tools"></a>12.2. Using Apple's CHUD metering tools</h2>
    1294123755              </div>
    1294223756            </div>
     
    1295823772              <div>
    1295923773                <div>
    12960                   <h3 class="title"><a id="Profiling-CHUD-prerequisites"></a>11.2.1. Prerequisites</h3>
     23774                  <h3 class="title"><a id="Profiling-CHUD-prerequisites"></a>12.2.1. Prerequisites</h3>
    1296123775                </div>
    1296223776              </div>
     
    1297723791              <div>
    1297823792                <div>
    12979                   <h3 class="title"><a id="id501560"></a>11.2.2. Generating a lisp image for use with Shark</h3>
     23793                  <h3 class="title"><a id="id637856"></a>12.2.2. Generating a lisp image for use with Shark</h3>
    1298023794                </div>
    1298123795              </div>
     
    1299823812              <div>
    1299923813                <div>
    13000                   <h3 class="title"><a id="Profiling-CHUD-usage-synopsis"></a>11.2.3. Usage synopsis</h3>
     23814                  <h3 class="title"><a id="Profiling-CHUD-usage-synopsis"></a>12.2.3. Usage synopsis</h3>
    1300123815                </div>
    1300223816              </div>
     
    1305123865              <div>
    1305223866                <div>
    13053                   <h3 class="title"><a id="Profiling-CHUD-profiling-configurations"></a>11.2.4. Profiling "configurations"</h3>
     23867                  <h3 class="title"><a id="Profiling-CHUD-profiling-configurations"></a>12.2.4. Profiling "configurations"</h3>
    1305423868                </div>
    1305523869              </div>
     
    1308423898              <div>
    1308523899                <div>
    13086                   <h3 class="title"><a id="Profiling-CHUD-Reference"></a>11.2.5. Reference</h3>
    13087                 </div>
    13088               </div>
    13089             </div>
    13090             <p xmlns="http://www.w3.org/1999/xhtml"><a id="id506187" class="indexterm"></a>
     23900                  <h3 class="title"><a id="Profiling-CHUD-Reference"></a>12.2.5. Reference</h3>
     23901                </div>
     23902              </div>
     23903            </div>
     23904            <p xmlns="http://www.w3.org/1999/xhtml"><a id="id638080" class="indexterm"></a>
    1309123905      <span class="command"><strong><em class="varname"><a id="chud_shark-config-file"></a>CHUD:*SHARK-CONFIG-FILE*</em>
    1309223906      [Variable]</strong></span></p>
     
    1309423908      profiling configuration file created by the "Config Editor" in
    1309523909      Shark.app.</p>
    13096             <p xmlns="http://www.w3.org/1999/xhtml"><a id="id506211" class="indexterm"></a> <span class="command"><strong><em class="varname"><a id="chud_meter"></a>CHUD:METER</em> form <em class="varname">&amp;key</em> (reset nil)
     23910            <p xmlns="http://www.w3.org/1999/xhtml"><a id="id648993" class="indexterm"></a> <span class="command"><strong><em class="varname"><a id="chud_meter"></a>CHUD:METER</em> form <em class="varname">&amp;key</em> (reset nil)
    1309723911      (debug-output nil) [Macro]</strong></span></p>
    1309823912            <p xmlns="http://www.w3.org/1999/xhtml">Executes FORM (an arbitrary lisp form) and returns whatever
     
    1313523949              <div>
    1313623950                <div>
    13137                   <h3 class="title"><a id="Profiling-CHUD-Acknowledgments"></a>11.2.6. Acknowledgement</h3>
     23951                  <h3 class="title"><a id="Profiling-CHUD-Acknowledgments"></a>12.2.6. Acknowledgement</h3>
    1313823952                </div>
    1313923953              </div>
     
    1315023964          <div>
    1315123965            <div>
    13152               <h2 class="title"><a id="The-Foreign-Function-Interface"></a>Chapter 12. The Foreign-Function Interface</h2>
     23966              <h2 class="title"><a id="The-Foreign-Function-Interface"></a>Chapter 13. The Foreign-Function Interface</h2>
    1315323967            </div>
    1315423968          </div>
     
    1315823972            <dt>
    1315923973              <span class="sect1">
    13160                 <a href="#Specifying-And-Using-Foreign-Types">12.1. Specifying And Using Foreign Types</a>
     23974                <a href="#Specifying-And-Using-Foreign-Types">13.1. Specifying And Using Foreign Types</a>
    1316123975              </span>
    1316223976            </dt>
     
    1316523979                <dt>
    1316623980                  <span class="sect2">
    13167                     <a href="#Overview-foreign-types">12.1.1. Overview</a>
     23981                    <a href="#Overview-foreign-types">13.1.1. Overview</a>
    1316823982                  </span>
    1316923983                </dt>
    1317023984                <dt>
    1317123985                  <span class="sect2">
    13172                     <a href="#Syntax-of-Foreign-Type-Specifiers">12.1.2. Syntax of Foreign Type Specifiers</a>
     23986                    <a href="#Syntax-of-Foreign-Type-Specifiers">13.1.2. Syntax of Foreign Type Specifiers</a>
    1317323987                  </span>
    1317423988                </dt>
     
    1317723991            <dt>
    1317823992              <span class="sect1">
    13179                 <a href="#Foreign-Function-Calls">12.2. Foreign Function Calls</a>
     23993                <a href="#Foreign-Function-Calls">13.2. Foreign Function Calls</a>
    1318023994              </span>
    1318123995            </dt>
     
    1318423998                <dt>
    1318523999                  <span class="sect2">
    13186                     <a href="#Overview-foreign-calls">12.2.1. Overview</a>
     24000                    <a href="#Overview-foreign-calls">13.2.1. Overview</a>
    1318724001                  </span>
    1318824002                </dt>
    1318924003                <dt>
    1319024004                  <span class="sect2">
    13191                     <a href="#Return-Conventions-for-C-Structures">12.2.2. Return Conventions for C Structures</a>
     24005                    <a href="#Return-Conventions-for-C-Structures">13.2.2. Return Conventions for C Structures</a>
    1319224006                  </span>
    1319324007                </dt>
     
    1319624010            <dt>
    1319724011              <span class="sect1">
    13198                 <a href="#Referencing-and-Using-Foreign-Memory-Addresses">12.3. Referencing and Using Foreign Memory Addresses</a>
     24012                <a href="#Referencing-and-Using-Foreign-Memory-Addresses">13.3. Referencing and Using Foreign Memory Addresses</a>
    1319924013              </span>
    1320024014            </dt>
     
    1320324017                <dt>
    1320424018                  <span class="sect2">
    13205                     <a href="#Overview-memory-addresses">12.3.1. Overview</a>
     24019                    <a href="#Overview-memory-addresses">13.3.1. Overview</a>
    1320624020                  </span>
    1320724021                </dt>
    1320824022                <dt>
    1320924023                  <span class="sect2">
    13210                     <a href="#Foreign-Memory-Addresses-Dictionary">12.3.2. Foreign-Memory-Addresses Dictionary</a>
     24024                    <a href="#Foreign-Memory-Addresses-Dictionary">13.3.2. Foreign-Memory-Addresses Dictionary</a>
    1321124025                  </span>
    1321224026                </dt>
     
    1321524029            <dt>
    1321624030              <span class="sect1">
    13217                 <a href="#The-Interface-Database">12.4. The Interface Database</a>
     24031                <a href="#The-Interface-Database">13.4. The Interface Database</a>
    1321824032              </span>
    1321924033            </dt>
     
    1322224036                <dt>
    1322324037                  <span class="sect2">
    13224                     <a href="#interface-database-Overview">12.4.1. Overview</a>
     24038                    <a href="#interface-database-Overview">13.4.1. Overview</a>
    1322524039                  </span>
    1322624040                </dt>
    1322724041                <dt>
    1322824042                  <span class="sect2">
    13229                     <a href="#Other-issues">12.4.2. Other issues:</a>
     24043                    <a href="#Other-issues">13.4.2. Other issues:</a>
    1323024044                  </span>
    1323124045                </dt>
     
    1323424048            <dt>
    1323524049              <span class="sect1">
    13236                 <a href="#Using-Interface-Directories">12.5. Using Interface Directories</a>
     24050                <a href="#Using-Interface-Directories">13.5. Using Interface Directories</a>
    1323724051              </span>
    1323824052            </dt>
     
    1324124055                <dt>
    1324224056                  <span class="sect2">
    13243                     <a href="#Interface-Directory-Overview">12.5.1. Overview</a>
     24057                    <a href="#Interface-Directory-Overview">13.5.1. Overview</a>
    1324424058                  </span>
    1324524059                </dt>
    1324624060                <dt>
    1324724061                  <span class="sect2">
    13248                     <a href="#Creating-new-interface-directories">12.5.2. Creating new interface directories</a>
     24062                    <a href="#Creating-new-interface-directories">13.5.2. Creating new interface directories</a>
    1324924063                  </span>
    1325024064                </dt>
     
    1325324067            <dt>
    1325424068              <span class="sect1">
    13255                 <a href="#Using-Shared-Libraries">12.6. Using Shared Libraries</a>
     24069                <a href="#Using-Shared-Libraries">13.6. Using Shared Libraries</a>
    1325624070              </span>
    1325724071            </dt>
     
    1326024074                <dt>
    1326124075                  <span class="sect2">
    13262                     <a href="#Shared-Library-Overview">12.6.1. Overview</a>
     24076                    <a href="#Shared-Library-Overview">13.6.1. Overview</a>
    1326324077                  </span>
    1326424078                </dt>
    1326524079                <dt>
    1326624080                  <span class="sect2">
    13267                     <a href="#Limitations-and-known-bugs--1-">12.6.2. Limitations and known bugs</a>
     24081                    <a href="#Limitations-and-known-bugs--1-">13.6.2. Limitations and known bugs</a>
    1326824082                  </span>
    1326924083                </dt>
    1327024084                <dt>
    1327124085                  <span class="sect2">
    13272                     <a href="#Darwin-Notes">12.6.3. &gt;Darwin Notes</a>
     24086                    <a href="#Darwin-Notes">13.6.3. &gt;Darwin Notes</a>
    1327324087                  </span>
    1327424088                </dt>
     
    1327724091            <dt>
    1327824092              <span class="sect1">
    13279                 <a href="#The-Interface-Translator">12.7. The Interface Translator</a>
     24093                <a href="#The-Interface-Translator">13.7. The Interface Translator</a>
    1328024094              </span>
    1328124095            </dt>
     
    1328424098                <dt>
    1328524099                  <span class="sect2">
    13286                     <a href="#Interface-translator-overview">12.7.1. Overview</a>
     24100                    <a href="#Interface-translator-overview">13.7.1. Overview</a>
    1328724101                  </span>
    1328824102                </dt>
    1328924103                <dt>
    1329024104                  <span class="sect2">
    13291                     <a href="#Details--rebuilding-the-CDB-databases--step-by-step">12.7.2. Details: rebuilding the CDB databases, step by step</a>
     24105                    <a href="#Details--rebuilding-the-CDB-databases--step-by-step">13.7.2. Details: rebuilding the CDB databases, step by step</a>
    1329224106                  </span>
    1329324107                </dt>
     
    1329624110            <dt>
    1329724111              <span class="sect1">
    13298                 <a href="#Case-sensitivity-of-foreign-names-in-CCL">12.8. Case-sensitivity of foreign names in <code class="literal">CCL</code></a>
     24112                <a href="#Case-sensitivity-of-foreign-names-in-CCL">13.8. Case-sensitivity of foreign names in <code class="literal">CCL</code></a>
    1329924113              </span>
    1330024114            </dt>
     
    1330324117                <dt>
    1330424118                  <span class="sect2">
    13305                     <a href="#Case-sensitivity-overview">12.8.1. Overview</a>
     24119                    <a href="#Case-sensitivity-overview">13.8.1. Overview</a>
    1330624120                  </span>
    1330724121                </dt>
    1330824122                <dt>
    1330924123                  <span class="sect2">
    13310                     <a href="#Foreign-constant-and-function-names">12.8.2. Foreign constant and function names</a>
     24124                    <a href="#Foreign-constant-and-function-names">13.8.2. Foreign constant and function names</a>
    1331124125                  </span>
    1331224126                </dt>
    1331324127                <dt>
    1331424128                  <span class="sect2">
    13315                     <a href="#Foreign-type--record--and-field-names">12.8.3. Foreign type, record, and field names</a>
     24129                    <a href="#Foreign-type--record--and-field-names">13.8.3. Foreign type, record, and field names</a>
    1331624130                  </span>
    1331724131                </dt>
    1331824132                <dt>
    1331924133                  <span class="sect2">
    13320                     <a href="#Examples--1-">12.8.4. Examples</a>
     24134                    <a href="#Examples--1-">13.8.4. Examples</a>
    1332124135                  </span>
    1332224136                </dt>
     
    1332524139            <dt>
    1332624140              <span class="sect1">
    13327                 <a href="#Reading-Foreign-Names">12.9. Reading Foreign Names</a>
     24141                <a href="#Reading-Foreign-Names">13.9. Reading Foreign Names</a>
    1332824142              </span>
    1332924143            </dt>
    1333024144            <dt>
    1333124145              <span class="sect1">
    13332                 <a href="#Tutorial--Using-Basic-Calls-and-Types">12.10. Tutorial: Using Basic Calls and Types</a>
     24146                <a href="#Tutorial--Using-Basic-Calls-and-Types">13.10. Tutorial: Using Basic Calls and Types</a>
    1333324147              </span>
    1333424148            </dt>
     
    1333724151                <dt>
    1333824152                  <span class="sect2">
    13339                     <a href="#Acknowledgement">12.10.1. Acknowledgement</a>
     24153                    <a href="#Acknowledgement">13.10.1. Acknowledgement</a>
    1334024154                  </span>
    1334124155                </dt>
     
    1334424158            <dt>
    1334524159              <span class="sect1">
    13346                 <a href="#Tutorial--Allocating-Foreign-Data-on-the-Lisp-Heap">12.11. Tutorial: Allocating Foreign Data on the Lisp Heap </a>
     24160                <a href="#Tutorial--Allocating-Foreign-Data-on-the-Lisp-Heap">13.11. Tutorial: Allocating Foreign Data on the Lisp Heap </a>
    1334724161              </span>
    1334824162            </dt>
     
    1335124165                <dt>
    1335224166                  <span class="sect2">
    13353                     <a href="#Acknowledgement--1-">12.11.1. Acknowledgement</a>
     24167                    <a href="#Acknowledgement--1-">13.11.1. Acknowledgement</a>
    1335424168                  </span>
    1335524169                </dt>
     
    1335824172            <dt>
    1335924173              <span class="sect1">
    13360                 <a href="#Foreign-Function-Interface-Dictionary">12.12. The Foreign-Function-Interface Dictionary</a>
     24174                <a href="#Foreign-Function-Interface-Dictionary">13.12. The Foreign-Function-Interface Dictionary</a>
    1336124175              </span>
    1336224176            </dt>
     
    1336724181            <div>
    1336824182              <div>
    13369                 <h2 class="title" style="clear: both"><a id="Specifying-And-Using-Foreign-Types"></a>12.1. Specifying And Using Foreign Types</h2>
     24183                <h2 class="title" style="clear: both"><a id="Specifying-And-Using-Foreign-Types"></a>13.1. Specifying And Using Foreign Types</h2>
    1337024184              </div>
    1337124185            </div>
     
    1337524189              <div>
    1337624190                <div>
    13377                   <h3 class="title"><a id="Overview-foreign-types"></a>12.1.1. Overview</h3>
     24191                  <h3 class="title"><a id="Overview-foreign-types"></a>13.1.1. Overview</h3>
    1337824192                </div>
    1337924193              </div>
     
    1339924213                <div>
    1340024214                  <div>
    13401                     <h4 class="title"><a id="type-annotations"></a>12.1.1.1. Type Annotations</h4>
     24215                    <h4 class="title"><a id="type-annotations"></a>13.1.1.1. Type Annotations</h4>
    1340224216                  </div>
    1340324217                </div>
     
    1342324237                <div>
    1342424238                  <div>
    13425                     <h4 class="title"><a id="foreign-type-classes"></a>12.1.1.2. Foreign Types as Classes</h4>
     24239                    <h4 class="title"><a id="foreign-type-classes"></a>13.1.1.2. Foreign Types as Classes</h4>
    1342624240                  </div>
    1342724241                </div>
     
    1352424338              <div>
    1352524339                <div>
    13526                   <h3 class="title"><a id="Syntax-of-Foreign-Type-Specifiers"></a>12.1.2. Syntax of Foreign Type Specifiers</h3>
     24340                  <h3 class="title"><a id="Syntax-of-Foreign-Type-Specifiers"></a>13.1.2. Syntax of Foreign Type Specifiers</h3>
    1352724341                </div>
    1352824342              </div>
     
    1359624410            <div>
    1359724411              <div>
    13598                 <h2 class="title" style="clear: both"><a id="Foreign-Function-Calls"></a>12.2. Foreign Function Calls</h2>
     24412                <h2 class="title" style="clear: both"><a id="Foreign-Function-Calls"></a>13.2. Foreign Function Calls</h2>
    1359924413              </div>
    1360024414            </div>
     
    1360424418              <div>
    1360524419                <div>
    13606                   <h3 class="title"><a id="Overview-foreign-calls"></a>12.2.1. Overview</h3>
     24420                  <h3 class="title"><a id="Overview-foreign-calls"></a>13.2.1. Overview</h3>
    1360724421                </div>
    1360824422              </div>
     
    1362724441                <div>
    1362824442                  <div>
    13629                     <h4 class="title"><a id="Type-Designators-for-Arguments-and-Return-Values"></a>12.2.1.1. Type Designators for Arguments and Return Values</h4>
     24443                    <h4 class="title"><a id="Type-Designators-for-Arguments-and-Return-Values"></a>13.2.1.1. Type Designators for Arguments and Return Values</h4>
    1363024444                  </div>
    1363124445                </div>
     
    1370124515                  <dd>
    1370224516                    <p>The argument/return values
    13703                         is <a class="link" href="#Referencing-and-Using-Foreign-Memory-Addresses" title="12.3. Referencing and Using Foreign Memory Addresses">a MACPTR</a>.</p>
     24517                        is <a class="link" href="#Referencing-and-Using-Foreign-Memory-Addresses" title="13.3. Referencing and Using Foreign Memory Addresses">a MACPTR</a>.</p>
    1370424518                  </dd>
    1370524519                  <dt>
     
    1372824542                <div>
    1372924543                  <div>
    13730                     <h4 class="title"><a id="External-Entrypoints-and-Named-External-Entrypoints"></a>12.2.1.2. External Entrypoints and Named External Entrypoints</h4>
     24544                    <h4 class="title"><a id="External-Entrypoints-and-Named-External-Entrypoints"></a>13.2.1.2. External Entrypoints and Named External Entrypoints</h4>
    1373124545                  </div>
    1373224546                </div>
     
    1375724571              <div>
    1375824572                <div>
    13759                   <h3 class="title"><a id="Return-Conventions-for-C-Structures"></a>12.2.2. Return Conventions for C Structures</h3>
     24573                  <h3 class="title"><a id="Return-Conventions-for-C-Structures"></a>13.2.2. Return Conventions for C Structures</h3>
    1376024574                </div>
    1376124575              </div>
     
    1377624590            <div>
    1377724591              <div>
    13778                 <h2 class="title" style="clear: both"><a id="Referencing-and-Using-Foreign-Memory-Addresses"></a>12.3. Referencing and Using Foreign Memory Addresses</h2>
     24592                <h2 class="title" style="clear: both"><a id="Referencing-and-Using-Foreign-Memory-Addresses"></a>13.3. Referencing and Using Foreign Memory Addresses</h2>
    1377924593              </div>
    1378024594            </div>
     
    1378424598              <div>
    1378524599                <div>
    13786                   <h3 class="title"><a id="Overview-memory-addresses"></a>12.3.1. Overview</h3>
     24600                  <h3 class="title"><a id="Overview-memory-addresses"></a>13.3.1. Overview</h3>
    1378724601                </div>
    1378824602              </div>
     
    1379224606                <div>
    1379324607                  <div>
    13794                     <h4 class="title"><a id="Basics"></a>12.3.1.1. Basics</h4>
     24608                    <h4 class="title"><a id="Basics"></a>13.3.1.1. Basics</h4>
    1379524609                  </div>
    1379624610                </div>
     
    1387424688                <div>
    1387524689                  <div>
    13876                     <h4 class="title"><a id="Stack-allocation-of---and-destructive-operations-on---MACPTRs-"></a>12.3.1.2. Stack allocation of—and destructive operations on—MACPTRs.</h4>
     24690                    <h4 class="title"><a id="Stack-allocation-of---and-destructive-operations-on---MACPTRs-"></a>13.3.1.2. Stack allocation of—and destructive operations on—MACPTRs.</h4>
    1387724691                  </div>
    1387824692                </div>
     
    1394424758                <div>
    1394524759                  <div>
    13946                     <h4 class="title"><a id="Stack-allocated-memory--and-stack-allocated-pointers-to-it--"></a>12.3.1.3. Stack-allocated memory (and stack-allocated pointers to it.)</h4>
     24760                    <h4 class="title"><a id="Stack-allocated-memory--and-stack-allocated-pointers-to-it--"></a>13.3.1.3. Stack-allocated memory (and stack-allocated pointers to it.)</h4>
    1394724761                  </div>
    1394824762                </div>
     
    1398724801                <div>
    1398824802                  <div>
    13989                     <h4 class="title"><a id="Caveats-"></a>12.3.1.4. Caveats</h4>
     24803                    <h4 class="title"><a id="Caveats-"></a>13.3.1.4. Caveats</h4>
    1399024804                  </div>
    1399124805                </div>
     
    1400724821              <div>
    1400824822                <div>
    14009                   <h3 class="title"><a id="Foreign-Memory-Addresses-Dictionary"></a>12.3.2. Foreign-Memory-Addresses Dictionary</h3>
     24823                  <h3 class="title"><a id="Foreign-Memory-Addresses-Dictionary"></a>13.3.2. Foreign-Memory-Addresses Dictionary</h3>
    1401024824                </div>
    1401124825              </div>
     
    1401724831                <div>
    1401824832                  <div>
    14019                     <h4 class="title"><a id="Scalar-memory-reference"></a>12.3.2.1. Scalar memory reference</h4>
     24833                    <h4 class="title"><a id="Scalar-memory-reference"></a>13.3.2.1. Scalar memory reference</h4>
    1402024834                  </div>
    1402124835                </div>
     
    1408024894                <div>
    1408124895                  <div>
    14082                     <h4 class="title"><a id="iget-bit--Function-"></a>12.3.2.2. %get-bit [Function]</h4>
     24896                    <h4 class="title"><a id="iget-bit--Function-"></a>13.3.2.2. %get-bit [Function]</h4>
    1408324897                  </div>
    1408424898                </div>
     
    1413024944                <div>
    1413124945                  <div>
    14132                     <h4 class="title"><a id="iget-bitfield--Function-"></a>12.3.2.3. %get-bitfield [Function]</h4>
     24946                    <h4 class="title"><a id="iget-bitfield--Function-"></a>13.3.2.3. %get-bitfield [Function]</h4>
    1413324947                  </div>
    1413424948                </div>
     
    1418625000                <div>
    1418725001                  <div>
    14188                     <h4 class="title"><a id="id516259"></a>12.3.2.4. %int-to-ptr [Function]</h4>
     25002                    <h4 class="title"><a id="id653384"></a>13.3.2.4. %int-to-ptr [Function]</h4>
    1418925003                  </div>
    1419025004                </div>
     
    1422725041                <div>
    1422825042                  <div>
    14229                     <h4 class="title"><a id="id516334"></a>12.3.2.5. %inc-ptr [Function]</h4>
     25043                    <h4 class="title"><a id="id653458"></a>13.3.2.5. %inc-ptr [Function]</h4>
    1423025044                  </div>
    1423125045                </div>
     
    1427725091                <div>
    1427825092                  <div>
    14279                     <h4 class="title"><a id="id516425"></a>12.3.2.6. %ptr-to-int [Function]</h4>
     25093                    <h4 class="title"><a id="id653550"></a>13.3.2.6. %ptr-to-int [Function]</h4>
    1428025094                  </div>
    1428125095                </div>
     
    1431925133                <div>
    1432025134                  <div>
    14321                     <h4 class="title"><a id="id516501"></a>12.3.2.7. %null-ptr [Macro]</h4>
     25135                    <h4 class="title"><a id="id653625"></a>13.3.2.7. %null-ptr [Macro]</h4>
    1432225136                  </div>
    1432325137                </div>
     
    1434425158                <div>
    1434525159                  <div>
    14346                     <h4 class="title"><a id="id516542"></a>12.3.2.8. %null-ptr-p [Function]</h4>
     25160                    <h4 class="title"><a id="id653666"></a>13.3.2.8. %null-ptr-p [Function]</h4>
    1434725161                  </div>
    1434825162                </div>
     
    1438625200                <div>
    1438725201                  <div>
    14388                     <h4 class="title"><a id="id516617"></a>12.3.2.9. %setf-macptr [Function]</h4>
     25202                    <h4 class="title"><a id="id653742"></a>13.3.2.9. %setf-macptr [Function]</h4>
    1438925203                  </div>
    1439025204                </div>
     
    1443425248                <div>
    1443525249                  <div>
    14436                     <h4 class="title"><a id="id516708"></a>12.3.2.10. %incf-ptr [Macro]</h4>
     25250                    <h4 class="title"><a id="id653832"></a>13.3.2.10. %incf-ptr [Macro]</h4>
    1443725251                  </div>
    1443825252                </div>
     
    1448225296                <div>
    1448325297                  <div>
    14484                     <h4 class="title"><a id="id516798"></a>12.3.2.11. with-macptrs [Macro]</h4>
     25298                    <h4 class="title"><a id="id653923"></a>13.3.2.11. with-macptrs [Macro]</h4>
    1448525299                  </div>
    1448625300                </div>
     
    1453225346                <div>
    1453325347                  <div>
    14534                     <h4 class="title"><a id="id516890"></a>12.3.2.12. %stack-block [Macro]</h4>
     25348                    <h4 class="title"><a id="id654014"></a>13.3.2.12. %stack-block [Macro]</h4>
    1453525349                  </div>
    1453625350                </div>
     
    1458325397                <div>
    1458425398                  <div>
    14585                     <h4 class="title"><a id="id516982"></a>12.3.2.13. make-cstring [Function]</h4>
     25399                    <h4 class="title"><a id="id654107"></a>13.3.2.13. make-cstring [Function]</h4>
    1458625400                  </div>
    1458725401                </div>
     
    1462625440                <div>
    1462725441                  <div>
    14628                     <h4 class="title"><a id="id517058"></a>12.3.2.14. with-cstrs [Macro]</h4>
     25442                    <h4 class="title"><a id="id654183"></a>13.3.2.14. with-cstrs [Macro]</h4>
    1462925443                  </div>
    1463025444                </div>
     
    1467625490                <div>
    1467725491                  <div>
    14678                     <h4 class="title"><a id="id517150"></a>12.3.2.15. with-encoded-cstrs [Macro]</h4>
     25492                    <h4 class="title"><a id="id654275"></a>13.3.2.15. with-encoded-cstrs [Macro]</h4>
    1467925493                  </div>
    1468025494                </div>
     
    1473925553                <div>
    1474025554                  <div>
    14741                     <h4 class="title"><a id="id517273"></a>12.3.2.16. %get-cstring [Function]</h4>
     25555                    <h4 class="title"><a id="id654398"></a>13.3.2.16. %get-cstring [Function]</h4>
    1474225556                  </div>
    1474325557                </div>
     
    1478125595                <div>
    1478225596                  <div>
    14783                     <h4 class="title"><a id="id533058"></a>12.3.2.17. %str-from-ptr [Function]</h4>
     25597                    <h4 class="title"><a id="id712168"></a>13.3.2.17. %str-from-ptr [Function]</h4>
    1478425598                  </div>
    1478525599                </div>
     
    1483325647            <div>
    1483425648              <div>
    14835                 <h2 class="title" style="clear: both"><a id="The-Interface-Database"></a>12.4. The Interface Database</h2>
     25649                <h2 class="title" style="clear: both"><a id="The-Interface-Database"></a>13.4. The Interface Database</h2>
    1483625650              </div>
    1483725651            </div>
     
    1484125655              <div>
    1484225656                <div>
    14843                   <h3 class="title"><a id="interface-database-Overview"></a>12.4.1. Overview</h3>
     25657                  <h3 class="title"><a id="interface-database-Overview"></a>13.4.1. Overview</h3>
    1484425658                </div>
    1484525659              </div>
     
    1488825702              <div>
    1488925703                <div>
    14890                   <h3 class="title"><a id="Other-issues"></a>12.4.2. Other issues:</h3>
     25704                  <h3 class="title"><a id="Other-issues"></a>13.4.2. Other issues:</h3>
    1489125705                </div>
    1489225706              </div>
     
    1489725711                  <p><code class="literal">CCL</code> now preserves the case of external symbols in
    1489825712                its database
    14899                 files. See <a class="link" href="#Case-sensitivity-of-foreign-names-in-CCL" title="12.8. Case-sensitivity of foreign names in CCL">Case-sensitivity
     25713                files. See <a class="link" href="#Case-sensitivity-of-foreign-names-in-CCL" title="13.8. Case-sensitivity of foreign names in CCL">Case-sensitivity
    1490025714                of foreign names in <code class="literal">CCL</code></a> for information about
    1490125715                case in foreign symbol names.</p>
     
    1491225726            </div>
    1491325727            <p xmlns="http://www.w3.org/1999/xhtml">For information about building the database files,
    14914             see <a class="xref" href="#The-Interface-Translator" title="12.7. The Interface Translator">Section 12.7, “The Interface Translator”</a>.</p>
     25728            see <a class="xref" href="#The-Interface-Translator" title="13.7. The Interface Translator">Section 13.7, “The Interface Translator”</a>.</p>
    1491525729          </div>
    1491625730        </div>
     
    1491925733            <div>
    1492025734              <div>
    14921                 <h2 class="title" style="clear: both"><a id="Using-Interface-Directories"></a>12.5. Using Interface Directories</h2>
     25735                <h2 class="title" style="clear: both"><a id="Using-Interface-Directories"></a>13.5. Using Interface Directories</h2>
    1492225736              </div>
    1492325737            </div>
     
    1492725741              <div>
    1492825742                <div>
    14929                   <h3 class="title"><a id="Interface-Directory-Overview"></a>12.5.1. Overview</h3>
     25743                  <h3 class="title"><a id="Interface-Directory-Overview"></a>13.5.1. Overview</h3>
    1493025744                </div>
    1493125745              </div>
     
    1501425828              <div>
    1501525829                <div>
    15016                   <h3 class="title"><a id="Creating-new-interface-directories"></a>12.5.2. Creating new interface directories</h3>
     25830                  <h3 class="title"><a id="Creating-new-interface-directories"></a>13.5.2. Creating new interface directories</h3>
    1501725831                </div>
    1501825832              </div>
     
    1505225866              </ol>
    1505325867            </div>
    15054             <p xmlns="http://www.w3.org/1999/xhtml">Refer to <a class="xref" href="#The-Interface-Translator" title="12.7. The Interface Translator">Section 12.7, “The Interface Translator”</a> for
     25868            <p xmlns="http://www.w3.org/1999/xhtml">Refer to <a class="xref" href="#The-Interface-Translator" title="13.7. The Interface Translator">Section 13.7, “The Interface Translator”</a> for
    1505525869        information about running the interface translator and .ffi
    1505625870        parser.</p>
     
    1507125885            <div>
    1507225886              <div>
    15073                 <h2 class="title" style="clear: both"><a id="Using-Shared-Libraries"></a>12.6. Using Shared Libraries</h2>
     25887                <h2 class="title" style="clear: both"><a id="Using-Shared-Libraries"></a>13.6. Using Shared Libraries</h2>
    1507425888              </div>
    1507525889            </div>
     
    1507925893              <div>
    1508025894                <div>
    15081                   <h3 class="title"><a id="Shared-Library-Overview"></a>12.6.1. Overview</h3>
     25895                  <h3 class="title"><a id="Shared-Library-Overview"></a>13.6.1. Overview</h3>
    1508225896                </div>
    1508325897              </div>
     
    1514025954              <div>
    1514125955                <div>
    15142                   <h3 class="title"><a id="Limitations-and-known-bugs--1-"></a>12.6.2. Limitations and known bugs</h3>
     25956                  <h3 class="title"><a id="Limitations-and-known-bugs--1-"></a>13.6.2. Limitations and known bugs</h3>
    1514325957                </div>
    1514425958              </div>
     
    1516525979              <div>
    1516625980                <div>
    15167                   <h3 class="title"><a id="Darwin-Notes"></a>12.6.3. &gt;Darwin Notes</h3>
     25981                  <h3 class="title"><a id="Darwin-Notes"></a>13.6.3. &gt;Darwin Notes</h3>
    1516825982                </div>
    1516925983              </div>
     
    1520126015            <div>
    1520226016              <div>
    15203                 <h2 class="title" style="clear: both"><a id="The-Interface-Translator"></a>12.7. The Interface Translator</h2>
     26017                <h2 class="title" style="clear: both"><a id="The-Interface-Translator"></a>13.7. The Interface Translator</h2>
    1520426018              </div>
    1520526019            </div>
     
    1520926023              <div>
    1521026024                <div>
    15211                   <h3 class="title"><a id="Interface-translator-overview"></a>12.7.1. Overview</h3>
     26025                  <h3 class="title"><a id="Interface-translator-overview"></a>13.7.1. Overview</h3>
    1521226026                </div>
    1521326027              </div>
     
    1526326077              <div>
    1526426078                <div>
    15265                   <h3 class="title"><a id="Details--rebuilding-the-CDB-databases--step-by-step"></a>12.7.2. Details: rebuilding the CDB databases, step by step</h3>
     26079                  <h3 class="title"><a id="Details--rebuilding-the-CDB-databases--step-by-step"></a>13.7.2. Details: rebuilding the CDB databases, step by step</h3>
    1526626080                </div>
    1526726081              </div>
     
    1530826122            <div>
    1530926123              <div>
    15310                 <h2 class="title" style="clear: both"><a id="Case-sensitivity-of-foreign-names-in-CCL"></a>12.8. Case-sensitivity of foreign names in <code class="literal">CCL</code></h2>
     26124                <h2 class="title" style="clear: both"><a id="Case-sensitivity-of-foreign-names-in-CCL"></a>13.8. Case-sensitivity of foreign names in <code class="literal">CCL</code></h2>
    1531126125              </div>
    1531226126            </div>
     
    1531626130              <div>
    1531726131                <div>
    15318                   <h3 class="title"><a id="Case-sensitivity-overview"></a>12.8.1. Overview</h3>
     26132                  <h3 class="title"><a id="Case-sensitivity-overview"></a>13.8.1. Overview</h3>
    1531926133                </div>
    1532026134              </div>
     
    1534526159              <div>
    1534626160                <div>
    15347                   <h3 class="title"><a id="Foreign-constant-and-function-names"></a>12.8.2. Foreign constant and function names</h3>
     26161                  <h3 class="title"><a id="Foreign-constant-and-function-names"></a>13.8.2. Foreign constant and function names</h3>
    1534826162                </div>
    1534926163              </div>
     
    1537526189              <div>
    1537626190                <div>
    15377                   <h3 class="title"><a id="Foreign-type--record--and-field-names"></a>12.8.3. Foreign type, record, and field names</h3>
     26191                  <h3 class="title"><a id="Foreign-type--record--and-field-names"></a>13.8.3. Foreign type, record, and field names</h3>
    1537826192                </div>
    1537926193              </div>
     
    1543926253              <div>
    1544026254                <div>
    15441                   <h3 class="title"><a id="Examples--1-"></a>12.8.4. Examples</h3>
     26255                  <h3 class="title"><a id="Examples--1-"></a>13.8.4. Examples</h3>
    1544226256                </div>
    1544326257              </div>
     
    1545826272            <div>
    1545926273              <div>
    15460                 <h2 class="title" style="clear: both"><a id="Reading-Foreign-Names"></a>12.9. Reading Foreign Names</h2>
     26274                <h2 class="title" style="clear: both"><a id="Reading-Foreign-Names"></a>13.9. Reading Foreign Names</h2>
    1546126275              </div>
    1546226276            </div>
     
    1549826312            <div>
    1549926313              <div>
    15500                 <h2 class="title" style="clear: both"><a id="Tutorial--Using-Basic-Calls-and-Types"></a>12.10. Tutorial: Using Basic Calls and Types</h2>
     26314                <h2 class="title" style="clear: both"><a id="Tutorial--Using-Basic-Calls-and-Types"></a>13.10. Tutorial: Using Basic Calls and Types</h2>
    1550126315              </div>
    1550226316            </div>
     
    1586726681              <div>
    1586826682                <div>
    15869                   <h3 class="title"><a id="Acknowledgement"></a>12.10.1. Acknowledgement</h3>
     26683                  <h3 class="title"><a id="Acknowledgement"></a>13.10.1. Acknowledgement</h3>
    1587026684                </div>
    1587126685              </div>
     
    1587926693            <div>
    1588026694              <div>
    15881                 <h2 class="title" style="clear: both"><a id="Tutorial--Allocating-Foreign-Data-on-the-Lisp-Heap"></a>12.11. Tutorial: Allocating Foreign Data on the Lisp Heap </h2>
     26695                <h2 class="title" style="clear: both"><a id="Tutorial--Allocating-Foreign-Data-on-the-Lisp-Heap"></a>13.11. Tutorial: Allocating Foreign Data on the Lisp Heap </h2>
    1588226696              </div>
    1588326697            </div>
     
    1619927013              <div>
    1620027014                <div>
    16201                   <h3 class="title"><a id="Acknowledgement--1-"></a>12.11.1. Acknowledgement</h3>
     27015                  <h3 class="title"><a id="Acknowledgement--1-"></a>13.11.1. Acknowledgement</h3>
    1620227016                </div>
    1620327017              </div>
     
    1621127025            <div>
    1621227026              <div>
    16213                 <h2 class="title" style="clear: both"><a id="Foreign-Function-Interface-Dictionary"></a>12.12. The Foreign-Function-Interface Dictionary</h2>
     27027                <h2 class="title" style="clear: both"><a id="Foreign-Function-Interface-Dictionary"></a>13.12. The Foreign-Function-Interface Dictionary</h2>
    1621427028              </div>
    1621527029            </div>
     
    1622727041            <div>
    1622827042              <div class="refsect1" lang="en" xml:lang="en">
    16229                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535012"></a>
     27043                <a xmlns="http://www.w3.org/1999/xhtml" id="id714121"></a>
    1623027044                <div class="header">Description:</div>
    1623127045                <p xmlns="http://www.w3.org/1999/xhtml">Reads a symbol from the current input stream, with *PACKAGE*
    1623227046              bound to the "OS" package and with readtable-case preserved.</p>
    16233                 <p xmlns="http://www.w3.org/1999/xhtml">Does a lookup on that symbol in <a class="link" href="#The-Interface-Database" title="12.4. The Interface Database">the <code class="literal">CCL</code> interface
     27047                <p xmlns="http://www.w3.org/1999/xhtml">Does a lookup on that symbol in <a class="link" href="#The-Interface-Database" title="13.4. The Interface Database">the <code class="literal">CCL</code> interface
    1623427048                database</a>, signalling an error if no foreign function
    16235               information can be found for the symbol in any active <a class="link" href="#Using-Interface-Directories" title="12.5. Using Interface Directories">interface
     27049              information can be found for the symbol in any active <a class="link" href="#Using-Interface-Directories" title="13.5. Using Interface Directories">interface
    1623627050                directory</a>.</p>
    1623727051                <p xmlns="http://www.w3.org/1999/xhtml">Notes the foreign function information, including the foreign
     
    1627927093            <div>
    1628027094              <div class="refsect1" lang="en" xml:lang="en">
    16281                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535118"></a>
     27095                <a xmlns="http://www.w3.org/1999/xhtml" id="id714227"></a>
    1628227096                <div class="header">Description:</div>
    1628327097                <p xmlns="http://www.w3.org/1999/xhtml">In <code class="literal">CCL</code> 1.2 and later, the #&amp; reader macro can be used to
     
    1633827152            <div>
    1633927153              <div class="refsect1" lang="en" xml:lang="en">
    16340                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535236"></a>
     27154                <a xmlns="http://www.w3.org/1999/xhtml" id="id714345"></a>
    1634127155                <div class="header">Description:</div>
    1634227156                <p xmlns="http://www.w3.org/1999/xhtml">In <code class="literal">CCL</code> 0.14.2 and later, the #? reader macro can be used
     
    1638527199            <div>
    1638627200              <div class="refsect1" lang="en" xml:lang="en">
    16387                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535318"></a>
     27201                <a xmlns="http://www.w3.org/1999/xhtml" id="id714427"></a>
    1638827202                <div class="header">Description:</div>
    1638927203                <p xmlns="http://www.w3.org/1999/xhtml">In <code class="literal">CCL</code> 1.2 and later, the #/ reader macro can be used to
     
    1648827302            <div>
    1648927303              <div class="refsect1" lang="en" xml:lang="en">
    16490                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535457"></a>
     27304                <a xmlns="http://www.w3.org/1999/xhtml" id="id714566"></a>
    1649127305                <div class="header">Description:</div>
    1649227306                <p xmlns="http://www.w3.org/1999/xhtml">In <code class="literal">CCL</code> 1.2 and later, the #&gt; reader macro reads
     
    1651727331            <div>
    1651827332              <div class="refsect1" lang="en" xml:lang="en">
    16519                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535532"></a>
     27333                <a xmlns="http://www.w3.org/1999/xhtml" id="id714641"></a>
    1652027334                <div class="header">Values:</div>
    1652127335                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">library</span></i>---either an object of type SHLIB, or a string which
     
    1652427338              </div>
    1652527339              <div class="refsect1" lang="en" xml:lang="en">
    16526                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535568"></a>
     27340                <a xmlns="http://www.w3.org/1999/xhtml" id="id714677"></a>
    1652727341                <div class="header">Description:</div>
    1652827342                <p xmlns="http://www.w3.org/1999/xhtml">If <em class="varname">completely</em> is T, sets the
     
    1655327367            <div>
    1655427368              <div class="refsect1" lang="en" xml:lang="en">
    16555                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535644"></a>
     27369                <a xmlns="http://www.w3.org/1999/xhtml" id="id714753"></a>
    1655627370                <div class="header">Values:</div>
    1655727371                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---A symbol which can be made into a special variable</p>
    1655827372                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">arg-type-specifer</span></i>---One of the foreign argument-type keywords,
    16559                         described above, or an equivalent <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Specifying-And-Using-Foreign-Types" title="12.1. Specifying And Using Foreign Types">foreign
     27373                        described above, or an equivalent <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Specifying-And-Using-Foreign-Types" title="13.1. Specifying And Using Foreign Types">foreign
    1656027374                          type specifier</a>.  In addition, if the keyword
    1656127375                        :WITHOUT-INTERRUPTS is specified, the callback will be
     
    1657027384              </div>
    1657127385              <div class="refsect1" lang="en" xml:lang="en">
    16572                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535715"></a>
     27386                <a xmlns="http://www.w3.org/1999/xhtml" id="id714824"></a>
    1657327387                <div class="header">Description:</div>
    1657427388                <p xmlns="http://www.w3.org/1999/xhtml">Proclaims <em class="varname">name</em>
     
    1660627420            <div>
    1660727421              <div class="refsect1" lang="en" xml:lang="en">
    16608                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535794"></a>
     27422                <a xmlns="http://www.w3.org/1999/xhtml" id="id714904"></a>
    1660927423                <div class="header">Values:</div>
    1661027424                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---NIL or a keyword; the keyword may contain
    16611                         <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Case-sensitivity-of-foreign-names-in-CCL" title="12.8. Case-sensitivity of foreign names in CCL">escaping constructs</a>.</p>
     27425                        <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Case-sensitivity-of-foreign-names-in-CCL" title="13.8. Case-sensitivity of foreign names in CCL">escaping constructs</a>.</p>
    1661227426                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">foreign-type-spec</span></i>---A foreign type specifier, whose syntax is (loosely)
    1661327427                        defined above.</p>
    1661427428              </div>
    1661527429              <div class="refsect1" lang="en" xml:lang="en">
    16616                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535836"></a>
     27430                <a xmlns="http://www.w3.org/1999/xhtml" id="id714945"></a>
    1661727431                <div class="header">Description:</div>
    1661827432                <p xmlns="http://www.w3.org/1999/xhtml">If name is non-NIL, defines name to be an alias for the
     
    1664827462            <div>
    1664927463              <div class="refsect1" lang="en" xml:lang="en">
    16650                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535908"></a>
     27464                <a xmlns="http://www.w3.org/1999/xhtml" id="id715018"></a>
    1665127465                <div class="header">Values:</div>
    1665227466                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---
     
    1666127475              </div>
    1666227476              <div class="refsect1" lang="en" xml:lang="en">
    16663                 <a xmlns="http://www.w3.org/1999/xhtml" id="id535949"></a>
     27477                <a xmlns="http://www.w3.org/1999/xhtml" id="id715058"></a>
    1666427478                <div class="header">Description:</div>
    1666527479                <p xmlns="http://www.w3.org/1999/xhtml">If there is already an EXTERNAL-ENTRY-POINT for
     
    1668927503            <div>
    1669027504              <div class="refsect1" lang="en" xml:lang="en">
    16691                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536018"></a>
     27505                <a xmlns="http://www.w3.org/1999/xhtml" id="id715127"></a>
    1669227506                <div class="header">Values:</div>
    1669327507                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---A lisp string. See external, above.</p>
    1669427508                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">arg-type-specifer</span></i>---One of the foreign argument-type keywords, described
    16695                         above, or an equivalent <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Specifying-And-Using-Foreign-Types" title="12.1. Specifying And Using Foreign Types">foreign
     27509                        above, or an equivalent <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Specifying-And-Using-Foreign-Types" title="13.1. Specifying And Using Foreign Types">foreign
    1669627510                          type specifier</a>.</p>
    1669727511                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">arg</span></i>---A lisp value of type indicated by the corresponding
    1669827512                        arg-type-specifier</p>
    1669927513                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">result-type-specifier</span></i>---One of the foreign argument-type keywords, described
    16700                         above, or an equivalent <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Specifying-And-Using-Foreign-Types" title="12.1. Specifying And Using Foreign Types">foreign
     27514                        above, or an equivalent <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Specifying-And-Using-Foreign-Types" title="13.1. Specifying And Using Foreign Types">foreign
    1670127515                          type specifier</a>.</p>
    1670227516              </div>
    1670327517              <div class="refsect1" lang="en" xml:lang="en">
    16704                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536092"></a>
     27518                <a xmlns="http://www.w3.org/1999/xhtml" id="id715201"></a>
    1670527519                <div class="header">Description:</div>
    1670627520                <p xmlns="http://www.w3.org/1999/xhtml">Calls the foreign function at the address obtained by
     
    1672927543            <div>
    1673027544              <div class="refsect1" lang="en" xml:lang="en">
    16731                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536151"></a>
     27545                <a xmlns="http://www.w3.org/1999/xhtml" id="id715260"></a>
    1673227546                <div class="header">Values:</div>
    1673327547                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">entrypoint</span></i>---A fixnum or MACPTR</p>
     
    1674027554              </div>
    1674127555              <div class="refsect1" lang="en" xml:lang="en">
    16742                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536214"></a>
     27556                <a xmlns="http://www.w3.org/1999/xhtml" id="id715323"></a>
    1674327557                <div class="header">Description:</div>
    1674427558                <p xmlns="http://www.w3.org/1999/xhtml">Calls the foreign function at address entrypoint passing the
     
    1676627580            <div>
    1676727581              <div class="refsect1" lang="en" xml:lang="en">
    16768                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536273"></a>
     27582                <a xmlns="http://www.w3.org/1999/xhtml" id="id715382"></a>
    1676927583                <div class="header">Values:</div>
    1677027584                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">entrypoint</span></i>---A fixnum or MACPTR</p>
    1677127585                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">arg-type-specifer</span></i>---One of the foreign argument-type keywords, described
    16772                         above, or an equivalent <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Specifying-And-Using-Foreign-Types" title="12.1. Specifying And Using Foreign Types">foreign
     27586                        above, or an equivalent <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Specifying-And-Using-Foreign-Types" title="13.1. Specifying And Using Foreign Types">foreign
    1677327587                          type specifier</a>.</p>
    1677427588                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">arg</span></i>---A lisp value of type indicated by the corresponding
    1677527589                        arg-type-specifier</p>
    1677627590                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">result-type-specifier</span></i>---One of the foreign argument-type keywords, described
    16777                         above, or an equivalent <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Specifying-And-Using-Foreign-Types" title="12.1. Specifying And Using Foreign Types">foreign
     27591                        above, or an equivalent <a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Specifying-And-Using-Foreign-Types" title="13.1. Specifying And Using Foreign Types">foreign
    1677827592                          type specifier</a>.</p>
    1677927593              </div>
    1678027594              <div class="refsect1" lang="en" xml:lang="en">
    16781                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536346"></a>
     27595                <a xmlns="http://www.w3.org/1999/xhtml" id="id715456"></a>
    1678227596                <div class="header">Description:</div>
    1678327597                <p xmlns="http://www.w3.org/1999/xhtml">Calls the foreign function at address entrypoint passing the
     
    1680427618            <div>
    1680527619              <div class="refsect1" lang="en" xml:lang="en">
    16806                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536402"></a>
     27620                <a xmlns="http://www.w3.org/1999/xhtml" id="id715512"></a>
    1680727621                <div class="header">Values:</div>
    1680827622                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---A lisp string.</p>
    1680927623              </div>
    1681027624              <div class="refsect1" lang="en" xml:lang="en">
    16811                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536425"></a>
     27625                <a xmlns="http://www.w3.org/1999/xhtml" id="id715534"></a>
    1681227626                <div class="header">Description:</div>
    1681327627                <p xmlns="http://www.w3.org/1999/xhtml">Tries to resolve the address of the foreign symbol
    1681427628              name. If successful, returns that address encapsulated in
    16815               <a class="link" href="#Referencing-and-Using-Foreign-Memory-Addresses" title="12.3. Referencing and Using Foreign Memory Addresses">a
     27629              <a class="link" href="#Referencing-and-Using-Foreign-Memory-Addresses" title="13.3. Referencing and Using Foreign Memory Addresses">a
    1681627630                MACPTR</a>, else returns NIL.</p>
    1681727631              </div>
     
    1683227646            <div>
    1683327647              <div class="refsect1" lang="en" xml:lang="en">
    16834                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536484"></a>
     27648                <a xmlns="http://www.w3.org/1999/xhtml" id="id715593"></a>
    1683527649                <div class="header">Values:</div>
    1683627650                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---A lisp string.</p>
    1683727651              </div>
    1683827652              <div class="refsect1" lang="en" xml:lang="en">
    16839                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536506"></a>
     27653                <a xmlns="http://www.w3.org/1999/xhtml" id="id715615"></a>
    1684027654                <div class="header">Description:</div>
    1684127655                <p xmlns="http://www.w3.org/1999/xhtml">Tries to resolve the address of the foreign symbol name. If
     
    1685927673            <div>
    1686027674              <div class="refsect1" lang="en" xml:lang="en">
    16861                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536560"></a>
     27675                <a xmlns="http://www.w3.org/1999/xhtml" id="id715670"></a>
    1686227676                <div class="header">Values:</div>
    1686327677                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">ptr</span></i>---A <code xmlns="http://www.w3.org/1999/xhtml" class="code">MACPTR</code> that points to a block of
     
    1686527679              </div>
    1686627680              <div class="refsect1" lang="en" xml:lang="en">
    16867                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536586"></a>
     27681                <a xmlns="http://www.w3.org/1999/xhtml" id="id715696"></a>
    1686827682                <div class="header">Description:</div>
    1686927683                <p xmlns="http://www.w3.org/1999/xhtml">In <code class="literal">CCL</code> 1.2 and later, the <code class="code">CCL:FREE</code>
     
    1689727711            <div>
    1689827712              <div class="refsect1" lang="en" xml:lang="en">
    16899                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536679"></a>
     27713                <a xmlns="http://www.w3.org/1999/xhtml" id="id715789"></a>
    1690027714                <div class="header">Values:</div>
    1690127715                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">element-count</span></i>---A positive integer.</p>
     
    1691227726              </div>
    1691327727              <div class="refsect1" lang="en" xml:lang="en">
    16914                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536754"></a>
     27728                <a xmlns="http://www.w3.org/1999/xhtml" id="id715864"></a>
    1691527729                <div class="header">Description:</div>
    1691627730                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1694727761            <div>
    1694827762              <div class="refsect1" lang="en" xml:lang="en">
    16949                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536826"></a>
     27763                <a xmlns="http://www.w3.org/1999/xhtml" id="id715935"></a>
    1695027764                <div class="header">Values:</div>
    1695127765                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">typespec</span></i>---A foreign type specifier, or a keyword which is used
     
    1696427778              </div>
    1696527779              <div class="refsect1" lang="en" xml:lang="en">
    16966                 <a xmlns="http://www.w3.org/1999/xhtml" id="id536894"></a>
     27780                <a xmlns="http://www.w3.org/1999/xhtml" id="id716003"></a>
    1696727781                <div class="header">Description:</div>
    1696827782                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1701327827            <div>
    1701427828              <div class="refsect1" lang="en" xml:lang="en">
    17015                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537016"></a>
     27829                <a xmlns="http://www.w3.org/1999/xhtml" id="id716125"></a>
    1701627830                <div class="header">Values:</div>
    1701727831                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">typespec</span></i>---A foreign type specifier, or a keyword which is used
     
    1702727841              </div>
    1702827842              <div class="refsect1" lang="en" xml:lang="en">
    17029                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537074"></a>
     27843                <a xmlns="http://www.w3.org/1999/xhtml" id="id716183"></a>
    1703027844                <div class="header">Description:</div>
    1703127845                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1706827882              </div>
    1706927883              <div class="refsect1" lang="en" xml:lang="en">
    17070                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537163"></a>
     27884                <a xmlns="http://www.w3.org/1999/xhtml" id="id716273"></a>
    1707127885                <div class="header">Notes:</div>
    1707227886                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1708027894              that would mean that any stand-alone application using it would
    1708127895              have to include a copy of the interface database
    17082               (see <a class="xref" href="#The-Interface-Database" title="12.4. The Interface Database">Section 12.4, “The Interface Database”</a>), which is undesirable
     27896              (see <a class="xref" href="#The-Interface-Database" title="13.4. The Interface Database">Section 13.4, “The Interface Database”</a>), which is undesirable
    1708327897              because it's large.
    1708427898            </p>
     
    1710127915            <div>
    1710227916              <div class="refsect1" lang="en" xml:lang="en">
    17103                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537247"></a>
     27917                <a xmlns="http://www.w3.org/1999/xhtml" id="id716356"></a>
    1710427918                <div class="header">Values:</div>
    1710527919                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---A SIMPLE-STRING which is presumed to be the so-name of
     
    1710927923              </div>
    1711027924              <div class="refsect1" lang="en" xml:lang="en">
    17111                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537287"></a>
     27925                <a xmlns="http://www.w3.org/1999/xhtml" id="id716396"></a>
    1711227926                <div class="header">Description:</div>
    1711327927                <p xmlns="http://www.w3.org/1999/xhtml">If the library denoted by <em class="varname">name</em> can
     
    1712027934              </div>
    1712127935              <div class="refsect1" lang="en" xml:lang="en">
    17122                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537303"></a>
     27936                <a xmlns="http://www.w3.org/1999/xhtml" id="id716412"></a>
    1712327937                <div class="header">Examples:</div>
    1712427938                <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">;;; Try to do something simple.
     
    1715527969              </div>
    1715627970              <div class="refsect1" lang="en" xml:lang="en">
    17157                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537323"></a>
     27971                <a xmlns="http://www.w3.org/1999/xhtml" id="id716433"></a>
    1715827972                <div class="header">Notes:</div>
    1715927973                <p xmlns="http://www.w3.org/1999/xhtml">It would be helpful to describe what an soname is and give
     
    1717827992            <div>
    1717927993              <div class="refsect1" lang="en" xml:lang="en">
    17180                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537381"></a>
     27994                <a xmlns="http://www.w3.org/1999/xhtml" id="id716490"></a>
    1718127995                <div class="header">Values:</div>
    17182                 <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">ptr</span></i>---<a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Referencing-and-Using-Foreign-Memory-Addresses" title="12.3. Referencing and Using Foreign Memory Addresses">a MACPTR</a>.</p>
     27996                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">ptr</span></i>---<a xmlns="http://www.w3.org/1999/xhtml" class="link" href="#Referencing-and-Using-Foreign-Memory-Addresses" title="13.3. Referencing and Using Foreign Memory Addresses">a MACPTR</a>.</p>
    1718327997                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">accessor-form</span></i>---a keyword which names a foreign type or record, as
    17184                         described in <a xmlns="http://www.w3.org/1999/xhtml" class="xref" href="#Foreign-type--record--and-field-names" title="12.8.3. Foreign type, record, and field names">Section 12.8.3, “Foreign type, record, and field names”</a>.
     27998                        described in <a xmlns="http://www.w3.org/1999/xhtml" class="xref" href="#Foreign-type--record--and-field-names" title="13.8.3. Foreign type, record, and field names">Section 13.8.3, “Foreign type, record, and field names”</a>.
    1718527999                      </p>
    1718628000              </div>
    1718728001              <div class="refsect1" lang="en" xml:lang="en">
    17188                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537425"></a>
     28002                <a xmlns="http://www.w3.org/1999/xhtml" id="id716534"></a>
    1718928003                <div class="header">Description:</div>
    1719028004                <p xmlns="http://www.w3.org/1999/xhtml">References an instance of a foreign type (or a component of
     
    1721228026            <div>
    1721328027              <div class="refsect1" lang="en" xml:lang="en">
    17214                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537490"></a>
     28028                <a xmlns="http://www.w3.org/1999/xhtml" id="id716600"></a>
    1721528029                <div class="header">Values:</div>
    1721628030                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">eep</span></i>---An EXTERNAL-ENTRY-POINT, as obtained by the EXTERNAL
     
    1721828032              </div>
    1721928033              <div class="refsect1" lang="en" xml:lang="en">
    17220                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537514"></a>
     28034                <a xmlns="http://www.w3.org/1999/xhtml" id="id716623"></a>
    1722128035                <div class="header">Description:</div>
    1722228036                <p xmlns="http://www.w3.org/1999/xhtml">Tries to resolve the address of the EXTERNAL-ENTRY-POINT
     
    1724128055            <div>
    1724228056              <div class="refsect1" lang="en" xml:lang="en">
    17243                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537585"></a>
     28057                <a xmlns="http://www.w3.org/1999/xhtml" id="id716694"></a>
    1724428058                <div class="header">Values:</div>
    1724528059                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">var</span></i>---A symbol (a lisp variable)</p>
     
    1724928063              </div>
    1725028064              <div class="refsect1" lang="en" xml:lang="en">
    17251                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537636"></a>
     28065                <a xmlns="http://www.w3.org/1999/xhtml" id="id716745"></a>
    1725228066                <div class="header">Description:</div>
    1725328067                <p xmlns="http://www.w3.org/1999/xhtml">Executes <em class="varname">body</em>
    1725428068              in an environment in which each var is bound
    17255               to <a class="link" href="#Referencing-and-Using-Foreign-Memory-Addresses" title="12.3. Referencing and Using Foreign Memory Addresses">a MACPTR</a> encapsulating the
     28069              to <a class="link" href="#Referencing-and-Using-Foreign-Memory-Addresses" title="13.3. Referencing and Using Foreign Memory Addresses">a MACPTR</a> encapsulating the
    1725628070              address of a stack-allocated foreign memory block, allocated and
    1725728071              initialized from typespec and initforms as per
     
    1727928093            <div>
    1728028094              <div class="refsect1" lang="en" xml:lang="en">
    17281                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537717"></a>
     28095                <a xmlns="http://www.w3.org/1999/xhtml" id="id716826"></a>
    1728228096                <div class="header">Values:</div>
    1728328097                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">var</span></i>---A symbol (a lisp variable)</p>
     
    1728628100              </div>
    1728728101              <div class="refsect1" lang="en" xml:lang="en">
    17288                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537765"></a>
     28102                <a xmlns="http://www.w3.org/1999/xhtml" id="id716874"></a>
    1728928103                <div class="header">Description:</div>
    1729028104                <p xmlns="http://www.w3.org/1999/xhtml">Executes body in an environment in which each var is
    17291               bound to <a class="link" href="#Referencing-and-Using-Foreign-Memory-Addresses" title="12.3. Referencing and Using Foreign Memory Addresses">a
     28105              bound to <a class="link" href="#Referencing-and-Using-Foreign-Memory-Addresses" title="13.3. Referencing and Using Foreign Memory Addresses">a
    1729228106                MACPTR</a> encapsulating the address of a stack-allocated
    1729328107              foreign memory block, allocated and initialized from
     
    1731328127            <div>
    1731428128              <div class="refsect1" lang="en" xml:lang="en">
    17315                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537832"></a>
     28129                <a xmlns="http://www.w3.org/1999/xhtml" id="id716941"></a>
    1731628130                <div class="header">Values:</div>
    1731728131                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">object</span></i>---A CLOS object of a class for which there exists
     
    1732128135              </div>
    1732228136              <div class="refsect1" lang="en" xml:lang="en">
    17323                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537860"></a>
     28137                <a xmlns="http://www.w3.org/1999/xhtml" id="id716970"></a>
    1732428138                <div class="header">Description:</div>
    1732528139                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1735828172              </div>
    1735928173              <div class="refsect1" lang="en" xml:lang="en">
    17360                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537917"></a>
     28174                <a xmlns="http://www.w3.org/1999/xhtml" id="id717026"></a>
    1736128175                <div class="header">Example:</div>
    1736228176                <pre xmlns="http://www.w3.org/1999/xhtml" class="programlisting">
     
    1737228186              </div>
    1737328187              <div class="refsect1" lang="en" xml:lang="en">
    17374                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537931"></a>
     28188                <a xmlns="http://www.w3.org/1999/xhtml" id="id717041"></a>
    1737528189                <div class="header">See Also:</div>
    1737628190                <span xmlns="http://www.w3.org/1999/xhtml" class="simplelist">
    17377                   <a class="xref" href="#Tutorial--Allocating-Foreign-Data-on-the-Lisp-Heap" title="12.11. Tutorial: Allocating Foreign Data on the Lisp Heap">Section 12.11, “Tutorial: Allocating Foreign Data on the Lisp Heap ”</a>
     28191                  <a class="xref" href="#Tutorial--Allocating-Foreign-Data-on-the-Lisp-Heap" title="13.11. Tutorial: Allocating Foreign Data on the Lisp Heap">Section 13.11, “Tutorial: Allocating Foreign Data on the Lisp Heap ”</a>
    1737828192                </span>
    1737928193              </div>
     
    1739428208            <div>
    1739528209              <div class="refsect1" lang="en" xml:lang="en">
    17396                 <a xmlns="http://www.w3.org/1999/xhtml" id="id537991"></a>
     28210                <a xmlns="http://www.w3.org/1999/xhtml" id="id717101"></a>
    1739728211                <div class="header">Values:</div>
    1739828212                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">dir-id</span></i>---A keyword whose pname, mapped to lower case, names a
     
    1740128215              </div>
    1740228216              <div class="refsect1" lang="en" xml:lang="en">
    17403                 <a xmlns="http://www.w3.org/1999/xhtml" id="id538015"></a>
     28217                <a xmlns="http://www.w3.org/1999/xhtml" id="id717124"></a>
    1740428218                <div class="header">Description:</div>
    1740528219                <p xmlns="http://www.w3.org/1999/xhtml">Tells <code class="literal">CCL</code> to remove the interface directory denoted by
     
    1742528239            <div>
    1742628240              <div class="refsect1" lang="en" xml:lang="en">
    17427                 <a xmlns="http://www.w3.org/1999/xhtml" id="id538075"></a>
     28241                <a xmlns="http://www.w3.org/1999/xhtml" id="id717184"></a>
    1742828242                <div class="header">Values:</div>
    1742928243                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">dir-id</span></i>---A keyword whose pname, mapped to lower case, names a
     
    1743228246              </div>
    1743328247              <div class="refsect1" lang="en" xml:lang="en">
    17434                 <a xmlns="http://www.w3.org/1999/xhtml" id="id538099"></a>
     28248                <a xmlns="http://www.w3.org/1999/xhtml" id="id717208"></a>
    1743528249                <div class="header">Description:</div>
    1743628250                <p xmlns="http://www.w3.org/1999/xhtml">Tells <code class="literal">CCL</code> to add the interface directory denoted by
     
    1745428268              </div>
    1745528269              <div class="refsect1" lang="en" xml:lang="en">
    17456                 <a xmlns="http://www.w3.org/1999/xhtml" id="id538137"></a>
     28270                <a xmlns="http://www.w3.org/1999/xhtml" id="id717246"></a>
    1745728271                <div class="header">Examples:</div>
    1745828272                <p xmlns="http://www.w3.org/1999/xhtml">One typically wants interface information to be
     
    1747928293          <div>
    1748028294            <div>
    17481               <h2 class="title"><a id="The-Objective-C-Bridge"></a>Chapter 13. The Objective-C Bridge</h2>
     28295              <h2 class="title"><a id="The-Objective-C-Bridge"></a>Chapter 14. The Objective-C Bridge</h2>
    1748228296            </div>
    1748328297          </div>
     
    1748728301            <dt>
    1748828302              <span class="sect1">
    17489                 <a href="#Objective-C-Changes-1.2">13.1. Changes in 1.2</a>
     28303                <a href="#Objective-C-Changes-1.2">14.1. Changes in 1.2</a>
    1749028304              </span>
    1749128305            </dt>
    1749228306            <dt>
    1749328307              <span class="sect1">
    17494                 <a href="#Using-Objective-C-Classes">13.2. Using Objective-C Classes</a>
     28308                <a href="#Using-Objective-C-Classes">14.2. Using Objective-C Classes</a>
    1749528309              </span>
    1749628310            </dt>
    1749728311            <dt>
    1749828312              <span class="sect1">
    17499                 <a href="#Instantiating-Objective-C-Objects">13.3. Instantiating Objective-C Objects</a>
     28313                <a href="#Instantiating-Objective-C-Objects">14.3. Instantiating Objective-C Objects</a>
    1750028314              </span>
    1750128315            </dt>
    1750228316            <dt>
    1750328317              <span class="sect1">
    17504                 <a href="#Calling-Objective-C-Methods">13.4. Calling Objective-C Methods</a>
     28318                <a href="#Calling-Objective-C-Methods">14.4. Calling Objective-C Methods</a>
    1750528319              </span>
    1750628320            </dt>
     
    1750928323                <dt>
    1751028324                  <span class="sect2">
    17511                     <a href="#Type-Coercion-for-ObjC-Method-Calls">13.4.1. Type Coercion for Objective-C Method Calls</a>
     28325                    <a href="#Type-Coercion-for-ObjC-Method-Calls">14.4.1. Type Coercion for Objective-C Method Calls</a>
    1751228326                  </span>
    1751328327                </dt>
    1751428328                <dt>
    1751528329                  <span class="sect2">
    17516                     <a href="#Methods-which-Return-Structures">13.4.2. Methods which Return Structures</a>
     28330                    <a href="#Methods-which-Return-Structures">14.4.2. Methods which Return Structures</a>
    1751728331                  </span>
    1751828332                </dt>
    1751928333                <dt>
    1752028334                  <span class="sect2">
    17521                     <a href="#Variable-Arity-Messages">13.4.3. Variable-Arity Messages</a>
     28335                    <a href="#Variable-Arity-Messages">14.4.3. Variable-Arity Messages</a>
    1752228336                  </span>
    1752328337                </dt>
    1752428338                <dt>
    1752528339                  <span class="sect2">
    17526                     <a href="#Optimization">13.4.4. Optimization</a>
     28340                    <a href="#Optimization">14.4.4. Optimization</a>
    1752728341                  </span>
    1752828342                </dt>
     
    1753128345            <dt>
    1753228346              <span class="sect1">
    17533                 <a href="#Defining-Objective-C-Classes">13.5. Defining Objective-C Classes</a>
     28347                <a href="#Defining-Objective-C-Classes">14.5. Defining Objective-C Classes</a>
    1753428348              </span>
    1753528349            </dt>
     
    1753828352                <dt>
    1753928353                  <span class="sect2">
    17540                     <a href="#Defining-classes-with-foreign-slots">13.5.1. Defining classes with foreign slots</a>
     28354                    <a href="#Defining-classes-with-foreign-slots">14.5.1. Defining classes with foreign slots</a>
    1754128355                  </span>
    1754228356                </dt>
    1754328357                <dt>
    1754428358                  <span class="sect2">
    17545                     <a href="#Defining-classes-with-Lisp-slots">13.5.2. Defining classes with Lisp slots</a>
     28359                    <a href="#Defining-classes-with-Lisp-slots">14.5.2. Defining classes with Lisp slots</a>
    1754628360                  </span>
    1754728361                </dt>
     
    1755028364            <dt>
    1755128365              <span class="sect1">
    17552                 <a href="#Defining-Objective-C-Methods">13.6. Defining Objective-C Methods</a>
     28366                <a href="#Defining-Objective-C-Methods">14.6. Defining Objective-C Methods</a>
    1755328367              </span>
    1755428368            </dt>
     
    1755728371                <dt>
    1755828372                  <span class="sect2">
    17559                     <a href="#Using-define-objc-method">13.6.1. Using <code class="literal">define-objc-method</code></a>
     28373                    <a href="#Using-define-objc-method">14.6.1. Using <code class="literal">define-objc-method</code></a>
    1756028374                  </span>
    1756128375                </dt>
    1756228376                <dt>
    1756328377                  <span class="sect2">
    17564                     <a href="#Using-objc-defmethod">13.6.2. Using <code class="literal">objc:defmethod</code></a>
     28378                    <a href="#Using-objc-defmethod">14.6.2. Using <code class="literal">objc:defmethod</code></a>
    1756528379                  </span>
    1756628380                </dt>
    1756728381                <dt>
    1756828382                  <span class="sect2">
    17569                     <a href="#Method-Redefinition-Constraints">13.6.3. Method Redefinition Constraints</a>
     28383                    <a href="#Method-Redefinition-Constraints">14.6.3. Method Redefinition Constraints</a>
    1757028384                  </span>
    1757128385                </dt>
     
    1757428388            <dt>
    1757528389              <span class="sect1">
    17576                 <a href="#Loading-Objc-Frameworks">13.7. Loading Frameworks</a>
     28390                <a href="#Loading-Objc-Frameworks">14.7. Loading Frameworks</a>
    1757728391              </span>
    1757828392            </dt>
    1757928393            <dt>
    1758028394              <span class="sect1">
    17581                 <a href="#How-Objective-C-Names-are-Mapped-to-Lisp-Symbols">13.8. How Objective-C Names are Mapped to Lisp Symbols</a>
     28395                <a href="#How-Objective-C-Names-are-Mapped-to-Lisp-Symbols">14.8. How Objective-C Names are Mapped to Lisp Symbols</a>
    1758228396              </span>
    1758328397            </dt>
     
    1760528419            <div>
    1760628420              <div>
    17607                 <h2 class="title" style="clear: both"><a id="Objective-C-Changes-1.2"></a>13.1. Changes in 1.2</h2>
     28421                <h2 class="title" style="clear: both"><a id="Objective-C-Changes-1.2"></a>14.1. Changes in 1.2</h2>
    1760828422              </div>
    1760928423            </div>
     
    1761628430    with the Objective-C bridge. For a full description of these
    1761728431    reader-macros, see
    17618     the <a class="link" href="#Foreign-Function-Interface-Dictionary" title="12.12. The Foreign-Function-Interface Dictionary">Foreign-Function-Interface
     28432    the <a class="link" href="#Foreign-Function-Interface-Dictionary" title="13.12. The Foreign-Function-Interface Dictionary">Foreign-Function-Interface
    1761928433    Dictionary</a>, especially the entries at the beginning,
    1762028434    describing reader macros.</p>
     
    1765928473            <div>
    1766028474              <div>
    17661                 <h2 class="title" style="clear: both"><a id="Using-Objective-C-Classes"></a>13.2. Using Objective-C Classes</h2>
     28475                <h2 class="title" style="clear: both"><a id="Using-Objective-C-Classes"></a>14.2. Using Objective-C Classes</h2>
    1766228476              </div>
    1766328477            </div>
     
    1771428528            <div>
    1771528529              <div>
    17716                 <h2 class="title" style="clear: both"><a id="Instantiating-Objective-C-Objects"></a>13.3. Instantiating Objective-C Objects</h2>
     28530                <h2 class="title" style="clear: both"><a id="Instantiating-Objective-C-Objects"></a>14.3. Instantiating Objective-C Objects</h2>
    1771728531              </div>
    1771828532            </div>
     
    1779228606            <div>
    1779328607              <div>
    17794                 <h2 class="title" style="clear: both"><a id="Calling-Objective-C-Methods"></a>13.4. Calling Objective-C Methods</h2>
     28608                <h2 class="title" style="clear: both"><a id="Calling-Objective-C-Methods"></a>14.4. Calling Objective-C Methods</h2>
    1779528609              </div>
    1779628610            </div>
     
    1783628650              <div>
    1783728651                <div>
    17838                   <h3 class="title"><a id="Type-Coercion-for-ObjC-Method-Calls"></a>13.4.1. Type Coercion for Objective-C Method Calls</h3>
     28652                  <h3 class="title"><a id="Type-Coercion-for-ObjC-Method-Calls"></a>14.4.1. Type Coercion for Objective-C Method Calls</h3>
    1783928653                </div>
    1784028654              </div>
     
    1785428668              <div>
    1785528669                <div>
    17856                   <h3 class="title"><a id="Methods-which-Return-Structures"></a>13.4.2. Methods which Return Structures</h3>
     28670                  <h3 class="title"><a id="Methods-which-Return-Structures"></a>14.4.2. Methods which Return Structures</h3>
    1785728671                </div>
    1785828672              </div>
     
    1794128755              <div>
    1794228756                <div>
    17943                   <h3 class="title"><a id="Variable-Arity-Messages"></a>13.4.3. Variable-Arity Messages</h3>
     28757                  <h3 class="title"><a id="Variable-Arity-Messages"></a>14.4.3. Variable-Arity Messages</h3>
    1794428758                </div>
    1794528759              </div>
     
    1797528789              <div>
    1797628790                <div>
    17977                   <h3 class="title"><a id="Optimization"></a>13.4.4. Optimization</h3>
     28791                  <h3 class="title"><a id="Optimization"></a>14.4.4. Optimization</h3>
    1797828792                </div>
    1797928793              </div>
     
    1804428858            <div>
    1804528859              <div>
    18046                 <h2 class="title" style="clear: both"><a id="Defining-Objective-C-Classes"></a>13.5. Defining Objective-C Classes</h2>
     28860                <h2 class="title" style="clear: both"><a id="Defining-Objective-C-Classes"></a>14.5. Defining Objective-C Classes</h2>
    1804728861              </div>
    1804828862            </div>
     
    1808228896              <div>
    1808328897                <div>
    18084                   <h3 class="title"><a id="Defining-classes-with-foreign-slots"></a>13.5.1. Defining classes with foreign slots</h3>
     28898                  <h3 class="title"><a id="Defining-classes-with-foreign-slots"></a>14.5.1. Defining classes with foreign slots</h3>
    1808528899                </div>
    1808628900              </div>
     
    1811328927              <div>
    1811428928                <div>
    18115                   <h3 class="title"><a id="Defining-classes-with-Lisp-slots"></a>13.5.2. Defining classes with Lisp slots</h3>
     28929                  <h3 class="title"><a id="Defining-classes-with-Lisp-slots"></a>14.5.2. Defining classes with Lisp slots</h3>
    1811628930                </div>
    1811728931              </div>
     
    1814528959            <div>
    1814628960              <div>
    18147                 <h2 class="title" style="clear: both"><a id="Defining-Objective-C-Methods"></a>13.6. Defining Objective-C Methods</h2>
     28961                <h2 class="title" style="clear: both"><a id="Defining-Objective-C-Methods"></a>14.6. Defining Objective-C Methods</h2>
    1814828962              </div>
    1814928963            </div>
     
    1816728981              <div>
    1816828982                <div>
    18169                   <h3 class="title"><a id="Using-define-objc-method"></a>13.6.1. Using <code class="literal">define-objc-method</code></h3>
     28983                  <h3 class="title"><a id="Using-define-objc-method"></a>14.6.1. Using <code class="literal">define-objc-method</code></h3>
    1817028984                </div>
    1817128985              </div>
    1817228986            </div>
    1817328987            <p xmlns="http://www.w3.org/1999/xhtml">As described in the
    18174         section <a class="link" href="#Calling-Objective-C-Methods" title="13.4. Calling Objective-C Methods">Calling
     28988        section <a class="link" href="#Calling-Objective-C-Methods" title="14.4. Calling Objective-C Methods">Calling
    1817528989        Objective-C Methods</a>, the names of Objective-C methods
    1817628990        are broken into pieces, each piece followed by a parameter.
     
    1828429098              <div>
    1828529099                <div>
    18286                   <h3 class="title"><a id="Using-objc-defmethod"></a>13.6.2. Using <code class="literal">objc:defmethod</code></h3>
     29100                  <h3 class="title"><a id="Using-objc-defmethod"></a>14.6.2. Using <code class="literal">objc:defmethod</code></h3>
    1828729101                </div>
    1828829102              </div>
     
    1838229196              <div>
    1838329197                <div>
    18384                   <h3 class="title"><a id="Method-Redefinition-Constraints"></a>13.6.3. Method Redefinition Constraints</h3>
     29198                  <h3 class="title"><a id="Method-Redefinition-Constraints"></a>14.6.3. Method Redefinition Constraints</h3>
    1838529199                </div>
    1838629200              </div>
     
    1840829222            <div>
    1840929223              <div>
    18410                 <h2 class="title" style="clear: both"><a id="Loading-Objc-Frameworks"></a>13.7. Loading Frameworks</h2>
     29224                <h2 class="title" style="clear: both"><a id="Loading-Objc-Frameworks"></a>14.7. Loading Frameworks</h2>
    1841129225              </div>
    1841229226            </div>
     
    1844029254    to use, you will need to create them. For more information about
    1844129255    creating interface databases,
    18442     see <a class="link" href="#Creating-new-interface-directories" title="12.5.2. Creating new interface directories">Creating
     29256    see <a class="link" href="#Creating-new-interface-directories" title="13.5.2. Creating new interface directories">Creating
    1844329257    new interface directories</a>.</p>
    1844429258        </div>
     
    1844729261            <div>
    1844829262              <div>
    18449                 <h2 class="title" style="clear: both"><a id="How-Objective-C-Names-are-Mapped-to-Lisp-Symbols"></a>13.8. How Objective-C Names are Mapped to Lisp Symbols</h2>
     29263                <h2 class="title" style="clear: both"><a id="How-Objective-C-Names-are-Mapped-to-Lisp-Symbols"></a>14.8. How Objective-C Names are Mapped to Lisp Symbols</h2>
    1845029264              </div>
    1845129265            </div>
     
    1852929343          <div>
    1853029344            <div>
    18531               <h2 class="title"><a id="Platform-specific-notes"></a>Chapter 14. Platform-specific notes</h2>
     29345              <h2 class="title"><a id="Platform-specific-notes"></a>Chapter 15. Platform-specific notes</h2>
    1853229346            </div>
    1853329347          </div>
     
    1853729351            <dt>
    1853829352              <span class="sect1">
    18539                 <a href="#Platform-specific-overview">14.1. Overview</a>
     29353                <a href="#Platform-specific-overview">15.1. Overview</a>
    1854029354              </span>
    1854129355            </dt>
     
    1854429358                <dt>
    1854529359                  <span class="sect2">
    18546                     <a href="#differences-between-32-bit-and-64-bit-implementations">14.1.1. Differences Between 32-bit and 64-bit implementations</a>
     29360                    <a href="#differences-between-32-bit-and-64-bit-implementations">15.1.1. Differences Between 32-bit and 64-bit implementations</a>
    1854729361                  </span>
    1854829362                </dt>
    1854929363                <dt>
    1855029364                  <span class="sect2">
    18551                     <a href="#File-system-case">14.1.2. File-system case</a>
     29365                    <a href="#File-system-case">15.1.2. File-system case</a>
    1855229366                  </span>
    1855329367                </dt>
    1855429368                <dt>
    1855529369                  <span class="sect2">
    18556                     <a href="#Line-Termination-Characters">14.1.3. Line Termination Characters</a>
     29370                    <a href="#Line-Termination-Characters">15.1.3. Line Termination Characters</a>
    1855729371                  </span>
    1855829372                </dt>
    1855929373                <dt>
    1856029374                  <span class="sect2">
    18561                     <a href="#Single-precision-trig---transcendental-functions">14.1.4. Single-precision trig &amp; transcendental functions</a>
     29375                    <a href="#Single-precision-trig---transcendental-functions">15.1.4. Single-precision trig &amp; transcendental functions</a>
    1856229376                  </span>
    1856329377                </dt>
    1856429378                <dt>
    1856529379                  <span class="sect2">
    18566                     <a href="#Shared-libraries">14.1.5. Shared libraries</a>
     29380                    <a href="#Shared-libraries">15.1.5. Shared libraries</a>
    1856729381                  </span>
    1856829382                </dt>
     
    1857129385            <dt>
    1857229386              <span class="sect1">
    18573                 <a href="#Unix-Posix-Darwin-Features">14.2. Unix/Posix/Darwin Features</a>
     29387                <a href="#Unix-Posix-Darwin-Features">15.2. Unix/Posix/Darwin Features</a>
    1857429388              </span>
    1857529389            </dt>
    1857629390            <dt>
    1857729391              <span class="sect1">
    18578                 <a href="#Cocoa-Programming-in-CCL">14.3. Cocoa Programming in Clozure CL</a>
     29392                <a href="#Cocoa-Programming-in-CCL">15.3. Cocoa Programming in Clozure CL</a>
    1857929393              </span>
    1858029394            </dt>
     
    1858329397                <dt>
    1858429398                  <span class="sect2">
    18585                     <a href="#The-Command-Line-and-the-Window-System">14.3.1. The Command Line and the Window System</a>
     29399                    <a href="#The-Command-Line-and-the-Window-System">15.3.1. The Command Line and the Window System</a>
    1858629400                  </span>
    1858729401                </dt>
    1858829402                <dt>
    1858929403                  <span class="sect2">
    18590                     <a href="#Writing--and-reading--Cocoa-code">14.3.2. Writing (and reading) Cocoa code</a>
     29404                    <a href="#Writing--and-reading--Cocoa-code">15.3.2. Writing (and reading) Cocoa code</a>
    1859129405                  </span>
    1859229406                </dt>
    1859329407                <dt>
    1859429408                  <span class="sect2">
    18595                     <a href="#The-Application-Kit-and-Multiple-Threads">14.3.3. The Application Kit and Multiple Threads</a>
     29409                    <a href="#The-Application-Kit-and-Multiple-Threads">15.3.3. The Application Kit and Multiple Threads</a>
    1859629410                  </span>
    1859729411                </dt>
    1859829412                <dt>
    1859929413                  <span class="sect2">
    18600                     <a href="#Acknowledgement--2-">14.3.4. Acknowledgement</a>
     29414                    <a href="#Acknowledgement--2-">15.3.4. Acknowledgement</a>
    1860129415                  </span>
    1860229416                </dt>
     
    1860529419            <dt>
    1860629420              <span class="sect1">
    18607                 <a href="#Building-an-Application-Bundle">14.4. Building an Application Bundle</a>
     29421                <a href="#Building-an-Application-Bundle">15.4. Building an Application Bundle</a>
    1860829422              </span>
    1860929423            </dt>
    1861029424            <dt>
    1861129425              <span class="sect1">
    18612                 <a href="#Recommended-Reading">14.5. Recommended Reading</a>
     29426                <a href="#Recommended-Reading">15.5. Recommended Reading</a>
    1861329427              </span>
    1861429428            </dt>
    1861529429            <dt>
    1861629430              <span class="sect1">
    18617                 <a href="#Operating-System-Dictionary">14.6. Operating-System Dictionary</a>
     29431                <a href="#Operating-System-Dictionary">15.6. Operating-System Dictionary</a>
    1861829432              </span>
    1861929433            </dt>
     
    1862429438            <div>
    1862529439              <div>
    18626                 <h2 class="title" style="clear: both"><a id="Platform-specific-overview"></a>14.1. Overview</h2>
     29440                <h2 class="title" style="clear: both"><a id="Platform-specific-overview"></a>15.1. Overview</h2>
    1862729441              </div>
    1862829442            </div>
     
    1863729451              <div>
    1863829452                <div>
    18639                   <h3 class="title"><a id="differences-between-32-bit-and-64-bit-implementations"></a>14.1.1. Differences Between 32-bit and 64-bit implementations</h3>
     29453                  <h3 class="title"><a id="differences-between-32-bit-and-64-bit-implementations"></a>15.1.1. Differences Between 32-bit and 64-bit implementations</h3>
    1864029454                </div>
    1864129455              </div>
     
    1864429458          range -536870912 through 536870911.  Fixnums on 64-bit
    1864529459          systems are 61 bits long, and are in the range
    18646           -1152921504606846976 through 1152921504606846975. (see <a class="xref" href="#Tagging-scheme" title="16.2.4. Tagging scheme">Section 16.2.4, “Tagging scheme”</a>)</p>
     29460          -1152921504606846976 through 1152921504606846975. (see <a class="xref" href="#Tagging-scheme" title="17.2.4. Tagging scheme">Section 17.2.4, “Tagging scheme”</a>)</p>
    1864729461            <p xmlns="http://www.w3.org/1999/xhtml">Since we have much larger fixnums on 64-bit systems,
    1864829462            <em class="varname">INTERNAL-TIME-UNITS-PER-SECOND</em> is 1000000
     
    1865429468              <div>
    1865529469                <div>
    18656                   <h3 class="title"><a id="File-system-case"></a>14.1.2. File-system case</h3>
     29470                  <h3 class="title"><a id="File-system-case"></a>15.1.2. File-system case</h3>
    1865729471                </div>
    1865829472              </div>
     
    1868729501              <div>
    1868829502                <div>
    18689                   <h3 class="title"><a id="Line-Termination-Characters"></a>14.1.3. Line Termination Characters</h3>
     29503                  <h3 class="title"><a id="Line-Termination-Characters"></a>15.1.3. Line Termination Characters</h3>
    1869029504                </div>
    1869129505              </div>
     
    1873429548              <div>
    1873529549                <div>
    18736                   <h3 class="title"><a id="Single-precision-trig---transcendental-functions"></a>14.1.4. Single-precision trig &amp; transcendental functions</h3>
     29550                  <h3 class="title"><a id="Single-precision-trig---transcendental-functions"></a>15.1.4. Single-precision trig &amp; transcendental functions</h3>
    1873729551                </div>
    1873829552              </div>
     
    1875329567              <div>
    1875429568                <div>
    18755                   <h3 class="title"><a id="Shared-libraries"></a>14.1.5. Shared libraries</h3>
     29569                  <h3 class="title"><a id="Shared-libraries"></a>15.1.5. Shared libraries</h3>
    1875629570                </div>
    1875729571              </div>
     
    1877229586            <div>
    1877329587              <div>
    18774                 <h2 class="title" style="clear: both"><a id="Unix-Posix-Darwin-Features"></a>14.2. Unix/Posix/Darwin Features</h2>
     29588                <h2 class="title" style="clear: both"><a id="Unix-Posix-Darwin-Features"></a>15.2. Unix/Posix/Darwin Features</h2>
    1877529589              </div>
    1877629590            </div>
     
    1879229606          <p xmlns="http://www.w3.org/1999/xhtml">For the <code class="literal">system()</code> function, there is
    1879329607      CCL::OS-COMMAND.  Ordinarily, it is better - both more efficient
    18794       and more predictable - to use the features described in <a class="xref" href="#Running-Other-Programs-as-Subprocesses" title="Chapter 8. Running Other Programs as Subprocesses">Chapter 8, <i>Running Other Programs as Subprocesses</i></a>.  However,
     29608      and more predictable - to use the features described in <a class="xref" href="#Running-Other-Programs-as-Subprocesses" title="Chapter 9. Running Other Programs as Subprocesses">Chapter 9, <i>Running Other Programs as Subprocesses</i></a>.  However,
    1879529609      sometimes you may want to specifically ask the shell to invoke a
    1879629610      command for you.</p>
     
    1880029614            <div>
    1880129615              <div>
    18802                 <h2 class="title" style="clear: both"><a id="Cocoa-Programming-in-CCL"></a>14.3. Cocoa Programming in Clozure CL</h2>
     29616                <h2 class="title" style="clear: both"><a id="Cocoa-Programming-in-CCL"></a>15.3. Cocoa Programming in Clozure CL</h2>
    1880329617              </div>
    1880429618            </div>
     
    1882229636              <div>
    1882329637                <div>
    18824                   <h3 class="title"><a id="The-Command-Line-and-the-Window-System"></a>14.3.1. The Command Line and the Window System</h3>
     29638                  <h3 class="title"><a id="The-Command-Line-and-the-Window-System"></a>15.3.1. The Command Line and the Window System</h3>
    1882529639                </div>
    1882629640              </div>
     
    1885529669              <div>
    1885629670                <div>
    18857                   <h3 class="title"><a id="Writing--and-reading--Cocoa-code"></a>14.3.2. Writing (and reading) Cocoa code</h3>
     29671                  <h3 class="title"><a id="Writing--and-reading--Cocoa-code"></a>15.3.2. Writing (and reading) Cocoa code</h3>
    1885829672                </div>
    1885929673              </div>
     
    1890529719              <div>
    1890629720                <div>
    18907                   <h3 class="title"><a id="The-Application-Kit-and-Multiple-Threads"></a>14.3.3. The Application Kit and Multiple Threads</h3>
     29721                  <h3 class="title"><a id="The-Application-Kit-and-Multiple-Threads"></a>15.3.3. The Application Kit and Multiple Threads</h3>
    1890829722                </div>
    1890929723              </div>
     
    1897629790              <div>
    1897729791                <div>
    18978                   <h3 class="title"><a id="Acknowledgement--2-"></a>14.3.4. Acknowledgement</h3>
     29792                  <h3 class="title"><a id="Acknowledgement--2-"></a>15.3.4. Acknowledgement</h3>
    1897929793                </div>
    1898029794              </div>
     
    1898829802            <div>
    1898929803              <div>
    18990                 <h2 class="title" style="clear: both"><a id="Building-an-Application-Bundle"></a>14.4. Building an Application Bundle</h2>
     29804                <h2 class="title" style="clear: both"><a id="Building-an-Application-Bundle"></a>15.4. Building an Application Bundle</h2>
    1899129805              </div>
    1899229806            </div>
     
    1903029844            <div>
    1903129845              <div>
    19032                 <h2 class="title" style="clear: both"><a id="Recommended-Reading"></a>14.5. Recommended Reading</h2>
     29846                <h2 class="title" style="clear: both"><a id="Recommended-Reading"></a>15.5. Recommended Reading</h2>
    1903329847              </div>
    1903429848            </div>
     
    1909129905            <div>
    1909229906              <div>
    19093                 <h2 class="title" style="clear: both"><a id="Operating-System-Dictionary"></a>14.6. Operating-System Dictionary</h2>
     29907                <h2 class="title" style="clear: both"><a id="Operating-System-Dictionary"></a>15.6. Operating-System Dictionary</h2>
    1909429908              </div>
    1909529909            </div>
     
    1910729921            <div>
    1910829922              <div class="refsect1" lang="en" xml:lang="en">
    19109                 <a xmlns="http://www.w3.org/1999/xhtml" id="id530643"></a>
     29923                <a xmlns="http://www.w3.org/1999/xhtml" id="id681727"></a>
    1911029924                <div class="header">Arguments and Values:</div>
    1911129925                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---a string which is the name of an existing
     
    1911729931              </div>
    1911829932              <div class="refsect1" lang="en" xml:lang="en">
    19119                 <a xmlns="http://www.w3.org/1999/xhtml" id="id530688"></a>
     29933                <a xmlns="http://www.w3.org/1999/xhtml" id="id681772"></a>
    1912029934                <div class="header">Description:</div>
    1912129935                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1913829952            <div>
    1913929953              <div class="refsect1" lang="en" xml:lang="en">
    19140                 <a xmlns="http://www.w3.org/1999/xhtml" id="id530749"></a>
     29954                <a xmlns="http://www.w3.org/1999/xhtml" id="id681833"></a>
    1914129955                <div class="header">Arguments and Values:</div>
    1914229956                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name</span></i>---a string which is the name of a new or existing
     
    1915129965              </div>
    1915229966              <div class="refsect1" lang="en" xml:lang="en">
    19153                 <a xmlns="http://www.w3.org/1999/xhtml" id="id530809"></a>
     29967                <a xmlns="http://www.w3.org/1999/xhtml" id="id681893"></a>
    1915429968                <div class="header">Description:</div>
    1915529969                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1917529989            <div>
    1917629990              <div class="refsect1" lang="en" xml:lang="en">
    19177                 <a xmlns="http://www.w3.org/1999/xhtml" id="id530872"></a>
     29991                <a xmlns="http://www.w3.org/1999/xhtml" id="id681956"></a>
    1917829992                <div class="header">Values:</div>
    1917929993                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">path</span></i>---a string, an absolute pathname in Posix format - with
     
    1918129995              </div>
    1918229996              <div class="refsect1" lang="en" xml:lang="en">
    19183                 <a xmlns="http://www.w3.org/1999/xhtml" id="id530898"></a>
     29997                <a xmlns="http://www.w3.org/1999/xhtml" id="id681982"></a>
    1918429998                <div class="header">Description:</div>
    1918529999                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1920330017            <div>
    1920430018              <div class="refsect1" lang="en" xml:lang="en">
    19205                 <a xmlns="http://www.w3.org/1999/xhtml" id="id530957"></a>
     30019                <a xmlns="http://www.w3.org/1999/xhtml" id="id682041"></a>
    1920630020                <div class="header">Values:</div>
    1920730021                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">uid</span></i>---a non-negative integer, identifying a specific user
     
    1920930023              </div>
    1921030024              <div class="refsect1" lang="en" xml:lang="en">
    19211                 <a xmlns="http://www.w3.org/1999/xhtml" id="id530984"></a>
     30025                <a xmlns="http://www.w3.org/1999/xhtml" id="id682068"></a>
    1921230026                <div class="header">Description:</div>
    1921330027                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1922930043            <div>
    1923030044              <div class="refsect1" lang="en" xml:lang="en">
    19231                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531041"></a>
     30045                <a xmlns="http://www.w3.org/1999/xhtml" id="id657101"></a>
    1923230046                <div class="header">Arguments and Values:</div>
    1923330047                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">uid</span></i>---a non-negative integer, identifying a specific user
     
    1923830052              </div>
    1923930053              <div class="refsect1" lang="en" xml:lang="en">
    19240                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531084"></a>
     30054                <a xmlns="http://www.w3.org/1999/xhtml" id="id657144"></a>
    1924130055                <div class="header">Description:</div>
    1924230056                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1926130075            <div>
    1926230076              <div class="refsect1" lang="en" xml:lang="en">
    19263                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531143"></a>
     30077                <a xmlns="http://www.w3.org/1999/xhtml" id="id657203"></a>
    1926430078                <div class="header">Arguments and Values:</div>
    1926530079                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">gid</span></i>---a non-negative integer, identifying a specific
     
    1927030084              </div>
    1927130085              <div class="refsect1" lang="en" xml:lang="en">
    19272                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531186"></a>
     30086                <a xmlns="http://www.w3.org/1999/xhtml" id="id657245"></a>
    1927330087                <div class="header">Description:</div>
    1927430088                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1929330107            <div>
    1929430108              <div class="refsect1" lang="en" xml:lang="en">
    19295                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531246"></a>
     30109                <a xmlns="http://www.w3.org/1999/xhtml" id="id657305"></a>
    1929630110                <div class="header">Values:</div>
    1929730111                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">pid</span></i>---a non-negative integer, identifying an OS process</p>
    1929830112              </div>
    1929930113              <div class="refsect1" lang="en" xml:lang="en">
    19300                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531271"></a>
     30114                <a xmlns="http://www.w3.org/1999/xhtml" id="id657331"></a>
    1930130115                <div class="header">Description:</div>
    1930230116                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1931930133            <div>
    1932030134              <div class="refsect1" lang="en" xml:lang="en">
    19321                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531329"></a>
     30135                <a xmlns="http://www.w3.org/1999/xhtml" id="id657388"></a>
    1932230136                <div class="header">Values:</div>
    1932330137                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">uid</span></i>---a non-negative integer, identifying a specific user
     
    1932730141              </div>
    1932830142              <div class="refsect1" lang="en" xml:lang="en">
    19329                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531371"></a>
     30143                <a xmlns="http://www.w3.org/1999/xhtml" id="id657430"></a>
    1933030144                <div class="header">Description:</div>
    1933130145                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1935230166            <div>
    1935330167              <div class="refsect1" lang="en" xml:lang="en">
    19354                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531440"></a>
     30168                <a xmlns="http://www.w3.org/1999/xhtml" id="id657499"></a>
    1935530169                <div class="header">Values:</div>
    1935630170                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">command-line</span></i>---a string, obeying all the whitespace and
     
    1936130175              </div>
    1936230176              <div class="refsect1" lang="en" xml:lang="en">
    19363                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531483"></a>
     30177                <a xmlns="http://www.w3.org/1999/xhtml" id="id657542"></a>
    1936430178                <div class="header">Description:</div>
    1936530179                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1937730191              </div>
    1937830192              <div class="refsect1" lang="en" xml:lang="en">
    19379                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531516"></a>
     30193                <a xmlns="http://www.w3.org/1999/xhtml" id="id657576"></a>
    1938030194                <div class="header">Notes:</div>
    1938130195                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1940230216            <div>
    1940330217              <div class="refsect1" lang="en" xml:lang="en">
    19404                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531577"></a>
     30218                <a xmlns="http://www.w3.org/1999/xhtml" id="id657636"></a>
    1940530219                <div class="header">Arguments and Values:</div>
    1940630220                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">class-name</span></i>---a string which denotes an existing class name, or a
     
    1940930223              </div>
    1941030224              <div class="refsect1" lang="en" xml:lang="en">
    19411                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531604"></a>
     30225                <a xmlns="http://www.w3.org/1999/xhtml" id="id658251"></a>
    1941230226                <div class="header">Description:</div>
    1941330227                <p xmlns="http://www.w3.org/1999/xhtml">Used to refer to a known ObjC class by name. (Via the use
     
    1943430248            <div>
    1943530249              <div class="refsect1" lang="en" xml:lang="en">
    19436                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531674"></a>
     30250                <a xmlns="http://www.w3.org/1999/xhtml" id="id658320"></a>
    1943730251                <div class="header">Arguments and Values:</div>
    1943830252                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">string</span></i>---a string constant, used to canonically refer to an
     
    1944030254              </div>
    1944130255              <div class="refsect1" lang="en" xml:lang="en">
    19442                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531700"></a>
     30256                <a xmlns="http://www.w3.org/1999/xhtml" id="id658346"></a>
    1944330257                <div class="header">Description:</div>
    1944430258                <p xmlns="http://www.w3.org/1999/xhtml">Used to refer to an ObjC method selector (method name). Uses
     
    1946230276            <div>
    1946330277              <div class="refsect1" lang="en" xml:lang="en">
    19464                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531765"></a>
     30278                <a xmlns="http://www.w3.org/1999/xhtml" id="id658412"></a>
    1946530279                <div class="header">Arguments and Values:</div>
    1946630280                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">name-and-result-type</span></i>---either an Objective-C message name, for methods
     
    1948430298              </div>
    1948530299              <div class="refsect1" lang="en" xml:lang="en">
    19486                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531846"></a>
     30300                <a xmlns="http://www.w3.org/1999/xhtml" id="id658493"></a>
    1948730301                <div class="header">Description:</div>
    1948830302                <p xmlns="http://www.w3.org/1999/xhtml">Defines an Objective-C-callable method which implements
     
    1949230306          restrictions of the <code class="literal">OBJC:DEFMETHOD</code> macro,
    1949330307          see the
    19494           section <a class="link" href="#Using-objc-defmethod" title="13.6.2. Using objc:defmethod">Using <code class="literal">objc:defmethod</code></a>.</p>
     30308          section <a class="link" href="#Using-objc-defmethod" title="14.6.2. Using objc:defmethod">Using <code class="literal">objc:defmethod</code></a>.</p>
    1949530309              </div>
    1949630310            </div>
     
    1950930323            <div>
    1951030324              <div class="refsect1" lang="en" xml:lang="en">
    19511                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531929"></a>
     30325                <a xmlns="http://www.w3.org/1999/xhtml" id="id658575"></a>
    1951230326                <div class="header">Arguments and Values:</div>
    1951330327                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">selector</span></i>---either a string which represents the name of the
     
    1952430338              </div>
    1952530339              <div class="refsect1" lang="en" xml:lang="en">
    19526                 <a xmlns="http://www.w3.org/1999/xhtml" id="id531975"></a>
     30340                <a xmlns="http://www.w3.org/1999/xhtml" id="id658622"></a>
    1952730341                <div class="header">Description:</div>
    1952830342                <p xmlns="http://www.w3.org/1999/xhtml">Defines an ObjC-callable method which implements the
     
    1954530359            <div>
    1954630360              <div class="refsect1" lang="en" xml:lang="en">
    19547                 <a xmlns="http://www.w3.org/1999/xhtml" id="id532038"></a>
     30361                <a xmlns="http://www.w3.org/1999/xhtml" id="id658685"></a>
    1954830362                <div class="header">Arguments and Values:</div>
    1954930363                <p xmlns="http://www.w3.org/1999/xhtml">As per DEFINE-OBJC-METHOD</p>
    1955030364              </div>
    1955130365              <div class="refsect1" lang="en" xml:lang="en">
    19552                 <a xmlns="http://www.w3.org/1999/xhtml" id="id532049"></a>
     30366                <a xmlns="http://www.w3.org/1999/xhtml" id="id658696"></a>
    1955330367                <div class="header">Description:</div>
    1955430368                <p xmlns="http://www.w3.org/1999/xhtml">Like DEFINE-OBJC-METHOD, only used to define methods on the
     
    1959230406            <div>
    1959330407              <div class="refsect1" lang="en" xml:lang="en">
    19594                 <a xmlns="http://www.w3.org/1999/xhtml" id="id532126"></a>
     30408                <a xmlns="http://www.w3.org/1999/xhtml" id="id658773"></a>
    1959530409                <div class="header">Description:</div>
    1959630410                <p xmlns="http://www.w3.org/1999/xhtml">This variable is currently only used by the standard reader macro
     
    1962730441            <div>
    1962830442              <div class="refsect1" lang="en" xml:lang="en">
    19629                 <a xmlns="http://www.w3.org/1999/xhtml" id="id532183"></a>
     30443                <a xmlns="http://www.w3.org/1999/xhtml" id="id658830"></a>
    1963030444                <div class="header">Superclasses:</div>
    1963130445                <p xmlns="http://www.w3.org/1999/xhtml">NS:NS-STRING</p>
    1963230446              </div>
    1963330447              <div class="refsect1" lang="en" xml:lang="en">
    19634                 <a xmlns="http://www.w3.org/1999/xhtml" id="id532194"></a>
     30448                <a xmlns="http://www.w3.org/1999/xhtml" id="id658841"></a>
    1963530449                <div class="header">Initargs:</div>
    1963630450                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">:string</span></i>---
     
    1964030454              </div>
    1964130455              <div class="refsect1" lang="en" xml:lang="en">
    19642                 <a xmlns="http://www.w3.org/1999/xhtml" id="id532221"></a>
     30456                <a xmlns="http://www.w3.org/1999/xhtml" id="id658868"></a>
    1964330457                <div class="header">Description:</div>
    1964430458                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1965830472              </div>
    1965930473              <div class="refsect1" lang="en" xml:lang="en">
    19660                 <a xmlns="http://www.w3.org/1999/xhtml" id="id532241"></a>
     30474                <a xmlns="http://www.w3.org/1999/xhtml" id="id680332"></a>
    1966130475                <div class="header">Examples:</div>
    1966230476                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1968930503              </div>
    1969030504              <div class="refsect1" lang="en" xml:lang="en">
    19691                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521524"></a>
     30505                <a xmlns="http://www.w3.org/1999/xhtml" id="id680385"></a>
    1969230506                <div class="header">Notes:</div>
    1969330507                <p xmlns="http://www.w3.org/1999/xhtml">
     
    1970730521          <div>
    1970830522            <div>
    19709               <h2 class="title"><a id="Understanding-and-Configuring-the-Garbage-Collector"></a>Chapter 15. Understanding and Configuring the Garbage Collector</h2>
     30523              <h2 class="title"><a id="Understanding-and-Configuring-the-Garbage-Collector"></a>Chapter 16. Understanding and Configuring the Garbage Collector</h2>
    1971030524            </div>
    1971130525          </div>
     
    1971530529            <dt>
    1971630530              <span class="sect1">
    19717                 <a href="#Heap-space-allocation">15.1. Heap space allocation</a>
     30531                <a href="#Heap-space-allocation">16.1. Heap space allocation</a>
    1971830532              </span>
    1971930533            </dt>
    1972030534            <dt>
    1972130535              <span class="sect1">
    19722                 <a href="#The-Ephemeral-GC">15.2. The Ephemeral GC</a>
     30536                <a href="#The-Ephemeral-GC">16.2. The Ephemeral GC</a>
    1972330537              </span>
    1972430538            </dt>
    1972530539            <dt>
    1972630540              <span class="sect1">
    19727                 <a href="#GC-Page-reclamation-policy">15.3. GC Page reclamation policy</a>
     30541                <a href="#GC-Page-reclamation-policy">16.3. GC Page reclamation policy</a>
    1972830542              </span>
    1972930543            </dt>
    1973030544            <dt>
    1973130545              <span class="sect1">
    19732                 <a href="#iPure--areas-are-read-only--paged-from-image-file">15.4. "Pure" areas are read-only, paged from image file</a>
     30546                <a href="#iPure--areas-are-read-only--paged-from-image-file">16.4. "Pure" areas are read-only, paged from image file</a>
    1973330547              </span>
    1973430548            </dt>
    1973530549            <dt>
    1973630550              <span class="sect1">
    19737                 <a href="#Weak-References">15.5. Weak References</a>
     30551                <a href="#Weak-References">16.5. Weak References</a>
    1973830552              </span>
    1973930553            </dt>
    1974030554            <dt>
    1974130555              <span class="sect1">
    19742                 <a href="#Weak-References-Dictionary">15.6. Weak References Dictionary</a>
     30556                <a href="#Weak-References-Dictionary">16.6. Weak References Dictionary</a>
    1974330557              </span>
    1974430558            </dt>
    1974530559            <dt>
    1974630560              <span class="sect1">
    19747                 <a href="#Garbage-Collection-Dictionary">15.7. Garbage-Collection Dictionary</a>
     30561                <a href="#Garbage-Collection-Dictionary">16.7. Garbage-Collection Dictionary</a>
    1974830562              </span>
    1974930563            </dt>
     
    1975430568            <div>
    1975530569              <div>
    19756                 <h2 class="title" style="clear: both"><a id="Heap-space-allocation"></a>15.1. Heap space allocation</h2>
     30570                <h2 class="title" style="clear: both"><a id="Heap-space-allocation"></a>16.1. Heap space allocation</h2>
    1975730571              </div>
    1975830572            </div>
     
    1980130615            <div>
    1980230616              <div>
    19803                 <h2 class="title" style="clear: both"><a id="The-Ephemeral-GC"></a>15.2. The Ephemeral GC</h2>
     30617                <h2 class="title" style="clear: both"><a id="The-Ephemeral-GC"></a>16.2. The Ephemeral GC</h2>
    1980430618              </div>
    1980530619            </div>
     
    1988630700            <div>
    1988730701              <div>
    19888                 <h2 class="title" style="clear: both"><a id="GC-Page-reclamation-policy"></a>15.3. GC Page reclamation policy</h2>
     30702                <h2 class="title" style="clear: both"><a id="GC-Page-reclamation-policy"></a>16.3. GC Page reclamation policy</h2>
    1988930703              </div>
    1989030704            </div>
     
    1992530739            <div>
    1992630740              <div>
    19927                 <h2 class="title" style="clear: both"><a id="iPure--areas-are-read-only--paged-from-image-file"></a>15.4. "Pure" areas are read-only, paged from image file</h2>
     30741                <h2 class="title" style="clear: both"><a id="iPure--areas-are-read-only--paged-from-image-file"></a>16.4. "Pure" areas are read-only, paged from image file</h2>
    1992830742              </div>
    1992930743            </div>
     
    1995930773            <div>
    1996030774              <div>
    19961                 <h2 class="title" style="clear: both"><a id="Weak-References"></a>15.5. Weak References</h2>
     30775                <h2 class="title" style="clear: both"><a id="Weak-References"></a>16.5. Weak References</h2>
    1996230776              </div>
    1996330777            </div>
     
    2001330827            <div>
    2001430828              <div>
    20015                 <h2 class="title" style="clear: both"><a id="Weak-References-Dictionary"></a>15.6. Weak References Dictionary</h2>
     30829                <h2 class="title" style="clear: both"><a id="Weak-References-Dictionary"></a>16.6. Weak References Dictionary</h2>
    2001630830              </div>
    2001730831            </div>
     
    2002930843            <div>
    2003030844              <div class="refsect1" lang="en" xml:lang="en">
    20031                 <a xmlns="http://www.w3.org/1999/xhtml" id="id517823"></a>
     30845                <a xmlns="http://www.w3.org/1999/xhtml" id="id655360"></a>
    2003230846                <div class="header">Arguments and Values:</div>
    2003330847                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">type</span></i>---The type of population, one of <code xmlns="http://www.w3.org/1999/xhtml" class="literal">:LIST</code> (the default) or <code xmlns="http://www.w3.org/1999/xhtml" class="literal">:ALIST</code></p>
     
    2003730851              </div>
    2003830852              <div class="refsect1" lang="en" xml:lang="en">
    20039                 <a xmlns="http://www.w3.org/1999/xhtml" id="id517881"></a>
     30853                <a xmlns="http://www.w3.org/1999/xhtml" id="id655418"></a>
    2004030854                <div class="header">Description:</div>
    2004130855                <p xmlns="http://www.w3.org/1999/xhtml">Creates a new population of the specified type.</p>
     
    2005530869            <div>
    2005630870              <div class="refsect1" lang="en" xml:lang="en">
    20057                 <a xmlns="http://www.w3.org/1999/xhtml" id="id517938"></a>
     30871                <a xmlns="http://www.w3.org/1999/xhtml" id="id655476"></a>
    2005830872                <div class="header">Description:</div>
    2005930873                <p xmlns="http://www.w3.org/1999/xhtml">returns the type of <code class="literal">population</code>, one of <code class="literal">:LIST</code> or <code class="literal">:ALIST</code></p>
     
    2007330887            <div>
    2007430888              <div class="refsect1" lang="en" xml:lang="en">
    20075                 <a xmlns="http://www.w3.org/1999/xhtml" id="id518012"></a>
     30889                <a xmlns="http://www.w3.org/1999/xhtml" id="id655550"></a>
    2007630890                <div class="header">Description:</div>
    2007730891                <p xmlns="http://www.w3.org/1999/xhtml">returns the list encapsulated in <code class="literal">population</code>.
     
    2009630910            <div>
    2009730911              <div class="refsect1" lang="en" xml:lang="en">
    20098                 <a xmlns="http://www.w3.org/1999/xhtml" id="id518081"></a>
     30912                <a xmlns="http://www.w3.org/1999/xhtml" id="id680418"></a>
    2009930913                <div class="header">Description:</div>
    2010030914                <p xmlns="http://www.w3.org/1999/xhtml">Sets the list encapsulated in <code class="literal">population</code> to
     
    2010930923            <div>
    2011030924              <div>
    20111                 <h2 class="title" style="clear: both"><a id="Garbage-Collection-Dictionary"></a>15.7. Garbage-Collection Dictionary</h2>
     30925                <h2 class="title" style="clear: both"><a id="Garbage-Collection-Dictionary"></a>16.7. Garbage-Collection Dictionary</h2>
    2011230926              </div>
    2011330927            </div>
     
    2012930943            <div>
    2013030944              <div class="refsect1" lang="en" xml:lang="en">
    20131                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521614"></a>
     30945                <a xmlns="http://www.w3.org/1999/xhtml" id="id680502"></a>
    2013230946                <div class="header">Description:</div>
    2013330947                <p xmlns="http://www.w3.org/1999/xhtml">Returns the value of the kernel variable that specifies the
     
    2015030964            <div>
    2015130965              <div class="refsect1" lang="en" xml:lang="en">
    20152                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521675"></a>
     30966                <a xmlns="http://www.w3.org/1999/xhtml" id="id680563"></a>
    2015330967                <div class="header">Arguments and Values:</div>
    2015430968                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">new-threshold</span></i>---The requested new lisp-heap-gc-threshold.</p>
    2015530969              </div>
    2015630970              <div class="refsect1" lang="en" xml:lang="en">
    20157                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521700"></a>
     30971                <a xmlns="http://www.w3.org/1999/xhtml" id="id680589"></a>
    2015830972                <div class="header">Description:</div>
    2015930973                <p xmlns="http://www.w3.org/1999/xhtml">Sets the value of the kernel variable that specifies the
     
    2017930993            <div>
    2018030994              <div class="refsect1" lang="en" xml:lang="en">
    20181                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521762"></a>
     30995                <a xmlns="http://www.w3.org/1999/xhtml" id="id561732"></a>
    2018230996                <div class="header">Description:</div>
    2018330997                <p xmlns="http://www.w3.org/1999/xhtml">Tries to grow or shrink lisp's heap space, so that the
     
    2019931013            <div>
    2020031014              <div class="refsect1" lang="en" xml:lang="en">
    20201                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521821"></a>
     31015                <a xmlns="http://www.w3.org/1999/xhtml" id="id561790"></a>
    2020231016                <div class="header">Arguments and Values:</div>
    2020331017                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">arg</span></i>---a generalized boolean</p>
    2020431018              </div>
    2020531019              <div class="refsect1" lang="en" xml:lang="en">
    20206                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521847"></a>
     31020                <a xmlns="http://www.w3.org/1999/xhtml" id="id680633"></a>
    2020731021                <div class="header">Description:</div>
    2020831022                <p xmlns="http://www.w3.org/1999/xhtml">Enables the EGC if arg is non-nil, disables the EGC
     
    2023031044            <div>
    2023131045              <div class="refsect1" lang="en" xml:lang="en">
    20232                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521905"></a>
     31046                <a xmlns="http://www.w3.org/1999/xhtml" id="id680691"></a>
    2023331047                <div class="header">Description:</div>
    2023431048                <p xmlns="http://www.w3.org/1999/xhtml">Returns T if the EGC was enabled at the time of the call,
     
    2025331067            <div>
    2025431068              <div class="refsect1" lang="en" xml:lang="en">
    20255                 <a xmlns="http://www.w3.org/1999/xhtml" id="id521961"></a>
     31069                <a xmlns="http://www.w3.org/1999/xhtml" id="id680747"></a>
    2025631070                <div class="header">Description:</div>
    2025731071                <p xmlns="http://www.w3.org/1999/xhtml">Returns T if the EGC was active at the time of the call, NIL
     
    2027831092            <div>
    2027931093              <div class="refsect1" lang="en" xml:lang="en">
    20280                 <a xmlns="http://www.w3.org/1999/xhtml" id="id522019"></a>
     31094                <a xmlns="http://www.w3.org/1999/xhtml" id="id680805"></a>
    2028131095                <div class="header">Description:</div>
    2028231096                <p xmlns="http://www.w3.org/1999/xhtml">Returns, as multiple values, the sizes in kilobytes of the
     
    2030031114            <div>
    2030131115              <div class="refsect1" lang="en" xml:lang="en">
    20302                 <a xmlns="http://www.w3.org/1999/xhtml" id="id522078"></a>
     31116                <a xmlns="http://www.w3.org/1999/xhtml" id="id680864"></a>
    2030331117                <div class="header">Arguments and Values:</div>
    2030431118                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">generation-0-size</span></i>---the requested threshold size of the youngest
     
    2031031124              </div>
    2031131125              <div class="refsect1" lang="en" xml:lang="en">
    20312                 <a xmlns="http://www.w3.org/1999/xhtml" id="id522133"></a>
     31126                <a xmlns="http://www.w3.org/1999/xhtml" id="id680919"></a>
    2031331127                <div class="header">Description:</div>
    2031431128                <p xmlns="http://www.w3.org/1999/xhtml">Puts the indicated threshold sizes in effect.
     
    2033431148            <div>
    2033531149              <div class="refsect1" lang="en" xml:lang="en">
    20336                 <a xmlns="http://www.w3.org/1999/xhtml" id="id522199"></a>
     31150                <a xmlns="http://www.w3.org/1999/xhtml" id="id680985"></a>
    2033731151                <div class="header">Arguments and Values:</div>
    2033831152                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">arg</span></i>---a generalized boolean</p>
    2033931153              </div>
    2034031154              <div class="refsect1" lang="en" xml:lang="en">
    20341                 <a xmlns="http://www.w3.org/1999/xhtml" id="id522225"></a>
     31155                <a xmlns="http://www.w3.org/1999/xhtml" id="id681011"></a>
    2034231156                <div class="header">Description:</div>
    2034331157                <p xmlns="http://www.w3.org/1999/xhtml">Tries to influence the GC to retain/recycle the pages
     
    2036431178            <div>
    2036531179              <div class="refsect1" lang="en" xml:lang="en">
    20366                 <a xmlns="http://www.w3.org/1999/xhtml" id="id522283"></a>
     31180                <a xmlns="http://www.w3.org/1999/xhtml" id="id681068"></a>
    2036731181                <div class="header">Description:</div>
    2036831182                <p xmlns="http://www.w3.org/1999/xhtml">Returns T if the GC tries to retain pages between full GCs
     
    2037831192          <div>
    2037931193            <div>
    20380               <h2 class="title"><a id="Implementation-Details-of-CCL"></a>Chapter 16. Implementation Details of Clozure CL</h2>
     31194              <h2 class="title"><a id="Implementation-Details-of-CCL"></a>Chapter 17. Implementation Details of Clozure CL</h2>
    2038131195            </div>
    2038231196          </div>
     
    2038631200            <dt>
    2038731201              <span class="sect1">
    20388                 <a href="#Threads-and-exceptions">16.1. Threads and exceptions</a>
     31202                <a href="#Threads-and-exceptions">17.1. Threads and exceptions</a>
    2038931203              </span>
    2039031204            </dt>
     
    2039331207                <dt>
    2039431208                  <span class="sect2">
    20395                     <a href="#The-Thread-Context-Record">16.1.1. The Thread Context Record</a>
     31209                    <a href="#The-Thread-Context-Record">17.1.1. The Thread Context Record</a>
    2039631210                  </span>
    2039731211                </dt>
    2039831212                <dt>
    2039931213                  <span class="sect2">
    20400                     <a href="#Exception-contexts-comma---and-exception-handling-in-general">16.1.2. Exception contexts, and exception-handling in general</a>
     31214                    <a href="#Exception-contexts-comma---and-exception-handling-in-general">17.1.2. Exception contexts, and exception-handling in general</a>
    2040131215                  </span>
    2040231216                </dt>
    2040331217                <dt>
    2040431218                  <span class="sect2">
    20405                     <a href="#Threads-comma---exceptions-comma---and-the-GC">16.1.3. Threads, exceptions, and the GC</a>
     31219                    <a href="#Threads-comma---exceptions-comma---and-the-GC">17.1.3. Threads, exceptions, and the GC</a>
    2040631220                  </span>
    2040731221                </dt>
    2040831222                <dt>
    2040931223                  <span class="sect2">
    20410                     <a href="#PC-lusering">16.1.4. PC-lusering</a>
     31224                    <a href="#PC-lusering">17.1.4. PC-lusering</a>
    2041131225                  </span>
    2041231226                </dt>
     
    2041531229            <dt>
    2041631230              <span class="sect1">
    20417                 <a href="#Register-usage-and-tagging">16.2. Register usage and tagging</a>
     31231                <a href="#Register-usage-and-tagging">17.2. Register usage and tagging</a>
    2041831232              </span>
    2041931233            </dt>
     
    2042231236                <dt>
    2042331237                  <span class="sect2">
    20424                     <a href="#Register-usage-and-tagging-overview">16.2.1. Overview</a>
     31238                    <a href="#Register-usage-and-tagging-overview">17.2.1. Overview</a>
    2042531239                  </span>
    2042631240                </dt>
    2042731241                <dt>
    2042831242                  <span class="sect2">
    20429                     <a href="#pc-locatives-on-the-PPC">16.2.2. pc-locatives on the PPC</a>
     31243                    <a href="#pc-locatives-on-the-PPC">17.2.2. pc-locatives on the PPC</a>
    2043031244                  </span>
    2043131245                </dt>
    2043231246                <dt>
    2043331247                  <span class="sect2">
    20434                     <a href="#Register-and-stack-usage-conventions">16.2.3. Register and stack usage conventions</a>
     31248                    <a href="#Register-and-stack-usage-conventions">17.2.3. Register and stack usage conventions</a>
    2043531249                  </span>
    2043631250                </dt>
    2043731251                <dt>
    2043831252                  <span class="sect2">
    20439                     <a href="#Tagging-scheme">16.2.4. Tagging scheme</a>
     31253                    <a href="#Tagging-scheme">17.2.4. Tagging scheme</a>
    2044031254                  </span>
    2044131255                </dt>
     
    2044431258            <dt>
    2044531259              <span class="sect1">
    20446                 <a href="#Heap-Allocation">16.3. Heap Allocation</a>
     31260                <a href="#Heap-Allocation">17.3. Heap Allocation</a>
    2044731261              </span>
    2044831262            </dt>
     
    2045131265                <dt>
    2045231266                  <span class="sect2">
    20453                     <a href="#Per-thread-object-allocation">16.3.1. Per-thread object allocation</a>
     31267                    <a href="#Per-thread-object-allocation">17.3.1. Per-thread object allocation</a>
    2045431268                  </span>
    2045531269                </dt>
    2045631270                <dt>
    2045731271                  <span class="sect2">
    20458                     <a href="#Allocation-of-reserved-heap-segments">16.3.2. Allocation of reserved heap segments</a>
     31272                    <a href="#Allocation-of-reserved-heap-segments">17.3.2. Allocation of reserved heap segments</a>
    2045931273                  </span>
    2046031274                </dt>
    2046131275                <dt>
    2046231276                  <span class="sect2">
    20463                     <a href="#Heap-growth">16.3.3. Heap growth</a>
     31277                    <a href="#Heap-growth">17.3.3. Heap growth</a>
    2046431278                  </span>
    2046531279                </dt>
     
    2046831282            <dt>
    2046931283              <span class="sect1">
    20470                 <a href="#GC-details">16.4. GC details</a>
     31284                <a href="#GC-details">17.4. GC details</a>
    2047131285              </span>
    2047231286            </dt>
     
    2047531289                <dt>
    2047631290                  <span class="sect2">
    20477                     <a href="#Mark-phase">16.4.1. Mark phase</a>
     31291                    <a href="#Mark-phase">17.4.1. Mark phase</a>
    2047831292                  </span>
    2047931293                </dt>
    2048031294                <dt>
    2048131295                  <span class="sect2">
    20482                     <a href="#Relocation-phase">16.4.2. Relocation phase</a>
     31296                    <a href="#Relocation-phase">17.4.2. Relocation phase</a>
    2048331297                  </span>
    2048431298                </dt>
    2048531299                <dt>
    2048631300                  <span class="sect2">
    20487                     <a href="#Forwarding-phase">16.4.3. Forwarding phase</a>
     31301                    <a href="#Forwarding-phase">17.4.3. Forwarding phase</a>
    2048831302                  </span>
    2048931303                </dt>
    2049031304                <dt>
    2049131305                  <span class="sect2">
    20492                     <a href="#Compact-phase">16.4.4. Compact phase</a>
     31306                    <a href="#Compact-phase">17.4.4. Compact phase</a>
    2049331307                  </span>
    2049431308                </dt>
     
    2049731311            <dt>
    2049831312              <span class="sect1">
    20499                 <a href="#The-ephemeral-GC">16.5. The ephemeral GC</a>
     31313                <a href="#The-ephemeral-GC">17.5. The ephemeral GC</a>
    2050031314              </span>
    2050131315            </dt>
    2050231316            <dt>
    2050331317              <span class="sect1">
    20504                 <a href="#Fasl-files">16.6. Fasl files</a>
     31318                <a href="#Fasl-files">17.6. Fasl files</a>
    2050531319              </span>
    2050631320            </dt>
    2050731321            <dt>
    2050831322              <span class="sect1">
    20509                 <a href="#The-Objective-C-Bridge--1-">16.7. The Objective-C Bridge</a>
     31323                <a href="#The-Objective-C-Bridge--1-">17.7. The Objective-C Bridge</a>
    2051031324              </span>
    2051131325            </dt>
     
    2051431328                <dt>
    2051531329                  <span class="sect2">
    20516                     <a href="#How-CCL-Recognizes-Objective-C-Objects">16.7.1. How Clozure CL Recognizes Objective-C Objects</a>
     31330                    <a href="#How-CCL-Recognizes-Objective-C-Objects">17.7.1. How Clozure CL Recognizes Objective-C Objects</a>
    2051731331                  </span>
    2051831332                </dt>
    2051931333                <dt>
    2052031334                  <span class="sect2">
    20521                     <a href="#id527566">16.7.2. Recommended Reading</a>
     31335                    <a href="#id711745">17.7.2. Recommended Reading</a>
    2052231336                  </span>
    2052331337                </dt>
     
    2054031354            <div>
    2054131355              <div>
    20542                 <h2 class="title" style="clear: both"><a id="Threads-and-exceptions"></a>16.1. Threads and exceptions</h2>
     31356                <h2 class="title" style="clear: both"><a id="Threads-and-exceptions"></a>17.1. Threads and exceptions</h2>
    2054331357              </div>
    2054431358            </div>
     
    2057031384              <div>
    2057131385                <div>
    20572                   <h3 class="title"><a id="The-Thread-Context-Record"></a>16.1.1. The Thread Context Record</h3>
     31386                  <h3 class="title"><a id="The-Thread-Context-Record"></a>17.1.1. The Thread Context Record</h3>
    2057331387                </div>
    2057431388              </div>
     
    2063431448              <div>
    2063531449                <div>
    20636                   <h3 class="title"><a id="Exception-contexts-comma---and-exception-handling-in-general"></a>16.1.2. Exception contexts, and exception-handling in general</h3>
     31450                  <h3 class="title"><a id="Exception-contexts-comma---and-exception-handling-in-general"></a>17.1.2. Exception contexts, and exception-handling in general</h3>
    2063731451                </div>
    2063831452              </div>
     
    2071531529          that received the signal; in practice, that means "wherever
    2071631530          RSP is pointing."  Clozure CL's
    20717           <a class="xref" href="#Register-and-stack-usage-conventions" title="16.2.3. Register and stack usage conventions">Section 16.2.3, “Register and stack usage conventions”</a>
     31531          <a class="xref" href="#Register-and-stack-usage-conventions" title="17.2.3. Register and stack usage conventions">Section 17.2.3, “Register and stack usage conventions”</a>
    2071831532          require that the thread's value stack—where RSP is
    2071931533          usually pointing while lisp code is running—contain
     
    2075831572              <div>
    2075931573                <div>
    20760                   <h3 class="title"><a id="Threads-comma---exceptions-comma---and-the-GC"></a>16.1.3. Threads, exceptions, and the GC</h3>
     31574                  <h3 class="title"><a id="Threads-comma---exceptions-comma---and-the-GC"></a>17.1.3. Threads, exceptions, and the GC</h3>
    2076131575                </div>
    2076231576              </div>
     
    2077231586          Once all other threads have acknowledged the request to
    2077331587          suspend themselves, the GC thread can run the GC proper (after
    20774           doing any necessary <a class="xref" href="#PC-lusering" title="16.1.4. PC-lusering">Section 16.1.4, “PC-lusering”</a>.)  Once the
     31588          doing any necessary <a class="xref" href="#PC-lusering" title="17.1.4. PC-lusering">Section 17.1.4, “PC-lusering”</a>.)  Once the
    2077531589          GC's completed its work, the thread that invoked the GC
    2077631590          iterates over the global TCR list, raising a per-thread
     
    2079331607              <div>
    2079431608                <div>
    20795                   <h3 class="title"><a id="PC-lusering"></a>16.1.4. PC-lusering</h3>
     31609                  <h3 class="title"><a id="PC-lusering"></a>17.1.4. PC-lusering</h3>
    2079631610                </div>
    2079731611              </div>
     
    2083131645                </li>
    2083231646                <li class="listitem">
    20833                   <p><a class="xref" href="#The-ephemeral-GC" title="16.5. The ephemeral GC">Section 16.5, “The ephemeral GC”</a>'s write barrier
     31647                  <p><a class="xref" href="#The-ephemeral-GC" title="17.5. The ephemeral GC">Section 17.5, “The ephemeral GC”</a>'s write barrier
    2083431648                  has to be implemented atomically (i.e.,both an
    2083531649                  intergenerational store and the update of a
     
    2086331677            <div>
    2086431678              <div>
    20865                 <h2 class="title" style="clear: both"><a id="Register-usage-and-tagging"></a>16.2. Register usage and tagging</h2>
     31679                <h2 class="title" style="clear: both"><a id="Register-usage-and-tagging"></a>17.2. Register usage and tagging</h2>
    2086631680              </div>
    2086731681            </div>
     
    2087131685              <div>
    2087231686                <div>
    20873                   <h3 class="title"><a id="Register-usage-and-tagging-overview"></a>16.2.1. Overview</h3>
     31687                  <h3 class="title"><a id="Register-usage-and-tagging-overview"></a>17.2.1. Overview</h3>
    2087431688                </div>
    2087531689              </div>
     
    2092831742          activity in some other thread) on any instruction boundary,
    2092931743          which in turn means that the compiler and runtime system must
    20930           follow precise <a class="xref" href="#Register-and-stack-usage-conventions" title="16.2.3. Register and stack usage conventions">Section 16.2.3, “Register and stack usage conventions”</a> at all
     31744          follow precise <a class="xref" href="#Register-and-stack-usage-conventions" title="17.2.3. Register and stack usage conventions">Section 17.2.3, “Register and stack usage conventions”</a> at all
    2093131745          times.</p>
    2093231746            <p xmlns="http://www.w3.org/1999/xhtml">Once we've decided that a given machine word is a node,
    20933           a <a class="xref" href="#Tagging-scheme" title="16.2.4. Tagging scheme">Section 16.2.4, “Tagging scheme”</a> describes how the node's
     31747          a <a class="xref" href="#Tagging-scheme" title="17.2.4. Tagging scheme">Section 17.2.4, “Tagging scheme”</a> describes how the node's
    2093431748          value and type are encoded in that machine word.</p>
    2093531749            <p xmlns="http://www.w3.org/1999/xhtml">Most of this discussion—so far—has treated
     
    2094131755          raw non-node values.)  Higher-level parts of the lisp type
    2094231756          system (functions like TYPE-OF and CLASS-OF, etc.) depend on
    20943           the <a class="xref" href="#Tagging-scheme" title="16.2.4. Tagging scheme">Section 16.2.4, “Tagging scheme”</a>.</p>
     31757          the <a class="xref" href="#Tagging-scheme" title="17.2.4. Tagging scheme">Section 17.2.4, “Tagging scheme”</a>.</p>
    2094431758          </div>
    2094531759          <div class="sect2" lang="en" xml:lang="en">
     
    2094731761              <div>
    2094831762                <div>
    20949                   <h3 class="title"><a id="pc-locatives-on-the-PPC"></a>16.2.2. pc-locatives on the PPC</h3>
     31763                  <h3 class="title"><a id="pc-locatives-on-the-PPC"></a>17.2.2. pc-locatives on the PPC</h3>
    2095031764                </div>
    2095131765              </div>
     
    2100531819              <div>
    2100631820                <div>
    21007                   <h3 class="title"><a id="Register-and-stack-usage-conventions"></a>16.2.3. Register and stack usage conventions</h3>
     31821                  <h3 class="title"><a id="Register-and-stack-usage-conventions"></a>17.2.3. Register and stack usage conventions</h3>
    2100831822                </div>
    2100931823              </div>
     
    2101331827                <div>
    2101431828                  <div>
    21015                     <h4 class="title"><a id="Stack-conventions"></a>16.2.3.1. Stack conventions</h4>
     31829                    <h4 class="title"><a id="Stack-conventions"></a>17.2.3.1. Stack conventions</h4>
    2101631830                  </div>
    2101731831                </div>
     
    2105131865                    when the thread is running foreign code and the address
    2105231866                    of the top of the control stack is kept in the thread's
    21053                     TCR (see <a class="xref" href="#The-Thread-Context-Record" title="16.1.1. The Thread Context Record">Section 16.1.1, “The Thread Context Record”</a>
     31867                    TCR (see <a class="xref" href="#The-Thread-Context-Record" title="17.1.1. The Thread Context Record">Section 17.1.1, “The Thread Context Record”</a>
    2105431868                    when not running foreign code.  The control stack "grows
    2105531869                    down."</p>
     
    2112031934                <div>
    2112131935                  <div>
    21122                     <h4 class="title"><a id="Register-conventions"></a>16.2.3.2. Register conventions</h4>
     31936                    <h4 class="title"><a id="Register-conventions"></a>17.2.3.2. Register conventions</h4>
    2112331937                  </div>
    2112431938                </div>
     
    2132032134              <div>
    2132132135                <div>
    21322                   <h3 class="title"><a id="Tagging-scheme"></a>16.2.4. Tagging scheme</h3>
     32136                  <h3 class="title"><a id="Tagging-scheme"></a>17.2.4. Tagging scheme</h3>
    2132332137                </div>
    2132432138              </div>
     
    2151932333            <div>
    2152032334              <div>
    21521                 <h2 class="title" style="clear: both"><a id="Heap-Allocation"></a>16.3. Heap Allocation</h2>
     32335                <h2 class="title" style="clear: both"><a id="Heap-Allocation"></a>17.3. Heap Allocation</h2>
    2152232336              </div>
    2152332337            </div>
     
    2155732371              <div>
    2155832372                <div>
    21559                   <h3 class="title"><a id="Per-thread-object-allocation"></a>16.3.1. Per-thread object allocation</h3>
     32373                  <h3 class="title"><a id="Per-thread-object-allocation"></a>17.3.1. Per-thread object allocation</h3>
    2156032374                </div>
    2156132375              </div>
     
    2163132445              <div>
    2163232446                <div>
    21633                   <h3 class="title"><a id="Allocation-of-reserved-heap-segments"></a>16.3.2. Allocation of reserved heap segments</h3>
     32447                  <h3 class="title"><a id="Allocation-of-reserved-heap-segments"></a>17.3.2. Allocation of reserved heap segments</h3>
    2163432448                </div>
    2163532449              </div>
     
    2166632480              <div>
    2166732481                <div>
    21668                   <h3 class="title"><a id="Heap-growth"></a>16.3.3. Heap growth</h3>
     32482                  <h3 class="title"><a id="Heap-growth"></a>17.3.3. Heap growth</h3>
    2166932483                </div>
    2167032484              </div>
     
    2169832512            <div>
    2169932513              <div>
    21700                 <h2 class="title" style="clear: both"><a id="GC-details"></a>16.4. GC details</h2>
     32514                <h2 class="title" style="clear: both"><a id="GC-details"></a>17.4. GC details</h2>
    2170132515              </div>
    2170232516            </div>
     
    2170832522        garbage to rebuild free-lists; their execution time is therefore
    2170932523        a factor of the total heap size.)</p>
    21710           <p xmlns="http://www.w3.org/1999/xhtml">As mentioned in <a class="xref" href="#Heap-Allocation" title="16.3. Heap Allocation">Section 16.3, “Heap Allocation”</a>, two
     32524          <p xmlns="http://www.w3.org/1999/xhtml">As mentioned in <a class="xref" href="#Heap-Allocation" title="17.3. Heap Allocation">Section 17.3, “Heap Allocation”</a>, two
    2171132525        auxiliary data structures (proportional to the size of the lisp
    2171232526        heap) are maintained. These are</p>
     
    2173332547              <div>
    2173432548                <div>
    21735                   <h3 class="title"><a id="Mark-phase"></a>16.4.1. Mark phase</h3>
     32549                  <h3 class="title"><a id="Mark-phase"></a>17.4.1. Mark phase</h3>
    2173632550                </div>
    2173732551              </div>
     
    2179532609                <li class="listitem">
    2179632610                  <p>To support a feature called <span class="emphasis"><em>GCTWA
    21797                 <sup>[<a id="id527121" href="#ftn.id527121" class="footnote">1</a>]</sup>
     32611                <sup>[<a id="id711299" href="#ftn.id711299" class="footnote">1</a>]</sup>
    2179832612                    , </em></span>the vector that contains the internal
    2179932613                  symbols of the current package is marked on entry to the
     
    2183032644              <div>
    2183132645                <div>
    21832                   <h3 class="title"><a id="Relocation-phase"></a>16.4.2. Relocation phase</h3>
     32646                  <h3 class="title"><a id="Relocation-phase"></a>17.4.2. Relocation phase</h3>
    2183332647                </div>
    2183432648              </div>
     
    2187032684              <div>
    2187132685                <div>
    21872                   <h3 class="title"><a id="Forwarding-phase"></a>16.4.3. Forwarding phase</h3>
     32686                  <h3 class="title"><a id="Forwarding-phase"></a>17.4.3. Forwarding phase</h3>
    2187332687                </div>
    2187432688              </div>
     
    2190732721              <div>
    2190832722                <div>
    21909                   <h3 class="title"><a id="Compact-phase"></a>16.4.4. Compact phase</h3>
     32723                  <h3 class="title"><a id="Compact-phase"></a>17.4.4. Compact phase</h3>
    2191032724                </div>
    2191132725              </div>
     
    2192832742            <hr width="100" align="left" />
    2192932743            <div class="footnote">
    21930               <p><sup>[<a id="ftn.id527121" href="#id527121" class="para">1</a>] </sup>I believe that the acronym comes from MACLISP,
     32744              <p><sup>[<a id="ftn.id711299" href="#id711299" class="para">1</a>] </sup>I believe that the acronym comes from MACLISP,
    2193132745                            where it stood for "Garbage Collection of Truly
    2193232746                            Worthless Atoms".</p>
     
    2193832752            <div>
    2193932753              <div>
    21940                 <h2 class="title" style="clear: both"><a id="The-ephemeral-GC"></a>16.5. The ephemeral GC</h2>
     32754                <h2 class="title" style="clear: both"><a id="The-ephemeral-GC"></a>17.5. The ephemeral GC</h2>
    2194132755              </div>
    2194232756            </div>
     
    2198832802        generations looking for such intergenerational references, the
    2198932803        runtime system must note all such intergenerational references
    21990         at the point where they're created (via Setf).<sup>[<a id="id527355" href="#ftn.id527355" class="footnote">2</a>]</sup> The
     32804        at the point where they're created (via Setf).<sup>[<a id="id711533" href="#ftn.id711533" class="footnote">2</a>]</sup> The
    2199132805        set of pointers that may contain intergenerational references is
    2199232806        sometimes called <span class="emphasis"><em>the remembered set</em></span>.</p>
     
    2203532849        that might introduce an intergenerational reference must be
    2203632850        memoized.
    22037         <sup>[<a id="id527423" href="#ftn.id527423" class="footnote">3</a>]</sup> It's always safe to
     32851        <sup>[<a id="id711601" href="#ftn.id711601" class="footnote">3</a>]</sup> It's always safe to
    2203832852        push any cons cell or gvector locative onto the memo stack;
    2203932853        it's never safe to push anything else.
     
    2205632870            <hr width="100" align="left" />
    2205732871            <div class="footnote">
    22058               <p><sup>[<a id="ftn.id527355" href="#id527355" class="para">2</a>] </sup>This is
     32872              <p><sup>[<a id="ftn.id711533" href="#id711533" class="para">2</a>] </sup>This is
    2205932873            sometimes called "The Write Barrier": all assignments which
    2206032874            might result in intergenerational references must be noted, as
     
    2206232876            </div>
    2206332877            <div class="footnote">
    22064               <p><sup>[<a id="ftn.id527423" href="#id527423" class="para">3</a>] </sup>Note that the implicit setfs that occur when
     32878              <p><sup>[<a id="ftn.id711601" href="#id711601" class="para">3</a>] </sup>Note that the implicit setfs that occur when
    2206532879        initializing an object - as in the case of a call to cons or
    2206632880        vector - can't introduce intergenerational references, since
     
    2207432888            <div>
    2207532889              <div>
    22076                 <h2 class="title" style="clear: both"><a id="Fasl-files"></a>16.6. Fasl files</h2>
     32890                <h2 class="title" style="clear: both"><a id="Fasl-files"></a>17.6. Fasl files</h2>
    2207732891              </div>
    2207832892            </div>
     
    2212132935            <div>
    2212232936              <div>
    22123                 <h2 class="title" style="clear: both"><a id="The-Objective-C-Bridge--1-"></a>16.7. The Objective-C Bridge</h2>
     32937                <h2 class="title" style="clear: both"><a id="The-Objective-C-Bridge--1-"></a>17.7. The Objective-C Bridge</h2>
    2212432938              </div>
    2212532939            </div>
     
    2212932943              <div>
    2213032944                <div>
    22131                   <h3 class="title"><a id="How-CCL-Recognizes-Objective-C-Objects"></a>16.7.1. How Clozure CL Recognizes Objective-C Objects</h3>
     32945                  <h3 class="title"><a id="How-CCL-Recognizes-Objective-C-Objects"></a>17.7.1. How Clozure CL Recognizes Objective-C Objects</h3>
    2213232946                </div>
    2213332947              </div>
     
    2217832992              <div>
    2217932993                <div>
    22180                   <h3 class="title"><a id="id527566"></a>16.7.2. Recommended Reading</h3>
     32994                  <h3 class="title"><a id="id711745"></a>17.7.2. Recommended Reading</h3>
    2218132995                </div>
    2218232996              </div>
     
    2221733031          <div>
    2221833032            <div>
    22219               <h2 class="title"><a id="Modifying-CCL"></a>Chapter 17. Modifying Clozure CL</h2>
     33033              <h2 class="title"><a id="Modifying-CCL"></a>Chapter 18. Modifying Clozure CL</h2>
    2222033034            </div>
    2222133035          </div>
     
    2222533039            <dt>
    2222633040              <span class="sect1">
    22227                 <a href="#Contributing-Code-Back-to-the-CCL-Project">17.1. Contributing Code Back to the Clozure CL Project</a>
     33041                <a href="#Contributing-Code-Back-to-the-CCL-Project">18.1. Contributing Code Back to the Clozure CL Project</a>
    2222833042              </span>
    2222933043            </dt>
    2223033044            <dt>
    2223133045              <span class="sect1">
    22232                 <a href="#Using-CCL-in--development--and-in--user--mode">17.2. Using Clozure CL in "development" and in  "user" mode</a>
     33046                <a href="#Using-CCL-in--development--and-in--user--mode">18.2. Using Clozure CL in "development" and in  "user" mode</a>
    2223333047              </span>
    2223433048            </dt>
    2223533049            <dt>
    2223633050              <span class="sect1">
    22237                 <a href="#kernel-debugger">17.3. The Kernel Debugger</a>
     33051                <a href="#kernel-debugger">18.3. The Kernel Debugger</a>
    2223833052              </span>
    2223933053            </dt>
    2224033054            <dt>
    2224133055              <span class="sect1">
    22242                 <a href="#Using-AltiVec-in-CCL-LAP-functions">17.4. Using AltiVec in Clozure CL LAP functions</a>
     33056                <a href="#Using-AltiVec-in-CCL-LAP-functions">18.4. Using AltiVec in Clozure CL LAP functions</a>
    2224333057              </span>
    2224433058            </dt>
     
    2224733061                <dt>
    2224833062                  <span class="sect2">
    22249                     <a href="#Overview--16-">17.4.1. Overview</a>
     33063                    <a href="#Overview--16-">18.4.1. Overview</a>
    2225033064                  </span>
    2225133065                </dt>
    2225233066                <dt>
    2225333067                  <span class="sect2">
    22254                     <a href="#Register-usage-conventions">17.4.2. Register usage conventions</a>
     33068                    <a href="#Register-usage-conventions">18.4.2. Register usage conventions</a>
    2225533069                  </span>
    2225633070                </dt>
     
    2225933073            <dt>
    2226033074              <span class="sect1">
    22261                 <a href="#Development-Mode-Dictionary">17.5. Development-Mode Dictionary</a>
     33075                <a href="#Development-Mode-Dictionary">18.5. Development-Mode Dictionary</a>
    2226233076              </span>
    2226333077            </dt>
     
    2226833082            <div>
    2226933083              <div>
    22270                 <h2 class="title" style="clear: both"><a id="Contributing-Code-Back-to-the-CCL-Project"></a>17.1. Contributing Code Back to the Clozure CL Project</h2>
     33084                <h2 class="title" style="clear: both"><a id="Contributing-Code-Back-to-the-CCL-Project"></a>18.1. Contributing Code Back to the Clozure CL Project</h2>
    2227133085              </div>
    2227233086            </div>
     
    2228033094            <div>
    2228133095              <div>
    22282                 <h2 class="title" style="clear: both"><a id="Using-CCL-in--development--and-in--user--mode"></a>17.2. Using Clozure CL in "development" and in  "user" mode</h2>
     33096                <h2 class="title" style="clear: both"><a id="Using-CCL-in--development--and-in--user--mode"></a>18.2. Using Clozure CL in "development" and in  "user" mode</h2>
    2228333097              </div>
    2228433098            </div>
     
    2233733151            <div>
    2233833152              <div>
    22339                 <h2 class="title" style="clear: both"><a id="kernel-debugger"></a>17.3. The Kernel Debugger</h2>
     33153                <h2 class="title" style="clear: both"><a id="kernel-debugger"></a>18.3. The Kernel Debugger</h2>
    2234033154              </div>
    2234133155            </div>
     
    2247033284            <div>
    2247133285              <div>
    22472                 <h2 class="title" style="clear: both"><a id="Using-AltiVec-in-CCL-LAP-functions"></a>17.4. Using AltiVec in Clozure CL LAP functions</h2>
     33286                <h2 class="title" style="clear: both"><a id="Using-AltiVec-in-CCL-LAP-functions"></a>18.4. Using AltiVec in Clozure CL LAP functions</h2>
    2247333287              </div>
    2247433288            </div>
     
    2247833292              <div>
    2247933293                <div>
    22480                   <h3 class="title"><a id="Overview--16-"></a>17.4.1. Overview</h3>
     33294                  <h3 class="title"><a id="Overview--16-"></a>18.4.1. Overview</h3>
    2248133295                </div>
    2248233296              </div>
     
    2250633320              <div>
    2250733321                <div>
    22508                   <h3 class="title"><a id="Register-usage-conventions"></a>17.4.2. Register usage conventions</h3>
     33322                  <h3 class="title"><a id="Register-usage-conventions"></a>18.4.2. Register usage conventions</h3>
    2250933323                </div>
    2251033324              </div>
     
    2257533389            <div>
    2257633390              <div>
    22577                 <h2 class="title" style="clear: both"><a id="Development-Mode-Dictionary"></a>17.5. Development-Mode Dictionary</h2>
     33391                <h2 class="title" style="clear: both"><a id="Development-Mode-Dictionary"></a>18.5. Development-Mode Dictionary</h2>
    2257833392              </div>
    2257933393            </div>
     
    2259133405            <div>
    2259233406              <div class="refsect1" lang="en" xml:lang="en">
    22593                 <a xmlns="http://www.w3.org/1999/xhtml" id="id529457"></a>
     33407                <a xmlns="http://www.w3.org/1999/xhtml" id="id655139"></a>
    2259433408                <div class="header">Description:</div>
    2259533409                <p xmlns="http://www.w3.org/1999/xhtml">When true, attempts to redefine (via DEFUN or DEFMETHOD)
     
    2261633430            <div>
    2261733431              <div class="refsect1" lang="en" xml:lang="en">
    22618                 <a xmlns="http://www.w3.org/1999/xhtml" id="id455395"></a>
     33432                <a xmlns="http://www.w3.org/1999/xhtml" id="id621985"></a>
    2261933433                <div class="header">Description:</div>
    2262033434                <p xmlns="http://www.w3.org/1999/xhtml">Arranges that the outermost special bindings of *PACKAGE*
     
    2264033454            <div>
    2264133455              <div class="refsect1" lang="en" xml:lang="en">
    22642                 <a xmlns="http://www.w3.org/1999/xhtml" id="id499483"></a>
     33456                <a xmlns="http://www.w3.org/1999/xhtml" id="id706118"></a>
    2264333457                <div class="header">Description:</div>
    2264433458                <p xmlns="http://www.w3.org/1999/xhtml">Arranges that the outermost special bindings of *PACKAGE*
     
    2266333477            <div>
    2266433478              <div class="refsect1" lang="en" xml:lang="en">
    22665                 <a xmlns="http://www.w3.org/1999/xhtml" id="id517638"></a>
     33479                <a xmlns="http://www.w3.org/1999/xhtml" id="id617025"></a>
    2266633480                <div class="header">Description:</div>
    2266733481                <p xmlns="http://www.w3.org/1999/xhtml">This variable is initialized each time an Clozure CL session
     
    2268833502            <div>
    2268933503              <div class="refsect1" lang="en" xml:lang="en">
    22690                 <a xmlns="http://www.w3.org/1999/xhtml" id="id517334"></a>
     33504                <a xmlns="http://www.w3.org/1999/xhtml" id="id642917"></a>
    2269133505                <div class="header">Description:</div>
    2269233506                <p xmlns="http://www.w3.org/1999/xhtml">Returns non-NIL if AltiVec is available.</p>
     
    2270633520            <div>
    2270733521              <div class="refsect1" lang="en" xml:lang="en">
    22708                 <a xmlns="http://www.w3.org/1999/xhtml" id="id517378"></a>
     33522                <a xmlns="http://www.w3.org/1999/xhtml" id="id655998"></a>
    2270933523                <div class="header">Description:</div>
    2271033524                <p xmlns="http://www.w3.org/1999/xhtml">Intended to control the expansion of certain lap macros.
     
    2272833542            <div>
    2272933543              <div class="refsect1" lang="en" xml:lang="en">
    22730                 <a xmlns="http://www.w3.org/1999/xhtml" id="id470152"></a>
     33544                <a xmlns="http://www.w3.org/1999/xhtml" id="id648703"></a>
    2273133545                <div class="header">Arguments and Values:</div>
    2273233546                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">reglist</span></i>---A list of vector register names (vr0 .. vr31).</p>
     
    2273433548              </div>
    2273533549              <div class="refsect1" lang="en" xml:lang="en">
    22736                 <a xmlns="http://www.w3.org/1999/xhtml" id="id470193"></a>
     33550                <a xmlns="http://www.w3.org/1999/xhtml" id="id648743"></a>
    2273733551                <div class="header">Description:</div>
    2273833552                <p xmlns="http://www.w3.org/1999/xhtml">Specifies the set of AltiVec registers used in body. If
     
    2276033574            <div>
    2276133575              <div class="refsect1" lang="en" xml:lang="en">
    22762                 <a xmlns="http://www.w3.org/1999/xhtml" id="id494168"></a>
     33576                <a xmlns="http://www.w3.org/1999/xhtml" id="id626772"></a>
    2276333577                <div class="header">Arguments and Values:</div>
    2276433578                <p><i><span xmlns="http://www.w3.org/1999/xhtml" class="term">base</span></i>---Any available general-purpose register.</p>
     
    2276933583              </div>
    2277033584              <div class="refsect1" lang="en" xml:lang="en">
    22771                 <a xmlns="http://www.w3.org/1999/xhtml" id="id529191"></a>
     33585                <a xmlns="http://www.w3.org/1999/xhtml" id="id660042"></a>
    2277233586                <div class="header">Description:</div>
    2277333587                <p xmlns="http://www.w3.org/1999/xhtml">Generates code which allocates a 16-byte aligned buffer
     
    2278733601          <div>
    2278833602            <div>
    22789               <h2 class="title"><a id="Questions-and-Answers"></a>Chapter 18. Questions and Answers</h2>
     33603              <h2 class="title"><a id="Questions-and-Answers"></a>Chapter 19. Questions and Answers</h2>
    2279033604            </div>
    2279133605          </div>
     
    2279533609            <dt>
    2279633610              <span class="sect1">
    22797                 <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>
     33611                <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>
    2279833612              </span>
    2279933613            </dt>
    2280033614            <dt>
    2280133615              <span class="sect1">
    22802                 <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
     33616                <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
    2280333617      change?</a>
    2280433618              </span>
     
    2280633620            <dt>
    2280733621              <span class="sect1">
    22808                 <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*
     33622                <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*
    2280933623      seem to work? </a>
    2281033624              </span>
     
    2281633630            <div>
    2281733631              <div>
    22818                 <h2 class="title" style="clear: both"><a id="How-can-I-do-nonblocking--aka--unbuffered--and--raw---IO-"></a>18.1. How can I do nonblocking (aka "unbuffered" and "raw") IO?</h2>
     33632                <h2 class="title" style="clear: both"><a id="How-can-I-do-nonblocking--aka--unbuffered--and--raw---IO-"></a>19.1. How can I do nonblocking (aka "unbuffered" and "raw") IO?</h2>
    2281933633              </div>
    2282033634            </div>
     
    2285433668            <div>
    2285533669              <div>
    22856                 <h2 class="title" style="clear: both"><a id="I-m-using-the-graphics-demos--Why-doesn-t-the-menubar-change-"></a>18.2. I'm using the graphics demos. Why doesn't the menubar
     33670                <h2 class="title" style="clear: both"><a id="I-m-using-the-graphics-demos--Why-doesn-t-the-menubar-change-"></a>19.2. I'm using the graphics demos. Why doesn't the menubar
    2285733671      change?</h2>
    2285833672              </div>
     
    2287533689            <div>
    2287633690              <div>
    22877                 <h2 class="title" style="clear: both"><a id="I-m-using-Slime-and-Cocoa--Why-doesn-t--standard-output--seem-to-work-"></a>18.3. I'm using Slime and Cocoa. Why doesn't *standard-output*
     33691                <h2 class="title" style="clear: both"><a id="I-m-using-Slime-and-Cocoa--Why-doesn-t--standard-output--seem-to-work-"></a>19.3. I'm using Slime and Cocoa. Why doesn't *standard-output*
    2287833692      seem to work? </h2>
    2287933693              </div>
     
    2313733951              <dt>%reference-external-entry-point, <a class="indexterm" href="#f_Preference-external-entry-point">Function %REFERENCE-EXTERNAL-ENTRY-POINT</a></dt>
    2313833952              <dt>(setf population-contents), <a class="indexterm" href="#f_setf_population-contents">Function (SETF POPULATION-CONTENTS)</a></dt>
     33953              <dt>*all-modifier-names*, <a class="indexterm" href="#v_all-modifier-names">Variable *all-modifier-names*</a></dt>
    2313933954              <dt>*alternate-line-terminator*, <a class="indexterm" href="#v_alternate-line-terminator">Variable CCL:*ALTERNATE-LINE-TERMINATOR*</a></dt>
    2314033955              <dt>*altivec-available*, <a class="indexterm" href="#v_altivec-available">Variable *ALTIVEC-AVAILABLE*</a></dt>
    2314133956              <dt>*altivec-lapmacros-maintain-vrsave-p*, <a class="indexterm" href="#v_altivec-lapmacros-maintain-vrsave-p">Variable *ALTIVEC-LAPMACROS-MAINTAIN-VRSAVE-P*</a></dt>
     33957              <dt>*buffer-names*, <a class="indexterm" href="#v_buffer-names">Variable *buffer-names*</a></dt>
     33958              <dt>*character-attribute-names*, <a class="indexterm" href="#v_character-attribute-names">Variable *character-attribute-names*</a></dt>
     33959              <dt>*command-names*, <a class="indexterm" href="#v_command-names">Variable *command-names*</a></dt>
    2314233960              <dt>*COMPILE-CODE-COVERAGE*, <a class="indexterm" href="#v_compile-code-coverage">Variable *COMPILE-CODE-COVERAGE*</a></dt>
    2314333961              <dt>*current-process*, <a class="indexterm" href="#v_current-process">Variable *CURRENT-PROCESS*</a></dt>
    2314433962              <dt>*default-external-format*, <a class="indexterm" href="#v_default-external-format">Variable CCL:*DEFAULT-EXTERNAL-FORMAT*</a></dt>
    2314533963              <dt>*default-line-termination*, <a class="indexterm" href="#v_default-line-termination">Variable CCL:*DEFAULT-LINE-TERMINATION*</a></dt>
     33964              <dt>*ephemerally-active-command-types*, <a class="indexterm" href="#v_ephemerally-active-command-types">Variable *ephemerally-active-command-types*</a></dt>
     33965              <dt>*global-variable-names*, <a class="indexterm" href="#v_global-variable-names">Variable *global-variable-names*</a></dt>
     33966              <dt>*key-event-history*, <a class="indexterm" href="#v_key-event-history">Variable *key-event-history*</a></dt>
     33967              <dt>*last-search-string*, <a class="indexterm" href="#v_last-search-string">Variable *last-search-string*</a></dt>
     33968              <dt>*logical-key-event-names*, <a class="indexterm" href="#v_logical-key-event-names">Variable *logical-key-event-names*</a></dt>
     33969              <dt>*mode-names*, <a class="indexterm" href="#v_mode-names">Variable *mode-names*</a></dt>
    2314633970              <dt>*ticks-per-second*, <a class="indexterm" href="#v_ticks-per-second">Variable *TICKS-PER-SECOND*</a></dt>
    2314733971              <dt>*warn-if-redefine-kernel, <a class="indexterm" href="#v_warn-if-redefine-kernel">Variable *WARN-IF-REDEFINE-KERNEL*</a></dt>
     
    2316333987            <dl>
    2316433988              <dt>accept-connection, <a class="indexterm" href="#f_accept-connection">Function ACCEPT-CONNECTION</a></dt>
     33989              <dt>activate-region, <a class="indexterm" href="#f_activate-region">Function activate-region</a></dt>
     33990              <dt>Active Regions Enabled, <a class="indexterm" href="#hv_active_regions_enabled">Hemlock Variable Active Regions Enabled</a></dt>
     33991              <dt>Add Newline at EOF on Writing File, <a class="indexterm" href="#hv_add_newline_at_eof_on_writing_file">Hemlock Variable Add Newline at EOF on Writing File</a></dt>
     33992              <dt>add-hook, <a class="indexterm" href="#m_add-hook">Macro add-hook</a></dt>
    2316533993              <dt>advise, <a class="indexterm" href="#m_advise">Macro ADVISE</a></dt>
    2316633994              <dt>advisedp, <a class="indexterm" href="#m_advisedp">Macro ADVISEDP</a></dt>
     33995              <dt>all-buffers, <a class="indexterm" href="#f_all-buffers">Function all-buffers</a></dt>
    2316733996              <dt>all-processes, <a class="indexterm" href="#f_all-processes">Function ALL-PROCESSES</a></dt>
    2316833997              <dt>altivec-available-p, <a class="indexterm" href="#f_altivec-available-p">Function ALTIVEC-AVAILABLE-P</a></dt>
     
    2317234001            <h3>B</h3>
    2317334002            <dl>
     34003              <dt>backward-up-list, <a class="indexterm" href="#f_backward-up-list">Function backward-up-list</a></dt>
     34004              <dt>beep, <a class="indexterm" href="#f_beep">Function beep</a></dt>
     34005              <dt>Beep On Ambiguity, <a class="indexterm" href="#hv_beep_on_ambiguity">Hemlock Variable Beep On Ambiguity</a></dt>
     34006              <dt>bind-key, <a class="indexterm" href="#f_bind-key">Function bind-key</a></dt>
     34007              <dt>blank-after-p, <a class="indexterm" href="#f_blank-after-p">Function blank-after-p</a></dt>
     34008              <dt>blank-before-p, <a class="indexterm" href="#f_blank-before-p">Function blank-before-p</a></dt>
     34009              <dt>blank-line-p, <a class="indexterm" href="#f_blank-line-p">Function blank-line-p</a></dt>
    2317434010              <dt>bootstrapping
    2317534011          image, <a class="indexterm" href="#building-definitions">Building Definitions</a></dt>
     34012              <dt>Buffer Major Mode Hook, <a class="indexterm" href="#hv_buffer_major_mode_hook">Hemlock Variable Buffer Major Mode Hook</a></dt>
     34013              <dt>Buffer Minor Mode Hook, <a class="indexterm" href="#hv_buffer_minor_mode_hook">Hemlock Variable Buffer Minor Mode Hook</a></dt>
     34014              <dt>Buffer Modified Hook, <a class="indexterm" href="#hv_buffer_modified_hook">Hemlock Variable Buffer Modified Hook</a></dt>
     34015              <dt>Buffer Name Hook, <a class="indexterm" href="#hv_buffer_name_hook">Hemlock Variable Buffer Name Hook</a></dt>
     34016              <dt>Buffer Pathname Hook, <a class="indexterm" href="#hv_buffer_pathname_hook">Hemlock Variable Buffer Pathname Hook</a></dt>
     34017              <dt>Buffer Writable Hook, <a class="indexterm" href="#hv_buffer_writable_hook">Hemlock Variable Buffer Writable Hook</a></dt>
     34018              <dt>buffer-default-pathname, <a class="indexterm" href="#f_buffer-default-pathname">Function buffer-default-pathname</a></dt>
     34019              <dt>buffer-delete-hook, <a class="indexterm" href="#f_buffer-delete-hook">Function buffer-delete-hook</a></dt>
     34020              <dt>buffer-end, <a class="indexterm" href="#f_buffer-end">Function buffer-end</a></dt>
     34021              <dt>buffer-end-mark, <a class="indexterm" href="#f_buffer-end-mark">Function buffer-end-mark</a></dt>
     34022              <dt>buffer-major-mode, <a class="indexterm" href="#f_buffer-major-mode">Function buffer-major-mode</a></dt>
     34023              <dt>buffer-mark, <a class="indexterm" href="#f_buffer-mark">Function buffer-mark</a></dt>
     34024              <dt>buffer-minor-mode, <a class="indexterm" href="#f_buffer-minor-mode">Function buffer-minor-mode</a></dt>
     34025              <dt>buffer-modeline-field-p, <a class="indexterm" href="#f_buffer-modeline-field-p">Function buffer-modeline-field-p</a></dt>
     34026              <dt>buffer-modeline-fields, <a class="indexterm" href="#f_buffer-modeline-fields">Function buffer-modeline-fields</a></dt>
     34027              <dt>buffer-modes, <a class="indexterm" href="#f_buffer-modes">Function buffer-modes</a></dt>
     34028              <dt>buffer-modified, <a class="indexterm" href="#f_buffer-modified">Function buffer-modified</a></dt>
     34029              <dt>buffer-name, <a class="indexterm" href="#f_buffer-name">Function buffer-name</a></dt>
     34030              <dt>buffer-pathname, <a class="indexterm" href="#f_buffer-pathname">Function buffer-pathname</a></dt>
     34031              <dt>buffer-point, <a class="indexterm" href="#f_buffer-point">Function buffer-point</a></dt>
     34032              <dt>buffer-region, <a class="indexterm" href="#f_buffer-region">Function buffer-region</a></dt>
     34033              <dt>buffer-signature, <a class="indexterm" href="#f_buffer-signature">Function buffer-signature</a></dt>
     34034              <dt>buffer-start, <a class="indexterm" href="#f_buffer-start">Function buffer-start</a></dt>
     34035              <dt>buffer-start-mark, <a class="indexterm" href="#f_buffer-start-mark">Function buffer-start-mark</a></dt>
     34036              <dt>buffer-variables, <a class="indexterm" href="#f_buffer-variables">Function buffer-variables</a></dt>
     34037              <dt>buffer-writable, <a class="indexterm" href="#f_buffer-writable">Function buffer-writable</a></dt>
     34038              <dt>buffer-write-date, <a class="indexterm" href="#f_buffer-write-date">Function buffer-write-date</a></dt>
     34039              <dt>bufferp, <a class="indexterm" href="#f_bufferp">Function bufferp</a></dt>
    2317634040            </dl>
    2317734041          </div>
     
    2318034044            <dl>
    2318134045              <dt>CCL Logical Host, <a class="indexterm" href="#Predefined-Logical-Hosts">Predefined Logical Hosts</a></dt>
     34046              <dt>char-key-event, <a class="indexterm" href="#f_char-key-event">Function char-key-event</a></dt>
     34047              <dt>Character Attribute Hook, <a class="indexterm" href="#hv_character_attribute_hook">Hemlock Variable Character Attribute Hook</a></dt>
     34048              <dt>Character Deletion Threshold, <a class="indexterm" href="#hv_character_deletion_threshold">Hemlock Variable Character Deletion Threshold</a></dt>
     34049              <dt>character-attribute, <a class="indexterm" href="#f_character-attribute">Function character-attribute</a></dt>
     34050              <dt>character-attribute-documentation, <a class="indexterm" href="#f_character-attribute-documentation">Function character-attribute-documentation</a></dt>
     34051              <dt>character-attribute-hooks, <a class="indexterm" href="#f_character-attribute-hooks">Function character-attribute-hooks</a></dt>
     34052              <dt>character-attribute-name, <a class="indexterm" href="#f_character-attribute-name">Function character-attribute-name</a></dt>
     34053              <dt>character-attribute-p, <a class="indexterm" href="#f_character-attribute-p">Function character-attribute-p</a></dt>
     34054              <dt>character-offset, <a class="indexterm" href="#f_character-offset">Function character-offset</a></dt>
     34055              <dt>check-region-active, <a class="indexterm" href="#f_check-region-active">Function check-region-active</a></dt>
    2318234056              <dt>clear-coverage, <a class="indexterm" href="#f_clear-coverage">Function CLEAR-COVERAGE</a></dt>
     34057              <dt>clear-echo-area, <a class="indexterm" href="#f_clear-echo-area">Function clear-echo-area</a></dt>
    2318334058              <dt>close, <a class="indexterm" href="#o_close">Method CLOSE</a></dt>
    2318434059              <dt>close-shared-library, <a class="indexterm" href="#f_close-shared-library">Function CLOSE-SHARED-LIBRARY</a></dt>
     34060              <dt>clrstring, <a class="indexterm" href="#f_clrstring">Function clrstring</a></dt>
    2318534061              <dt>combine-coverage, <a class="indexterm" href="#f_combine-coverage">Function COMBINE-COVERAGE</a></dt>
     34062              <dt>Command Abort Hook, <a class="indexterm" href="#hv_command_abort_hook">Hemlock Variable Command Abort Hook</a></dt>
     34063              <dt>command-bindings, <a class="indexterm" href="#f_command-bindings">Function command-bindings</a></dt>
     34064              <dt>command-case, <a class="indexterm" href="#m_command-case">Macro command-case</a></dt>
     34065              <dt>command-documentation, <a class="indexterm" href="#f_command-documentation">Function command-documentation</a></dt>
     34066              <dt>command-function, <a class="indexterm" href="#f_command-function">Function command-function</a></dt>
     34067              <dt>command-name, <a class="indexterm" href="#f_command-name">Function command-name</a></dt>
     34068              <dt>commandp, <a class="indexterm" href="#f_commandp">Function commandp</a></dt>
    2318634069              <dt>communication-deadline-expired, <a class="indexterm" href="#Stream-Timeouts-And-Deadlines">Stream Timeouts and Deadlines</a></dt>
     34070              <dt>Complete Field, <a class="indexterm" href="#c_complete_field">Command Complete Field</a></dt>
     34071              <dt>Complete Keyword, <a class="indexterm" href="#c_complete_keyword">Command Complete Keyword</a></dt>
     34072              <dt>complete-string, <a class="indexterm" href="#f_complete-string">Function complete-string</a></dt>
    2318734073              <dt>configure-gcc, <a class="indexterm" href="#f_configure-gcc">Function CONFIGURE-GCC</a></dt>
     34074              <dt>Confirm Parse, <a class="indexterm" href="#c_confirm_parse">Command Confirm Parse</a></dt>
     34075              <dt>copy-mark, <a class="indexterm" href="#f_copy-mark">Function copy-mark</a></dt>
     34076              <dt>copy-region, <a class="indexterm" href="#f_copy-region">Function copy-region</a></dt>
     34077              <dt>count-characters, <a class="indexterm" href="#f_count-characters">Function count-characters</a></dt>
    2318834078              <dt>count-characters-in-octet-vector, <a class="indexterm" href="#count-characters-in-octet-vector">Function count-characters-in-octet-vector</a></dt>
     34079              <dt>count-lines, <a class="indexterm" href="#f_count-lines">Function count-lines</a></dt>
    2318934080              <dt>coverage-statistics, <a class="indexterm" href="#f_coverage-statistics">Function COVERAGE-STATISTICS</a></dt>
     34081              <dt>current-buffer, <a class="indexterm" href="#f_current-buffer">Function current-buffer</a></dt>
    2319034082              <dt>current-directory-name, <a class="indexterm" href="#f_current-directory-name">Function CCL::CURRENT-DIRECTORY-NAME</a></dt>
     34083              <dt>current-mark, <a class="indexterm" href="#f_current-mark">Function current-mark</a></dt>
     34084              <dt>current-point, <a class="indexterm" href="#f_current-point">Function current-point</a></dt>
     34085              <dt>current-point-collapsing-selection, <a class="indexterm" href="#f_current-point-collapsing-selection">Function current-point-collapsing-selection</a></dt>
     34086              <dt>current-point-extending-selection, <a class="indexterm" href="#f_current-point-extending-selection">Function current-point-extending-selection</a></dt>
     34087              <dt>current-point-for-deletion, <a class="indexterm" href="#f_current-point-for-deletion">Function current-point-for-deletion</a></dt>
     34088              <dt>current-point-for-insertion, <a class="indexterm" href="#f_current-point-for-insertion">Function current-point-for-insertion</a></dt>
     34089              <dt>current-point-unless-selection, <a class="indexterm" href="#f_current-point-unless-selection">Function current-point-unless-selection</a></dt>
     34090              <dt>current-region, <a class="indexterm" href="#f_current-region">Function current-region</a></dt>
     34091              <dt>current-variable-tables, <a class="indexterm" href="#f_current-variable-tables">Function current-variable-tables</a></dt>
     34092              <dt>current-view, <a class="indexterm" href="#f_current-view">Function current-view</a></dt>
    2319134093            </dl>
    2319234094          </div>
     
    2319434096            <h3>D</h3>
    2319534097            <dl>
     34098              <dt>deactivate-region, <a class="indexterm" href="#f_deactivate-region">Function deactivate-region</a></dt>
    2319634099              <dt>def-foreign-type, <a class="indexterm" href="#m_def-foreign-type">Macro DEF-FOREIGN-TYPE</a></dt>
     34100              <dt>defattribute, <a class="indexterm" href="#f_defattribute">Function defattribute</a></dt>
     34101              <dt>Default Modeline Fields, <a class="indexterm" href="#hv_default_modeline_fields">Hemlock Variable Default Modeline Fields</a></dt>
     34102              <dt>Default Modes, <a class="indexterm" href="#hv_default_modes">Hemlock Variable Default Modes</a></dt>
    2319734103              <dt>defcallback, <a class="indexterm" href="#m_defcallback">Macro DEFCALLBACK</a></dt>
     34104              <dt>defcommand, <a class="indexterm" href="#m_defcommand">Macro defcommand</a></dt>
     34105              <dt>defhvar, <a class="indexterm" href="#f_defhvar">Function defhvar</a></dt>
     34106              <dt>defindent, <a class="indexterm" href="#f_defindent">Function defindent</a></dt>
     34107              <dt>define-file-option, <a class="indexterm" href="#m_define-file-option">Macro define-file-option</a></dt>
     34108              <dt>define-file-type-hook, <a class="indexterm" href="#m_define-file-type-hook">Macro define-file-type-hook</a></dt>
     34109              <dt>define-key-event-modifier, <a class="indexterm" href="#f_define-key-event-modifier">Function define-key-event-modifier</a></dt>
     34110              <dt>define-keysym, <a class="indexterm" href="#f_define-keysym">Function define-keysym</a></dt>
     34111              <dt>define-keysym-code, <a class="indexterm" href="#f_define-keysym-code">Function define-keysym-code</a></dt>
     34112              <dt>define-logical-key-event, <a class="indexterm" href="#f_define-logical-key-event">Function define-logical-key-event</a></dt>
     34113              <dt>define-mouse-keysym, <a class="indexterm" href="#f_define-mouse-keysym">Function define-mouse-keysym</a></dt>
    2319834114              <dt>define-objc-class-method, <a class="indexterm" href="#m_define-objc-class-method">Macro CCL::DEFINE-OBJC-CLASS-METHOD</a></dt>
    2319934115              <dt>define-objc-method, <a class="indexterm" href="#m_define-objc-method">Macro CCL::DEFINE-OBJC-METHOD</a></dt>
     34116              <dt>defmode, <a class="indexterm" href="#f_defmode">Function defmode</a></dt>
     34117              <dt>Defun Parse Goal, <a class="indexterm" href="#hv_defun_parse_goal">Hemlock Variable Defun Parse Goal</a></dt>
     34118              <dt>defun-region, <a class="indexterm" href="#f_defun-region">Function defun-region</a></dt>
     34119              <dt>Delete Buffer Hook, <a class="indexterm" href="#hv_delete_buffer_hook">Hemlock Variable Delete Buffer Hook</a></dt>
     34120              <dt>Delete Variable Hook, <a class="indexterm" href="#hv_delete_variable_hook">Hemlock Variable Delete Variable Hook</a></dt>
     34121              <dt>delete-and-save-region, <a class="indexterm" href="#f_delete-and-save-region">Function delete-and-save-region</a></dt>
     34122              <dt>delete-buffer, <a class="indexterm" href="#f_delete-buffer">Function delete-buffer</a></dt>
     34123              <dt>delete-characters, <a class="indexterm" href="#f_delete-characters">Function delete-characters</a></dt>
     34124              <dt>delete-horizontal-space, <a class="indexterm" href="#f_delete-horizontal-space">Function delete-horizontal-space</a></dt>
     34125              <dt>delete-key-binding, <a class="indexterm" href="#f_delete-key-binding">Function delete-key-binding</a></dt>
     34126              <dt>delete-mark, <a class="indexterm" href="#f_delete-mark">Function delete-mark</a></dt>
     34127              <dt>delete-region, <a class="indexterm" href="#f_delete-region">Function delete-region</a></dt>
     34128              <dt>delete-string, <a class="indexterm" href="#f_delete-string">Function delete-string</a></dt>
     34129              <dt>delete-variable, <a class="indexterm" href="#f_delete-variable">Function delete-variable</a></dt>
     34130              <dt>do-alpha-chars, <a class="indexterm" href="#m_do-alpha-chars">Macro do-alpha-chars</a></dt>
     34131              <dt>do-alpha-key-events, <a class="indexterm" href="#m_do-alpha-key-events">Macro do-alpha-key-events</a></dt>
     34132              <dt>do-strings, <a class="indexterm" href="#m_do-strings">Macro do-strings</a></dt>
    2320034133              <dt>dotted-to-ipaddr, <a class="indexterm" href="#f_dotted-to-ipaddr">Function DOTTED-TO-IPADDR</a></dt>
    2320134134            </dl>
     
    2320434137            <h3>E</h3>
    2320534138            <dl>
     34139              <dt>ed, <a class="indexterm" href="#f_ed">Function ed</a></dt>
     34140              <dt>edit-definition, <a class="indexterm" href="#f_edit-definition">Function edit-definition</a></dt>
     34141              <dt>editor-error, <a class="indexterm" href="#f_editor-error">Function editor-error</a></dt>
    2320634142              <dt>egc, <a class="indexterm" href="#f_egc">Function EGC</a></dt>
    2320734143              <dt>egc-active-p, <a class="indexterm" href="#f_egc-active-p">Function EGC-ACTIVE-P</a></dt>
     
    2320934145              <dt>egc-enabled-p, <a class="indexterm" href="#f_egc-enabled-p">Function EGC-ENABLED-P</a></dt>
    2321034146              <dt>encode-string-to-octets, <a class="indexterm" href="#encode-string-to-octets">Function encode-string-to-octets</a></dt>
     34147              <dt>end-line-p, <a class="indexterm" href="#f_end-line-p">Function end-line-p</a></dt>
    2321134148              <dt>external, <a class="indexterm" href="#m_external">Macro EXTERNAL</a></dt>
    2321234149              <dt>external-call, <a class="indexterm" href="#m_external-call">Macro EXTERNAL-CALL</a></dt>
     
    2322534162              <dt>fasl-concatenate, <a class="indexterm" href="#f_fasl-concatenate">Function FASL-CONCATENATE</a></dt>
    2322634163              <dt>ff-call, <a class="indexterm" href="#m_ff-call">Macro FF-CALL</a></dt>
     34164              <dt>Fill Column, <a class="indexterm" href="#hv_fill_column">Hemlock Variable Fill Column</a></dt>
     34165              <dt>Fill Prefix, <a class="indexterm" href="#hv_fill_prefix">Hemlock Variable Fill Prefix</a></dt>
     34166              <dt>fill-region, <a class="indexterm" href="#f_fill-region">Function fill-region</a></dt>
     34167              <dt>fill-region-by-paragraphs, <a class="indexterm" href="#f_fill-region-by-paragraphs">Function fill-region-by-paragraphs</a></dt>
     34168              <dt>filter-region, <a class="indexterm" href="#f_filter-region">Function filter-region</a></dt>
     34169              <dt>find-ambiguous, <a class="indexterm" href="#f_find-ambiguous">Function find-ambiguous</a></dt>
     34170              <dt>find-attribute, <a class="indexterm" href="#f_find-attribute">Function find-attribute</a></dt>
     34171              <dt>find-containing, <a class="indexterm" href="#f_find-containing">Function find-containing</a></dt>
     34172              <dt>find-not-attribute, <a class="indexterm" href="#f_find-not-attribute">Function find-not-attribute</a></dt>
     34173              <dt>find-pattern, <a class="indexterm" href="#f_find-pattern">Function find-pattern</a></dt>
     34174              <dt>first-line-p, <a class="indexterm" href="#f_first-line-p">Function first-line-p</a></dt>
    2322734175              <dt>foreign-symbol-address, <a class="indexterm" href="#f_foreign-symbol-address">Function FOREIGN-SYMBOL-ADDRESS</a></dt>
    2322834176              <dt>foreign-symbol-entry, <a class="indexterm" href="#f_foreign-symbol-entry">Function FOREIGN-SYMBOL-ENTRY</a></dt>
     34177              <dt>form-offset, <a class="indexterm" href="#f_form-offset">Function form-offset</a></dt>
     34178              <dt>forward-up-list, <a class="indexterm" href="#f_forward-up-list">Function forward-up-list</a></dt>
    2322934179              <dt>free, <a class="indexterm" href="#f_free">Function FREE</a></dt>
    2323034180            </dl>
     
    2323534185              <dt>gc-retain-pages, <a class="indexterm" href="#f_gc-retain-pages">Function GC-RETAIN-PAGES</a></dt>
    2323634186              <dt>gc-retaining-pages, <a class="indexterm" href="#f_gc-retaining-pages">Function GC-RETAINING-PAGES</a></dt>
     34187              <dt>get-command, <a class="indexterm" href="#f_get-command">Function get-command</a></dt>
     34188              <dt>get-coverage, <a class="indexterm" href="#f_get-coverage">Function GET-COVERAGE</a></dt>
    2323734189              <dt>get-fpu-mode, <a class="indexterm" href="#f_get-fpu-mode">Function GET-FPU-MODE</a></dt>
     34190              <dt>get-incremental-coverage, <a class="indexterm" href="#f_get-incremental-coverage">Function GET-INCREMENTAL-COVERAGE</a></dt>
     34191              <dt>get-search-pattern, <a class="indexterm" href="#f_get-search-pattern">Function get-search-pattern</a></dt>
    2323834192              <dt>get-user-home-dir, <a class="indexterm" href="#f_get-user-home-dir">Function CCL::GET-USER-HOME-DIR</a></dt>
    2323934193              <dt>getenv, <a class="indexterm" href="#f_getenv">Function CCL::GETENV</a></dt>
    2324034194              <dt>getpid, <a class="indexterm" href="#f_getpid">Function CCL::GETPID</a></dt>
     34195              <dt>getstring, <a class="indexterm" href="#f_getstring">Function getstring</a></dt>
    2324134196              <dt>getuid, <a class="indexterm" href="#f_getuid">Function CCL::GETUID</a></dt>
    2324234197              <dt>grab-lock, <a class="indexterm" href="#f_grab-lock">Function GRAB-LOCK</a></dt>
     
    2324634201            <h3>H</h3>
    2324734202            <dl>
     34203              <dt>handle-lisp-errors, <a class="indexterm" href="#m_handle-lisp-errors">Macro handle-lisp-errors</a></dt>
    2324834204              <dt>heap
    2324934205          image, <a class="indexterm" href="#building-definitions">Building Definitions</a></dt>
     34206              <dt>Help On Parse, <a class="indexterm" href="#c_help_on_parse">Command Help On Parse</a></dt>
     34207              <dt>hemlock-bound-p, <a class="indexterm" href="#f_hemlock-bound-p">Function hemlock-bound-p</a></dt>
     34208              <dt>hemlock-output-stream-p, <a class="indexterm" href="#f_hemlock-output-stream-p">Function hemlock-output-stream-p</a></dt>
     34209              <dt>hemlock-region-stream-p, <a class="indexterm" href="#f_hemlock-region-stream-p">Function hemlock-region-stream-p</a></dt>
     34210              <dt>hemlock-view-buffer, <a class="indexterm" href="#f_hemlock-view-buffer">Function hemlock-view-buffer</a></dt>
     34211              <dt>hemlock-view-p, <a class="indexterm" href="#f_hemlock-view-p">Function hemlock-view-p</a></dt>
     34212              <dt>hlet, <a class="indexterm" href="#m_hlet">Macro hlet</a></dt>
    2325034213            </dl>
    2325134214          </div>
     
    2325334216            <h3>I</h3>
    2325434217            <dl>
     34218              <dt>Illegal, <a class="indexterm" href="#c_illegal">Command Illegal</a></dt>
     34219              <dt>in-lisp, <a class="indexterm" href="#f_in-lisp">Function in-lisp</a></dt>
     34220              <dt>incremental-coverage-source-matches, <a class="indexterm" href="#f_incremental-coverage-source-matches">Function INCREMENTAL-COVERAGE-SOURCE-MATCHES</a></dt>
     34221              <dt>incremental-coverage-svn-matches, <a class="indexterm" href="#f_incremental-coverage-svn-matches">Function INCREMENTAL-COVERAGE-SVN-MATCHES</a></dt>
     34222              <dt>Indent Function, <a class="indexterm" href="#hv_indent_function">Hemlock Variable Indent Function</a></dt>
     34223              <dt>Indent with Tabs, <a class="indexterm" href="#hv_indent_with_tabs">Hemlock Variable Indent with Tabs</a></dt>
     34224              <dt>indent-region, <a class="indexterm" href="#f_indent-region">Function indent-region</a></dt>
     34225              <dt>indent-region-for-commands, <a class="indexterm" href="#f_indent-region-for-commands">Function indent-region-for-commands</a></dt>
    2325534226              <dt>input-timeout, <a class="indexterm" href="#Stream-Timeouts-And-Deadlines">Stream Timeouts and Deadlines</a></dt>
     34227              <dt>insert-character, <a class="indexterm" href="#f_insert-character">Function insert-character</a></dt>
     34228              <dt>insert-region, <a class="indexterm" href="#f_insert-region">Function insert-region</a></dt>
     34229              <dt>insert-string, <a class="indexterm" href="#f_insert-string">Function insert-string</a></dt>
     34230              <dt>inside-defun-p, <a class="indexterm" href="#f_inside-defun-p">Function inside-defun-p</a></dt>
     34231              <dt>invoke-hook, <a class="indexterm" href="#m_invoke-hook">Macro invoke-hook</a></dt>
    2325634232              <dt>ipaddr-to-dotted, <a class="indexterm" href="#f_ipaddr-to-dotted">Function IPADDR-TO-DOTTED</a></dt>
    2325734233              <dt>ipaddr-to-hostname, <a class="indexterm" href="#f_ipaddr-to-hostname">Function IPADDR-TO-HOSTNAME</a></dt>
     
    2326734243            <h3>K</h3>
    2326834244            <dl>
     34245              <dt>Keep Backup Files, <a class="indexterm" href="#hv_keep_backup_files">Hemlock Variable Keep Backup Files</a></dt>
    2326934246              <dt>kernel build directory, <a class="indexterm" href="#building-definitions">Building Definitions</a></dt>
     34247              <dt>key-event-bit-p, <a class="indexterm" href="#f_key-event-bit-p">Function key-event-bit-p</a></dt>
     34248              <dt>key-event-bits, <a class="indexterm" href="#f_key-event-bits">Function key-event-bits</a></dt>
     34249              <dt>key-event-bits-modifiers, <a class="indexterm" href="#f_key-event-bits-modifiers">Function key-event-bits-modifiers</a></dt>
     34250              <dt>key-event-char, <a class="indexterm" href="#f_key-event-char">Function key-event-char</a></dt>
     34251              <dt>key-event-keysym, <a class="indexterm" href="#f_key-event-keysym">Function key-event-keysym</a></dt>
     34252              <dt>key-event-modifier-mask, <a class="indexterm" href="#f_key-event-modifier-mask">Function key-event-modifier-mask</a></dt>
     34253              <dt>key-event-p, <a class="indexterm" href="#f_key-event-p">Function key-event-p</a></dt>
     34254              <dt>key-translation, <a class="indexterm" href="#f_key-translation">Function key-translation</a></dt>
     34255              <dt>keysym-names, <a class="indexterm" href="#f_keysym-names">Function keysym-names</a></dt>
     34256              <dt>keysym-preferred-name, <a class="indexterm" href="#f_keysym-preferred-name">Function keysym-preferred-name</a></dt>
     34257              <dt>kill-characters, <a class="indexterm" href="#f_kill-characters">Function kill-characters</a></dt>
     34258              <dt>kill-region, <a class="indexterm" href="#f_kill-region">Function kill-region</a></dt>
    2327034259            </dl>
    2327134260          </div>
     
    2327334262            <h3>L</h3>
    2327434263            <dl>
     34264              <dt>Last Resort Pathname Defaults, <a class="indexterm" href="#hv_last_resort_pathname_defaults">Hemlock Variable Last Resort Pathname Defaults</a></dt>
     34265              <dt>Last Resort Pathname Defaults Function, <a class="indexterm" href="#hv_last_resort_pathname_defaults_function">Hemlock Variable Last Resort Pathname Defaults Function</a></dt>
     34266              <dt>last-char-typed, <a class="indexterm" href="#f_last-char-typed">Function last-char-typed</a></dt>
     34267              <dt>last-command-type, <a class="indexterm" href="#f_last-command-type">Function last-command-type</a></dt>
     34268              <dt>last-key-event-typed, <a class="indexterm" href="#f_last-key-event-typed">Function last-key-event-typed</a></dt>
     34269              <dt>last-line-p, <a class="indexterm" href="#f_last-line-p">Function last-line-p</a></dt>
     34270              <dt>line-buffer, <a class="indexterm" href="#f_line-buffer">Function line-buffer</a></dt>
     34271              <dt>line-character, <a class="indexterm" href="#f_line-character">Function line-character</a></dt>
     34272              <dt>line-end, <a class="indexterm" href="#f_line-end">Function line-end</a></dt>
     34273              <dt>line-length, <a class="indexterm" href="#f_line-length">Function line-length</a></dt>
     34274              <dt>line-next, <a class="indexterm" href="#f_line-next">Function line-next</a></dt>
     34275              <dt>line-offset, <a class="indexterm" href="#f_line-offset">Function line-offset</a></dt>
     34276              <dt>line-plist, <a class="indexterm" href="#f_line-plist">Function line-plist</a></dt>
     34277              <dt>line-previous, <a class="indexterm" href="#f_line-previous">Function line-previous</a></dt>
     34278              <dt>line-signature, <a class="indexterm" href="#f_line-signature">Function line-signature</a></dt>
     34279              <dt>line-start, <a class="indexterm" href="#f_line-start">Function line-start</a></dt>
     34280              <dt>line-string, <a class="indexterm" href="#f_line-string">Function line-string</a></dt>
     34281              <dt>line-to-region, <a class="indexterm" href="#f_line-to-region">Function line-to-region</a></dt>
     34282              <dt>line&lt;, <a class="indexterm" href="#f_line_lt">Function line&lt;</a></dt>
     34283              <dt>line&lt;=, <a class="indexterm" href="#f_line_lt__eq">Function line&lt;=</a></dt>
     34284              <dt>line&gt;, <a class="indexterm" href="#f_line_gt">Function line&gt;</a></dt>
     34285              <dt>line&gt;=, <a class="indexterm" href="#f_line_gt__eq">Function line&gt;=</a></dt>
     34286              <dt>linep, <a class="indexterm" href="#f_linep">Function linep</a></dt>
     34287              <dt>lines-related, <a class="indexterm" href="#f_lines-related">Function lines-related</a></dt>
    2327534288              <dt>lisp
    2327634289          kernel, <a class="indexterm" href="#building-definitions">Building Definitions</a></dt>
     
    2327834291              <dt>local-host, <a class="indexterm" href="#f_local-host">Function LOCAL-HOST</a></dt>
    2327934292              <dt>local-port, <a class="indexterm" href="#f_local-port">Function LOCAL-PORT</a></dt>
     34293              <dt>logical-key-event-documentation, <a class="indexterm" href="#f_logical-key-event-documentation">Function logical-key-event-documentation</a></dt>
     34294              <dt>logical-key-event-key-events, <a class="indexterm" href="#f_logical-key-event-key-events">Function logical-key-event-key-events</a></dt>
     34295              <dt>logical-key-event-name, <a class="indexterm" href="#f_logical-key-event-name">Function logical-key-event-name</a></dt>
     34296              <dt>logical-key-event-p, <a class="indexterm" href="#f_logical-key-event-p">Function logical-key-event-p</a></dt>
    2328034297              <dt>lookup-hostname, <a class="indexterm" href="#f_lookup-hostname">Function LOOKUP-HOSTNAME</a></dt>
    2328134298              <dt>lookup-port, <a class="indexterm" href="#f_lookup-port">Function LOOKUP-PORT</a></dt>
     34299              <dt>loud-message, <a class="indexterm" href="#f_loud-message">Function loud-message</a></dt>
    2328234300            </dl>
    2328334301          </div>
     
    2328534303            <h3>M</h3>
    2328634304            <dl>
     34305              <dt>Make Buffer Hook, <a class="indexterm" href="#hv_make_buffer_hook">Hemlock Variable Make Buffer Hook</a></dt>
     34306              <dt>make-buffer, <a class="indexterm" href="#f_make-buffer">Function make-buffer</a></dt>
     34307              <dt>make-command, <a class="indexterm" href="#f_make-command">Function make-command</a></dt>
     34308              <dt>make-empty-region, <a class="indexterm" href="#f_make-empty-region">Function make-empty-region</a></dt>
    2328734309              <dt>make-external-format, <a class="indexterm" href="#f_make-external-format">Function MAKE-EXTERNAL-FORMAT</a></dt>
    2328834310              <dt>make-gcable-record, <a class="indexterm" href="#m_make-record">Macro MAKE-RECORD</a></dt>
    2328934311              <dt>make-heap-ivector, <a class="indexterm" href="#f_make-heap-ivector">Function MAKE-HEAP-IVECTOR</a></dt>
     34312              <dt>make-hemlock-output-stream, <a class="indexterm" href="#f_make-hemlock-output-stream">Function make-hemlock-output-stream</a></dt>
     34313              <dt>make-hemlock-region-stream, <a class="indexterm" href="#f_make-hemlock-region-stream">Function make-hemlock-region-stream</a></dt>
     34314              <dt>make-key-event, <a class="indexterm" href="#f_make-key-event">Function make-key-event</a></dt>
     34315              <dt>make-key-event-bits, <a class="indexterm" href="#f_make-key-event-bits">Function make-key-event-bits</a></dt>
    2329034316              <dt>make-lock, <a class="indexterm" href="#f_make-lock">Function MAKE-LOCK</a></dt>
     34317              <dt>make-modeline-field, <a class="indexterm" href="#f_make-modeline-field">Function make-modeline-field</a></dt>
    2329134318              <dt>make-population, <a class="indexterm" href="#f_make-population">Function MAKE-POPULATION</a></dt>
    2329234319              <dt>make-process, <a class="indexterm" href="#f_make-process">Function MAKE-PROCESS</a></dt>
    2329334320              <dt>make-read-write-lock, <a class="indexterm" href="#f_make-read-write-lock">Function MAKE-READ-WRITE-LOCK</a></dt>
    2329434321              <dt>make-record, <a class="indexterm" href="#m_make-record">Macro MAKE-RECORD</a></dt>
     34322              <dt>make-ring, <a class="indexterm" href="#f_make-ring">Function make-ring</a></dt>
    2329534323              <dt>make-semaphore, <a class="indexterm" href="#f_make-semaphore">Function MAKE-SEMAPHORE</a></dt>
    2329634324              <dt>make-socket, <a class="indexterm" href="#f_make-socket">Function MAKE-SOCKET</a></dt>
     34325              <dt>make-string-table, <a class="indexterm" href="#f_make-string-table">Function make-string-table</a></dt>
     34326              <dt>map-bindings, <a class="indexterm" href="#f_map-bindings">Function map-bindings</a></dt>
     34327              <dt>mark, <a class="indexterm" href="#f_mark">Function mark</a></dt>
     34328              <dt>mark-absolute-position, <a class="indexterm" href="#f_mark-absolute-position">Function mark-absolute-position</a></dt>
     34329              <dt>mark-after, <a class="indexterm" href="#f_mark-after">Function mark-after</a></dt>
     34330              <dt>mark-before, <a class="indexterm" href="#f_mark-before">Function mark-before</a></dt>
     34331              <dt>mark-buffer, <a class="indexterm" href="#f_mark-buffer">Function mark-buffer</a></dt>
     34332              <dt>mark-charpos, <a class="indexterm" href="#f_mark-charpos">Function mark-charpos</a></dt>
     34333              <dt>mark-column, <a class="indexterm" href="#f_mark-column">Function mark-column</a></dt>
     34334              <dt>mark-kind, <a class="indexterm" href="#f_mark-kind">Function mark-kind</a></dt>
     34335              <dt>mark-line, <a class="indexterm" href="#f_mark-line">Function mark-line</a></dt>
     34336              <dt>mark-paragraph, <a class="indexterm" href="#f_mark-paragraph">Function mark-paragraph</a></dt>
     34337              <dt>mark-top-level-form, <a class="indexterm" href="#f_mark-top-level-form">Function mark-top-level-form</a></dt>
     34338              <dt>mark/=, <a class="indexterm" href="#f_mark__eq">Function mark/=</a></dt>
     34339              <dt>mark&lt;, <a class="indexterm" href="#f_mark_lt">Function mark&lt;</a></dt>
     34340              <dt>mark&lt;=, <a class="indexterm" href="#f_mark_lt__eq">Function mark&lt;=</a></dt>
     34341              <dt>mark=, <a class="indexterm" href="#f_mark_eq">Function mark=</a></dt>
     34342              <dt>mark&gt;, <a class="indexterm" href="#f_mark_gt">Function mark&gt;</a></dt>
     34343              <dt>mark&gt;=, <a class="indexterm" href="#f_mark_gt__eq">Function mark&gt;=</a></dt>
     34344              <dt>markp, <a class="indexterm" href="#f_markp">Function markp</a></dt>
     34345              <dt>Maximum Lines Parsed, <a class="indexterm" href="#hv_maximum_lines_parsed">Hemlock Variable Maximum Lines Parsed</a></dt>
     34346              <dt>message, <a class="indexterm" href="#f_message">Function message</a></dt>
     34347              <dt>Minimum Lines Parsed, <a class="indexterm" href="#hv_minimum_lines_parsed">Hemlock Variable Minimum Lines Parsed</a></dt>
     34348              <dt>mode-documentation, <a class="indexterm" href="#f_mode-documentation">Function mode-documentation</a></dt>
     34349              <dt>mode-major-p, <a class="indexterm" href="#f_mode-major-p">Function mode-major-p</a></dt>
     34350              <dt>mode-variables, <a class="indexterm" href="#f_mode-variables">Function mode-variables</a></dt>
     34351              <dt>modeline-field, <a class="indexterm" href="#f_modeline-field">Function modeline-field</a></dt>
     34352              <dt>modeline-field-function, <a class="indexterm" href="#f_modeline-field-function">Function modeline-field-function</a></dt>
     34353              <dt>modeline-field-name, <a class="indexterm" href="#f_modeline-field-name">Function modeline-field-name</a></dt>
     34354              <dt>modeline-field-p, <a class="indexterm" href="#f_modeline-field-p">Function modeline-field-p</a></dt>
     34355              <dt>modeline-field-width, <a class="indexterm" href="#f_modeline-field-width">Function modeline-field-width</a></dt>
     34356              <dt>move-mark, <a class="indexterm" href="#f_move-mark">Function move-mark</a></dt>
     34357              <dt>move-to-absolute-position, <a class="indexterm" href="#f_move-to-absolute-position">Function move-to-absolute-position</a></dt>
     34358              <dt>move-to-column, <a class="indexterm" href="#f_move-to-column">Function move-to-column</a></dt>
     34359              <dt>move-to-position, <a class="indexterm" href="#f_move-to-position">Function move-to-position</a></dt>
    2329734360            </dl>
    2329834361          </div>
     
    2330034363            <h3>N</h3>
    2330134364            <dl>
     34365              <dt>name-keysym, <a class="indexterm" href="#f_name-keysym">Function name-keysym</a></dt>
    2330234366              <dt>native-translated-namestring, <a class="indexterm" href="#f_native-translated-namestring">Function native-translated-namestring</a></dt>
     34367              <dt>new-search-pattern, <a class="indexterm" href="#f_new-search-pattern">Function new-search-pattern</a></dt>
     34368              <dt>next-character, <a class="indexterm" href="#f_next-character">Function next-character</a></dt>
     34369              <dt>ninsert-region, <a class="indexterm" href="#f_ninsert-region">Function ninsert-region</a></dt>
    2330334370              <dt>note-open-file-stream, <a class="indexterm" href="#f_note-open-file-stream">Function NOTE-OPEN-FILE-STREAM</a></dt>
    2330434371              <dt>ns-lisp-string, <a class="indexterm" href="#c_ns-lisp-string">Class CCL::NS-LISP-STRING</a></dt>
     
    2331834385            <h3>P</h3>
    2331934386            <dl>
     34387              <dt>Paragraph Delimiter Function, <a class="indexterm" href="#hv_paragraph_delimiter_function">Hemlock Variable Paragraph Delimiter Function</a></dt>
     34388              <dt>paragraph-offset, <a class="indexterm" href="#f_paragraph-offset">Function paragraph-offset</a></dt>
     34389              <dt>Parse End Function, <a class="indexterm" href="#hv_parse_end_function">Hemlock Variable Parse End Function</a></dt>
     34390              <dt>Parse Start Function, <a class="indexterm" href="#hv_parse_start_function">Hemlock Variable Parse Start Function</a></dt>
     34391              <dt>parse-for-something, <a class="indexterm" href="#f_parse-for-something">Function parse-for-something</a></dt>
     34392              <dt>Pathname Defaults, <a class="indexterm" href="#hv_pathname_defaults">Hemlock Variable Pathname Defaults</a></dt>
     34393              <dt>pathname-to-buffer-name, <a class="indexterm" href="#f_pathname-to-buffer-name">Function pathname-to-buffer-name</a></dt>
     34394              <dt>pop-buffer-mark, <a class="indexterm" href="#f_pop-buffer-mark">Function pop-buffer-mark</a></dt>
    2332034395              <dt>population-contents, <a class="indexterm" href="#f_population-contents">Function POPULATION-CONTENTS</a></dt>
    2332134396              <dt>population-type, <a class="indexterm" href="#f_population-type">Function POPULATION-TYPE</a></dt>
     34397              <dt>pre-command-parse-check, <a class="indexterm" href="#f_pre-command-parse-check">Function pre-command-parse-check</a></dt>
    2332234398              <dt>pref, <a class="indexterm" href="#m_pref">Macro PREF</a></dt>
     34399              <dt>prefix-argument, <a class="indexterm" href="#f_prefix-argument">Function prefix-argument</a></dt>
     34400              <dt>pretty-key-string, <a class="indexterm" href="#f_pretty-key-string">Function pretty-key-string</a></dt>
     34401              <dt>previous-character, <a class="indexterm" href="#f_previous-character">Function previous-character</a></dt>
    2332334402              <dt>process-abort, <a class="indexterm" href="#f_process-abort">Function PROCESS-ABORT</a></dt>
    2332434403              <dt>process-allow-schedule, <a class="indexterm" href="#f_process-allow-schedule">Function PROCESS-ALLOW-SCHEDULE</a></dt>
    2332534404              <dt>process-enable, <a class="indexterm" href="#f_process-enable">Function PROCESS-ENABLE</a></dt>
     34405              <dt>process-file-options, <a class="indexterm" href="#f_process-file-options">Function process-file-options</a></dt>
    2332634406              <dt>process-input-wait, <a class="indexterm" href="#f_process-input-wait">Function PROCESS-INPUT-WAIT</a></dt>
    2332734407              <dt>process-interrupt, <a class="indexterm" href="#f_process-interrupt">Function PROCESS-INTERRUPT</a></dt>
     
    2333834418              <dt>process-wait-with-timeout, <a class="indexterm" href="#f_process-wait-with-timeout">Function PROCESS-WAIT-WITH-TIMEOUT</a></dt>
    2333934419              <dt>process-whostate, <a class="indexterm" href="#f_process-whostate">Function PROCESS-WHOSTATE</a></dt>
     34420              <dt>prompt-for-buffer, <a class="indexterm" href="#f_prompt-for-buffer">Function prompt-for-buffer</a></dt>
     34421              <dt>prompt-for-expression, <a class="indexterm" href="#f_prompt-for-expression">Function prompt-for-expression</a></dt>
     34422              <dt>prompt-for-file, <a class="indexterm" href="#f_prompt-for-file">Function prompt-for-file</a></dt>
     34423              <dt>prompt-for-integer, <a class="indexterm" href="#f_prompt-for-integer">Function prompt-for-integer</a></dt>
     34424              <dt>prompt-for-key, <a class="indexterm" href="#f_prompt-for-key">Function prompt-for-key</a></dt>
     34425              <dt>prompt-for-key-event, <a class="indexterm" href="#f_prompt-for-key-event">Function prompt-for-key-event</a></dt>
     34426              <dt>prompt-for-keyword, <a class="indexterm" href="#f_prompt-for-keyword">Function prompt-for-keyword</a></dt>
     34427              <dt>prompt-for-string, <a class="indexterm" href="#f_prompt-for-string">Function prompt-for-string</a></dt>
     34428              <dt>prompt-for-variable, <a class="indexterm" href="#f_prompt-for-variable">Function prompt-for-variable</a></dt>
     34429              <dt>prompt-for-y-or-n, <a class="indexterm" href="#f_prompt-for-y-or-n">Function prompt-for-y-or-n</a></dt>
     34430              <dt>prompt-for-yes-or-no, <a class="indexterm" href="#f_prompt-for-yes-or-no">Function prompt-for-yes-or-no</a></dt>
     34431              <dt>push-buffer-mark, <a class="indexterm" href="#f_push-buffer-mark">Function push-buffer-mark</a></dt>
     34432              <dt>push-new-buffer-mark, <a class="indexterm" href="#f_push-new-buffer-mark">Function push-new-buffer-mark</a></dt>
    2334034433            </dl>
    2334134434          </div>
     
    2334934442            <h3>R</h3>
    2335034443            <dl>
     34444              <dt>Read File Hook, <a class="indexterm" href="#hv_read_file_hook">Hemlock Variable Read File Hook</a></dt>
     34445              <dt>read-buffer-file, <a class="indexterm" href="#f_read-buffer-file">Function read-buffer-file</a></dt>
    2335134446              <dt>read-coverage-from-file, <a class="indexterm" href="#f_read-coverage-from-file">Function READ-COVERAGE-FROM-FILE</a></dt>
     34447              <dt>read-file, <a class="indexterm" href="#f_read-file">Function read-file</a></dt>
    2335234448              <dt>receive-from, <a class="indexterm" href="#f_receive-from">Function RECEIVE-FROM</a></dt>
     34449              <dt>region, <a class="indexterm" href="#f_region">Function region</a></dt>
     34450              <dt>region-active-p, <a class="indexterm" href="#f_region-active-p">Function region-active-p</a></dt>
     34451              <dt>region-bounds, <a class="indexterm" href="#f_region-bounds">Function region-bounds</a></dt>
     34452              <dt>region-end, <a class="indexterm" href="#f_region-end">Function region-end</a></dt>
     34453              <dt>region-start, <a class="indexterm" href="#f_region-start">Function region-start</a></dt>
     34454              <dt>region-to-string, <a class="indexterm" href="#f_region-to-string">Function region-to-string</a></dt>
     34455              <dt>regionp, <a class="indexterm" href="#f_regionp">Function regionp</a></dt>
    2335334456              <dt>release-lock, <a class="indexterm" href="#f_release-lock">Function RELEASE-LOCK</a></dt>
    2335434457              <dt>remote-host, <a class="indexterm" href="#f_remote-host">Function REMOTE-HOST</a></dt>
    2335534458              <dt>remote-port, <a class="indexterm" href="#f_remote-port">Function REMOTE-PORT</a></dt>
     34459              <dt>remove-hook, <a class="indexterm" href="#m_remove-hook">Macro remove-hook</a></dt>
    2335634460              <dt>remove-open-file-stream, <a class="indexterm" href="#f_remove-open-file-stream">Function REMOVE-OPEN-FILE-STREAM</a></dt>
     34461              <dt>replace-pattern, <a class="indexterm" href="#f_replace-pattern">Function replace-pattern</a></dt>
    2335734462              <dt>report-coverage, <a class="indexterm" href="#f_report-coverage">Function REPORT-COVERAGE</a></dt>
    2335834463              <dt>request-terminal-input-via-break, <a class="indexterm" href="#v_request-terminal-input-via-break">Variable *REQUEST-TERMINAL-INPUT-VIA-BREAK*</a></dt>
    2335934464              <dt>reset-coverage, <a class="indexterm" href="#f_reset-coverage">Function RESET-COVERAGE</a></dt>
     34465              <dt>reset-incremental-coverage, <a class="indexterm" href="#f_reset-incremental-coverage">Function RESET-INCREMENTAL-COVERAGE</a></dt>
    2336034466              <dt>restore-coverage, <a class="indexterm" href="#f_restore-coverage">Function RESTORE-COVERAGE</a></dt>
    2336134467              <dt>restore-coverage-from-file, <a class="indexterm" href="#f_restore-coverage-from-file">Function RESTORE-COVERAGE-FROM-FILE</a></dt>
     34468              <dt>reverse-find-attribute, <a class="indexterm" href="#f_reverse-find-attribute">Function reverse-find-attribute</a></dt>
     34469              <dt>reverse-find-not-attribute, <a class="indexterm" href="#f_reverse-find-not-attribute">Function reverse-find-not-attribute</a></dt>
     34470              <dt>ring-length, <a class="indexterm" href="#f_ring-length">Function ring-length</a></dt>
     34471              <dt>ring-pop, <a class="indexterm" href="#f_ring-pop">Function ring-pop</a></dt>
     34472              <dt>ring-push, <a class="indexterm" href="#f_ring-push">Function ring-push</a></dt>
     34473              <dt>ring-ref, <a class="indexterm" href="#f_ring-ref">Function ring-ref</a></dt>
     34474              <dt>ringp, <a class="indexterm" href="#f_ringp">Function ringp</a></dt>
    2336234475              <dt>rlet, <a class="indexterm" href="#m_rlet">Macro RLET</a></dt>
    2336334476              <dt>rletz, <a class="indexterm" href="#m_rletz">Macro RLETZ</a></dt>
     34477              <dt>rotate-ring, <a class="indexterm" href="#f_rotate-ring">Function rotate-ring</a></dt>
    2336434478              <dt>run-program, <a class="indexterm" href="#f_run-program">Function RUN-PROGRAM</a></dt>
    2336534479            </dl>
     
    2336834482            <h3>S</h3>
    2336934483            <dl>
     34484              <dt>same-line-p, <a class="indexterm" href="#f_same-line-p">Function same-line-p</a></dt>
    2337034485              <dt>save-application, <a class="indexterm" href="#Saving-Applications">Saving Applications</a></dt>
    23371               <dt>save-coverage, <a class="indexterm" href="#f_save-coverage">Function SAVE-COVERAGE</a></dt>
    2337234486              <dt>save-coverage-in-file, <a class="indexterm" href="#f_save-coverage-in-file">Function SAVE-COVERAGE-IN-FILE</a></dt>
     34487              <dt>search-pattern-p, <a class="indexterm" href="#f_search-pattern-p">Function search-pattern-p</a></dt>
    2337334488              <dt>send-to, <a class="indexterm" href="#f_send-to">Function SEND-TO</a></dt>
     34489              <dt>sentence-offset, <a class="indexterm" href="#f_sentence-offset">Function sentence-offset</a></dt>
    2337434490              <dt>set-development-environment, <a class="indexterm" href="#f_set-development-environment">Function SET-DEVELOPMENT-ENVIRONMENT</a></dt>
    2337534491              <dt>set-fpu-mode, <a class="indexterm" href="#f_set-fpu-mode">Function SET-FPU-MODE</a></dt>
    2337634492              <dt>set-lisp-heap-gc-threshold, <a class="indexterm" href="#f_set-lisp-heap-gc-threshold">Function SET-LISP-HEAP-GC-THRESHOLD</a></dt>
     34493              <dt>set-region-bounds, <a class="indexterm" href="#f_set-region-bounds">Function set-region-bounds</a></dt>
     34494              <dt>set-scroll-position, <a class="indexterm" href="#f_set-scroll-position">Function set-scroll-position</a></dt>
    2337734495              <dt>set-user-environment, <a class="indexterm" href="#f_set-user-environment">Function SET-USER-ENVIRONMENT</a></dt>
    2337834496              <dt>setenv, <a class="indexterm" href="#f_setenv">Function CCL::SETENV</a></dt>
    2337934497              <dt>setgid, <a class="indexterm" href="#f_setgid">Function CCL::SETGID</a></dt>
    2338034498              <dt>setuid, <a class="indexterm" href="#f_setuid">Function CCL::SETUID</a></dt>
     34499              <dt>setv, <a class="indexterm" href="#m_setv">Macro setv</a></dt>
     34500              <dt>Shadow Attribute Hook, <a class="indexterm" href="#hv_shadow_attribute_hook">Hemlock Variable Shadow Attribute Hook</a></dt>
     34501              <dt>shadow-attribute, <a class="indexterm" href="#f_shadow-attribute">Function shadow-attribute</a></dt>
    2338134502              <dt>shutdown, <a class="indexterm" href="#f_shutdown">Function SHUTDOWN</a></dt>
    2338234503              <dt>signal-external-process, <a class="indexterm" href="#f_signal-external-process">Function SIGNAL-EXTERNAL-PROCESS</a></dt>
     
    2339134512              <dt>socket-os-fd, <a class="indexterm" href="#f_socket-os-fd">Function SOCKET-OS-FD</a></dt>
    2339234513              <dt>socket-type, <a class="indexterm" href="#f_socket-type">Function SOCKET-TYPE</a></dt>
     34514              <dt>Spaces per Tab, <a class="indexterm" href="#hv_spaces_per_tab">Hemlock Variable Spaces per Tab</a></dt>
     34515              <dt>start-defun-p, <a class="indexterm" href="#f_start-defun-p">Function start-defun-p</a></dt>
     34516              <dt>start-line-p, <a class="indexterm" href="#f_start-line-p">Function start-line-p</a></dt>
    2339334517              <dt>stream-deadline, <a class="indexterm" href="#Stream-Timeouts-And-Deadlines">Stream Timeouts and Deadlines</a></dt>
    2339434518              <dt>stream-device, <a class="indexterm" href="#f_stream-device">Generic Function CCL::STREAM-DEVICE</a></dt>
     
    2340234526              <dt>stream-write-vector, <a class="indexterm" href="#f_stream-write-vector">Generic Function CCL:STREAM-WRITE-VECTOR</a></dt>
    2340334527              <dt>string-size-in-octets, <a class="indexterm" href="#string-size-in-octets">Function string-size-in-octets</a></dt>
     34528              <dt>string-table-p, <a class="indexterm" href="#f_string-table-p">Function string-table-p</a></dt>
     34529              <dt>string-table-separator, <a class="indexterm" href="#f_string-table-separator">Function string-table-separator</a></dt>
     34530              <dt>string-to-region, <a class="indexterm" href="#f_string-to-region">Function string-to-region</a></dt>
     34531              <dt>string-to-variable, <a class="indexterm" href="#f_string-to-variable">Function string-to-variable</a></dt>
    2340434532            </dl>
    2340534533          </div>
     
    2340934537              <dt>terminate-when-unreachable, <a class="indexterm" href="#f_terminate-when-unreachable">Function TERMINATE-WHEN-UNREACHABLE</a></dt>
    2341034538              <dt>timed-wait-on-semaphore, <a class="indexterm" href="#f_timed-wait-on-semaphore">Function TIMED-WAIT-ON-SEMAPHORE</a></dt>
     34539              <dt>top-level-offset, <a class="indexterm" href="#f_top-level-offset">Function top-level-offset</a></dt>
    2341134540              <dt>try-lock, <a class="indexterm" href="#f_try-lock">Function TRY-LOCK</a></dt>
    2341234541            </dl>
     
    2341634545            <dl>
    2341734546              <dt>unadvise, <a class="indexterm" href="#m_unadvise">Macro UNADVISE</a></dt>
     34547              <dt>Unshadow Attribute Hook, <a class="indexterm" href="#hv_unshadow_attribute_hook">Hemlock Variable Unshadow Attribute Hook</a></dt>
     34548              <dt>unshadow-attribute, <a class="indexterm" href="#f_unshadow-attribute">Function unshadow-attribute</a></dt>
    2341834549              <dt>unuse-interface-dir, <a class="indexterm" href="#f_unuse-interface-dir">Function UNUSE-INTERFACE-DIR</a></dt>
    2341934550              <dt>unwatch, <a class="indexterm" href="#f_unwatch">Function UNWATCH</a></dt>
    2342034551              <dt>unwind-protect, <a class="indexterm" href="#v_unwind-protect">Special operator UNWIND-PROTECT</a></dt>
     34552              <dt>update-modeline-fields, <a class="indexterm" href="#f_update-modeline-fields">Function update-modeline-fields</a></dt>
    2342134553              <dt>use-interface-dir, <a class="indexterm" href="#f_use-interface-dir">Function USE-INTERFACE-DIR</a></dt>
    2342234554              <dt>use-lisp-heap-gc-threshold, <a class="indexterm" href="#f_use-lisp-heap-gc-threshold">Function USE-LISP-HEAP-GC-THRESHOLD</a></dt>
     34555            </dl>
     34556          </div>
     34557          <div class="indexdiv">
     34558            <h3>V</h3>
     34559            <dl>
     34560              <dt>valid-spot, <a class="indexterm" href="#f_valid-spot">Function valid-spot</a></dt>
     34561              <dt>value, <a class="indexterm" href="#m_value">Macro value</a></dt>
     34562              <dt>variable-documentation, <a class="indexterm" href="#f_variable-documentation">Function variable-documentation</a></dt>
     34563              <dt>variable-hooks, <a class="indexterm" href="#f_variable-hooks">Function variable-hooks</a></dt>
     34564              <dt>variable-name, <a class="indexterm" href="#f_variable-name">Function variable-name</a></dt>
     34565              <dt>variable-value, <a class="indexterm" href="#f_variable-value">Function variable-value</a></dt>
    2342334566            </dl>
    2342434567          </div>
     
    2343134574              <dt>with-altivec-registers, <a class="indexterm" href="#lapm_with-altivec-registers">LAP Macro WITH-ALTIVEC-REGISTERS</a></dt>
    2343234575              <dt>with-filename-cstrs, <a class="indexterm" href="#m_with-filename-cstrs">Macro with-filename-cstrs</a></dt>
     34576              <dt>with-input-from-region, <a class="indexterm" href="#m_with-input-from-region">Macro with-input-from-region</a></dt>
    2343334577              <dt>with-interrupts-enabled, <a class="indexterm" href="#m_with-interrupts-enabled">Macro WITH-INTERRUPTS-ENABLED</a></dt>
    2343434578              <dt>with-lock-grabbed, <a class="indexterm" href="#m_with-lock-grabbed">Macro WITH-LOCK-GRABBED</a></dt>
     34579              <dt>with-mark, <a class="indexterm" href="#m_with-mark">Macro with-mark</a></dt>
    2343534580              <dt>with-open-socket, <a class="indexterm" href="#m_with-open-socket">Macro WITH-OPEN-SOCKET</a></dt>
     34581              <dt>with-output-to-mark, <a class="indexterm" href="#m_with-output-to-mark">Macro with-output-to-mark</a></dt>
     34582              <dt>with-pop-up-display, <a class="indexterm" href="#m_with-pop-up-display">Macro with-pop-up-display</a></dt>
    2343634583              <dt>with-read-lock, <a class="indexterm" href="#m_with-read-lock">Macro WITH-READ-LOCK</a></dt>
    2343734584              <dt>with-terminal-input, <a class="indexterm" href="#m_with-terminal-input">Macro WITH-TERMINAL-INPUT</a></dt>
    2343834585              <dt>with-vector-buffer, <a class="indexterm" href="#lapm_with-vector-buffer">LAP Macro WITH-VECTOR-BUFFER</a></dt>
     34586              <dt>with-writable-buffer, <a class="indexterm" href="#m_with-writable-buffer">Macro with-writable-buffer</a></dt>
    2343934587              <dt>with-write-lock, <a class="indexterm" href="#m_with-write-lock">Macro WITH-WRITE-LOCK</a></dt>
    2344034588              <dt>without-compiling-code-coverage, <a class="indexterm" href="#v_without-compiling-code-coverage">Macro WITHOUT-COMPILING-CODE-COVERAGE</a></dt>
    2344134589              <dt>without-interrupts, <a class="indexterm" href="#m_without-interrupts">Macro WITHOUT-INTERRUPTS</a></dt>
     34590              <dt>word-offset, <a class="indexterm" href="#f_word-offset">Function word-offset</a></dt>
     34591              <dt>Write File Hook, <a class="indexterm" href="#hv_write_file_hook">Hemlock Variable Write File Hook</a></dt>
     34592              <dt>write-buffer-file, <a class="indexterm" href="#f_write-buffer-file">Function write-buffer-file</a></dt>
    2344234593              <dt>write-coverage-to-file, <a class="indexterm" href="#f_write-coverage-to-file">Function WRITE-COVERAGE-TO-FILE</a></dt>
     34594              <dt>write-file, <a class="indexterm" href="#f_write-file">Function write-file</a></dt>
    2344334595              <dt>write-to-watched-object, <a class="indexterm" href="#c_write-to-watched-object">Condition WRITE-TO-WATCHED-OBJECT</a></dt>
    2344434596            </dl>
     
    2345034602      <a href="#Symbol-Index">Symbol Index</a>
    2345134603    </div>
    23452     <p xmlns="http://www.w3.org/TR/xhtml1/transitional" xmlns:date="http://exslt.org/dates-and-times" class="footer">This document was last modified at 18:0 on May 11, 2011, in UTC.<br></br>It uses version 1.75.2 of the Norman Walsh Docbook stylesheets.<br></br>Built from subversion rev 14794<br></br>Using libxml 20706, libxslt 10126 and libexslt 815.</p>
     34604    <p xmlns="http://www.w3.org/TR/xhtml1/transitional" xmlns:date="http://exslt.org/dates-and-times" class="footer">This document was last modified at 16:0 on May 14, 2011, in UTC.<br></br>It uses version 1.75.2 of the Norman Walsh Docbook stylesheets.<br></br>Built from subversion rev 14798<br></br>Using libxml 20706, libxslt 10126 and libexslt 815.</p>
    2345334605  </body>
    2345434606</html>
Note: See TracChangeset for help on using the changeset viewer.