From f3b96af52a06abbe2761b93f0b2806c7487ac09a Mon Sep 17 00:00:00 2001 From: Guilherme Affonso Date: Thu, 22 Sep 2022 22:22:38 +0900 Subject: [PATCH 01/30] Don't decide which packages to load based on full program path in eusstart.l --- lisp/l/eusstart.l | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lisp/l/eusstart.l b/lisp/l/eusstart.l index 0c682fc67..e69909e04 100644 --- a/lisp/l/eusstart.l +++ b/lisp/l/eusstart.l @@ -349,7 +349,7 @@ gc alloc runtime)) (setf (symbol-function 'exit) (symbol-function 'unix::exit)) ;; -;(when (substringp "P" (string-upcase *program-name*)) +;(when (substringp "P" (string-upcase (pathname-name *program-name*))) (in-package "SYSTEM") (system::exec-module-init "par" "l/par.l") ;; @@ -368,9 +368,10 @@ ;; load geometric package ;; -(when (or (substringp "G" (string-upcase *program-name*)) - (substringp "X" (string-upcase *program-name*)) - (substringp "COMP" (string-upcase *program-name*))) +(when (let ((*program-name* (string-upcase (pathname-name *program-name*)))) + (or (substringp "G" *program-name*) + (substringp "X" *program-name*) + (substringp "COMP" *program-name*))) ;; (format t "Loading geometry modules.~%") (sys:alloc 80000) (sys:alloc 50000) From 2af12874a5263abfb0f9bf3cef7e4631bbc4ca3a Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Fri, 23 Sep 2022 12:36:09 +0900 Subject: [PATCH 02/30] .circleci/config.yml: specify machine images to 20.04 --- .circleci/config.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ba1a3306a..afc11d390 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -24,7 +24,8 @@ references: jobs: html: - machine: true + machine: + image: ubuntu-2004:2022.07.1 steps: - checkout - *setup-tex @@ -53,7 +54,8 @@ jobs: - html/jmanual*.png latex: - machine: true + machine: + image: ubuntu-2004:2022.07.1 steps: - checkout - *setup-tex @@ -73,7 +75,8 @@ jobs: root: doc/latex paths: manual.pdf jlatex: - machine: true + machine: + image: ubuntu-2004:2022.07.1 steps: - checkout - *setup-tex @@ -93,7 +96,8 @@ jobs: root: doc/jlatex/ paths: jmanual.pdf rst: - machine: true + machine: + image: ubuntu-2004:2022.07.1 steps: - checkout - *setup-tex From 2aab833ba3a3a05e3c3c812d2f2e702f0f763664 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Fri, 23 Sep 2022 12:55:09 +0900 Subject: [PATCH 03/30] .circleci/config.yml: ptex-bin was replaced with texlive-binaries --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index afc11d390..e7fb91f21 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ references: name: Setup TeX command: |- sudo apt-get update - sudo apt-get install -qq -y texlive-latex-base ptex-bin latex2html nkf poppler-utils + sudo apt-get install -qq -y texlive-latex-base texlive-binaries latex2html nkf poppler-utils setup-eus: &setup-eus run: name: Setup EusLisp From 8dbd1bca27c3d687e03db8b287d01505025a0e0d Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Fri, 23 Sep 2022 13:01:08 +0900 Subject: [PATCH 04/30] .circleci/config.yml: 20.04 support python3 nativly --- .circleci/config.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e7fb91f21..f1e127d19 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -101,9 +101,6 @@ jobs: steps: - checkout - *setup-tex - - run: - name: Install Python3 - command: pyenv global system 3.5.2 - run: name: Install Pandoc command: sudo apt-get install -y -qq pandoc From 3c08d160a427225799657d22492ce70aa1befa44 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Fri, 23 Sep 2022 13:04:00 +0900 Subject: [PATCH 05/30] .circleci/config.yml: install texlive-lang-japanese for platex command --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f1e127d19..b7c45f6e8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ references: name: Setup TeX command: |- sudo apt-get update - sudo apt-get install -qq -y texlive-latex-base texlive-binaries latex2html nkf poppler-utils + sudo apt-get install -qq -y texlive-latex-base texlive-binaries texlive-lang-japanese latex2html nkf poppler-utils setup-eus: &setup-eus run: name: Setup EusLisp From 737e363830ee1fa66bbe42404db59d50f40a2412 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Fri, 23 Sep 2022 13:50:41 +0900 Subject: [PATCH 06/30] doc/latex/Makefile: fix pandoc args --no-wrap has been removed. Use --wrap=none instead. --latex-engine has been removed. Use --pdf-engine instead. --- doc/latex/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/latex/Makefile b/doc/latex/Makefile index 1cf10adb3..c6d34e63d 100644 --- a/doc/latex/Makefile +++ b/doc/latex/Makefile @@ -36,7 +36,7 @@ TEXFILES=$(filter-out manual.tex, $(wildcard *.tex)) RSTFILES=$(TEXFILES:%.tex=%.rst) %.rst : %.tex python3 latex.py -2 -L preamble.tex $< > /tmp/tmp_$^ - pandoc /tmp/tmp_$^ -o $@ -V documentclass=ltjarticle --latex-engine=lualatex + pandoc /tmp/tmp_$^ -o $@ -V documentclass=ltjarticle sed -i 's@.. figure:: \(.*\).ps@.. figure:: \1.png@g' $@ # use png for figures PSFILES=$(wildcard fig/*.ps) @@ -53,7 +53,7 @@ manual.rst: latex.py $(RSTFILES) $(PNGFILES) sed -i 's@\\part{\(.*\)}@.. toctree:: \1@' /tmp/manual.tex # convert \part in tex to bypass pandoc sed -i ':a;/^[^%].*\\\\$$/{N;s/\\\\\n//;ba}' /tmp/manual.tex # concatinate title/author multi lines sed -i '/^\\vspace{10mm}$$/d' /tmp/manual.tex # remove vspace{10mm} within title to pass pandoc - pandoc --no-wrap -s /tmp/manual.tex -o manual.rst -V documentclass=ltjarticle --latex-engine=lualatex + pandoc --wrap=none -s /tmp/manual.tex -o manual.rst -V documentclass=ltjarticle sed -i 's@..include:: \(.*\)@ \1@' manual.rst # restore ..include for rst sed -i 's@.. toctree:: \(.*\)@.. toctree::\n :maxdepth: 1\n :caption: \1@' manual.rst # restore ..toctree for rst sed -i 's@** Featuring@**\nFeaturing@' manual.rst # add newline before Featuring in title From 3aa47527329e803c1f4b7f2410db7d04907500cf Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Fri, 23 Sep 2022 13:55:54 +0900 Subject: [PATCH 07/30] doc/latex/sysfunc.tex: have two % in one line has trouble on 'make rst' pandoc /tmp/tmp_sysfunc.tex -o sysfunc.rst -V documentclass=ltjarticle Error at "source" (line 41, column 9): unexpected Tok "source" (line 41, column 9) Symbol "_" expecting end of input about 25_{_7} of total heap size. This ratio can be changed by setting a value between 0.1 and 0.9 to --- doc/latex/sysfunc.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/latex/sysfunc.tex b/doc/latex/sysfunc.tex index 4e0085e42..d2aaf239e 100644 --- a/doc/latex/sysfunc.tex +++ b/doc/latex/sysfunc.tex @@ -20,7 +20,7 @@ \subsection{Memory Management} The expansion occurs either automatically on the fly or on user's explicit demand by calling {\bf system:alloc} function. When it is managed automatically, free memory size is kept -about 25\% of total heap size. % by default, +about 25\% of total heap size. This ratio can be changed by setting a value between 0.1 and 0.9 to the {\bf sys:*gc-margin*} parameter. From 68a95177e92e4ba3bcec97db468e4a6ed821ee3b Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Fri, 23 Sep 2022 14:30:43 +0900 Subject: [PATCH 08/30] doc/latex/Makefile: Now, latex2html enable to convert images correctly --- doc/jlatex/Makefile | 2 +- doc/latex/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/jlatex/Makefile b/doc/jlatex/Makefile index fe681671d..23d86450c 100644 --- a/doc/jlatex/Makefile +++ b/doc/jlatex/Makefile @@ -27,6 +27,6 @@ html: rm -f ../html/jmanual*. TRANSPARENT_COLOR="#ffffff" charset="UTF-8" latex2html -dir ../html/ -transparent -local_icons -split +3 -auto_prefix -init_file ../latex/.latex2html-init -iso_language JP -address "This document was generated using the LaTeX2HTML translator on `date` from EusLisp version `git log -1 --oneline`" -html_version="4.0,unicode" jmanual (cd ../html; sed -i 's@"jmanual.css"@"manual.css"@' j*.html) - (cd ../html; for imgfile in jmanual-img*.png; do pngtopnm $$imgfile > /tmp/$$imgfile.pnm; pnmtopng -transparent white /tmp/$$imgfile.pnm > $$imgfile; done) + #(cd ../html; for imgfile in jmanual-img*.png; do pngtopnm $$imgfile > /tmp/$$imgfile.pnm; pnmtopng -transparent white /tmp/$$imgfile.pnm > $$imgfile; done) diff --git a/doc/latex/Makefile b/doc/latex/Makefile index c6d34e63d..c4e4d8cc1 100644 --- a/doc/latex/Makefile +++ b/doc/latex/Makefile @@ -26,7 +26,7 @@ distclean: clean html: rm -f ../html/manual*.{old,html,png,pl} ../html/manual-images.* TRANSPARENT_COLOR="#ffffff" latex2html -dir ../html/ -transparent -local_icons -split +3 -auto_prefix -iso_language JP -address "This document was generated using the LaTeX2HTML translator on `date` from EusLisp version `git log -1 --oneline`" -html_version="4.0,unicode" manual - (cd ../html; for imgfile in manual-img*.png; do pngtopnm $$imgfile > /tmp/$$imgfile.pnm; pnmtopng -transparent white /tmp/$$imgfile.pnm > $$imgfile; done) + #(cd ../html; for imgfile in manual-img*.png; do pngtopnm $$imgfile > /tmp/$$imgfile.pnm; pnmtopng -transparent white /tmp/$$imgfile.pnm > $$imgfile; done) latex.py: wget https://raw.githubusercontent.com/jobh/latex.py/master/latex.py From 7eec9968cb30b3dbe63eea0d536a3a56b5d1891b Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Fri, 23 Sep 2022 14:48:03 +0900 Subject: [PATCH 09/30] .circleci/config.yml: latex2html outputs svg --- .circleci/config.yml | 6 +++--- doc/latex/Makefile | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b7c45f6e8..b34e1c052 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -42,7 +42,7 @@ jobs: command: | mkdir -p /tmp/html cp doc/html/*manual*.html /tmp/html - cp doc/html/*manual*.png /tmp/html + cp doc/html/*manual*.svg /tmp/html - store_artifacts: path: /tmp/html - persist_to_workspace: @@ -50,8 +50,8 @@ jobs: paths: - html/manual*.html - html/jmanual*.html - - html/manual*.png - - html/jmanual*.png + - html/manual*.svg + - html/jmanual*.svg latex: machine: diff --git a/doc/latex/Makefile b/doc/latex/Makefile index c4e4d8cc1..151fae58c 100644 --- a/doc/latex/Makefile +++ b/doc/latex/Makefile @@ -24,7 +24,7 @@ distclean: clean rm -f *.dvi *.pdf html: - rm -f ../html/manual*.{old,html,png,pl} ../html/manual-images.* + rm -f ../html/manual*.{old,html,png,svg,pl} ../html/manual-images.* TRANSPARENT_COLOR="#ffffff" latex2html -dir ../html/ -transparent -local_icons -split +3 -auto_prefix -iso_language JP -address "This document was generated using the LaTeX2HTML translator on `date` from EusLisp version `git log -1 --oneline`" -html_version="4.0,unicode" manual #(cd ../html; for imgfile in manual-img*.png; do pngtopnm $$imgfile > /tmp/$$imgfile.pnm; pnmtopng -transparent white /tmp/$$imgfile.pnm > $$imgfile; done) From 76367868f8d4b5b1ef65f5ed48f0fb727d4c666e Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Sat, 24 Sep 2022 14:00:44 +0900 Subject: [PATCH 10/30] doc/{latex,jlatex}/Makefile: use eps files for inclduegraphics --- doc/jlatex/Makefile | 3 +++ doc/latex/Makefile | 3 +++ 2 files changed, 6 insertions(+) diff --git a/doc/jlatex/Makefile b/doc/jlatex/Makefile index 23d86450c..9e64477b0 100644 --- a/doc/jlatex/Makefile +++ b/doc/jlatex/Makefile @@ -25,8 +25,11 @@ distclean: clean html: rm -f ../html/jmanual*. + for psfile in fig/*.ps; do ps2eps -f -B $$psfile; done + sed -i.eps.bak s/\\.ps/\\.eps/g *.tex TRANSPARENT_COLOR="#ffffff" charset="UTF-8" latex2html -dir ../html/ -transparent -local_icons -split +3 -auto_prefix -init_file ../latex/.latex2html-init -iso_language JP -address "This document was generated using the LaTeX2HTML translator on `date` from EusLisp version `git log -1 --oneline`" -html_version="4.0,unicode" jmanual (cd ../html; sed -i 's@"jmanual.css"@"manual.css"@' j*.html) + for backup in *.eps.bak; do mv $$backup $$(basename $$backup .eps.bak); done #(cd ../html; for imgfile in jmanual-img*.png; do pngtopnm $$imgfile > /tmp/$$imgfile.pnm; pnmtopng -transparent white /tmp/$$imgfile.pnm > $$imgfile; done) diff --git a/doc/latex/Makefile b/doc/latex/Makefile index 151fae58c..bd361e1ed 100644 --- a/doc/latex/Makefile +++ b/doc/latex/Makefile @@ -25,7 +25,10 @@ distclean: clean html: rm -f ../html/manual*.{old,html,png,svg,pl} ../html/manual-images.* + for psfile in fig/*.ps; do ps2eps -f -B $$psfile; done + sed -i.eps.bak s/\\.ps/\\.eps/g *.tex TRANSPARENT_COLOR="#ffffff" latex2html -dir ../html/ -transparent -local_icons -split +3 -auto_prefix -iso_language JP -address "This document was generated using the LaTeX2HTML translator on `date` from EusLisp version `git log -1 --oneline`" -html_version="4.0,unicode" manual + for backup in *.eps.bak; do mv $$backup $$(basename $$backup .eps.bak); done #(cd ../html; for imgfile in manual-img*.png; do pngtopnm $$imgfile > /tmp/$$imgfile.pnm; pnmtopng -transparent white /tmp/$$imgfile.pnm > $$imgfile; done) latex.py: From 7825a4f7920bf6d4c89718be1377fea01a9b5984 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Sat, 24 Sep 2022 15:10:10 +0900 Subject: [PATCH 11/30] doc/{latex,jlatex}/Makefile: use -rootdir instead of -dir, fix URL of navigation page --- doc/jlatex/Makefile | 3 ++- doc/latex/Makefile | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/jlatex/Makefile b/doc/jlatex/Makefile index 9e64477b0..30cda9531 100644 --- a/doc/jlatex/Makefile +++ b/doc/jlatex/Makefile @@ -27,8 +27,9 @@ html: rm -f ../html/jmanual*. for psfile in fig/*.ps; do ps2eps -f -B $$psfile; done sed -i.eps.bak s/\\.ps/\\.eps/g *.tex - TRANSPARENT_COLOR="#ffffff" charset="UTF-8" latex2html -dir ../html/ -transparent -local_icons -split +3 -auto_prefix -init_file ../latex/.latex2html-init -iso_language JP -address "This document was generated using the LaTeX2HTML translator on `date` from EusLisp version `git log -1 --oneline`" -html_version="4.0,unicode" jmanual + TRANSPARENT_COLOR="#ffffff" charset="UTF-8" latex2html -rootdir ../html/ -transparent -local_icons -split +3 -auto_prefix -init_file ../latex/.latex2html-init -iso_language JP -address "This document was generated using the LaTeX2HTML translator on `date` from EusLisp version `git log -1 --oneline`" -html_version="4.0,unicode" jmanual (cd ../html; sed -i 's@"jmanual.css"@"manual.css"@' j*.html) + sed -i s@HREF=\"../jmanual@HREF=\"jmanual@ ../html/jmanual-node*.html for backup in *.eps.bak; do mv $$backup $$(basename $$backup .eps.bak); done #(cd ../html; for imgfile in jmanual-img*.png; do pngtopnm $$imgfile > /tmp/$$imgfile.pnm; pnmtopng -transparent white /tmp/$$imgfile.pnm > $$imgfile; done) diff --git a/doc/latex/Makefile b/doc/latex/Makefile index bd361e1ed..c3d413b0d 100644 --- a/doc/latex/Makefile +++ b/doc/latex/Makefile @@ -27,8 +27,9 @@ html: rm -f ../html/manual*.{old,html,png,svg,pl} ../html/manual-images.* for psfile in fig/*.ps; do ps2eps -f -B $$psfile; done sed -i.eps.bak s/\\.ps/\\.eps/g *.tex - TRANSPARENT_COLOR="#ffffff" latex2html -dir ../html/ -transparent -local_icons -split +3 -auto_prefix -iso_language JP -address "This document was generated using the LaTeX2HTML translator on `date` from EusLisp version `git log -1 --oneline`" -html_version="4.0,unicode" manual + TRANSPARENT_COLOR="#ffffff" latex2html -rootdir ../html/ -transparent -local_icons -split +3 -auto_prefix -iso_language JP -address "This document was generated using the LaTeX2HTML translator on `date` from EusLisp version `git log -1 --oneline`" -html_version="4.0,unicode" manual for backup in *.eps.bak; do mv $$backup $$(basename $$backup .eps.bak); done + sed -i s@HREF=\"../manual@HREF=\"manual@ ../html/manual-node*.html #(cd ../html; for imgfile in manual-img*.png; do pngtopnm $$imgfile > /tmp/$$imgfile.pnm; pnmtopng -transparent white /tmp/$$imgfile.pnm > $$imgfile; done) latex.py: From 6e26ea318f671af789d682090d68938aa1b6179a Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Sat, 24 Sep 2022 15:15:02 +0900 Subject: [PATCH 12/30] remove multi-byte charactors in latex/tex --- doc/latex/intro.tex | 2 +- doc/latex/manipulator.tex | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/latex/intro.tex b/doc/latex/intro.tex index f67a4a32c..4a1e63a36 100644 --- a/doc/latex/intro.tex +++ b/doc/latex/intro.tex @@ -283,7 +283,7 @@ \subsection{Revision History} Version 9.14 is released, fix assert API. Now message is optional (defmacro assert (pred \&optional message) Version 9.15 is released, fix char comparison function (previous version retuns opossite result), support multiple argument at function /=, add url encode feature (escape-url function), support microsecond add/subtract in interval-time class Version 9.16 is released, added make-random-state, fixed bug in lib/llib/unittest.l -\item[2016] Version 9.17 is released, add trace option in (init-unit-test), enable to read \#f(nan inf).fix models/doc. +\item[2016] Version 9.17 is released, add trace option in (init-unit-test), enable to read \#f(nan inf). fix models/doc. Version 9.18 is released, support gcc-5. Version 9.20 is released, support OSX (gluTessCallback, glGenTexturesEXT), add GL\_COLOR\_ATTACHMENT constants, fix color-image class, (it uses RGB not BGR). Version 9.21 is released, fix :trim of hashtab class, enable to compile filename containing -, do not raise error when not found cygpq.dll (Cygwin) diff --git a/doc/latex/manipulator.tex b/doc/latex/manipulator.tex index 24fecdc85..003518aea 100644 --- a/doc/latex/manipulator.tex +++ b/doc/latex/manipulator.tex @@ -224,9 +224,9 @@ \subsection{ \begin{verbatim} - (send eta3 :translate #f(0 0 -100)) ;put back the end-effector by 10cm - (send eta3 :translate #f(0 0 -100) :world) ;move down the end-effector by 10cm - (send eta3 :translate #f(0 0 -100) + (send eta3 :translate #f(0 0 -100)) ;put back the end-effector by 10cm + (send eta3 :translate #f(0 0 -100) :world) ;move down the end-effector by 10cm + (send eta3 :translate #f(0 0 -100) (manipulator-base eta3)) ;move down the end-effector with respect ;to the coords of the base by 10cm \end{verbatim} From dae9192743ad8fe2abad144bda0c41d03f0029dc Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Sat, 24 Sep 2022 15:33:44 +0900 Subject: [PATCH 13/30] doc/{latex,jlatex}/Makefile: add link from html/fig -> latex/fig, which needs after we changed from -dir to -rootdir in latex2html --- doc/jlatex/Makefile | 2 ++ doc/latex/Makefile | 2 ++ 2 files changed, 4 insertions(+) diff --git a/doc/jlatex/Makefile b/doc/jlatex/Makefile index 30cda9531..917958b51 100644 --- a/doc/jlatex/Makefile +++ b/doc/jlatex/Makefile @@ -27,9 +27,11 @@ html: rm -f ../html/jmanual*. for psfile in fig/*.ps; do ps2eps -f -B $$psfile; done sed -i.eps.bak s/\\.ps/\\.eps/g *.tex + (cd ../html; ln -sf ../latex/fig .) TRANSPARENT_COLOR="#ffffff" charset="UTF-8" latex2html -rootdir ../html/ -transparent -local_icons -split +3 -auto_prefix -init_file ../latex/.latex2html-init -iso_language JP -address "This document was generated using the LaTeX2HTML translator on `date` from EusLisp version `git log -1 --oneline`" -html_version="4.0,unicode" jmanual (cd ../html; sed -i 's@"jmanual.css"@"manual.css"@' j*.html) sed -i s@HREF=\"../jmanual@HREF=\"jmanual@ ../html/jmanual-node*.html + rm ../html/fig for backup in *.eps.bak; do mv $$backup $$(basename $$backup .eps.bak); done #(cd ../html; for imgfile in jmanual-img*.png; do pngtopnm $$imgfile > /tmp/$$imgfile.pnm; pnmtopng -transparent white /tmp/$$imgfile.pnm > $$imgfile; done) diff --git a/doc/latex/Makefile b/doc/latex/Makefile index c3d413b0d..6f4a19cbc 100644 --- a/doc/latex/Makefile +++ b/doc/latex/Makefile @@ -27,7 +27,9 @@ html: rm -f ../html/manual*.{old,html,png,svg,pl} ../html/manual-images.* for psfile in fig/*.ps; do ps2eps -f -B $$psfile; done sed -i.eps.bak s/\\.ps/\\.eps/g *.tex + (cd ../html; ln -sf ../latex/fig .) TRANSPARENT_COLOR="#ffffff" latex2html -rootdir ../html/ -transparent -local_icons -split +3 -auto_prefix -iso_language JP -address "This document was generated using the LaTeX2HTML translator on `date` from EusLisp version `git log -1 --oneline`" -html_version="4.0,unicode" manual + rm ../html/fig for backup in *.eps.bak; do mv $$backup $$(basename $$backup .eps.bak); done sed -i s@HREF=\"../manual@HREF=\"manual@ ../html/manual-node*.html #(cd ../html; for imgfile in manual-img*.png; do pngtopnm $$imgfile > /tmp/$$imgfile.pnm; pnmtopng -transparent white /tmp/$$imgfile.pnm > $$imgfile; done) From c6c918201571f351f0e334f9372262231f50eaee Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Wed, 28 Sep 2022 10:39:38 +0900 Subject: [PATCH 14/30] update artifact link, see https://github.com/themadcreator/circle-github-bot/pull/26 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b34e1c052..3e9870003 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -143,7 +143,7 @@ jobs: git diff origin/master --name-only --relative doc if [ "`git diff origin/master --name-only --relative doc`" == "" ]; then echo "No update in doc directory found, exitting... "; circleci step halt; fi echo "Found new commit on doc directory" - - run: cd .circleci/ && git clone https://github.com/themadcreator/circle-github-bot.git + - run: cd .circleci/ && git clone https://github.com/k-okada/circle-github-bot.git - run: cd .circleci/circle-github-bot && npm install - run: cd .circleci/circle-github-bot && npm run build - run: .circleci/github-pr-update.js From a5f48c74cf285a867a68c52fa52da4c105a2c8b7 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Wed, 5 Oct 2022 08:17:49 +0900 Subject: [PATCH 15/30] [WSL] XFonts is not available on wslg: Try to use default font set if font-cour12 is not found --- lisp/xwindow/Xtop.l | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lisp/xwindow/Xtop.l b/lisp/xwindow/Xtop.l index 89e563a31..b40c725ae 100644 --- a/lisp/xwindow/Xtop.l +++ b/lisp/xwindow/Xtop.l @@ -232,6 +232,9 @@ (setq font-helvetica-12 (font-id "*-Helvetica-Medium-R-Normal-*-12-*")) (setq font-a14 (font-id "*-fixed-medium-r-normal-*-14-*")) + (when (zerop font-cour12) ;; If we can not find font-cour12, use default value for all element + (setq font-cour12 (font-id "*-*-*-*-*-*-*-*"))) + (when (zerop font-cour12) ;; this is default gc (setq *display* 0) (warning-message 1 "~%Xserver connection failed due to missing font server, please try after computer restarts~%") From 814db71f34290081fa363034da3085f03b7ff111 Mon Sep 17 00:00:00 2001 From: Yohei Kakiuchi Date: Fri, 31 Mar 2023 12:36:47 +0900 Subject: [PATCH 16/30] fix description of :transform --- doc/jlatex/jmatrix.tex | 2 +- doc/latex/matrix.tex | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/jlatex/jmatrix.tex b/doc/jlatex/jmatrix.tex index 3a24d6380..85058ad7d 100644 --- a/doc/jlatex/jmatrix.tex +++ b/doc/jlatex/jmatrix.tex @@ -712,7 +712,7 @@ \subsubsection*{座標系を変更するメソッド} wrt == :world のとき、 $T \leftarrow AT$ -wrt == W (coordinates class) のとき、$T \leftarrow$ $\left( WAW \right)^{-1} T$ +wrt == W (coordinates class) のとき、$T \leftarrow$ $\left( W A W^{-1} \right) T$ } \end{refdesc} diff --git a/doc/latex/matrix.tex b/doc/latex/matrix.tex index e1d3c70d4..4c257556e 100644 --- a/doc/latex/matrix.tex +++ b/doc/latex/matrix.tex @@ -733,7 +733,7 @@ \subsubsection*{Methods modifying itself} when wrt == :world, $T \leftarrow AT$ -when wrt == W (coordinates class), $T \leftarrow$ $\left( WAW \right)^{-1} T$ +when wrt == W (coordinates class), $T \leftarrow$ $\left( W A W^{-1} \right) T$ } \end{refdesc} From b80ed3799c532f1dc37b6182efca9af96f6d6868 Mon Sep 17 00:00:00 2001 From: Yohei Kakiuchi Date: Fri, 31 Mar 2023 12:44:05 +0900 Subject: [PATCH 17/30] add test codes for coordinates --- test/coords.l | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 211 insertions(+) diff --git a/test/coords.l b/test/coords.l index 1d33a97e9..328efd0a1 100644 --- a/test/coords.l +++ b/test/coords.l @@ -46,6 +46,217 @@ -- undefined function quaternion2matrix , exitting... -- See jskeus/irteus/coords.l~%") +#-:word-size=64 +(defvar *current-eps* *epsilon*) + +#+:word-size=64 +(defvar *current-eps* (* *epsilon* 1e-8)) + +(deftest test-make-new-coords + (let ((pos (float-vector 100 200 300)) + (rot (rpy-matrix 0.2 0.3 0.5)) + (cds (make-coords)) + cds-new0 cds-new1) + + (setq cds-new0 (make-coords)) + (send cds-new0 :newcoords cds) + + (setq cds-new1 (make-coords)) + (send cds-new1 :newcoords rot pos) + + (assert (eq (send cds :pos) (send cds-new0 :pos))) + (assert (eq (send cds :rot) (send cds-new0 :rot))) + + (assert (eq pos (send cds-new1 :pos))) + (assert (eq rot (send cds-new1 :rot))) + )) + +(deftest test-convert-vector + (let* ((vec0 (float-vector 100 200 300)) + (vec1 (float-vector 50 100 500)) + (mat (rpy-matrix 0.1 0.2 0.3)) + (pos (float-vector 10 20 30)) + (cds (make-coords :pos pos :rot mat)) + ) + (assert (eps-v= (send cds :rotate-vector vec0) + (transform mat vec0) *current-eps*)) + (assert (eps-v= (send cds :rotate-vector vec1) + (transform mat vec1) *current-eps*)) + #| ;; :inverse-rotate-vector is a method in irteus + (assert (eps-v= (send cds :inverse-rotate-vector vec0) + (transform vec0 mat) *current-eps*)) + (assert (eps-v= (send cds :inverse-rotate-vector vec1) + (transform vec1 mat) *current-eps*)) + |# + (assert (eps-v= (send cds :transform-vector vec0) + (v+ (transform mat vec0) pos) *current-eps*)) + (assert (eps-v= (send cds :transform-vector vec1) + (v+ (transform mat vec1) pos) *current-eps*)) + + (assert (eps-v= (send cds :inverse-transform-vector vec0) + (transform (transpose mat) (v- vec0 pos)) *current-eps*)) + (assert (eps-v= (send cds :inverse-transform-vector vec1) + (transform (transpose mat) (v- vec1 pos)) *current-eps*)) + )) + +(deftest test-create-target-coordinates + (let* ((pos0 (float-vector 100 200 300)) + (pos1 (float-vector 50 100 500)) + (pos2 (float-vector 10 -10 20)) + (mat0 (rpy-matrix 0.1 0.2 0.3)) + (mat1 (rpy-matrix 0.05 0.1 0.4)) + (mat2 (rpy-matrix -0.1 0.2 -0.05)) + (cds (make-coords :pos pos0 :rot mat0)) + (cds1 (make-coords :pos pos1 :rot mat1)) + (cds2 (make-coords :pos pos2 :rot mat2)) + ) + (let ((res (send cds :inverse-transformation))) + (assert (eps-v= (array-entity (send res :rot)) + (array-entity (transpose mat0)) *current-eps*)) + (assert (eps-v= (send res :pos) + (transform (transpose mat0) (v- pos0)) *current-eps*)) + ) + (let ((res0 (send cds :transformation cds1)) + (res1 (send (send cds :inverse-transformation) :transform cds1))) + (assert (eps-v= (array-entity (send res0 :rot)) (array-entity (send res1 :rot)) *current-eps*)) + (assert (eps-v= (send res0 :pos) (send res1 :pos) *current-eps*)) + ) + (let ((res0 (send cds :transformation cds1 :world)) + (res1 (send (send cds1 :copy-coords) + :transform (send cds :inverse-transformation)))) + (assert (eps-v= (array-entity (send res0 :rot)) (array-entity (send res1 :rot)) *current-eps*)) + (assert (eps-v= (send res0 :pos) (send res1 :pos) *current-eps*)) + ) + (let ((res0 (send cds :transformation cds1 cds2)) + (res1 (send (send (send cds2 :inverse-transformation) :transform cds1) + :transform + (send (send cds :inverse-transformation) :transform cds2)))) + (assert (eps-v= (array-entity (send res0 :rot)) (array-entity (send res1 :rot)) *current-eps*)) + (assert (eps-v= (send res0 :pos) (send res1 :pos) *current-eps*)) + ) + )) + +(deftest test-move-to + (let* ((pos0 (float-vector 100 200 300)) + (pos1 (float-vector 50 100 500)) + (pos2 (float-vector 10 -10 20)) + (mat0 (rpy-matrix 0.1 0.2 0.3)) + (mat1 (rpy-matrix 0.05 0.1 0.4)) + (mat2 (rpy-matrix -0.1 0.2 -0.05)) + (cds (make-coords :pos pos0 :rot mat0)) + (cds1 (make-coords :pos pos1 :rot mat1)) + (cds2 (make-coords :pos pos2 :rot mat2)) + (tmp-l (send cds :copy-coords)) + (tmp-w (send cds :copy-coords)) + (tmp-o (send cds :copy-coords)) + ) + (send tmp-l :move-to cds1) + (let ((res0 tmp-l) + (res1 (send (send cds :copy-coords) :transform cds1))) + (assert (eps-v= (array-entity (send res0 :rot)) (array-entity (send res1 :rot)) *current-eps*)) + (assert (eps-v= (send res0 :pos) (send res1 :pos) *current-eps*)) + ) + ;; + (send tmp-w :move-to cds1 :world) + (assert (eq (send tmp-w :pos) (send cds1 :pos))) + (assert (eq (send tmp-w :rot) (send cds1 :rot))) + ;; + (send tmp-o :move-to cds1 cds2) + (let ((res0 tmp-o) + (res1 (send (send cds2 :copy-coords) :transform cds1))) + (assert (eps-v= (array-entity (send res0 :rot)) (array-entity (send res1 :rot)) *current-eps*)) + (assert (eps-v= (send res0 :pos) (send res1 :pos) *current-eps*)) + ) + )) + +(deftest test-translate + (let* ((pos0 (float-vector 100 200 300)) + (pos1 (float-vector 50 100 500)) + (pos2 (float-vector 10 -10 20)) + (mat0 (rpy-matrix 0.1 0.2 0.3)) + (mat1 (rpy-matrix 0.05 0.1 0.4)) + (mat2 (rpy-matrix -0.1 0.2 -0.05)) + (cds (make-coords :pos pos0 :rot mat0)) + (cds1 (make-coords :pos pos1 :rot mat1)) + (cds2 (make-coords :pos pos2 :rot mat2)) + (tmp-l (send cds :copy-coords)) + (tmp-w (send cds :copy-coords)) + (tmp-o (send cds :copy-coords)) + ) + (send tmp-l :translate pos1) + (assert (eps-v= (send tmp-l :pos) + (v+ pos0 (transform mat0 pos1)) *current-eps*)) + ;; + (send tmp-w :translate pos1 :world) + (assert (eps-v= (send tmp-w :pos) (v+ pos0 pos1) *current-eps*)) + ;; + (send tmp-o :translate pos1 cds2) + (assert (eps-v= (send tmp-o :pos) + (v+ pos0 (transform mat2 pos1)) *current-eps*)) + )) + +(deftest test-locate + (let* ((pos0 (float-vector 100 200 300)) + (pos1 (float-vector 50 100 500)) + (pos2 (float-vector 10 -10 20)) + (mat0 (rpy-matrix 0.1 0.2 0.3)) + (mat1 (rpy-matrix 0.05 0.1 0.4)) + (mat2 (rpy-matrix -0.1 0.2 -0.05)) + (cds (make-coords :pos pos0 :rot mat0)) + (cds1 (make-coords :pos pos1 :rot mat1)) + (cds2 (make-coords :pos pos2 :rot mat2)) + (tmp-l (send cds :copy-coords)) + (tmp-w (send cds :copy-coords)) + (tmp-o (send cds :copy-coords)) + ) + (send tmp-l :locate pos1) + (assert (eps-v= (send tmp-l :pos) + (v+ pos0 (transform mat0 pos1)) *current-eps*)) + ;; + (send tmp-w :locate pos1 :world) + (assert (eps-v= (send tmp-w :pos) pos1 *current-eps*)) + ;; + (send tmp-o :locate pos1 cds2) + (assert (eps-v= (send tmp-o :pos) + (v+ pos2 (transform mat2 pos1)) *current-eps*)) + )) + +(deftest test-transform + (let* ((pos0 (float-vector 100 200 300)) + (pos1 (float-vector 50 100 500)) + (pos2 (float-vector 10 -10 20)) + (mat0 (rpy-matrix 0.1 0.2 0.3)) + (mat1 (rpy-matrix 0.05 0.1 0.4)) + (mat2 (rpy-matrix -0.1 0.2 -0.05)) + (cds (make-coords :pos pos0 :rot mat0)) + (cds1 (make-coords :pos pos1 :rot mat1)) + (cds2 (make-coords :pos pos2 :rot mat2)) + (tmp-l (send cds :copy-coords)) + (tmp-w (send cds :copy-coords)) + (tmp-o (send cds :copy-coords)) + ) + (send tmp-l :transform cds1) + (let ((rot (m* mat0 mat1)) + (pos (v+ pos0 (transform mat0 pos1)))) + (assert (eps-v= (array-entity (send tmp-l :rot)) (array-entity rot) *current-eps*)) + (assert (eps-v= (send tmp-l :pos) pos *current-eps*)) + ) + (send tmp-w :transform cds1 :world) + (let ((rot (m* mat1 mat0)) + (pos (v+ pos1 (transform mat1 pos0)))) + (assert (eps-v= (array-entity (send tmp-w :rot)) (array-entity rot) *current-eps*)) + (assert (eps-v= (send tmp-w :pos) pos *current-eps*)) + ) + (send tmp-o :transform cds1 cds2) + (let ((trs (make-coords))) + (send trs :transform cds2) + (send trs :transform cds1) + (send trs :transform (send cds2 :inverse-transformation)) + (send trs :transform cds) + (assert (eps-v= (array-entity (send tmp-o :rot)) (array-entity (send trs :rot)) *current-eps*)) + (assert (eps-v= (send tmp-o :pos) (send trs :pos) *current-eps*)) + ) + )) (eval-when (load eval) (run-all-tests) From 988fe8f4432ed3a240248c9b846055be95597433 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Wed, 21 Jun 2023 13:58:01 +0900 Subject: [PATCH 18/30] .github/workflows/config.yml: use ubuntu-latest instead of ubuntu-18.04 --- .github/workflows/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/config.yml b/.github/workflows/config.yml index 2847d4624..f43bab0d0 100644 --- a/.github/workflows/config.yml +++ b/.github/workflows/config.yml @@ -64,7 +64,7 @@ jobs: # sparc64 fail-fast: false - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest timeout-minutes: 60 name: linux From 2c3883da1c37439619d27080c4c1c1f29c86e7a7 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Wed, 21 Jun 2023 14:07:07 +0900 Subject: [PATCH 19/30] .github/workflows/config.yml: use --reset for multiarch/qemu-user-static --- .github/workflows/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/config.yml b/.github/workflows/config.yml index f43bab0d0..47525910f 100644 --- a/.github/workflows/config.yml +++ b/.github/workflows/config.yml @@ -86,7 +86,7 @@ jobs: export MAKEFLAGS="-j4" if [[ "$QEMU" != "" || "$DOCKER_IMAGE" == *"arm"* ]]; then sudo apt-get update -y -qq; fi if [[ "$QEMU" != "" ]]; then sudo apt-get install -y -qq qemu-user-static; ls /usr/bin/qemu-*-static; export QEMU_VOLUME="-v /usr/bin/qemu-$QEMU-static:/usr/bin/qemu-$QEMU-static" ; fi - if [[ "$QEMU" != "" ]]; then docker run --rm --privileged multiarch/qemu-user-static:register; fi + if [[ "$QEMU" != "" ]]; then docker run --rm --privileged multiarch/qemu-user-static:register --reset; fi if [[ "$DOCKER_IMAGE" == *"arm"* ]]; then sudo apt-get install -y -qq qemu-user-static; fi if [[ "$DOCKER_IMAGE" == *"arm"* ]]; then git clone http://github.com/euslisp/jskeus ${HOME}/jskeus; fi echo "Testing branch $TRAVIS_BRANCH of $REPOSITORY_NAME on $QEMU_VOLUME" From cc2737404911190c9438b63ef8d27396cc11cdd2 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Wed, 21 Jun 2023 15:09:51 +0900 Subject: [PATCH 20/30] .travis.sh: change /etc/apt/sources.list for old debian --- .travis.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.sh b/.travis.sh index 1fb4ea247..e62ab28de 100755 --- a/.travis.sh +++ b/.travis.sh @@ -32,6 +32,13 @@ function travis_time_end { if [ "$TRAVIS_OS_NAME" == "linux" ]; then travis_time_start setup.apt-get_update + if [[ "$DOCKER_IMAGE" == *"stretch" || "$DOCKER_IMAGE" == *"jessie" ]] ; then + cat /etc/apt/sources.list + sed -i s@httpredir.debian.org@archive.debian.org@ /etc/apt/sources.list; + sed -i s@deb.debian.org@archive.debian.org@ /etc/apt/sources.list; + sed -i s@security.debian.org/debian-security@archive.debian.org/debian-security@ /etc/apt/sources.list + sed -i '/-updates/ s/^#*/#/' /etc/apt/sources.list + fi if [ ! -e /usr/bin/sudo ] ; then apt-get update && apt-get install -y sudo; else sudo apt-get update; fi travis_time_end From 780ef6f3619ca74b702d85b28355f07b8e461169 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Fri, 23 Jun 2023 10:04:44 +0900 Subject: [PATCH 21/30] .travis.sh: skip test for arm64, mainly extending gcstack -> Segfault --- .travis.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.travis.sh b/.travis.sh index e62ab28de..6df707efb 100755 --- a/.travis.sh +++ b/.travis.sh @@ -49,7 +49,7 @@ if [ "$TRAVIS_OS_NAME" == "linux" ]; then travis_time_end travis_time_start setup.apt-get_install - ret=1; while [ $ret != 0 ]; do sudo apt-get install -qq -y git make gcc g++ libjpeg-dev libxext-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev libpq-dev libpng-dev xfonts-100dpi xfonts-75dpi pkg-config libbullet-dev && ret=0 || echo "failed, retry"; done # msttcorefonts could not install on 14.04 travis + ret=1; while [ $ret != 0 ]; do sudo apt-get install -qq -y --force-yes git make gcc g++ libjpeg-dev libxext-dev libx11-dev libgl1-mesa-dev libglu1-mesa-dev libpq-dev libpng-dev xfonts-100dpi xfonts-75dpi pkg-config libbullet-dev && ret=0 || echo "failed, retry"; done # msttcorefonts could not install on 14.04 travis # unset protocol version https://github.com/juju/charm-tools/issues/532 git config --global --unset protocol.version || echo "OK" if [ "`uname -m`" == "x86_64" ] ; then sudo apt-get install -qq -y texlive-latex-base ptex-bin latex2html nkf poppler-utils || echo "ok"; fi # 16.04 does ont have ptex bin @@ -74,9 +74,9 @@ if [ "$TRAVIS_OS_NAME" == "osx" ]; then fi ### for multiarch compile test -if [[ "$QEMU" != "" && "$DOCKER_IMAGE" != "arm64v8/ubuntu:"* ]]; then +if [[ "$QEMU" != "" ]]; then travis_time_start install.dpkg-dev - apt-get install -qq -y dpkg-dev patchutils + apt-get install -qq -y --force-yes dpkg-dev patchutils travis_time_end echo "uname -a : $(uname -a)" @@ -128,6 +128,9 @@ if [[ "$QEMU" != "" && "$DOCKER_IMAGE" != "arm64v8/ubuntu:"* ]]; then sed -i 's/\(i-max\ [0-9]000\)0*/\1/' $test_l + # TEST-NAME: test-copy-object-body : extending gcstack 0 -> Segfault + if [[ (( "$DOCKER_IMAGE" == "arm64v8/debian:buster" || "$DOCKER_IMAGE" == "arm64v8/ubuntu:focal" ) && $test_l =~ object.l ) ]]; then sed -i 's/dotimes (i 1000)/dotimes (i 10)/' $test_l; fi + eusgl $test_l; export TMP_EXIT_STATUS=$? From 64b08f3edcedc3ea34b7f47960b3f81382037109 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Tue, 27 Jun 2023 20:04:10 +0900 Subject: [PATCH 22/30] add test to check https://github.com/euslisp/EusLisp/issues/499 --- test/geo.l | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/geo.l b/test/geo.l index f2a54348b..740c985a7 100644 --- a/test/geo.l +++ b/test/geo.l @@ -84,6 +84,19 @@ )) ) +;; test to check https://github.com/euslisp/EusLisp/issues/499 +(deftest rotate-vertices () + (let ((a (make-cube 10 20 30)) v0 v1) + (setq v0 (copy-object (send a :vertices))) + (send a :rotate-vertices pi/2 #f(0 0 1)) + (setq v1 (send a :vertices)) + (dotimes (i (length v0)) + (assert (eps= (elt (elt v0 i) 0) (elt (elt v1 i) 1))) + (assert (eps= (elt (elt v0 i) 1) (- (elt (elt v1 i) 0)))) + (assert (eps= (elt (elt v0 i) 2) (elt (elt v1 i) 2))) + ) + )) + (eval-when (load eval) (run-all-tests) (exit)) From 2009d500f8b36c3290b7e8f775223ccb25551102 Mon Sep 17 00:00:00 2001 From: Naoto Tsukamoto Date: Fri, 31 Mar 2023 13:08:05 +0900 Subject: [PATCH 23/30] fix rotate-vertices when an axis input is float-vector --- lisp/geo/geobody.l | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/geo/geobody.l b/lisp/geo/geobody.l index d2f3da140..fa035f790 100644 --- a/lisp/geo/geobody.l +++ b/lisp/geo/geobody.l @@ -119,7 +119,7 @@ ;move all vertices with respect to this coordinates ;without moving coordinates. (let (rotmat) - (if (float-vector-p axis) (setq rotmat (rotation rad axis))) + (if (float-vector-p axis) (setq rotmat (rotation-matrix rad axis))) (dolist (v model-vertices) (if (float-vector-p axis) (transform rotmat v v) From e7f4aaff2247804c1a8f1445bc264f97d73d0b4f Mon Sep 17 00:00:00 2001 From: Naoki-Hiraoka Date: Wed, 14 Feb 2024 11:12:45 +0900 Subject: [PATCH 24/30] [doc/jlatex/jsysfunc.tex] fix document of cd. add document of pwd. --- doc/jlatex/jsysfunc.tex | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/jlatex/jsysfunc.tex b/doc/jlatex/jsysfunc.tex index 668e90af6..42cce7ae6 100644 --- a/doc/jlatex/jsysfunc.tex +++ b/doc/jlatex/jsysfunc.tex @@ -783,7 +783,10 @@ \subsection{\label{UnixProcess}UNIXプロセス} \begin{refdesc} \funcdesc{cd}{\&optional (dir (unix:getenv "HOME"))}{ -現在のディレクトリを変更する。} +現在のディレクトリを変更する。{\em dir}がsymbolの場合、{\em dir}を評価せずに文字列として扱う。} + +\funcdesc{pwd}{}{ +現在のディレクトリを返す。} \funcdesc{ez}{\&optional key}{ ezエディターの画面に入る。それからLisp書式を読み込み、 From 7e6b5ec4d194b2a2623621c07bfe3cd3eeec5cdc Mon Sep 17 00:00:00 2001 From: Naoki-Hiraoka Date: Wed, 14 Feb 2024 11:24:28 +0900 Subject: [PATCH 25/30] [doc/latex/sysfunc.tex] fix document of cd. add document of pwd. --- doc/latex/sysfunc.tex | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/latex/sysfunc.tex b/doc/latex/sysfunc.tex index d2aaf239e..96f9c5898 100644 --- a/doc/latex/sysfunc.tex +++ b/doc/latex/sysfunc.tex @@ -810,7 +810,10 @@ \subsection{\label{UnixProcess}Unix Processes} \begin{refdesc} \funcdesc{cd}{\&optional (dir (unix:getenv "HOME"))}{ -changes the current working directory.} +changes the current working directory. If {\em dir} is a symbol, {\em dir} is not evaluated and converted to string.} + +\funcdesc{pwd}{}{ +gets current working directory.} \funcdesc{ez}{\&optional key}{ enters display editor ez, and reads Lisp forms from it, and evaluates From b5a5aa30fe51e642b048f2acee031a21bfc6c38a Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Mon, 15 Apr 2024 17:35:46 +0900 Subject: [PATCH 26/30] .travis.sh: Debian/buster (10) also need to use archive.debian.org --- .travis.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.travis.sh b/.travis.sh index 6df707efb..22d97fe43 100755 --- a/.travis.sh +++ b/.travis.sh @@ -39,6 +39,12 @@ if [ "$TRAVIS_OS_NAME" == "linux" ]; then sed -i s@security.debian.org/debian-security@archive.debian.org/debian-security@ /etc/apt/sources.list sed -i '/-updates/ s/^#*/#/' /etc/apt/sources.list fi + if [[ "$DOCKER_IMAGE" == *"buster" ]] ; then + cat /etc/apt/sources.list + sed -i 's@deb.debian.org/debian buster@archive.debian.org/debian buster@' /etc/apt/sources.list; + sed -i '/-updates/ s/^#*/#/' /etc/apt/sources.list + cat /etc/apt/sources.list + fi if [ ! -e /usr/bin/sudo ] ; then apt-get update && apt-get install -y sudo; else sudo apt-get update; fi travis_time_end From 3212aeed59a82247dbb5f59ed46a8ae40ca4e38d Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Tue, 16 Apr 2024 20:18:25 +0900 Subject: [PATCH 27/30] .github/workflows/config.yml: add debian-unstable reproduce - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066307 - https://buildd.debian.org/status/fetch.php?pkg=euslisp&arch=armel&ver=9.29%2Bdfsg-1&stamp=1713198693&file=log --- .github/workflows/config.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.github/workflows/config.yml b/.github/workflows/config.yml index 47525910f..afd0f6886 100644 --- a/.github/workflows/config.yml +++ b/.github/workflows/config.yml @@ -92,6 +92,38 @@ jobs: echo "Testing branch $TRAVIS_BRANCH of $REPOSITORY_NAME on $QEMU_VOLUME" docker run --rm $QEMU_VOLUME -v $HOME:$HOME -e "QEMU=$QEMU" -e "TRAVIS_OS_NAME=$TRAVIS_OS_NAME" -e "CI_SOURCE_PATH=$CI_SOURCE_PATH" -e "HOME=$HOME" -e "MAKEFLAGS=$MAKEFLAGS" -e "DOCKER_IMAGE=$DOCKER_IMAGE" -t $DOCKER_IMAGE sh -c "cd $CI_SOURCE_PATH; ./.travis.sh" + debian-unstable: + strategy: + matrix: + include: + - DOCKER_IMAGE: amd64/debian:unstable-slim + ARCH: Linux64 + - DOCKER_IMAGE: arm32v7/debian:unstable-slim + ARCH: LinuxARM + - DOCKER_IMAGE: arm64v8/debian:unstable-slim + ARCH: LinuxARM + + runs-on: ubuntu-latest + timeout-minutes: 60 + + name: debian-unstale + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Run test + shell: bash + run: | + export DOCKER_IMAGE=${{matrix.DOCKER_IMAGE}} + export ARCH=${{matrix.ARCH}} + set -x + sudo apt update -qq + # Install the qemu packages + # This step will execute the registering scripts + if [[ "$DOCKER_IMAGE" == *"arm"* ]]; then \ + sudo apt install -y -qq qemu binfmt-support qemu-user-static; \ + docker run --rm --privileged multiarch/qemu-user-static --reset -p yes; \ + fi + docker run --rm -v $(pwd):/ws/euslisp -e "ARCH=$ARCH" -t "$DOCKER_IMAGE" bash -c "set -x; set -e; apt update -qq; apt install -y -qq make gcc libgl-dev libglu1-mesa-dev libjpeg-dev libpng-dev libpq-dev libx11-dev libxext-dev; ARCH=$ARCH EUSDIR=/ws/euslisp make -C /ws/euslisp/lisp/ -f Makefile.$ARCH eus0; CC='gcc -Werror' ARCHDIR=$ARCH EUSDIR=/ws/euslisp make -C /ws/euslisp/lisp/image/jpeg; exit 0" osx: runs-on: macos-latest From 30ae1d3f1a3225f8ebf6a445e1f367d47117ce87 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Tue, 16 Apr 2024 21:08:16 +0900 Subject: [PATCH 28/30] lisp/c/unixcall.c: use 'long int' for timezone --- lisp/c/unixcall.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lisp/c/unixcall.c b/lisp/c/unixcall.c index 5bc0bba8c..a0d9e57e8 100644 --- a/lisp/c/unixcall.c +++ b/lisp/c/unixcall.c @@ -87,8 +87,12 @@ extern int errno; #include //extern char *tzname[2]; #if !Cygwin /* extern timezone */ +#if defined __USE_MISC || defined __USE_XOPEN +extern long int timezone; +#else extern time_t timezone, altzone; /*long*/ #endif +#endif extern int daylight; extern pointer eussigvec[NSIG]; From 388944645cf8589410640aeb225138289957fc0b Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Sun, 14 Apr 2024 22:16:53 +0900 Subject: [PATCH 29/30] =?UTF-8?q?fix=20euslisp:=20FTBFS:=20jpegmemcd.c:29:?= =?UTF-8?q?3:=20error:=20implicit=20declaration=20of=20function=20?= =?UTF-8?q?=E2=80=98jpeg=5Fmemio=5Fdest=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066307 This is most likely caused by a change in dpkg 1.22.6, that enabled -Werror=implicit-function-declaration. For more information, see https://wiki.debian.org/qa.debian.org/FTBFS#A2024-03-13_-Werror.3Dimplicit-function-declaration --- lisp/image/jpeg/jpegmemcd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lisp/image/jpeg/jpegmemcd.c b/lisp/image/jpeg/jpegmemcd.c index 786eadcaa..659ee82c3 100644 --- a/lisp/image/jpeg/jpegmemcd.c +++ b/lisp/image/jpeg/jpegmemcd.c @@ -11,8 +11,17 @@ #include #include "jpeglib.h" #include + +#if JPEG_LIB_VERSION >= 80 || defined(MEM_SRCDST_SUPPORTED) +#define jpeg_memio_dest(cinfo, outbuffer, outsize) \ + jpeg_mem_dest((j_compress_ptr)cinfo, (unsigned char **)outbuffer, (unsigned long *)outsize) + +#define jpeg_memio_src(cinfo, inbuffer, insize) \ + jpeg_mem_src((j_decompress_ptr)cinfo, (const unsigned char *)inbuffer, (unsigned long)insize) +#else GLOBAL(void) jpeg_memio_dest (j_compress_ptr cinfo, JOCTET *jpegimgbuf, long *size); GLOBAL(void) jpeg_memio_src (j_decompress_ptr cinfo, JOCTET *buf, long size); +#endif int JPEG_compress(JSAMPLE *image_buffer, long width, long height, From 5a63964b0e9ef2e4619114a1176d14c9e5f275c7 Mon Sep 17 00:00:00 2001 From: Kei Okada Date: Wed, 17 Apr 2024 08:11:43 +0900 Subject: [PATCH 30/30] skip fix-jpegmemcd-compile-error.patch, applied by https://github.com/euslisp/EusLisp/pull/509 --- .travis.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.sh b/.travis.sh index 22d97fe43..b5bf4bcf1 100755 --- a/.travis.sh +++ b/.travis.sh @@ -96,8 +96,8 @@ if [[ "$QEMU" != "" ]]; then git clone http://salsa.debian.org/science-team/euslisp /tmp/euslisp-dfsg for file in $(cat /tmp/euslisp-dfsg/debian/patches/series); do # skip patches already applied by https://github.com/euslisp/EusLisp/pull/482 - [[ $file =~ use-rtld-global-loadelf.patch|fix-arm-ldflags.patch|fix-library-not-linked-against-libc.patch|fix-manpage-has-bad-whatis-entry-on-man-pages.patch ]] && continue; - # skip patch already applied by https://github.com/euslisp/EusLisp/pull/441 + [[ $file =~ use-rtld-global-loadelf.patch|fix-arm-ldflags.patch|fix-library-not-linked-against-libc.patch|fix-manpage-has-bad-whatis-entry-on-man-pages.patch|fix-jpegmemcd-compile-error.patch ]] && continue; + # skip patch already applied by https://github.com/euslisp/EusLisp/pull/441, https://github.com/euslisp/EusLisp/pull/509 if [[ $file =~ fix-for-reprotest.patch ]]; then filterdiff -p1 -x 'lisp/image/jpeg/makefile' -x 'lisp/comp/comp.l' < /tmp/euslisp-dfsg/debian/patches/$file > /tmp/euslisp-dfsg/debian/patches/$file-fix file=$file-fix