Subject: Re: bug#28905: 11.90.2.2017-07-25; TeX-documentation-texdoc blocks

From: Ikumi Keita <[email-masked]>
Date: Sun, 22 Oct 2017 22:13:17 +0900

Hi Fran and Mosè,

>>>>> Mosè Giordano <[email-masked]> writes:
> Hi Fran,
> 2017-10-19 23:38 GMT+02:00 Fran Burstall (Gmail) <[email-masked]>:
>> Greetings!
>> 
>> I do
>> 
>> M-x TeX-documentation-texdoc
>> 
>> and supply the argument amsmath when prompted.  An evince
>> window fires with the documentation but emacs is blocked
>> until I exit evince.
>> 
>> If I try the same thing with tex-doc, evince fires but emacs
>> remains usable.
>> 
>> Experiment suggests that the former uses
>> shell-command-to-string and this blocks while the latter

> That's true, but I can't reproduce your issue.

Fran's problem reproduces on my machine.  The output of
TeX-sumit-bug-report is at the tail of this message.

>  What happens if you run

>     texdoc amsmath

> in your terminal?  For me the viewer is opened in the background, so
> the shell is free and the prompt readily appears, without waiting for
> the viewer to be closed.  Isn't this the case for you?

My result is the same as Fran's, too.  On my kterm (xterm variant
capable of dealing with Japanese texts), the viewer is opened in the
background, the shell is free and the prompt readily appears, without
waiting for the viewer to be closed.

It doesn't help to change the part
(concat "texdoc --view " pkg)
in `TeX-documentation-texdoc' to
(concat "exec texdoc --view " pkg " &")
for my case.  It seems that emacs grabs something of the subprocess of
the shell and does not release it until all(?) of subprocess terminate.

Regards,
Ikumi Keita

Emacs  : GNU Emacs 25.3.1 (x86_64-unknown-freebsd11.1, GTK+ Version 3.22.15)
 of 2017-09-13
Package: 11.91

current state:
==============
(setq
 AUCTeX-date "2017-07-24"
 window-system 'x
 LaTeX-version "2e"
 TeX-style-path '("/usr/local/var/auctex"
		  "/usr/local/share/emacs/site-lisp/auctex/style"
		  "/home/keita/.emacs.d/auctex/auto"
		  "/home/keita/.emacs.d/auctex/style" "auto" "style")
 TeX-auto-save nil
 TeX-parse-self t
 TeX-master t
 TeX-command-list '(("jTeX" "%(PDF)jtex %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX
		     nil (plain-tex-mode) :help "Run NTT jTeX")
		    ("jLaTeX" "%(PDF)jlatex %`%S%(PDFout)%(mode)%' %t"
		     TeX-run-TeX nil (latex-mode) :help "Run NTT jLaTeX")
		    ("pTeX" "%(PDF)ptex %(kanjiopt)%`%S%(PDFout)%(mode)%' %t"
		     TeX-run-TeX nil (plain-tex-mode) :help "Run ASCII pTeX")
		    ("pLaTeX"
		     "%(PDF)platex %(kanjiopt)%`%S%(PDFout)%(mode)%' %t"
		     TeX-run-TeX nil (latex-mode) :help "Run ASCII pLaTeX")
		    ("Mendex" "mendex %(mendexkopt)%s" TeX-run-command nil t
		     :help "Create index file with mendex")
		    ("jBibTeX" "jbibtex %s" TeX-run-BibTeX nil t :help
		     "Run jBibTeX")
		    ("pBibTeX" "pbibtex %(kanjiopt)%s" TeX-run-BibTeX nil t
		     :help "Run pBibTeX")
		    ("-" "" ignore nil t)
		    ("TeX"
		     "%(PDF)%(tex) %(file-line-error) %(extraopts) %`%S%(PDFout)%(mode)%' %t"
		     TeX-run-TeX nil
		     (plain-tex-mode ams-tex-mode texinfo-mode) :help
		     "Run plain TeX")
		    ("LaTeX" "%`%l%(mode)%' %t" TeX-run-TeX nil
		     (latex-mode doctex-mode) :help "Run LaTeX")
		    ("Makeinfo" "makeinfo %(extraopts) %t" TeX-run-compile nil
		     (texinfo-mode) :help "Run Makeinfo with Info output")
		    ("Makeinfo HTML" "makeinfo %(extraopts) --html %t"
		     TeX-run-compile nil (texinfo-mode) :help
		     "Run Makeinfo with HTML output")
		    ("AmSTeX" "amstex %(PDFout) %(extraopts) %`%S%(mode)%' %t"
		     TeX-run-TeX nil (ams-tex-mode) :help "Run AMSTeX")
		    ("ConTeXt"
		     "%(cntxcom) --once --texutil %(extraopts) %(execopts)%t"
		     TeX-run-TeX nil (context-mode) :help "Run ConTeXt once")
		    ("ConTeXt Full" "%(cntxcom) %(extraopts) %(execopts)%t"
		     TeX-run-TeX nil (context-mode) :help
		     "Run ConTeXt until completion")
		    ("BibTeX" "%(bibtex) %s" TeX-run-BibTeX nil t :help
		     "Run BibTeX")
		    ("Biber" "biber %s" TeX-run-Biber nil t :help "Run Biber")
		    ("View" "%V" TeX-run-discard-or-function t t :help
		     "Run Viewer")
		    ("Print" "%p" TeX-run-command t t :help "Print the file")
		    ("Queue" "%q" TeX-run-background nil t :help
		     "View the printer queue" :visible TeX-queue-command)
		    ("File" "%(o?)dvips %d -o %f " TeX-run-dvips t t :help
		     "Generate PostScript file")
		    ("Dvips" "%(o?)dvips %d -o %f " TeX-run-dvips nil t :help
		     "Convert DVI file to PostScript")
		    ("Dvipdfmx" "dvipdfmx %d" TeX-run-dvipdfmx nil t :help
		     "Convert DVI file to PDF with dvipdfmx")
		    ("Ps2pdf" "ps2pdf %f" TeX-run-ps2pdf nil t :help
		     "Convert PostScript file to PDF")
		    ("Glossaries" "makeglossaries %s" TeX-run-command nil t
		     :help "Run makeglossaries to create glossary file")
		    ("Index" "%(makeindex) %s" TeX-run-index nil t :help
		     "Run makeindex to create index file")
		    ("upMendex" "upmendex %s" TeX-run-index t t :help
		     "Run upmendex to create index file")
		    ("Xindy" "texindy %s" TeX-run-command nil t :help
		     "Run xindy to create index file")
		    ("Check" "lacheck %s" TeX-run-compile nil (latex-mode)
		     :help "Check LaTeX file for correctness")
		    ("ChkTeX" "chktex -v6 %s" TeX-run-compile nil (latex-mode)
		     :help "Check LaTeX file for common mistakes")
		    ("Spell" "(TeX-ispell-document \"\")" TeX-run-function nil
		     t :help "Spell-check the document")
		    ("Clean" "TeX-clean" TeX-run-function nil t :help
		     "Delete generated intermediate files")
		    ("Clean All" "(TeX-clean t)" TeX-run-function nil t :help
		     "Delete generated intermediate and output files")
		    ("Other" "" TeX-run-command t t :help
		     "Run an arbitrary command")
		    )
 )