master 44879847: Adjust ConTeXt options (bug#70399)

2024-04-21 Thread Ikumi Keita
branch: master
commit 44879847609f0ac14a18841a363012e5e979b8ca
Author: Ikumi Keita 
Commit: Ikumi Keita 

Adjust ConTeXt options (bug#70399)

* tex.el (TeX-command-list): Remove obsolete option "--texutil".
* context.el (ConTeXt-expand-options): Use "repeat" for synctex option
for the latest ConTeXt.
Don't add nonstop option when synctex option exists.
* doc/changes.texi: Mention the above changes.
---
 context.el   |  9 +++--
 doc/changes.texi | 14 ++
 tex.el   |  2 +-
 3 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/context.el b/context.el
index 29bbccd6..0d5b9adb 100644
--- a/context.el
+++ b/context.el
@@ -1747,8 +1747,13 @@ Use `ConTeXt-Mark-version' to choose the command."
((string= ConTeXt-Mark-version "IV")
 (concat
  (if TeX-source-correlate-mode
- "--synctex=1 ")
- (unless TeX-interactive-mode
+ "--synctex=repeat ")
+ ;; Omit nonstop option when we set synctex option.  According to
+ ;; Jim  in bug#70399 report,
+ ;; "if context is called with "--nonstopmode" (or "--nonstop")
+ ;;  the "--synctex=..." request to create a synctex file is
+ ;;  over-ridden."
+ (unless (or TeX-interactive-mode TeX-source-correlate-mode)
ConTeXt-texexec-option-nonstop)))
;; In any other case fall back on Mark II.
(t
diff --git a/doc/changes.texi b/doc/changes.texi
index 098195ac..cae91aa2 100644
--- a/doc/changes.texi
+++ b/doc/changes.texi
@@ -187,6 +187,20 @@ In Fold mode, the original source text is revealed when 
you click the
 folded portion by mouse.  You can customize the detailed behavior by
 new customize option @code{TeX-fold-auto-reveal}.
 
+@item
+@AUCTeX{} adjusts @ConTeXt{} option.
+@itemize @minus
+@item
+Obsolete option @option{--texutil} was removed.
+@item
+Now synctex option is @option{--synctex=repeat} instead of
+@option{--synctex=1} for @ConTeXt{}.
+@item
+@AUCTeX{} omits @option{--nonstop} option when
+@code{TeX-source-correlate-mode} is enabled because @command{context}
+ignores @option{--synctex} option if @option{--nonstop} is present.
+@end itemize
+
 @item
 @AUCTeX{} now requires GNU Emacs 27.1 or higher.
 @end itemize
diff --git a/tex.el b/tex.el
index 2ab35875..985cb71e 100644
--- a/tex.el
+++ b/tex.el
@@ -211,7 +211,7 @@ If nil, none is specified."
  TeX-run-TeX nil (AmSTeX-mode) :help "Run AMSTeX")
 ;; support for ConTeXt  --pg
 ;; first version of ConTeXt to support nonstopmode: 2003.2.10
-("ConTeXt" "%(cntxcom) --once --texutil %(extraopts) %(execopts)%t"
+("ConTeXt" "%(cntxcom) --once %(extraopts) %(execopts)%t"
  TeX-run-TeX nil (ConTeXt-mode) :help "Run ConTeXt once")
 ("ConTeXt Full" "%(cntxcom) %(extraopts) %(execopts)%t"
  TeX-run-TeX nil



master 195bceed: Supplement documentation

2024-04-23 Thread Ikumi Keita
branch: master
commit 195bceed828c7a16bed9c63a2db08ec1667a8264
Author: Ikumi Keita 
Commit: Ikumi Keita 

Supplement documentation

* doc/preview-latex.texi (The Emacs interface):
* preview.el.in (preview-leave-open-previews-visible):
Adjust and enhance the explanation of the new customize option.
---
 doc/preview-latex.texi | 7 ++-
 preview.el.in  | 8 +++-
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/doc/preview-latex.texi b/doc/preview-latex.texi
index 0c1fb730..0bce9747 100644
--- a/doc/preview-latex.texi
+++ b/doc/preview-latex.texi
@@ -674,7 +674,12 @@ current point should be temporarily opened.  Default value 
is @code{nil}.
 
 @item preview-leave-open-previews-visible
 This boolean variable determines whether to leave preview images visible
-(above their generating TeX code) when they are opened.
+when they are opened.
+
+There is a side effect in enabling this option.  The preview image doesn't
+turn into construction sign temporarily when you edit the underlying
+@LaTeX{} code and regenerate the preview; it is just replaced by updated
+image when ready.  This behavior suppresses flicker in the appearance.
 
 @end vtable
 
diff --git a/preview.el.in b/preview.el.in
index 1f65f728..a2c0235d 100644
--- a/preview.el.in
+++ b/preview.el.in
@@ -1213,7 +1213,13 @@ is located."
 (defcustom preview-leave-open-previews-visible nil
   "Whether to leave previews visible when they are opened.
 If nil, then the TeX preview icon is used when the preview is opened.
-If non-nil, then the preview image is moved above the text."
+If non-nil, then the preview image remains visible.  In either case, the
+TeX code appears either below or to the right of the displayed graphic.
+
+If you enable this option, the preview image doesn't turn into
+construction sign temporarily when you edit the underlying LaTeX code
+and regenerate the preview; it is just replaced by updated image when
+ready.  This behavior suppresses flicker in the appearance."
   :group 'preview-appearance
   :type 'boolean)
 



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: [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: [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 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



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



master 0e315c7f: Support indirect buffer

2024-04-25 Thread Ikumi Keita
branch: master
commit 0e315c7fbeed081addf369fd42e7206d83580bc5
Author: Vangelis Evangelou 
Commit: Ikumi Keita 

Support indirect buffer

* tex.el (TeX-buffer-file-name): New wrapper function for
`buffer-file-name'.  It returns base buffer's file name in indirect
buffer.
(TeX-master-file, TeX-normal-mode): Wrap the body in
`with-current-buffer' in case called in indirect buffer.
Omit an unused return value in `save-excursion' form.
(TeX-master-directory): Omit redundant optional argument for
`expand-file-name'.
* bib-cite.el:
* latex.el:
* preview.el.in:
* style/catchfilebetweentags.el:
* style/pdfsync.el:
* tex-info.el:
* tex.el:
* toolbar-x.el:
Replace call to `buffer-file-name' and reference to `buffer-file-name'
with call to `TeX-buffer-file-name' (or equivalent form).

Copyright-paperwork-exempt: yes
---
 bib-cite.el   |   2 +-
 doc/changes.texi  |  12 +++
 latex.el  |   4 +-
 preview.el.in |   8 +-
 style/catchfilebetweentags.el |   2 +-
 style/pdfsync.el  |   2 +-
 tex-info.el   |   2 +-
 tex.el| 223 ++
 toolbar-x.el  |   6 +-
 9 files changed, 142 insertions(+), 119 deletions(-)

diff --git a/bib-cite.el b/bib-cite.el
index 5a7de98f..7b425cac 100644
--- a/bib-cite.el
+++ b/bib-cite.el
@@ -1903,7 +1903,7 @@ If no master file, then return current default."
 ;; rather than\input file
 (re-search-forward "^[ \t]*\\(include\\|input\\){"
nil t
-   (buffer-file-name))
+   (TeX-buffer-file-name))
   (t
nil
 (cond
diff --git a/doc/changes.texi b/doc/changes.texi
index cae91aa2..0d57a654 100644
--- a/doc/changes.texi
+++ b/doc/changes.texi
@@ -11,6 +11,18 @@
 @heading News in 14.1
 
 @itemize @bullet
+@item
+@AUCTeX{} can be used with indirect buffers cloned from buffers visiting a
+file.  This feature allows having different perspectives of the same
+buffer (narrowing, folding, previewing, etc).  The indirect buffer has the
+same master file as its base buffer.
+
+In indirect buffer, @previewlatex{} works naturally for region preview
+such as @code{preview-region} (@kbd{C-c C-p C-r}), but document preview
+@code{preview-document} (@kbd{C-c C-p C-d}) puts preview images in the
+base buffer, not in the indirect buffer itself.  We expect this behavior
+doesn't matter because of the users' intent.
+
 @item
 @AUCTeX{} changes major mode names.  Its primary purpose is to avoid
 conflicts with Emacs built-in @TeX{} major modes.  It also improves
diff --git a/latex.el b/latex.el
index c5965b05..9e769e97 100644
--- a/latex.el
+++ b/latex.el
@@ -2569,7 +2569,7 @@ string."
 Initial input is the name of the file being visited in the
 current buffer, with extension.  If OPTIONAL is non-nil, insert
 it as an optional argument.  Use PROMPT as the prompt string."
-  (let ((name (file-name-nondirectory buffer-file-name)))
+  (let ((name (file-name-nondirectory (TeX-buffer-file-name
 (TeX-argument-insert
  (TeX-read-string
   (TeX-argument-prompt optional
@@ -2590,7 +2590,7 @@ current buffer, without extension.  If OPTIONAL is 
non-nil,
 insert it as an optional argument.  Use PROMPT as the prompt
 string."
   (let ((name (file-name-sans-extension
-   (file-name-nondirectory buffer-file-name
+   (file-name-nondirectory (TeX-buffer-file-name)
 (TeX-argument-insert
  (TeX-read-string
   (TeX-argument-prompt optional
diff --git a/preview.el.in b/preview.el.in
index 12500011..7b59a3de 100644
--- a/preview.el.in
+++ b/preview.el.in
@@ -3079,8 +3079,8 @@ pp")
#'desktop-buffer-preview-misc-data)
   (add-hook 'pre-command-hook #'preview-mark-point nil t)
   (add-hook 'post-command-hook #'preview-move-point nil t)
-  (when buffer-file-name
-(let* ((filename (expand-file-name buffer-file-name))
+  (when (TeX-buffer-file-name)
+(let* ((filename (expand-file-name (TeX-buffer-file-name)))
format-cons)
   (when (string-match (concat "\\." TeX-default-extension "\\'")
   filename)
@@ -4128,8 +4128,8 @@ The function bound to this variable will be called inside
  (if preview-preprocess-function
  (funcall preview-preprocess-function str)
str))
-   (if buffer-file-name
-   (file-name-nondirectory buffer-file-name)
+   (if (TeX-buffer-file-name)
+   (file-name-nondirectory (TeX-buffer-file-name))
  "")

Re: [can't compile the main branch]

2024-04-25 Thread Ikumi Keita
Hi all,

>>>>> Stefan Monnier  writes:
>> And I like the way the manual is formatted.  Compare this:
>> https://www.gnu.org/software/auctex/manual/auctex.html
>> with this:
>> https://elpa.gnu.org/devel/doc/auctex.html

> Hmm... nice.  FWIW, the elpa rendering is the same as that of

> https://www.gnu.org/software/emacs/manual/html_node/emacs/index.html

> not sure why https://www.gnu.org/software/auctex/manual/auctex.html is
> not as nice.

The reason must be that the traditional AUCTeX html manuals are
generated with texi2html, not makeinfo.

A while ago, I noticed that the preview-latex html manual lacks its
contents in the FAQ section[1] and am preparing to propose the attached
change to use makeinfo rather than texi2html, so that others can test
it. But it seems it's no longer necessary :-)

[1] all nodes below 
https://www.gnu.org/software/auctex/manual/preview-latex/Frequently-Asked-Questions.html

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

>From 37a225843d9995b308a36942f3d38fdfbaec9a46 Mon Sep 17 00:00:00 2001
From: Ikumi Keita 
Date: Thu, 18 Apr 2024 22:18:24 +0900
Subject: [PATCH] Immigrate from texi2html to makeinfo

* gendocs.sh.patch: New file. Copy from gendocspatch branch and arrange
for use with makeinfo.
* Makefile.in (www-doc): Arrange options for gendocs.sh for makeinfo.
Change URL to retrieve gendocs.sh.patch from master branch.
---
 Makefile.in  | 12 -
 gendocs.sh.patch | 67 
 2 files changed, 73 insertions(+), 6 deletions(-)
 create mode 100644 gendocs.sh.patch

diff --git a/Makefile.in b/Makefile.in
index bc2ea951..c2c8bf83 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -605,17 +605,17 @@ www-doc: check-tag
 	$(CP) auctex-$(TAG)/doc/*.texi $(WWWDIR)/manual
 	cd $(WWWDIR)/manual \
 	&& wget -O gendocs.sh 'https://cvs.savannah.gnu.org/viewvc/%2acheckout%2a/texinfo/texinfo/util/gendocs.sh' \
-	&& wget -O gendocs.sh.patch 'https://git.savannah.gnu.org/gitweb/?p=auctex.git;a=blob_plain;f=gendocs.sh.patch;hb=gendocspatch' \
+	&& wget -O gendocs.sh.patch 'https://git.savannah.gnu.org/gitweb/?p=auctex.git;a=blob_plain;f=gendocs.sh.patch;hb=master' \
 	&& patch https://cvs.savannah.gnu.org/viewvc/%2acheckout%2a/texinfo/texinfo/util/gendocs_template' \
 	&& sed -i -e 's/html_node\/index\.html/%%PACKAGE%%\/index.html/' gendocs_template \
 	&& mkdir .texinfo \
-	&& echo -e "emacs split https://www.gnu.org/software/emacs/manual/html_node/emacs/\nemacs mono https://www.gnu.org/software/emacs/manual/html_mono/emacs.html\nreftex split https://www.gnu.org/software/auctex/manual/reftex/\nreftex mono https://www.gnu.org/software/auctex/manual/reftex.html\n"; > .texinfo/htmlxref.cnf \
-	&& ./gendocs.sh --email bug-auc...@gnu.org --texi2html \
-	  --html --use-nodes auctex "AUCTeX Manual" \
-	&& ./gendocs.sh --email bug-auc...@gnu.org --texi2html \
-	  --html --use-nodes preview-latex "preview-latex Manual"
+	&& echo -e "emacs node https://www.gnu.org/software/emacs/manual/html_node/emacs/\nemacs mono https://www.gnu.org/software/emacs/manual/html_mono/emacs.html\nreftex node https://www.gnu.org/software/auctex/manual/reftex/\nreftex mono https://www.gnu.org/software/auctex/manual/reftex.html\n"; > .texinfo/htmlxref.cnf \
+	&& ./gendocs.sh --email bug-auc...@gnu.org \
+	  auctex "AUCTeX Manual" \
+	&& ./gendocs.sh --email bug-auc...@gnu.org \
+	  preview-latex "preview-latex Manual"
 
 preview-ball: check-tag
 	test ! -d $(PREVIEW_BUILD_DIR) || rm -r $(PREVIEW_BUILD_DIR)
diff --git a/gendocs.sh.patch b/gendocs.sh.patch
new file mode 100644
index ..3c3967ce
--- /dev/null
+++ b/gendocs.sh.patch
@@ -0,0 +1,67 @@
+--- gendocs.sh.orig	2014-10-29 14:25:47.404620794 +0100
 gendocs.sh	2014-10-29 14:35:45.812600075 +0100
+@@ -320,9 +320,9 @@
+ tar -czf "$abs_outdir/${PACKAGE}.html_$1.tar.gz" -- *.html
+   )
+   eval html_$1_tgz_size=`calcsize "$outdir/${PACKAGE}.html_$1.tar.gz"`
+-  rm -f "$outdir"/html_$1/*.html
+-  mkdir -p "$outdir/html_$1/"
+-  mv ${split_html_dir}/*.html "$outdir/html_$1/"
++  rm -f "$outdir"/${PACKAGE}/*.html
++  mkdir -p "$outdir/${PACKAGE}/"
++  mv ${split_html_dir}/*.html "$outdir/${PACKAGE}/"
+   rmdir ${split_html_dir}
+ }
+ 
+@@ -351,9 +351,9 @@
+   )
+   eval \
+ html_${split}_tgz_size=`calcsize "$outdir/$PACKAGE.html_$split.tar.gz"`
+-  rm -rf "$outdir/html_$split/"
+-  mv $split_html_dir "$outdir/html_$split/"
+-  du -s "$outdir/html_$split/"
++  rm -rf "$outdir/${PACKAGE}/"
++  mv $split_html_dir "$outdir/${PACKAGE}/"
++  du -s "$outdir/${PA

master 255da611: Add function TeX-master-output-file

2024-04-26 Thread Ikumi Keita
branch: master
commit 255da61131a20b1f72ce656bec5d4cf8ccf0f0ac
Author: Paul Nelson 
Commit: Ikumi Keita 

Add function TeX-master-output-file

* tex.el (TeX-master-output-file): New function.
---
 tex.el | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/tex.el b/tex.el
index 9fb533ff..d2864b5f 100644
--- a/tex.el
+++ b/tex.el
@@ -2608,6 +2608,16 @@ ARGNAME is prepended to the quoted output directory.  If
 (concat argname "\"" out-dir "\"")
   "")))
 
+(defun TeX-master-output-file (extension)
+  "Return the output file with given EXTENSION.
+If `TeX-output-dir' is nil, then defer to `TeX-master-file'.  Otherwise,
+return the file of the same name, but in the build directory specified by
+`TeX-output-dir'."
+  (let ((master (TeX-master-file extension)))
+(if-let ((output-dir (TeX--master-output-dir (TeX-master-directory) t)))
+(concat output-dir (file-name-nondirectory master))
+  master)))
+
 (defcustom TeX-style-local "style"
   "Directory containing hand generated TeX information.
 



main 56b5dab1: Recover compatibility with non-GNU sed

2024-04-27 Thread Ikumi Keita
branch: main
commit 56b5dab16630ea31dbcec239f10b04a3748c5408
Author: Ikumi Keita 
Commit: Ikumi Keita 

Recover compatibility with non-GNU sed

* GNUmakefile (LASTVERSION): Avoid syntax invalid for non-GNU sed.
---
 GNUmakefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/GNUmakefile b/GNUmakefile
index 507d69fd..4f90cd07 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -101,7 +101,8 @@ AUCTEXDATE:=$(shell (git log -n1 --pretty=tformat:"%ci" 
2>/dev/null \
 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 released version number from `auctex.el`.
-LASTVERSION:=$(shell sed -nre '/Version:/{s/;; Version: 
([0-9]+.[0-9]+.[0-9]+)/\1/p;q}' auctex.el)
+LASTVERSION:=$(shell grep "^;; Version:" auctex.el \
+ | sed -nre 's/;; Version: ([0-9]+.[0-9]+.[0-9]+)/\1/p;q')
 AUCTEXVERSION:=$(if $(THISVERSION),$(THISVERSION),$(LASTVERSION).$(AUCTEXDATE))
 
 tex-site.el: tex-site.el.in



Re: [PATCH] fix delete-property handling

2024-05-02 Thread Ikumi Keita
Hi Artem,

>>>>> Artem Yurchenko  writes:
> I haven't seen any objections, so I moved on with restoring the old
> behaviour.

Thank you for your cooperation.

>>> +(define-obsolete-variable-alias 'TeX-refuse-unmatched-dollar
>>> + 'TeX-refuse-nested-math "13.4"

>> The next AUCTeX version would be 14. (The ELPA releases already reached
>> 14.) So the version should be "14" or "14.1".

> Since I've restored the old behaviour, it makes sense to preserve the
> old variable name.

OK.

>> In general, an elisp function whose name ends with "-mode" is a major or
>> minor mode function, or is expected to do something related to major or
>> minor modes, at least within AUCTeX source. Thus I'd like you to change
>> this name `TeX-insert-dollar-mode' to `TeX-insert-dollar-action' or
>> something like that for coherency. (Since it can be considered as a
>> private helper function, you might as well assign it a name
>> "TeX--insert-..."; but that isn't much important.)

> Done. However, I don't want to make it private, since the helper could
> be useful to other electric modes, which can enable or disable
> features based on the operation mode.

OK.

>> In addition, I'd request to provide appropriate patches for
>> doc/auctex.texi and doc/changes.texi, too. :-)

> Done.

Thanks. I'll add one minor modification, in addition to some trivial
adjustments:
--
(defun TeX-insert-dollar-electric ()
  "Perform electric math symbol insertion.
See `TeX-electric-math'."
  (if (and (TeX-active-mark) (/= (point) (mark)))
  (TeX-insert-dollar-electric-region)
(insert (car TeX-electric-math))
(save-excursion (insert (cdr TeX-electric-math
  (TeX-math-input-method-off))   <-- CHANGED
--
I moved the call to `TeX-math-input-method-off' out of the `if' form in
my local repository so that it's called always when
`TeX-insert-dollar-electric' runs, because this is the current behavior
of `TeX-insert-dollar'.

Now I think AUCTeX can incorporate your patches. Did your copyright
assignment process finish? If not, I'll push the change to the git repo
after you notify us the completion of the process.

Best regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW



master 77497418: Fix compilation on Emacs 27

2024-05-09 Thread Ikumi Keita
branch: master
commit 774974185a1a49db4ff0d48121c33b77e0546a04
Author: Ikumi Keita 
Commit: Ikumi Keita 

Fix compilation on Emacs 27

* tex.el (require): Require subr-x for `if-let' introduced in
`TeX-master-output-file'.
---
 tex.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tex.el b/tex.el
index e13c02ce..749037b5 100644
--- a/tex.el
+++ b/tex.el
@@ -34,7 +34,8 @@
 (require 'custom)
 (require 'tex-site)
 (eval-when-compile
-  (require 'cl-lib))
+  (require 'cl-lib)
+  (require 'subr-x))
 (require 'texmathp)
 ;; seq.el is preloaded in Emacs 29, so the next form can be removed
 ;; once 29 is the minimum required Emacs version



Re: [PATCH] fix delete-property handling

2024-05-09 Thread Ikumi Keita
Hi Artem,

>>>>> Artem Yurchenko  writes:
>> I moved the call to `TeX-math-input-method-off' out of the `if' form in
>> my local repository so that it's called always when
>> `TeX-insert-dollar-electric' runs, because this is the current behavior
>> of `TeX-insert-dollar'.

> While it is indeed the current behaviour, it didn't seem right. When
> we call electric math on a region, we end up /outside/ of math
> mode. For example:

>   point bla-bla mark → press $ → $bla-bla$ point.

> So, if we're outside of math, why turn off the input methods?

Indeed! I'll revert it and let it be as you proposed again. Thank you.

>> Now I think AUCTeX can incorporate your patches. Did your copyright
>> assignment process finish? If not, I'll push the change to the git repo
>> after you notify us the completion of the process.

> It's been more than a month since I've sent my signed papers, and
> still no progress :( I have signed them though, I can send them here
> too. It's just the FSF signature that is missing.

Hmm, that's a pity. Arash, Tassilo, Mosè and David, what do you think
about it?

Best regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW



master 970787f9: Improve paragraph commands management for ConTeXt mode (bug#70811)

2024-05-14 Thread Ikumi Keita
branch: master
commit 970787f92d21447296c474bee954ac1ac3e0b8de
Author: Ikumi Keita 
Commit: Ikumi Keita 

Improve paragraph commands management for ConTeXt mode (bug#70811)

* context.el (ConTeXt-paragraph-commands): New customize option similar
to LaTeX counterpart.
(ConTeXt-extra-paragraph-commands): Provide proper defvar.
(ConTeXt-paragraph-commands-regexp-make): Rename from
`ConTeXt-paragraph-commands-regexp' for consistency with latex.el.
Include `ConTeXt-paragraph-commands' to generate the regexp.
(ConTeXt-paragraph-commands-regexp): Add alias for backward
compatibility.
(ConTeXt-set-paragraph-start): Factor out following latex.el.
(ConTeXt-paragraph-commands-add-locally): New convinience function
similar to LaTeX counterpart.
(ConTeXt-mode-cleanup): Use new functions.
---
 context.el | 63 +++---
 1 file changed, 48 insertions(+), 15 deletions(-)

diff --git a/context.el b/context.el
index 0d5b9adb..8b0c88ee 100644
--- a/context.el
+++ b/context.el
@@ -53,9 +53,6 @@
 (require 'latex) ; for functions like `TeX-look-at' and `LaTeX-split-long-menu'
 (require 'plain-tex) ; for `plain-TeX-common-initialization'
 
-;; Silence the compiler:
-(defvar ConTeXt-extra-paragraph-commands)
-
 (defgroup ConTeXt-macro nil
   "Special support for ConTeXt macros in AUCTeX."
   :prefix "TeX-"
@@ -1121,18 +1118,59 @@ If OPTIONAL, only insert it if not empty, and then use 
square brackets."
 (defvar ConTeXt-item-list ()
   "List of macro's considered items.")
 
-(defun ConTeXt-paragraph-commands-regexp ()
-  "Return a regexp matching macros that should have their own line."
+(defvar ConTeXt-extra-paragraph-commands nil
+  "List of default ConTeXt macros that should begin their own line.
+Unlike `ConTeXt-paragraph-commands', each entry should be a regular
+expression without leading backslash.
+Updated in language-specific initialization.")
+
+(defcustom ConTeXt-paragraph-commands nil
+  "List of user ConTeXt macros that should begin their own line.
+The list should contain macro names without the leading backslash.
+
+If you change this variable, its value is reflected to only new buffers
+created afterwards; existing ConTeXt mode buffers aren't affected."
+  :group 'ConTeXt-macro
+  :type '(repeat (string)))
+
+(defun ConTeXt-paragraph-commands-regexp-make ()
+  "Return a regexp matching macros that should begin their own line."
   (concat
-   (regexp-quote TeX-esc) "\\("
+   (regexp-quote TeX-esc) "\\(?:"
"[][]\\|"  ; display math delimitors (is this applicable to ConTeXt??)
(ConTeXt-environment-start-name) "\\|"
(ConTeXt-environment-stop-name) "\\|"
(mapconcat #'car ConTeXt-numbered-section-list "\\b\\|") "\\b\\|"
(mapconcat #'car ConTeXt-unnumbered-section-list "\\b\\|") "\\b\\|"
+   (mapconcat #'identity ConTeXt-paragraph-commands "\\b\\|") "\\b\\|"
(mapconcat #'identity ConTeXt-extra-paragraph-commands "\\b\\|")
"\\b\\|"
(mapconcat #'identity ConTeXt-item-list "\\b\\|") "\\b\\)"))
+;; Backward compatibility.
+(defalias 'ConTeXt-paragraph-commands-regexp
+  #'ConTeXt-paragraph-commands-regexp-make)
+
+(defun ConTeXt-set-paragraph-start ()
+  "Set `paragraph-start'."
+  (setq paragraph-start
+(concat
+ "[ \t]*\\(?:"
+ LaTeX-paragraph-commands-regexp "\\|"
+ "\\$\\$\\|" ; Plain TeX display math
+ "$\\)")))
+
+(defun ConTeXt-paragraph-commands-add-locally (commands)
+  "Make COMMANDS be recognized as paragraph commands.
+COMMANDS can be a single string or a list of strings which will be added
+to `ConTeXt-extra-paragraph-commands'.  Additionally
+`LaTeX-paragraph-commands-regexp' will be updated.
+This is mainly a convenience function which can be used in style files."
+  (unless (listp commands) (setq commands (list commands)))
+  (dolist (elt commands)
+(add-to-list 'ConTeXt-extra-paragraph-commands elt))
+  (setq-local LaTeX-paragraph-commands-regexp
+  (ConTeXt-paragraph-commands-regexp-make))
+  (ConTeXt-set-paragraph-start))
 
 
 ;; Outline support
@@ -1908,16 +1946,11 @@ Run after mode hooks and file local variables 
application."
(mapconcat #'identity ConTeXt-item-list "\\|")
"\\)\\>")))
 
-  ;; Don't do locally-bound test for `LaTeX-paragraph-commands-regexp'
-  ;; and `paragraph-start'.  See comments in similar part in latex.el.
   (setq-local LaTeX-paragraph-commands-regexp
-  (ConTeXt-paragraph-commands-regexp))

master 7b8ae52d 2/3: Amend TeX electric commands to allow alternative electric modes

2024-05-16 Thread Ikumi Keita
branch: master
commit 7b8ae52d828db69294abf0f79d8111e105a9595a
Author: Artem Yurchenko 
Commit: Ikumi Keita 

Amend TeX electric commands to allow alternative electric modes

1. In particular, we are splitting out the electric logic of
`TeX-insert-dollar'.

2. We've clarified that `TeX-refuse-unmatched-dollar' doesn't have an
effect when `TeX-electric-math' is non-nil.  The reason is that it's
complicated to support all math delimiters consistently, and the need
for this feature is unclear.  If there is a demand to support this in
the future, it can be done.  It's explained below in Appendix I.

3. We've removed the special case where
> If [[`TeX-electric-math']] non-nil and point is inside math
> mode right between a couple of single dollars, pressing `$'
> will insert another pair of dollar signs and leave the point
> between them.

4. We've changed `C-u $' to insert four dollars as opposed to one.  This
behavior is in-line with other symbols, in particular
`TeX-insert-quote' and `TeX-insert-backslash'.  If someone needs one
literal `$', they can type `C-1 $' or `C-q $'.

5. We've set appropriate `delete-selection' properties for
`TeX-insert-backslash', `TeX-newline' and `TeX-insert-dollar'.  See the
backstory below or the docstring for
`TeX--put-electric-delete-selection'.

6. We didn't fix `TeX-insert-quote'. Maybe later.

The backstory.

When a function bound to SYMBOL has optional «electric»
behavior, it might interfere with other «electric» modes,
e.g. `electric-pair-mode', `smartparens-mode'; see bug#47936.

As a way to «override» those modes, we use raw `insert' instead
of `self-insert-command'.  That prevents those electric modes
from running their hooks tied to `self-insert-command'.

However, when /our/ electric behavior is disabled (ELECTRICP is
nil), we want other electric modes to operate freely.  That
means, on the non-electric path, we should use
`self-insert-command' instead of `insert'.

Now, there arises an issue of `delete-selection'.  The electric
path usually doesn't want to delete selection, it wants to
operate some electricity on it; see bug#36385, bug#23177.  Now,
we could think that `delete-selection' for the non-electric path
should be t.  That would disable other electric modes from
working, as they also need to operate on selection.  The decision
is to inherit `delete-selection' from `self-insert-command',
which queries hooks from other electric modes to determine
whether deletion is necessary.

Appendix I.

To support a (generalized) TeX-insert-dollar with electric-math, we
would want the following.  We would want to forbid /arbitrary/ math mode
nesting, independent of the delimiter in TeX-electric-math.  However,
the naive approach causes issues with display math via "$$ bla-bla $$".
When the user presses $ once, they get "$-!-$".  When they press $
again, they can't get "$$-!-$$", because that is considered as "nested
math".  A simple way to fix this would be to special-case handling of a
dollar insert.  However, a more satisfactory way would be to "cycle"
through inline math, display math and no math on $ presses.  We actually
already implement that behavior on $ presses on a region.

* tex.el: (TeX-insert-dollar-electric-region, TeX-insert-dollar-electric):
(TeX--blink-matching-dollar, TeX-insert-dollar-action):
New function to refactor `TeX-insert-dollar'.
(TeX-insert-dollar): Use them.
(TeX-insert-dollar-1): Remove.
(TeX-electric-math, TeX-refuse-unmatched-dollar): Adjust the doc stirng.
(): Add appropriate `delete-selection' property to
`TeX-insert-backslash', `TeX-insert-dollar' and `TeX-insert-quote'.
---
 tex.el | 271 -
 1 file changed, 135 insertions(+), 136 deletions(-)

diff --git a/tex.el b/tex.el
index 2235df27..503a54b3 100644
--- a/tex.el
+++ b/tex.el
@@ -5141,6 +5141,9 @@ This function implements the idea from the last 
paragraph."
   (TeX-electric-macro)
 (self-insert-command arg)))
 
+(TeX--put-electric-delete-selection
+ #'TeX-insert-backslash (lambda () TeX-electric-escape))
+
 (defun TeX-insert-sub-or-superscript (arg)
   "Insert typed key ARG times and possibly a pair of braces.
 Brace insertion is only done if point is in a math construct and
@@ -5155,6 +5158,8 @@ Brace insertion is only done if point is in a math 
construct and
   "Call the function specified by the variable `TeX-newline-func

master 3b0becf0 1/3: Split out the electric version of `LaTeX-insert-left-brace'

2024-05-16 Thread Ikumi Keita
branch: master
commit 3b0becf00535f77d47db8e39e17a726504254f53
Author: Artem Yurchenko 
Commit: Ikumi Keita 

Split out the electric version of `LaTeX-insert-left-brace'

Set the proper `delete-selection` property.

The backstory.

When a function bound to SYMBOL has optional «electric»
behavior, it might interfere with other «electric» modes,
e.g. `electric-pair-mode', `smartparens-mode'; see bug#47936.

As a way to «override» those modes, we use raw `insert' instead
of `self-insert-command'.  That prevents those electric modes
from running their hooks tied to `self-insert-command'.

However, when /our/ electric behavior is disabled (ELECTRICP is
nil), we want other electric modes to operate freely.  That
means, on the non-electric path, we should use
`self-insert-command' instead of `insert'.

Now, there arises an issue of `delete-selection'.  The electric
path usually doesn't want to delete selection, it wants to
operate some electricity on it; see bug#36385, bug#23177.  Now,
we could think that `delete-selection' for the non-electric path
should be t.  That would disable other electric modes from
working, as they also need to operate on selection.  The decision
is to inherit `delete-selection' from `self-insert-command',
which queries hooks from other electric modes to determine
whether deletion is necessary.

The changelog.

* tex.el (TeX--put-electric-delete-selection): New function, sets
the appropriate `delete-selection' property for electric functions.

* latex.el (LaTeX-insert-left-brace): Split out electric logic
into a few function `LaTeX-insert-left-brace-electric'
Set appropriate `delete-selection'.
---
 latex.el | 123 ---
 tex.el   |  42 ++
 2 files changed, 96 insertions(+), 69 deletions(-)

diff --git a/latex.el b/latex.el
index e66f4116..67680cee 100644
--- a/latex.el
+++ b/latex.el
@@ -3285,80 +3285,65 @@ supply the corresponding macro such as \\right before 
the right brace macro."
 (LaTeX-insert-corresponding-right-macro-and-brace
  left-macro left-brace optional)
 
+(defun LaTeX-insert-left-brace-electric (brace)
+  "Insert typed left BRACE and a corresponding right brace.
+
+BRACE should be a character.  See `LaTeX-insert-left-brace' for
+allowed BRACE values."
+  (when (and (TeX-active-mark) (> (point) (mark)))
+(exchange-point-and-mark))
+  (let ((lbrace (char-to-string brace)) lmacro skip-p)
+;; Use `insert' rather than `self-insert-command' so that
+;; unexpected side effects from `post-self-insert-hook',
+;; e.g. `electric-pair-mode', won't mess up the following
+;; outcomes. (bug#47936)
+(insert brace)
+(save-excursion
+  (backward-char)
+  ;; The brace "{" is exceptional in two aspects.
+  ;; 1. "\{" should be considered as a single brace
+  ;;like "(" and "[".
+  ;; 2. "\left{" is nonsense while "\left\{" and
+  ;;"\left(" are not.
+  (if (string= lbrace TeX-grop)
+  ;; If "{" follows "\", set lbrace to "\{".
+  (if (TeX-escaped-p)
+  (progn
+(backward-char)
+(setq lbrace (concat TeX-esc TeX-grop)))
+;; Otherwise, don't search for left macros.
+(setq skip-p t)))
+  (unless skip-p
+;; Obtain the name of preceding left macro, if any,
+;; such as "left", "bigl" etc.
+(setq lmacro (LaTeX--find-preceding-left-macro-name
+(let ((TeX-arg-right-insert-p t)
+  ;; "{" and "}" are paired temporally so that typing
+  ;; a single "{" should insert a pair "{}".
+  (TeX-braces-association
+   (cons (cons TeX-grop TeX-grcl) TeX-braces-association)))
+  (save-excursion
+(if (TeX-active-mark)
+(goto-char (mark)))
+(LaTeX-insert-corresponding-right-macro-and-brace
+ lmacro lbrace)
+
 (defun LaTeX-insert-left-brace (arg)
-  "Insert typed left brace ARG times and possibly a correspondig right brace.
+  "Insert typed left brace ARG times and possibly a corresponding right brace.
 Automatic right brace insertion is done only if no prefix ARG is given and
 `LaTeX-electric-left-right-brace' is non-nil.
 Normally bound to keys \(, { and [."
   (interactive "*P")
-  ;; If you change the condition for `auto-p', adjust the condition in
-  ;; the `delete-selection' property, just below this defun, accordingly.
-  (let ((auto-p (and LaTeX-electric-left-right-brace (not arg
-  

master updated (dc1a8ee5 -> 45ee2f9e)

2024-05-16 Thread Ikumi Keita
ikumi pushed a change to branch master.

  from  dc1a8ee5  Delete `LaTeX-env-contents'
   new  3b0becf0  Split out the electric version of 
`LaTeX-insert-left-brace'
   new  7b8ae52d  Amend TeX electric commands to allow alternative electric 
modes
   new  45ee2f9e  Update documentaion on changes related to delete-selection


Summary of changes:
 doc/auctex.texi  |  17 ++-
 doc/changes.texi |  34 +-
 latex.el | 123 ++
 tex.el   | 313 +++
 4 files changed, 270 insertions(+), 217 deletions(-)



master 45ee2f9e 3/3: Update documentaion on changes related to delete-selection

2024-05-16 Thread Ikumi Keita
branch: master
commit 45ee2f9e674a82037c5d67d8851721255b8237d0
Author: Artem Yurchenko 
Commit: Ikumi Keita 

Update documentaion on changes related to delete-selection

* doc/auctex.texi:
* doc/changes.texi:
Update documentaion on changes related to delete-selection.
---
 doc/auctex.texi  | 17 ++---
 doc/changes.texi | 34 +-
 2 files changed, 39 insertions(+), 12 deletions(-)

diff --git a/doc/auctex.texi b/doc/auctex.texi
index ca1eb339..e6bd045a 100644
--- a/doc/auctex.texi
+++ b/doc/auctex.texi
@@ -413,7 +413,7 @@ first dollar sign.
 
 @deffn Command TeX-insert-dollar @var{arg}
 @kindex $
-(@kbd{$}) Insert dollar sign.
+(@kbd{$}) Insert dollar sign (or another math delimiter).
 
 Show matching dollar sign if this dollar sign end the @TeX{} math mode.
 
@@ -437,14 +437,6 @@ Besides @code{nil}, possible values for this variable are 
@code{("$"
 . "$")} for @TeX{} inline equations @samp{$...$}, and @code{("\(" . "\)")}
 for @LaTeX{} inline equations @samp{\(...\)}.
 
-If the variable is non-@code{nil} and point is inside math mode right
-between a couple of single dollars, pressing @kbd{$} will insert another
-pair of dollar signs and leave the point between them.  Thus, if
-@code{TeX-electric-math} is set to @code{("$" . "$")} you can easily
-obtain a @TeX{} display equation @samp{$$...$$} by pressing @kbd{$} twice
-in a row.  (Note that you should not use double dollar signs in @LaTeX{}
-because this practice can lead to wrong spacing in typeset documents.)
-
 In addition, when the variable is non-@code{nil} and there is an active
 region outside math mode, typing @kbd{$} will put around the active region
 symbols for opening and closing inline equation and keep the region
@@ -469,6 +461,9 @@ following to your init file
 
 Math mode which didn't start with dollar(s) shouldn't be closed with dollar.
 @defopt TeX-refuse-unmatched-dollar
+This option @emph{has no effect} when @code{TeX-electric-math} is
+non-@code{nil}.
+
 This option determines the behavior when the user types @kbd{$} at a
 position where @AUCTeX{} thinks that it is in math mode which didn't start
 with dollar(s).
@@ -5326,7 +5321,7 @@ Here is a simple example of a style file.
 
 (TeX-add-style-hook
  "book"
- (lambda () 
+ (lambda ()
(LaTeX-largest-level-set "part"))
  TeX-dialect)
 @end lisp
@@ -6290,7 +6285,7 @@ buffer.  Note that you can make, say @samp{Makeinfo}, the 
default by
 adding this statement in your init file:
 
 @lisp
-(add-hook 'Texinfo-mode-hook 
+(add-hook 'Texinfo-mode-hook
   (lambda () (setq TeX-command-default "Makeinfo")))
 @end lisp
 
diff --git a/doc/changes.texi b/doc/changes.texi
index 0d57a654..7a5f95fe 100644
--- a/doc/changes.texi
+++ b/doc/changes.texi
@@ -213,6 +213,38 @@ Now synctex option is @option{--synctex=repeat} instead of
 ignores @option{--synctex} option if @option{--nonstop} is present.
 @end itemize
 
+@item
+@code{LaTeX-insert-left-brace}, @code{TeX-insert-dollar} and
+@code{TeX-insert-backslash} now have appropriate @code{delete-selection}
+properties, that differentiate between the ``electric'' and
+``just-insert-the-symbol'' behavior.  That should simplify cooperation
+with other electric modes.
+
+As a result of this adjustment, the behavior of @code{TeX-insert-dollar}
+is affected in some ways:
+@itemize @minus
+@item
+With raw prefix argument @kbd{C-u}, @kbd{$} (@code{TeX-insert-dollar}) now
+inserts four dollars as opposed to one.  This behavior is in-line with
+other symbols, in particular @kbd{"} (@code{TeX-insert-quote}) and @kbd{\}
+(@code{TeX-insert-backslash}).  If you need one literal @samp{$}, you can
+type @kbd{C-1 $} or @kbd{C-q $}.
+@item
+We no longer have explicit support of the special behavior that
+if @code{TeX-electric-math} is non-nil and point is inside math
+mode right between a couple of single dollars, pressing @kbd{$}
+will insert another pair of dollar signs and leave the point
+between them.
+
+It still works as before if @code{TeX-electric-math} is pair of dollars
+while it inserts @samp{\(} and @samp{\)} when @code{TeX-electric-math} is
+@code{("\(" . "\)")}.
+@item
+When @code{TeX-electric-math} is a pair of dollars and the point is in
+inline math (without active region, @kbd{$} inserts two dollars, not one
+dollar which just closes the math mode.
+@end itemize
+
 @item
 @AUCTeX{} now requires GNU Emacs 27.1 or higher.
 @end itemize
@@ -1621,7 +1653,7 @@ Verbatim commands like @samp{\verb|...|} will not be 
broken anymore
 during filling.
 
 @item
-You can customize the completion for graphic files with 
+You can customize the completion for graphic files with
 @code{LaTeX-includegraphics-read-file}.
 
 @item



Re: [PATCH] fix delete-property handling

2024-05-16 Thread Ikumi Keita
>>>>> Artem Yurchenko  writes:
> Hi, Ikumi,
> I have finally got my assignment back!

Thank you! I pushed your changesets to the git repository. I'm happy to
have your nice contribution and thank for your patiance.

Best regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW



master 8485b4bb: ; * doc/changes.texi: Fix typo.

2024-05-24 Thread Ikumi Keita
branch: master
commit 8485b4bbdf6a38c741a62a37fdfdafafdca9d168
Author: Ikumi Keita 
Commit: Ikumi Keita 

; * doc/changes.texi: Fix typo.
---
 doc/changes.texi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/changes.texi b/doc/changes.texi
index 7a5f95fe..a8de7322 100644
--- a/doc/changes.texi
+++ b/doc/changes.texi
@@ -241,7 +241,7 @@ while it inserts @samp{\(} and @samp{\)} when 
@code{TeX-electric-math} is
 @code{("\(" . "\)")}.
 @item
 When @code{TeX-electric-math} is a pair of dollars and the point is in
-inline math (without active region, @kbd{$} inserts two dollars, not one
+inline math (without active region), @kbd{$} inserts two dollars, not one
 dollar which just closes the math mode.
 @end itemize
 



Re: master 45ee2f9e 3/3: Update documentaion on changes related to delete-selection

2024-05-24 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
>> +When @code{TeX-electric-math} is a pair of dollars and the point is in
>> +inline math (without active region, @kbd{$} inserts two dollars, not one
>^
> Thanks for the change.  Is the above possibly a typo or is closing
> parenthesis missing?

Ah, I think so. I just pushed the fix. Thanks for spotting this.

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



tex-site.elc generation on main branch

2024-05-25 Thread Ikumi Keita
Hi all,

On the main branch, tex-site.elc isn't generated at the first "make"
after "make clean" because expansion of $(wildcard *.el style/*.el) in
GNUmakefile doesn't include tex-site.el which doesn't exist yet when we
issue the "make".

Does it make sense to apply the attached patch for the reproducibility?
(It includes addition to lpath.el to suppress spurious generation of
lpath.elc as well.)

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



Re: tex-site.elc generation on main branch

2024-05-25 Thread Ikumi Keita
>>>>> Uwe Brauer  writes:
> Difficult to say, because there is no attached patch 😉

Sorry!

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

>From 6b1c1f6da312fc113a80bedabf703f8cff5cd6d6 Mon Sep 17 00:00:00 2001
From: Ikumi Keita 
Date: Sat, 27 Apr 2024 18:23:45 +0900
Subject: [PATCH] Tune byte compile condition

* lpath.el: Add appropriate file local variables section to suppress
spurious byte compile.
* GNUmakefile: Make sure that tex-site.elc is generated.
---
 GNUmakefile | 2 +-
 lpath.el| 6 ++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/GNUmakefile b/GNUmakefile
index 4f90cd07..73bdeace 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -42,7 +42,7 @@ ALL_GENERATED_FILES=$(MAIN_GENERATED_FILES)	\
 # Generate & compile everything including the manuals below doc/.
 all: $(ALL_GENERATED_FILES) compile auctex-autoloads.el
 
-compile: $(patsubst %.el,%.elc,$(wildcard *.el style/*.el))
+compile: $(patsubst %.el,%.elc,$(wildcard *.el style/*.el)) tex-site.elc
 
 # 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
diff --git a/lpath.el b/lpath.el
index f43a9841..021ed463 100644
--- a/lpath.el
+++ b/lpath.el
@@ -11,3 +11,9 @@
   (add-to-list 'load-path (expand-file-name "style" auctex-dir))
   (setq TeX-lisp-directory ""
 TeX-auto-global ""))
+
+;; Local Variables:
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; no-native-compile: t
+;; End:
-- 
2.44.0



main 6b1c1f6d: Tune byte compile condition

2024-05-25 Thread Ikumi Keita
branch: main
commit 6b1c1f6da312fc113a80bedabf703f8cff5cd6d6
Author: Ikumi Keita 
Commit: Ikumi Keita 

Tune byte compile condition

* lpath.el: Add appropriate file local variables section to suppress
spurious byte compile.
* GNUmakefile: Make sure that tex-site.elc is generated.
---
 GNUmakefile | 2 +-
 lpath.el| 6 ++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/GNUmakefile b/GNUmakefile
index 4f90cd07..73bdeace 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -42,7 +42,7 @@ ALL_GENERATED_FILES=$(MAIN_GENERATED_FILES)   \
 # Generate & compile everything including the manuals below doc/.
 all: $(ALL_GENERATED_FILES) compile auctex-autoloads.el
 
-compile: $(patsubst %.el,%.elc,$(wildcard *.el style/*.el))
+compile: $(patsubst %.el,%.elc,$(wildcard *.el style/*.el)) tex-site.elc
 
 # 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
diff --git a/lpath.el b/lpath.el
index f43a9841..021ed463 100644
--- a/lpath.el
+++ b/lpath.el
@@ -11,3 +11,9 @@
   (add-to-list 'load-path (expand-file-name "style" auctex-dir))
   (setq TeX-lisp-directory ""
 TeX-auto-global ""))
+
+;; Local Variables:
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; no-native-compile: t
+;; End:



Re: tex-site.elc generation on main branch

2024-05-25 Thread Ikumi Keita
>>>>> Arash Esbati  writes:
> Uwe Brauer  writes:
>> Ok, the compilation takes awfully long. Tassilo explained why, but it
>> is really annoying and makes testing a bit cumbersome .

> Do you run make with the '-j' switch?  I tried building AUCTeX on my old
> Windows box with 'time make -j8' and it took around 2:20 minutes.  The
> same process takes 0:22 minutes on my Macbook Air M2.  I agree, it takes
> longer than it used to, but there are reasons to do so.

>> But it works! 
>> tex-site.elc is generated
>> 
>> So I think your patch provides  a working solution.

> Thanks for testing, I also think Keita's patch is good.

Thank you both. I pushed the fix.

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



master 56debb63: Populate `semantic-symref-filepattern-alist' (bug#71245)

2024-06-03 Thread Ikumi Keita
branch: master
commit 56debb635d3d768500c86bce54cf4eaf42502e86
Author: David Fussner 
Commit: Ikumi Keita 

Populate `semantic-symref-filepattern-alist' (bug#71245)

* context.el:
* latex.el:
* plain-tex.el: Make sure all modes have an entry in the alist, and also
that the ".tex" extension is included where necessary.
---
 context.el   |  7 +++
 latex.el |  3 ++-
 plain-tex.el | 14 ++
 3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/context.el b/context.el
index 8b0c88ee..0caab223 100644
--- a/context.el
+++ b/context.el
@@ -1861,6 +1861,13 @@ that is, you do _not_ have to cater for this yourself by 
adding \\=' or $."
 
 (TeX-abbrev-mode-setup ConTeXt-mode context-mode-abbrev-table)
 
+(defvar semantic-symref-filepattern-alist) ; Silence compiler
+(with-eval-after-load 'semantic/symref/grep
+  ;; This entry is necessary for M-? to work.
+  ;; https://lists.gnu.org/r/auctex-devel/2023-09/msg2.html>
+  ;; https://lists.gnu.org/r/auctex-devel/2023-09/msg5.html>
+  (push '(ConTeXt-mode "*.[tT]e[xX]") semantic-symref-filepattern-alist))
+
 (defun ConTeXt-mode-common-initialization ()
   "Initialization code that is common for all ConTeXt interfaces."
   (plain-TeX-common-initialization)
diff --git a/latex.el b/latex.el
index d0a9ee6f..ba759291 100644
--- a/latex.el
+++ b/latex.el
@@ -8195,7 +8195,8 @@ This happens when \\left is inserted."
   ;; This entry is necessary for M-? to work.
   ;; https://lists.gnu.org/r/auctex-devel/2023-09/msg2.html>
   ;; https://lists.gnu.org/r/auctex-devel/2023-09/msg5.html>
-  (push '(LaTeX-mode "*.ltx" "*.sty" "*.cls" "*.clo" "*.bbl" "*.drv" "*.hva")
+  (push '(LaTeX-mode "*.[tT]e[xX]" "*.ltx" "*.sty" "*.cl[so]" "*.bbl"
+ "*.drv" "*.hva")
 semantic-symref-filepattern-alist))
 
 (declare-function LaTeX-preview-setup "preview")
diff --git a/plain-tex.el b/plain-tex.el
index 2b777869..9bd48eb3 100644
--- a/plain-tex.el
+++ b/plain-tex.el
@@ -118,6 +118,14 @@ plain-TeX file, or any mode derived thereof.  See variable
 
 (TeX-abbrev-mode-setup plain-TeX-mode plain-tex-mode-abbrev-table)
 
+(defvar semantic-symref-filepattern-alist) ; Silence compiler
+(with-eval-after-load 'semantic/symref/grep
+  ;; This entry is necessary for M-? to work.
+  ;; https://lists.gnu.org/r/auctex-devel/2023-09/msg2.html>
+  ;; https://lists.gnu.org/r/auctex-devel/2023-09/msg5.html>
+  (push '(plain-TeX-mode "*.[tT]e[xX]" "*.ins")
+semantic-symref-filepattern-alist))
+
 ;; Delete alias predefined in tex-mode.el so that AUCTeX autoload
 ;; takes precedence.
 ;;;###autoload (if (eq (symbol-function 'plain-TeX-mode) 'plain-tex-mode)
@@ -318,6 +326,12 @@ that is, you do _not_ have to cater for this yourself by 
adding \\=' or $."
   :type 'hook
   :group 'TeX-misc)
 
+(with-eval-after-load 'semantic/symref/grep
+  ;; This entry is necessary for M-? to work.
+  ;; https://lists.gnu.org/r/auctex-devel/2023-09/msg2.html>
+  ;; https://lists.gnu.org/r/auctex-devel/2023-09/msg5.html>
+  (push '(AmSTeX-mode "*.[tT]e[xX]") semantic-symref-filepattern-alist))
+
 ;;;###autoload
 (define-derived-mode AmSTeX-mode plain-TeX-mode "AmS-TeX"
   "Major mode in AUCTeX for editing AmSTeX files.



Re: Deleting some obsolete variables

2024-06-20 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> Hi Keita,
> with commit d7e6fa0d41, you added some comments about the variables
> below:
> ;; The following variables are no longer used, but kept in case some
> ;; foreign code uses any of them.
> (defvar TeX-symbol-marker nil)
> (defvar TeX-symbol-marker-pos 0)
> (defvar TeX-dollar-sign ?$)
> (defconst TeX-dollar-string (char-to-string TeX-dollar-sign))
> (defconst TeX-dollar-regexp
>   (concat "^" (regexp-quote TeX-dollar-string) "\\|[^" TeX-esc "]"
>   (regexp-quote TeX-dollar-string)))
> (make-obsolete-variable 'TeX-symbol-marker nil "AUCTeX 9.9d++")
> (make-obsolete-variable 'TeX-symbol-marker-pos nil "AUCTeX 9.9d++")
> (make-obsolete-variable 'TeX-dollar-sign nil "AUCTeX 9.9d++")
> (make-obsolete-variable 'TeX-dollar-string nil "AUCTeX 9.9d++")
> (make-obsolete-variable 'TeX-dollar-regexp nil "AUCTeX 9.9d++")
> The commit isn't that old, but can we remove the block above entirely
> from AUCTeX?  9.9d was long time ago.  WDYT?

Yes, I think we can. If I don't see objections, I'll delete the block in
a few days.

Best regards,
Ikumi Keita
#StandWithUkraine #StopWarInUkraine
#Gaza #StopMassiveKilling #CeasefireNOW



Re: Deleting some obsolete variables

2024-06-20 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
>> Yes, I think we can. If I don't see objections, I'll delete the block in
>> a few days.

> Great, thanks.  While we're at it: Do we still need the
> 'feature/fix-mode-names-overlap' branch or can you delete that as well?

Ah, OK. I'll delete that, too.

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



master c571713a: Add some font commands to default prauctex.cfg (bug#71690)

2024-06-20 Thread Ikumi Keita
branch: master
commit c571713a1f0013f8fb10e1e458eeadf4b8fbc797
Author: Ikumi Keita 
Commit: Ikumi Keita 

Add some font commands to default prauctex.cfg (bug#71690)

* latex/preview.dtx (subsection{The \texttt{auctex} option}): Add
\textbf, \textnormal, \textulc, \textmd, \textup and \textsw to the
commands ignored by preview-latex.
(): Update checksum.
---
 latex/preview.dtx | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/latex/preview.dtx b/latex/preview.dtx
index 23f5b2da..23624456 100644
--- a/latex/preview.dtx
+++ b/latex/preview.dtx
@@ -20,7 +20,7 @@
 % Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
 % Boston, MA 02110-1301  USA
 % \fi
-% \CheckSum{1758}
+% \CheckSum{1770}
 % \GetFileInfo{preview.sty}
 % \date{\filedate}
 % \author{David Kastrup\thanks{\texttt{bug-auc...@gnu.org}}}
@@ -1427,11 +1427,17 @@ Please complain to your document class author}%
 %\PreviewMacro*[?[{@{[]}}{}][#1]\item
 %\PreviewMacro*\emph
 %\PreviewMacro*\textrm
+%\PreviewMacro*\textbf
 %\PreviewMacro*\textit
 %\PreviewMacro*\textsc
 %\PreviewMacro*\textsf
 %\PreviewMacro*\textsl
 %\PreviewMacro*\texttt
+%\PreviewMacro*\textulc
+%\PreviewMacro*\textmd
+%\PreviewMacro*\textnormal
+%\PreviewMacro*\textup
+%\PreviewMacro*\textsw
 %\PreviewMacro*\textcolor
 %\PreviewMacro*\mbox
 %\PreviewMacro*[][#1{}]\author



Re: Deleting `TeX-Omega-mode'

2024-06-20 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> in tex.el, we have:
> (define-minor-mode TeX-Omega-mode
>   "Minor mode for using the Omega engine."
>   :init-value nil :lighter nil :keymap nil
>   :group 'TeX-command
>   (TeX-engine-set (if TeX-Omega-mode 'omega 'default)))
> (defalias 'tex-omega-mode #'TeX-Omega-mode)
> (make-obsolete 'TeX-Omega-mode #'TeX-engine-set "11.86")
> (make-obsolete-variable 'TeX-Omega-mode 'TeX-engine "11.86")
> Does anyone object if I remove this after 14 years of obsolescence?

I don't mind it, but shouldn't we delete many other Omega related stuffs
(for example, "omega" entry in `TeX-engine-alist-builtin') as well?

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



master 889d0615: Improve suggestion in the manual

2024-06-21 Thread Ikumi Keita
branch: master
commit 889d0615441143f09e04c028e582cc9c859e1ac4
Author: Ikumi Keita 
Commit: Ikumi Keita 

Improve suggestion in the manual

* doc/preview-latex.texi (Misplaced previews): Add \AtBeginDocument to
the suggested solution.
Refill the paragraph.
---
 doc/preview-latex.texi | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/doc/preview-latex.texi b/doc/preview-latex.texi
index 84d80be1..e9e03fd5 100644
--- a/doc/preview-latex.texi
+++ b/doc/preview-latex.texi
@@ -789,12 +789,12 @@ of those previews is goofed up, you will not be able to 
regenerate them
 by clicking on them.  The default behaviour is thus somewhat undesirable.
 
 The solution (like with other preview problems) is to tell the @LaTeX{}
-@samp{preview} package how to tackle this problem (@pxref{The LaTeX
-style file}).  Simply, you don't need @code{\emph} do anything at all
-during previews! You only want the text math previewed, so the solution
-is to use @code{\PreviewMacro*\emph} in the preamble of your document
-which will make @LaTeX{} ignore @code{\emph} completely as long as it is
-not part of a larger preview (in which case it gets typeset as
+@samp{preview} package how to tackle this problem (@pxref{The LaTeX style
+file}).  Simply, you don't need @code{\emph} do anything at all during
+previews! You only want the text math previewed, so the solution is to use
+@code{\AtBeginDocument@{\PreviewMacro*\emph@}} in the preamble of your
+document which will make @LaTeX{} ignore @code{\emph} completely as long
+as it is not part of a larger preview (in which case it gets typeset as
 usual).  Its argument thus becomes ordinary text and gets treated like
 ordinary text.
 



master 008399b8: Delete obsolete variables

2024-06-21 Thread Ikumi Keita
branch: master
commit 008399b88a12d91b7e31dcd0743704fcbcdd57cb
Author: Ikumi Keita 
Commit: Ikumi Keita 

Delete obsolete variables

* tex.el (TeX-symbol-marker, TeX-symbol-marker-pos, TeX-dollar-sign):
(TeX-dollar-string, TeX-dollar-regexp): Delete obsolete variables, used
for old "$" key management.
---
 NEWS.org |  3 +++
 doc/changes.texi |  6 ++
 tex.el   | 15 ---
 3 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/NEWS.org b/NEWS.org
index 9e592263..2806126b 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -44,6 +44,9 @@
 ** Removed
 
 - Delete function ~LaTeX-env-contents~.
+- Delete obsolete variables ~TeX-symbol-marker~,
+  ~TeX-symbol-marker-pos~, ~TeX-dollar-sign~, ~TeX-dollar-string~ and
+  ~TeX-dollar-regexp~.
 
 * [14.0.5] - 2024-05-19
 
diff --git a/doc/changes.texi b/doc/changes.texi
index a8de7322..75cdabe9 100644
--- a/doc/changes.texi
+++ b/doc/changes.texi
@@ -245,6 +245,12 @@ inline math (without active region), @kbd{$} inserts two 
dollars, not one
 dollar which just closes the math mode.
 @end itemize
 
+@item
+The following obsolete variables, used for old @key{$} key management,
+were at last removed: @code{TeX-symbol-marker},
+@code{TeX-symbol-marker-pos}, @code{TeX-dollar-sign},
+@code{TeX-dollar-string} and @code{TeX-dollar-regexp}.
+
 @item
 @AUCTeX{} now requires GNU Emacs 27.1 or higher.
 @end itemize
diff --git a/tex.el b/tex.el
index 0f6b753a..708ccfca 100644
--- a/tex.el
+++ b/tex.el
@@ -6123,21 +6123,6 @@ See also `TeX-font-replace' and 
`TeX-font-replace-function'."
 ;; Rewritten from scratch with use of `texmathp' by
 ;; Carsten Dominik 
 
-;; The following variables are no longer used, but kept in case some
-;; foreign code uses any of them.
-(defvar TeX-symbol-marker nil)
-(defvar TeX-symbol-marker-pos 0)
-(defvar TeX-dollar-sign ?$)
-(defconst TeX-dollar-string (char-to-string TeX-dollar-sign))
-(defconst TeX-dollar-regexp
-  (concat "^" (regexp-quote TeX-dollar-string) "\\|[^" TeX-esc "]"
-  (regexp-quote TeX-dollar-string)))
-(make-obsolete-variable 'TeX-symbol-marker nil "AUCTeX 9.9d++")
-(make-obsolete-variable 'TeX-symbol-marker-pos nil "AUCTeX 9.9d++")
-(make-obsolete-variable 'TeX-dollar-sign nil "AUCTeX 9.9d++")
-(make-obsolete-variable 'TeX-dollar-string nil "AUCTeX 9.9d++")
-(make-obsolete-variable 'TeX-dollar-regexp nil "AUCTeX 9.9d++")
-
 (defcustom TeX-math-toggle-off-input-method t
   "If non-nil, auto turn off some input methods when entering math mode.
 See `TeX-math-input-method-off-regexp'."



branch feature/fix-mode-names-overlap deleted (was f06778a7)

2024-06-21 Thread Ikumi Keita
ikumi pushed a change to branch feature/fix-mode-names-overlap.

   was  f06778a7  * doc/changes.texi: Update the last change.

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.



Re: Deleting some obsolete variables

2024-06-21 Thread Ikumi Keita
>>>>> Arash Esbati  writes:
> Ikumi Keita  writes:
>> Ah, OK. I'll delete that, too.

> 🙏

Done.

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




CTAN update (Re: bug#71690: 14.0.5; preview-latex clips bold text with inline equations)

2024-06-22 Thread Ikumi Keita
[ Cc: changed ]

>>>>> Arash Esbati  writes:
> Thanks Keita.  Now we have one other issue to solve: We used to update
> preview.(dtx|ins) on CTAN with the yearly tarball release.  Since a
> tarball release will not happen, maybe we should update the CTAN
> package.

Oh, I didn't think about the preview package on CTAN.

> I presume most of preview users use preview bundled with TeXlive and
> not with their ELPA release. WDYT?

Probably, yes. ELPA AUCTeX stores preview package under
~/.emacs.d/elpa/auctex-x.y.z/latex and most users wouldn't add it to
kpathsea search path.

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



Re: CTAN update (Re: bug#71690: 14.0.5; preview-latex clips bold text with inline equations)

2024-06-24 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> But we still need some rules in order to create the preview.pdf file
> which is required for a CTAN release, IIUC.  I'll try to have a look,
> but wouldn't mind if someone more fluent in make could also check ;-)

That would be this stuff taken from latex/Makefile.in:
preview.pdf: preview.drv preview.dtx preview.sty
$(PDFLATEX) '\nonstopmode \input{preview.drv}'
$(PDFLATEX) '\nonstopmode \input{preview.drv}'
$(PDFLATEX) '\nonstopmode \input{preview.drv}'

So I hope for our GNUmakefile,
preview.pdf: latex/preview.drv latex/preview.dtx latex/preview.sty
cd latex; \
$(PDFLATEX) '\nonstopmode \input{preview.drv}'; \
$(PDFLATEX) '\nonstopmode \input{preview.drv}'; \
$(PDFLATEX) '\nonstopmode \input{preview.drv}'
would do the job. (I haven't tried actually, though. Maybe we also need
PDFLATEX=pdflatex
in GNUmakefile?)

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



Re: CTAN update

2024-06-25 Thread Ikumi Keita
Hi Arash.

>>>>> Arash Esbati  writes:
> Now one can do 'make preview-ctan' and gets a tarball.  Ugly is the
> suffix part in clean, but it works :-)  WDYT?

It seems that the new targets don't have expected dependencies. For
example, type "make preview-mk.ins" and "make preview.drv" in
succession. The second "make" re-runs
cd latex && $(TEX) '\nonstopmode \input bootstrap.ins'
, which is redundant.

In order to write the dependency rules reliably and simply, I think we
should have another GNUmakefile in latex subdirectory and put the
relavant rules in it.

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



Re: CTAN update

2024-06-25 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> Having a second GNUmakefile in latex/ is something that I'm trying to
> avoid; I hope we manage to clean up the one top level and then be done
> with it.  I can think of something like this;

I see. Then I'm fine with your idea. :-)

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



Re: CTAN update

2024-06-26 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> Thanks, I installed that change.  Do you think we have enough changes
> for a 14.0.6 ELPA release?  I would upload a preview tarball release to
> CTAN as well.

I'm fine to have a new ELPA release now. :-)

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



master c57690f6: Make syntax prop. run even when font lock is disabled (bug#71164)

2024-06-29 Thread Ikumi Keita
branch: master
commit c57690f61dbdc6e98d29c914fd25e0763d8be32c
Author: Ikumi Keita 
Commit: Ikumi Keita 

Make syntax prop. run even when font lock is disabled (bug#71164)

* font-latex.el (font-latex--make-syntax-propertize-function): Add font
lock variable initialization.
---
 font-latex.el | 14 ++
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/font-latex.el b/font-latex.el
index 0307cd10..ec99d54c 100644
--- a/font-latex.el
+++ b/font-latex.el
@@ -1310,10 +1310,16 @@ triggers Font Lock to recognize the change."
 
 (defun font-latex--make-syntax-propertize-function ()
   "Return a `syntax-propertize-function' for (La|Doc)TeX documents."
-  (let ((kws ;; (if (derived-mode-p 'docTeX-mode)
- ;; font-latex-doctex-syntactic-keywords
-   font-latex-syntactic-keywords)) ;; )
-(syntax-propertize-via-font-lock kws)))
+  (let* ((kws ;; (if (derived-mode-p 'docTeX-mode)
+  ;; font-latex-doctex-syntactic-keywords
+   font-latex-syntactic-keywords) ;; )
+ (func (syntax-propertize-via-font-lock kws)))
+(lambda (start end)
+  ;; Initialize font lock variables even when font lock is disabled.
+  ;; This treatment is necessary because syntax propertize depends
+  ;; on font lock facility.  (bug#71164)
+  (or font-lock-set-defaults (font-lock-set-defaults))
+  (funcall func start end
 
 ;;;###autoload
 (defun font-latex-setup ()



Re: [master does not generate the correct AUCTeX version ]

2024-07-04 Thread Ikumi Keita
Hi Arash and Uwe,

>>>>> Arash Esbati  writes:
> So for your setup, you need an up-to-date ChangeLog.1, right? I
> presume you can't update that yourself due to lack of Git?

I don't think so. The current Changelog.1 begins with:
,
| 2024-01-17  Mosè Giordano  
| 
|   * Version 13.3 released.
| 
`
, thus Uwe's result is just as it should be on machine where Git isn't
available.

Uwe, how about installing Git with your distro's package manager? You
don't have to use Git for yourself, just AUCTeX makefiles and scripts
do. You can continnue to use Mercurial via hg2git.

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



Re: [master does not generate the correct AUCTeX version ]

2024-07-04 Thread Ikumi Keita
>>>>> Ikumi Keita  writes:
> Uwe, how about installing Git with your distro's package manager? You
> don't have to use Git for yourself, just AUCTeX makefiles and scripts
> do. You can continnue to use Mercurial via hg2git.

Ah, sorry, I didn't remember that the repository created by hg2git
doesn't have expeced contents in .git subdirectory. So it difficult to
have correct version number without real git repository.
I don't have a good solution. :-(

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



Re: Drop tarball releases and go ELPA only

2024-07-05 Thread Ikumi Keita
Hi Tassilo,

>>>>> Tassilo Horn  writes:
> See (info "(emacs) Package Files"):
>In addition to =E2=80=98package-user-dir=E2=80=99, Emacs looks for insta=
> lled packages
> in the directories listed in =E2=80=98package-directory-list=E2=80=99.  The=
> se
> directories are meant for system administrators to make Emacs packages
> available system-wide; Emacs itself never installs packages there.  The
> package subdirectories for =E2=80=98package-directory-list=E2=80=99 are lai=
> d out in the
> same way as in =E2=80=98package-user-dir=E2=80=99.

I didn't know this feature and there arises a question.

When there is a site-wide AUCTeX installation, a user who want to disable
AUCTeX can achieve that by (unload-feature 'tex-site) under
configure&make installation. But it seems that prescription doesn't work
for site-wide ELPA AUCTeX installation; emacs refuses to unload
`tex-site' saying:
,
| unload-feature: Loaded libraries ("c:/Program 
Files/Emacs/emacs-29.2/share/emacs/site-lisp/elpa/auctex-14.0.6/auctex-autoloads.el")
 depend on c:/Program 
Files/Emacs/emacs-29.2/share/emacs/site-lisp/elpa/auctex-14.0.6/tex-site.elc
`

Should we arrange the main branch so that (unload-feature 'tex-site)
works for site-wide ELPA AUCTeX installation as documented? Or should we
announce other way? (To cusomize `TeX-modes' to nil? To add '(auctex
nil)' to `package-load-list'? Or something else? Maybe to have both
(unload-feature 'autex-autoloads') and (unload-feature 'tex-site) ?)

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



Re: [master does not generate the correct AUCTeX version ]

2024-07-06 Thread Ikumi Keita
Hi Uwe,

>>>>> Uwe Brauer  writes:
> The problem with the main branch is that even with make -j8 it takes
> 2:20 minutes to compile while 0:08 for the master branch (on my X1
> Thinkpad 2017)

It does take some non-trivial time to compile first time after "make
clean" in main branch, but it doesn't such much at subsequent "make"s
because only updated *.el files are then byte-compiled.

Recommended usage of main branch is to do "make clean" only when it's
necessary. :-)

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



Re: [master does not generate the correct AUCTeX version ]

2024-07-06 Thread Ikumi Keita
>>>>> Uwe Brauer  writes:
>>>> "IK" == Ikumi Keita  writes:
>> Recommended usage of main branch is to do "make clean" only when it's
>> necessary. :-)

> Well the problem with this philosophy is the following

> 1. When shell I run make and when make clean (as I learned painfully
>in the past, make clean is most of the time preferable to be on
>the save side)

You are defying the raison d'être of "make" and makefiles.😅 The current
Makefile of master branch always re-compiles _all_ .el files. The new
Makefile of the main branch (GNUmakefile) dispenses with excessive
compilation time.

As I wrote, you should run "make" regularly and do "make clean" _only
when_ it's necessary, i.e. it's much likely that the failure is due to
implicit dependency of other files on the file you are tweaking.

> 2. Why can't there a quick compilation option to be added as found
>in master.

That's because it is in line with the original way of writing makefiles.
Specify compilation rule for file extension (.el) and don't enumerate
all files to compile. In other words, the current Makefile of the master
branch is written in a way against the spirit of makefiles. (I don't
know why; probably by historical reason.)

I suppose it isn't impossible to have such "quick" compilation target in
the Makefile (GNUmakefile) of the main branch, but that would be
redundant.

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



Re: Drop tarball releases and go ELPA only

2024-07-08 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> Thanks for raising this issue.  IIUC this is due this line of code in
> tex-site.el.in:
> ;;; Ensure that loading the autoloads file also loads this file.
> ;;;###autoload (require 'tex-site)
> So this effect isn't limited to a site-wide installation, but to every
> ELPA installation?

Yes. However, I don't think it is a serious issue for usual (personal)
ELPA installation because users can easily uninstall AUCTeX in that
case.

>> Should we arrange the main branch so that (unload-feature 'tex-site)
>> works for site-wide ELPA AUCTeX installation as documented? Or should we
>> announce other way? (To cusomize `TeX-modes' to nil? To add '(auctex
>> nil)' to `package-load-list'? Or something else?

> Do you have any suggestion how to fix this?

I think the cleanest solution is to add '(auctex nil)' to
`package-load-list'. This doesn't register unused autloads for the first
place. (I haven't tested yet, but I suppose that the code needs to be
in early init file, right?)
However, I don't have strong preference about it.

>> Maybe to have both (unload-feature 'autex-autoloads') and
>> (unload-feature 'tex-site) ?)

> This seems to be easiest way; I suspect the

> (unload-feature '-autoloads)

> applies to every package installed from ELPA?

It seems so:
,[ (elisp) Packaging Basics ]
|Emacs then searches every Lisp file in the content directory for
| autoload magic comments (*note Autoload::).  These autoload definitions
| are saved to a file named ‘NAME-autoloads.el’ in the content directory.
| They are typically used to autoload the principal user commands defined
| in the package, but they can also perform other tasks, such as adding an
| element to ‘auto-mode-alist’ (*note Auto Major Mode::).
`

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



Re: Drop tarball releases and go ELPA only

2024-07-09 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> So the general possibilities to de-activate AUCTeX installed from ELPA
> are:

> 1) Set `package-load-list'
>  (setq package-load-list '((auctex nil)))
>in early init file accordingly, or

This kills the element `all' in the initial value of
`package-load-list' and (probably) disables all ELPA packages according
to the paragraph quoted below. I think a suitable code is
(push '(auctex nil) package-load-list)
instead.
,[ (emacs) Package Installation ]
|For finer control over which packages are made available at startup,
| you can use the variable ‘package-load-list’.  Its value should be a
| list.  A list element of the form ‘(NAME VERSION)’ tells Emacs to make
| available version VERSION of the package named NAME.  Here, VERSION
| should be a version string (corresponding to a specific version of the
| package), or ‘t’ (which means to make available any installed version),
| or ‘nil’ (which means no version; this disables the package, preventing
| it from being made available).  A list element can also be the symbol
| ‘all’, which means to make available the latest installed version of any
| package not named by the other list elements.  The default value is just
| ‘'(all)’.
`

> 2) Set in init file
>  (unload-feature 'auctex-autoloads)
>  (unload-feature 'tex-site)

> Optionally, one can customize `TeX-modes' which applies also to the
> current installation method.  If so, I'd say we can document that in the
> manual and close the file.

OK, I'll do some tests and propose a change for the document.

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



Re: Drop tarball releases and go ELPA only

2024-07-10 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> Ikumi Keita  writes:
>> OK, I'll do some tests and propose a change for the document.

> 🙏

How about the attached patch? (Maybe I should decouple the commit from
bug#71363. When I first got started with this issue, it was a subsidiary
topic of bug#71363.)

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

>From 2db4d6091baac1b5c4a94eaeb8b96abeb35c6160 Mon Sep 17 00:00:00 2001
From: Ikumi Keita 
Date: Tue, 12 Mar 2024 14:55:11 +0900
Subject: [PATCH] Keep compatibility with Org mode src editing (bug#71363)

* tex-site.el.in (TeX-modes-set): Add entries for AUCTeX LaTeX mode to
`org-src-lang-modes'.
Use `major-mode-remap-defaults' for Emacs 30 and later, instead of
`major-mode-remap-alist', in order to avoid altering user customize
option.
* doc/install.texi (Loading the package): Update the recommendation
accordingly.
Update the way to disable AUCTeX for ELPA site-wide installation as
well.
---
 doc/install.texi | 38 +---
 tex-site.el.in   | 56 +---
 2 files changed, 65 insertions(+), 29 deletions(-)

diff --git a/doc/install.texi b/doc/install.texi
index c2499e63..5a00f8c3 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -38,9 +38,6 @@ Once the installation is completed, you can skip the rest of this
 section and proceed to @ref{Quick Start}.
 @end ifclear
 
-The remainder of this section is about installing @AUCTeX{} from a
-release tarball or from a checkout of the @AUCTeX{} repository.
-
 Installing @AUCTeX{} should be simple: merely @command{./configure},
 @command{make}, and @code{make install} for a standard site-wide
 installation (most other installations can be done by specifying a
@@ -371,21 +368,31 @@ list.  Type
 to manipulate the contents of @code{TeX-modes}.
 @end defopt
 
-Don't remove @code{tex-mode} from @code{TeX-modes} because it results in
-inconsistent behavior.
+Don't remove @code{tex-mode} from @code{TeX-modes} unless you set
+@code{TeX-modes} empty to disable @AUCTeX{} completely, otherwise it
+results in inconsistent behavior.
 
-On Emacs 29 and later, you can alter @code{major-mode-remap-alist} instead
-of @code{TeX-modes} as you like to arrange @AUCTeX{} redirections.  In
-fact, @code{TeX-modes} option does nothing other than setting up
-@code{major-mode-remap-alist} according its value on those Emacsens.
+On Emacs 29 and later, @AUCTeX{} uses either
+@code{major-mode-remap-defaults} or @code{major-mode-remap-alist} for
+redirection.  But we recommend not to customize them directly because the
+customization code for @code{TeX-modes} takes care of some other
+compatibility issues.
 
-If you want to remove a preinstalled @AUCTeX{} completely before any of
-its modes have been used,
+When there is a site-wide installation of @AUCTeX{} and you don't want to
+use it, you can disable it by
+@lisp
+(push '(auctex nil) package-load-list)
+@end lisp
+@noindent
+in your early init file (@pxref{Early Init File,,,emacs}) for
+@acronym{ELPA} installation, or
 @lisp
 (unload-feature 'tex-site)
 @end lisp
 @noindent
-in your init file should accomplish that.
+in your (standard) init file for configure--make installation. (We
+recommend those treatments over setting @code{TeX-modes} to @code{nil},
+because they don't leave unused autoloads persisted.)
 
 @node Advice for package providers
 @section Providing @AUCTeX{} as a package
@@ -399,6 +406,7 @@ There are people that prefer the built-in Emacs modes for editing
 @TeX{} files, in particular plain @TeX{} users.  There are various
 ways to tell @AUCTeX{} even after auto-activation that it should
 not get used, and they are described in
+@c FIXME: It doesn't seem that these references discuss this topic.
 @ifset rawfile
 the @file{README} file.
 @end ifset
@@ -410,6 +418,12 @@ So if you have users that don't want to use the preinstalled @AUCTeX{},
 they can easily get rid of it.  Activating @AUCTeX{} by default is
 therefore a good choice.
 
+First of all, you can install @acronym{ELPA} @AUCTeX{} package under a
+directory listed in @code{package-directory-list} to have site-wide
+default.
+
+Next, we discuss configure--make installation.
+
 If the installation procedure did not achieve this already by placing
 @file{auctex.el} and @file{preview-latex.el} into a possibly existing
 @file{site-start.d} directory, you can do this by placing
diff --git a/tex-site.el.in b/tex-site.el.in
index 911a2080..7dd16333 100644
--- a/tex-site.el.in
+++ b/tex-site.el.in
@@ -113,29 +113,51 @@ Arrange the redirection of the built-in TeX modes according to VALUE.
 - The built-in modes in VALUE are redirected to the corresponding
   AUCTeX major modes.
 - The built-in modes not in VALUE discard redirection, if any.
-If `major-mode-remap-alist' is available, use it for redirection.
-Otherwise, use adv

master 10c8f782: Keep compatibility with Org mode src editing (bug#71363)

2024-07-10 Thread Ikumi Keita
branch: master
commit 10c8f782f8c0456443f09db0c54403e8753ee52b
Author: Ikumi Keita 
Commit: Ikumi Keita 

Keep compatibility with Org mode src editing (bug#71363)

* tex-site.el.in (TeX-modes-set): Add entries for AUCTeX LaTeX mode to
`org-src-lang-modes'.
Use `major-mode-remap-defaults' for Emacs 30 and later, instead of
`major-mode-remap-alist', in order to avoid altering user customize
option.
* doc/install.texi (Loading the package): Update the recommendation
accordingly.
---
 doc/install.texi | 16 +---
 tex-site.el.in   | 56 +++-
 2 files changed, 48 insertions(+), 24 deletions(-)

diff --git a/doc/install.texi b/doc/install.texi
index c2499e63..74f5566d 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -371,13 +371,15 @@ list.  Type
 to manipulate the contents of @code{TeX-modes}.
 @end defopt
 
-Don't remove @code{tex-mode} from @code{TeX-modes} because it results in
-inconsistent behavior.
-
-On Emacs 29 and later, you can alter @code{major-mode-remap-alist} instead
-of @code{TeX-modes} as you like to arrange @AUCTeX{} redirections.  In
-fact, @code{TeX-modes} option does nothing other than setting up
-@code{major-mode-remap-alist} according its value on those Emacsens.
+Don't remove @code{tex-mode} from @code{TeX-modes} unless you set
+@code{TeX-modes} empty to disable @AUCTeX{} completely, otherwise it
+results in inconsistent behavior.
+
+On Emacs 29 and later, @AUCTeX{} uses either
+@code{major-mode-remap-defaults} or @code{major-mode-remap-alist} for
+redirection.  But we recommend not to customize them directly because the
+customization code for @code{TeX-modes} takes care of some other
+compatibility issues.
 
 If you want to remove a preinstalled @AUCTeX{} completely before any of
 its modes have been used,
diff --git a/tex-site.el.in b/tex-site.el.in
index 911a2080..7dd16333 100644
--- a/tex-site.el.in
+++ b/tex-site.el.in
@@ -113,29 +113,51 @@ Arrange the redirection of the built-in TeX modes 
according to VALUE.
 - The built-in modes in VALUE are redirected to the corresponding
   AUCTeX major modes.
 - The built-in modes not in VALUE discard redirection, if any.
-If `major-mode-remap-alist' is available, use it for redirection.
-Otherwise, use advice facility."
+If either `major-mode-remap-defaults' or `major-mode-remap-alist' is
+available, use it for redirection in that order.  Otherwise, use advice
+facility."
   (custom-set-default var value)
   (let (elt dst)
 (dolist (entry TeX-mode-alist)
   (setq elt (car entry)
 dst (cdr entry))
   (if (memq elt value)
-  (if (boundp 'major-mode-remap-alist)
-  (or (eq (cdr-safe (assq elt major-mode-remap-alist)) dst)
-  (push (cons elt dst) major-mode-remap-alist))
-;; COMPATIBILITY for Emacs<29
-(advice-add elt :override dst
-;; COMPATIBILITY for Emacs 28.[12]
-;; Give it higher precedence than the :around
-;; advice given to `tex-mode' in tex-mode.el.
-;; 
https://lists.gnu.org/r/auctex-devel/2022-09/msg00050.html>
-'((depth . -10
-(if (boundp 'major-mode-remap-alist)
-(setq major-mode-remap-alist
-  (delete entry major-mode-remap-alist))
-  ;; COMPATIBILITY for Emacs<29
-  (advice-remove elt dst))
+  (progn
+(cond ((boundp 'major-mode-remap-defaults)
+   ;; For Emacs 30 and later
+   (add-to-list 'major-mode-remap-defaults (cons elt dst)))
+  ((boundp 'major-mode-remap-alist)
+   ;; COMPATIBILITY for Emacs 29
+   (add-to-list 'major-mode-remap-alist (cons elt dst)))
+  (t
+   ;; COMPATIBILITY for Emacs<29
+   (advice-add elt :override dst
+   ;; COMPATIBILITY for Emacs 28
+   ;; Give it higher precedence than the :around
+   ;; advice given to `tex-mode' in tex-mode.el.
+   ;; 
https://lists.gnu.org/r/auctex-devel/2022-09/msg00050.html>
+   '((depth . -10)
+;; Keep compatibility.  (bug#71363)
+(if (eq elt 'latex-mode)
+(with-eval-after-load 'org-src
+  (defvar org-src-lang-modes) ; Silence byte compiler.
+  ;; Check the actual presence in the entry in case that
+  ;; the user once choosed AUCTeX LaTeX mode and
+  ;; abandoned it afterwards in the same emacs session.
+  (when (memq 'latex-mode TeX-modes)
+(push '(&qu

Re: Drop tarball releases and go ELPA only

2024-07-10 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
>> How about the attached patch? (Maybe I should decouple the commit from
>> bug#71363. When I first got started with this issue, it was a subsidiary
>> topic of bug#71363.)

> This is what I also suggest: let's decouple them.  The patch for
> tex-site.el looks good, AFAICT, so let's install that and close the
> report.

OK, installed.

> Then we can discuss the manual change.

The patch for documentation becase like this:

>From 59971bd13345d44632059170eff288c96ed658bc Mon Sep 17 00:00:00 2001
From: Ikumi Keita 
Date: Wed, 10 Jul 2024 19:22:30 +0900
Subject: [PATCH] Update documentation

* doc/install.texi (Loading the package):
(Advice for package providers):
Update the way to disable site-wide default so that it includes ELPA
installation.
* doc/install.texi (Installation): Remove a paragraph which became
incorrect.
---
 doc/install.texi | 24 ++--
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/doc/install.texi b/doc/install.texi
index c2499e63..e240 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -38,9 +38,6 @@ Once the installation is completed, you can skip the rest of this
 section and proceed to @ref{Quick Start}.
 @end ifclear
 
-The remainder of this section is about installing @AUCTeX{} from a
-release tarball or from a checkout of the @AUCTeX{} repository.
-
 Installing @AUCTeX{} should be simple: merely @command{./configure},
 @command{make}, and @code{make install} for a standard site-wide
 installation (most other installations can be done by specifying a
@@ -379,13 +376,21 @@ of @code{TeX-modes} as you like to arrange @AUCTeX{} redirections.  In
 fact, @code{TeX-modes} option does nothing other than setting up
 @code{major-mode-remap-alist} according its value on those Emacsens.
 
-If you want to remove a preinstalled @AUCTeX{} completely before any of
-its modes have been used,
+When there is a site-wide installation of @AUCTeX{} and you don't want to
+use it, you can disable it by
+@lisp
+(push '(auctex nil) package-load-list)
+@end lisp
+@noindent
+in your early init file (@pxref{Early Init File,,,emacs}) for
+@acronym{ELPA} installation, or
 @lisp
 (unload-feature 'tex-site)
 @end lisp
 @noindent
-in your init file should accomplish that.
+in your (standard) init file for configure--make installation. (We
+recommend those treatments over setting @code{TeX-modes} to @code{nil},
+because they don't leave unused autoloads persisted.)
 
 @node Advice for package providers
 @section Providing @AUCTeX{} as a package
@@ -399,6 +404,7 @@ There are people that prefer the built-in Emacs modes for editing
 @TeX{} files, in particular plain @TeX{} users.  There are various
 ways to tell @AUCTeX{} even after auto-activation that it should
 not get used, and they are described in
+@c FIXME: It doesn't seem that these references discuss this topic.
 @ifset rawfile
 the @file{README} file.
 @end ifset
@@ -410,6 +416,12 @@ So if you have users that don't want to use the preinstalled @AUCTeX{},
 they can easily get rid of it.  Activating @AUCTeX{} by default is
 therefore a good choice.
 
+First of all, you can install @acronym{ELPA} @AUCTeX{} package under a
+directory listed in @code{package-directory-list} to have site-wide
+default.
+
+Next, we discuss configure--make installation.
+
 If the installation procedure did not achieve this already by placing
 @file{auctex.el} and @file{preview-latex.el} into a possibly existing
 @file{site-start.d} directory, you can do this by placing
-- 
2.44.0


Comments welcome. :-)

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


Re: Emacs 31 (git@Head) and Auctex (installed via package.el)

2024-07-22 Thread Ikumi Keita
Hi Raman,

>>>>> "T.V Raman"  writes:
> so this is what I added to my init -- it runs at the very end of
> startup:

> (when (featurep  'auctex-autoloads) (load-library "tex-site")); workaround

Sorry for being late. I tried the latest emacs HEAD and ELPA AUCTeX
14.0.6. They work for me without your workaround.

I suspect that either `major-mode-remap-alist' or
`major-mode-remap-defaults' doesn't have the expected value without your
workaround. Could you provide us their value? For me, the values are
,
| major-mode-remap-alist is a variable defined in 
‘/usr/home/keita/repo/emacs/emacs/lisp/files.el’.
| 
| Its value is
| ((doctex-mode . docTeX-mode) (latex-mode . LaTeX-mode)
|  (texinfo-mode . Texinfo-mode) (plain-tex-mode . plain-TeX-mode)
|  (tex-mode . TeX-tex-mode))
| Original value was nil
`
and
,
| major-mode-remap-defaults is a variable defined in 
‘/usr/home/keita/repo/emacs/emacs/lisp/files.el’.
| 
| Its value is
| ((LaTeX-mode . latex-mode) (plain-TeX-mode . plain-tex-mode)
|  (TeX-mode . tex-mode))
`

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



Re: Emacs 31 (git@Head) and Auctex (installed via package.el)

2024-07-23 Thread Ikumi Keita
Hi Raman,

>>>>> "T.V Raman"  writes:
> See the bit on this thread re package-quickstart

Unfortunately, it didn't help. I did on HEAD emacs:
(1) Customize `package-quickstart' to t.
(2) Restart emacs and M-x package-quickstart-refresh RET
(3) Restart emacs and open a LaTeX document file with mode:latex tag.
Then the buffer was in AUCTeX LaTeX mode.

> I suspect tex-site acts  like a flip-flop -- and package-quickstart
> loading tex-site breaks things; loading it again I  suspect fixes
> things.

Maybe, but I can't tell yet. We need more information to figure out
what's going on. I ask you again to provide the values of
`major-mode-remap-alist' or `major-mode-remap-defaults'.

> Suggestion based on minimal understanding, simplify the world in
> auctex-15 by eliminating tex-site.el

It's actually complicated because AUCTeX tries to keep compatibility
with traditional installation scheme. Maybe AUCTeX determines to support
only ELPA release and merge tex-site.el into auctex.el in future.

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



master bd74d3cf: Update documentation

2024-07-24 Thread Ikumi Keita
branch: master
commit bd74d3cf4050fc8ae95c25cf5a70ea75e1919198
Author: Ikumi Keita 
Commit: Ikumi Keita 

Update documentation

* doc/install.texi (Loading the package):
(Advice for package providers):
Update the way to disable site-wide default so that it includes ELPA
installation.
* doc/install.texi (Installation): Remove a paragraph which became
incorrect.
---
 doc/install.texi | 24 ++--
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/doc/install.texi b/doc/install.texi
index 74f5566d..5a00f8c3 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -38,9 +38,6 @@ Once the installation is completed, you can skip the rest of 
this
 section and proceed to @ref{Quick Start}.
 @end ifclear
 
-The remainder of this section is about installing @AUCTeX{} from a
-release tarball or from a checkout of the @AUCTeX{} repository.
-
 Installing @AUCTeX{} should be simple: merely @command{./configure},
 @command{make}, and @code{make install} for a standard site-wide
 installation (most other installations can be done by specifying a
@@ -381,13 +378,21 @@ redirection.  But we recommend not to customize them 
directly because the
 customization code for @code{TeX-modes} takes care of some other
 compatibility issues.
 
-If you want to remove a preinstalled @AUCTeX{} completely before any of
-its modes have been used,
+When there is a site-wide installation of @AUCTeX{} and you don't want to
+use it, you can disable it by
+@lisp
+(push '(auctex nil) package-load-list)
+@end lisp
+@noindent
+in your early init file (@pxref{Early Init File,,,emacs}) for
+@acronym{ELPA} installation, or
 @lisp
 (unload-feature 'tex-site)
 @end lisp
 @noindent
-in your init file should accomplish that.
+in your (standard) init file for configure--make installation. (We
+recommend those treatments over setting @code{TeX-modes} to @code{nil},
+because they don't leave unused autoloads persisted.)
 
 @node Advice for package providers
 @section Providing @AUCTeX{} as a package
@@ -401,6 +406,7 @@ There are people that prefer the built-in Emacs modes for 
editing
 @TeX{} files, in particular plain @TeX{} users.  There are various
 ways to tell @AUCTeX{} even after auto-activation that it should
 not get used, and they are described in
+@c FIXME: It doesn't seem that these references discuss this topic.
 @ifset rawfile
 the @file{README} file.
 @end ifset
@@ -412,6 +418,12 @@ So if you have users that don't want to use the 
preinstalled @AUCTeX{},
 they can easily get rid of it.  Activating @AUCTeX{} by default is
 therefore a good choice.
 
+First of all, you can install @acronym{ELPA} @AUCTeX{} package under a
+directory listed in @code{package-directory-list} to have site-wide
+default.
+
+Next, we discuss configure--make installation.
+
 If the installation procedure did not achieve this already by placing
 @file{auctex.el} and @file{preview-latex.el} into a possibly existing
 @file{site-start.d} directory, you can do this by placing



Re: Drop tarball releases and go ELPA only

2024-07-24 Thread Ikumi Keita
>>>>> Arash Esbati  writes:
> Sorry for the late response.  Yes, LGTM, please go ahead and install it.

Thanks, done.

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



Re: Emacs 31 (git@Head) and Auctex (installed via package.el)

2024-07-25 Thread Ikumi Keita
Hi Raman,

>>>>> "T.V Raman"  writes:
> try setting package-quickstart to t in early-init.el 

That didn't make difference, either. What I did:
1. Put (setq package-quickstart t) in ~/.emacs.d/early-init.el
2. Restart emacs and M-x package-quickstart-refresh RET
3. Restart emacs and open the following file
--
\documentclass{article}
\begin{document}

test $a$

\end{document}

%%% Local Variables:
%%% mode: latex
%%% End:
--
Then the buffer is in AUCTeX LaTeX mode.

I confirmed that `package-quickstart' is actually t in that session and
I have ~/.emacs.d/package-quickstart.el with AUCTeX stuff.

I guess either 
(1) you haven't updated ~/.emacs.d/package-quickstart.el via M-x
package-quickstart-refresh or
(2) some package(s) you introduced are interfering with AUCTeX.

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



Re: Emacs 31 (git@Head) and Auctex (installed via package.el)

2024-07-25 Thread Ikumi Keita
Hi Raman,

>>>>> "T.V Raman"  writes:
> check if package-quickstart contains stuff from tex-site.

It doesn't, but it includes
 (require 'tex-site)
instead. Thus I'm pretty sure that my emacs loads tex-site.el when it
loads package-quickstart.el(c).

> Also eliminate the local variables section 

That didn't make difference, either.

I still think that the first step to investigate the issue further is to
know your values of `major-mode-remap-alist' and
`major-mode-remap-defaults' (without your workaround). Are there any
reasons that it's difficult to provide them to us?

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



Re: Emacs 31 (git@Head) and Auctex (installed via package.el)

2024-07-25 Thread Ikumi Keita
Hi Raman,

>>>>> "T.V Raman"  writes:
> according to the auctex manual, loading tex-site will cause things to
> fail, see the documentation.

I suppose you are referring to these statements[1]:
,
| Already in version 11.81 the way to activate AUCTeX changed substantially. 
This should now be done with (load "auctex.el" nil t t) instead of the former 
(require 'tex-site)
`
They mean that the _users_ aren't expected to load _explicitly_
tex-site.el in their init file ~/.emacs.d/init.el and alikes. Actually,
the system init file
~/.emacs.d/elpa/auctex-x.y.z/auctex-autoloads.el 
, generated at ELPA AUCTeX installation, is designed to have
(require 'tex-site)
because it's madatory for sane operation of AUCTeX. It's there on
purpose of the developpers of AUCTeX. Therefore, it *must* exist in
package-quickstart.el when you enable `package-quickstart'.

You said that
,
|When Emacs starts:
| 
|1. (featurep 'tex-site) ==t
`
in your first report[2]. I suppose that this means that your emacs loads
tex-site.el via package-quickstart.el as expected and something
unexpected broke the setting prepared in that tex-site.el. The
preparation is done through adding some entries to
`major-mode-remap-alist', thus it's important to know its value and
the value of the related variable `major-mode-remap-defaults'.

[1] https://www.gnu.org/software/auctex/manual/auctex/Changes.html
[2] https://lists.gnu.org/archive/html/auctex-devel/2024-07/msg00054.html

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



Difficulty about replacing `find-tag' (Re: Drop tarball releases and go ELPA only)

2024-07-26 Thread Ikumi Keita
Hi Tassilo,

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

> If you use bib-cite.el, could you please test if replacing find-tag with
> xref-find-definitions actually works?

No, it wouldn't. It was once replaced and reverted. See the commit
db2236e0987ae93cbed06051bff6199a560b2648
Author: Arash Esbati 
AuthorDate: Thu Jan 7 20:42:36 2021 +0100
Commit: Arash Esbati 
CommitDate: Thu Jan 7 20:42:36 2021 +0100

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




Re: Drop tarball releases and go ELPA only

2024-07-31 Thread Ikumi Keita
Hi all,

>>>>> Arash Esbati  writes:
> Tassilo Horn  writes:
>> I deleted aclocal.m4, autogen.sh, configure.ac and doc/Makefile.in as it
>> seems the GNUmakefile can already generate everything from doc/.

Now the make rules for some files, including INSTALL, TODO, FAQ and
CHANGES, are gone. Should we revise the documentations which mention
these files, or restore the rules in GNUmakefile?

,[ README.GIT ]
| If you retrieved AUCTeX via Git instead of as a regular release, there
| are some files that need to be generated from their respective source
| files before you can continue reasonably with the instructions
| detailed in the README and INSTALL files (which will not be present
| otherwise).
`

,[ doc/intro.texi ]
| If you are considering upgrading @AUCTeX{}, the recent changes are
| described in
| @ifset rawfile
| the @file{CHANGES} file.
| @end ifset
| @ifclear rawfile
| @ref{Changes}.
| @end ifclear
`

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



main 0aac20e1 1/2: ; * doc/auctex.texi (Error overview): Fix a typo.

2024-08-06 Thread Ikumi Keita
branch: main
commit 0aac20e1bb5ccc7a9bafd787f8eba81ad05032c9
Author: Ikumi Keita 
Commit: Ikumi Keita 

; * doc/auctex.texi (Error overview): Fix a typo.
---
 doc/auctex.texi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/auctex.texi b/doc/auctex.texi
index 2d711fec..cb0c0ce6 100644
--- a/doc/auctex.texi
+++ b/doc/auctex.texi
@@ -4062,7 +4062,7 @@ In this window you can visit the error on which point is 
by pressing
 @key{p} respectively.  A prefix argument to these keys specifies how
 many errors to move forward or backward.  You can visit an error also by
 clicking on its message.  Jump to error point in the source code with
-@key{j}, and use @key{l} see the error in the log buffer.  In addition,
+@key{j}, and use @key{l} to see the error in the log buffer.  In addition,
 you can toggle visibility of bad boxes, generic warnings, and ignored
 warnings with @key{b}, @key{w}, and @key{x}, respectively (see
 @ref{Ignoring warnings} for details).  Press @key{q} to quit the



main 28599717 2/2: Don't show confusing message

2024-08-06 Thread Ikumi Keita
branch: main
commit 28599717fb1d1d15cbd2a0e80cf9b73852e01645
Author: Ikumi Keita 
Commit: Ikumi Keita 

Don't show confusing message

* tex.el (TeX-TeX-sentinel-check): Don't leave message suggesting
invalid key bind when error overview window is opened.
---
 tex.el | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/tex.el b/tex.el
index ab743d24..93f22520 100644
--- a/tex.el
+++ b/tex.el
@@ -8502,9 +8502,12 @@ Return nil only if no errors were found."
   (file-exists-p (TeX-match-buffer 1)))
   (throw 'found t
   (progn
-(message "%s errors in `%s'. Use %s to display." name (buffer-name)
- (substitute-command-keys
-  "[TeX-next-error]"))
+(if TeX-error-overview-open-after-TeX-run
+;; Don't leave inconsistent message.
+(message nil)
+  (message "%s errors in `%s'. Use %s to display." name (buffer-name)
+   (substitute-command-keys
+"[TeX-next-error]")))
 (setq TeX-command-next TeX-command-default)
 ;; error reported to TeX-error-report-switches
 (setq TeX-error-report-switches



main updated (406ae0e2 -> 28599717)

2024-08-06 Thread Ikumi Keita
ikumi pushed a change to branch main.

  from  406ae0e2  Require cl-lib and subr-x at compile- and runtime
   new  0aac20e1  ; * doc/auctex.texi (Error overview): Fix a typo.
   new  28599717  Don't show confusing message


Summary of changes:
 doc/auctex.texi | 2 +-
 tex.el  | 9 ++---
 2 files changed, 7 insertions(+), 4 deletions(-)



main eb9a9dca: Documentation cleanups

2024-08-08 Thread Ikumi Keita
branch: main
commit eb9a9dca71ce20048668f50a286b6463890d0723
Author: Ikumi Keita 
Commit: Ikumi Keita 

Documentation cleanups

* GNUmakefile: Make "make clean" actually remove generated info files.
* doc/auctex.texi (Fontification of macros, Selecting a Command):
(I/O Correlation):
Prefer `with-eval-after-load' over `eval-after-load' in code examples.
* doc/auctex.texi (Folding, Selecting a Command): Improve usage of @var.
(European): Fix typo.
* doc/install.texi (Customizing): Improve markup.
* doc/preview-readme.texi: Simplify.
* doc/quickstart.texi (Editing Facilities): Fix indent.
(Processing Facilities): Fix spacing and typo.
---
 GNUmakefile | 11 +-
 doc/auctex.texi | 57 -
 doc/install.texi|  2 +-
 doc/preview-readme.texi | 14 
 doc/quickstart.texi |  6 +++---
 5 files changed, 41 insertions(+), 49 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index ad663a56..fd9948f2 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -27,7 +27,7 @@ PDFLATEX=pdfla$(TEX)
 PDFTEX=pdf$(TEX)
 
 MANUALS=auctex preview-latex
-INFO_FILES=$(MANUALS:=.info)
+INFO_FILES:=$(addprefix doc/, $(MANUALS:=.info))
 
 TEXMFGEN:=$(shell sed -n 
's/^%.*file[{]\([^}.]*\.[sdc][tef][yfg]\)[}].*/\1/p' 
latex/preview.dtx)
 LATEX_FILES:=$(patsubst %, latex/%, $(shell echo $$(echo "$(TEXMFGEN)")))
@@ -40,7 +40,7 @@ MAIN_GENERATED_FILES=README   \
$(LATEX_FILES)
 
 ALL_GENERATED_FILES=$(MAIN_GENERATED_FILES)\
-   dir \
+   doc/dir \
$(INFO_FILES)
 
 # Generate & compile everything including the manuals below doc/.
@@ -86,7 +86,6 @@ elpa: $(MAIN_GENERATED_FILES) ChangeLog
 clean:
rm -f $(ALL_GENERATED_FILES) \
$(wildcard *.elc style/*.elc) \
-   $(LATEX_FILES) \
$(wildcard latex/*.aux latex/*.drv latex/*.hd latex/*.log) \
$(wildcard latex/*.out latex/*.pdf latex/*.tar.gz) \
latex/preview-mk.ins latex/preview.ins \
@@ -141,11 +140,11 @@ doc/tex-ref.pdf: doc/tex-ref.tex
 
 # Copied&adapted from doc/Makefile.in.
 TEXI_SOURCES:=$(wildcard doc/*.texi) doc/version.texi doc/preview-dtxdoc.texi
-$(INFO_FILES): %.info: $(TEXI_SOURCES)
+$(INFO_FILES): doc/%.info: $(TEXI_SOURCES)
cd doc; $(MAKEINFO) --no-split $*.texi
 
-dir: $(INFO_FILES)
-   for f in $(INFO_FILES); do $(INSTALL_INFO) --info-dir=doc doc/$$f; done
+doc/dir: $(INFO_FILES)
+   for f in $(INFO_FILES); do $(INSTALL_INFO) --info-dir=doc $$f; done
 
 $(LATEX_FILES): latex/preview.dtx latex/bootstrap.ins
cd latex; $(TEX) '\nonstopmode \input bootstrap.ins'
diff --git a/doc/auctex.texi b/doc/auctex.texi
index cb0c0ce6..c8075187 100644
--- a/doc/auctex.texi
+++ b/doc/auctex.texi
@@ -2339,12 +2339,12 @@ to remove highlighting of footnotes as references you 
can put the
 following stanza into your init file:
 
 @lisp
-(eval-after-load "font-latex"
-  '(setq-default
-font-latex-match-reference-keywords-local
-(remove (assoc-string "footnote"
-font-latex-match-reference-keywords-local)
-font-latex-match-reference-keywords-local)))
+(with-eval-after-load 'font-latex
+  (setq-default
+   font-latex-match-reference-keywords-local
+   (remove (assoc-string "footnote"
+ font-latex-match-reference-keywords-local)
+   font-latex-match-reference-keywords-local)))
 @end lisp
 
 But note that this means fiddling with @fontlatex{}'s internals and is
@@ -2851,11 +2851,11 @@ original source text.
 @item
 @code{nil}: @AUCTeX{} never reveals.
 @item
-@var{SYMBOL}: The value of @var{SYMBOL} is used as a boolean flag.  If
-@var{SYMBOL} isn't bound as a variable, it is treated as @code{nil}.
+@var{symbol}: The value of @var{symbol} is used as a boolean flag.  If
+@var{symbol} isn't bound as a variable, it is treated as @code{nil}.
 @item
-Cons cell @code{(@var{FUNCTION} . @var{ARGUMENTS})}: @AUCTeX{} calls the
-@var{FUNCTION} with arbitrary number of @var{ARGUMENTS}.  The return value
+Cons cell @code{(@var{function} . @var{arguments})}: @AUCTeX{} calls the
+@var{function} with arbitrary number of @var{arguments}.  The return value
 is regarded as a boolean flag.
 @end itemize
 
@@ -3208,10 +3208,10 @@ example, if you wanted to add a command for running a 
program called
 following form.
 
 @lisp
-(eval-after-load "tex"
-  '(add-to-list 'TeX-command-list
-'("Foo" "foo %s" TeX-run-command t t :help "Run foo")
-t))
+(with-eval-after-load 'tex
+  (add-to-list 'TeX-command-list
+   '("Foo" "foo %s" TeX-run-command t t :help "Run foo&

Re: Drop tarball releases and go ELPA only

2024-08-08 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> And IIUC loading AUCTeX out of the local repo now only needs:

>   (load "~/development/auctex/auctex-autoloads.el" nil t t)

> instead of the old:

>   (setq TeX-data-directory "~/development/auctex"
> TeX-lisp-directory TeX-data-directory)
>   (load "~/development/auctex/auctex.el" nil t t)
>   (load "~/development/auctex/preview-latex.el" nil t t)

It seems that we have to arrange the Info path additionally.  I need
this piece of code in my init.el:
(with-eval-after-load 'info
  (add-to-list 'Info-additional-directory-list
   "~/repo/auctex/auctex/doc/"))

In addition, if we "make" auctex-autoloads.el with Emacs<29, 
>   (load "~/development/auctex/auctex-autoloads.el" nil t t)
fails to load tex-site.el because that auctex-autoloads.el lacks
the arrangement for `load-path'.

Maybe we should in GNUmakefile cater for only Emacs>=29 and simplify
AUTOLOAD:
,
| # 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))'
`

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



Re: Drop tarball releases and go ELPA only

2024-08-08 Thread Ikumi Keita
Hi All,

>>>>> Arash Esbati  writes:
> Tassilo Horn  writes:
>> Aren't INSTALL, TODO, FAQ, and CHANGES just the text versions of the
>> corresponding texi/info files that are included in the manual anyway?

> Yes, this is my understanding.

>> I wonder why someone would look at them when the fine manual is
>> already there.

> I agree for TODO and FAQ, but I look usually for INSTALL and CHANGES as
> text files when I unpack something; maybe it is just a habit.

Then I suppose we can just discard these rules and should revise the
document. I attach a WIP patch.

In addition, it seems to me that we can delete yet more files on main
branch.
- RELEASE
- ChangeLog-preview
- changeLog-preview.1
- doc/copying.texi because it discusses only preview-latex, not AUCTeX
  as a whole, and it isn't the same as COPYING, and it isn't included in
  any other texinfo files.
What do you think?

>> Or we convert NEWS.org into some NEWS.texi file using some incantation
>> of "emacs -Q --batch -f org-texinfo-export-to-texinfo-batch ..."

> I had to do:

> emacs -Q --batch --eval "(require 'ox-texinfo)" \
>   -f org-texinfo-export-to-texinfo-batch NEWS.org NEWS.texi

>> and include that in place of changes.texi.  (It would be even better
>> when we somehow add the entries from changes.texi in NEWS.org before
>> so that the history is complete...)

> The output is attached.  I'm not sure if we can include the result in
> auctex.texi without further massaging.

I tried. It seems that it can't just be included in auctex.texi. The
result is many warnings quoted below and no info file is generated:
NEWS.texi:3: warning: @setfilename after the first element
NEWS.texi:4: warning: multiple @settitle
NEWS.texi:9: warning: @dircategory after first node
NEWS.texi:10: warning: @direntry after first node
NEWS.texi:15: warning: multiple @titlepage
NEWS.texi:16: warning: multiple @title
NEWS.texi:22: warning: multiple @top
NEWS.texi:21: @node `Top' previously defined
auctex.texi:57: here is the previous definition as @node
auctex.texi:131: @menu reference to nonexistent node `Indices'
auctex.texi:6129: @menu reference to nonexistent node `Development'
auctex.texi:6130: @menu reference to nonexistent node `FAQ'
auctex.texi:6131: @menu reference to nonexistent node `Texinfo mode'
auctex.texi:230: @detailmenu reference to nonexistent node `Development'
auctex.texi:231: @detailmenu reference to nonexistent node `FAQ'
auctex.texi:232: @detailmenu reference to nonexistent node `Texinfo mode'
auctex.texi:240: @detailmenu reference to nonexistent node `Key Index'
auctex.texi:241: @detailmenu reference to nonexistent node `Function Index'
auctex.texi:242: @detailmenu reference to nonexistent node `Variable Index'
auctex.texi:243: @detailmenu reference to nonexistent node `Concept Index'
NEWS.texi:21: warning: node `Top' lacks menu item for `[Unreleased]' despite 
being its Up target
NEWS.texi:21: warning: node `Top' lacks menu item for `[1406] - 2024-06-30' 
despite being its Up target
NEWS.texi:21: warning: node `Top' lacks menu item for `[1405] - 2024-05-19' 
despite being its Up target
NEWS.texi:21: warning: node `Top' lacks menu item for `[1404] - 2024-03-31' 
despite being its Up target
NEWS.texi:21: warning: node `Top' lacks menu item for `[1403] - 2024-02-20' 
despite being its Up target
NEWS.texi:21: warning: node `Top' lacks menu item for `[1402] - 2024-02-09' 
despite being its Up target
NEWS.texi:21: warning: node `Top' lacks menu item for `[1401] - 2024-02-08' 
despite being its Up target

What I did was to replace
@include changes.texi
in auctex.texi with
@include NEWS.texi
and to run "makeinfo auctex.texi".

>> (It would be even better when we somehow add the entries from
>> changes.texi in NEWS.org before so that the history is complete...)

I think we don't have to care completeness much. Much older change logs
are recorded only in history.texi and appears nowhere in the current
AUCTeX manual. (It just says
See the file @file{history.texi} for older changes.
in auctex.texi.)

So I basically agree with Arash's proposal:
> This will probably turn into "Read NEWS.org".

(However, this has one possible drawback; users who want to upgrade
can't see what's new on
https://elpa.gnu.org/packages/doc/auctex.html
in advance.)

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



0001-temporal-commit.patch.gz
Description: WIP patch


Re: Insert font menu in Texinfo mode

2024-08-09 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> This is the whole change:

Looks good to me :-)

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



Re: Drop tarball releases and go ELPA only

2024-08-09 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> Yes, indeed, but IIRC we needed something like that also with the old
> installation method.

I see.

>> Maybe we should in GNUmakefile cater for only Emacs>=29 and simplify
>> AUTOLOAD:
>> ,
>> | # 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))'
>> `

> Maybe I'm missing the point, but which change do you have on your mind
> in order to fix the issue mentioned above?

On second thought, I came to think that we should retain compatibility
for Emacs<29. Otherwise it would be difficult to check whether the
future ELPA release has the compatibility or not.

So how about one like this?
(let* ((autoload-file (expand-file-name "$@")) \
   (autoload-file-dir (file-name-directory autoload-file)) \
   (addition-text "(add-to-list (quote load-path)\n\
   (directory-file-name\n\
 (file-name-directory load-file-name)))"
)) \
  (if (fboundp `loaddefs-generate) \
  (loaddefs-generate autoload-file-dir autoload-file \
 (list "tex-wizard.el") \
 addition-text)\
(mapc (lambda (file) \
(update-file-autoloads file nil autoload-file)) \
  command-line-args-left) \
(write-region addition-text nil autoload-file t)) \
  (save-buffers-kill-emacs t))'

(I haven't tested it yet.)

Additionally, we can include auctex.el and lpath.el in the excluded
file list.

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



main 203de05f: Revise document for main branch

2024-08-11 Thread Ikumi Keita
branch: main
commit 203de05f501cd27e79c0ae05436227b7b9101d77
Author: Ikumi Keita 
Commit: Ikumi Keita 

Revise document for main branch

Discard instructions for configure&make installation.
Discard mentions on CAPITAL name files like INSTALL, CHANGES.
Arrange description about `use-package' usage.
---
 README.GIT|  20 +-
 doc/changes.texi  |  10 +-
 doc/faq.texi  |  62 ++
 doc/install.texi  | 508 --
 doc/intro.texi|  26 +--
 doc/preview-faq.texi  |  22 +-
 doc/preview-problems.texi |  24 ---
 doc/preview-readme.texi   |  20 +-
 doc/quickstart.texi   |  30 +--
 doc/todo.texi |  17 +-
 doc/wininstall.texi   | 362 -
 11 files changed, 94 insertions(+), 1007 deletions(-)

diff --git a/README.GIT b/README.GIT
index b33747cf..8b1b27a3 100644
--- a/README.GIT
+++ b/README.GIT
@@ -1,20 +1,22 @@
 Organization of the repository
 **
 
-This repository has currently three branches:
+This repository has several branches:
 
* 'main': the main branch of development of AUCTeX;
 
* 'master': the old main branch of development of AUCTeX; not used
  anymore;
 
+Other branches are feature branches.  They are created and deleted from
+time to time.  To name a few:
+
* 'simplify-TeX-parse-error': a feature branch for improving parsing
   of TeX logs;
 
* 'gendocspatch': keeps a patch to build on-line manuals and is
- intended to be used only by AUCTeX maintainers.  Unless you are one
- of them and know how to handle it, you really do not want to pull
- this branch as it will be rebased frequently.
+ intended to be used only by AUCTeX maintainers.  Obsoleted by
+ introduction of the 'main' branch.
 
 Installation information
 
@@ -22,11 +24,11 @@ Installation information
 If you retrieved AUCTeX via Git instead of as a regular release, there
 are some files that need to be generated from their respective source
 files before you can continue reasonably with the instructions
-detailed in the README and INSTALL files (which will not be present
-otherwise).
+detailed in the README file (which will not be present otherwise).
 
 Run "make" in order to do that.  This will also generate the respective
-files for the preview subsystem.
+files for the preview subsystem.  Be sure to use GNU make, otherwise it
+will fail.
 
-You will need to have a working and rather current copy of `makeinfo',
-`autoconf' and of `perl'.
+You will need to have a working and rather current copy of `makeinfo'
+and `perl'.
diff --git a/doc/changes.texi b/doc/changes.texi
index 496aa799..2ca681bd 100644
--- a/doc/changes.texi
+++ b/doc/changes.texi
@@ -3,10 +3,6 @@
 @c Foundation, Inc.
 @c See file auctex.texi for copying conditions.
 @include macros.texi
-@ifset rawfile
-@chapheading Changes and New Features in @AUCTeX{}
-
-@end ifset
 
 @heading News in 14.1
 
@@ -1448,7 +1444,7 @@ More detailed information can be found in the 
installation instructions
 (file @file{INSTALL}).
 @end ifset
 @ifclear rawfile
-@xref{Loading the package}.
+@xref{Activating the package}.
 @end ifclear
 
 @item
@@ -1914,10 +1910,10 @@ it started.
 The build process was enhanced and is now based on @code{autoconf}
 making installing @AUCTeX{} a mostly automatic process.  See
 @ifset rawfile
-the files @file{INSTALL} and @file{INSTALL.windows}
+the files @file{INSTALL}@c and @file{INSTALL.windows}
 @end ifset
 @ifclear rawfile
-@ref{Installation} and @ref{Installation under MS Windows}
+@ref{Installation}@c and @ref{Installation under MS Windows}
 @end ifclear
 for details.
 @end itemize
diff --git a/doc/faq.texi b/doc/faq.texi
index cd71ac95..b8bd4c7a 100644
--- a/doc/faq.texi
+++ b/doc/faq.texi
@@ -1,10 +1,6 @@
 @c This is part of the AUCTeX Manual.
 @c Copyright (C) 2004-2024 Free Software Foundation, Inc.
 @c See the file auctex.texi for copying conditions.
-@ifset rawfile
-@include macros.texi
-@chapheading Frequently Asked Questions about @AUCTeX{}
-@end ifset
 
 @c We should switch to sectioning commands instead of items when this
 @c list grows.  Keep in mind to formulate short questions because
@@ -19,11 +15,9 @@ issue, then come back here and proceed.
 
 Well, you might have guessed it, the first place to look is in the
 available documentation packaged with @AUCTeX{}.  This could be the
-release notes (in the @file{RELEASE} file) or the news section of the
-manual in case you are experiencing problems after an upgrade, the
-@file{INSTALL} file in case you are having problems with the
-installation, the section about bugs in the manual in case you
-encountered a bug or the relevant sections in the manual for other
+@file{README} file or @file{NEWS.org} file in case you are experiencing
+problems after a

Re: Drop tarball releases and go ELPA only

2024-08-11 Thread Ikumi Keita
>>>>> Arash Esbati  writes:
> Thanks for starting this.  I had a brief look, at LGTM.  Do you want to
> install it on main or on a temp branch?  I think we have to optimize it
> here and there, but overall it looks good.

OK, I installed the change in the main branch.

> One thing I'd like to get into the manual is snippets for using AUCTeX
> with `use-package', e.g.,

> (use-package auctex
>   :init
>   (load "~/development/auctex/auctex-autoloads.el" nil t t)
>   (with-eval-after-load 'info
> (add-to-list 'Info-additional-directory-list
>  "~/development/auctex/doc")))

> in the section for loading out of a local repo.

I included that as well. In addition, I changed the recipe for standard
ELPA installation from
(use-package tex
  :ensure auctex)
to more standard form
(use-package auctex
  :ensure t)
. Now it defers loading tex.el(c) at startup time.

>> In addition, it seems to me that we can delete yet more files on main
>> branch.
>> - RELEASE
>> - ChangeLog-preview
>> - changeLog-preview.1
>> - doc/copying.texi because it discusses only preview-latex, not AUCTeX
>> as a whole, and it isn't the same as COPYING, and it isn't included in
>> any other texinfo files.
>> What do you think?

> I think we can do that.

OK, I'll do that at some later time. (And I'll delete install-sh and
mkinstalldirs as well.)

> It seems to me that `org-texinfo-export-to-texinfo-batch' generates
> stand-alone .texi files and not ones intended to be included somewhere
> else.

Agreed.

> Hmm, actually the exercise with NEWS.org began in order to get something
> in the NEWS section on the ELPA page:

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

Hmm, then it will be mostly enough, I suppose.

> I hope the changes are placed more prominently now.  But yes, they will
> be missing in the manual.

The Changes section in the manual still includes changes.texi. I'll
change that to intruction to see NEWS.org. (And we should transfer the
contents of changes.texi into history.texi?)

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



Re: Drop tarball releases and go ELPA only

2024-08-11 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> Do you have an older Emacs available?  Depending on the output of
> `update-file-autoloads', we could probably prettify the genereated file
> with somethin like this (I removed the EOL-masks for easier editing):

I have to add "(save-some-buffers t)" before `with-temp-file'. The
arragned result is:
AUTOLOAD=--eval '\
(let* ((autoload-file (expand-file-name "$@")) \
   (autoload-file-dir (file-name-directory autoload-file)) \
   (addition-code "(add-to-list (quote load-path)\n\
   (directory-file-name\n\
 (file-name-directory 
load-file-name)))")) \
  (if (fboundp (quote loaddefs-generate)) \
  (loaddefs-generate autoload-file-dir autoload-file \
 (list "tex-wizard.el" "auctex.el" "lpath.el") \
 addition-code) \
(setq generated-autoload-file autoload-file) \
(update-directory-autoloads autoload-file-dir) \
(save-some-buffers t) \
(with-temp-file autoload-file \
  (insert-file-contents autoload-file) \
  (cond ((progn (goto-char (point-min)) \
(re-search-forward "^;;; Code:" nil t)) \
 (newline 2)) \
((progn (goto-char (point-min)) \
(re-search-forward "^$$")) \
 (open-line 2)) \
(t (goto-char (point-max \
  (insert addition-code))) \
  (save-buffers-kill-emacs t))'

auctex-autoloads.el:
rm -f $@
$(EMACS) $(AUTOLOAD)

I made use of `update-directory-autoloads'. Emacs 27.1 does have it
while it doesn't `make-directory-autoloads', so we can dispense of
mapc+update-file-autoloads and $(wildcard *.el) in the make rule.

Emacs 27.1, 28.2 and 29.4 works with the above settings. :-)

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



main 8ebe9ad8: Add warning in documentation

2024-08-12 Thread Ikumi Keita
branch: main
commit 8ebe9ad8330014e3094c40c930c9567512a3aed9
Author: Ikumi Keita 
Commit: Ikumi Keita 

Add warning in documentation

* doc/install.texi (Customizing): Mention caveat of running
`TeX-auto-generate-global'.
---
 doc/install.texi | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/doc/install.texi b/doc/install.texi
index d3e1c4a9..92a5dd36 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -216,7 +216,6 @@ accessible directly by typing @kbd{M-x customize-option 
@key{RET} @var{option}
 
 @defopt TeX-macro-global
 Directories containing the site's @TeX{} style files.
-@end defopt
 
 Normally, @AUCTeX{} will only allow you to complete macros and
 environments which are built-in, specified in @AUCTeX{} style files or
@@ -230,6 +229,11 @@ subdirectories explicitly.  Automatic configuration will 
already have
 set the variable for you if it could use the program @command{kpsewhich}.
 In this case you normally don't have to alter anything.
 
+Note that @code{TeX-auto-generate-global} is not so smart and it can
+introduce unexpected side effects as discussed in
+@uref{https://lists.gnu.org/r/auctex/2021-01/msg00037.html}.
+@end defopt
+
 @c Local Variables:
 @c mode: Texinfo
 @c TeX-master: "auctex"



main e8956d25: Fix for Emacs<29 to work with local Git repo

2024-08-14 Thread Ikumi Keita
branch: main
commit e8956d252378288f0956ad64426967dd8d4a8dca
Author: Ikumi Keita 
Commit: Ikumi Keita 

Fix for Emacs<29 to work with local Git repo

* GNUmakefile: Fix autoload generation code to embed load-path
arrangement in auctex-autoloads.el even for Emacs<29.
---
 GNUmakefile | 33 +
 1 file changed, 21 insertions(+), 12 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index fd9948f2..d73c77b1 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -49,25 +49,34 @@ all: $(ALL_GENERATED_FILES) compile auctex-autoloads.el
 compile: $(patsubst %.el,%.elc,$(wildcard *.el style/*.el)) tex-site.elc
 
 # 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...
+# loaddefs-generate...
 AUTOLOAD=--eval '\
 (let* ((autoload-file (expand-file-name "$@")) \
-   (autoload-file-dir (file-name-directory autoload-file))) \
-  (if (fboundp `loaddefs-generate) \
+   (autoload-file-dir (file-name-directory autoload-file)) \
+   (addition-code "(add-to-list (quote load-path)\n\
+   (directory-file-name\n\
+ (file-name-directory load-file-name)))")) \
+  (if (fboundp (quote 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)) \
+ (list "tex-wizard.el" "auctex.el" "lpath.el") \
+ addition-code) \
+(setq generated-autoload-file autoload-file) \
+(update-directory-autoloads autoload-file-dir) \
+(with-temp-file autoload-file \
+  (insert-file-contents autoload-file) \
+  (cond ((progn (goto-char (point-min)) \
+(re-search-forward "^;;; Code:" nil t)) \
+ (newline 2)) \
+((progn (goto-char (point-min)) \
+(re-search-forward "^$$")) \
+ (open-line 2)) \
+(t (goto-char (point-max \
+  (insert addition-code))) \
   (save-buffers-kill-emacs t))'
 
 auctex-autoloads.el:
rm -f $@
-   $(EMACS) $(AUTOLOAD) $(wildcard *.el)
+   $(EMACS) $(AUTOLOAD)
 
 %.elc: %.el
$(EMACS) -f batch-byte-compile $<



Re: Drop tarball releases and go ELPA only

2024-08-14 Thread Ikumi Keita
>>>>> Arash Esbati  writes:
> Thanks, I think this more testing than we ever had ;-)  So please go
> ahead and push this as well.

Done. It turned out that `save-some-buffers' isn't necessary for
`update-directory-autoloads', so I deleted it after all. (It was needed
for only `update-file-autoloads'.)

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



Re: Drop tarball releases and go ELPA only

2024-08-15 Thread Ikumi Keita
>>>>> Arash Esbati  writes:
> Ikumi Keita  writes:
>> The Changes section in the manual still includes changes.texi. I'll
>> change that to intruction to see NEWS.org. (And we should transfer the
>> contents of changes.texi into history.texi?)

> Yes, In think that makes sense in terms of: Changes for v14+ in
> NEWS.org, and older material in history.texi.

Do you think the v14 change should remain in changes.texi? Or we should
delete changes.texi itself after changes> I changed the recipe for standard
>> ELPA installation from
>> (use-package tex
>> :ensure auctex)
>> to more standard form
>> (use-package auctex
>> :ensure t)
>> . Now it defers loading tex.el(c) at startup time.

> 🙏

Hmm, maybe we should further improve the settings. According to
`use-package' documentation,
(use-package foo)
`require's foo.el at that time. Thus it is expected that the library
foo.el is loaded at emacs startup and available immediately when the
user tries to use its functionality.
When certain keyword(s) is given, `use-package' defers the `require'.
For example,
(use-package foo
  :defer t
  ...)
In this case, the library foo.el is loaded by autoload and it takes
small amount of time when its functionalilty is requested by the user
the first time.

Currently, AUCTeX doesn't conform to this expectation of `use-package'.
Both
(use-package auctex)
and
(use-package auctex
  :defer t)
do the same thing because auctex.el contains nothing meaningful for ELPA
installation. (On contrary, the former recommended form
(use-package tex
  :ensure auctex)
loads the main AUCTeX library tex.el at startup.)

Does this count as a matter we should sort out? If so, I suppose we
should add
(require 'tex)
in auctex.el.

(Speaking of revising auctex.el, I think we should now delete this
--
(autoload 'TeX-load-hack
  (expand-file-name "tex-site.el"
(file-name-directory load-file-name)))
(TeX-load-hack)
------
from auctex.el anyway. If I understand correctly, this is only necessary
for configure&make installation.)

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



main 52911e62: Arrange the documentations about update history

2024-08-15 Thread Ikumi Keita
branch: main
commit 52911e62118c61b3e023250a2ac0e5def62a2add
Author: Ikumi Keita 
Commit: Ikumi Keita 

Arrange the documentations about update history

* doc/changes.texi:
* doc/history.texi:
Move entries before v14 in changes.texi into history.texi, and delete
changes.texi.
* doc/auctex.texi (Changes): Don't include changes.texi and instruct to
see NEWS.org and web page instead.
* doc/intro.texi (Summary): Arrange the instruction how to see recent
updates.
---
 doc/auctex.texi  |   21 +-
 doc/changes.texi | 2013 --
 doc/history.texi | 1757 +++
 doc/intro.texi   |   12 +-
 4 files changed, 1780 insertions(+), 2023 deletions(-)

diff --git a/doc/auctex.texi b/doc/auctex.texi
index c8075187..d68c4fbd 100644
--- a/doc/auctex.texi
+++ b/doc/auctex.texi
@@ -6153,12 +6153,25 @@ The full license text can be read here:
 @node Changes
 @appendixsec Changes and New Features
 
-@lowersections
-@include changes.texi
-@raisesections
+Recent changes are listed
+@ifinfo
+in @file{NEWS.org} file available at your @acronym{ELPA} @AUCTeX{}
+contents directory, typically @file{~/.emacs.d/elpa/auctex-x.y.z/} where
+@samp{x.y.z} is the version number of the installed @AUCTeX{}.
+
+You can also see the same content
+@end ifinfo
+at @uref{https://elpa.gnu.org/packages/auctex.html, @acronym{ELPA}
+@AUCTeX{} page}.
 
 @subheading Older versions
-See the file @file{history.texi} for older changes.
+See the file @file{history.texi} for older changes.  It is available at
+@ifinfo
+@samp{doc} subdirectory of @acronym{ELPA} @AUCTeX{} contents directory.
+@end ifinfo
+@ifnotinfo
+@AUCTeX{} Git repository.
+@end ifnotinfo
 
 @node Development
 @appendixsec Future Development
diff --git a/doc/changes.texi b/doc/changes.texi
deleted file mode 100644
index 2ca681bd..
--- a/doc/changes.texi
+++ /dev/null
@@ -1,2013 +0,0 @@
-@c This is part of the AUCTeX manual.
-@c Copyright (C) 1994-2002, 2004-2010, 2012-2024 Free Software
-@c Foundation, Inc.
-@c See file auctex.texi for copying conditions.
-@include macros.texi
-
-@heading News in 14.1
-
-@itemize @bullet
-@item
-@AUCTeX{} can be used with indirect buffers cloned from buffers visiting a
-file.  This feature allows having different perspectives of the same
-buffer (narrowing, folding, previewing, etc).  The indirect buffer has the
-same master file as its base buffer.
-
-In indirect buffer, @previewlatex{} works naturally for region preview
-such as @code{preview-region} (@kbd{C-c C-p C-r}), but document preview
-@code{preview-document} (@kbd{C-c C-p C-d}) puts preview images in the
-base buffer, not in the indirect buffer itself.  We expect this behavior
-doesn't matter because of the users' intent.
-
-@item
-@AUCTeX{} changes major mode names.  Its primary purpose is to avoid
-conflicts with Emacs built-in @TeX{} major modes.  It also improves
-consistency of the source code.
-
-@itemize @minus
-@item
-The overview of the former names and new names are:
-
-@multitable {@code{japanese-plain-tex-mode}} {@code{japanese-plain-TeX-mode}}
-@headitem Former name @tab New name
-@item @code{plain-tex-mode} @tab @code{plain-TeX-mode}
-@item @code{latex-mode} @tab @code{LaTeX-mode}
-@item @code{doctex-mode} @tab @code{docTeX-mode}
-@item @code{context-mode} @tab @code{ConTeXt-mode}
-@item @code{texinfo-mode} @tab @code{Texinfo-mode}
-@item @code{ams-tex-mode} @tab @code{AmSTeX-mode}
-@item @code{japanese-plain-tex-mode} @tab @code{japanese-plain-TeX-mode}
-@item @code{japanese-latex-mode} @tab @code{japanese-LaTeX-mode}
-@end multitable
-
-The undocumented modes @code{context-en-mode} and @code{context-nl-mode}
-were deleted.
-
-@item
-We paid much attention to the compatibility and expect that almost no
-particular treatment on the user side is needed.  For example, the names
-of the keymaps and mode hooks remain unchanged, and the @samp{mode:} tag
-in the file local variables in the existing files works with old mode
-names.  See below for more details.
-
-@item
-If your Emacs is 29 or newer and you use @file{desktop.el} to save and
-restore Emacs sessions, be careful before you update @AUCTeX{}; You should
-attempt to update only after
-@enumerate
-@item
-you kill all buffer under former @AUCTeX{} modes which have overlapped
-name with Emacs built-in @TeX{} modes, and
-@item
-you terminate the current Emacs session.
-@end enumerate
-The modes with such overlapped name are @code{plain-tex-mode},
-@code{latex-mode}, @code{doctex-mode} and @code{texinfo-mode}. (The above
-prescription ensures no buffer of such modes is recorded in the desktop
-file.  Otherwise those buffers would be restored in the built-in modes,
-not @AUCTeX{} modes, after the update of @AUCTeX{}.)
-
-@item
-New mode names are chosen to match the existing variables, so most user
-customizations as well as the third party libraries would continue to work
-without mod

Re: Drop tarball releases and go ELPA only

2024-08-15 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> I recommend the latter: Delete the couple of v14 changes we have, move
> the entire chapter into history.texi and delete changes.texi.

OK, done.

>> Does this count as a matter we should sort out? If so, I suppose we
>> should add
>> (require 'tex)
>> in auctex.el.

> Why should we load that huge file at startup?  Am I missing something?

I suppose that usres of `use-package' who impose immediate loading on
purpose think that
"I always use package foo in my emacs session and want to use it without
autoloading delay when I begin to work on matters requiring foo. For me,
loading foo.el always happens sooner or later, and I don't care the
increment of emacs startup time. Thus foo should be loaded at emacs
startup."
(For AUCTeX, such users might as well do
(use-package latex
  :after (tex))
additionally?)

> We could replace that with the FIXME added by Stefan M.:

> (require 'tex-site
>  (expand-file-name "tex-site.el"
>(file-name-directory load-file-name)))

> which is probably redundant: The feature tex-site is t when use-package
> loads auctex.el and the form does nothing, but it is still much less
> heavy than loading tex.el.

It couldn't actually be in that form when we had to ensure that
(unload-feature 'tex-site)
to work for configure&make installation, but now we can.
Hmm, it would be better for local Git repo users who still have
(load "~/Development/auctex/auctex.el nil t t)
in their config, than just removing the relevant code as I suggested...?

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



main 3cb63537: ; * doc/install.texi (Installation): Add instruction.

2024-08-16 Thread Ikumi Keita
branch: main
commit 3cb63537d4fcbcef92d239c0717609b358bbc261
Author: Ikumi Keita 
Commit: Ikumi Keita 

; * doc/install.texi (Installation): Add instruction.
---
 doc/install.texi | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/doc/install.texi b/doc/install.texi
index 92a5dd36..709b803a 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -11,7 +11,13 @@ Archive.  To install @AUCTeX{}, simply do @kbd{M-x 
list-packages
 hit @kbd{x} to execute the installation procedure.  That's all.
 
 Caution.  If you have installed former @AUCTeX{} as regular tarball
-release, uninstall it to avoid possible troubles.
+release, uninstall it and delete the initialization codes
+@lisp
+(load "auctex.el" nil t t)
+(load "preview-latex.el" nil t t)
+@end lisp
+@noindent
+in your init file.  Otherwise you'll get into troubles.
 
 @code{use-package} users can use this simple recipe in their
 @code{user-init-file} which essentially does the same as the manual



main d02011de: Simplify GNUmakefile and tex-site.el.in

2024-08-16 Thread Ikumi Keita
branch: main
commit d02011deede6c8a4aa43e9cb008477cf8d04d6c8
Author: Ikumi Keita 
Commit: Ikumi Keita 

Simplify GNUmakefile and tex-site.el.in

* GNUmakefile:
* tex-site.el.in
Do constant replacement in advance.
---
 GNUmakefile| 5 +
 tex-site.el.in | 8 +---
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index d73c77b1..01608188 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -124,10 +124,7 @@ LASTVERSION:=$(shell grep "^;; Version:" auctex.el \
 AUCTEXVERSION:=$(if $(THISVERSION),$(THISVERSION),$(LASTVERSION).$(AUCTEXDATE))
 
 tex-site.el: tex-site.el.in
-   sed -e 's|@lisppackagelispdir@|(directory-file-name 
(file-name-directory load-file-name))|'\
-   -e 's|@lisppackagedatadir@|(directory-file-name 
(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@|$(AUCTEXVERSION)|'\
+   sed -e 's|@AUCTEXVERSION@|$(AUCTEXVERSION)|'\
-e 's|@AUCTEXDATE@|$(AUCTEXDATE)|'\
$< >$@
 
diff --git a/tex-site.el.in b/tex-site.el.in
index 1d2da038..886d2918 100644
--- a/tex-site.el.in
+++ b/tex-site.el.in
@@ -63,7 +63,7 @@
   :load "tex" :load "latex" :load "tex-style")
 
 (defvar TeX-lisp-directory
-  @lisppackagelispdir@
+  (directory-file-name (file-name-directory load-file-name))
   "The directory where most of the AUCTeX lisp files are located.
 For the location of lisp files associated with
 styles, see the variables TeX-style-* (hand-generated lisp) and
@@ -72,11 +72,13 @@ TeX-auto-* (automatically generated lisp).")
 (add-to-list 'load-path TeX-lisp-directory)
 
 (defvar TeX-data-directory
-  @lisppackagedatadir@
+  (directory-file-name (file-name-directory load-file-name))
   "The directory where the AUCTeX non-Lisp data is located.")
 
 (defcustom TeX-auto-global
-  @lispautodir@
+  (if (file-writable-p "/usr/local/var/auctex/")
+  "/usr/local/var/auctex/"
+(concat user-emacs-directory "auctex/"))
   "Directory containing automatically generated information.
 
 For storing automatic extracted information about the TeX macros



Re: Drop tarball releases and go ELPA only

2024-08-16 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> My only concern is why AUCTeX should recommend users to pass other
> package names to `use-package' instead of auctex which can be confusing?
> So things like

>   (use-package auctex
> :config
> (require 'tex))

> would also work, right?

Yes, I think so.

>> Hmm, it would be better for local Git repo users who still have
>> (load "~/Development/auctex/auctex.el nil t t)

> Does this form work at all?  I tried that in my init file, restarted
> Emacs, opened a .tex file and get:

>   File mode specification error: (void-function LaTeX-mode)

Indeed. I suppose that loading in
,
| (unless (or (fboundp 'TeX-modes-set) ;Avoid inf-looping.
| ...
|   (load "auctex-autoloads" 'noerror 'nomessage))
`
fails due to lack of arrangement of `load-path', without emitting error
by 'noerror argument.

Then I can't think of cases where
(require 'tex-site (expand-file-name "tex-site.el"
(file-name-directory load-file-name))
is useful. Do you have any?

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



Re: Drop tarball releases and go ELPA only

2024-08-18 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> Great, so let us advertise this kind of usage if needed.

OK.

> For me to recap, I see these use cases:

> 1.) Users install AUCTeX from ELPA:

> They don't have to do anything and can start using AUCTeX with:
> (use-package auctex ...)

I don't think this counts. During the startup initialization, emacs loads
PACKAGENAME-autoloads.el of each ELPA package installed there, if I
understand correctly. Thus auctex-autoloads.el runs
 (require 'tex-site)
in it and no treatment in auctex.el is necessary.

> 2.) Users load AUCTeX from a local repo:

> 2b.)  or do:

>   (use-package auctex
>   :init
>   (add-to-list 'load-path "~/path/to/auctex" t)
>   (load "auctex.el" nil t t))

OK, then that's basically the same with my inference of
>> Hmm, it would be better for local Git repo users who still have
>> (load "~/Development/auctex/auctex.el nil t t)
>> in their config, than just removing the relevant code as I suggested...?
. It's true that it works with such addtion of a path to `load-path'.

And it seems that there are actual such users, I now agree that it would
be more friendly to leave
(require 'tex-site (expand-file-name "tex-site.el"
(file-name-directory load-file-name))
in auctex.el.

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



main 7f6a83ff: ; * doc/auctex.texi: Add an instruction to have pdf document

2024-08-18 Thread Ikumi Keita
branch: main
commit 7f6a83ff431c948d4cd6ee5626848c0025bd3ee6
Author: Ikumi Keita 
Commit: Ikumi Keita 

; * doc/auctex.texi: Add an instruction to have pdf document
---
 doc/auctex.texi | 4 
 1 file changed, 4 insertions(+)

diff --git a/doc/auctex.texi b/doc/auctex.texi
index d68c4fbd..eb26606a 100644
--- a/doc/auctex.texi
+++ b/doc/auctex.texi
@@ -7,6 +7,10 @@
 @c paragraphindent 2
 @comment %**end of header
 @include macros.texi
+@c To obtain pdf document, run "texi2pdf" directly on this file.
+@c Don't use "makeinfo --pdf" (equivalently, "texi2any --pdf") instead
+@c because that fails with false errors.  Validity checking by texi2any
+@c doesn't understand the TeX codes in this file and macros.texi.
 @copying
 This manual is for @AUCTeX{}
 (version @value{VERSION} from @value{UPDATED}),



Re: Drop tarball releases and go ELPA only

2024-08-18 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> Thanks, but here is the next issue; when applying the change (incl. the
> missing closing paren), i.e.:
> diff --git a/auctex.el b/auctex.el
> index 2f7af507..8b15e5c1 100644
> --- a/auctex.el
> +++ b/auctex.el
> @@ -42,11 +42,9 @@
>  ;; (require 'tex-site (expand-file-name "tex-site.el"
>  ;; (file-name-directory load-file-name))

> -(autoload 'TeX-load-hack
> -  (expand-file-name "tex-site.el"
> -(file-name-directory load-file-name)))
> -(TeX-load-hack)
> -
> +(require 'tex-site
> + (expand-file-name "tex-site.el"
> +   (file-name-directory load-file-name)))
>  (provide 'auctex)

>  ;;; auctex.el ends here

> and running make, I get:
> emacs --batch -q -no-site-file -no-init-file -l lpath.el -f batch-byte-comp=
> ile auctex.el

> In toplevel form:
> auctex.el:45:2: Error: Wrong type argument: stringp, nil
> make: *** [GNUmakefile:82: auctex.elc] Error 1
> I currently can't see why I :-(

Very cofusing, but I at last found out why. Since this `requre' is a top
level form, byte-compiler evaluates it, and `fila-name-directory' fails
because `load-file-name' is nil :-(

We should add something like this:
diff --git a/GNUmakefile b/GNUmakefile
index 01608188..3ef225e6 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -46,7 +46,8 @@ ALL_GENERATED_FILES=$(MAIN_GENERATED_FILES)   \
 # Generate & compile everything including the manuals below doc/.
 all: $(ALL_GENERATED_FILES) compile auctex-autoloads.el
 
-compile: $(patsubst %.el,%.elc,$(wildcard *.el style/*.el)) tex-site.elc
+COMPILE_ELC= $(filter-out auctex.elc, $(patsubst %.el,%.elc,$(wildcard *.el sty
le/*.el)))
+compile: $(COMPILE_ELC) tex-site.elc
 
 # If we were depending on emacs 29.1, we could simply use
 # loaddefs-generate...

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



Re: Drop tarball releases and go ELPA only

2024-08-19 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> This will prevent auctex.el from being byte-compiled, right?  If so, we
> could also probably take the other approach and do:

[...]

> which seems easier to me ("easier" is in the eye of beholder, of course
> ;-)

Yes, it does the trick, too. I took my approach because it circumvents
excessive invocation of "emacs -batch ..." and reduces the extra time
which "make" takes (brief, but not trivial).
However, I don't have strong preference about it.

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



Re: Drop tarball releases and go ELPA only

2024-08-21 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> What happens then to the users who install AUCTeX from ELPA as a
> package?  IIUC, Emacs will then rifle through the installation directory
> and byte-compile all files without any makefiles etc.  That compilation
> will again choke on the change above, right?

Ah, sorry. You are right. I was talking about only the cases running
"make" in the local Git repo.

> If so, we have to go for the lisp version, or am I missing something?

Yes, lisp version is mandatory.

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



Re: Drop tarball releases and go ELPA only

2024-08-21 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> Thanks for confirming.  So the whole change looks like this, or am I
> missing something?

[...]

> +;; This can be used for starting up AUCTeX, e.g., when not installed
> +;; ELPA.  The following form should safely be undone using
> +;; (unload-feature 'tex-site).

Is the second sentence true? With this patch, (unload-feature 'tex-site)
failed for me with
Loaded libraries ("/home/keita/repo/auctex/auctex/auctex-autoloads.el" 
"/home/keita/repo/auctex/auctex/auctex.el") depend on 
/home/keita/repo/auctex/auctex/tex-site.el
for initial code
  (add-to-list 'load-path "~/repo/auctex/auctex")
  (load "auctex.el" nil t t)
in init.el.

My understanding is that once a library foo.el is required by other lisp
file(s), `unload-feature' can not undo it.

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



Re: Drop tarball releases and go ELPA only

2024-08-21 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> So the conclusion is apply the patch with the comment adjusted and if
> someone wants to unload tex-site, s?he has to use the FORCE arg?

I think AUCTeX should rather delcare that unload tex-site isn't
supported anymore. After all, that has always been the status for ELPA
installation, probably since the first release of ELPA AUCTeX.

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



Re: Drop tarball releases and go ELPA only

2024-08-22 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> BTW, do you have a good idea where to put
> the declaration about "unload tex-site isn't supported anymore"?

How about this patch?

diff --git a/doc/install.texi b/doc/install.texi
index c31ad152..93276c02 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -135,6 +135,14 @@ in your early init file (@pxref{Early Init File,,,emacs}). 
 (We
 recommend this treatment over setting @code{TeX-modes} to @code{nil},
 because it doesn't leave unused autoloads persisted.)
 
+It is no longer possible to disable the site-wide installation by
+@lisp
+(unload-feature 'tex-site)
+@end lisp
+@noindent
+, so don't use it.  This was the instruction described in former versions
+of this document, but now it causes error.
+
 @node Advice for package providers
 @section Providing @AUCTeX{} as a package
 
Maybe we should additionally announce it in NEWS.org. I'm neutral about
its necessity.

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



Re: a rather larger inconvience

2024-08-22 Thread Ikumi Keita
>>>>> Arash Esbati  writes:
> @All: Would it make sense if we start using the :package-version keyword
> when we introduce or change the value of custom variables?  In this
> case, the change would look like this:
> diff --git a/tex.el b/tex.el
> index 93f22520..ea688f17 100644
> --- a/tex.el
> +++ b/tex.el
> @@ -252,7 +252,7 @@ If nil, none is specified."
>  ("Ps2pdf" "ps2pdf %f %(O?pdf)" TeX-run-ps2pdf nil
>   (plain-TeX-mode LaTeX-mode docTeX-mode AmSTeX-mode Texinfo-mode)
>   :help "Convert PostScript file to PDF")
> -("LaTeXMk" "latexmk %(latexmk-out) %(file-line-error) \
> +("LaTeXMk" "latexmk %(latexmk-out) %(file-line-error) %(output-dir) \
>  %`%(extraopts) %S%(mode)%' %t"
>   TeX-run-format nil (LaTeX-mode docTeX-mode) :help "Run LaTeXMk")
>  ("Glossaries" "makeglossaries %(d-dir) %s" TeX-run-command nil
> @@ -372,7 +372,8 @@ Any additional elements get just transferred to the 
> respective menu entries."
>   (const :tag "ConTeXt" ConTeXt-mode)
>   (const :tag "Texinfo" Texinfo-mode)
>   (const :tag "AmSTeX" AmSTeX-mode)))
> -(repeat :tag "Menu elements" :inline t sexp))))
> +    (repeat :tag "Menu elements" :inline t sexp)))
> +  :package-version '(auctex . "14.0.7"))

>  (defcustom TeX-command-output-list
>'(
> Maybe it helps users.  WDYT?

That's a good idea.

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



main c77c97ab: Add supplementary explanation to documentation

2024-08-23 Thread Ikumi Keita
branch: main
commit c77c97ab6b4096e29a8d874c6327842060a181a7
Author: Ikumi Keita 
Commit: Ikumi Keita 

Add supplementary explanation to documentation

* doc/install.texi (Activating the package): State that unload tex-site
no longer works.
---
 doc/install.texi | 8 
 1 file changed, 8 insertions(+)

diff --git a/doc/install.texi b/doc/install.texi
index c31ad152..93276c02 100644
--- a/doc/install.texi
+++ b/doc/install.texi
@@ -135,6 +135,14 @@ in your early init file (@pxref{Early Init File,,,emacs}). 
 (We
 recommend this treatment over setting @code{TeX-modes} to @code{nil},
 because it doesn't leave unused autoloads persisted.)
 
+It is no longer possible to disable the site-wide installation by
+@lisp
+(unload-feature 'tex-site)
+@end lisp
+@noindent
+, so don't use it.  This was the instruction described in former versions
+of this document, but now it causes error.
+
 @node Advice for package providers
 @section Providing @AUCTeX{} as a package
 



Re: Drop tarball releases and go ELPA only

2024-08-23 Thread Ikumi Keita
Hi Arash,

>>>>> Arash Esbati  writes:
> Thanks, LGTM, do you want to go ahead and push it?

Thank you, I did it just now.

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



Re: Provide advice to ffap (find-file-at-point) from \input@path?

2024-08-31 Thread Ikumi Keita
Hi Leo,

>>>>> Leo Stein  writes:
> This thread actually made me realize something I hadn't noticed before. I
> thought that AUCTeX had been parsing the contents of \graphicspath to
> search for files when you insert \includegraphics, but now looking at the
> source, I can't find this... did I imagine it? Did this ever happen in the
> past?

As far as I know, AUCTeX has never parsed the contents of \graphicspath.
It just calls kpsewhich to find graphic files (or descend into
subdirectories recursively and picks up the names of files with suitable
extenstions).

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



main 12133841: Adapt .elpaignore (bug#73215)

2024-09-12 Thread Ikumi Keita
branch: main
commit 121338417394cda7b3d65ae3f5b9390b43853695
Author: Ikumi Keita 
Commit: Ikumi Keita 

Adapt .elpaignore (bug#73215)

* .elpaignore: Add .dir-locals.el and remove files which no longer
exist in main branch.
---
 .elpaignore | 6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/.elpaignore b/.elpaignore
index 4ea4ce37..9996b100 100644
--- a/.elpaignore
+++ b/.elpaignore
@@ -3,13 +3,9 @@
 *.m4
 *.spec
 .elpaignore
-ChangeLog.1
+.dir-locals.el
 README.GIT
 admin
-autogen.sh
 build-aux
-install-sh
 lpath.el
-mkinstalldirs
-prv-install.el
 tests



Re: [AUCTeX-devel] auto-loads.el in Makefile.in

2005-05-16 Thread Ikumi Keita
> We just discussed this.  We need it (since the behavior of Emacs-22 is
> again different), and the "error" is not permanent since we actually
> check whether the file was created.

Whether the build succeeds or not depends on the behaviour of the
"make". On my FreeBSD-4.11 box, the system standard make stops at the
error which Emacs 21.4 signals, so I don't get make finished. However,
the GNU make ignores the error and completes the build:

% uname -rs
FreeBSD 4.11-RELEASE
% make
test Xno != Xno ||  rm -f auto-loads.el ;  /usr/local/bin/emacs -batch -q 
-no-site-file -no-init-file -l lpath.el --eval '(let ((generated-autoload-file 
(expand-file-name "auto-loads.el")))  (mapcar (function update-file-autoloads) 
command-line-args-left)  (save-buffers-kill-emacs t))' tex.el tex-buf.el 
tex-style.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  
toolbar-x.el tex-bar.el tex-jp.el;  test -r auto-loads.el ||  echo ";; 
Auto-generated part of tex-site.el" > auto-loads.el ;  echo "" >> 
auto-loads.el ;  /usr/local/bin/emacs -batch -q -no-site-file -no-init-file -l 
lpath.el --eval '(let ((generated-autoload-file (expand-file-name 
"auto-loads.el")))  (mapcar (function update-file-autoloads) 
command-line-args-left)  (save-buffers-kill-emacs t))' tex.el tex-buf.el 
tex-style.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  
toolbar-x.el tex-bar.el tex-jp.el
Autoloads file /*/*/*/auctex/auto-loads.el does not exist
*** Error code 255

Stop in /*/*/*/auctex.
% cat auto-loads.el
cat: auto-loads.el: No such file or directory
% gmake
test Xno != Xno || \
rm -f auto-loads.el ; \
/usr/local/bin/emacs -batch -q -no-site-file -no-init-file -l lpath.el --eval 
'(let ((generated-autoload-file (expand-file-name "auto-loads.el"))) (mapcar 
(function update-file-autoloads) command-line-args-left) 
(save-buffers-kill-emacs t))' tex.el tex-buf.el tex-style.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 toolbar-x.el tex-bar.el 
tex-jp.el; \
test -r auto-loads.el || \
echo ";; Auto-generated part of tex-site.el" > auto-loads.el ; \
echo "" >> auto-loads.el ; \
/usr/local/bin/emacs -batch -q -no-site-file -no-init-file -l lpath.el --eval 
'(let ((generated-autoload-file (expand-file-name "auto-loads.el"))) (mapcar 
(function update-file-autoloads) command-line-args-left) 
(save-buffers-kill-emacs t))' tex.el tex-buf.el tex-style.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 toolbar-x.el tex-bar.el 
tex-jp.el
Autoloads file /*/*/*/auctex/auto-loads.el does not exist
Generating autoloads for tex.el...
Generating autoloads for tex.el...done
(snip)
Wrote /*/*/*/auctex/auto-loads.el

cat tex-site.el.out >tex-site.el
(snip)
Wrote /*/*/*/auctex/style/jsarticle.elc
Wrote /*/*/*/auctex/style/jsbook.elc
Done
OLDPWD="`pwd`";for i in ;do cd $i;echo "Descending into `pwd`";gmake 'DESTDIR=' 
PACKAGE=auctex all || exit $?;cd $OLDPWD;echo "Ascending into $OLDPWD";done
% gmake --version
GNU Make 3.80
Copyright (C) 2002  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.


I'm afraid that similar problems concerned with the behaviour of make
can occur on other platforms without GNU make.

Best regards,

Ikumi Keita


___
auctex-devel mailing list
auctex-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/auctex-devel


Re: [AUCTeX-devel] auto-loads.el in Makefile.in

2005-05-17 Thread Ikumi Keita
>>>>> David Kastrup <[EMAIL PROTECTED]> writes:
> Ouch.  Having looked at the code and at the shell manual again, I
> wrote complete nonsense.  Sorry for causing you all that work.  I
> checked something into the CVS (untested, though), that should work
> better.

Hmm, again the same error... BSD make is stubborn.

I found that the error is signaled at the following code in autoload.el,
at least with my Emacs 21.4:


  (or (> (buffer-size) 0)
  (error "Autoloads file %s does not exist" buffer-file-name))


So I modified Makefile.in in the following way and it seems to work
out. In this way, emacs never signals error and everything goes
smoothly even without bash.


--- Makefile.in.~1.96.~ Tue May 17 22:33:44 2005
+++ Makefile.in Tue May 17 22:43:40 2005
@@ -134,7 +134,9 @@
 auto-loads.el: $(AUCSRC) $(COMPILE_MULE) Makefile
test X$(packagedir) != Xno || { \
  rm -f $@ ; \
- $(ELCC) $(AUTOLOAD) $(AUCSRC); \
+ echo ";; Auto-generated part of tex-site.el" > $@ ; \
+ echo "" >> $@ ; \
+ $(ELCC) $(AUTOLOAD) $(AUCSRC) $(COMPILE_MULE) ; \
  test -r $@ || { \
echo ";; Auto-generated part of tex-site.el" > $@ ; \
echo "" >> $@ ; \


This is the session log. 


% make
test Xno != Xno || {  rm -f auto-loads.el ;  echo ";; Auto-generated part of 
tex-site.el" > auto-loads.el ;  echo "" >> auto-loads.el ;  
/usr/local/bin/emacs -batch -q -no-site-file -no-init-file -l lpath.el --eval 
'(let ((generated-autoload-file (expand-file-name "auto-loads.el")))  (mapcar 
(function update-file-autoloads) command-line-args-left)  
(save-buffers-kill-emacs t))' tex.el tex-buf.el tex-style.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  toolbar-x.el tex-bar.el 
tex-jp.el ;  test -r auto-loads.el || {  echo ";; Auto-generated part of 
tex-site.el" > auto-loads.el ;  echo "" >> auto-loads.el ;  
/usr/local/bin/emacs -batch -q -no-site-file -no-init-file -l lpath.el --eval 
'(let ((generated-autoload-file (expand-file-name "auto-loads.el")))  (mapcar 
(function update-file-autoloads) command-line-args-left)  
(save-buffers-kill-emacs t))' tex.el tex-buf.el tex-style.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  toolbar-x.el tex-bar.el 
tex-jp.el ;  } ;  }
Generating autoloads for tex.el...
Generating autoloads for tex.el...done
(snip)
Generating autoloads for tex-jp.el...
Generating autoloads for tex-jp.el...done
Wrote /home/keita/scr/auctex/auto-loads.el


Best regards,

Ikumi Keita

P.S.
Oops, Makefile.in contains a line
SHELL = /bin/sh
in its body. So adding the line
SHELL = /usr/local/bin/bash
to the top of it didn't help anyway. I should have done "grep" rather
than "head" in my last mail...


___
auctex-devel mailing list
auctex-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/auctex-devel


Re: [AUCTeX-devel] auto-loads.el in Makefile.in

2005-05-17 Thread Ikumi Keita
>>>>> David Kastrup <[EMAIL PROTECTED]> writes:

> I think I got it now.  Ralf provided me with some more info, and it
> would seem that BSD make calls the shell with the equivalent of "abort
> if nonzero".

> Check out the new fix.

Now it works fine!  Great.

> Ah, but it does not work with all supported Emacs versions IIRC.  This
> "try again" junk had a purpose.

I see. Sorry for my poor understanding.

Best regards,

Ikumi Keita


___
auctex-devel mailing list
auctex-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/auctex-devel


Re: [AUCTeX-devel] auto-loads.el in Makefile.in

2005-05-17 Thread Ikumi Keita
>>>>> David Kastrup <[EMAIL PROTECTED]> writes:
> Could it be that the FreeBSD shell interprets a sequence of commands
> separated by ";" and "||" differently?  What happens if you write
> SHELL=/usr/bin/bash
> into the top of the Makefile (assuming that /usr/bin/bash exists)?

  I installed bash and tried. Unfortunately, it doesn't seem bash
helps. The result was just the same.

% /usr/local/bin/bash --version
GNU bash, version 3.00.16(1)-release (i386-portbld-freebsd4.11)
Copyright (C) 2004 Free Software Foundation, Inc.
% /usr/local/bin/bash
[EMAIL PROTECTED] head Makefile
SHELL=/usr/local/bin/bash


# Makefile - for the AUCTeX distribution.
#
# Maintainer: auctex-devel@gnu.org
# Version: initial try <[EMAIL PROTECTED]>
#

prefix = /usr/local$(null)
[EMAIL PROTECTED] export SHELL=/usr/local/bin/bash
[EMAIL PROTECTED] make
test Xno != Xno ||  rm -f auto-loads.el ;  /usr/local/bin/emacs -batch -q 
-no-site-file -no-init-file -l lpath.el --eval '(let ((generated-autoload-file 
(expand-file-name "auto-loads.el")))  (mapcar (function update-file-autoloads) 
command-line-args-left)  (save-buffers-kill-emacs t))' tex.el tex-buf.el 
tex-style.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  
toolbar-x.el tex-bar.el tex-jp.el;  test -r auto-loads.el ||  echo ";; 
Auto-generated part of tex-site.el" > auto-loads.el ;  echo "" >> 
auto-loads.el ;  /usr/local/bin/emacs -batch -q -no-site-file -no-init-file -l 
lpath.el --eval '(let ((generated-autoload-file (expand-file-name 
"auto-loads.el")))  (mapcar (function update-file-autoloads) 
command-line-args-left)  (save-buffers-kill-emacs t))' tex.el tex-buf.el 
tex-style.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  
toolbar-x.el tex-bar.el tex-jp.el
Autoloads file /home/keita/scr/auctex/auto-loads.el does not exist
*** Error code 255

Stop in /usr/home/keita/scr/auctex.
[EMAIL PROTECTED] 

Best regards,

Ikumi Keita


___
auctex-devel mailing list
auctex-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/auctex-devel


Re: [AUCTeX-devel] customize-option breaks preview-latex hook

2007-02-16 Thread Ikumi Keita
Hi,

David Kastrup <[EMAIL PROTECTED]> writes:

> I think it is a mistake to make a hook variable customizable _unless_
> one uses the customization type 'hook for it.

Well, LaTeX-mode-hook is already defcustom'ed as 'hook type in latex.el
of AUCTeX 11.84:
--
(defcustom LaTeX-mode-hook nil
  "A hook run in LaTeX mode buffers."
  :type 'hook
  :group 'LaTeX)
--
My emacs 21.4 does not complain about it.

> This customization type is probably only available for Emacs 22.

cus-edit.el in Emacs 21 contains the same code you quoted, so it must
have the 'hook customization type.  I'm afraid that simply selecting
'hook type does not resolve the problem.  (Excuse me if I'm wrong, I'm
not familiar with Custom library.)

> cus-edit.el provides a fitting setter function we could probably steal
> (see below). 

The problem seems that, when evaluating .emacs at startup process, the
right setter function is not known to custom-set-variables.  If the user
set LaTeX-mode-hook through Custom library, .emacs holds lines like
--
(custom-set-variables
  ;; custom-set-variables was added by Custom -- don't edit or cut/paste it!
  ;; Your init file should contain only one such instance.
 '(LaTeX-mode-hook (quote (turn-on-reftex LaTeX-math-mode)))
...
--
And according to custom.el, the definition of custom-set-variables is:
--
(defun custom-set-variables (&rest args)
...
(setq set (or (get symbol 'custom-set) 'custom-set-default))
(put symbol 'saved-value (list value))
...
  ((default-boundp symbol)
   ;; Something already set this, overwrite it.
   (funcall set symbol (eval value
--
So, if the symbol LaTeX-mode-hook had 'custom-set property, that value
would be used for setter function and right things (calling add-hook)
would be done.  However, at startup process, LaTeX-mode-hook does not
have such property, so it is overwritten with custom-set-default and the
preset LaTeX-preview-setup is lost.

(Is Custom library in Emacs 22 good at that point?  That is, does it see
that the name of the symbol ends in '-hook' and select the right setter
function for hook variables in custom-set-variables?  If so, the problem
will be resolved by upgrading Emacs.)

Additional note:
The problem which Ataka-san described in
<[EMAIL PROTECTED]> is not specific to
the cases when updating from 11.80- to 11.81+.  Even if the latest
AUCTeX is in use, the same problem can occur in the case "the user was
not using preview-latex before, and raises an interest to preview-latex
and wants to try."  At least some remarks should be done in the document
for such users, I suppose.

Regards,
--
Ikumi Keita


___
auctex-devel mailing list
auctex-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/auctex-devel


[AUCTeX-devel] (no subject)

2007-04-15 Thread Ikumi Keita
Hi all,

Would you please add the following change into latex.el?  These
additional macros are defined in amsmath.

Regards,

Ikumi Keita

--- latex.el.orig   Fri Jan 19 07:16:07 2007
+++ latex.elSun Apr 15 16:51:30 2007
@@ -3896,6 +3896,17 @@
 (nil "beth" ("AMS" "Hebrew") 8502) ;; #X2136
 (nil "daleth" ("AMS" "Hebrew") 8504) ;; #X2138
 (nil "gimel" ("AMS" "Hebrew") 8503) ;; #X2137
+("v G" "varGamma" ("AMS" "Greek Uppercase"))
+("v D" "varDelta" ("AMS" "Greek Uppercase"))
+("v J" "varTheta" ("AMS" "Greek Uppercase"))
+("v L" "varLambda" ("AMS" "Greek Uppercase"))
+("v X" "varXi" ("AMS" "Greek Uppercase"))
+("v P" "varPi" ("AMS" "Greek Uppercase"))
+("v S" "varSigma" ("AMS" "Greek Uppercase"))
+("v U" "varUpsilon" ("AMS" "Greek Uppercase"))
+("v F" "varPhi" ("AMS" "Greek Uppercase"))
+("v Y" "varPsi" ("AMS" "Greek Uppercase"))
+("v W" "varOmega" ("AMS" "Greek Uppercase"))
 (nil "dashrightarrow" ("AMS" "Arrows"))
 (nil "dashleftarrow" ("AMS" "Arrows"))
 (nil "leftleftarrows" ("AMS" "Arrows") 8647) ;; #X21C7


___
auctex-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/auctex-devel


[AUCTeX-devel] patch for small doc fix

2012-05-08 Thread Ikumi Keita
Dear AUCTeX developpers,

 Here is a small patch to make AUCTeX conform to elisp coding
conventions quoted below from emacs lisp reference, with an addition of
the command "textasteriskcentered" to LaTeX default completion
candidates.  I hope this helps.

   * When you mention a default value in a minibuffer prompt, put it
 and the word `default' inside parentheses.  It should look like
 this:

  Enter the answer (default 42):

   * Many commands that take a long time to execute display a message
 that says something like `Operating...' when they start, and
 change it to `Operating...done' when they finish.  Please keep the
 style of these messages uniform: _no_ space around the ellipsis,
 and _no_ period after `done'.

Regards,
Ikumi Keita

--- tex.el-11.862010-02-21 00:01:35.0 +0900
+++ tex.el  2012-05-05 03:20:35.0 +0900
@@ -1816,7 +1816,7 @@
 (let* ((default (TeX-dwim-master))
   (name (or (and (eq 'dwim TeX-master) default)
 (condition-case nil
-(read-file-name (format "Master file: (default %s) "
+(read-file-name (format "Master file (default %s): "
 (or default "this file"))
 nil default)
   (quit "")
@@ -1877,7 +1877,7 @@
  (setq TeX-master
(let* ((default (TeX-dwim-master))
   (name (read-file-name
- (format "Master file: (default %s) "
+ (format "Master file (default %s): "
  (or default "this file"))
  nil default)))
  (cond ((string= name default)
@@ -2327,7 +2327,7 @@
TeX-style-hook-list
(TeX-auto-apply))
 (run-hooks 'TeX-update-style-hook)
-(message "Applying style hooks... done")))
+(message "Applying style hooks...done")))
 
 (defvar TeX-remove-style-hook nil
   "List of hooks to call when we remove the style specific information.")
@@ -3123,7 +3123,7 @@
  (if (> (length next) (length this))
  (setcdr this (cdr next)))
  (setcdr entry (cdr (cdr entry)))
-  (message "Removing duplicates... done"))
+  (message "Removing duplicates...done"))
 (symbol-value local)))
 
 (TeX-auto-add-type "symbol" "TeX")
@@ -3243,7 +3243,7 @@
t)
   ".el"))
   (kill-buffer (current-buffer))
-  (message "Parsing %s... done" tex)
+  (message "Parsing %s...done" tex)
 
 ;;;###autoload
 (defun TeX-auto-generate-global ()
--- tex-buf.el-11.862009-12-13 03:43:57.0 +0900
+++ tex-buf.el  2012-05-05 03:17:00.0 +0900
@@ -427,7 +427,7 @@
 (completion-ignore-case t)
 (answer (or TeX-command-force
 (completing-read
- (concat "Command: (default " default ") ")
+ (concat "Command (default " default "): ")
  (TeX-mode-specific-command-list major-mode) nil t
  nil 'TeX-command-history
 ;; If the answer "latex" it will not be expanded to "LaTeX"
@@ -455,10 +455,9 @@
 (setq printer (if TeX-printer-list
   (let ((completion-ignore-case t))
 (completing-read
- (concat "Printer: "
- (and TeX-printer-default
-  (concat "(default "
-  TeX-printer-default ") 
")))
+ (format "Printer%s: "
+ (if TeX-printer-default
+ (format " (default %s)" 
TeX-printer-default) ""))
  TeX-printer-list))
 ""))
 (setq printer (or (car-safe (TeX-assoc printer TeX-printer-list))
--- latex.el-11.86  2009-11-01 02:03:28.0 +0900
+++ latex.el2012-05-08 23:30:54.0 +0900
@@ -417,7 +417,7 @@
 Insert this hook into `LaTeX-section-hook' to allow the user to change
 the name of the sectioning command inserted with `\\[LaTeX-section]'."
   (let ((string (completing-read
-(concat "Level: (default " name ") ")
+(conca

  1   2   3   4   5   6   7   8   9   10   >