diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet
index d8aa17e..3354f27 100644
--- a/books/bookvol5.pamphlet
+++ b/books/bookvol5.pamphlet
@@ -6794,6 +6794,7 @@ Remember the current line. The cases are:
 \defun{executeQuietCommand}{executeQuietCommand}
 When \verb|$QuiteCommand| is true Spad will not produce any output from
 a top level command
+
 \catches{executeQuietCommand}{spad-reader}
 \catches{executeQuietCommand}{coerceFailure}
 \catches{executeQuietCommand}{toplevel}
@@ -25699,6 +25700,7 @@ If the frame is found we return the environment portion of the frame
 otherwise we construct an empty environment and return it.
 The initial values of an empty frame are created here. This function
 returns a single frame that will be placed in the frame ring.
+
 \calls{frameEnvironment}{frameInteractive}
 \begin{chunk}{defun frameEnvironment}
 (defun |frameEnvironment| (fname)
@@ -25834,6 +25836,7 @@ the frames and if we find one we return it.
 This function collects the normal contents of the world into a 
 frame object, places it first on the frame list, and then sets
 the current values of the world from the frame object. 
+
 \calls{updateCurrentInterpreterFrame}{createCurrentInterpreterFrame}
 \calls{updateCurrentInterpreterFrame}{updateFromCurrentInterpreterFrame}
 \usesdollar{updateCurrentInterpreterFrame}{interpreterFrameRing}
@@ -25851,6 +25854,7 @@ current information is recorded. If there are more frame elements
 in the list then this will destructively move the current frame
 to the end of the list, that is, assume the frame list reads (1 2 3)
 this function will destructively change it to (2 3 1).
+
 \calls{nextInterpreterFrame}{updateFromCurrentInterpreterFrame}
 \usesdollar{nextInterpreterFrame}{interpreterFrameRing}
 \begin{chunk}{defun nextInterpreterFrame}
@@ -27717,6 +27721,7 @@ These functions transform an object to a writable form and back.
 
 \defun{rread}{Random read a key from a stream}
 RREAD takes erroval to return if key is missing
+
 \calls{rread}{rread}
 \calls{rwrite}{identp}
 \calls{rwrite}{pname}
@@ -28361,6 +28366,7 @@ absolute or relative pathname.
 \defunsec{ncloopInclude}{Open the include file and read it in} 
 The ncloopInclude0 function is part
 of the parser and lives in int-top.boot.
+
 \calls{ncloopInclude}{ncloopInclude0}
 \begin{chunk}{defun ncloopInclude}
 (defun |ncloopInclude| (name n)
@@ -28706,7 +28712,7 @@ o )system
    (when (member (string2id-n x 1) '(y yes)) (|leaveScratchpad|))
    (|sayKeyedMsg| 's2iz0032 nil)
    (tersyscommand))
-   (|leaveScratchpad|)))
+  (|leaveScratchpad|)))
 
 \end{chunk}
 
@@ -29149,6 +29155,7 @@ We need to break the file into separate test cases. This routine
 looks for the ``--S'' line which indicates a test is starting. It
 collects up input lines until it encounters the ``--E'' line marking
 the end of the test case. These lines are returned as a list of strings.
+
 \calls{findnexttest}{testnumberp}
 \begin{chunk}{defun findnexttest}
 (defun findnexttest (stream)
@@ -29196,6 +29203,7 @@ The ok variable allows us to mark failing tests as ``ok'' because
 we expect the test might fail due to random values or testing known
 bugs against expected output. We filter these tests marked ``ok''
 so they do not count as ``real'' failures.
+
 \calls{testpassed}{split}
 \uses{testpassed}{*ok*}
 \begin{chunk}{defun testpassed}
@@ -30013,6 +30021,7 @@ input        controls libraries from which to load compiled code
 
 \defunsec{openOutputLibrary}{Open the output library}
 The input-libraries and output-library are now truename based.
+
 \calls{openOutputLibrary}{dropInputLibrary}
 \uses{openOutputLibrary}{output-library}
 \uses{openOutputLibrary}{input-libraries}
@@ -30051,6 +30060,7 @@ The input-libraries and output-library are now truename based.
 
 \defunsec{setInputLibrary}{The set input library command handler}
 The input-libraries is now maintained as a list of truenames.
+
 \calls{setInputLibrary}{describeInputLibraryArgs}
 \calls{setInputLibrary}{qcar}
 \calls{setInputLibrary}{qcdr}
@@ -31636,6 +31646,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed.
 \defunsec{setExposeAddGroup}{Expose a group}
 Note that \verb|$localExposureData| is a vector of lists.
 It consists of [exposed groups,exposed constructors,hidden constructors]
+
 \calls{setExposeAddGroup}{object2String}
 \calls{setExposeAddGroup}{qcar}
 \calls{setExposeAddGroup}{setelt}
@@ -31992,7 +32003,6 @@ recurrence   specially compile recurrence relations     on
 \end{chunk}
 
 \defunsec{setFunctionsCache}{The top level set functions cache handler}
-\begin{verbatim}
 \calls{setFunctionsCache}{object2String}
 \calls{setFunctionsCache}{describeSetFunctionsCache}
 \calls{setFunctionsCache}{sayAllCacheCounts}
@@ -35780,7 +35790,7 @@ The current setting is:  Off:CONSOLE
 \end{verbatim}
 \defdollar{quitCommandType}
 \begin{chunk}{initvars}
-(defvar |$quitCommandType| '|protected| "protected or unprotected quit")
+(defvar |$quitCommandType| '|unprotected| "protected or unprotected quit")
 
 \end{chunk}
 \begin{chunk}{quit}
@@ -35790,7 +35800,7 @@ The current setting is:  Off:CONSOLE
    LITERALS
    |$quitCommandType|
    (|protected| |unprotected|)
-   |protected|)
+   |unprotected|)
 
 \end{chunk}
 
diff --git a/changelog b/changelog
index 673fdf7..343e640 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,5 @@
+20141218 tpd src/axiom-website/patches.html 20141218.01.tpd.patch
+20141218 tpd books/bookvol5 make )quit unprotected by default
 20141217 tpd src/axiom-website/patches.html 20141217.02.tpd.patch
 20141217 tpd books/bookvol5 inline structure accesses for frames
 20141217 tpd src/axiom-website/patches.html 20141217.01.tpd.patch
diff --git a/patch b/patch
index cebb929..c7bfd24 100644
--- a/patch
+++ b/patch
@@ -1,3 +1 @@
-books/bookvol5 inline structure accesses for frames
-
-Turn structure access functions into macros to inline code.
+books/bookvol5 make )quit unprotected by default
diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html
index 227f55a..48e9e04 100644
--- a/src/axiom-website/patches.html
+++ b/src/axiom-website/patches.html
@@ -4828,6 +4828,8 @@ books/bookvol5 clean, treeshake, and simplify<br/>
 books/bookvol5 inline structure accesses<br/>
 <a href="patches/20141217.02.tpd.patch">20141217.02.tpd.patch</a>
 books/bookvol5 inline structure accesses for frames<br/>
+<a href="patches/20141218.01.tpd.patch">20141218.01.tpd.patch</a>
+books/bookvol5 make )quit unprotected by default<br/>
  </body>
 </html>
 
