diff options
author | Taco Hoekwater <taco@elvenkind.com> | 2010-07-01 08:07:06 +0000 |
---|---|---|
committer | Taco Hoekwater <taco@elvenkind.com> | 2010-07-01 08:07:06 +0000 |
commit | b383f99a7a9fdcb605099e5e1c93715e800c511c (patch) | |
tree | 8d8e8a7211af6d43aa512c16333930fa4bf57ca8 /Build/source | |
parent | 6803b5a31731ddeda21c06850b38b179cfe8cf2d (diff) |
Import source of luatex 0.60.2
git-svn-id: svn://tug.org/texlive/trunk@19201 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/texk/web2c/luatexdir/NEWS | 32 | ||||
-rw-r--r-- | Build/source/texk/web2c/luatexdir/lang/texlang.w | 6 | ||||
-rw-r--r-- | Build/source/texk/web2c/luatexdir/lua/lnodelib.c | 7 | ||||
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luatex.c | 8 | ||||
-rw-r--r-- | Build/source/texk/web2c/luatexdir/luatex_svnversion.h | 2 | ||||
-rw-r--r-- | Build/source/texk/web2c/luatexdir/pdf/pdfglyph.w | 20 | ||||
-rw-r--r-- | Build/source/texk/web2c/luatexdir/pdf/pdfpage.w | 26 |
8 files changed, 73 insertions, 33 deletions
diff --git a/Build/source/texk/web2c/luatexdir/ChangeLog b/Build/source/texk/web2c/luatexdir/ChangeLog index 50e10dd6f91..29dbbad2d01 100644 --- a/Build/source/texk/web2c/luatexdir/ChangeLog +++ b/Build/source/texk/web2c/luatexdir/ChangeLog @@ -1,3 +1,8 @@ +2010-07-01 Taco Hoekwater <taco@luatex.org> + + * lang/texlang.w, lua/lnodelib.c, luatex.c, luatex_svnversion.h, + pdf/pdfglyph.w, pdf/pdfpage.w, NEWS: new versions from released 0.60.2 + 2010-06-18 Taco Hoekwater <taco@luatex.org> * tex/textoken.h (smemory_word): add endiannes test diff --git a/Build/source/texk/web2c/luatexdir/NEWS b/Build/source/texk/web2c/luatexdir/NEWS index c515a3f16a9..8b3ebbd1f87 100644 --- a/Build/source/texk/web2c/luatexdir/NEWS +++ b/Build/source/texk/web2c/luatexdir/NEWS @@ -2,6 +2,36 @@ This file is in the public domain. ============================================================== +Luatex beta-0.60.2 was released 20100701 +============================================================== + +Bugfixes: + +* Various small portability fixes, especially for non-gcc + compilers. + +* Updated synctex from Jerome Laurens. + +* fix bug #406: \pdfliteral hinders hyphenation. + +* fix pdf overprinting bug (related to \pdfliteral). + +* patch from Akira Kakuto that ensures that only absolute commands +that are inside the %PATH% will be executed in win32's restricted +\write18 + +* fix a buffer overflow in luafontloader. + +* fix cross-platform share-ability of generated formats. + +* fix a few typos in the manual. + +* fix trashing of the null glue spec by attribute reference code. + +* documented the deprecated state and brokenness of otp processing. + + +============================================================== Luatex beta-0.60.1 was released 20100428 ============================================================== @@ -1521,7 +1551,7 @@ Other news: we probably introduced new problems as well). * Most (all?) files now have a corrected Copyright header, - and link in $Id$ and $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.60.1/source/texk/web2c/luatexdir/NEWS $ into the object file. + and link in $Id$ and $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.60.2/source/texk/web2c/luatexdir/NEWS $ into the object file. * Some unnecessary files were removed from the distribution. diff --git a/Build/source/texk/web2c/luatexdir/lang/texlang.w b/Build/source/texk/web2c/luatexdir/lang/texlang.w index 95996e8d93b..9aa55787ca7 100644 --- a/Build/source/texk/web2c/luatexdir/lang/texlang.w +++ b/Build/source/texk/web2c/luatexdir/lang/texlang.w @@ -26,8 +26,8 @@ static const char _svn_version[] = - "$Id: texlang.w 3612 2010-04-13 09:29:42Z taco $ " -"$URL: http://foundry.supelec.fr/svn/luatex/branches/0.60.x/source/texk/web2c/luatexdir/lang/texlang.w $"; + "$Id: texlang.w 3701 2010-05-26 09:57:17Z taco $ " +"$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.60.2/source/texk/web2c/luatexdir/lang/texlang.w $"; @ Low-level helpers @@ -756,6 +756,8 @@ static halfword find_next_wordstart(halfword r) int mathlevel = 1; while (r != null) { switch (type(r)) { + case whatsit_node: + break; case glue_node: start_ok = 1; break; diff --git a/Build/source/texk/web2c/luatexdir/lua/lnodelib.c b/Build/source/texk/web2c/luatexdir/lua/lnodelib.c index 1da8d985181..ba81322a209 100644 --- a/Build/source/texk/web2c/luatexdir/lua/lnodelib.c +++ b/Build/source/texk/web2c/luatexdir/lua/lnodelib.c @@ -18,8 +18,8 @@ with LuaTeX; if not, see <http://www.gnu.org/licenses/>. */ static const char _svn_version[] = - "$Id: lnodelib.c 3612 2010-04-13 09:29:42Z taco $ " - "$URL: http://foundry.supelec.fr/svn/luatex/branches/0.60.x/source/texk/web2c/luatexdir/lua/lnodelib.c $"; + "$Id: lnodelib.c 3726 2010-06-24 12:13:43Z taco $ " + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.60.2/source/texk/web2c/luatexdir/lua/lnodelib.c $"; #include "lua/luatex-api.h" #include "ptexlib.h" @@ -2163,7 +2163,8 @@ static void nodelib_setattr(lua_State * L, int stackindex, halfword n) if (node_attr(n) != null) delete_attribute_ref(node_attr(n)); node_attr(n) = p; - attr_list_ref(p)++; + if (p != null) + attr_list_ref(p)++; } } diff --git a/Build/source/texk/web2c/luatexdir/luatex.c b/Build/source/texk/web2c/luatexdir/luatex.c index c66de3c5d1c..bb3eb1a10ff 100644 --- a/Build/source/texk/web2c/luatexdir/luatex.c +++ b/Build/source/texk/web2c/luatexdir/luatex.c @@ -15,16 +15,16 @@ #include "luatex_svnversion.h" static const char _svn_version[] = - "$Id: luatex.c 3719 2010-06-10 16:58:16Z taco $ " - "$URL: http://foundry.supelec.fr/svn/luatex/branches/0.60.x/source/texk/web2c/luatexdir/luatex.c $"; + "$Id: luatex.c 3730 2010-07-01 07:12:12Z taco $ " + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.60.2/source/texk/web2c/luatexdir/luatex.c $"; #define TeX int luatex_svn = luatex_svn_revision; int luatex_version = 60; /* \.{\\luatexversion} */ -int luatex_revision = '1'; /* \.{\\luatexrevision} */ +int luatex_revision = '2'; /* \.{\\luatexrevision} */ int luatex_date_info = -extra_version_info; /* the compile date is negated */ -const char *luatex_version_string = "beta-0.60.1"; +const char *luatex_version_string = "beta-0.60.2"; const char *engine_name = "luatex"; /* the name of this engine */ #include <kpathsea/c-ctype.h> diff --git a/Build/source/texk/web2c/luatexdir/luatex_svnversion.h b/Build/source/texk/web2c/luatexdir/luatex_svnversion.h index 176f7bbc88a..8d3e097ba0d 100644 --- a/Build/source/texk/web2c/luatexdir/luatex_svnversion.h +++ b/Build/source/texk/web2c/luatexdir/luatex_svnversion.h @@ -1 +1 @@ -#define luatex_svn_revision 3723 +#define luatex_svn_revision 3730 diff --git a/Build/source/texk/web2c/luatexdir/pdf/pdfglyph.w b/Build/source/texk/web2c/luatexdir/pdf/pdfglyph.w index ea2077f68b6..6eb6d9fc5b2 100644 --- a/Build/source/texk/web2c/luatexdir/pdf/pdfglyph.w +++ b/Build/source/texk/web2c/luatexdir/pdf/pdfglyph.w @@ -19,8 +19,8 @@ @ @c static const char _svn_version[] = - "$Id: pdfglyph.w 3584 2010-04-02 17:45:55Z hhenkel $" - "$URL: http://foundry.supelec.fr/svn/luatex/branches/0.60.x/source/texk/web2c/luatexdir/pdf/pdfglyph.w $"; + "$Id: pdfglyph.w 3703 2010-05-27 07:58:34Z taco $" + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.60.2/source/texk/web2c/luatexdir/pdf/pdfglyph.w $"; #include "ptexlib.h" @@ -107,13 +107,13 @@ static void print_tm(PDF pdf, pdffloat * tm) } @ @c -static void set_textmatrix(PDF pdf, scaledpos pos) +static void set_textmatrix(PDF pdf, scaledpos pos, boolean force) { boolean move; pdfstructure *p = pdf->pstruct; assert(is_textmode(p)); move = calc_pdfpos(p, pos); - if (move == TRUE) { + if (force || move) { print_tm(pdf, p->tm); p->pdf.h.m = p->pdf_bt_pos.h.m + p->tm[4].m; /* Tm replaces */ p->pdf.v.m = p->pdf_bt_pos.v.m + p->tm[5].m; @@ -181,25 +181,27 @@ void pdf_place_glyph(PDF pdf, internal_font_number f, int c) pdf_goto_textmode(pdf); if (f != pdf->f_cur) setup_fontparameters(pdf, f); - if (p->f_pdf != p->f_pdf_cur || p->fs.m != p->fs_cur.m) + if (p->f_pdf != p->f_pdf_cur || p->fs.m != p->fs_cur.m) { set_font(pdf); - set_textmatrix(pdf, pos); + set_textmatrix(pdf, pos, true); /* force Tm setting */ + } else + set_textmatrix(pdf, pos, false); begin_chararray(pdf); } assert(is_charmode(p) || is_chararraymode(p)); move = calc_pdfpos(p, pos); - if (move == TRUE) { + if (move) { if ((p->wmode == WMODE_H && (p->pdf_bt_pos.v.m + p->tm[5].m) != p->pdf.v.m) || (p->wmode == WMODE_V && (p->pdf_bt_pos.h.m + p->tm[4].m) != p->pdf.h.m) || abs(p->tj_delta.m) >= 1000000) { pdf_goto_textmode(pdf); - set_textmatrix(pdf, pos); + set_textmatrix(pdf, pos, false); begin_chararray(pdf); move = calc_pdfpos(p, pos); } - if (move == TRUE) { + if (move) { assert((p->wmode == WMODE_H && (p->pdf_bt_pos.v.m + p->tm[5].m) == p->pdf.v.m) || (p->wmode == WMODE_V diff --git a/Build/source/texk/web2c/luatexdir/pdf/pdfpage.w b/Build/source/texk/web2c/luatexdir/pdf/pdfpage.w index c6cb80c19c6..1cd00ac0537 100644 --- a/Build/source/texk/web2c/luatexdir/pdf/pdfpage.w +++ b/Build/source/texk/web2c/luatexdir/pdf/pdfpage.w @@ -19,8 +19,8 @@ @ @c static const char _svn_version[] = - "$Id: pdfpage.w 3571 2010-04-02 13:50:45Z taco $ " - "$URL: http://foundry.supelec.fr/svn/luatex/branches/0.60.x/source/texk/web2c/luatexdir/pdf/pdfpage.w $"; + "$Id: pdfpage.w 3703 2010-05-27 07:58:34Z taco $ " + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.60.2/source/texk/web2c/luatexdir/pdf/pdfpage.w $"; #include <stdlib.h> #include <stdio.h> @@ -101,7 +101,7 @@ void synch_pos_with_cur(posstructure * pos, posstructure * refpos, boolean calc_pdfpos(pdfstructure * p, scaledpos pos) { scaledpos new; - int move_pdfpos = FALSE; + boolean move_pdfpos = false; switch (p->mode) { case PMODE_PAGE: new.h = lround(pos.h * p->k1); @@ -109,7 +109,7 @@ boolean calc_pdfpos(pdfstructure * p, scaledpos pos) p->cm[4].m = new.h - p->pdf.h.m; /* cm is concatenated */ p->cm[5].m = new.v - p->pdf.v.m; if (new.h != p->pdf.h.m || new.v != p->pdf.v.m) - move_pdfpos = TRUE; + move_pdfpos = true; break; case PMODE_TEXT: new.h = lround(pos.h * p->k1); @@ -117,7 +117,7 @@ boolean calc_pdfpos(pdfstructure * p, scaledpos pos) p->tm[4].m = new.h - p->pdf_bt_pos.h.m; /* Tm replaces */ p->tm[5].m = new.v - p->pdf_bt_pos.v.m; if (new.h != p->pdf.h.m || new.v != p->pdf.v.m) - move_pdfpos = TRUE; + move_pdfpos = true; break; case PMODE_CHAR: case PMODE_CHARARRAY: @@ -128,11 +128,11 @@ boolean calc_pdfpos(pdfstructure * p, scaledpos pos) new.v = lround(pos.v * p->k1); p->tj_delta.m = -lround((double) ((new.h - p->cw.m) / ten_pow[p->cw.e - - p-> - tj_delta.e])); + p->tj_delta. + e])); p->tm[5].m = new.v - p->pdf_bt_pos.v.m; /* p->tm[4] is meaningless */ if (p->tj_delta.m != 0 || new.v != p->pdf.v.m) - move_pdfpos = TRUE; + move_pdfpos = true; break; case WMODE_V: new.h = lround(pos.h * p->k1); @@ -141,10 +141,10 @@ boolean calc_pdfpos(pdfstructure * p, scaledpos pos) p->tm[4].m = new.h - p->pdf_bt_pos.h.m; /* p->tm[5] is meaningless */ p->tj_delta.m = -lround((double) ((new.v - p->cw.m) / ten_pow[p->cw.e - - p-> - tj_delta.e])); + p->tj_delta. + e])); if (p->tj_delta.m != 0 || new.h != p->pdf.h.m) - move_pdfpos = TRUE; + move_pdfpos = true; break; default: assert(0); @@ -207,7 +207,7 @@ void pdf_set_pos(PDF pdf, scaledpos pos) pdfstructure *p = pdf->pstruct; assert(is_pagemode(p)); move = calc_pdfpos(p, pos); - if (move == TRUE) { + if (move) { pdf_print_cm(pdf, p->cm); p->pdf.h.m += p->cm[4].m; p->pdf.v.m += p->cm[5].m; @@ -221,7 +221,7 @@ void pdf_set_pos_temp(PDF pdf, scaledpos pos) pdfstructure *p = pdf->pstruct; assert(is_pagemode(p)); move = calc_pdfpos(p, pos); - if (move == TRUE) + if (move) pdf_print_cm(pdf, p->cm); } |