summaryrefslogtreecommitdiff
path: root/Build/source
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2015-10-07 23:48:03 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2015-10-07 23:48:03 +0000
commit3fd481776ab0dd80e379eedeac4d5b885a6572a1 (patch)
treef8b34c9d923754059effef748b3ce6a9aae86e93 /Build/source
parent908355bfd70069fa5c62ccdaaac6d39e5da341ff (diff)
web2c/luatexdir: Sync with the upstream.
git-svn-id: svn://tug.org/texlive/trunk@38583 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/NEWS137
-rw-r--r--Build/source/texk/web2c/luatexdir/lua/lepdflib.cc12
-rw-r--r--Build/source/texk/web2c/luatexdir/tex/texnodes.h3
-rw-r--r--Build/source/texk/web2c/luatexdir/tex/texnodes.w10
5 files changed, 152 insertions, 15 deletions
diff --git a/Build/source/texk/web2c/luatexdir/ChangeLog b/Build/source/texk/web2c/luatexdir/ChangeLog
index 968b230ad78..fc26b489f93 100644
--- a/Build/source/texk/web2c/luatexdir/ChangeLog
+++ b/Build/source/texk/web2c/luatexdir/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-08 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+ * lua/lepdflib.cc, tex/texnodes.h, tex/texnodes.w, NEWS:
+ Sync with the upstream.
+
2015-10-07 Peter Breitenlohner <peb@mppmu.mpg.de>
* am/libluatex.am, am/luafontforge.am: Rearrange to compile the
diff --git a/Build/source/texk/web2c/luatexdir/NEWS b/Build/source/texk/web2c/luatexdir/NEWS
index 3ae7880d3bb..0f36f279eca 100644
--- a/Build/source/texk/web2c/luatexdir/NEWS
+++ b/Build/source/texk/web2c/luatexdir/NEWS
@@ -2,6 +2,141 @@
This file is in the public domain.
==============================================================
+Luatex beta-0.81.0 was released 2015100722 (5350)
+==============================================================
+
+
+
+* A couple of primitives are removed, renamed and/or promoted to core (luatex) primitives.
+Here's a summary. It might demand some adaption in the way macro packages initialize so we will mention them here explicitly in advance. As shown below, a simple way to get backward compatibility is to \let old ones to new ones. So,
+
+ Updating to this version also might demand an update in the
+ macro package that you use!
+
+Here we go:
+
+% removed, can be done with callbacks if needed, one can define dimen dummies, like
+
+\newdimen\pdfeachlineheight
+\newdimen\pdfeachlinedepth
+\newdimen\pdflastlinedepth
+\newdimen\pdffirstlineheight
+\newdimen\pdfignoreddimen
+
+% removed, were already obsolete, one can \let them
+
+\let\pdftexversion \luatexversion
+\let\pdftexrevision\luatexrevision
+\let\pdftexbanner \luatexbanner
+
+% promoted (from pdftex), so pdf prefix gone, one can \let them
+
+\let\pdfnormaldeviate \normaldeviate
+\let\pdfuniformdeviate\uniformdeviate
+\let\pdfsetrandomseed \setrandomseed
+\let\pdfrandomseed \randomseed
+
+% promoted (from omega), so pdf prefix gone, one can \let them
+
+\let\pdfpagewidth \pagewidth
+\let\pdfpageheight\pageheight
+
+% redundant (etex wins over omega), so \font-less ones gone, one can \let them
+
+\let\chardp\fontchardp
+\let\charht\fontcharht
+\let\charit\fontcharit
+\let\charwd\fontcharwd
+
+% promoted (from aleph)
+
+\pagerightoffset
+\pagebottomoffset
+
+% promoted (from pdftex)
+
+\ifincsname
+\expanded
+\quitvmode
+
+% removed (from pdftex), so *pdf* ones gone, one can \let them
+
+\let\ifpdfabsnum \ifabsnum
+\let\ifpdfabsdim \ifabsdim
+\let\ifpdfprimitive\ifprimitive
+\let\pdfprimitive \primitive
+
+% promoted (from omega)
+
+\pagedir
+\bodydir
+\pardir
+\textdir
+\mathdir
+
+% promoted (from aleph)
+
+\boxdir
+
+% promoted (from pdftex)
+
+\lpcode
+\rpcode
+\efcode
+\leftmarginkern
+\rightmarginkern
+
+\tagcode
+\letterspacefont
+
+% promoted (from pdftex), so *pdf* ones gone, one can \let them
+
+\let\pdfprotrudechars\protrudechars
+\let\pdfadjustspacing\adjustspacing
+
+\let\pdfnoligatures \ignoreligaturesinfont
+\let\pdffontexpand \expandglyphsinfont
+
+% promoted (from pdftex), so *pdf* ones gone, one can \let them
+
+\let\pdfsavepos \savepos
+\let\pdflastxpos\lastxpos
+\let\pdflastypos\lastypos
+
+% on the todo list are:
+
+\pdfoutput : \outputmode
+\pdfmatrix : will get a normal syntax, no weird { } parsing
+
+\pdfcolorstackinit : might become obsolete
+\pdfcolorstack : might become obsolete
+
+So, apart from a few, the \pdf* primitives now relate to the backend only.
+
+% There is also a new primitive:
+
+\hyphenationmin
+
+This one determines the minimum word length (per language).
+ At the same time we moved the (ex)hyphenpenalties
+in the disc nodes so you can inject discretionaries with specific penalties.
+
+There will also be an updated manual.
+Hans
+
+
+* new epdf.openMemStream(s,l,docid)
+to create a pdf from a lightuserdata or string.
+(experimental, do not use in production.)
+
+* uniform random generator in mplib is now specific for each numbersystem;
+
+* too_precise implemented for binary number system;
+
+* several bug fixes.
+
+
+==============================================================
Luatex beta-0.80.0 was released 20150319 (5195)
==============================================================
@@ -2310,7 +2445,7 @@ Other news:
we probably introduced new problems as well).
* Most (all?) files now have a corrected Copyright header,
- and link in $Id: NEWS 5205 2015-03-27 19:28:05Z luigi $ and $URL: https://foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/NEWS $ into the object file.
+ and link in $Id: NEWS 5348 2015-10-07 13:45:11Z luigi $ and $URL: https://foundry.supelec.fr/svn/luatex/trunk/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/lua/lepdflib.cc b/Build/source/texk/web2c/luatexdir/lua/lepdflib.cc
index 1f2b5026154..b26f268feb4 100644
--- a/Build/source/texk/web2c/luatexdir/lua/lepdflib.cc
+++ b/Build/source/texk/web2c/luatexdir/lua/lepdflib.cc
@@ -142,7 +142,8 @@ static int l_open_PDFDoc(lua_State * L)
static int l_open_MemStreamPDFDoc(lua_State * L)
{
- const char *docstream=NULL;
+ const char *docstream = NULL;
+ char *docstream_usr = NULL ;
const char *file_id;
unsigned long long stream_size;
udstruct *uout;
@@ -162,10 +163,15 @@ static int l_open_MemStreamPDFDoc(lua_State * L)
stream_size = (unsigned long long) luaL_checkint(L, 2);// size of the stream
file_id = luaL_checkstring(L, 3); // a symbolic name for this stream, mandatory
if (file_id == NULL)
- lua_pushnil(L);
+ luaL_error(L, "PDFDoc has an invalid id");
if (strlen(file_id) >STREAM_FILE_ID_LEN ) // a limit to the length of the string
luaL_error(L, "PDFDoc has a too long id");
- d = refMemStreamPdfDocument((char *)docstream, stream_size, file_id);
+ docstream_usr = (char *)gmalloc((unsigned) (stream_size + 1));
+ if (!docstream_usr)
+ luaL_error(L, "no room for PDFDoc");
+ memcpy(docstream_usr, docstream, (stream_size + 1));
+ docstream_usr[stream_size]='\0';
+ d = refMemStreamPdfDocument(docstream_usr, stream_size, file_id);
if (d == NULL) {
lua_pushnil(L);
lua_pushnil(L);
diff --git a/Build/source/texk/web2c/luatexdir/tex/texnodes.h b/Build/source/texk/web2c/luatexdir/tex/texnodes.h
index f73fba1d585..3b74f77ea29 100644
--- a/Build/source/texk/web2c/luatexdir/tex/texnodes.h
+++ b/Build/source/texk/web2c/luatexdir/tex/texnodes.h
@@ -469,8 +469,7 @@ typedef enum {
set_random_seed_code,
pdf_glyph_to_unicode_code,
late_lua_node, /* 35 */
- close_lua_node,
- save_cat_code_table_code,
+ save_cat_code_table_code =37,
init_cat_code_table_code,
pdf_colorstack_node,
pdf_setmatrix_node, /*40 */
diff --git a/Build/source/texk/web2c/luatexdir/tex/texnodes.w b/Build/source/texk/web2c/luatexdir/tex/texnodes.w
index f500035bdf8..d7f03865d1a 100644
--- a/Build/source/texk/web2c/luatexdir/tex/texnodes.w
+++ b/Build/source/texk/web2c/luatexdir/tex/texnodes.w
@@ -185,7 +185,6 @@ const char *node_fields_whatsit_pdf_end_thread[] = { "attr", NULL };
const char *node_fields_whatsit_save_pos[] = { "attr", NULL };
const char *node_fields_whatsit_late_lua[] =
{ "attr", "reg", "data", "name", "string", NULL };
-const char *node_fields_whatsit_close_lua[] = { "attr", "reg", NULL };
const char *node_fields_whatsit_pdf_colorstack[] =
{ "attr", "stack", "cmd", "data", NULL };
const char *node_fields_whatsit_pdf_setmatrix[] = { "attr", "data", NULL };
@@ -311,8 +310,7 @@ node_info whatsit_node_data[] = {
{fake_node, fake_node_size, NULL, fake_node_name},
{late_lua_node, late_lua_node_size, node_fields_whatsit_late_lua,
"late_lua"},
- {close_lua_node, write_node_size, node_fields_whatsit_close_lua,
- "close_lua"},
+ {fake_node, fake_node_size, NULL, fake_node_name},
{fake_node, fake_node_size, NULL, fake_node_name},
{fake_node, fake_node_size, NULL, fake_node_name},
{pdf_colorstack_node, pdf_colorstack_node_size,
@@ -1160,7 +1158,6 @@ void flush_node(halfword p)
case pdf_save_node:
case pdf_restore_node:
case cancel_boundary_node:
- case close_lua_node:
case pdf_refobj_node:
case pdf_refxform_node:
case pdf_refximage_node:
@@ -1468,7 +1465,6 @@ void check_node(halfword p)
case pdf_save_node:
case pdf_restore_node:
case cancel_boundary_node:
- case close_lua_node:
case pdf_refobj_node:
case pdf_refxform_node:
case pdf_refximage_node:
@@ -2633,10 +2629,6 @@ static void show_whatsit_node(int p)
case late_lua_node:
show_late_lua(p);
break;
- case close_lua_node:
- tprint_esc("closelua");
- print_int(late_lua_reg(p));
- break;
case pdf_refobj_node:
tprint_esc("pdfrefobj");
if (obj_obj_is_stream(static_pdf, pdf_obj_objnum(p))) {