Subject: bug#20513: closed (Re: bug#20513: 11.88.5; TeX-view-program-list generated in wrong format by Customize)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 07 May 2015 10:38:02 +0000

Your bug report

#20513: 11.88.5; TeX-view-program-list generated in wrong format by Customize

which was filed against the auctex package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
20513: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20513
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#20513: 11.88.5; TeX-view-program-list generated in wrong format by Customize
From: Mosè Giordano <[email-masked]>
To: David Kastrup <[email-masked]>
Cc: Дарио Ѓорѓевски<[email-masked]>, [email-masked], Tassilo Horn <[email-masked]>
Date: Thu, 7 May 2015 12:36:35 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

2015-05-07 11:03 GMT+02:00 David Kastrup <[email-masked]>:
> Tassilo Horn <[email-masked]> writes:
>
>> Mosè Giordano <[email-masked]> writes:
>>
>>> I agree, but I confirm `TeX-view-program-list' is built in the wrong
>>> way when changed with customize interface, as reported by Дарио.  It
>>> worked as expected before commit
>>>
>>>   * 59ccf34 (2014-11-28) Check the viewer executable exists before
>>> opening it.
>>>
>>> where the customization type of the variable was changed from an alist
>>> to a repeated list, but the command part of the type hasn't been
>>> modified.  How should it be fixed?
>>
>> I think the problem is that the command part is a group of a choice
>> where one choice is a list again.  A group is a list, and list is a
>> list, so command parts will result in ((stuff)) where it should be just
>> (stuff).  So can't you simply remove the outer
>>
>>   (group :tag "Command parts"
>>
>> and that's it?
>
> I seem to remember that there is some option in the customization
> definition where some group will be folded into the surrounding list.
>
> Ah yes, (info "(elisp) Splicing into Lists").
>
> File: elisp.info,  Node: Splicing into Lists,  Next: Type Keywords,  Prev: Composite Types,  Up: Customization Types
>
> 14.4.3 Splicing into Lists
> --------------------------
>
> The ‘:inline’ feature lets you splice a variable number of elements into
> the middle of a ‘list’ or ‘vector’ customization type.  You use it by
> adding ‘:inline t’ to a type specification which is contained in a
> ‘list’ or ‘vector’ specification.
>
>    Normally, each entry in a ‘list’ or ‘vector’ type specification
> describes a single element type.  But when an entry contains ‘:inline
> t’, the value it matches is merged directly into the containing
> sequence.  For example, if the entry matches a list with three elements,
> those become three elements of the overall sequence.  This is analogous
> to ‘,@’ in a backquote construct (*note Backquote::).

Thanks to both, the bug should be fixed now.

Bye,
Mosè

Subject: 11.88.5; TeX-view-program-list generated in wrong format by Customize
From: Дарио Ѓорѓевски<[email-masked]>
To: [email-masked]
Date: Wed, 06 May 2015 10:42:58 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Remember to cover the basics, that is, what you expected to happen and
what in fact did happen.

Be sure to consult the FAQ section in the manual before submitting
a bug report.  In addition check if the bug is reproducable with an
up-to-date version of AUCTeX.  So please upgrade to the version
available from http://www.gnu.org/software/auctex/ if your
installation is older than the one available from the web site.

If the bug is triggered by a specific (La)TeX file, you should try
to produce a minimal sample file showing the problem and include it
in your report.

Your report will be posted for the auctex package at the GNU bug
tracker.  Visit http://debbugs.gnu.org/cgi/pkgreport.cgi?pkg=auctex
to browse existing AUCTeX bugs.
------------------------------------------------------------------------

Consider the following customization of the TeX-view-program-list
variable: http://i.imgur.com/xP6Cx5k.png
The generated Lisp expression looks like so:
'(("SumatraPDF"
   (("SumatraPDF.exe"
     (mode-io-correlate " -forward-search %b %n")
     " %o"))
   "SumatraPDF.exe"))

This causes TeX-view-command-raw (tex.el, line 1354) to go into an
*infinite loop*. I do not know why the infinite loop occurs, however, I
know that changing

(dolist (elt car spec)
to
(dolist (elt (car spec))

solves the issue. This is because there are double parens around the
command line. Changing them manually to a single pair of parens solves
the problem, too.

Emacs  : GNU Emacs 25.0.50.1 (x86_64-w64-mingw32)
 of 2015-04-24 on CAB8
Package: 11.88.5

current state:
==============
(setq
 AUCTeX-date "2015-05-01"
 window-system 'w32
 LaTeX-version "2e"
 TeX-style-path '("~/.emacs.d/auctex" "c:/Users/gjorg_000/.emacs.d/elpa/auctex-11.88.5/style"
                  "c:/Users/gjorg_000/.emacs.d/auctex/auto" "c:/Users/gjorg_000/.emacs.d/auctex/style" "auto" "style")
 TeX-auto-save nil
 TeX-parse-self nil
 TeX-master t
 TeX-command-list '(("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" "%(PDF)amstex %(extraopts) %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX nil (ams-tex-mode) :help "Run AMSTeX")
                    ("ConTeXt" "texexec --once --texutil %(extraopts) %(execopts)%t" TeX-run-TeX nil (context-mode) :help
                     "Run ConTeXt once")
                    ("ConTeXt Full" "texexec %(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-command t t :help "Generate PostScript file")
                    ("Index" "makeindex %s" TeX-run-command nil t :help "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"))
 )