Lion icon Xdvik Releases Logo
Sourceforge Xdvik Project Page

SourceForge Links

In the following release notes, bug fixes are marked with a red bullet and new features with a green bullet.


  • Fixed a problem with the distribution (texmf.cnf file wasn't included).


  • Fixed #2067614: Re-introduced default binding for key 0 which had been forgotten in previous changes
  • Fixed #1502137 (compiler warnings on 64bit systems)
  • Fixed some typos in the man page (ubuntu ticket #202435)


  • Fixed #1953028 (typo in events.c that broke fullscreen mode)
  • Fixed #1953023 (unsigned char vs. signed char problem in window ID computation that broke -unique and -sourceposition on 64bit systems)
  • Fixed #1953026 (security issue with temp file naming in xdvizilla)
  • Don't distribute xdvizilla as binary since it's no longer needed for current browsers (see discussion here). The source is kept for compatibility.
  • Fixed #1875314 (--with-system-t1lib still used headers from distribution's t1lib subdir)
  • Fixed #1888187 (Typo in help window)
  • Fixed #1875311 (Space and backspace now keep horizontal position when -keep is specified)
  • Fixed #1875321 (Numlock key is not properly handled by translations)
  • Fixed #1875309: Added xdg-open to browser commands
  • Improved fix for #1819017 (uint32_t conflicts with XeTeX configure)
  • Added action "mouse-modes()" to allow customization of mode specific mouse bindings.
  • Implemented feature request #1577926 (make mouse pointer invisible in magnifier window)
  • Updated to kpathsea version 3.4.5 (same as in texlive 2007)


  • Fixed #1819017 (uint32_t conflicts with XeTeX configure)
  • Fixed #1044891 (xdvi -unique didn't insert page into page history)
  • Fixed #1586240 (memory corruption with full TMPDIR)
  • Fixed #1143508/#1283438 (wrong window sizes at startup)
  • Fixed margin flags (didn't work for the first page of a document)
  • Fixed #1553432 (failed assertion with hyperref and html:<font> specials)
  • Fixed #1796818 (don't use 'empty' argument for %c when no column number info is available)
  • Fixed 1815476 (use = instead of == in shell wrapper)


  • Fixed a segfault bug if the default replacement font (cmr10) had fewer characters than the font being replaced.
  • Fixed a segfault with strcmp() when the statusline was disabled.


  • Install signal handler for SIGUSR1 early (#1094615).
  • Fixed a crash in htex_prescan_carry_over() (#1344956, #1188866).
  • Fixed a crash when printing a DVI file that was read from a FIFO, as was the case with Debian's wrapper script (#1466262).
  • Added more font encodings (missing encodings reported by several people).
  • Fixed issue with translations not being installed on main window on Motif (problem reported by Joost Kremers to xdvi-core).
  • Fix for bug 1611508 (segfault with -nogrey/grey).
  • Fix for bug 1526447 (searching for EPS files in included subdirectories).
  • Fix for bug 1376354 (make -hush also trigger -hushstdout, add -hushbell).
  • Fix bug with whitespace chars in Chinese fonts reported as .notdef (see
  • Fix for #1572806 (xdvi-search.el: cd into directory of .tex file before invoking xdvi).
  • Bugfix for #1530667 (hyperlinks containing parentheses don't work correctly with 'hdvips' driver) contributed by Matthias Habl.
  • Fixed xdvizilla bug #1508963 (Solaris "file" utility doesn't recognize DVI files).
  • Fixed bug #1499566 (force focus for text input field in search dialog for Xaw).
  • Fixed bugs #1475921 and #1484561 (type errors and a case of uninitialized memory); thanks to Nobuyuki Tsuchimura for reporting them and providing a patch.
  • Fix for bug #1454648: restore old behaviour of '-s 0' option which was accidentally lost in rev.
  • Fixed bug #1428583 (problems with GS_DPS, reported by Ben Stern)
  • Fixed bug #1428482 (problem with building on sparcv9, also found by Ben Stern)
  • Added Ctrl/Shift bindings to the mouse wheel for zooming and scrolling horizontally
  • Fixed a bug with PK fonts not being used after loading a Type1 font had failed, reported by Ralf Stubner (#1363644)
  • Fixed a crash on Solaris 10 (SPARC and AMD64) with WORD64/LONG64 reported by Peter Bray.
  • Fixed a bug with reencoding reported by Staszek Wawrykiewicz (#1295829): If plr10 is missing from, xdvik will use plr10.pfb without reencoding it instead of calling mktexpk for which would yield the correct encoding.
  • Replaced a failed assertion with a warning when a graphics file included by a PS special isn't readable by user.
  • Fix for library inclusion order problem contributed by K. Berry (see
  • IMPORTANT: The binary is now called xdvi-<toolkit> instead of xdvi-<toolkit>.bin, e.g. 'xdvi-motif' instead of 'xdvi-motif.bin'. For more information on the reasons for this change, please see this bug report.
  • Implemented a search term history for the search window.
  • Resurrected 'grid mode' which had been removed in 22.73-beta1 (toggled via 'D'; feature request #1375576)
  • Added Ctrl/Shift bindings to the mouse wheel for zooming and scrolling horizontally


  • Applied Patch by Nobuyuki Tsuchimura (#1116871) to remove code duplication in encodings.c.
  • Added a missing #if HAVE_X11_XMU_XMU_H in gui/selection.c.
  • Changed --with-x-toolkit configure option to --with-xdvi-x-toolkit for better interoperability with Metafont.


  • Fixed zero termination bug in t1lib version number check (
  • Render an empty character instead of terminating with failed assertion if T1lib doesn't return a usable glyph (e.g. at very small \magnification factors; #1184087).
  • Make file opening work with file descriptors too, as used in Debian's Perl wrapper for xdvi (#1165497).
  • Made gs_timeout in psgs.c a resource instead of #define it.


  • Applied Patch by Nobuyuki Tsuchimura (#1116871) to remove code duplication in encodings.c.
  • Added a missing #if HAVE_X11_XMU_XMU_H in gui/selection.c.
  • Changed --with-x-toolkit configure option to --with-xdvi-x-toolkit for better interoperability with Metafont.


  • Made text selection mode and ruler mode work correctly with LessTif and Motif 1.2.4 (bugfix for #997073). Special thanks to Svend Tollak Munkejord for helping me debugging this and several of the other issues listed here.
  • Fixed an `unaligned access' warning on 64-bit architectures (OSF1/5.1), and some compiler warnings on Solaris/Ultrix/Tru64. Many thanks to Bernhard Simon for extensive testing on Ultrix, AIX and Tru64.
  • Fixed a problem with non-default installation paths for libXpm, with a lot of help from Sven de Vries.
  • Fixed a formatting problem in the man page that showed up with groff-1.17.2.
  • Fixed a problem with window geometry when `-geometry' argument specifies only x/y-offset, reported by Karl Berry to the tex-k list.
  • Disabled virtual memory reallocation in T1lib (t1load.c, ANSI_REALLOC_VM) that caused a segfault on OSF1/V5.1 alpha.
  • Always install a custom X error handler which will print warning messages instead of terminating the application.
  • Create ~/.xdvirc with permissions 0600 instead of default ones.


  • Fixed a few compilation problems with HAVE_REGEX_H, strdup() vs. xstrdup() and linkers not allowing multiple definitions (ULTRIX).


  • Fixed bug #968127 (recursive call to file loading code due to read_events() in load_font(), which was supposed to update the `loading file, may take a while' popup when fonts are created; currently, this popup won't appear at all).
  • Fixed bug #968127 (recursive call to file loading code due to read_events() in load_font(), which was supposed to update the `loading file, may take a while' popup when fonts are created; currently, this popup won't appear at all).


  • Fixed bug #1002688 (race condition when toggling expert mode and marking pages).
  • Fixed bug #1029127 (map file parser didn't understand `<[' encoding file syntax).
  • Fixed a crasher bug on PowerPC related to multiple invocations of v*printf() without matching va_start()/va_end() calls, reported to the tex-live mailing list by Siep Kroonenberg (
  • Implemented feature request #995114 (prefix argument for Ctrl-o opens recent files in history).


  • Removed t1x11.o from libs/t1lib/ as in tetex since it broke compilation with --with-x=no.
  • Printing to PS or PDF didn't really use the fallback temporary file when current file was corrupted (#986009; thanks to Ulrich Scholz for reporting this one).
  • Fixed href length computation error when a href started with whitespace (#988934, again reported by Ulrich Scholz).
  • Fixed a name clash with AIX 4.3.3 #defining "events".


  • Read the toolbar pixmap from build-in default (toolbar.xpm) if no file is found in the search locations.
  • Fixed a segfault if setlocale() call returns NULL for certain locale/X library combinations (reported by Reiner Steib).
  • Fixed a problem with the toolbar causing BadMatch errors with visuals where the xdvi window has a different depth from the root window, reported by Olaf Weber on tex-live (
  • Fixed a problem with incompatible vsnprintf() implementations that don't return the length of the string actually needed, also reported by Olaf Weber.
  • Added a warning if configure detects LessTif because of the bugs with LessTif.


  • Also enable the ruler lines when xdvi is started in ruler mode (bug reported by Zhang Lin-Bo).
  • Protect against integer overflow in prefix arguments (patch suggested by Matt Swift in debian bug report #247848)
  • Fixed another wrong string (printing vs. saving) for #939262.
  • Fixed a bug with UTF-8 conversion in text copy&paste.
  • Fixed #940056 (Xaw version crashed when toggling expert mode and at same time quickly changing pages)
  • Added Ctrl-Home/End to forced Motif bindings for the drawing area.
  • Imported changes from non-k xdvi 22.83/22.84.
  • Added a `Open Recent' entry to the files menu (file history is saved to ~/.xdvirc). When xdvi is started without filename argument, the most recent file from the history will be used (set the X resource `noFileArgUseHistory' to false to get back the previous behaviour of opening the file selector in that situation).
  • Added a `dvips options' text field to the saving dialog, as for printing (feature request #942853, reported by Ulrich Scholz).


  • Fixed #939262 (Bugs when saving/printing: Title of log window was `Printing' also when saving, and outfile names weren't updated correctly after loading a new file; thanks again to Ulrich Scholz for reporting it).
  • Force vertical scrollbar for Motif Printing/Saving log window.
  • Bugfixes for a potential crash if shrink factor is changed on a page with color specials, as in non-k xdvi-22.82.
  • Fixed a bug with the Escape key to close popup windows in Motif that could cause crashes when opening new popups
  • Fixed Motif 1.2 compile (XmEACH_SIDE), and added/fixed configure checks for -lXmu, -lXp and -lXpm linker options.
  • Removed Xaw file selector auto raising since it could send the X server into a busy loop when the file selector was over a window that should always stay on top.
  • Removed t1mapper man page install (script wasn't installed either).
  • Fixed (#926055:
    • Default printing target not set correctly when printing window was initialized.
    • `-t' paper options were just appended instead of replacing the existing ones.
    • Current directory of dvips was that of xdvi invocation instead of DVI file path, causing e.g. problems with included EPS files.
  • Implemented a text selection mode, similar to xpdf: Use Mouse-1 to mark a rectangular region of text in a DVI file which is put into the X selection.
  • Added a Preferences dialog for the Motif version.
  • Use $HOME/.xdvirc to save user customization from menus, dialogs and Motif preferences; new `-q' option/`noUserFile' X resource inhibits reading this file.
  • Changed semantics of `browser' command-line option/`wwwBrowser' X resource: Make it override the $BROWSER or the (obsolete) $WWWBROWSER environment variable; use Netscape by default if no browser is specified.
  • Made Ctrl-+ and Alt-Ctrl-+ case insensitive (suggested by Harald Koenig).
  • Make the Escape key close Xaw popup windows (feature request #919501).
  • Updates for kpathsea/ by Olaf Weber.


  • Problem with flashing redraw of highlighted region when partially obscured by another window reported and fixed by Zhang Lin-bo.
  • Fixed #870323 (an error in the online help).
  • Fixed #880550 (documented Ctrl-s; add default _pp suffix to filenames only when saving partial files).
  • Fixed #883708 (oversplitting of forward search markers).
  • Fixed #876815 (closing search window failed under certain conditions).
  • Fixed a race condition with hyperlinks and browser startup that might lead to `unknown op-code' crashes, reported again by Zhang Lin-Bo.
  • Workaround for #884290 (drag&drop in file selector freezes xdvi/X) by disabling drag&drop. Thanks to Bernhard Walle for reporting the bug and suggesting the workaround.
  • Fixed #885464 (wrong parent window in message popups) by passing in parent widget.
  • Fixed wrong page number initialization when going back a hyperlink to a different file (#902073).
  • If no --with-toolkit option was given, check if Motif is available, and use it if it is; else, use Xaw. (Use --with-toolkit=xaw to override this default).
  • Implemented a simple page history (feature request #884674).
  • Implemented hyperref specials inserted by \usepackage[dvips]{hyperref} (feature request #662096).
  • Upgraded to t1lib version 5.0.1.
  • Added an option '-findstring' for string search from the command line, similar to inverse search.
  • Improved character name detection in string search by using T1lib function T1_GetCharName().


  • Don't close file selector if opening the new DVI file failed (feature request #851545).
  • Improved test for iconv lib to make it work on Mac OS X (reported by Artemio Gonzalez Lopez).
  • Fixed a bug with redrawing the page after file had been reloaded by `-watchfile', and a crash when using find while file was reloaded (#850795), again reported by Ulrich Scholz (many thanks!)
  • Force C locale when converting X resources to numbers, so that `.' is used as decimal point (#855950 - many thanks to Martin Vaeth for finding this bug).
  • Fixed a bug when loading first file via the file selector, reported by Dragan Milicic.
  • Fixed a bug with inverted highlighting not working on Solaris, again reported by Ulrich Scholz (#850788)
  • Fixed wrong binding for XmDIALOG_OK_BUTTON instead of XmDIALOG_CANCEL_BUTTON in create_dialogs().
  • Fixed a bug with hyperlinks that wrapped across several lines and pointed to another page: these were highlighted as visited only when region was exposed the second time.
  • Fixed a compatibility problem with fork/vfork on Mac OS X, as in xdvi-22.78.
  • Fixed a bug with width computation of initial window with `-expertmode 0'
  • Workaround by Zhang Lin-Bo for bug #856547 (presumably a race condition with GS_PIXMAP_CLEARING_HACK and scanned_page_* global variables).
  • Implemented a0/a0r and other missing DIN A/B/C formats (feature request #852431).
  • Added a `creating fonts' info window before main window is mapped (just a preliminary hack, no replacement for truly asynchronous font creation, since that window also feezes during font creation; see also feature request #614708).
  • Added more encodings for string extraction/search, reported by Ulrich Scholz (#850787).


  • Fixed a few compilation problems on Solaris (#827454, and headers in print-internal.c).
  • Added the forgotten directory texk/xdvik/texmf-alt for non-current-teTeX systems.
  • Fixed an X error with toggling fullscreen mode when -fullscreen option had been used (thanks to Zhang Lin-Bo for reporting it).
  • Fixed an off-by-one error in string backwards search that had made it skip every second match for matches of length 1.
  • Made toolbar.xpm obey the current window background colors.
  • Fixed a crash when saving a DVI file with empty pages in text format (again reported and fixed by Zhang Lin-Bo).
  • Fixed a crash when opening nonexisting files via the file selector in Motif (again reported by Zhang Lin-Bo).
  • Fixed a crash with GS_PIXMAP_CLEARING_HACK when toggling gs_alpha on a page with PS graphics (again reported by Zhang Lin-Bo).
  • Fixed broken `Print to file' option, and wrong page numbers passed to dvips when `P' has been used to assign a different page number to the current page
  • Made search settings honour the X resources for setting checkboxes (suggested by Reiner Steib).
  • Added an option `ignore hyphenation/linebreaks' for string search.
  • Use inverse highlighting instead of drawing bounding box, as in Acroread/xpdf, implemented by Zhang Lin-Bo.
  • Make the pagelist use physical pages by default, unless `UseTeXPages' option is used.
  • Made the `Home' and `End' buttons go to the top and bottom of the page, and Ctrl-Home and Ctrl-End to the first and last page of a document, respectively.
  • Removed the -DOmega define and made Omega a runtime option that is enabled by default and can be disabled via the -noomega command-line option or the `Omega' X resource.
  • Added support for CJK fonts when saving a file as UTF-8, and when searching in a file with such fonts (many thanks to Zhang Lin-Bo for providing the patches).
  • Removed the --disable-htex compilation option.
  • Added string `physical pages' to print popup (#841434)


  • Fixed an incompatibility with X11R5 (#803642; thanks to Ulrich Scholz for his help with debugging this).
  • Fixed a problem with the cursor masks on some X displays (#804294, again reported and debugged by Ulrich Scholz).
  • Fixed a problem with the initial tooltip window having the wrong (too large) size on some systems (#802806; thanks to Kostas Oikonomou for help with debugging this).
  • Also dump PS header files (e.g. to partially saved or printed files.
  • Fixed a security problem (tmp race) with xdvizilla (#812600; thanks very much to Thomas Esser for help with fixing this).
  • Used another workaround for the Ghostscript `alpha' driver problem with not erasing previous images: Call `erasepage' explicitly for pages with PS graphics (#633420; many thanks to John Bowman for providing a patch).
  • Fixed a bug with --datadir or --prefix being overwritten by default TEXMFMAIN if they didn't contain a valid texmf tree (#814004; thanks to Han-Wen Nienhuys for reporting this).
  • Fixed a typo in the Motif menu accelerator for set-gs-alpha() (`V', not `0v', also reported by Han-Wen Nienhuys).
  • Fixed bug #814328 (prevent Ctrl-l from changing position when switching back from fullscreen mode).
  • Fixed bug #810501 (`keep position' value was lost when resizing to fullscreen had removed the scrollbars). Thanks again to Ulrich Scholz for reporting these bugs.
  • Fixed a typo in the manpage, and broken redrawing of page (again reported by Ulrich Scholz, #819937).
  • Also resolve symbolic links in the main DVI name; this should improve the behaviour with inverse search, cf. #768817, and the search for e.g. embedded graphics or hyperlinks.
  • Fixed a linker problem with multiple definitions on Cygwin.
  • Support for additional file formats in save dialog: PS, PDF, DVI and plain text (in ISO-8859-1 and UTF-8).
  • String search in DVI files (feature request #470389).
  • Use ',' as separator for command-line debugging options instead of `|'.


  • Fixed the support for the window manager `delete' protocol for the toplevel window in Xaw.
  • Fixed bug #797171 (BadValue X error when toggling expert mode on Solaris; thanks to Erik Frisk for helping me with debugging this).
  • Fixed a bug introduced in 22.76 with wrong argument to kpse_set_program_name(), which results in kpathsearch not finding font files etc. properly if SELFAUTODIR is used. Reported by Erik Frisk. (And a fix to that fix, reported by Dragan Milicic.)
  • Fixed obsolete link in the `New Features' Help menu entry (many thanks to Hans Fr. Nordhaug for spotting this).


  • Always dump `literal' PS specials (starting with `!') to the output file, otherwise things like draftcopy won't work for partially saved DVI files.
  • Fixed bug #784204 (failed assertion with Motif at startup)
  • Removed the check for the DVI file inode number in forward search, since (as opposed to original xdvi) xdvik expands the DVI filename to a full path, so it's sufficient to match the full path.
  • Fixed bug #779521 (crashes when printing with temporary file enabled; thanks to Bernhard Walle for spotting this).
  • Fixed bug #769025 (saving the DVI file may result in a corrupted copy; thanks to Ulrich Scholz for reporting and help with debugging it).
  • New application icons (lion with `X').


  • Fixed a bug with up-or-previous() and down-or-next() ignoring keep flag (which broke gs display, since that relied on home()).
  • Enabled XtAppAddTimeout() for Xaw, just like for Motif.
  • Removed the STATUSLINE conditional compilation (which was broken).
  • Implemented a workaround for the `stale pixmaps' problem with the gs x11alpha driver (#633420), by first drawing a rectangle in background color of the size of the bounding box to clear the pixmap.
  • Fixed bugs #762621 (-sourceposition and -unique didn't fork properly) and #762765 (printing/saving of marked pages was broken) in the (withdrawn) version 22.76; thanks to Zhang Lin-Bo and Bernhard Walle for reporting these bugs.
  • Removed the XPM application icon used since xdvik-22.74, after it had become apparent that it was a plagiarized version of (an older version of) OzTeX's icon. Reported by OzTeX's author Andrew Trevorrow; our sincere apologies to him.
  • Implemented a -watchfile option, as in gv (#547137).
  • Implemented feature request #759865: To avoid `DVI file corrupted' messages (and some race conditions with the drawing routines that might result in `bad opcode' errors when paging through a DVI file while it is being written by TeX), xdvik now creates a backup version of the file being viewed. This file is swapped with a fresh version of the original each time the original file has been written completely by TeX. The command line option `-notempfile' can be used to revert to the previous behaviour (no temporary file).
  • Added a `pixels' ruler unit.


  • Security fix for MIME types: Escape all special characters (e.g. backticks) in the filename argument to prevent execution of malicious shell code when launching a MIME viewer. (Side note: Xdvik is not affected by the recently discovered vulnerability in Acroread/xpdf's URL handling, but the issue with MIME types is similar in nature. XDvi does not use system() to start the web browser for URLs, but it uses system() for the MIME applications, in accordance with mailcap(4).)
  • Fixed a bug in the up-or-previous() action (#754805' thanks to Bernhard Walle), and changed the behaviour of the `keep' flag so that up-or-previous() and down-or-next() ignore it (after all, the ordinary up() and down() actions will already keep the position, so they can be used instead if you don't want the scrolling).
  • Made XBell honour the bell volume (set e.g. by xset; #751763; thanks to Bernhard Walle for reporting this).


  • Fixed a bug with `.dvi' extension not being added if file had a `.' in it (#743876; thanks to Markus Kohm for noting it). Now the algorithm is the same as in non-k xdvi for files passed on the command line. For files opened via hyperlinks, no extension is added.
  • Fixed a bug with wrong topic name in `Help' pulldown menu (#743280; thanks to Bernhard Walle for reporting this).
  • Fixed another bug with Omega .vf font searching (#746551; thanks to Alexej Kryukov for reporting it).


  • Fixed bug with misplaced link underlining when first character in the link is an accented composite character (#737643; thanks to Christian Ullrich for spotting this).
  • Made forward search also work when file had been changed and not yet reloaded (#738387).
  • Fixed typos in `-expertmode' description in man page (followups to #737019).
  • Fixed a compilation problem when --disable-t1lib is used (thanks to Ross Alexander for providing patches).
  • Fixed a bug with `-s n' argument not working when -fullscreen is given as well, reported by Zhang Lin-Bo.
  • Fixed a bug with forward search not warning when it hadn't found the filename in the specials.
  • Fixed a bug with window size not being reset correctly when activating expert mode in fullscreen mode (Xaw).
  • Fixed a bug with xdvi always appending a `.dvi' extension even if the file already had an extension (#743182; thanks to David Feest for noting this).
  • Fixed a bug with scroll_page_if_needed() being called with wrong arguments if forward search hadn't found a glyph and used the special hotspot instead.
  • Fixed a bug with the icon and Xaw menu code causing BadMatch X errors (#740982).
  • Setting mouse translations in Motif's `mainTranslations' erroneously disabled the default pagelist translations (reported by Zhang Lin-Bo).
  • Fixed a bug with the Motif `PS' options menu (#743085; thanks to Bernhard Walle for finding this).
  • Added a help topic for `ruler mode'.
  • Added a `-unique' option (as in KDVI) for loading a new file into a running instance of xdvik.
  • Made usage() output the options in sorted order (thanks to Nelson Beebe for the patch).
  • Made forward search canonicalize all `../', `./' and `//' in the `-sourceposition' argument and in the source specials.


  • New option/X resource `-expertmode <n>' option replaces `-statusline', `-toolbar' (and effectively also `-expert', which is only supported for backwards compatibility). This should fix bug #737019 and make the interoperation of the various expert settings more evident.
  • Many improvements over the 22.40 versions, among them color support, printing support and many GUI changes - see e.g. the screenshots here.

2009/05/10 22.84.16 released

Older Stuff
2009/03/02 22.84.15 released
2008/05/28 22.84.14 released
2007/10/31 22.84.13 released
2007/07/22 22.84.12 released
Last updated on Sun, 10 May 2009 22:15:05 +0200 by Stefan Ulrich Valid HTML 4.01!