bug-auctex
[Top][All Lists]
Advanced

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

bug#40577: Auctex can't open anymore documentation


From: Ikumi Keita
Subject: bug#40577: Auctex can't open anymore documentation
Date: Mon, 13 Apr 2020 19:24:42 +0900

Hi Tobias,

>>>>> Tobias Bora <address@hidden> writes:
> I don't know why, but I updated recently my .emacs file (which may
> downloaded a recent version of auctex), and since then I can't open
> documentation anymore. Indeed, if I do `C-c ? tikz <RET>` then okular
> starts, but is killed before opening the document. I tried with an empty
> configuration (emacs -Q) in a new home, and I even tried it on a
> completely empty (and new) user.

[...]

> Any idea what's going wrong? The only idea I have is that maybe emacs
> kills for some reason the okular process, but no idea why...

It may be related to my commit in 2018:
----------------------------------------------------------------------
commit c8a8d475d5a5c826c02313937e2bf09cca3fe057
Author: Ikumi Keita <address@hidden>
Date:   Sun Nov 4 03:21:33 2018 +0900

    Don't block emacs during viewing document
    
    * tex.el (TeX-documentation-texdoc): Use asynchronous proces not to
    block emacs during viewing document.
    Supply "%s" to `message' argument in case the shell output contains
    accidental %-sequence.

diff --git a/tex.el b/tex.el
index 9995af3f..8f359246 100644
--- a/tex.el
+++ b/tex.el
@@ -6350,7 +6350,30 @@ the number of the file to view, anything else to skip: ")
 list)))
        ;; Called without prefix argument: just run "texdoc --view <pkg>" and
        ;; show the output, so that the user is warned in case it doesn't find
        ;; the documentation or "texdoc" is not available.
-       (message (shell-command-to-string (concat "texdoc --view " pkg)))))))
+       (message "%s"
+                ;; The folowing code to the end of `defun' used to be
+                ;; just
+                ;; (shell-command-to-string (concat "texdoc --view " pkg))
+                ;; , but in some cases it blocks emacs until the user
+                ;; quits the viewer (bug#28905).
+                (with-output-to-string
+                  (let* (;; Use pipe rather than pty because the
+                         ;; latter causes atril (evince variant
+                         ;; viewer) to exit before showing anything.
+                         (process-connection-type nil)
+                         (process (start-process-shell-command
+                                   "Doc view" standard-output
+                                   (concat "texdoc --view " pkg))))
+                    ;; Suppress the message "Process Doc view
+                    ;; finished".
+                    (set-process-sentinel process #'ignore)
+                    ;; Kill temp buffer without query.  This is
+                    ;; necessary, at least for some environment, if
+                    ;; the underlying shell can't find the texdoc
+                    ;; executable.
+                    (set-process-query-on-exit-flag process nil)
+                    ;; Don't discard shell output.
+                    (accept-process-output process))))))))
 
 (defun TeX-goto-info-page ()
   "Read documentation for AUCTeX in the info system."
----------------------------------------------------------------------
This commit is intended for evince but it might harm okular in some way.
Could you see whether your okular wokrs if you revert the above change?

Regards,
Ikumi Keita





reply via email to

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