summaryrefslogtreecommitdiff
path: root/Build/source
diff options
context:
space:
mode:
authorTaco Hoekwater <taco@elvenkind.com>2010-07-01 08:07:06 +0000
committerTaco Hoekwater <taco@elvenkind.com>2010-07-01 08:07:06 +0000
commitb383f99a7a9fdcb605099e5e1c93715e800c511c (patch)
tree8d8e8a7211af6d43aa512c16333930fa4bf57ca8 /Build/source
parent6803b5a31731ddeda21c06850b38b179cfe8cf2d (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/ChangeLog5
-rw-r--r--Build/source/texk/web2c/luatexdir/NEWS32
-rw-r--r--Build/source/texk/web2c/luatexdir/lang/texlang.w6
-rw-r--r--Build/source/texk/web2c/luatexdir/lua/lnodelib.c7
-rw-r--r--Build/source/texk/web2c/luatexdir/luatex.c8
-rw-r--r--Build/source/texk/web2c/luatexdir/luatex_svnversion.h2
-rw-r--r--Build/source/texk/web2c/luatexdir/pdf/pdfglyph.w20
-rw-r--r--Build/source/texk/web2c/luatexdir/pdf/pdfpage.w26
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);
}