summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorTaco Hoekwater <taco@elvenkind.com>2009-05-08 14:05:36 +0000
committerTaco Hoekwater <taco@elvenkind.com>2009-05-08 14:05:36 +0000
commit847dd2c2b80b429e4ed54c704930ce3c5b32dec3 (patch)
tree1274cf3bee7d12d28f98cd6b4d6cdece736ecca5 /Build
parent885eedd3f48fa03875f20c49589f9db732782de3 (diff)
Here is luatex 0.40.1
git-svn-id: svn://tug.org/texlive/trunk@13007 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/luatexdir/ChangeLog5
-rw-r--r--Build/source/texk/web2c/luatexdir/NEWS28
-rw-r--r--Build/source/texk/web2c/luatexdir/font/texfont.h2
-rw-r--r--Build/source/texk/web2c/luatexdir/lua/liolib.c4
-rw-r--r--Build/source/texk/web2c/luatexdir/lua/loslibext.c4
-rw-r--r--Build/source/texk/web2c/luatexdir/lua/luainit.c5
-rw-r--r--Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splinesave.c9
-rw-r--r--Build/source/texk/web2c/luatexdir/luatex.ch7
-rw-r--r--Build/source/texk/web2c/luatexdir/luatex.web67
-rw-r--r--Build/source/texk/web2c/luatexdir/pdf/pdfpage.c2
-rw-r--r--Build/source/texk/web2c/luatexdir/tex/math.c4
-rw-r--r--Build/source/texk/web2c/luatexdir/tex/mlist.c23
-rw-r--r--Build/source/texk/web2c/luatexdir/utils/utils.c4
13 files changed, 96 insertions, 68 deletions
diff --git a/Build/source/texk/web2c/luatexdir/ChangeLog b/Build/source/texk/web2c/luatexdir/ChangeLog
index acf8f253f7f..ede944cfb99 100644
--- a/Build/source/texk/web2c/luatexdir/ChangeLog
+++ b/Build/source/texk/web2c/luatexdir/ChangeLog
@@ -1,3 +1,8 @@
+2009-05-08 Taco Hoekwater <taco@luatex.org>
+
+ * luatexdir: import of the current state of luatex, 0.40.1.
+ This affects many files in subdirectories.
+
2009-05-05 Peter Breitenlohner <peb@mppmu.mpg.de>
* image/pdftoepdf.cc, utils/utils.c: adapt for poppler.
diff --git a/Build/source/texk/web2c/luatexdir/NEWS b/Build/source/texk/web2c/luatexdir/NEWS
index 8ac0d995e8e..78bf54ccb43 100644
--- a/Build/source/texk/web2c/luatexdir/NEWS
+++ b/Build/source/texk/web2c/luatexdir/NEWS
@@ -1,4 +1,32 @@
==============================================================
+Luatex beta-0.40.1 was released 20090508
+==============================================================
+
+* Vertical placement of root radicals and degrees is fixed.
+
+* The use of \pageleftoffset could deviate from \hoffset
+ if \mag != 1000.
+
+* LuaTeX now issues a warning if \pagedir !- \bodydir during
+ shipout.
+
+* The previous crash in font.read_tfm() was still not quite
+ correct.
+
+* The Web2C version is now also printed in the --version
+ and --credits output.
+
+
+* There is a new MPlib 1.200 release candidate with a few minor
+ fixes included.
+
+* The xpdf library is updated to patch level 3.
+
+* New imports to the build system, from texlive. In particular,
+ there is now configure-level support for building with
+ libpoppler and support for building under cygwin 1.7 is added.
+
+==============================================================
Luatex beta-0.40.0 was released 20090422
==============================================================
diff --git a/Build/source/texk/web2c/luatexdir/font/texfont.h b/Build/source/texk/web2c/luatexdir/font/texfont.h
index 690a242d171..0e733850435 100644
--- a/Build/source/texk/web2c/luatexdir/font/texfont.h
+++ b/Build/source/texk/web2c/luatexdir/font/texfont.h
@@ -17,7 +17,7 @@
You should have received a copy of the GNU General Public License along
with LuaTeX; if not, see <http://www.gnu.org/licenses/>. */
-/* $Id: texfont.h 2331 2009-04-18 16:39:50Z hhenkel $ */
+/* $Id: texfont.h 2361 2009-04-27 14:30:46Z taco $ */
/* Here we have the interface to LuaTeX's font system, as seen from the
main pascal program. There is a companion list in luatex.defines to
diff --git a/Build/source/texk/web2c/luatexdir/lua/liolib.c b/Build/source/texk/web2c/luatexdir/lua/liolib.c
index 5d10744c10b..00d020c4495 100644
--- a/Build/source/texk/web2c/luatexdir/lua/liolib.c
+++ b/Build/source/texk/web2c/luatexdir/lua/liolib.c
@@ -1,5 +1,5 @@
/*
-** $Id: liolib.c 2271 2009-04-12 23:42:21Z oneiros $
+** $Id: liolib.c 2363 2009-04-30 07:47:37Z taco $
** Standard I/O (and system) library
** See Copyright Notice in lua.h
*/
@@ -27,8 +27,6 @@
#define IO_INPUT 1
#define IO_OUTPUT 2
-extern int shell_cmd_is_allowed(char **cmd, char **safecmd, char **cmdname);
-
static const char *const fnames[] = { "input", "output" };
diff --git a/Build/source/texk/web2c/luatexdir/lua/loslibext.c b/Build/source/texk/web2c/luatexdir/lua/loslibext.c
index eebb4e8e49e..fbe3f875148 100644
--- a/Build/source/texk/web2c/luatexdir/lua/loslibext.c
+++ b/Build/source/texk/web2c/luatexdir/lua/loslibext.c
@@ -25,7 +25,7 @@
#include <time.h>
static const char _svn_version[] =
- "$Id: loslibext.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/loslibext.c $";
+ "$Id: loslibext.c 2363 2009-04-30 07:47:37Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/loslibext.c $";
#if defined(_WIN32) || defined(WIN32) || defined(__NT__)
# define MKDIR(a,b) mkdir(a)
@@ -33,8 +33,6 @@ static const char _svn_version[] =
# define MKDIR(a,b) mkdir(a,b)
#endif
-extern int shell_cmd_is_allowed(char **cmd, char **safecmd, char **cmdname);
-
/* An attempt to figure out the basic platform, does not
care about niceties like version numbers yet,
and ignores platforms where luatex is unlikely to
diff --git a/Build/source/texk/web2c/luatexdir/lua/luainit.c b/Build/source/texk/web2c/luatexdir/lua/luainit.c
index 18db3984e4f..7e49c28389b 100644
--- a/Build/source/texk/web2c/luatexdir/lua/luainit.c
+++ b/Build/source/texk/web2c/luatexdir/lua/luainit.c
@@ -25,7 +25,7 @@
#include <luatexdir/luatexextra.h>
static const char _svn_version[] =
- "$Id: luainit.c 2330 2009-04-18 16:21:21Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/luainit.c $";
+ "$Id: luainit.c 2363 2009-04-30 07:47:37Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/luainit.c $";
/* TH: TODO
*
@@ -43,9 +43,6 @@ static const char _svn_version[] =
* SELFAUTOLOC SELFAUTODIR SELFAUTOPARENT progname
*
*/
-extern void mk_shellcmdlist(char *v);
-extern int shell_cmd_is_allowed(char **cmd, char **safecmd, char **cmdname);
-extern void init_shell_escape(void);
extern string normalize_quotes(const_string name, const_string mesg);
diff --git a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splinesave.c b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splinesave.c
index 91e14934ad2..f387856eb75 100644
--- a/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splinesave.c
+++ b/Build/source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/splinesave.c
@@ -1477,6 +1477,7 @@ static unsigned char *SplineChar2PS(SplineChar *sc,int *len,int round,int iscjk,
MMSet *mm = sc->parent->mm;
HintMask *hm[MmMax];
int fixuphm = false;
+ hm[0] = 0;
if ( !(flags&ps_flag_nohints) && SCNeedsSubsPts(sc,format,gi->layer))
SCFigureHintMasks(sc,gi->layer);
@@ -2513,8 +2514,8 @@ static void RSC2PS2(GrowBuf *gb, SplineChar *base,SplineChar *rsc,
RefChar *r, *unsafe=NULL;
int unsafecnt=0, allwithouthints=true;
int round = (flags&ps_flag_round)? true : false;
- StemInfo *oldh, *oldv;
- int hc, vc;
+ StemInfo *oldh = NULL, *oldv = NULL;
+ int hc = 0, vc = 0;
SplineSet *freeme, *temp;
int wasntconflicted = hdb->noconflicts;
@@ -2595,8 +2596,8 @@ static unsigned char *SplineChar2PS2(SplineChar *sc,int *len, int nomwid,
GrowBuf gb;
unsigned char *ret;
struct hintdb hdb;
- StemInfo *oldh, *oldv;
- int hc, vc;
+ StemInfo *oldh = NULL, *oldv = NULL;
+ int hc = 0, vc = 0;
SplineChar *scs[MmMax];
int round = (flags&ps_flag_round)? true : false;
HintMask *hm = NULL;
diff --git a/Build/source/texk/web2c/luatexdir/luatex.ch b/Build/source/texk/web2c/luatexdir/luatex.ch
index 5361f6550ca..d3c32b9a931 100644
--- a/Build/source/texk/web2c/luatexdir/luatex.ch
+++ b/Build/source/texk/web2c/luatexdir/luatex.ch
@@ -1844,7 +1844,12 @@ end {|main_body|};
end;
@z
-
+@x
+write_svnversion(luatex_svnversion);
+@y
+wterm(versionstring);
+write_svnversion(luatex_svnversion);
+@z
@x
slow_print(log_name); print_char(".");
diff --git a/Build/source/texk/web2c/luatexdir/luatex.web b/Build/source/texk/web2c/luatexdir/luatex.web
index 160a2ea0b11..c1467f01cd2 100644
--- a/Build/source/texk/web2c/luatexdir/luatex.web
+++ b/Build/source/texk/web2c/luatexdir/luatex.web
@@ -250,8 +250,8 @@ known as `\eTeX'.
@d pdftex_version_string=='-2.00.0' {current \pdfTeX\ version}
@#
@d luatex_version==40 { \.{\\luatexversion} }
-@d luatex_revision=="0" { \.{\\luatexrevision} }
-@d luatex_version_string=='beta-0.40.0' {current \LuaTeX\ version}
+@d luatex_revision=="1" { \.{\\luatexrevision} }
+@d luatex_version_string=='beta-0.40.1' {current \LuaTeX\ version}
@d luatex_date_info==-extra_version_info { the compile date is negated }
@d luatex_svnversion=='$Id$'
{for long --version information, as proposed by Peter M\"unster}
@@ -7115,6 +7115,12 @@ if (mag<=0)or(mag>32768) then
help1("The magnification ratio must be between 1 and 32768.");
int_error(mag); geq_word_define(int_base+mag_code,1000);
end;
+if (mag_set=0) and (mag<>mag_set) then begin
+ if mag<>1000 then
+ one_true_inch:=xn_over_d(one_hundred_inch,10,mag)
+ else
+ one_true_inch:=one_inch;
+end;
mag_set:=mag;
end;
@@ -13913,10 +13919,6 @@ if total_pages=0 then
@^preamble of \.{DVI} file@>
dvi_four(25400000); dvi_four(473628672); {conversion ratio for sp}
prepare_mag; dvi_four(mag); {magnification factor is frozen}
- if mag<>1000 then
- one_true_inch:=xn_over_d(one_hundred_inch,10,mag)
- else
- one_true_inch:=one_inch;
old_setting:=selector; selector:=new_string;
print(" LuaTeX output "); print_int(year); print_char(".");
print_two(month); print_char("."); print_two(day);
@@ -14789,6 +14791,8 @@ flush_node_list(p);
tats
@ @<Ship box |p| out@>=
+if box_dir(p) <> page_direction then
+ pdf_warning("\shipout", "\pagedir != \bodydir; \box255 may be placed wrongly on the page.", true, true);
@<Update the values of |max_h| and |max_v|; but if the page is too large,
|goto done|@>;
@<Initialize variables as |ship_out| begins@>;
@@ -14805,24 +14809,22 @@ for the DVI origin depending on the |page_direction|.}
dvi_direction:=page_direction;
case box_direction(dvi_direction) of
dir_TL_,dir_LT_: begin
- cur.h := page_left_offset;
- cur.v := page_top_offset;
+ cur.h := h_offset;
+ cur.v := v_offset;
end;
dir_TR_,dir_RT_: begin
- cur.h := cur_page_size.h - page_right_offset;
- cur.v := page_top_offset;
+ cur.h := cur_page_size.h - page_right_offset - one_true_inch;
+ cur.v := v_offset;
end;
dir_BL_,dir_LB_: begin
- cur.h := page_left_offset;
- cur.v := cur_page_size.v - page_bottom_offset;
+ cur.h := h_offset;
+ cur.v := cur_page_size.v - page_bottom_offset - one_true_inch;
end;
dir_RB_,dir_BR_: begin
- cur.h := cur_page_size.h - page_right_offset;
- cur.v := cur_page_size.v - page_bottom_offset;
+ cur.h := cur_page_size.h - page_right_offset - one_true_inch;
+ cur.v := cur_page_size.v - page_bottom_offset - one_true_inch;
end;
end;
-cur.h := cur.h - one_true_inch; {correct for DVI origin}
-cur.v := cur.v - one_true_inch;
{The movement is actually done within the upright page coordinate system.}
dvi_direction := dir_TL_; {only temporarily for this adjustment}
synch_pos_with_cur; box_pos := pos; {keep track on page}
@@ -15588,6 +15590,7 @@ accurary.
@ @<Set init...@>=
one_hundred_inch := 7227 * 65536; {exact, 473628672}
one_inch := (one_hundred_inch + 50) div 100; {rounded to 4736287}
+one_true_inch := one_inch;
one_hundred_bp := one_hundred_inch div 72; {exact, 6578176}
one_bp := (one_hundred_bp + 50) div 100; {rounded to 65782}
ten_pow[0] := 1;
@@ -17600,6 +17603,8 @@ if post_callback_id>0 then
end;
@ @<(\pdfTeX) Ship box |p| out@>=
+if shipping_page and (box_dir(p) <> page_direction) then
+ pdf_warning("\shipout", "\pagedir != \bodydir; \box255 may be placed wrongly on the page.", true, true);
@<Update the values of |max_h| and |max_v|; but if the page is too large,
|goto done|@>;
@<Initialize variables as |pdf_ship_out| begins@>;
@@ -17612,10 +17617,6 @@ done:
@ @<Initialize variables as |pdf_ship_out| begins@>=
prepare_mag;
-if mag<>1000 then
- one_true_inch:=xn_over_d(one_hundred_inch,10,mag)
-else
- one_true_inch:=one_inch;
temp_ptr:=p;
pdf_last_resources := pdf_new_objnum;
@<Reset resource lists@>;
@@ -17662,24 +17663,22 @@ if is_shipping_page then begin
dvi_direction:=page_direction;
case box_direction(dvi_direction) of
dir_TL_,dir_LT_: begin
- cur.h := page_left_offset;
- cur.v := page_top_offset;
+ cur.h := h_offset;
+ cur.v := v_offset;
end;
dir_TR_,dir_RT_: begin
- cur.h := cur_page_size.h - page_right_offset;
- cur.v := page_top_offset;
+ cur.h := cur_page_size.h - page_right_offset - one_true_inch;
+ cur.v := v_offset;
end;
dir_BL_,dir_LB_: begin
- cur.h := page_left_offset;
- cur.v := cur_page_size.v - page_bottom_offset;
+ cur.h := h_offset;
+ cur.v := cur_page_size.v - page_bottom_offset - one_true_inch;
end;
dir_RB_,dir_BR_: begin
- cur.h := cur_page_size.h - page_right_offset;
- cur.v := cur_page_size.v - page_bottom_offset;
+ cur.h := cur_page_size.h - page_right_offset - one_true_inch;
+ cur.v := cur_page_size.v - page_bottom_offset - one_true_inch;
end;
end;
- cur.h := cur.h - one_true_inch; {correct for DVI origin}
- cur.v := cur.v - one_true_inch;
{The movement is actually done within the upright page coordinate system.}
dvi_direction := dir_TL_; {only temporarily for this adjustment}
synch_pos_with_cur; box_pos := pos; {keep track on page}
@@ -24294,19 +24293,19 @@ might be necessary. Good first step.}
end
else if (p>=dimen_base)and(p<eqtb_size) then begin
if p=(dimen_base+page_left_offset_code) then begin
- n:=cur_val - one_inch;
+ n:=cur_val - one_true_inch;
word_define(dimen_base+h_offset_code, n);
end
else if p=(dimen_base+h_offset_code) then begin
- n:=cur_val + one_inch;
+ n:=cur_val + one_true_inch;
word_define(dimen_base+page_left_offset_code, n);
end
else if p=(dimen_base+page_top_offset_code) then begin
- n:=cur_val - one_inch;
+ n:=cur_val - one_true_inch;
word_define(dimen_base+v_offset_code, n);
end
else if p=(dimen_base+v_offset_code) then begin
- n:=cur_val + one_inch;
+ n:=cur_val + one_true_inch;
word_define(dimen_base+page_top_offset_code, n);
end;
word_define(p,cur_val);
diff --git a/Build/source/texk/web2c/luatexdir/pdf/pdfpage.c b/Build/source/texk/web2c/luatexdir/pdf/pdfpage.c
index ab5817e2624..84c8c9a2f34 100644
--- a/Build/source/texk/web2c/luatexdir/pdf/pdfpage.c
+++ b/Build/source/texk/web2c/luatexdir/pdf/pdfpage.c
@@ -25,7 +25,7 @@
#include "ptexlib.h"
static const char __svn_version[] =
- "$Id: pdfpage.c 2264 2009-04-12 17:54:48Z hhenkel $ "
+ "$Id: pdfpage.c 2361 2009-04-27 14:30:46Z taco $ "
"$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/pdf/pdfpage.c $";
#define lround(a) (long) floor((a) + 0.5)
diff --git a/Build/source/texk/web2c/luatexdir/tex/math.c b/Build/source/texk/web2c/luatexdir/tex/math.c
index 9ec4aab9b39..9c40d128981 100644
--- a/Build/source/texk/web2c/luatexdir/tex/math.c
+++ b/Build/source/texk/web2c/luatexdir/tex/math.c
@@ -27,7 +27,7 @@
#include "tokens.h"
static const char _svn_version[] =
- "$Id: math.c 2314 2009-04-17 20:57:48Z hhenkel $ "
+ "$Id: math.c 2362 2009-04-29 16:03:00Z taco $ "
"$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/math.c $";
#define mode cur_list.mode_field
@@ -1320,7 +1320,7 @@ void set_math_char(mathcodeval mval)
case 3: subtype(p) = rel_noad_type; break;
case 4: subtype(p) = open_noad_type; break;
case 5: subtype(p) = close_noad_type; break;
- case 6: subtype(p) = inner_noad_type; break;
+ case 6: subtype(p) = punct_noad_type; break;
}
}
vlink(tail) = p;
diff --git a/Build/source/texk/web2c/luatexdir/tex/mlist.c b/Build/source/texk/web2c/luatexdir/tex/mlist.c
index 0f211151fbc..5f19d162fdb 100644
--- a/Build/source/texk/web2c/luatexdir/tex/mlist.c
+++ b/Build/source/texk/web2c/luatexdir/tex/mlist.c
@@ -24,7 +24,7 @@
#include "commands.h"
static const char _svn_version[] =
- "$Id: mlist.c 2323 2009-04-18 09:53:47Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/mlist.c $";
+ "$Id: mlist.c 2358 2009-04-27 06:39:33Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/mlist.c $";
#define delimiter_factor int_par(param_delimiter_factor_code)
#define delimiter_shortfall dimen_par(param_delimiter_shortfall_code)
@@ -2356,21 +2356,17 @@ void make_radical(pointer q)
theta = fraction_rule(cur_style);
y = var_delimiter(left_delimiter(q), cur_size,
height(x) + depth(x) + clr + theta);
- left_delimiter(q) = null;
theta = height(y);
- delta = depth(y) - (height(x) + depth(x) + clr);
- if (delta > 0)
- clr = clr + half(delta); /* increase the actual clearance */
- shift_amount(y) = -(height(x) + clr);
- h = shift_amount(y) + height(y);
} else {
y = var_delimiter(left_delimiter(q), cur_size,
height(x) + depth(x) + clr + theta);
- left_delimiter(q) = null;
- delta = height(y) - (height(x) + clr + theta);
- shift_amount(y) = delta;
- h = -(height(y) - shift_amount(y));
}
+ left_delimiter(q) = null;
+ delta = (depth(y)+height(y)-theta) - (height(x) + depth(x) + clr);
+ if (delta > 0)
+ clr = clr + half(delta); /* increase the actual clearance */
+ shift_amount(y) = (height(y)-theta)-(height(x) + clr);
+ h = depth(y) + height(y);
p = overbar(x, clr, theta, radical_kern(cur_style), node_attr(y));
vlink(y) = p;
if (degree(q) != null) {
@@ -2388,8 +2384,9 @@ void make_radical(pointer q)
x = new_kern(ar);
reset_attributes(x, node_attr(degree(q)));
vlink(x) = y;
- shift_amount(r) =
- (xn_over_d(h, radical_degree_raise(cur_style), 100));
+ shift_amount(r) =
+ - ((xn_over_d(h, radical_degree_raise(cur_style), 100)) -
+ depth(y) - shift_amount(y));
vlink(r) = x;
x = new_kern(br);
reset_attributes(x, node_attr(degree(q)));
diff --git a/Build/source/texk/web2c/luatexdir/utils/utils.c b/Build/source/texk/web2c/luatexdir/utils/utils.c
index f6afa5687ae..a621d1e2448 100644
--- a/Build/source/texk/web2c/luatexdir/utils/utils.c
+++ b/Build/source/texk/web2c/luatexdir/utils/utils.c
@@ -42,15 +42,15 @@
#include "png.h"
#ifdef POPPLER_VERSION
#define xpdfString "poppler"
-#define xpdfVersion POPPLER_VERSION
#include "poppler-config.h"
+#define xpdfVersion POPPLER_VERSION
#else
#define xpdfString "xpdf"
#include "xpdf/config.h" /* just to get the xpdf version */
#endif
static const char __svn_version[] =
- "$Id: utils.c 2329 2009-04-18 14:25:30Z hhenkel $ "
+ "$Id: utils.c 2381 2009-05-08 11:52:01Z taco $ "
"$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/utils/utils.c $";
#define check_nprintf(size_get, size_want) \