[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-AUCTeX] 11.87; TeX-evince-sync-view confuses window managers with b
From: |
Reuben Thomas |
Subject: |
[Bug-AUCTeX] 11.87; TeX-evince-sync-view confuses window managers with bad timestamps |
Date: |
Fri, 11 Jan 2013 03:27:07 +0000 |
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 bug report will be posted to the AUCTeX bug reporting list.
------------------------------------------------------------------------
I've just tracked down a really bizarre window manager problem to
TeX-evince-sync-view: I noticed that when launching evince using this
command (and only then), Alt+Tab stopped working on my GNOME 3 desktop.
I discovered by instrumenting the Alt+Tab extension I use that this was
because Mutter (the Window manager) was confused by a timestamp on an X
event that was much larger than the current X clock time (which is ms
since X server was started). To cut a long story short, I finally
discovered that the time value in the bogus time stamps was "the same"
as that produced by float-time. This explains why I only had the problem
on one machine out of two: on the other one, the X server timestamps
were bigger numbers than the real time in seconds, because the X server
had been running sufficiently long.
There's a comment in the code that says:
;; FIXME: Evince wants a timestamp as UInt32, but POSIX time
;; is too large for emacs integers on 32 bit systems. Emacs
;; 24.2 will allow providing DBUS ints as floats, and this
;; dbus version will be identifiable by its new variables
;; `dbus-compiled-version' and `dbus-runtime-version'. But
;; it seems providing just 1 as timestamp has no negative
;; consequences, anyway.
As far as I can tell, the first part is incomplete: the timestamp
required is specifically an X timestamp, as something (Evince? DBus?)
uses it to set the timestamp of an X event (at least, when Emacs and
Evince are running on X). However, the second part gives a solution: if
I change the code so that it always passes 1 as the timestamp,
everything works fine, because the first time the WM examines the
window, it updates the timestamp to the current time (whereas when it
finds a timestamp in the future it cautiously invokes some workaround,
with the result that things stop working).
There are obviously things going on here that I don't understand (I know
nothing about X, DBus, or Evince internals), but all I can say is that
the time argument is definitely being bogusly used as an X timestamp,
which causes really weird behavior, and that passing 1 instead seems, as
intimated by the comment, to cause no problem whatsoever.
Emacs : GNU Emacs 24.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.12)
of 2012-09-22 on batsu, modified by Debian
Package: 11.87
current state:
==============
(setq
AUCTeX-date "2012-11-30"
window-system 'x
LaTeX-version "2e"
TeX-style-path '("/var/lib/auctex/emacs24/"
"/usr/share/emacs/site-lisp/auctex/style"
"/home/rrt/.emacs.d/auctex/auto"
"/home/rrt/.emacs.d/auctex/style" "auto"
"style")
TeX-auto-save nil
TeX-parse-self nil
TeX-master t
TeX-command-list '(("TeX" "%(PDF)%(tex) %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX
nil
(plain-tex-mode texinfo-mode ams-tex-mode) :help "Run
plain TeX")
("LaTeX" "%`%l%(mode)%' %t" TeX-run-TeX nil (latex-mode
doctex-mode) :help
"Run LaTeX")
("Makeinfo" "makeinfo %t" TeX-run-compile nil
(texinfo-mode) :help
"Run Makeinfo with Info output")
("Makeinfo HTML" "makeinfo --html %t" TeX-run-compile nil
(texinfo-mode)
:help "Run Makeinfo with HTML output")
("AmSTeX" "%(PDF)amstex %`%S%(PDFout)%(mode)%' %t"
TeX-run-TeX nil
(ams-tex-mode) :help "Run AMSTeX")
("ConTeXt" "texexec --once --texutil %(execopts)%t"
TeX-run-TeX nil
(context-mode) :help "Run ConTeXt once")
("ConTeXt Full" "texexec %(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")
("Check" "lacheck %s" TeX-run-compile nil (latex-mode) :help
"Check LaTeX file for correctness")
("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"))
)
--
http://rrt.sc3d.org/
- [Bug-AUCTeX] 11.87; TeX-evince-sync-view confuses window managers with bad timestamps,
Reuben Thomas <=