Re: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection code

2023-04-01 Thread Rudolf Adamkovič
Ihor Radchenko  writes:

> I finally managed to fix the tests.

Thank you!  I have had this on my to-do list since you brought it up,but
I could not find the time to fix it.

Rudy
-- 
"'Contrariwise,' continued Tweedledee, 'if it was so, it might be; and
if it were so, it would be; but as it isn't, it ain't.  That's logic.'"
-- Lewis Carroll, Through the Looking Glass, 1871/1872

Rudolf Adamkovič  [he/him]
Studenohorská 25
84103 Bratislava
Slovakia



Re: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection code

2023-03-24 Thread Ihor Radchenko
Ihor Radchenko  writes:

> Ihor Radchenko  writes:
>
>>> All right, I added the 'require' to both files.  Better?
>>
>> Thanks!
>> Applied, onto bugfix.
>> https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=99c8ed09f
>
> The tests are failing on older Emacs.
> https://builds.sr.ht/~bzg/job/942040
> https://builds.sr.ht/~bzg/job/942041

I finally managed to fix the tests.
See
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?h=bugfix=4c01eba265edfb910e926c5559aca5bf7d7a3650

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection code

2023-02-17 Thread Ihor Radchenko
Ihor Radchenko  writes:

>> All right, I added the 'require' to both files.  Better?
>
> Thanks!
> Applied, onto bugfix.
> https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=99c8ed09f

The tests are failing on older Emacs.
https://builds.sr.ht/~bzg/job/942040
https://builds.sr.ht/~bzg/job/942041

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection code

2023-02-17 Thread Ihor Radchenko
Rudolf Adamkovič  writes:

> All right, I added the 'require' to both files.  Better?

Thanks!
Applied, onto bugfix.
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=99c8ed09f

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection code

2023-02-15 Thread Rudolf Adamkovič
Max Nikulin  writes:

> Since content of subr-x.el consists of `defsubst' definitions, likely it 
> is preferable to use
>
>  (eval-when-compile (require 'subr-x))

All right, I added the 'require' to both files.  Better?

Rudy

>From 384515548a4eb790e9b947e484dd9da41bdece94 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rudolf=20Adamkovi=C4=8D?= 
Date: Mon, 6 Feb 2023 22:33:40 +0100
Subject: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection
 code

* lisp/ox-texinfo.el (org-texinfo-supports-math-p): Fix the incorrect
syntax @displaymath{1 + 1 = 2} used to detect whether Texinfo supports
TeX "math mode".  Instead, use the correct syntax @math{1 + 1 = 2}.
---
 lisp/ox-texinfo.el  | 16 ++--
 testing/lisp/test-ox-texinfo.el | 32 
 2 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/lisp/ox-texinfo.el b/lisp/ox-texinfo.el
index 8e3a04562..4ff482cc3 100644
--- a/lisp/ox-texinfo.el
+++ b/lisp/ox-texinfo.el
@@ -32,6 +32,8 @@
 (require 'cl-lib)
 (require 'ox)
 
+(eval-when-compile (require 'subr-x))
+
 (defvar orgtbl-exp-regexp)
 (defvar org-texinfo-supports-math--cache)
 
@@ -2025,12 +2027,14 @@ Once computed, the results remain cached."
   (unless (boundp 'org-texinfo-supports-math--cache)
 (setq org-texinfo-supports-math--cache
   (let ((math-example "1 + 1 = 2"))
-(let* ((input-file
-(make-temp-file "test" nil ".info"))
-   (input-content
-(concat (format "@setfilename %s" input-file) "\n"
-"@node Top" "\n"
-(format "@displaymath{%s}" math-example) "\n")))
+(let* ((input-file (make-temp-file "test" nil ".info"))
+   (input-content (string-join
+   (list (format "@setfilename %s" input-file)
+ "@node Top"
+ "@displaymath"
+ math-example
+ "@end displaymath")
+   "\n")))
   (with-temp-file input-file
 (insert input-content))
   (let* ((output-file (org-texinfo-compile input-file))
diff --git a/testing/lisp/test-ox-texinfo.el b/testing/lisp/test-ox-texinfo.el
index 51fdb3606..38395500d 100644
--- a/testing/lisp/test-ox-texinfo.el
+++ b/testing/lisp/test-ox-texinfo.el
@@ -24,6 +24,8 @@
 (require 'cl-lib)
 (require 'ox-texinfo)
 
+(eval-when-compile (require 'subr-x))
+
 (unless (featurep 'ox-texinfo)
   (signal 'missing-test-dependency "org-export-texinfo"))
 
@@ -292,5 +294,35 @@
  nil
  '(:with-latex t))
 
+
+;;; End-to-end
+
+(ert-deftest test-ox-texinfo/end-to-end-inline ()
+  "Test end-to-end with inline TeX fragment."
+  (should
+   (org-test-with-temp-text
+"$a^2 = b$"
+(let ((export-buffer "*Test Texinfo Export*")
+  (org-export-show-temporary-export-buffer nil))
+  (org-export-to-buffer 'texinfo export-buffer
+nil nil nil nil nil
+#'texinfo-mode)
+
+(ert-deftest test-ox-texinfo/end-to-end-sanity-check-displayed ()
+  "Test end-to-end with LaTeX environment."
+  (should
+   (org-test-with-temp-text
+(string-join
+ (list "\\begin{equation}"
+   "a ^ 2 = b"
+   "b ^ 2 = c"
+   "\\end{equation}")
+ "\n")
+(let ((export-buffer "*Test Texinfo Export*")
+  (org-export-show-temporary-export-buffer nil))
+  (org-export-to-buffer 'texinfo export-buffer
+nil nil nil nil nil
+#'texinfo-mode)
+
 (provide 'test-ox-texinfo)
 ;;; test-ox-texinfo.el end here
-- 
2.39.0

-- 
"Chop your own wood and it will warm you twice."
-- Henry Ford; Francis Kinloch, 1819; Henry David Thoreau, 1854

Rudolf Adamkovič  [he/him]
Studenohorská 25
84103 Bratislava
Slovakia


Re: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection code

2023-02-07 Thread Max Nikulin

On 07/02/2023 19:21, Ihor Radchenko wrote:

Max Nikulin writes:


Historically subr-x was avoided in Org. Latest discussion:
https://list.orgmode.org/b1eef17f-b8ef-2e2a-d463-7909b03ce...@gmail.com/T/#u


... which concluded that it is safe to use subr-x.
If we need to add a require, so be it. I see no major downsides.


I do not mind.

Since content of subr-x.el consists of `defsubst' definitions, likely it 
is preferable to use


(eval-when-compile (require 'subr-x))




Re: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection code

2023-02-07 Thread Ihor Radchenko
Max Nikulin  writes:

> In emacs-26 `string-join' is defined in subr-x.el, but ox-texinfo.el 
> does not have (require 'subr-x). Personally I see nothing bad in
>
> (format "@displaymath\n%s\n@end" math-example)
>
> Historically subr-x was avoided in Org. Latest discussion:
> https://list.orgmode.org/b1eef17f-b8ef-2e2a-d463-7909b03ce...@gmail.com/T/#u

... which concluded that it is safe to use subr-x.
If we need to add a require, so be it. I see no major downsides.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at .
Support Org development at ,
or support my work at 



Re: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection code

2023-02-07 Thread Max Nikulin
Rudolf, I am afraid there is another obstacle till your step to improve 
Org may be completed.


On 07/02/2023 15:39, Rudolf Adamkovič wrote:

-(let* ((input-file
-(make-temp-file "test" nil ".info"))
-   (input-content
-(concat (format "@setfilename %s" input-file) "\n"
-"@node Top" "\n"
-(format "@displaymath{%s}" math-example) "\n")))
+(let* ((input-file (make-temp-file "test" nil ".info"))
+   (input-content (string-join


In emacs-26 `string-join' is defined in subr-x.el, but ox-texinfo.el 
does not have (require 'subr-x). Personally I see nothing bad in


   (format "@displaymath\n%s\n@end" math-example)

Historically subr-x was avoided in Org. Latest discussion:
https://list.orgmode.org/b1eef17f-b8ef-2e2a-d463-7909b03ce...@gmail.com/T/#u
[BUG] Re: 98e168b48 Add compatibility wrapper for 
string-clean-whitespace (Emacs 26 compatibility) Fri, 07 Oct 2022 
13:14:11 +0800


I will leave the decision to the maintainers since I have no particular 
opinion. Alternatively you may use (mapconcat #'identity (list) "\n").


It is preferable to fix earlier added call to `string-join' in this 
file. The similar approach should be applied to the tests added by this 
patch.



+   (list (format "@setfilename %s" input-file)
+ "@node Top"
+ "@displaymath"





Re: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection code

2023-02-07 Thread Rudolf Adamkovič
Max Nikulin  writes:

> Should not the format argument be corrected to have valid @displaymath 
> snippet instead?

Thank you, Max!  See, this happens when I write code 10 minutes before going to
bed: incorrect code and no tests, both equally bad.

Please see the attached patch.

Rudy
>From ce1062dbda870346b18ae35c28e9cc034c0de548 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rudolf=20Adamkovi=C4=8D?= 
Date: Mon, 6 Feb 2023 22:33:40 +0100
Subject: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection
 code

* lisp/ox-texinfo.el (org-texinfo-supports-math-p): Fix the incorrect
syntax @displaymath{1 + 1 = 2} used to detect whether Texinfo supports
TeX "math mode".  Instead, use the correct syntax @math{1 + 1 = 2}.
---
 lisp/ox-texinfo.el  | 14 --
 testing/lisp/test-ox-texinfo.el | 30 ++
 2 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/lisp/ox-texinfo.el b/lisp/ox-texinfo.el
index 8e3a04562..56564a5c5 100644
--- a/lisp/ox-texinfo.el
+++ b/lisp/ox-texinfo.el
@@ -2025,12 +2025,14 @@ Once computed, the results remain cached."
   (unless (boundp 'org-texinfo-supports-math--cache)
 (setq org-texinfo-supports-math--cache
   (let ((math-example "1 + 1 = 2"))
-(let* ((input-file
-(make-temp-file "test" nil ".info"))
-   (input-content
-(concat (format "@setfilename %s" input-file) "\n"
-"@node Top" "\n"
-(format "@displaymath{%s}" math-example) "\n")))
+(let* ((input-file (make-temp-file "test" nil ".info"))
+   (input-content (string-join
+   (list (format "@setfilename %s" input-file)
+ "@node Top"
+ "@displaymath"
+ math-example
+ "@end displaymath")
+   "\n")))
   (with-temp-file input-file
 (insert input-content))
   (let* ((output-file (org-texinfo-compile input-file))
diff --git a/testing/lisp/test-ox-texinfo.el b/testing/lisp/test-ox-texinfo.el
index 51fdb3606..4bb902988 100644
--- a/testing/lisp/test-ox-texinfo.el
+++ b/testing/lisp/test-ox-texinfo.el
@@ -292,5 +292,35 @@
  nil
  '(:with-latex t))
 
+
+;;; End-to-end
+
+(ert-deftest test-ox-texinfo/end-to-end-inline ()
+  "Test end-to-end with inline TeX fragment."
+  (should
+   (org-test-with-temp-text
+"$a^2 = b$"
+(let ((export-buffer "*Test Texinfo Export*")
+  (org-export-show-temporary-export-buffer nil))
+  (org-export-to-buffer 'texinfo export-buffer
+nil nil nil nil nil
+#'texinfo-mode)
+
+(ert-deftest test-ox-texinfo/end-to-end-sanity-check-displayed ()
+  "Test end-to-end with LaTeX environment."
+  (should
+   (org-test-with-temp-text
+(string-join
+ (list "\\begin{equation}"
+   "a ^ 2 = b"
+   "b ^ 2 = c"
+   "\\end{equation}")
+ "\n")
+(let ((export-buffer "*Test Texinfo Export*")
+  (org-export-show-temporary-export-buffer nil))
+  (org-export-to-buffer 'texinfo export-buffer
+nil nil nil nil nil
+#'texinfo-mode)
+
 (provide 'test-ox-texinfo)
 ;;; test-ox-texinfo.el end here
-- 
2.39.0

-- 
"Strange as it may sound, the power of mathematics rests on its evasion
of all unnecessary thought and on its wonderful saving of mental
operations."
-- Ernst Mach, 1838-1916

Rudolf Adamkovič  [he/him]
Studenohorská 25
84103 Bratislava
Slovakia


Re: [PATCH] ox-texinfo: Fix invalid syntax in Texinfo version detection code

2023-02-06 Thread Max Nikulin

On 07/02/2023 04:42, Rudolf Adamkovič wrote:

--- a/lisp/ox-texinfo.el
+++ b/lisp/ox-texinfo.el
@@ -2030,7 +2030,7 @@ Once computed, the results remain cached."
 (input-content
  (concat (format "@setfilename %s" input-file) "\n"
  "@node Top" "\n"
-(format "@displaymath{%s}" math-example) "\n")))
+(format "@math{%s}" math-example) "\n")))


Should not the format argument be corrected to have valid @displaymath 
snippet instead?


https://list.orgmode.org/87bkwud6ni@nicolasgoaziou.fr/
Re: [PATCH] Re: No mathematics in Texinfo exports. Thu, 21 Apr 2022 
13:20:49 +0200



I do see @displaymath in my TeXinfo 6.8. Also,
https://www.gnu.org/software/texinfo/manual/texinfo/html_node/Inserting-Math.html


So it is a fairly recent addition, since Texinfo 6.8 was released last
July. For example, it is not available in Debian stable. I don't know if
displaymath was stealthily supported before.