SHA256
1
0
forked from pool/texlive
texlive/source.dif

1118 lines
39 KiB
Plaintext
Raw Normal View History

--- libs/icu/icu-49.1/common/Makefile.in
+++ libs/icu/icu-49.1/common/Makefile.in 2011-12-09 11:43:35.443147133 +0000
@@ -66,7 +66,7 @@ DEFS += -DU_COMMON_IMPLEMENTATION @DEFS@
LDFLAGS += $(LDFLAGSICUUC)
# for plugin configuration
-CPPFLAGS += "-DDEFAULT_ICU_PLUGINS=\"$(libdir)/icu\" "
+CPPFLAGS += "-DDEFAULT_ICU_PLUGINS=\"/usr/lib/icu\" "
# for icu data location
ifeq ($(PKGDATA_MODE),common)
--- reautoconf
+++ reautoconf 2009-09-03 10:53:28.000000000 +0000
@@ -83,7 +83,7 @@ echo "$0: TL_AUTOHEADER, T
# Give users a chance to quit here
# and set TL_AUTOCONF, TL_AUTOHEADER, TL_AUTOMAKE, and/or TL_ACLOCAL
-$do_cmd sleep 5
+# $do_cmd sleep 5
AUTOCONF=$TL_AUTOCONF
AUTOHEADER=$TL_AUTOHEADER
--- texk/dviljk/dvi2xx.c
+++ texk/dviljk/dvi2xx.c 2009-09-02 12:47:26.000000000 +0000
@@ -169,7 +169,18 @@ main(int argc, char *argv[])
setbuf(ERR_STREAM, NULL);
G_progname = argv[0];
#ifdef KPATHSEA
+# if defined(LJ)
kpse_set_program_name(argv[0], "dvilj");
+# endif
+# if defined(LJ2P)
+ kpse_set_program_name(argv[0], "dvilj2p");
+# endif
+# if defined(LJ4) && !defined(LJ4L)
+ kpse_set_program_name(argv[0], "dvilj4");
+# endif
+# if defined(LJ4) && defined(LJ4L)
+ kpse_set_program_name(argv[0], "dvilj4l");
+# endif
kpse_set_program_enabled (kpse_pk_format, MAKE_TEX_PK_BY_DEFAULT, kpse_src_compile);
#endif
DecodeArgs(argc, argv);
--- texk/kpathsea/c-fopen.h
+++ texk/kpathsea/c-fopen.h 2010-11-12 17:02:18.000000000 +0000
@@ -34,17 +34,17 @@
/* How to open a binary file for reading: */
#ifndef FOPEN_RBIN_MODE
-#define FOPEN_RBIN_MODE "rb"
+#define FOPEN_RBIN_MODE "r"
#endif /* not FOPEN_RBIN_MODE */
/* How to open a binary file for writing: */
#ifndef FOPEN_WBIN_MODE
-#define FOPEN_WBIN_MODE "wb"
+#define FOPEN_WBIN_MODE "w"
#endif /* not FOPEN_WBIN_MODE */
/* How to open a binary file for appending: */
#ifndef FOPEN_ABIN_MODE
-#define FOPEN_ABIN_MODE "ab"
+#define FOPEN_ABIN_MODE "a"
#endif /* not FOPEN_ABIN_MODE */
/* How to switch an already open file handle to binary mode.
--- texk/kpathsea/c-memstr.h
+++ texk/kpathsea/c-memstr.h 2009-09-02 12:47:26.000000000 +0000
@@ -38,6 +38,7 @@
/* Just to be complete, we make both the system V/ANSI and the BSD
versions of the string functions available. */
+#ifndef __GNUC__
#if !defined(HAVE_STRCHR) && !defined(strchr)
#define strchr index
#endif
@@ -82,4 +83,6 @@ extern char *strstr ();
#endif
#endif
+#endif /* not __GNUC__ */
+
#endif /* not KPATHSEA_C_MEMSTR_H */
--- texk/kpathsea/cnf-to-paths.awk
+++ texk/kpathsea/cnf-to-paths.awk 2011-09-13 16:11:30.316427108 +0000
@@ -32,7 +32,7 @@
val = $0;
sub(/^.*=[ \t]*/, "", val);
sub(/[ \t]*$/, "", val);
- #print "got ident", ident, "and val", val >"/dev/stderr";
+print "got ident", ident, "and val", val >"/dev/stderr";
if (val ~ /\$SELFAUTO/) {
# Replace all semicolons with colons in the SELFAUTO paths we're keeping.
--- texk/kpathsea/db.c
+++ texk/kpathsea/db.c 2012-04-13 17:32:17.831769704 +0200
@@ -89,7 +89,8 @@ db_build (kpathsea kpse, hash_table_type
unsigned len = strlen (db_filename) - sizeof (DB_NAME) + 1; /* Keep the /. */
string top_dir = (string)xmalloc (len + 1);
string cur_dir = NULL; /* First thing in ls-R might be a filename. */
- FILE *db_file = fopen (db_filename, FOPEN_R_MODE);
+ struct stat statdb;
+ FILE *db_file;
#if defined(WIN32)
string pp;
#endif
@@ -97,7 +98,15 @@ db_build (kpathsea kpse, hash_table_type
strncpy (top_dir, db_filename, len);
top_dir[len] = 0;
- if (db_file) {
+ if ((getenv("MKTEXLSR") == NULL) &&
+ (stat(db_filename, &statdb) < 0 || statdb.st_size == 0)) {
+ char buf[PATH_MAX+1];
+ snprintf(buf, PATH_MAX, "mktexlsr %s", top_dir);
+ xputenv("MKTEXLSR", "true"); /* fork loop detection */
+ system (buf);
+ }
+
+ if ((db_file = fopen (db_filename, FOPEN_R_MODE))) {
while ((line = read_line (db_file)) != NULL) {
len = strlen (line);
--- texk/kpathsea/mktex.opt
+++ texk/kpathsea/mktex.opt 2012-05-14 13:26:00.034911495 +0200
@@ -37,10 +37,11 @@ if test "$DOSISH" = "no"; then SEP=':';
# TEMPDIR needs to be unique to each process because of the possibility of two
# people running dvips (or whatever) simultaneously.
if test -n "$TMPDIR"; then
- TEMPDIR="${TMPDIR}/mt$$.tmp"
+ TEMPDIR="${TMPDIR}/.mtXXXXXXXXXX"
else
- TEMPDIR="/tmp/mt$$.tmp"
+ TEMPDIR="/tmp/.mtXXXXXXXXXX"
fi
+TEMPDIR=$(mktemp -d "$TEMPDIR") || exit 1
# We want to output only filenames to standard output, but it's too
# error-prone to write the scripts that way, so we direct stdout here.
@@ -48,17 +49,23 @@ STDOUT="$TEMPDIR/mt$$.out"
# We will change search paths to include $KPSE_DOT. This is necessary
# since we cd to $TEMPDIR.
-: ${KPSE_DOT=`pwd`}; export KPSE_DOT
+: ${KPSE_DOT=${PWD}}; export KPSE_DOT
# Clean up on normal or abnormal exit.
# The "cd /" is for MS-DOS and MS-Windows, where there is a separate
# current directory on each drive, and therefore "cd $KPSE_DOT" might
# still leave $TMPDIR current directory on its drive, in which case it
# cannot be removed.
-trap 'rc=$?; cd /; cd "$KPSE_DOT"; test -f "$STDOUT" && cat "$STDOUT"; rm -rf "$TEMPDIR"; exit $rc' \
- 0 1 2 3 7 13 15
+atexit ()
+{
+ local rc=$?
+ cd "$KPSE_DOT"
+ test -n "$STDOUT" -a -f "$STDOUT" && cat "$STDOUT"
+ test -n "$TEMPDIR" -a -d "$TEMPDIR" && rm -rf "$TEMPDIR"
+ exit $rc
+}
+trap 'atexit' EXIT SIGHUP SIGINT SIGQUIT SIGBUS SIGPIPE SIGTERM
-(umask 077 && mkdir "$TEMPDIR") || exit 1
cd "$TEMPDIR" || exit 1
# The alternative location for fonts. The directory need not exist,
@@ -68,6 +75,11 @@ if test -z "$MT_VARTEXFONTS"; then
echo "$0: VARTEXFONTS is not defined. Defaulting to \`$KPSE_DOT'." >&2
MT_VARTEXFONTS='$KPSE_DOT'
fi
+: ${MT_TEXMFVAR=`kpsewhich --expand-var='$TEXMFVAR' | sed 's%^!!%%'`}
+if test -z "$MT_TEXMFVAR"; then
+ echo "$0: TEXMFVAR is not defined. Defaulting to \`$KPSE_DOT'." >&2
+ MT_TEXMFVAR='$KPSE_DOT'
+fi
# The supporting scripts:
: ${MT_MKTEXNAM=`kpsewhich --format='web2c files' mktexnam`}
@@ -108,9 +120,18 @@ fi
: ${MAG=1.0}
: ${ps_to_pk=gsftopk} # some prefer ps2pk
-# Allow fonts to be read and written (especially in case we make
-# directories) by everyone.
-umask 0
+case ":${MT_FEATURES}:" in
+*:varfonts:*)
+ if test -w "$MT_VARTEXFONTS" ; then
+ # Allow fonts to be read and written (especially in case we make
+ # directories) by everyone.
+ umask 0
+ else
+ umask 022
+ MT_VARTEXFONTS=$HOME/.cache/texmf/fonts
+ test -d $MT_VARTEXFONTS || mkdir -p $MT_VARTEXFONTS
+ fi
+esac
# Cache values that may be useful for recursive calls.
export MT_MKTEX_OPT MT_MKTEX_CNF
--- texk/kpathsea/mktexlsr
+++ texk/kpathsea/mktexlsr 2012-04-27 14:06:45.670065918 +0000
@@ -36,6 +36,9 @@ Kpathsea manual available at http://tug.
Report bugs to tex-k@tug.org.
"
+MKTEXLSR=true; export MKTEXLSR
+set -o noclobber
+
# MS-DOS and MS-Windows define $COMSPEC or $ComSpec and use `;' to separate
# directories in path lists whereas Unix uses `:'. Make an exception for
# Cygwin, which pretends to be UNIX.
@@ -51,6 +54,9 @@ if test "$DOSISH" = "no"; then SEP=':';
# be done before kpsewhich can be called, and thus cannot be put into
# mktex.opt.
dirname=`echo $0 | sed 's%/*[^/][^/]*$%%'`
+case "$SEP$PATH$SEP" in
+ *$SEP$dirname$SEP*) dirname="" ;;
+esac
case $dirname in
"") # Do nothing
;;
@@ -134,6 +140,7 @@ old_ls_R_magic='% ls-R -- maintained by
shift
}
+cache="`kpsewhich --expand-var='$VARTEXFONTS'`"
for TEXMFLS_R in "$@"; do
# Prepend cwd if the directory was relative.
case "$TEXMFLS_R" in
@@ -163,12 +170,23 @@ for TEXMFLS_R in "$@"; do
# want to be silent if the directory doesn't exist, since the ls-R
# path ordinarily contains many nonexistent directories.
test -d "$db_dir" || continue
- test -w "$db_dir" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; }
+ if test -w "$db_dir" ; then
+ # default
+ db_dir_tmp="$db_dir/.lsR.XXXXXX"
+ else
+ # Escape to writable cache directory
+ test -w "$cache" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; }
+ db_dir_tmp="$cache/.lsR.XXXXXX"
+ fi
if test ! -f "$db_file"; then
- cp /dev/null "$db_file"
+ # Note: this script has set the noclobber option at line 18
+ > "$db_file" \
+ || { echo "$progname: could not create file '$db_file'. Skipping..." >&2; continue; }
# Use same permissions as parent directory, minus x,s, or t bits.
chmod `kpsestat -xst "$db_dir"` "$db_file"
+ elif test -w $db_file -a ! -s $db_file ; then
+ : Is writable but empty
elif test -s "$db_file" \
&& test "x`sed '1s/ $//;1q' \"$db_file\"`" != "x$ls_R_magic" \
&& test "x`sed '1s/ $//;1q' \"$db_file\"`" != "x$old_ls_R_magic"; then
@@ -179,16 +197,23 @@ for TEXMFLS_R in "$@"; do
# Skip if we cannot write the file:
kpseaccess -w "$db_file" || { echo "$progname: $db_file: no write permission, skipping..." >&2; continue; }
- db_dir_tmp="$db_dir/lsR$$.tmp"
- (umask 077 && mkdir "$db_dir_tmp" ) \
+ until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
+ if test "$PERMS" = "666" -a ! -k "$db_dir" ; then
+ echo "$progname: '$db_file' world writable but '$db_dir' not sticky. Skipping..." >&2
+ continue
+ fi
+
+ db_dir_tmp=$(mktemp -d "$db_dir_tmp") \
|| { echo "$progname: $db_dir_tmp: could not create directory, skipping..." >&2; continue; }
db_file_tmp="$db_dir_tmp/lsR$$.tmp"
rm -f "$db_file_tmp"
$verbose && echo "$progname: Updating $db_file... " >&2
$dry_run && continue
-
- echo "$ls_R_magic" >"$db_file_tmp"
+
+ # Note: this script has set the noclobber option at line 18
+ echo "$ls_R_magic" >"$db_file_tmp" \
+ || { echo "$progname: could not create file '$db_file_tmp'. Skipping..." >&2; continue; }
# The main task. We put ./: in the output, so top-level files can be
# found via ls-R. Probably irrelevant in practice. The sed command
@@ -202,15 +227,20 @@ for TEXMFLS_R in "$@"; do
vc_dirs='\.\(bzr\|git\|hg\|svn\)\|_darcs'
(cd "$TEXMFLS_R" && \ls -LRa 2>/dev/null) \
| sed -e '/^$/{n;s%^\./%%;s%^%./%;}; /^\.$/d; /^\.\.$/d; /^'$vc_dirs'$/d;' \
- -e '/^[\.\/]*lsR[0-9]*\.tmp:*$/d' \
+ -e '/^[\.\/]*lsR[0-9]*\.tmp:*$/d;/^[\.\/]*'${db_dir_tmp##*/}':*$/d' \
| sed -e /$vc_dirs'.*:$/,/^$/d' \
>>"$db_file_tmp"
# To be really safe, a loop.
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
chmod $PERMS "$db_file_tmp"
- rm -f "$db_file"
- mv "$db_file_tmp" "$db_file"
+ if test -w "$db_file" ; then
+ # Sticky bit is set see line 200
+ # Temporary unset the noclobber option at line 40
+ set +o noclobber
+ cat "$db_file_tmp" > "$db_file"
+ set -o noclobber
+ fi
rm -rf "$db_dir_tmp"
done
$verbose && echo "$progname: Done." >&2
--- texk/kpathsea/progname.c
+++ texk/kpathsea/progname.c 2012-04-13 17:34:49.108319823 +0200
@@ -665,9 +665,9 @@ kpathsea_set_program_name (kpathsea kpse
/* SELFAUTODIR is actually the parent of the invocation directory,
and SELFAUTOPARENT the grandparent. This is how teTeX did it. */
kpathsea_xputenv (kpse, "SELFAUTOLOC", fix_selfdir (sdir));
- sdir_parent = xdirname (sdir);
+ sdir_parent = xdirname ("/usr/lib");
kpathsea_xputenv (kpse, "SELFAUTODIR", fix_selfdir (sdir_parent));
- sdir_grandparent = xdirname (sdir_parent);
+ sdir_grandparent = xdirname ("/usr/lib/texmf");
kpathsea_xputenv (kpse, "SELFAUTOPARENT", fix_selfdir (sdir_grandparent));
#if defined(WIN32) || defined(__CYGWIN__)
--- texk/kpathsea/texmf.cnf
+++ texk/kpathsea/texmf.cnf 2012-06-12 16:27:01.749111534 +0200
@@ -55,31 +55,34 @@ TEXMFROOT = $SELFAUTOPARENT
% The tree containing runtime files related to the specific
% distribution and version.
-TEXMFMAIN = $TEXMFROOT/texmf
+TEXMFMAIN = /usr/lib/texmf
% The main tree of packages, distribution-agnostic:
-TEXMFDIST = $TEXMFROOT/texmf-dist
+TEXMFDIST = /usr/share/texmf
+
+% Our documentation-only tree, arranged by language:
+TEXMFDOC = ${TEXMFDIST}/doc;${TEXMFMAIN}/doc
% Local additions to the distribution trees.
-TEXMFLOCAL = $TEXMFROOT/../texmf-local
+TEXMFLOCAL = /usr/local/share/texmf
% TEXMFSYSVAR, where *-sys store cached runtime data.
-TEXMFSYSVAR = $TEXMFROOT/texmf-var
+TEXMFSYSVAR = /var/lib/texmf
% TEXMFSYSCONFIG, where *-sys store configuration data.
-TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
+TEXMFSYSCONFIG = /etc/texmf
% Per-user texmf tree(s) -- organized per the TDS, as usual. To define
% more than one per-user tree, set this to a list of directories in
% braces, as described above. (This used to be HOMETEXMF.) ~ expands
% to %USERPROFILE% on Windows, $HOME otherwise.
-TEXMFHOME = ~/texmf
+TEXMFHOME = $HOME/texmf
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
-TEXMFVAR = ~/.texlive2012/texmf-var
+TEXMFVAR = ${TEXMFSYSVAR}
% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
-TEXMFCONFIG = ~/.texlive2012/texmf-config
+TEXMFCONFIG = ${TEXMFSYSCONFIG}
% List all the texmf trees.
%
@@ -94,7 +97,7 @@ TEXMFCONFIG = ~/.texlive2012/texmf-confi
% versions should take precedence over those -- although it is generally
% a source of confusion to have different versions of a package
% installed, whatever the trees, so try to avoid it.
-TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
+TEXMF = {$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
% Where to look for ls-R files. There need not be an ls-R in the
% directories in this path, but if there is one, Kpathsea will use it.
@@ -102,18 +105,17 @@ TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHO
% does not create ls-R files in the non-!! elements -- because if an
% ls-R is present, it will be used, and the disk will not be searched.
% This is arguably a bug in kpathsea.
-TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
+TEXMFDBS = $TEXMF;$VARTEXFONTS
% The system trees. These are the trees that are shared by all users.
% If a tree appears in this list, the mktex* scripts will use
% VARTEXFONTS for generated files, if the original tree isn't writable;
% otherwise the current working directory is used.
-SYSTEXMF = $TEXMFSYSVAR;$TEXMFMAIN;$TEXMFLOCAL;$TEXMFDIST
+SYSTEXMF = $TEXMFSYSCONFIG;$TEXMFSYSVAR;$TEXMFMAIN;$TEXMFLOCAL;$TEXMFDIST
% Where generated fonts may be written. This tree is used when the sources
% were found in a system tree and either that tree wasn't writable, or the
% varfonts feature was enabled in MT_FEATURES in mktex.cnf.
-VARTEXFONTS = $TEXMFVAR/fonts
% On some systems, there will be a system tree which contains all the font
% files that may be created as well as the formats. For example
@@ -124,7 +126,7 @@ VARTEXFONTS = $TEXMFVAR/fonts
%
% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
% one of the TEXMF directories (avoids overlapping ls-R files).
-
+VARTEXFONTS = /var/cache/texmf/fonts
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Usually you will not need to edit any of the following variables.
@@ -132,7 +134,7 @@ VARTEXFONTS = $TEXMFVAR/fonts
% WEB2C is for Web2C specific files. The current directory may not be
% a good place to look for them.
-WEB2C = $TEXMF/web2c
+WEB2C = ${TEXMFHOME}/web2c;${TEXMFSYSCONFIG}/web2c;${TEXMFSYSVAR}/web2c;$TEXMF/web2c
% TEXINPUTS is for TeX input files -- i.e., anything to be found by \input
% or \openin, including .sty, .eps, etc. We specify paths for all known
@@ -173,23 +175,23 @@ TEXINPUTS.elatex = .;$TEXMF/tex/{
TEXINPUTS.etex = .;$TEXMF/tex/{plain,generic,}//
% pdfTeX.
-TEXINPUTS.pdfcslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
-TEXINPUTS.pdfcsplain = .;$TEXMF/tex/{csplain,plain,generic,}//
-TEXINPUTS.pdflatex = .;$TEXMF/tex/{latex,generic,}//
-TEXINPUTS.pdfmex = .;$TEXMF/tex/{mex,plain,generic,}//
-TEXINPUTS.utf8mex = .;$TEXMF/tex/{mex,plain,generic,}//
-TEXINPUTS.pdftex = .;$TEXMF/tex/{plain,generic,}//
-TEXINPUTS.pdftexinfo = .;$TEXMF/tex/{texinfo,plain,generic,}//
-TEXINPUTS.pdfamstex = .;$TEXMF/tex/{amstex,plain,generic,}//
+TEXINPUTS.pdfcslatex = .;$TEXMF/{pdftex,tex}/{cslatex,csplain,latex,generic,}//
+TEXINPUTS.pdfcsplain = .;$TEXMF/{pdftex,tex}/{csplain,plain,generic,}//
+TEXINPUTS.pdflatex = .;$TEXMF/{pdftex,tex}/{latex,generic,}//
+TEXINPUTS.pdfmex = .;$TEXMF/{pdftex,tex}/{mex,plain,generic,}//
+TEXINPUTS.utf8mex = .;$TEXMF/{pdftex,tex}/{mex,plain,generic,}//
+TEXINPUTS.pdftex = .;$TEXMF/{pdftex,tex}/{plain,generic,}//
+TEXINPUTS.pdftexinfo = .;$TEXMF/{pdftex,tex}/{texinfo,plain,generic,}//
+TEXINPUTS.pdfamstex = .;$TEXMF/{pdftex,tex}/{amstex,plain,generic,}//
% pdfeTeX.
-TEXINPUTS.pdfelatex = .;$TEXMF/tex/{latex,generic,}//
-TEXINPUTS.pdfetex = .;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.pdfelatex = .;$TEXMF/{pdftex,tex}/{latex,generic,}//
+TEXINPUTS.pdfetex = .;$TEXMF/{pdftex,tex}/{plain,generic,}//
% pdfxTeX.
-TEXINPUTS.pdfxlatex = .;$TEXMF/tex/{latex,generic,}//
-TEXINPUTS.pdfxmex = .;$TEXMF/tex/{mex,plain,generic,}//
-TEXINPUTS.pdfxtex = .;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.pdfxlatex = .;$TEXMF/{pdftex,tex}/{latex,generic,}//
+TEXINPUTS.pdfxmex = .;$TEXMF/{pdftex,tex}/{mex,plain,generic,}//
+TEXINPUTS.pdfxtex = .;$TEXMF/{pdftex,tex}/{plain,generic,}//
% LuaTeX.
TEXINPUTS.lualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
@@ -231,18 +233,18 @@ BSTINPUTS.pbibtex = .;$TEXMF/{pbib
TEXINPUTS.context = .;$TEXMF/tex/{context,plain,generic}//
% jadetex.
-TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,latex,generic,}//
-TEXINPUTS.pdfjadetex = .;$TEXMF/tex/{jadetex,latex,generic,}//
+TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,xmltex,latex,plain,generic,}//
+TEXINPUTS.pdfjadetex = .;$TEXMF/{pdftex,tex}/{jadetex,xmltex,latex,plain,generic,}//
% XMLTeX.
-TEXINPUTS.xmltex = .;$TEXMF/tex/{xmltex,latex,generic,}//
-TEXINPUTS.pdfxmltex = .;$TEXMF/tex/{xmltex,latex,generic,}//
+TEXINPUTS.xmltex = .;$TEXMF/tex/{xmltex,latex,plain,generic,}//
+TEXINPUTS.pdfxmltex = .;$TEXMF/{pdftex,tex}/{xmltex,latex,plain,generic,}//
% Miscellany, no longer built.
TEXINPUTS.lamstex = .;$TEXMF/tex/{lamstex,plain,generic,}//
TEXINPUTS.lollipop = .;$TEXMF/tex/{lollipop,plain,generic,}//
-TEXINPUTS.frpdflatex = .;$TEXMF/tex/{french,latex,generic,}//
-TEXINPUTS.frpdftex = .;$TEXMF/tex/{french,plain,generic,}//
+TEXINPUTS.frpdflatex = .;$TEXMF/{pdftex,tex}/{french,latex,generic,}//
+TEXINPUTS.frpdftex = .;$TEXMF/{pdftex,tex}/{french,plain,generic,}//
% Earlier entries override later ones, so put this generic one last.
TEXINPUTS = .;$TEXMF/tex/{$progname,generic,}//
@@ -261,13 +263,13 @@ MPINPUTS = .;$TEXMF/metapost//
% We repeat the same definition three times because of the way fmtutil
% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
% will not be found.
-TEXFORMATS = .;$TEXMF/web2c{/$engine,}
-MFBASES = .;$TEXMF/web2c{/$engine,}
-MPMEMS = .;$TEXMF/web2c{/$engine,}
+TEXFORMATS = .;$WEB2C/{$engine,}//
+MFBASES = .;$WEB2C/{$engine,}//
+MPMEMS = .;$WEB2C/{$engine,}//
%
% As of 2008, pool files don't exist any more (the strings are compiled
% into the binaries), but just in case something expects to find these:
-TEXPOOL = .;$TEXMF/web2c
+TEXPOOL = .;$WEB2C
MFPOOL = ${TEXPOOL}
MPPOOL = ${TEXPOOL}
@@ -295,7 +297,7 @@ GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MOD
GLYPHFONTS = .;$TEXMF/fonts
% A place to puth everything that doesn't fit the other font categories.
-MISCFONTS = .;$TEXMF/fonts/misc//
+MISCFONTS = .;$TEXMF/fonts/misc//;$TEXMF/fonts/hbf//
% font name map files. This isn't just fonts/map// because ConTeXt
% wants support for having files with the same name in the different
@@ -377,8 +379,8 @@ MPSUPPORT = .;$TEXMF/metapost/support
% For xdvi to find mime.types and .mailcap, if they do not exist in
% ~. These are single directories, not paths.
% (But the default mime.types, at least, may well suffice.)
-MIMELIBDIR = $TEXMFROOT/etc
-MAILCAPLIBDIR = $TEXMFROOT/etc
+MIMELIBDIR = /etc
+MAILCAPLIBDIR = /etc
% Default settings for the fontconfig library as used by the Windows
% versions of xetex/xdvipdfmx. On Unixish systems, fontconfig ignores
@@ -481,19 +483,20 @@ RUBYINPUTS = .;$TEXMF/scripts/{$progna
% explicitly list every directory. Arguably more understandable this
% way anyway.
%
-TEXMFCNF = {\
-$SELFAUTOLOC,\
-$SELFAUTOLOC/share/texmf-local/web2c,$SELFAUTOLOC/share/texmf/web2c,\
-$SELFAUTOLOC/texmf-local/web2c,$SELFAUTOLOC/texmf/web2c,\
-$SELFAUTODIR,\
-$SELFAUTODIR/share/texmf-local/web2c,$SELFAUTODIR/share/texmf/web2c,\
-$SELFAUTODIR/texmf-local/web2c,$SELFAUTODIR/texmf/web2c,\
-$SELFAUTOPARENT/../texmf-local/web2c,\
-$SELFAUTOPARENT,\
-$SELFAUTOPARENT/share/texmf-local/web2c,$SELFAUTOPARENT/share/texmf/web2c,\
-$SELFAUTOPARENT/texmf-local/web2c,$SELFAUTOPARENT/texmf/web2c\
-}
-%
+TEXMFCNF = /etc/texmf;/etc/texmf/web2c;/var/lib/texmf/web2c;$TEXMF/web2c
+
+% For reference, here is the upstream definition:
+%TEXMFCNF = {\
+%$SELFAUTOLOC,\
+%$SELFAUTOLOC/share/texmf-local/web2c,$SELFAUTOLOC/share/texmf/web2c,\
+%$SELFAUTOLOC/texmf-local/web2c,$SELFAUTOLOC/texmf/web2c,\
+%$SELFAUTODIR,\
+%$SELFAUTODIR/share/texmf-local/web2c,$SELFAUTODIR/share/texmf/web2c,\
+%$SELFAUTOPARENT/../texmf-local/web2c,\
+%$SELFAUTOPARENT,\
+%$SELFAUTOPARENT/share/texmf-local/web2c,$SELFAUTOPARENT/share/texmf/web2c,\
+%$SELFAUTOPARENT/texmf-local/web2c,$SELFAUTOPARENT/texmf/web2c\
+%}
% For reference, here is the old brace-using definition:
%TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
@@ -675,9 +678,9 @@ BIBTEX_CSFILE = 88591lat.csf
% For some xy-pic samples, you may need as much as 700000 words of memory.
% For the vast majority of documents, 60000 or less will do.
%
-main_memory = 3000000 % words of inimemory available; also applies to inimf&mp
-extra_mem_top = 0 % extra high memory for chars, tokens, etc.
-extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc.
+main_memory = 3500000 % words of inimemory available; also applies to inimf&mp
+extra_mem_top = 0 % extra high memory for chars, tokens, etc. (has to be 0 for omega)
+extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc. (has to be 0 for omega)
% ConTeXt needs lots of memory.
extra_mem_top.context = 2000000
@@ -761,3 +764,33 @@ max_strings.pbibtex = 35307
line_length.gftype = 500
max_rows.gftype = 8191
max_cols.gftype = 8191
+
+% These are xmltex specific
+main_memory.xmltex = 1500000
+param_size.xmltex = 1500
+stack_size.xmltex = 1500
+hash_extra.xmltex = 50000
+string_vacancies.xmltex = 45000
+pool_free.xmltex = 47500
+nest_size.xmltex = 500
+save_size.xmltex = 10000
+pool_size.xmltex = 500000
+max_strings.xmltex = 55000
+
+% These are pdfxmltex specific
+main_memory.pdfxmltex = 2500000
+param_size.pdfxmltex = 1500
+stack_size.pdfxmltex = 1500
+hash_extra.pdfxmltex = 50000
+string_vacancies.pdfxmltex = 45000
+pool_free.pdfxmltex = 47500
+nest_size.pdfxmltex = 500
+save_size.pdfxmltex = 10000
+pool_size.pdfxmltex = 500000
+max_strings.pdfxmltex = 55000
+
+% These are jadetex specific
+main_memory.jadetex = 499999
+hash_extra.jadetex = 25000
+pool_size.jadetex = 500000
+save_size.jadetex = 15000
--- texk/lcdf-typetools/otftotfm/otftotfm.cc
+++ texk/lcdf-typetools/otftotfm/otftotfm.cc 2011-12-19 12:58:13.735646589 +0100
@@ -60,6 +60,9 @@
# include <fcntl.h>
#endif
+#undef SHAREDIR
+#define SHAREDIR "/usr/share/texmf/fonts/map/glyphlist"
+
using namespace Efont;
#define VERSION_OPT 301
--- texk/ps2pkm/pk2bm.c
+++ texk/ps2pkm/pk2bm.c 2009-09-02 12:47:26.000000000 +0000
@@ -41,8 +41,7 @@ int main(int argc, char *argv[])
quarterword lsbf();
void dots();
chardesc cd;
- char *myname = "pk2bm", *pkname;
- int atoo(char *);
+ char *myname = "pk2bm", *pkname, *endptr;
while (--argc > 0 && (*++argv)[0] == '-') {
done=0;
@@ -50,26 +49,36 @@ int main(int argc, char *argv[])
switch (c) {
case 'c':
if (*++argv[0] == '\0') {
- argc--; argv++;
+ if (--argc == 0) {
+err:
+ printf("%s: illegal value for option %c\n", myname, c);
+ exit(1);
+ }
+ argv++;
}
C = *argv[0];
done = 1; break;
case 'o':
if (*++argv[0] == '\0') {
- argc--; ++argv;
+ if (--argc == 0) goto err;
+ ++argv;
}
- C = atoo(argv[0]);
+ C = strtol(argv[0], &endptr, 8);
+ if (endptr==argv[0] || *endptr) goto err;
done = 1; break;
case 'H':
if (*++argv[0] == '\0') {
- argc--; argv++;
+ if (--argc == 0) goto err;
+ argv++;
}
- h = atoi(argv[0]);
+ h = strtol(argv[0], &endptr, 10);
+ if (endptr==argv[0] || *endptr) goto err;
done=1;
break;
case 'W':
if (*++argv[0] == '\0') {
- argc--; argv++;
+ if (--argc == 0) goto err;
+ argv++;
}
w = atoi(argv[0]);
done=1;
@@ -86,7 +95,7 @@ int main(int argc, char *argv[])
}
}
- if (argc == 0) {
+ if (argc != 1) {
printf("Usage: %s [-bh] {-c char|-o octchar} [-W width -H height] pkfile\n", myname);
exit(1);
}
@@ -199,8 +208,3 @@ quarterword u; int n;
}
}
-int atoo(char *oct)
-{ int octal = 0;
- while (*oct != '\0') octal = 8*octal + (*oct++) - '0';
- return octal & 0xff;
-}
--- texk/tetex/fmtutil
+++ texk/tetex/fmtutil 2012-06-20 09:56:15.000000000 +0000
@@ -160,7 +160,12 @@ setupTmpDir()
trap 'cleanup 1' 1 2 3 7 13 15
needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
+ if test "$(id -u 2> /dev/null)" = 0 && getent group mktex > /dev/null 2>&1 ; then
+ mkdir -m 0700 "$tmpdir" && chown nobody:mktex "$tmpdir" && chmod 2770 "$tmpdir" \
+ || abort "could not create directory \`$tmpdir'"
+ return
+ fi
+ mkdir -m 0700 "$tmpdir" \
|| abort "could not create directory \`$tmpdir'"
}
@@ -422,7 +427,7 @@ main()
verboseFlag=true
noAbortFlag=false
# eradicate double slashes to avoid kpathsea expansion.
- tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ | sed s,//,/,g`
+ tmpdir=`echo ${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$RANDOM | sed s,//,/,g`
# mktexfmtMode: if called as mktexfmt, set to true. Will echo the
# first generated filename after successful generation to stdout then
@@ -744,6 +749,7 @@ run_initex()
*) prgswitch=-progname=$format;;
esac
+ type -p "$engine" &> /dev/null || return
rm -f $fmtfile
# Check for infinite recursion before running the iniTeX:
@@ -757,6 +763,12 @@ run_initex()
mktexfmt_loop=$mktexfmt_loop:$format/$engine
export mktexfmt_loop
+ test "$batchmode" = "yes" && {
+ case "$engine" in
+ tex|ptex)
+ texargs="\\batchmode \\input $texargs"
+ esac
+ }
verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
# run in a subshell to get a local effect of TEXPOOL manipulation:
--- texk/tetex/fmtutil.cnf
+++ texk/tetex/fmtutil.cnf 2011-09-14 10:45:24.500873881 +0000
@@ -45,11 +45,11 @@ amstex pdftex - -translate-file=cp227.tc
# from context:
cont-en pdftex cont-usr.tex -8bit *cont-en.ini
cont-en xetex cont-usr.tex -8bit *cont-en.ini
-#! cont-de pdftex cont-usr.tex -8bit *cont-de.ini
-#! cont-fr pdftex cont-usr.tex -8bit *cont-fr.ini
-#! cont-it pdftex cont-usr.tex -8bit *cont-it.ini
-#! cont-nl pdftex cont-usr.tex -8bit *cont-nl.ini
-#! cont-ro pdftex cont-usr.tex -8bit *cont-ro.ini
+cont-de pdftex cont-usr.tex -8bit *cont-de.ini
+cont-fr pdftex cont-usr.tex -8bit *cont-fr.ini
+cont-it pdftex cont-usr.tex -8bit *cont-it.ini
+cont-nl pdftex cont-usr.tex -8bit *cont-nl.ini
+cont-ro pdftex cont-usr.tex -8bit *cont-ro.ini
#
# from cslatex:
cslatex pdftex - -etex -translate-file=cp227.tcx cslatex.ini
@@ -63,8 +63,8 @@ pdfcsplain pdftex - -etex -translate-fil
eplain pdftex language.dat -translate-file=cp227.tcx *eplain.ini
#
# from jadetex:
-jadetex pdftex language.dat *jadetex.ini
-pdfjadetex pdftex language.dat *pdfjadetex.ini
+jadetex pdftex language.dat -translate-file=cp227.tcx *jadetex.ini
+pdfjadetex pdftex language.dat -translate-file=cp227.tcx *pdfjadetex.ini
#
# from latex-bin:
latex pdftex language.dat -translate-file=cp227.tcx *latex.ini
@@ -117,5 +117,5 @@ xetex xetex language.def -etex xetex.ini
xelatex xetex language.dat -etex xelatex.ini
#
# from xmltex:
-xmltex pdftex language.dat *xmltex.ini
-pdfxmltex pdftex language.dat *pdfxmltex.ini
+xmltex pdftex language.dat -translate-file=cp227.tcx *xmltex.ini
+pdfxmltex pdftex language.dat -translate-file=cp227.tcx *pdfxmltex.ini
--- texk/texlive/linked_scripts/musixtex/musixtex.lua
+++ texk/texlive/linked_scripts/musixtex/musixtex.lua 2011-12-14 11:04:34.139646956 +0000
@@ -67,6 +67,11 @@ tex = "etex"
musixflx = "musixflx"
dvi = "dvips"
ps2pdf = "ps2pdf"
+if string.match(arg[0], "pdfmusixtex$") then
+ tex = "pdfetex"
+ dvi = ""
+ ps2pdf = ""
+end
exit_code = 0
narg = 1
--- texk/tetex/texconfig
+++ texk/tetex/texconfig 2009-09-02 12:47:26.000000000 +0000
@@ -37,7 +37,7 @@ envVars="
TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
+tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$.$RANDOM
needsCleanup=false
lastUpdatedFile=
@@ -1007,21 +1007,6 @@ For more information about these \`featu
;;
formats)
- cat >&2 <<EOM
-texconfig formats is no longer supported, because manual edits of
-fmtutil.cnf will be overwritten by the new TeX Live package manager,
-tlmgr, which regenerates that file as needed upon package changes.
-Thus, to add or remove formats, the recommended method is to use tlmgr
-to add or remove the appropriate package.
-
-If you need to make manual additions, you can edit the file
-fmtutil-local.cnf under TEXMFLOCAL. Further information with
-tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
setupTmpDir
echo "$progname: analyzing old configuration..." >&2
fmtutil --catcfg > $tmpdir/pre
@@ -1047,22 +1032,6 @@ EOM
# "hyphen FORMAT"
hyphen)
- cat >&2 <<EOM
-texconfig hyphen is no longer supported, because manual edits of
-language.dat (or language.def) will be overwritten by the new TeX Live
-package manager, tlmgr, which regenerates those configuration files as
-needed upon package changes. Thus, to add or remove hyphenation
-patterns, the recommended method is to use tlmgr to add or remove the
-appropriate package.
-
-If you need to make manual additions, you can edit the files
-language-local.dat and language-local.def under TEXMFLOCAL. Further
-information with tlmgr --help and at http://tug.org/texlive/tlmgr.html.
-
-Exiting.
-EOM
- exit 1 # but leave the real code for posterity
-
tcBatchHyphenFormat=$2
formatsForHyphen=`getFormatsForHyphen`
formatsForHyphenFmt=`echo "$formatsForHyphen" | myFmt | sed 's@^@ @'`
@@ -1314,7 +1283,7 @@ Valid PAPER settings:
;;
rehash)
- mktexlsr
+ ( unset KPSE_DOT; mktexlsr )
;;
#
--- texk/tetex/texconfig-dialog
+++ texk/tetex/texconfig-dialog 2009-09-02 12:47:26.000000000 +0000
@@ -159,7 +159,14 @@ termCtl()
###############################################################################
menuMain()
{
- cat <<-'eof'
+ rows="$(stty size)"
+ columns=${rows##* }
+ rows=${rows%% *}
+ test -n "$rows" || rows=0
+ test -n "$columns" || columns=0
+
+ if test $rows -lt 24 -a $columns -lt 80 ; then
+ cat <<-'eof'
The interactive texconfig utility will be started now. Make sure
your screen has at least 24 rows and 80 columns. If texconfig
crashes now, you can still set up your teTeX system using the
@@ -168,8 +175,9 @@ menuMain()
The interactive mode works best with a real vt100 terminal or
inside an xterm window.
-eof
- termCtl readln
+ eof
+ termCtl readln
+ fi
while :; do
logMessage='view logfile'
--- texk/tetex/texlinks
+++ texk/tetex/texlinks 2009-09-02 12:47:26.000000000 +0000
@@ -106,7 +106,7 @@ setupTmpDir()
trap 'cleanup 1' 1 2 3 7 13 15
needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
+ (umask 077; mkdir -m 0700 "$tmpdir") \
|| abort "could not create directory \`$tmpdir'"
}
@@ -114,16 +114,18 @@ setupTmpDir()
# search a binary along $PATH:
check_for_binary()
{
- testbin=$1
- set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
- for i
- do
- if [ -x "$i/$testbin" ]; then
- echo "$i/$testbin"
- return 0
- fi
- done
- return 1
+# testbin=$1
+# set x `echo "$PATH" | sed 's/^:/.:/; s/:$/:./; s/::/:.:/g; s/:/ /g'`; shift
+# for i
+# do
+# if [ -x "$i/$testbin" ]; then
+# echo "$i/$testbin"
+# return 0
+# fi
+# done
+# return 1
+
+ type -p $1
}
@@ -210,8 +212,22 @@ search_symlinkdir()
upd_symlinkdir()
{
search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
- install_link "$selfautoloc/$i" "$symlinkdir/$i"
+ set x `cat cnf_file_ln.$$` ; shift
+ while test $# != 0; do
+ fmt=$1; ini=$3; shift; shift; shift
+
+ # Some broken shells destroy the positional arguments when calling a
+ # shellfunction. Therefore, we save and restore them "by hand" in the
+ # main_args_while variable.
+ main_args_while="$@"
+
+ kpsewhich -progname=$fmt -format=tex $ini >/dev/null 2>&1
+ test $? -ne 0 && continue
+
+ install_link "$selfautoloc/$fmt" "$symlinkdir/$fmt"
+
+ # restore positional arguments:
+ set x $main_args_while; shift
done
}
@@ -276,12 +292,12 @@ main()
test -f "$cnf_file" || abort "config file \`$cnf' not found"
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
+ tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$.$RANDOM
setupTmpDir
cd "$tmpdir" || cleanup 1
- sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
+ sed '/^[ ]*#/d; /^[ ]*$/d; s%\*%%' $cnf_file \
+ | awk '{print $1, $2, $NF}' > cnf_file_ln.$$
if test -z "$dirs"; then
if test $multiplatform = true; then
@@ -302,13 +318,16 @@ main()
# cnf_file_ln.$$ has lines with "format engine" pairs
set x `cat cnf_file_ln.$$`; shift
while test $# != 0; do
- fmt=$1; engine=$2; shift; shift
+ fmt=$1; engine=$2; ini=$3; shift; shift; shift
# Some broken shells destroy the positional arguments when calling a
# shellfunction. Therefore, we save and restore them "by hand" in the
# main_args_while variable.
main_args_while="$@"
+ kpsewhich -progname=$fmt -format=tex $ini >/dev/null 2>&1
+ test $? -ne 0 && continue
+
test "x$fmt" = "x$engine" && continue
if test -f "$d/$engine$exeext"; then
case $unlink in
--- texk/web2c/Makefile.in
+++ texk/web2c/Makefile.in 2011-12-09 14:00:22.711147221 +0000
@@ -2445,7 +2445,7 @@ libmd5_a_SOURCES = libmd5/md5.c libmd5/m
md5main_CPPFLAGS = -I$(srcdir)/libmd5
md5main_SOURCES = libmd5/md5main.c
md5main_LDADD = libmd5.a
-all: ff-config.h
+all: ff-config.h w2c/config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
@@ -2493,6 +2493,11 @@ w2c/c-auto.h: w2c/stamp-h1
w2c/stamp-h1: $(srcdir)/c-auto.in $(top_builddir)/config.status
@rm -f w2c/stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status w2c/c-auto.h
+.PHONY: w2c/config.h
+w2c/config.h:
+ $(MKDIR_P) w2c
+ cp $(srcdir)/w2c/config.h $@
+
$(srcdir)/c-auto.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
rm -f w2c/stamp-h1
--- texk/web2c/window/regis.c
+++ texk/web2c/window/regis.c 2009-09-02 12:47:27.000000000 +0000
@@ -64,12 +64,14 @@ void mf_regis_blankrectangle (screencol
screenrow top,
screenrow bottom)
{
- printf(
+ const char *format =
#ifdef WRITEWHITE
- "%cPpP[%d,%d]W(I0)W(S1)V[%d,%d]V[%d,%d]V[%d,%d]V[%d,%d]W(S0)W(I3)%c\\",
+ "%cPpP[%d,%d]W(I0)W(S1)V[%d,%d]V[%d,%d]V[%d,%d]V[%d,%d]W(S0)W(I3)%c\\"
#else
- "%cPpP[%d,%d]W(I3)W(S1)V[%d,%d]V[%d,%d]V[%d,%d]V[%d,%d]W(S0)W(I0)%c\\",
+ "%cPpP[%d,%d]W(I3)W(S1)V[%d,%d]V[%d,%d]V[%d,%d]V[%d,%d]W(S0)W(I0)%c\\"
#endif
+ ;
+ printf(format,
ESCAPE,left,bottom,right,bottom,right,top,left,top,
left,bottom,ESCAPE);
}
--- texk/web2c/window/x11-Xlib.c
+++ texk/web2c/window/x11-Xlib.c 2009-09-02 12:47:27.000000000 +0000
@@ -73,6 +73,8 @@ static XWMHints wm_hints = {
#define BORDER_WIDTH 1 /* Should get this from resource. */
#define DEFAULT_X_POSITION 0
#define DEFAULT_Y_POSITION 0
+#define DEFAULT_WIDTH 450
+#define DEFAULT_DEPTH 500
#include <mfdisplay.h>
@@ -101,11 +103,11 @@ mf_x11_initscreen(void)
sizehints.x = DEFAULT_X_POSITION;
sizehints.y = DEFAULT_Y_POSITION;
- sizehints.width = screenwidth;
- sizehints.height = screendepth;
+ sizehints.width = DEFAULT_WIDTH;
+ sizehints.height = DEFAULT_DEPTH;
sizehints.flags = PPosition|PSize;
- sprintf (default_geometry, "%ux%u+%u+%u", screenwidth, screendepth,
+ sprintf (default_geometry, "%ux%u+%u+%u", DEFAULT_WIDTH, DEFAULT_DEPTH,
DEFAULT_X_POSITION, DEFAULT_Y_POSITION);
/* Look up the geometry for this window. (Section 10.2 Obtaining X
--- texk/web2c/window/x11-Xt.c
+++ texk/web2c/window/x11-Xt.c 2009-09-02 12:47:27.000000000 +0000
@@ -18,8 +18,8 @@
#define PLANE 0
-static unsigned int mf_defwidth = 0;
-static unsigned int mf_defheight = 0;
+static unsigned int mf_defwidth = 450;;
+static unsigned int mf_defheight = 500;
static Display *mf_display;
static Window mf_window;
--- texk/xdvik/psgs.c
+++ texk/xdvik/psgs.c 2009-09-02 12:47:27.000000000 +0000
@@ -30,6 +30,8 @@ OTHER DEALINGS IN THE SOFTWARE.
#include <sys/time.h> /* for timeval */
#include <signal.h>
+#include <sys/types.h>
+#include <sys/wait.h>
/* Condition for retrying a write */
#include <errno.h>
@@ -625,6 +627,26 @@ initGS(void)
perror("[xdvik] pipe");
return False;
}
+
+ if (GS_pid > 0) { /* Check if we've a running ghostscript */
+ int status, n = 0;
+ errno = 0;
+retry:
+ switch (waitpid(GS_pid, &status, WNOHANG)) {
+ case -1:
+ if (errno == EINTR)
+ goto retry;
+ return False;
+ case 0:
+ break;
+ default:
+ if (WIFEXITED(status) && WEXITSTATUS(status))
+ return False;
+ if (WIFSIGNALED(status))
+ return False;
+ break; /* Not reached */
+ }
+ }
fflush(stderr); /* to avoid double flushing */
GS_pid = vfork();
if (GS_pid == 0) { /* child */
--- texk/xdvik/xdvi-sh.in
+++ texk/xdvik/xdvi-sh.in 2009-09-02 12:47:27.000000000 +0000
@@ -50,4 +50,19 @@ if test -n "$xdviappfile"; then
XFILESEARCHPATH="$xdviapppath:${XFILESEARCHPATH-%D}"; export XFILESEARCHPATH
fi
-exec @final_exec_name@ $NAMEOPT ${1+"$@"}
+uncompress=
+filename="${1+"$@"}"
+case "${filename}" in
+ *.gz) uncompress="gzip -d -c $filename" ;;
+ *.bz2) uncompress="bzip2 -d -c $filename" ;;
+esac
+if test -n "$uncompress" -a -r "$filename" ; then
+ filename="${filename##*/}"
+ tmpfile="`mktemp ${TMPDIR-/tmp}/${filename%.*}.XXXXXX`" || exit 1
+ trap 'rc=$?; rm -f $tmpfile; exit $rc' 0 1 2 3 6 13 15
+ $uncompress > $tmpfile
+ exec -a xdvi @final_exec_name@ $NAMEOPT $tmpfile
+else
+ exec -a xdvi @final_exec_name@ $NAMEOPT ${1+"$@"}
+fi
+