bug-auctex
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#45510: 12.3.1; Evince synctex integration hangs when filename contai


From: Hans-Peter Deifel
Subject: bug#45510: 12.3.1; Evince synctex integration hangs when filename contains question mark
Date: Mon, 28 Dec 2020 11:17:03 +0100
User-agent: mu4e 1.4.10; emacs 27.1

Hello,

When enabling `TeX-source-correlate-mode', using Evince as viewer and
typing `C-c C-a' in a TeX buffer where the filename contains a question
mark renders Emacs unresponsive until some time-out. Not even C-g C-g
C-g works.

This bug seems to be caused by insufficient escaping of the ? character
when Evince's FindDocument dbus method is called in
TeX-evince-sync-view-1. Emacs passes the `?' literally in the URI
argument of FindDocument and Evince expects it to be properly escaped.

TeX-evince-sync-view-1 uses `url-encode-url' on the filename, which
unfortunately doesn't replace the question mark character specifically:

  (url-encode-url "/foo?/bar.pdf") => "/foo?/bar.pdf"

See also https://gitlab.gnome.org/GNOME/evince/-/issues/1483 for an
explanation by a developer of Evince.

Cheers,
HP


Emacs  : GNU Emacs 27.1 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 
3.24.22, cairo version 1.16.0)
 of 2020-08-21
Package: 12.3.1

current state:
==============
(setq
 AUCTeX-date "2020-10-22"
 window-system 'x
 LaTeX-version "2e"
 TeX-style-path '("~/.emacs.d/auctex" 
"/home/hpd/.emacs.d/straight/build/auctex/style"
                  "/home/hpd/.emacs.d/auctex/auto" 
"/home/hpd/.emacs.d/auctex/style" "auto"
                  "style")
 TeX-auto-save t
 TeX-parse-self t
 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" "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
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode 
texinfo-mode
                      context-mode)
                     :help "Run BibTeX")
                    ("Biber" "biber %s" TeX-run-Biber nil
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode 
texinfo-mode) :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
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode 
texinfo-mode) :help
                     "Generate PostScript file")
                    ("Dvips" "%(o?)dvips %d -o %f " TeX-run-dvips nil
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode 
texinfo-mode) :help
                     "Convert DVI file to PostScript")
                    ("Dvipdfmx" "dvipdfmx %d" TeX-run-dvipdfmx nil
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode 
texinfo-mode) :help
                     "Convert DVI file to PDF with dvipdfmx")
                    ("Ps2pdf" "ps2pdf %f" TeX-run-ps2pdf nil
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode 
texinfo-mode) :help
                     "Convert PostScript file to PDF")
                    ("Glossaries" "makeglossaries %s" TeX-run-command nil
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode 
texinfo-mode) :help
                     "Run makeglossaries to create glossary\n     file")
                    ("Index" "makeindex %s" TeX-run-index nil
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode 
texinfo-mode) :help
                     "Run makeindex to create index file")
                    ("upMendex" "upmendex %s" TeX-run-index t
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode 
texinfo-mode) :help
                     "Run upmendex to create index file")
                    ("Xindy" "texindy %s" TeX-run-command nil
                     (plain-tex-mode latex-mode doctex-mode ams-tex-mode 
texinfo-mode) :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"))
 )





reply via email to

[Prev in Thread] Current Thread [Next in Thread]