This is an autogenerated patch header for a single-debian-patch file. The
delta against upstream is either kept as a single patch, or maintained
in some VCS, and exported as a single patch instead of more manageable
atomic patches.

--- oaklisp-1.3.7.orig/README.md
+++ oaklisp-1.3.7/README.md
@@ -12,9 +12,8 @@ the Oaklisp dialect of lisp.
 
 Project homepage(s)
 
-*  https://alioth.debian.org/projects/oaklisp/ (main homepage)
-*  https://github.com/barak/oaklisp            (collaborative development)
-*  http://www.bcl.hamilton.ie/~barak/oaklisp/  (ancient history)
+*  https://github.com/barak/oaklisp       (homepage, development)
+*  http://barak.pearlmutter.net/oaklisp/  (ancient history)
 
 The compiler compiles Oaklisp source code into byte-code for the
 included Oaklisp emulator / virtual machine.  The implementation
@@ -38,5 +37,7 @@ is described in the included documentati
 * Barak A. Pearlmutter and Kevin J. Lang. The implementation of
   Oaklisp.  In Peter Lee, editor, Topics in Advanced Language
   Implementation, pages 189–215. MIT Press, 1991.
+  URL http://barak.pearlmutter.net/papers/Oaklisp-TALI-Chapter-1991.djvu
+  http://barak.pearlmutter.net/papers/Oaklisp-TALI-Chapter-1991.pdf
 
 See BUILD.md for instructions on how to build the system.
--- oaklisp-1.3.7.orig/doc/Makefile.am
+++ oaklisp-1.3.7/doc/Makefile.am
@@ -22,7 +22,7 @@ pdf_DATA = $(LATEX_PDFS)
 EXTRA_DIST = $(LATEX_SRCS)
 
 .tex.pdf:
-	cd $(dir $<) && $(LATEXMK) -pdf $(notdir $<) \
+	(cd $(dir $<) && $(LATEXMK) -pdf $(notdir $<)) \
 	 || cp ../prebuilt/doc/$@ $@
 
 EXTRA_DIST += examples/bank-example.oak examples/change.oak		\
--- oaklisp-1.3.7.orig/doc/lang/io.tex
+++ oaklisp-1.3.7/doc/lang/io.tex
@@ -187,7 +187,8 @@ There are many hash reader macro charact
 decimal, binary and complex numbers, respectively.  The syntax
 \texttt{\#\emph{n}r\emph{xxx}} is used to read \emph{xxx} in base \emph{n}.
 \texttt{\#(\ldots)} is used for reading vectors.  The \texttt{\#|} macro
-comments out text until a matching \texttt{|\#}, with proper nesting.  As
+comments out text until a matching \texttt{|\#}, with proper nesting.
+\texttt{\#;\emph{e}} comments out the s-expression \emph{e}. As
 described in Section~\ref{sec:truths}, \df{\#t} and \df{\#f} are read
 as the canonical true and false values, respectively.
 
--- oaklisp-1.3.7.orig/doc/lim/admin.tex
+++ oaklisp-1.3.7/doc/lim/admin.tex
@@ -19,10 +19,7 @@
 
 \section{Getting a Copy}
 
-The most recent released version of Oaklisp, along with the manuals,
-are available at \url{http://www.bcl.hamilton.ie/~barak/oaklisp/}, but
-this is to be superseded by a new site:
-\url{http://oaklisp.alioth.debian.org/}.
+See \url{https://github.com/barak/oaklisp/}.
 
 \section{Bugs}
 
@@ -50,7 +47,7 @@ C routines from a running Oaklisp.
 \end{itemize}
 
 Bug reports, enhancements, and the like should be posted using the
-facilities on \url{http://oaklisp.alioth.debian.org/}; queries can
+facilities on \url{https://github.com/barak/oaklisp/}; queries can
 also be sent to \texttt{barak+oaklisp@pearlmutter.net}.
 
 We appreciate enhancements (especially in the form of patch files),
--- oaklisp-1.3.7.orig/man/man1/oaklisp.1.in
+++ oaklisp-1.3.7/man/man1/oaklisp.1.in
@@ -192,11 +192,9 @@ implementation manuals lang.pdf and lim.
 OaklispSummary.pdf, whose source is included with the distribution,
 and installed in @pdfdir@/.
 
-The Oaklisp home page is transitioning from
-.URL http://www.bcl.hamilton.ie/~barak/oaklisp/ "its old location"
+The Oaklisp home page is
+.URL http://barak.pearlmutter.net/oaklisp/ "old location"
 to
-.URL https://oaklisp.alioth.debian.org/ alioth
-and
 .URL https://github.com/barak/oaklisp github .
 
 .I The Implementation of Oaklisp
--- oaklisp-1.3.7.orig/src/world/hash-reader.oak
+++ oaklisp-1.3.7/src/world/hash-reader.oak
@@ -131,7 +131,11 @@
   (lambda (stream char arg)
     (when arg
       (signal cant-have-#-arg char arg))
-    (eval (read stream) #*current-locale)))
+    (let ((s (read stream)))
+      (if #*read-suppress
+	  ;; quote here is a hint that s was not evaluated
+	  `,s
+	  (eval s #*current-locale)))))
 
 (define-hash-macro-char #\b
   (lambda (stream char arg)
@@ -294,4 +298,17 @@
 	      "Inexact numbers are not supported.")
       x)))
 
+;;; This implements the comment notation #;sexpr , i.e., #; and the
+;;; sexpr following it are a comment and ignored. Since comments
+;;; shouldn't be evaluating stuff, a switch is added to disable
+;;; #.sexpr evaluation while reading the ignored sexpr.
+
+(define-hash-macro-char #\;
+  (lambda (stream char arg)
+    (when arg
+      (signal cant-have-#-arg char arg))
+    (bind ((#*read-suppress #t))
+      (read stream))
+    the-unread-object))
+
 ;;; eof
--- oaklisp-1.3.7.orig/src/world/reader.oak
+++ oaklisp-1.3.7/src/world/reader.oak
@@ -237,7 +237,7 @@
 		   (read-char stream)
 		   ((cdr c-syntax) stream c))))))))
 
-;;; In order to read dotted lists correctly, the right thing to do it
+;;; In order to read dotted lists correctly, the right thing to do is
 ;;; to return a magic thing, THE-DOT-TOKEN, when a '.' is read as a
 ;;; single, unescaped token.  Like the unread object, this is never
 ;;; returned by READ.
--- oaklisp-1.3.7.orig/src/world/repl.oak
+++ oaklisp-1.3.7/src/world/repl.oak
@@ -21,10 +21,13 @@
 
 (define (read-eval-print-loop)
   (format #t "~&Oaklisp evaluation loop.~%")
-  (bind ((#*print-length 7)
+  (bind (;; Exiting:
+         (#*eof-exit-limit 3)
+         ;; Print parameters:
+         (#*print-length 7)
 	 (#*print-level 3)
 	 (#*print-escape #t)
-	 ;; Current input
+	 ;; Current input:
 	 (#*- #f)
 	 ;; Previous inputs:
 	 (#*+ #f)
@@ -46,7 +49,7 @@
 	(show-handlers)
 	(let ((out-of-here (and (not (zero? #*debug-level))
 				#*up-a-debug-level)))
-	  (iterate aux ()
+	  (iterate aux ((eof-exit-i 1))
 	    (native-catch uptag
 	      (bind ((#*up-a-debug-level uptag))
 		(dotimes (i (+ #*debug-level 1))
@@ -71,8 +74,14 @@
 				(flush standard-output)
 				(exit))
 			       ((zero? #*debug-level)
-				(format #t "~&Type (exit) to leave Oaklisp.~%")
-				(aux))
+                                (cond ((= eof-exit-i #*eof-exit-limit)
+                                       (exit))
+				      (else
+                                       (let ((die (- #*eof-exit-limit eof-exit-i)))
+                                         (format #t "~&To leave Oaklisp, enter (exit), or hit ^D ")
+                                         (if (= die 1) (format #t "one last time.~%")
+                                                       (format #t "~a more times.~%" die)))
+				       (aux (+ eof-exit-i 1)))))
 			       (else
 				(write-char standard-output #\newline)
 				(throw out-of-here #f))))
@@ -106,4 +115,4 @@
 				    (invoke-debugger x)))
 			       (print v standard-output))
 			     (write-char standard-output #\newline))))))))
-	    (aux)))))))
+	    (aux 1)))))))
