Commit 85a43200 by Pascal J. Bourguignon

Merged.

parents 3013a467 96539f53
......@@ -7,3 +7,7 @@ git clone https://github.com/sionescu/libfixposix.git
git clone http://git.informatimago.com/public/iolib.termios
# git clone ssh://pjb@git.informatimago.com/srv/git/public/iolib.termios
# NOT YET; we may freeze the dependency on a specific version of com-informatimago…
# git clone git@git.framasoft.org:com-informatimago/com-informatimago.git
# ( cd com-informatimago && git checkout 00911cca3266dac279f4cad960d6f11dad1b9dfa )
......@@ -59,7 +59,7 @@ NASIUM-LSE: An Implementation of the L.S.E. programming language written in Comm
3- Get the sources of nasium: ::
cd ~/src/
git clone https://git.gitorious.org/nasium-lse/nasium-lse.git
git clone https://framagit.org/nasium-lse/nasium-lse.git
cd nasium-lse
NASIUM_LSE="$(pwd)"
......@@ -88,7 +88,7 @@ NASIUM-LSE: An Implementation of the L.S.E. programming language written in Comm
~/quicklisp/local-projects/. ::
cd ~/quicklisp/local-projects/
git clone https://git.gitorious.org/com-informatimago/com-informatimago.git
git clone https://framagit.org/com-informatimago/com-informatimago.git
There's a bug in the current quicklisp, so we need to remove
system-index.txt and rebuild it from $HOME. ::
......
0.9997979000000021
\ No newline at end of file
0.9997619000000011
\ No newline at end of file
......@@ -131,7 +131,9 @@ RETURN: A new OPTIONS structure instance.
(setf (terminal-modern-mode terminal) (or (member (getenv "TERM") '("emacs" "dumb")
:test (function string-equal))
(options-modern-mode options))
(terminal-cr-as-xoff terminal) (options-return-is-xoff options)))
;; option-modern-mode implies terminal-cr-as-xoff
(terminal-cr-as-xoff terminal) (or (options-return-is-xoff options)
(options-modern-mode options))))
task))
......
......@@ -329,7 +329,7 @@ RETURN: EX-OK
(progn
(push #P"/usr/local/lib/" cffi:*foreign-library-directories*)
(setf *program-name* (or (program-name) *default-program-name*))
(setf *options* (make-default-options))
(print (setf *options* (make-default-options)))
(set-lse-root)
(let ((encoding (locale-terminal-encoding)))
(set-terminal-encoding encoding)
......
......@@ -1930,15 +1930,9 @@ Voir les commandes TABLE DES FICHIERS, SUPPRIMER."
(defun call-with-error-reporting (task thunk)
(labels ((invalid-character-error (err)
(io-format task "~%ERREUR: ~?~%"
"CARACTÈRE INVALIDE ~A~:[~*~; (~D~)~] EN POSITION ~D"
(destructuring-bind (ch pos) (scanner-error-format-arguments err)
(list
(if (<= 32 (char-code ch))
(format nil "'~A'" ch)
(format nil ".~A." (char-code ch)))
(<= 32 (char-code ch))
(char-code ch)
pos)))
"CARACTÈRE INVALIDE ~A~:[~*~; (~D)~] EN POSITION ~D"
(scanner-error-format-arguments err)
(scanner-error-column err))
(pret task))
(report-error (err)
......
......@@ -65,7 +65,7 @@
(defparameter *password* "MAYER")
(defparameter *header* "EMULSE : L.S.E. [ EMULATION MITRA-15 ]")
(defparameter *copyright* "COPYRIGHT 1984 - 2014 PASCAL BOURGUIGNON")
(defparameter *copyright* "COPYRIGHT 1984 - 2017 PASCAL BOURGUIGNON")
;; (map nil (function ensure-directories-exist)
......
......@@ -89,6 +89,10 @@
(push (truename (merge-pathnames "../dependencies/"
*default-pathname-defaults*))
ql:*local-project-directories*)
;; NOT YET:
;; (push (truename (merge-pathnames "../dependencies/com-informatimago/"
;; *default-pathname-defaults*))
;; ql:*local-project-directories*)
(defun boolean-enval (var default)
......
......@@ -77,7 +77,8 @@
(defun wildpath (path) (make-pathname :name :wild :type :wild :version nil :defaults path))
(defun fasldir (system component)
(first (asdf:output-files
(make-instance 'asdf:compile-op)
#-asdf3 (make-instance 'asdf:compile-op)
#+asdf3 (asdf/operation:make-operation 'asdf:compile-op)
(asdf:find-component (asdf:find-system system) component))))
(setf *default-pathname-defaults* (dirpath (or *load-truename*
......@@ -90,10 +91,10 @@
;;; --------------------------------------------------
(ql:quickload '("iolib-grovel" "cffi-grovel"))
(unless (find "/usr/local/include/" iolib-grovel::*cc-flags* :test (function string=))
#-(and) (ql:quickload '("iolib-grovel" "cffi-grovel"))
#-(and)(unless (find "/usr/local/include/" iolib-grovel::*cc-flags* :test (function string=))
(setf iolib-grovel::*cc-flags* (append iolib-grovel::*cc-flags* (list "-I" "/usr/local/include/"))))
(unless (find "/usr/local/include/" cffi-grovel::*cc-flags* :test (function string=))
#-(and)(unless (find "/usr/local/include/" cffi-grovel::*cc-flags* :test (function string=))
(setf cffi-grovel::*cc-flags* (append cffi-grovel::*cc-flags* (list "-I" "/usr/local/include/"))))
;; (defun delete-package-and-users (package)
......@@ -173,4 +174,3 @@
|#
;;;; THE END ;;;;
......@@ -82,6 +82,26 @@
(defmethod word-equal ((token tok-eof) (other (eql 'eol))) t)
(defmethod word-equal ((token tok-eof) (other (eql 'eof))) t)
(defmethod word-equal ((other (eql 'eol)) (token tok-eol)) t)
(defmethod word-equal ((other (eql 'eol)) (token tok-eof)) t)
(defmethod word-equal ((other (eql 'eof)) (token tok-eof)) t)
;; TODO: this is an ugly hack (com.informatimago.rdp::*eof-symbol* defined at compilation time vs. run-time in the grammar?).
(defun eof-symbol-p (other)
(or (eql com.informatimago.rdp::*eof-symbol* other)
(and (symbolp other)
(null (symbol-package other))
(string= "EOF" other))))
(defmethod word-equal ((token tok-eol) (other t)) (eof-symbol-p other))
(defmethod word-equal ((token tok-eof) (other t)) (eof-symbol-p other))
(defmethod word-equal ((other t) (token tok-eol)) (eof-symbol-p other))
(defmethod word-equal ((other t) (token tok-eof)) (eof-symbol-p other))
;; (defmethod word-equal ((token tok-eol) (other t)) (token-end-of-source-p other))
;; (defmethod word-equal ((token tok-eof) (other t)) (token-end-of-source-p other))
;; (list (word-equal (make-instance 'tok-eol) 'eol)
;; (word-equal (make-instance 'tok-eol) 'eof)
;; (word-equal (make-instance 'tok-eof) 'eol)
......
......@@ -218,6 +218,7 @@
(defgeneric eolp (token)
(:documentation "Returns whether the token is an end-of-line token.
A end-of-file is also considered an end-of-line.")
;; (:method ((token t)) (token-end-of-source-p token))
(:method ((token t)) nil)
(:method ((token tok-eol)) t)
(:method ((token (eql 'eol))) t)
......@@ -226,6 +227,7 @@ A end-of-file is also considered an end-of-line.")
(defgeneric eofp (token)
(:documentation "Returns whether the token is an end-of-file token")
;; (:method ((token t)) (token-end-of-source-p token))
(:method ((token t)) nil)
(:method ((token tok-eof)) t)
(:method ((token (eql 'eof))) t))
......@@ -911,4 +913,3 @@ TRANSITION: (state-name (string-expr body-expr...)...) ...
;;;; THE END ;;;;
1.0.0-0.999798-CCL-DARWIN
\ No newline at end of file
1.0.0-0.999762-CCL-LINUX
\ No newline at end of file
1.0.0-0.999798-CCL-DARWIN,
commit 9087bd41afb81969b500a4e8ed549cfd1b54d7f5,
compiled 2016-02-06 19:30:25,
on larissa.home,
with features (lse-unix lse-extensions lse-server lse-case-insensitive).
\ No newline at end of file
1.0.0-0.999762-CCL-LINUX,
commit 955c6e42f3fae1eaab4f3d36b50179aac584979d,
compiled 2017-01-25 00:37:32,
on kuiper,
with features (lse-unix lse-extensions lse-case-insensitive).
\ No newline at end of file
1.0.0-0.999798
\ No newline at end of file
1.0.0-0.999762
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment