Re: [can't compile the main branch]: SOLVED

2024-04-24 Thread Tassilo Horn
Uwe Brauer  writes:

>>  That has the benefit of showing warnings for missing
>> requires (undefined variables/functions).
>
> As I said, there was a bunch of warnings about undefined functions, for
> my emacs version. Do you want me to send them?

If you have more than those, yes:

In bib-find-next:
bib-cite.el:944:8: Warning: ‘find-tag’ is an obsolete function (as of 25.1); 
use ‘xref-find-definitions’ instead.

In end of data:
tex-info.el: Warning: the function ‘cl-member’ might not be defined at runtime.

In toolbarx-process-dropdown-group:
toolbar-x.el:886:10: Warning: in defcustom: missing :type keyword parameter
toolbar-x.el:886:10: Warning: in defcustom: fails to specify containing
group

>> Which two make processes do you mean?
>
> I mean 
>
> 1. Call new process: make elpa
>
> 2. And include the old one from the master branch so that:
>.configure+make+make install works as before.

No, certainly not.  Getting rid of all that complicated stuff no one of
the current auctex maintainers understands and which is basically not
needed anymore, is exactly the purpose of the exercise.

  Tassilo



main 4714c740: ; * GNUmakefile: Delete code remainder.

2024-04-24 Thread Arash Esbati
branch: main
commit 4714c740616b42997d1cca09a0297753d8246a91
Author: Arash Esbati 
Commit: Arash Esbati 

; * GNUmakefile: Delete code remainder.
---
 GNUmakefile | 8 
 1 file changed, 8 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index c10a6cd8..1b4499a3 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -65,14 +65,6 @@ auctex-autoloads.el:
rm -f $@
$(EMACS) $(AUTOLOAD) $(wildcard *.el)
 
-# auctex-autoloads.el:
-#  $(EMACS) --eval \
-#   "(loaddefs-generate \".\" \"auctex-autoloads.el\" nil \"\
-# (add-to-list 'load-path\n\
-#  (directory-file-name\n\
-#   (file-name-directory load-file-name)))\
-# \")"
-
 %.elc: %.el
$(EMACS) -f batch-byte-compile $<
 



Re: [can't compile the main branch]: SOLVED

2024-04-24 Thread Uwe Brauer
>>> "TH" == Tassilo Horn  writes:

> Uwe Brauer  writes:
>> 2. It was in my opinion *considerably* slower then the compilation
>> of the master branch: result time make -j8:
>> 69.088u 25.540s 1:20.66 365.2% 0+0k 1040+8448io 0pf+0w

> That's true because I chose to compile each lisp file one by one instead
> all in one call. 

Ah, that explains it!


>  That has the benefit of showing warnings for missing
> requires (undefined variables/functions).

As I said, there was a bunch of warnings about undefined functions, for
my emacs version. Do you want me to send them?

>> * Finally:
>> 
>> I know I already asked this but can't we have both make processes.

> Which two make processes do you mean?

I mean 

1. Call new process: make elpa

2. And include the old one from the master branch so that:
   .configure+make+make install works as before.

But I can't judge how much work that would be

Uwe 

> Bye,
>   Tassilo

-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


Re: [can't compile the main branch]: SOLVED

2024-04-24 Thread Tassilo Horn
Uwe Brauer  writes:

> 2. It was in my opinion *considerably* slower then the compilation
>of the master branch: result time make -j8:
>69.088u 25.540s 1:20.66 365.2% 0+0k 1040+8448io 0pf+0w

That's true because I chose to compile each lisp file one by one instead
all in one call.  That has the benefit of showing warnings for missing
requires (undefined variables/functions).

> * Finally:
>
> I know I already asked this but can't we have both make processes.

Which two make processes do you mean?

Bye,
  Tassilo



Re: [can't compile the main branch]: SOLVED

2024-04-24 Thread Uwe Brauer
>>> "AE" == Arash Esbati  writes:

> Stefan Monnier  writes:
>>> AFAIU, using `update-file-autoloads' again means keeping track of all
>>> AUCTeX files in the new GNUmakefile, or is there a better solution?
>> 
>> You should be able to use `update-directory-autoloads`.
>> It's a bit more cumbersome to use than `loaddefs-generate` but other
>> than that it should be OK.

> I think `make-directory-autoloads' would be even easier, but it was
> introduced with 28.1, and we currently support 27.1, sigh!  I think I
> can solve it with the patch below.

> @Uwe: Can you please apply this to a clean main branch and run make?
> This change contains what Stefan sent, but I don't think it can take
> care of your Mercurial setup, try it in a real Git repo.  It should at
> least cater for your Emacs version.  Thanks.

First of all thanks Arash, that might have been a bit complicated. I
appreciate it.

I was late yesterday night, so since Tassilo already applied the patch,

* From my git clone 

I pulled
and run using my <29.1:

time make -j8


1. It compiled, there were some errors about functions not to be
   known. Shall I send these byte compilation errors?

2. It was in my opinion *considerably* slower then the compilation
   of the master branch: result time make -j8:
   69.088u 25.540s 1:20.66 365.2% 0+0k 1040+8448io 0pf+0w

I also tried my freshly compiled emacs (commit 1d4e90341782)

time make -j8

Result 


266.200u 26.156s 1:19.10 369.5% 0+0k 39576+8472io 72pf+0w


* From my hg-git clone  


Basically the same result. 
Great thanks a lot now I am back into business
BTW: I tried to apply Stefan's patch yesterday,
to my hg-git repository but it did not work 😳
so Tassilo applied the patch correct



* Finally:

I know I already asked this but can't we have both make processes.


Thanks to all of you for patiently listing to my complains and solving the 
issue.

Uwe 

-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


Re: compilation using git needs 10 minutes and fails

2024-04-24 Thread Tassilo Horn
Uwe Brauer  writes:

Hi Uwe,

I think that everything should be resolved now:

  - building without git or not from a git clone
  - build depends on ChangeLog which cannot be generated
  - generate auctex-autoloads.el (formerly loaddefs.el) in a way
compatible with emacs 27.1

Please test!

>> Side note: I recommend you try to resolve this situation somehow.
>> Emacs current release is 29.3.  Sitting on an old dev-version is not
>> really satisfactory, IMHO.
>
> I know, once the semester is finished I have also to upgrade my Ubuntu
> version, which will also be a medium sized nightmare.

FWIW, I have only good experiences with rolling release distros and
daily updates.  If something breaks (which happens almost never), it's
very easy to find the culprit and fix it.

  Tassilo



Re: [can't compile the main branch]

2024-04-24 Thread Tassilo Horn
Stefan Monnier  writes:

>> But before investing time on Uwe's scenario: Stefan, do you know why
>> no new devel release has been built so far?
>
> You've presumably received copies (via auctex-devel) of the build
> error notification.

Oh, indeed. :-)

> The original problem was that elpa.gnu.org did not have TeX installed.
> After fixing it there was another problem of access rights when
> running TeX.  I believe it is now fixed and it should get built within
> the next 6 hours.  Knocking on wood.  🙂

Sadly, the last build failed with the same error as the previous one:

 Building tarball auctex.tar...
Build error for auctex.tar: (error "Error-indicating exit code in 
elpaa--call-sandboxed:
make[1]: Entering directory '/home/elpa/elpa/packages/auctex'
(cd doc; makeinfo -D rawfile --no-headers intro.texi --output -) >README
(cd doc; makeinfo -D rawfile --no-headers preview-readme.texi --output -) >> 
README
sed -e 's|@lisppackagelispdir@|(file-name-directory load-file-name)|'\\
-e 's|@lisppackagedatadir@|(file-name-directory load-file-name)|'\\
-e 's|@lispautodir@|(if (file-writable-p \"/usr/local/var/auctex\")
\"/usr/local/var/auctex\" \"~/.emacs.d/auctex\")|'\\
-e 's|@AUCTEXVERSION@|14.0.4.2024-04-23_17:52:06|'\\
-e 's|@AUCTEXDATE@|2024-04-23_17:52:06|'\\
tex-site.el.in >tex-site.el
echo @set VERSION 14.0.4.2024-04-23_17:52:06 >doc/version.texi
echo @set UPDATED 2024-04-23_17:52:06 >>doc/version.texi
perl doc/preview-dtxdoc.pl latex/preview.dtx doc/preview-dtxdoc.texi
cd latex; tex '\\nonstopmode \\input bootstrap.ins'
This is TeX, Version 3.141592653 (TeX Live 2022/Debian) (preloaded format=tex)

kpathsea: Running mktexfmt tex.fmt
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence 
order):
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt:   /home/elpa/.texlive2022/texmf-config/web2c/fmtutil.cnf
mktexfmt [INFO]: writing formats under /home/elpa/.texlive2022/texmf-var/web2c
mktexfmt [INFO]: Did not find entry for byfmt=tex skipped
mktexfmt [INFO]: total formats: 0
mktexfmt [INFO]: exiting with status 0
I can't find the format file `tex.fmt'!
make[1]: *** [GNUmakefile:116: latex/preview.sty] Error 1
make[1]: Leaving directory '/home/elpa/elpa/packages/auctex'
")
 Build of package auctex.tar FAILED!!

Bye,
  Tassilo



Re: [can't compile the main branch]

2024-04-24 Thread Tassilo Horn
Stefan Monnier  writes:

> Which points out that maybe instead of changing `gitlog-to-auctexlog`
> it'd be easier to change the `make` rule so it doesn't build
> `ChangeLog` (and have another rule that does build `ChangeLog` for
> those cases where it's important).

That's what I've done now.  There's a new ChangeLog target which is only
required by the elpa target.

Thanks!
  Tassilo



main 2912617a: Generate ChangeLog only in elpa make target

2024-04-24 Thread Tassilo Horn
branch: main
commit 2912617a42a781e9c876ec4c9db8f76a71496354
Author: Tassilo Horn 
Commit: Tassilo Horn 

Generate ChangeLog only in elpa make target
---
 GNUmakefile | 19 +++
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index 8dacf628..c10a6cd8 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -62,7 +62,7 @@ AUTOLOAD=--eval '\
   (save-buffers-kill-emacs t))'
 
 auctex-autoloads.el:
-   -rm -f $@
+   rm -f $@
$(EMACS) $(AUTOLOAD) $(wildcard *.el)
 
 # auctex-autoloads.el:
@@ -80,17 +80,18 @@ auctex-autoloads.el:
 # will be built on elpa due to :doc ("doc/auctex.texi"
 # "doc/preview-latex.texi") in the auctex recipe in elpa-packges and
 # compiling is done locally.
-elpa: $(MAIN_GENERATED_FILES)
+elpa: $(MAIN_GENERATED_FILES) ChangeLog
 
 # We want the tex-site.el target to be always run so that the version
-# (especially the release version grabbed from the top of the git
-# log/ChangeLog) is correct.
+# (especially the release version grabbed from the top of the git log)
+# is correct.
 .PHONY: tex-site.el
 
 clean:
rm -f $(ALL_GENERATED_FILES) \
$(wildcard *.elc style/*.elc) \
-   auctex-autoloads.el
+   auctex-autoloads.el \
+   ChangeLog
 
 # Copied&adapted from doc/Makefile.in.
 MAKEINFO_PLAIN=$(MAKEINFO) -D rawfile --no-headers
@@ -98,8 +99,6 @@ README: doc/intro.texi doc/preview-readme.texi doc/macros.texi
(cd doc; $(MAKEINFO_PLAIN) intro.texi --output -) >$@
(cd doc; $(MAKEINFO_PLAIN) preview-readme.texi --output -) >> $@
 
-# Commands copied&adapted from autogen.sh and doc/Makefile.in.
-IGNORED:=$(shell rm -f ChangeLog && ./build-aux/gitlog-to-auctexlog && cat 
ChangeLog.1 >> ChangeLog)
 # Committer date of HEAD.
 AUCTEXDATE:=$(shell (git log -n1 --pretty=tformat:"%ci" 2>/dev/null \
  || date +"%Y-%m-%d %T")   \
@@ -121,10 +120,14 @@ tex-site.el: tex-site.el.in
-e 's|@AUCTEXDATE@|$(AUCTEXDATE)|'\
$< >$@
 
-doc/version.texi: ChangeLog
+doc/version.texi:
echo @set VERSION $(AUCTEXVERSION) >$@
echo @set UPDATED $(AUCTEXDATE) >>$@
 
+ChangeLog:
+   rm -f $@
+   ./build-aux/gitlog-to-auctexlog && cat ChangeLog.1 >> $@
+
 # Copied&adapted from doc/Makefile.in.
 doc/preview-dtxdoc.texi: latex/preview.dtx doc/preview-dtxdoc.pl
$(PERL) doc/preview-dtxdoc.pl latex/preview.dtx $@



Re: [can't compile the main branch]

2024-04-24 Thread Tassilo Horn
Arash Esbati  writes:

> I think `make-directory-autoloads' would be even easier, but it was
> introduced with 28.1, and we currently support 27.1, sigh!  I think I
> can solve it with the patch below.

Thanks, applied with the minor change that I use $(wildcard *.el)
instead of listing all lisp files and binding them to AUCSRC.

  Tassilo



main e835b95b: Generate auctex-autoloads.el in a way compatible with emacs 27.1

2024-04-24 Thread Tassilo Horn
branch: main
commit e835b95bc8108cc82b2fe3660ae0574d0f57206c
Author: Arash Esbati 
Commit: Tassilo Horn 

Generate auctex-autoloads.el in a way compatible with emacs 27.1
---
 GNUmakefile | 34 ++
 1 file changed, 30 insertions(+), 4 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index 4fb88291..8dacf628 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -40,12 +40,38 @@ ALL_GENERATED_FILES=$(MAIN_GENERATED_FILES) \
$(INFO_FILES)
 
 # Generate & compile everything including the manuals below doc/.
-all: $(ALL_GENERATED_FILES) compile autoloads
+all: $(ALL_GENERATED_FILES) compile auctex-autoloads.el
 
 compile: $(patsubst %.el,%.elc,$(wildcard *.el style/*.el))
 
-autoloads:
-   $(EMACS) -f loaddefs-generate-batch loaddefs.el .
+# If we were depending on emacs 29.1, we could simply use
+# loaddefs-generate.  If we were depending on 28.1, we could still use
+# update-directory-autoloads...
+AUTOLOAD=--eval '\
+(let* ((autoload-file (expand-file-name "$@")) \
+   (autoload-file-dir (file-name-directory autoload-file))) \
+  (if (fboundp `loaddefs-generate) \
+  (loaddefs-generate autoload-file-dir autoload-file \
+ (list "tex-wizard.el") \
+ "(add-to-list `load-path\n\
+   (directory-file-name\n\
+ (file-name-directory 
load-file-name)))")\
+(mapc (lambda (file) \
+(update-file-autoloads file nil autoload-file)) \
+  command-line-args-left)) \
+  (save-buffers-kill-emacs t))'
+
+auctex-autoloads.el:
+   -rm -f $@
+   $(EMACS) $(AUTOLOAD) $(wildcard *.el)
+
+# auctex-autoloads.el:
+#  $(EMACS) --eval \
+#   "(loaddefs-generate \".\" \"auctex-autoloads.el\" nil \"\
+# (add-to-list 'load-path\n\
+#  (directory-file-name\n\
+#   (file-name-directory load-file-name)))\
+# \")"
 
 %.elc: %.el
$(EMACS) -f batch-byte-compile $<
@@ -64,7 +90,7 @@ elpa: $(MAIN_GENERATED_FILES)
 clean:
rm -f $(ALL_GENERATED_FILES) \
$(wildcard *.elc style/*.elc) \
-   loaddefs.el
+   auctex-autoloads.el
 
 # Copied&adapted from doc/Makefile.in.
 MAKEINFO_PLAIN=$(MAKEINFO) -D rawfile --no-headers



main a830eb1c: Fallbacks for "no git" or "not a git clone"

2024-04-24 Thread Tassilo Horn
branch: main
commit a830eb1c9411a791c5228391813f7d6d114dc079
Author: Stefan Monnier 
Commit: Tassilo Horn 

Fallbacks for "no git" or "not a git clone"
---
 GNUmakefile | 17 -
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index b5cec482..4fb88291 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -17,7 +17,8 @@
 #   latex: prtightpage.def
 #   latex: prtracingall.def
 
-EMACS=emacs --batch -q -no-site-file -no-init-file -l lpath.el
+EMACSBIN=emacs
+EMACS=$(EMACSBIN) --batch -q -no-site-file -no-init-file -l lpath.el
 MAKEINFO=makeinfo
 INSTALL_INFO=install-info
 PERL=perl
@@ -74,18 +75,16 @@ README: doc/intro.texi doc/preview-readme.texi 
doc/macros.texi
 # Commands copied&adapted from autogen.sh and doc/Makefile.in.
 IGNORED:=$(shell rm -f ChangeLog && ./build-aux/gitlog-to-auctexlog && cat 
ChangeLog.1 >> ChangeLog)
 # Committer date of HEAD.
-AUCTEXDATE:=$(shell git log -n1 --pretty=tformat:"%ci" \
-   | sed -nre 's/ /_/p' | sed -nre 's/ .*//p')
+AUCTEXDATE:=$(shell (git log -n1 --pretty=tformat:"%ci" 2>/dev/null \
+ || date +"%Y-%m-%d %T")   \
+| sed -re 's/ /_/' -e 's/ .*//')
 # Extract the version number from the diff line "+;; Version: 14.0.4" of
 # the commit HEAD which is only filled when we did a release in the last
 # commit.
-THISVERSION:=$(shell git show HEAD -- auctex.el \
+THISVERSION:=$(shell git show HEAD -- auctex.el 2>/dev/null \
| sed -nre 's/[+];; Version: ([0-9]+.[0-9]+.[0-9]+)/\1/p')
-# Extract the last version number from the previous change to auctex.el,
-# i.e., only look at commits starting at HEAD~1.
-LASTVERSION:=$(shell git log HEAD~1 -p --first-parent -- auctex.el \
-   | grep "+;; Version: " \
-   | sed -nre 's/[+];; Version: ([0-9]+.[0-9]+.[0-9]+)/\1/p;q')
+# Extract the last released version number from `auctex.el`.
+LASTVERSION:=$(shell sed -nre '/Version:/{s/;; Version: 
([0-9]+.[0-9]+.[0-9]+)/\1/p;q}' auctex.el)
 AUCTEXVERSION:=$(if $(THISVERSION),$(THISVERSION),$(LASTVERSION).$(AUCTEXDATE))
 
 tex-site.el: tex-site.el.in



Re: [can't compile the main branch]

2024-04-24 Thread Tassilo Horn
Stefan Monnier  writes:

> The GNUmakefile tries to find the date of the commit you're building,
> and that's only available from the VCS metadata.  The patch below
> should make it fallback to using the current date.

Thanks a lot!  Applied.

  Tassilo



Re: [can't compile the main branch]

2024-04-24 Thread Arash Esbati
Stefan Monnier  writes:

>> AFAIU, using `update-file-autoloads' again means keeping track of all
>> AUCTeX files in the new GNUmakefile, or is there a better solution?
>
> You should be able to use `update-directory-autoloads`.
> It's a bit more cumbersome to use than `loaddefs-generate` but other
> than that it should be OK.

I think `make-directory-autoloads' would be even easier, but it was
introduced with 28.1, and we currently support 27.1, sigh!  I think I
can solve it with the patch below.

@Uwe: Can you please apply this to a clean main branch and run make?
This change contains what Stefan sent, but I don't think it can take
care of your Mercurial setup, try it in a real Git repo.  It should at
least cater for your Emacs version.  Thanks.

Best, Arash

diff --git a/GNUmakefile b/GNUmakefile
index b5cec482..49b677cf 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -17,7 +17,8 @@
 #   latex: prtightpage.def
 #   latex: prtracingall.def
 
-EMACS=emacs --batch -q -no-site-file -no-init-file -l lpath.el
+EMACSBIN=emacs
+EMACS=$(EMACSBIN) --batch -q -no-site-file -no-init-file -l lpath.el
 MAKEINFO=makeinfo
 INSTALL_INFO=install-info
 PERL=perl
@@ -39,12 +40,41 @@ ALL_GENERATED_FILES=$(MAIN_GENERATED_FILES)	\
 		$(INFO_FILES)
 
 # Generate & compile everything including the manuals below doc/.
-all: $(ALL_GENERATED_FILES) compile autoloads
+all: $(ALL_GENERATED_FILES) compile auctex-autoloads.el
 
 compile: $(patsubst %.el,%.elc,$(wildcard *.el style/*.el))
 
-autoloads:
-	$(EMACS) -f loaddefs-generate-batch loaddefs.el .
+AUCSRC = tex.el tex-style.el plain-tex.el latex.el tex-info.el \
+texmathp.el multi-prompt.el tex-mik.el font-latex.el tex-font.el \
+context.el context-en.el context-nl.el tex-fold.el tex-jp.el \
+toolbar-x.el tex-bar.el bib-cite.el tex-ispell.el latex-flymake.el \
+preview.el
+
+AUTOLOAD=--eval '\
+(let* ((autoload-file (expand-file-name "$@")) \
+   (autoload-file-dir (file-name-directory autoload-file))) \
+  (if (fboundp `loaddefs-generate) \
+  (loaddefs-generate autoload-file-dir autoload-file \
+ (list "tex-wizard.el") \
+ "(add-to-list `load-path\n\
+   (directory-file-name\n\
+ (file-name-directory load-file-name)))")\
+(mapc (lambda (file) \
+(update-file-autoloads file nil autoload-file)) \
+  command-line-args-left)) \
+  (save-buffers-kill-emacs t))' $(AUCSRC)
+
+auctex-autoloads.el:
+	-rm -f $@
+	$(EMACS) $(AUTOLOAD) $(AUCSRC)
+
+# auctex-autoloads.el:
+# 	$(EMACS) --eval \
+#   "(loaddefs-generate \".\" \"auctex-autoloads.el\" nil \"\
+# (add-to-list 'load-path\n\
+#  (directory-file-name\n\
+#   (file-name-directory load-file-name)))\
+# \")"
 
 %.elc: %.el
 	$(EMACS) -f batch-byte-compile $<
@@ -63,7 +93,7 @@ elpa: $(MAIN_GENERATED_FILES)
 clean:
 	rm -f $(ALL_GENERATED_FILES) \
 		$(wildcard *.elc style/*.elc) \
-		loaddefs.el
+		auctex-autoloads.el
 
 # Copied&adapted from doc/Makefile.in.
 MAKEINFO_PLAIN=$(MAKEINFO) -D rawfile --no-headers
@@ -74,18 +104,16 @@ README: doc/intro.texi doc/preview-readme.texi doc/macros.texi
 # Commands copied&adapted from autogen.sh and doc/Makefile.in.
 IGNORED:=$(shell rm -f ChangeLog && ./build-aux/gitlog-to-auctexlog && cat ChangeLog.1 >> ChangeLog)
 # Committer date of HEAD.
-AUCTEXDATE:=$(shell git log -n1 --pretty=tformat:"%ci" \
-	| sed -nre 's/ /_/p' | sed -nre 's/ .*//p')
+AUCTEXDATE:=$(shell (git log -n1 --pretty=tformat:"%ci" 2>/dev/null \
+ || date +"%Y-%m-%d %T") 		   	\
+| sed -re 's/ /_/' -e 's/ .*//')
 # Extract the version number from the diff line "+;; Version: 14.0.4" of
 # the commit HEAD which is only filled when we did a release in the last
 # commit.
-THISVERSION:=$(shell git show HEAD -- auctex.el \
+THISVERSION:=$(shell git show HEAD -- auctex.el 2>/dev/null \
 	| sed -nre 's/[+];; Version: ([0-9]+.[0-9]+.[0-9]+)/\1/p')
-# Extract the last version number from the previous change to auctex.el,
-# i.e., only look at commits starting at HEAD~1.
-LASTVERSION:=$(shell git log HEAD~1 -p --first-parent -- auctex.el \
-	| grep "+;; Version: " \
-	| sed -nre 's/[+];; Version: ([0-9]+.[0-9]+.[0-9]+)/\1/p;q')
+# Extract the last released version number from `auctex.el`.
+LASTVERSION:=$(shell sed -nre '/Version:/{s/;; Version: ([0-9]+.[0-9]+.[0-9]+)/\1/p;q}' auctex.el)
 AUCTEXVERSION:=$(if $(THISVERSION),$(THISVERSION),$(LASTVERSION).$(AUCTEXDATE))
 
 tex-site.el: tex-site.el.in


emacs 29.1 more problems

2024-04-24 Thread Uwe Brauer


Hi

I concentrated on the repository that I cloned with git.

I compiled and installed GNU emacs 
commit 1d4e90341782
31.05.2022, where the function loaddefs-generate-batch was introduced.

So in the Makefile I have 

EMACS=/opt/emacs29.1/bin/emacs --batch -q -no-site-file -no-init-file -l 
lpath.el


Two observations, 

1. Compilation (X1 Thinkpad 2017) quite a bit of time:
   time make -j8
   267.572u 26.032s 1:21.80 358.9% 0+0k 0+10696io 0pf+0w


2. Compilation fails with error 
--8<---cut here---start->8---

lisp/debug-early.el") nil t)
  loaddefs-generate-batch()
  command-line-1(("-l" "lpath.el" "-f" "loaddefs-generate-batch" "loaddefs.el" 
"."))
  command-line()
  normal-top-level()
Opening output file: Permission denied, 
/opt/emacs29.1/share/emacs/29.0.50/lisp/loaddefs.el
GNUmakefile:47: recipe for target 'autoloads' failed
make: *** [autoloads] Error 255
make: *** Waiting for unfinished jobs
267.572u 26.032s 1:21.80 358.9% 0+0k 0+10696io 0pf+0w
--8<---cut here---end--->8---

Why Permission denied, why on earth the make process whats to write on
/opt/emacs29.1/share/emacs/29.0.50/lisp/loaddefs.el

Stay out!

Uwe 


-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


master 36590b04: Fix preview bug involving long common suffixes

2024-04-24 Thread Ikumi Keita
branch: master
commit 36590b044f86a546b1a0b21e89e301ed29408be4
Author: Paul Nelson 
Commit: Ikumi Keita 

Fix preview bug involving long common suffixes

* preview.el.in (preview-parse-messages): Fix it.
---
 preview.el.in | 8 
 1 file changed, 8 insertions(+)

diff --git a/preview.el.in b/preview.el.in
index a2c0235d..12500011 100644
--- a/preview.el.in
+++ b/preview.el.in
@@ -3340,6 +3340,7 @@ call, and in its CDR the final stuff for the placement 
hook."
 (let (TeX-error-file TeX-error-offset snippet box counters
   file line
   (lsnippet 0) lstart (lfile "") lline lbuffer lpoint
+  lpos
   lcounters
   string after-string
   offset
@@ -3610,6 +3611,12 @@ name(\\([^)]+\\))\\)\\|\
   (car preview-current-region))
(goto-char (car preview-current-region)))
 
+  ;; Make sure that we don't accidentally match
+  ;; something earlier in the search that follows.
+  (and (eq (current-buffer) lbuffer)
+   (= lline line)
+   (goto-char (max (point) (- (1+ lpos) (length 
string)
+
   (cond
((search-forward (concat string after-string)
 (line-end-position) t)
@@ -3645,6 +3652,7 @@ name(\\([^)]+\\))\\)\\|\
string
(line-end-position) t
 (setq lline line
+  lpos (point)
   lbuffer (current-buffer))
 (if box
 (progn



Re: [can't compile the main branch]

2024-04-24 Thread Stefan Monnier
> AFAIU, using `update-file-autoloads' again means keeping track of all
> AUCTeX files in the new GNUmakefile, or is there a better solution?

You should be able to use `update-directory-autoloads`.
It's a bit more cumbersome to use than `loaddefs-generate` but other
than that it should be OK.


Stefan




Re: [can't compile the main branch]

2024-04-24 Thread Stefan Monnier
> gitlog-to-auctexlog is based on gitlog-to-emacslog.  Should the issue be
> reported there as well?  gitlog-to-emacslog isn't different in this
> regard:
> https://git.savannah.gnu.org/cgit/emacs.git/tree/build-aux/gitlog-to-emacslog#n62

`gitlog-to-emacslog` is used only to build the release tarballs, not
during a normal build, so it's OK for it to fail when Git fails, and
it's not OK for it to generate an empty ChangeLog.

Which points out that maybe instead of changing `gitlog-to-auctexlog`
it'd be easier to change the `make` rule so it doesn't build
`ChangeLog` (and have another rule that does build `ChangeLog` for
those cases where it's important).


Stefan




Re: [can't compile the main branch]

2024-04-24 Thread Arash Esbati
Tassilo Horn  writes:

> I just wanted to say that I'll have a look about making the build
> succeed in the absence of git or when running it not in a normal git
> clone when I find some spare time.

Thanks Tassilo.  One other issue Uwe brought up was that
`loaddefs-generate' isn't available for Emacs<29.  So we have to cater
for that as well.  This is basically this change to Makefile.in in the
master branch:

https://git.savannah.gnu.org/cgit/auctex.git/commit/Makefile.in?id=19a2607b

AFAIU, using `update-file-autoloads' again means keeping track of all
AUCTeX files in the new GNUmakefile, or is there a better solution?

Best, Arash



Re: [can't compile the main branch]

2024-04-24 Thread Arash Esbati
Stefan Monnier  writes:

>> +# If this is not a Git repository, just generate an empty ChangeLog.
>> +test -d .git || {
>> +  >"$output"
>> +  exit
>> +}
>> +
>>  # Get the new value for gen_origin from the latest version in the 
>> repository.
>>  new_origin=`git log --pretty=format:%H 'HEAD^!'` || exit
>
> I suspect it would be better to merge those two (i.e. instead of
> testing for the presence of `.git` just use `git log`s failure as the
> test).

gitlog-to-auctexlog is based on gitlog-to-emacslog.  Should the issue be
reported there as well?  gitlog-to-emacslog isn't different in this
regard:
https://git.savannah.gnu.org/cgit/emacs.git/tree/build-aux/gitlog-to-emacslog#n62

Best, Arash



Re: [can't compile the main branch]

2024-04-24 Thread Stefan Monnier
> But before investing time on Uwe's scenario: Stefan, do you know why
> no new devel release has been built so far?

You've presumably received copies (via auctex-devel) of the build
error notification.  The original problem was that elpa.gnu.org did not
have TeX installed.  After fixing it there was another problem of access
rights when running TeX.
I believe it is now fixed and it should get built within the next
6 hours.  Knocking on wood.  🙂


Stefan




Re: [can't compile the main branch]

2024-04-24 Thread Uwe Brauer
>>> "TH" == Tassilo Horn  writes:

> Hi all,
> I just wanted to say that I'll have a look about making the build
> succeed in the absence of git or when running it not in a normal git
> clone when I find some spare time.

Thanks, I appreciate that.
> It also occurred to me that the ChangeLog is and has always be "wrong"
> for ELPA releases.  Basically, we generate it by prepending ChangeLog
> entries for all newer commits to ChangeLog.1.  But on the
> externals/auctex branch there have been more commits than on master
> because master was merged into there.  So basically, the generated
> ChangeLog contains entries for the "first-parent" commits of merges
> breaking the chronological order from new to old...

> But before investing time on Uwe's scenario: Stefan, do you know why no
> new devel release has been built so far?

>   https://elpa.gnu.org/devel/auctex.html

> I would imagine that there has to be a new one yesterday.  Did that fail
> somehow, too?


Maybe this is not related, but I receive since yesterday message like
[GNU-devel ELPA] Tarball build failure for auctex

Which seems to indicate that something is not right.

Uwe 
> Bye,
> Tassilo

-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


Re: [can't compile the main branch]

2024-04-24 Thread Tassilo Horn
Hi all,

I just wanted to say that I'll have a look about making the build
succeed in the absence of git or when running it not in a normal git
clone when I find some spare time.

It also occurred to me that the ChangeLog is and has always be "wrong"
for ELPA releases.  Basically, we generate it by prepending ChangeLog
entries for all newer commits to ChangeLog.1.  But on the
externals/auctex branch there have been more commits than on master
because master was merged into there.  So basically, the generated
ChangeLog contains entries for the "first-parent" commits of merges
breaking the chronological order from new to old...

But before investing time on Uwe's scenario: Stefan, do you know why no
new devel release has been built so far?

  https://elpa.gnu.org/devel/auctex.html

I would imagine that there has to be a new one yesterday.  Did that fail
somehow, too?

Bye,
Tassilo



Re: [can't compile the main branch]

2024-04-24 Thread Stefan Monnier
> +# If this is not a Git repository, just generate an empty ChangeLog.
> +test -d .git || {
> +  >"$output"
> +  exit
> +}
> +
>  # Get the new value for gen_origin from the latest version in the repository.
>  new_origin=`git log --pretty=format:%H 'HEAD^!'` || exit

I suspect it would be better to merge those two (i.e. instead of
testing for the presence of `.git` just use `git log`s failure as the
test).


Stefan




Re: [can't compile the main branch]

2024-04-24 Thread Ikumi Keita
> Uwe Brauer  writes:
> So I am confused now, shall I try out to make a symbolic link or not? 

You can try either way. Try one of the symblic link or this patch:
diff --git a/build-aux/gitlog-to-auctexlog b/build-aux/gitlog-to-auctexlog
index 808597d5..944d90ff 100755
--- a/build-aux/gitlog-to-auctexlog
+++ b/build-aux/gitlog-to-auctexlog
@@ -60,6 +60,12 @@ fi
 gen_origin=$2
 }
 
+# If this is not a Git repository, just generate an empty ChangeLog.
+test -d .git || {
+  >"$output"
+  exit
+}
+
 # Get the new value for gen_origin from the latest version in the repository.
 new_origin=`git log --pretty=format:%H 'HEAD^!'` || exit
 
@@ -68,12 +74,6 @@ if [ -f "$output" ]; then
 rm -f "$output" || exit 1
 fi
 
-# If this is not a Git repository, just generate an empty ChangeLog.
-test -d .git || {
-  >"$output"
-  exit
-}
-
 # Use Gnulib's packaged ChangeLog generator.
 # Maybe we should skip all "Merge branch 'master'" messages.
 ./build-aux/gitlog-to-changelog \


Regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW



[GNU-devel ELPA] Tarball build failure for auctex

2024-04-24 Thread ELPA update
The build scripts failed to build the tarball
for version 14.0.4.0.20240423.155206 of the package auctex.
You can consult the latest error output in the file
"auctex-build-failure.txt" in the GNU-devel ELPA archive web site.

You can also try and reproduce the error locally as follows:

git clone --single-branch https://git.sv.gnu.org/git/emacs/elpa.git
cd elpa
make  # Setup the infrastructure
make packages/auctex  # Create a worktree of the package
make build/auctex # Build the tarballs into archive(-devel)/

## The current error output was the following:

 Building tarball auctex.tar...
Build error for auctex.tar: (error "Error-indicating exit code in 
elpaa--call-sandboxed:
make[1]: Entering directory '/home/elpa/elpa/packages/auctex'
(cd doc; makeinfo -D rawfile --no-headers intro.texi --output -) >README
(cd doc; makeinfo -D rawfile --no-headers preview-readme.texi --output -) >> 
README
sed -e 's|@lisppackagelispdir@|(file-name-directory load-file-name)|'\\
-e 's|@lisppackagedatadir@|(file-name-directory load-file-name)|'\\
-e 's|@lispautodir@|(if (file-writable-p \"/usr/local/var/auctex\") 
\"/usr/local/var/auctex\" \"~/.emacs.d/auctex\")|'\\
-e 's|@AUCTEXVERSION@|14.0.4.2024-04-23_17:52:06|'\\
-e 's|@AUCTEXDATE@|2024-04-23_17:52:06|'\\
tex-site.el.in >tex-site.el
echo @set VERSION 14.0.4.2024-04-23_17:52:06 >doc/version.texi
echo @set UPDATED 2024-04-23_17:52:06 >>doc/version.texi
perl doc/preview-dtxdoc.pl latex/preview.dtx doc/preview-dtxdoc.texi
cd latex; tex '\\nonstopmode \\input bootstrap.ins'
This is TeX, Version 3.141592653 (TeX Live 2022/Debian) (preloaded format=tex)

kpathsea: Running mktexfmt tex.fmt
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence 
order):
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt:   /home/elpa/.texlive2022/texmf-config/web2c/fmtutil.cnf
mktexfmt [INFO]: writing formats under /home/elpa/.texlive2022/texmf-var/web2c
mktexfmt [INFO]: Did not find entry for byfmt=tex skipped
mktexfmt [INFO]: total formats: 0
mktexfmt [INFO]: exiting with status 0
I can't find the format file `tex.fmt'!
make[1]: *** [GNUmakefile:116: latex/preview.sty] Error 1
make[1]: Leaving directory '/home/elpa/elpa/packages/auctex'
")
 Build of package auctex.tar FAILED!!



Re: [can't compile the main branch]

2024-04-24 Thread Uwe Brauer




> I'm sorry, I was wrong about it. Uwe uses hg-git and the local repository
> doesn't contain .git directory. I don't remember well what hg-git does,
> but isn't there the "real" .git direcotry in the .hg directory? In other
> words, I suspect the directory structure is

> repo-dir -+- .hg -+- .git
>   |   |
>   +- bib-cite.el  +- FILES_FOR_MERCURIAL_REPO
>   +- ...  +- ...

> If this is correct, making symbolic link by
> ln -s .hg/.git .
> might be another mean to make gitlog-to-auctexlog work.

I tried this, error message is 



make
fatal: ambiguous argument 'HEAD^!': unknown revision or path not in the working 
tree.
Use '--' to separate paths from revisions, like this:
'git  [...] -- [...]'
fatal: your current branch 'master' does not have any commits yet
fatal: bad revision 'HEAD'
fatal: bad revision 'HEAD~1'
(cd doc; makeinfo -D rawfile --no-headers intro.texi --output -) >README
(cd doc; makeinfo -D rawfile --no-headers preview-readme.texi --output -) >> 
README
sed -e 's|@lisppackagelispdir@|(file-name-directory load-file-name)|'\
-e 's|@lisppackagedatadir@|(file-name-directory load-file-name)|'\
-e 's|@lispautodir@|(if (file-writable-p "/usr/local/var/auctex") 
"/usr/local/var/auctex" "~/.emacs.d/auctex")|'\
-e 's|@AUCTEXVERSION@|.|'\
-e 's|@AUCTEXDATE@||'\
tex-site.el.in >tex-site.el
make: *** No rule to make target 'ChangeLog', needed by 'doc/version.texi'.  
Stop.


One reason could be 

 git branch -a 

Gives

git branch -a
  remotes/default/core-latex-in-style-hooks
  remotes/default/feature/fix-mode-names-overlap
  remotes/default/gendocspatch
  remotes/default/main
  remotes/default/master
  remotes/default/simplify-TeX-parse-error
  remotes/default/tex-build-only

I could do 
git switch main

But that looks all dangerous.
indeed

git switch main
fatal: this operation must be run in a work tree
changing things in .git could screw up hg-git

I think this path is too dangerous.

> This is another problem. I suggest to use master branch and stay away
> from main branch until Uwe can use emacs 29.1 or newer.

> Regards,
> Ikumi Keita
> #StandWithUkraine #StopWarInUkraine
> #Gaza #StopMassiveKilling #CeasefireNOW

-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


Re: [can't compile the main branch]

2024-04-24 Thread Uwe Brauer
>>> "IK" == Ikumi Keita  writes:

> Hi all,
> Hmm, build-aux/gitlog-to-auctexlog is not a perl script, actually is a
> Bourne shell script. I was looking at gitlog-to-changelog 😵

>> Arash Esbati  writes:
>> Hmm, build-aux/gitlog-to-auctexlog contains[1]:
>> # If this is not a Git repository, just generate an empty ChangeLog.
>> test -d .git || {
>>> "$output"
>> exit
>> }
>> Maybe Uwe has a .git directory in his setup, but it isn't a real .git
>> directory as Git would expect?

> It seems that the script bails out before reaching that line, here:
> new_origin=`git log --pretty=format:%H 'HEAD^!'` || exit
>  ^^^


So I am confused now, shall I try out to make a symbolic link or not? 

I think I will clone a sandbox repository and see what happens

Uwe 
> Regards,
> Ikumi Keita
> #StandWithUkraine #StopWarInUkraine
> #Gaza #StopMassiveKilling #CeasefireNOW

-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


Re: [can't compile the main branch]

2024-04-24 Thread Uwe Brauer

> Stefan Monnier  writes:

> Hmm, build-aux/gitlog-to-auctexlog contains[1]:

> # If this is not a Git repository, just generate an empty ChangeLog.
> test -d .git || {
>   exit
> }

> Maybe Uwe has a .git directory in his setup, but it isn't a real .git
> directory as Git would expect?


There is one below, the .hg directory as Keita pointed out.

> Footnotes:
> [1]  
> https://git.savannah.gnu.org/cgit/auctex.git/tree/build-aux/gitlog-to-auctexlog#n71


-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


Re: [can't compile the main branch]

2024-04-24 Thread Uwe Brauer
>>> "IK" == Ikumi Keita  writes:

>> Uwe Brauer  writes:
> "SM" == Stefan Monnier  writes:
>>> Hence either
>>> 1) Uwe installs git

>>> He does have Git installed.  He's just working in a directory that's not
>>> under Git's control.

>> That is correct. I prefer to clone the auctex devel repo with mercurial,
>> since I am much more acquainted with mercurial, and therefore it is
>> easier for me to make a new branch for testing, than it is with git.

> I'm sorry, I was wrong about it. Uwe uses hg-git and the local repository
> doesn't contain .git directory. I don't remember well what hg-git does,
> but isn't there the "real" .git direcotry in the .hg directory? In other
> words, I suspect the directory structure is

> repo-dir -+- .hg -+- .git
>   |   |
>   +- bib-cite.el  +- FILES_FOR_MERCURIAL_REPO
>   +- ...  +- ...

That is correct there is a .git directory below the .hg directory

> If this is correct, making symbolic link by
> ln -s .hg/.git .
> might be another mean to make gitlog-to-auctexlog work.


That sounds a bit dangerous (I might add .git then to my .hgignore file)
but I might give it a try.

>> I tried out also the repository that I cloned with git and encounter
>> other problems, since my Emacs-repository-version  is 

>> "7bf17ceee8c2d347917541e143ce25609e90ebbb"

>> Even though emacs-version tells me 29.0.50

>> And therefore too old.

> This is another problem. I suggest to use master branch and stay away
> from main branch until Uwe can use emacs 29.1 or newer.

Yeah, I am only afraid, that you guys add some new exciting features to
the main branch, and I can't even test it 😇

Uwe 

> Regards,
> Ikumi Keita
> #StandWithUkraine #StopWarInUkraine
> #Gaza #StopMassiveKilling #CeasefireNOW

-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


Re: compilation using git needs 10 minutes and fails

2024-04-24 Thread Uwe Brauer

> Uwe Brauer  writes:

> This is one reason why you can't compile the current main branch.  This
> doesn't explain the error:

>   fatal: not a git repository (or any of the parent directories): .git

> I suspect this has something to do with your Git-Mercurial
> setup/workflow.  But let sort things out one after the other, Ok?


> My understanding is that you're sticking to that Emacs 29.0.50 version
> because of your BBDB setup.  If so, you can stick with that and wait
> until we have a solution for older Emacs as well.  AUCTeX claims to
> support Emacs≥27, so we can't only stay with `loaddefs-generate-batch'.

> So in short, be a little patient :-)

Right, and may I mention that the idea of having the old «make» and a new
«make elpa», could solve this issue.

> Side note: I recommend you try to resolve this situation somehow.  Emacs
> current release is 29.3.  Sitting on an old dev-version is not really
> satisfactory, IMHO.

I know, once the semester is finished I have also to upgrade my Ubuntu
version, which will also be a medium sized nightmare.

Uwe 



-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


Re: [can't compile the main branch]

2024-04-24 Thread Ikumi Keita
Hi all,

Hmm, build-aux/gitlog-to-auctexlog is not a perl script, actually is a
Bourne shell script. I was looking at gitlog-to-changelog 😵

> Arash Esbati  writes:
> Hmm, build-aux/gitlog-to-auctexlog contains[1]:
> # If this is not a Git repository, just generate an empty ChangeLog.
> test -d .git || {
>> "$output"
>   exit
> }
> Maybe Uwe has a .git directory in his setup, but it isn't a real .git
> directory as Git would expect?

It seems that the script bails out before reaching that line, here:
new_origin=`git log --pretty=format:%H 'HEAD^!'` || exit
 ^^^

Regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW



Re: [can't compile the main branch]

2024-04-24 Thread Arash Esbati
Stefan Monnier  writes:

> IMO `build-aux/gitlog-to-auctexlog` should gracefully fail
> (e.g. generate an empty file, or put the Git error into that
> file).

Hmm, build-aux/gitlog-to-auctexlog contains[1]:

--8<---cut here---start->8---
# If this is not a Git repository, just generate an empty ChangeLog.
test -d .git || {
  >"$output"
  exit
}
--8<---cut here---end--->8---

Maybe Uwe has a .git directory in his setup, but it isn't a real .git
directory as Git would expect?

Footnotes:
[1]  
https://git.savannah.gnu.org/cgit/auctex.git/tree/build-aux/gitlog-to-auctexlog#n71



Re: [can't compile the main branch]

2024-04-24 Thread Ikumi Keita
> Uwe Brauer  writes:
 "SM" == Stefan Monnier  writes:
>>> Hence either
>>> 1) Uwe installs git

>> He does have Git installed.  He's just working in a directory that's not
>> under Git's control.

> That is correct. I prefer to clone the auctex devel repo with mercurial,
> since I am much more acquainted with mercurial, and therefore it is
> easier for me to make a new branch for testing, than it is with git.

I'm sorry, I was wrong about it. Uwe uses hg-git and the local repository
doesn't contain .git directory. I don't remember well what hg-git does,
but isn't there the "real" .git direcotry in the .hg directory? In other
words, I suspect the directory structure is

repo-dir -+- .hg -+- .git
  |   |
  +- bib-cite.el  +- FILES_FOR_MERCURIAL_REPO
  +- ...  +- ...

If this is correct, making symbolic link by
ln -s .hg/.git .
might be another mean to make gitlog-to-auctexlog work.

> I tried out also the repository that I cloned with git and encounter
> other problems, since my Emacs-repository-version  is 

> "7bf17ceee8c2d347917541e143ce25609e90ebbb"

> Even though emacs-version tells me 29.0.50

> And therefore too old.

This is another problem. I suggest to use master branch and stay away
from main branch until Uwe can use emacs 29.1 or newer.

Regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW



Re: compilation using git needs 10 minutes and fails

2024-04-24 Thread Arash Esbati
Uwe Brauer  writes:

> This function is not defined.
>
> emacs-version is a variable defined in ‘C source code’.
>
> Its value is "29.0.50"
>
> Version numbers of this version of Emacs.
>
> But 
>
> ,
> | emacs-repository-version is a variable defined in ‘version.el’.
> | 
> | Its value is "7bf17ceee8c2d347917541e143ce25609e90ebbb"
> `
>
>
> So in short, that might explain why I can't compile (or why it takes so
> long)?

This is one reason why you can't compile the current main branch.  This
doesn't explain the error:

  fatal: not a git repository (or any of the parent directories): .git

I suspect this has something to do with your Git-Mercurial
setup/workflow.  But let sort things out one after the other, Ok?

> If I understand you correctly: I should have a version, for the
> moment just for compiling the main auctex branch purpose, but not my
> daily use?

My understanding is that you're sticking to that Emacs 29.0.50 version
because of your BBDB setup.  If so, you can stick with that and wait
until we have a solution for older Emacs as well.  AUCTeX claims to
support Emacs≥27, so we can't only stay with `loaddefs-generate-batch'.

So in short, be a little patient :-)

> Since as I said if I compile and install say the current master version,
> I cannot use it in my daily workflow and could not test real world
> documents, at least not for the next two months.

Side note: I recommend you try to resolve this situation somehow.  Emacs
current release is 29.3.  Sitting on an old dev-version is not really
satisfactory, IMHO.

Best, Arash



Re: [can't compile the main branch]

2024-04-24 Thread Uwe Brauer
>>> "SM" == Stefan Monnier  writes:

>> Hence either
>> 1) Uwe installs git

> He does have Git installed.  He's just working in a directory that's not
> under Git's control.

That is correct. I prefer to clone the auctex devel repo with mercurial,
since I am much more acquainted with mercurial, and therefore it is
easier for me to make a new branch for testing, than it is with git.

I tried out also the repository that I cloned with git and encounter
other problems, since my Emacs-repository-version  is 

"7bf17ceee8c2d347917541e143ce25609e90ebbb"

Even though emacs-version tells me 29.0.50

And therefore too old.



>> 2) AUCTeX implements fallback in build-aux/gitlog-to-auctexlog
>> is necessary to have Changelog.

> IMO `build-aux/gitlog-to-auctexlog` should gracefully fail
> (e.g. generate an empty file, or put the Git error into that
> file).

Meaning that I should compile also my mercurial cloned repository, I presume?

> Stefan


-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


Re: [can't compile the main branch]

2024-04-24 Thread Stefan Monnier
> Hence either
> 1) Uwe installs git

He does have Git installed.  He's just working in a directory that's not
under Git's control.

> 2) AUCTeX implements fallback in build-aux/gitlog-to-auctexlog
> is necessary to have Changelog.

IMO `build-aux/gitlog-to-auctexlog` should gracefully fail
(e.g. generate an empty file, or put the Git error into that
file).


Stefan




Re: [can't compile the main branch]

2024-04-24 Thread Ikumi Keita
Hi Uwe,

> Uwe Brauer  writes:
> Thanks I applied the patch and run make EMACSBIN=/opt/emacs29/bin/emacs

> Result:
> fatal: not a git repository (or any of the parent directories): .git
> sed -e 's|@lisppackagelispdir@|(file-name-directory load-file-name)|'\
> -e 's|@lisppackagedatadir@|(file-name-directory load-file-name)|'\
> -e 's|@lispautodir@|(if (file-writable-p "/usr/local/var/auctex") 
> "/usr/local/var/auctex" "~/.emacs.d/auctex")|'\
> -e 's|@AUCTEXVERSION@|14.0.4.2024-04-24_08:10:19|'\
> -e 's|@AUCTEXDATE@|2024-04-24_08:10:19|'\
> tex-site.el.in >tex-site.el
> make: *** No rule to make target 'ChangeLog', needed by 'doc/version.texi'.  
> Stop.
> Sorry, still does not work

The GNUmakefile uses perl script build-aux/gitlog-to-auctexlog to
generate Changelog, and that script calls git internally. Thus Changelog
isn't generated without running git binary.

Hence either
1) Uwe installs git
2) AUCTeX implements fallback in build-aux/gitlog-to-auctexlog
is necessary to have Changelog.

Regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW



Re: compilation using git needs 10 minutes and fails

2024-04-24 Thread Uwe Brauer
>>> "AE" == Arash Esbati  writes:

> Yes, and we have to find out why.  If the Emacs you're using to compile
> AUCTeX doesn't have the function above, we can stop right away.  So
> please make you have an recent version at hand, then we can proceed.

On a second thought: do you and does anybody know, when this function
where introduced, I mean the commit? 
I could try to checkout this commit and try that out, maybe it is still
compatible with old elisp stuff.


-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


main branch: why not have make elpa or ./confiure --with-elpa

2024-04-24 Thread Uwe Brauer

Hi

Given the current difficulties of compiling the main branch, for users
that don't use Emacs > 29.1 or don't use git, but would like to test and
contribute say style files:

1. Could we leave things as if were, that is

   1. .configure stays,

   2. make

   3. make install

2. But make elpa is added?

3. Or add and option to configure ./configure --with-elpa

Unfortunately I don't know how to achieve that myself
-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


Re: compilation using git needs 10 minutes and fails

2024-04-24 Thread Uwe Brauer
>>> "AE" == Arash Esbati  writes:

> Uwe Brauer  writes:
>> Well, it compiled from master but 29.0.5 so pre 29.1

> What do you see if you do:

>   • emacs -Q
>   • C-h f loaddefs-generate-batch RET in scratch

This function is not defined.

--8<---cut here---start->8---
emacs-version is a variable defined in ‘C source code’.

Its value is "29.0.50"

Version numbers of this version of Emacs.
--8<---cut here---end--->8---

But 

,
| emacs-repository-version is a variable defined in ‘version.el’.
| 
| Its value is "7bf17ceee8c2d347917541e143ce25609e90ebbb"
`


So in short, that might explain why I can't compile (or why it takes so
long)? 



> This is what I get:

> loaddefs-generate-batch is an autoloaded Lisp function in
> ‘loaddefs-gen.el’.

> [Arg list not available until function definition is loaded.]

> Generate loaddefs.el files in batch mode.
> This scans for ;;;###autoload forms and related things.

> The first element on the command line should be the (main)
> loaddefs.el output file, and the rest are the directories to
> use.

 
>> the problem is that more recent emacs version cause sever problems
>> with my old bbdb package I using on a daily base (I wrote a lot of
>> useful add-ons that do not work on more recent bbdb version, mostly
>> because of renaming functions and changing syntax).

> BBDB is showing age, so I moved to EBDB, note that it has a manual as
> well ;-)

The problem are the add-ons, I need on a daily base and which I have to
rewrite. Mind you I am still using 2.35.

>> Point taken,

> Thanks.

>> but the compilation needs 10 minutes, 10! That makes testing
>> cumbersome, don't you agree?

> Yes, and we have to find out why.  If the Emacs you're using to compile
> AUCTeX doesn't have the function above, we can stop right away.  So
> please make you have an recent version at hand, then we can proceed.

It does not. So I cannot compile.

If I understand you correctly: I should have a version, for the
moment just for compiling the main auctex branch purpose, but not my
daily use? 

That would make testing, I mean real testing for a new feature for real
world documents difficult, 

Since as I said if I compile and install say the current master version,
I cannot use it in my daily workflow and could not test real world
documents, at least not for the next two months.


> For me, 'time make -j8' returns:

> real0m25.407s
> user2m35.401s
> sys 0m17.996s

> on a MacBook Air M2.

> Best, Arash


-- 
I strongly condemn Hamas heinous despicable pogroms/atrocities on Israel
I strongly condemn Putin's war of aggression against Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the EU and NATO membership of Ukraine. 



smime.p7s
Description: S/MIME cryptographic signature


[GNU-devel ELPA] Tarball build failure for auctex

2024-04-24 Thread ELPA update
The build scripts failed to build the tarball
for version 14.0.4.0.20240423.155206 of the package auctex.
You can consult the latest error output in the file
"auctex-build-failure.txt" in the GNU-devel ELPA archive web site.

You can also try and reproduce the error locally as follows:

git clone --single-branch https://git.sv.gnu.org/git/emacs/elpa.git
cd elpa
make  # Setup the infrastructure
make packages/auctex  # Create a worktree of the package
make build/auctex # Build the tarballs into archive(-devel)/

## The current error output was the following:

 Building tarball archive-devel/auctex-14.0.4.0.20240423.155206.tar...
call-process git ("status" "--porcelain")
call-process git ("clean" "-x" "-d" "-f")
Current revision is already desired revision!
Checking dependencies: ((emacs (27 1)))
call-sandboxed ("make" "elpa")
call-process bwrap ("--unshare-all" "--dev" "/dev" "--proc" "/proc" "--tmpfs" 
"/tmp" "--ro-bind" "/home/elpasync/elpa" "/home/elpasync/elpa" "--ro-bind" 
"/etc/emacs" "/etc/emacs" "--ro-bind" "/etc/alternatives" "/etc/alternatives" 
"--ro-bind" "/usr" "/usr" "--ro-bind" "/bin" "/bin" "--ro-bind" "/lib64" 
"/lib64" "--ro-bind" "/lib" "/lib" "--ro-bind" "/home/elpa/elpa/" 
"/home/elpa/elpa/" "--bind" "/home/elpa/elpa/packages/auctex/" 
"/home/elpa/elpa/packages/auctex/" "make" "elpa")
Deleting temp files: ((closure ((temp-buffer . #) 
(generated-files) (dir . "/home/elpa/elpa/packages/auctex/") elpaa--temp-files 
t) nil (let ((temp-buffer (generate-new-buffer " *temp*" t))) 
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let* 
((default-directory (elpaa--dirname dir))) (elpaa--call t "git" "clean" "-x" 
"-d" "-f") (elpaa--call t "git" "reset" "--hard")) (elpaa--message "%s" 
(buffer-string))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
call-process git ("clean" "-x" "-d" "-f")
call-process git ("reset" "--hard")
Removing ChangeLog
Removing README
Removing doc/preview-dtxdoc.texi
Removing doc/version.texi
Removing tex-site.el
HEAD is now at ff9b4e3810 Merge remote-tracking branch 'origin/master'

Build error for archive-devel/auctex-14.0.4.0.20240423.155206.tar: (error 
"Error-indicating exit code in elpaa--call-sandboxed:
make[1]: Entering directory '/home/elpa/elpa/packages/auctex'
(cd doc; makeinfo -D rawfile --no-headers intro.texi --output -) >README
(cd doc; makeinfo -D rawfile --no-headers preview-readme.texi --output -) >> 
README
sed -e 's|@lisppackagelispdir@|(file-name-directory load-file-name)|'\\
-e 's|@lisppackagedatadir@|(file-name-directory load-file-name)|'\\
-e 's|@lispautodir@|(if (file-writable-p \"/usr/local/var/auctex\") 
\"/usr/local/var/auctex\" \"~/.emacs.d/auctex\")|'\\
-e 's|@AUCTEXVERSION@|14.0.4.2024-04-23_17:52:06|'\\
-e 's|@AUCTEXDATE@|2024-04-23_17:52:06|'\\
tex-site.el.in >tex-site.el
echo @set VERSION 14.0.4.2024-04-23_17:52:06 >doc/version.texi
echo @set UPDATED 2024-04-23_17:52:06 >>doc/version.texi
perl doc/preview-dtxdoc.pl latex/preview.dtx doc/preview-dtxdoc.texi
cd latex; tex '\\nonstopmode \\input bootstrap.ins'
This is TeX, Version 3.141592653 (TeX Live 2022/Debian) (preloaded format=tex)

kpathsea: Running mktexfmt tex.fmt
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence 
order):
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt:   /home/elpa/.texlive2022/texmf-config/web2c/fmtutil.cnf
mktexfmt [INFO]: writing formats under /home/elpa/.texlive2022/texmf-var/web2c
mktexfmt [INFO]: Did not find entry for byfmt=tex skipped
mktexfmt [INFO]: total formats: 0
mktexfmt [INFO]: exiting with status 0
I can't find the format file `tex.fmt'!
make[1]: *** [GNUmakefile:116: latex/preview.sty] Error 1
make[1]: Leaving directory '/home/elpa/elpa/packages/auctex'
")
 Build of package archive-devel/auctex-14.0.4.0.20240423.155206.tar 
FAILED!!



Re: compilation using git needs 10 minutes and fails

2024-04-24 Thread Arash Esbati
Uwe Brauer  writes:

> Well, it compiled from master but 29.0.5 so pre 29.1

What do you see if you do:

  • emacs -Q
  • C-h f loaddefs-generate-batch RET in scratch

This is what I get:

--8<---cut here---start->8---
loaddefs-generate-batch is an autoloaded Lisp function in
‘loaddefs-gen.el’.

[Arg list not available until function definition is loaded.]

Generate loaddefs.el files in batch mode.
This scans for ;;;###autoload forms and related things.

The first element on the command line should be the (main)
loaddefs.el output file, and the rest are the directories to
use.
--8<---cut here---end--->8---
 
> the problem is that more recent emacs version cause sever problems
> with my old bbdb package I using on a daily base (I wrote a lot of
> useful add-ons that do not work on more recent bbdb version, mostly
> because of renaming functions and changing syntax).

BBDB is showing age, so I moved to EBDB, note that it has a manual as
well ;-)

> Point taken,

Thanks.

> but the compilation needs 10 minutes, 10! That makes testing
> cumbersome, don't you agree?

Yes, and we have to find out why.  If the Emacs you're using to compile
AUCTeX doesn't have the function above, we can stop right away.  So
please make you have an recent version at hand, then we can proceed.

For me, 'time make -j8' returns:

real0m25.407s
user2m35.401s
sys 0m17.996s

on a MacBook Air M2.

Best, Arash