File: debian-changes

package info (click to toggle)
oaklisp 1.3.7-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, trixie
  • size: 5,776 kB
  • sloc: ansic: 4,014; makefile: 149
file content (183 lines) | stat: -rw-r--r-- 6,905 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
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)))))))