pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/print/luatex



Module Name:    pkgsrc
Committed By:   markd
Date:           Sun May 13 12:46:27 UTC 2018

Modified Files:
        pkgsrc/print/luatex: Makefile distinfo
        pkgsrc/print/luatex/patches:
            patch-texk_web2c_luatexdir_image_pdftoepdf.w
            patch-texk_web2c_luatexdir_lua_lepdflib.cc
Removed Files:
        pkgsrc/print/luatex/patches:
            patch-texk_web2c_luatexdir_lua_lpdfscannerlib.cc
            patch-texk_web2c_luatexdir_luaffi_ctype.c
            patch-texk_web2c_luatexdir_luaffi_ffi.h

Log Message:
luatex: update to 1.07.0

texlive 2018 version


To generate a diff of this commit:
cvs rdiff -u -r1.70 -r1.71 pkgsrc/print/luatex/Makefile
cvs rdiff -u -r1.29 -r1.30 pkgsrc/print/luatex/distinfo
cvs rdiff -u -r1.4 -r1.5 \
    pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_image_pdftoepdf.w \
    pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_lua_lepdflib.cc
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_lua_lpdfscannerlib.cc \
    pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_luaffi_ctype.c \
    pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_luaffi_ffi.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/print/luatex/Makefile
diff -u pkgsrc/print/luatex/Makefile:1.70 pkgsrc/print/luatex/Makefile:1.71
--- pkgsrc/print/luatex/Makefile:1.70   Sat Apr 28 20:19:11 2018
+++ pkgsrc/print/luatex/Makefile        Sun May 13 12:46:27 2018
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.70 2018/04/28 20:19:11 wiz Exp $
+# $NetBSD: Makefile,v 1.71 2018/05/13 12:46:27 markd Exp $
 
-DISTNAME=      texlive-20170524-source
-PKGNAME=       luatex-1.0.4
-PKGREVISION=   11
+DISTNAME=      texlive-20180414-source
+PKGNAME=       luatex-1.07.0
 CATEGORIES=    print
-MASTER_SITES=  ftp://tug.org/historic/systems/texlive/2017/
+MASTER_SITES=  ftp://tug.org/historic/systems/texlive/2018/
 EXTRACT_SUFX=  .tar.xz
 
 MAINTAINER=    minskim%NetBSD.org@localhost
@@ -24,7 +23,7 @@ USE_TOOLS+=   gmake gsed lex perl pkg-conf
 CONFIGURE_ARGS+=       --disable-aleph --disable-etex --disable-pdftex \
                        --enable-luatex --disable-mf --disable-mf-nowin \
                        --with-x=no \
-                       --disable-luajittex --disable-mfluajit \
+                       --disable-luatex53 --disable-luajittex --disable-mfluajit \
                        --disable-mp --disable-pmp --disable-upmp \
                        --disable-ptex --disable-eptex --disable-uptex --disable-euptex \
                        --disable-web-progs \

Index: pkgsrc/print/luatex/distinfo
diff -u pkgsrc/print/luatex/distinfo:1.29 pkgsrc/print/luatex/distinfo:1.30
--- pkgsrc/print/luatex/distinfo:1.29   Sun Apr 29 20:57:26 2018
+++ pkgsrc/print/luatex/distinfo        Sun May 13 12:46:27 2018
@@ -1,14 +1,11 @@
-$NetBSD: distinfo,v 1.29 2018/04/29 20:57:26 ryoon Exp $
+$NetBSD: distinfo,v 1.30 2018/05/13 12:46:27 markd Exp $
 
-SHA1 (texlive-20170524-source.tar.xz) = 1c1383ddb1b871c6b8ce49a4ae3c1a33d454a7b6
-RMD160 (texlive-20170524-source.tar.xz) = a8430c19fe1727cf308fe03e5838105260c0d71e
-SHA512 (texlive-20170524-source.tar.xz) = 18c18940992ab94ce22e22ccd4ad798253ea14ac2ab296a10ea5e9a8da9f33989f2e2641b42b564d1d5fb53bd371da3e68726b676d706b469016ad146cd19daa
-Size (texlive-20170524-source.tar.xz) = 63483372 bytes
+SHA1 (texlive-20180414-source.tar.xz) = 81bdd9999b6ab860d1d3c388cf27062aba960255
+RMD160 (texlive-20180414-source.tar.xz) = 0ff63bbd7f8a0fb6417089f5d1ae1e4124a1dd95
+SHA512 (texlive-20180414-source.tar.xz) = ecac9b8203d2747be7ba7f82d68096d859fb35713276106d7049035dd3a8cfca07f8a8648982f0317b3812f8480db7326714de32f95998e3e6f73571de2aa140
+Size (texlive-20180414-source.tar.xz) = 49770944 bytes
 SHA1 (patch-ac) = 1ee83833a03eace2eada892130ddb2198e829f3d
 SHA1 (patch-libs_luajit_LuaJIT-src_src_host_buildvm__asm.c) = 34fa742ed696f97df637c5086bf1faf3d718cb69
 SHA1 (patch-libs_luajit_LuaJIT-src_src_vm__x86.dasc) = 491d33adbbaab8b2b81a65a8d7ba30aee775b75f
-SHA1 (patch-texk_web2c_luatexdir_image_pdftoepdf.w) = ef0950aeeba70fdb286835dd5eab85555fd1131a
-SHA1 (patch-texk_web2c_luatexdir_lua_lepdflib.cc) = 0758888fd2bf23e339a858fdde84c0aa111a7350
-SHA1 (patch-texk_web2c_luatexdir_lua_lpdfscannerlib.cc) = ddb11816de22cc7b3f286b3a7838dcf6debbf892
-SHA1 (patch-texk_web2c_luatexdir_luaffi_ctype.c) = 57d51564d5dd0200be10154216158fe801d7c630
-SHA1 (patch-texk_web2c_luatexdir_luaffi_ffi.h) = 2fbf91152fc3438d8e989d5f5f95877faaec6790
+SHA1 (patch-texk_web2c_luatexdir_image_pdftoepdf.w) = 9b6d637abe2fbb246a2435caf8aec5070abd1c5f
+SHA1 (patch-texk_web2c_luatexdir_lua_lepdflib.cc) = 24052cbff1a087badbeefe8b58bf7ce97e4ab4fb

Index: pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_image_pdftoepdf.w
diff -u pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_image_pdftoepdf.w:1.4 pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_image_pdftoepdf.w:1.5
--- pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_image_pdftoepdf.w:1.4        Sun Apr 29 20:57:26 2018
+++ pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_image_pdftoepdf.w    Sun May 13 12:46:27 2018
@@ -1,217 +1,27 @@
-$NetBSD: patch-texk_web2c_luatexdir_image_pdftoepdf.w,v 1.4 2018/04/29 20:57:26 ryoon Exp $
+$NetBSD: patch-texk_web2c_luatexdir_image_pdftoepdf.w,v 1.5 2018/05/13 12:46:27 markd Exp $
 
-The ctangle tex-to-C generator strips whitespace, resulting in "C++11 requires
-a space between literal and identifier" failures.  Pull in hacky patch from
-Gentoo which avoids this problem by using newlines.
+Build with poppler 0.64
 
-Add support for newer poppler's from ArchLinux
-
---- texk/web2c/luatexdir/image/pdftoepdf.w.orig        2016-11-25 18:09:14.000000000 +0000
+--- texk/web2c/luatexdir/image/pdftoepdf.w.orig        2018-01-17 18:00:12.000000000 +0000
 +++ texk/web2c/luatexdir/image/pdftoepdf.w
-@@ -71,7 +71,11 @@ static char *get_file_checksum(const cha
-         ck = (char *) malloc(PDF_CHECKSUM_SIZE);
-         if (ck == NULL)
-             formatted_error("pdf inclusion","out of memory while processing '%s'", a);
--        snprintf(ck, PDF_CHECKSUM_SIZE, "%" PRIu64 "_%" PRIu64, (uint64_t) size,(uint64_t) mtime);
-+        snprintf(ck, PDF_CHECKSUM_SIZE, "%"
-+PRIu64
-+"_%"
-+PRIu64
-+, (uint64_t) size,(uint64_t) mtime);
-    } else {
-         switch (fe) {
-             case FE_FAIL:
-@@ -224,7 +228,7 @@ PdfDocument *refMemStreamPdfDocument(cha
-         free(checksum);
-     }
-     if (pdf_doc->doc == NULL) {
--        docmemstream = new MemStream( docstream,0,streamsize, obj.initNull() );
-+        docmemstream = new MemStream( docstream,0,streamsize, Object(objNull) );
-         doc = new PDFDoc(docmemstream); /* takes ownership of docmemstream */
-         pdf_doc->pc++;
-         if (!doc->isOk() || !doc->okToPrint()) {
-@@ -408,9 +412,8 @@ static void copyArray(PDF pdf, PdfDocume
-     Object obj1;
-     pdf_begin_array(pdf);
-     for (i = 0, l = array->getLength(); i < l; ++i) {
--        array->getNF(i, &obj1);
-+        obj1 = array->getNF(i);
-         copyObject(pdf, pdf_doc, &obj1);
--        obj1.free();
-     }
-     pdf_end_array(pdf);
+@@ -361,9 +361,9 @@ void copyReal(PDF pdf, double d)
+     pdf->cave = true;
  }
-@@ -422,9 +425,8 @@ static void copyDict(PDF pdf, PdfDocumen
-     pdf_begin_dict(pdf);
-     for (i = 0, l = dict->getLength(); i < l; ++i) {
-         copyName(pdf, dict->getKey(i));
--        dict->getValNF(i, &obj1);
-+        obj1 = dict->getValNF(i);
-         copyObject(pdf, pdf_doc, &obj1);
--        obj1.free();
-     }
-     pdf_end_dict(pdf);
+ 
+-static void copyString(PDF pdf, GooString * string)
++static void copyString(PDF pdf, const GooString * string)
+ {
+-    char *p;
++    const char *p;
+     unsigned char c;
+     size_t i, l;
+     p = string->getCString();
+@@ -393,7 +393,7 @@ static void copyString(PDF pdf, GooStrin
+     pdf->cave = true;
  }
-@@ -470,10 +472,10 @@ static void copyObject(PDF pdf, PdfDocum
-         break;
-     */
-     case objString:
--        copyString(pdf, obj->getString());
-+        copyString(pdf, const_cast<GooString*>(obj->getString()));
-         break;
-     case objName:
--        copyName(pdf, obj->getName());
-+        copyName(pdf, const_cast<char*>(obj->getName()));
-         break;
-     case objNull:
-         pdf_add_null(pdf);
-@@ -510,13 +512,12 @@ static void writeRefs(PDF pdf, PdfDocume
-     PDFDoc *doc = pdf_doc->doc;
-     xref = doc->getXRef();
-     for (r = pdf_doc->inObjList; r != NULL;) {
--        xref->fetch(r->ref.num, r->ref.gen, &obj1);
-+        obj1 = xref->fetch(r->ref.num, r->ref.gen);
-         if (obj1.isStream())
-             pdf_begin_obj(pdf, r->num, OBJSTM_NEVER);
-         else
-             pdf_begin_obj(pdf, r->num, 2);
-         copyObject(pdf, pdf_doc, &obj1);
--        obj1.free();
-         pdf_end_obj(pdf);
-         n = r->next;
-         delete r;
-@@ -740,7 +741,7 @@ void write_epdf(PDF pdf, image_dict * id
-     catalog = doc->getCatalog();
-     page = catalog->getPage(img_pagenum(idict));
-     pageref = catalog->getPageRef(img_pagenum(idict));
--    doc->getXRef()->fetch(pageref->num, pageref->gen, &pageobj);
-+    pageobj = doc->getXRef()->fetch(pageref->num, pageref->gen);
-     pageDict = pageobj.getDict();
-     /* write the Page header */
-     pdf_begin_obj(pdf, img_objnum(idict), OBJSTM_NEVER);
-@@ -757,12 +758,11 @@ void write_epdf(PDF pdf, image_dict * id
-         pdf_dict_add_int(pdf, "PTEX.PageNumber", (int) img_pagenum(idict));
-     }
-     if ((suppress_optional_info & 8) == 0) {
--        doc->getDocInfoNF(&obj1);
-+        obj1 = doc->getDocInfoNF();
-         if (obj1.isRef()) {
-             /* the info dict must be indirect (PDF Ref p. 61) */
-             pdf_dict_add_ref(pdf, "PTEX.InfoDict", addInObj(pdf, pdf_doc, obj1.getRef()));
-         }
--        obj1.free();
-     }
-     if (img_is_bbox(idict)) {
-         bbox[0] = sp2bp(img_bbox(idict)[0]);
-@@ -788,19 +788,17 @@ void write_epdf(PDF pdf, image_dict * id
-         Now all relevant parts of the Page dictionary are copied. Metadata validity
-         check is needed(as a stream it must be indirect).
-     */
--    pageDict->lookupNF("Metadata", &obj1);
-+    obj1 = pageDict->lookupNF("Metadata");
-     if (!obj1.isNull() && !obj1.isRef())
-         formatted_warning("pdf inclusion","/Metadata must be indirect object");
--    obj1.free();
-     /* copy selected items in Page dictionary */
-     for (i = 0; pagedictkeys[i] != NULL; i++) {
--        pageDict->lookupNF(pagedictkeys[i], &obj1);
-+        obj1 = pageDict->lookupNF(pagedictkeys[i]);
-         if (!obj1.isNull()) {
-             pdf_add_name(pdf, pagedictkeys[i]);
-             /* preserves indirection */
-             copyObject(pdf, pdf_doc, &obj1);
-         }
--        obj1.free();
-     }
-     /*
-         If there are no Resources in the Page dict of the embedded page,
-@@ -808,32 +806,28 @@ void write_epdf(PDF pdf, image_dict * id
-         PDF file, climbing up the tree until the Resources are found.
-         (This fixes a problem with Scribus 1.3.3.14.)
-     */
--    pageDict->lookupNF("Resources", &obj1);
-+    obj1 = pageDict->lookupNF("Resources");
-     if (obj1.isNull()) {
-         op1 = &pagesobj1;
-         op2 = &pagesobj2;
--        pageDict->lookup("Parent", op1);
-+        *op1 = pageDict->lookup("Parent");
-         while (op1->isDict()) {
--            obj1.free();
--            op1->dictLookupNF("Resources", &obj1);
-+            obj1 = op1->dictLookupNF("Resources");
-             if (!obj1.isNull()) {
-                 pdf_add_name(pdf, "Resources");
-                 copyObject(pdf, pdf_doc, &obj1);
-                 break;
-             }
--            op1->dictLookup("Parent", op2);
-+            *op2 = op1->dictLookup("Parent");
-             optmp = op1;
-             op1 = op2;
-             op2 = optmp;
--            op2->free();
-         };
-         if (!op1->isDict())
-             formatted_warning("pdf inclusion","Page /Resources missing");
--        op1->free();
-     }
--    obj1.free();
-     /* Write the Page contents. */
--    page->getContents(&contents);
-+    contents = page->getContents();
-     if (contents.isStream()) {
-         /*
-             Variant A: get stream and recompress under control of \pdfcompresslevel
-@@ -844,27 +838,23 @@ void write_epdf(PDF pdf, image_dict * id
  
-             Variant B: copy stream without recompressing
-         */
--        contents.streamGetDict()->lookup("F", &obj1);
-+        obj1 = contents.streamGetDict()->lookup("F");
-         if (!obj1.isNull()) {
-             normal_error("pdf inclusion","unsupported external stream");
-         }
--        obj1.free();
--        contents.streamGetDict()->lookup("Length", &obj1);
-+        obj1 = contents.streamGetDict()->lookup("Length");
-         pdf_add_name(pdf, "Length");
-         copyObject(pdf, pdf_doc, &obj1);
--        obj1.free();
--        contents.streamGetDict()->lookup("Filter", &obj1);
-+        obj1 = contents.streamGetDict()->lookup("Filter");
-         if (!obj1.isNull()) {
-             pdf_add_name(pdf, "Filter");
-             copyObject(pdf, pdf_doc, &obj1);
--            obj1.free();
--            contents.streamGetDict()->lookup("DecodeParms", &obj1);
-+            obj1 = contents.streamGetDict()->lookup("DecodeParms");
-             if (!obj1.isNull()) {
-                 pdf_add_name(pdf, "DecodeParms");
-                 copyObject(pdf, pdf_doc, &obj1);
-             }
-         }
--        obj1.free();
-         pdf_end_dict(pdf);
-         pdf_begin_stream(pdf);
-         copyStreamStream(pdf, contents.getStream()->getUndecodedStream());
-@@ -875,8 +865,8 @@ void write_epdf(PDF pdf, image_dict * id
-         pdf_end_dict(pdf);
-         pdf_begin_stream(pdf);
-         for (i = 0, l = contents.arrayGetLength(); i < l; ++i) {
--            copyStreamStream(pdf, (contents.arrayGet(i, &obj1))->getStream());
--            obj1.free();
-+            obj1 = contents.arrayGet(i);
-+            copyStreamStream(pdf, obj1.getStream());
-             if (i < (l - 1)) {
-                 /*
-                     Put a space between streams to be on the safe side (streams
-@@ -897,8 +887,6 @@ void write_epdf(PDF pdf, image_dict * id
-     }
-     /* write out all indirect objects */
-     writeRefs(pdf, pdf_doc);
--    contents.free();
--    pageobj.free();
-     /*
-         unrefPdfDocument() must come after contents.free() and pageobj.free()!
-         TH: The next line makes repeated pdf inclusion unacceptably slow
+-static void copyName(PDF pdf, char *s)
++static void copyName(PDF pdf, const char *s)
+ {
+     pdf_out(pdf, '/');
+     for (; *s != 0; s++) {
Index: pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_lua_lepdflib.cc
diff -u pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_lua_lepdflib.cc:1.4 pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_lua_lepdflib.cc:1.5
--- pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_lua_lepdflib.cc:1.4  Sun Apr 29 20:57:26 2018
+++ pkgsrc/print/luatex/patches/patch-texk_web2c_luatexdir_lua_lepdflib.cc      Sun May 13 12:46:27 2018
@@ -1,457 +1,24 @@
-$NetBSD: patch-texk_web2c_luatexdir_lua_lepdflib.cc,v 1.4 2018/04/29 20:57:26 ryoon Exp $
+$NetBSD: patch-texk_web2c_luatexdir_lua_lepdflib.cc,v 1.5 2018/05/13 12:46:27 markd Exp $
 
-Add support for newer poppler's from ArchLinux
+Build with poppler 0.64
 
---- texk/web2c/luatexdir/lua/lepdflib.cc.orig  2017-03-11 01:04:06.000000000 +0000
+--- texk/web2c/luatexdir/lua/lepdflib.cc.orig  2018-02-14 14:44:38.000000000 +0000
 +++ texk/web2c/luatexdir/lua/lepdflib.cc
-@@ -521,7 +521,7 @@ static int m_##in##_##function(lua_State
+@@ -669,7 +669,7 @@ static int m_##in##_##function(lua_State
+ #define m_poppler_get_GOOSTRING(in, function)                  \
+ static int m_##in##_##function(lua_State * L)                  \
+ {                                                              \
+-    GooString *gs;                                             \
++    const GooString *gs;                                             \
+     udstruct *uin;                                             \
      uin = (udstruct *) luaL_checkudata(L, 1, M_##in);          \
      if (uin->pd != NULL && uin->pd->pc != uin->pc)             \
-         pdfdoc_changed_error(L);                               \
--    gs = ((in *) uin->d)->function();                          \
-+    gs = const_cast<GooString*>(((in *) uin->d)->function());  \
-     if (gs != NULL)                                            \
-         lua_pushlstring(L, gs->getCString(), gs->getLength()); \
-     else                                                       \
-@@ -538,7 +538,7 @@ static int m_##in##_##function(lua_State
-         pdfdoc_changed_error(L);                               \
-     uout = new_Object_userdata(L);                             \
-     uout->d = new Object();                                    \
--    ((in *) uin->d)->function((Object *) uout->d);             \
-+    *((Object *)uout->d) = ((in *) uin->d)->function();                  \
-     uout->atype = ALLOC_LEPDF;                                 \
-     uout->pc = uin->pc;                                        \
-     uout->pd = uin->pd;                                        \
-@@ -668,13 +668,11 @@ static const struct luaL_Reg Annots_m[] 
+@@ -1807,7 +1807,7 @@ static int m_Object_getNum(lua_State * L
  
- static int m_Array_incRef(lua_State * L)
+ static int m_Object_getString(lua_State * L)
  {
--    int i;
+-    GooString *gs;
++    const GooString *gs;
      udstruct *uin;
-     uin = (udstruct *) luaL_checkudata(L, 1, M_Array);
-     if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
--    i = ((Array *) uin->d)->incRef();
--    lua_pushinteger(L, i);
-+    lua_pushinteger(L, 1);
-     return 1;
- }
- 
-@@ -685,8 +683,7 @@ static int m_Array_decRef(lua_State * L)
-     uin = (udstruct *) luaL_checkudata(L, 1, M_Array);
-     if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
--    i = ((Array *) uin->d)->decRef();
--    lua_pushinteger(L, i);
-+    lua_pushinteger(L, 1);
-     return 1;
- }
- 
-@@ -702,7 +699,7 @@ static int m_Array_add(lua_State * L)
-     if ((uin->pd != NULL && uin->pd->pc != uin->pc)
-         || (uobj->pd != NULL && uobj->pd->pc != uobj->pc))
-         pdfdoc_changed_error(L);
--    ((Array *) uin->d)->add(((Object *) uobj->d));
-+    ((Array *) uin->d)->add(std::move(*((Object *) uobj->d)));
-     return 0;
- }
- 
-@@ -718,7 +715,7 @@ static int m_Array_get(lua_State * L)
-     if (i > 0 && i <= len) {
-         uout = new_Object_userdata(L);
-         uout->d = new Object();
--        ((Array *) uin->d)->get(i - 1, (Object *) uout->d);
-+        *((Object *) uout->d) = ((Array *) uin->d)->get(i - 1);
-         uout->atype = ALLOC_LEPDF;
-         uout->pc = uin->pc;
-         uout->pd = uin->pd;
-@@ -739,7 +736,7 @@ static int m_Array_getNF(lua_State * L)
-     if (i > 0 && i <= len) {
-         uout = new_Object_userdata(L);
-         uout->d = new Object();
--        ((Array *) uin->d)->getNF(i - 1, (Object *) uout->d);
-+        *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1);
-         uout->atype = ALLOC_LEPDF;
-         uout->pc = uin->pc;
-         uout->pd = uin->pd;
-@@ -953,25 +950,21 @@ static const struct luaL_Reg Catalog_m[]
- 
- static int m_Dict_incRef(lua_State * L)
- {
--    int i;
-     udstruct *uin;
-     uin = (udstruct *) luaL_checkudata(L, 1, M_Dict);
-     if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
--    i = ((Dict *) uin->d)->incRef();
--    lua_pushinteger(L, i);
-+    lua_pushinteger(L, 1);
-     return 1;
- }
- 
- static int m_Dict_decRef(lua_State * L)
- {
--    int i;
-     udstruct *uin;
-     uin = (udstruct *) luaL_checkudata(L, 1, M_Dict);
-     if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
--    i = ((Dict *) uin->d)->decRef();
--    lua_pushinteger(L, i);
-+    lua_pushinteger(L, 1);
-     return 1;
- }
- 
-@@ -986,7 +979,7 @@ static int m_Dict_add(lua_State * L)
-         pdfdoc_changed_error(L);
-     s = copyString(luaL_checkstring(L, 2));
-     uobj = (udstruct *) luaL_checkudata(L, 3, M_Object);
--    ((Dict *) uin->d)->add(s, ((Object *) uobj->d));
-+    ((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d)));
-     return 0;
- }
- 
-@@ -999,7 +992,7 @@ static int m_Dict_set(lua_State * L)
-         pdfdoc_changed_error(L);
-     s = luaL_checkstring(L, 2);
-     uobj = (udstruct *) luaL_checkudata(L, 3, M_Object);
--    ((Dict *) uin->d)->set(s, ((Object *) uobj->d));
-+    ((Dict *) uin->d)->set(s, std::move(*((Object *) uobj->d)));
-     return 0;
- }
- 
-@@ -1027,7 +1020,7 @@ static int m_Dict_lookup(lua_State * L)
-     s = luaL_checkstring(L, 2);
-     uout = new_Object_userdata(L);
-     uout->d = new Object();
--    ((Dict *) uin->d)->lookup(s, (Object *) uout->d);
-+    *((Object *) uout->d) = ((Dict *) uin->d)->lookup(s);
-     uout->atype = ALLOC_LEPDF;
-     uout->pc = uin->pc;
-     uout->pd = uin->pd;
-@@ -1044,7 +1037,7 @@ static int m_Dict_lookupNF(lua_State * L
-     s = luaL_checkstring(L, 2);
-     uout = new_Object_userdata(L);
-     uout->d = new Object();
--    ((Dict *) uin->d)->lookupNF(s, (Object *) uout->d);
-+    *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s);
-     uout->atype = ALLOC_LEPDF;
-     uout->pc = uin->pc;
-     uout->pd = uin->pd;
-@@ -1096,7 +1089,7 @@ static int m_Dict_getVal(lua_State * L)
-     if (i > 0 && i <= len) {
-         uout = new_Object_userdata(L);
-         uout->d = new Object();
--        ((Dict *) uin->d)->getVal(i - 1, (Object *) uout->d);
-+        *((Object *) uout->d) = ((Dict *) uin->d)->getVal(i - 1);
-         uout->atype = ALLOC_LEPDF;
-         uout->pc = uin->pc;
-         uout->pd = uin->pd;
-@@ -1117,7 +1110,7 @@ static int m_Dict_getValNF(lua_State * L
-     if (i > 0 && i <= len) {
-         uout = new_Object_userdata(L);
-         uout->d = new Object();
--        ((Dict *) uin->d)->getValNF(i - 1, (Object *) uout->d);
-+        *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1);
-         uout->atype = ALLOC_LEPDF;
-         uout->pc = uin->pc;
-         uout->pd = uin->pd;
-@@ -1381,9 +1374,9 @@ static int m_Object_initBool(lua_State *
-         pdfdoc_changed_error(L);
-     luaL_checktype(L, 2, LUA_TBOOLEAN);
-     if (lua_toboolean(L, 2) != 0)
--        ((Object *) uin->d)->initBool(gTrue);
-+        *((Object *) uin->d) = Object(gTrue);
-     else
--        ((Object *) uin->d)->initBool(gFalse);
-+        *((Object *) uin->d) = Object(gFalse);
-     return 0;
- }
- 
-@@ -1395,7 +1388,7 @@ static int m_Object_initInt(lua_State * 
-     if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
-     i = luaL_checkint(L, 2);
--    ((Object *) uin->d)->initInt(i);
-+    *((Object *) uin->d) = Object(i);
-     return 0;
- }
- 
-@@ -1407,7 +1400,7 @@ static int m_Object_initReal(lua_State *
-     if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
-     d = luaL_checknumber(L, 2);
--    ((Object *) uin->d)->initReal(d);
-+    *((Object *) uin->d) = Object(d);
-     return 0;
- }
- 
-@@ -1422,7 +1415,7 @@ static int m_Object_initString(lua_State
-         pdfdoc_changed_error(L);
-     s = luaL_checklstring(L, 2, &len);
-     gs = new GooString(s, len);
--    ((Object *) uin->d)->initString(gs);
-+    *((Object *) uin->d) = Object(gs);
-     return 0;
- }
- 
-@@ -1434,7 +1427,7 @@ static int m_Object_initName(lua_State *
-     if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
-     s = luaL_checkstring(L, 2);
--    ((Object *) uin->d)->initName(s);
-+    *((Object *) uin->d) = Object(objName, s);
-     return 0;
- }
- 
-@@ -1444,13 +1437,14 @@ static int m_Object_initNull(lua_State *
      uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
      if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
--    ((Object *) uin->d)->initNull();
-+    *((Object *) uin->d) = Object(objNull);
-     return 0;
- }
- 
- static int m_Object_initArray(lua_State * L)
- {
-     udstruct *uin, *uxref;
-+    Array *a;
-     uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
-     uxref = (udstruct *) luaL_checkudata(L, 2, M_XRef);
-     if (uin->pd != NULL && uxref->pd != NULL && uin->pd != uxref->pd)
-@@ -1458,7 +1452,8 @@ static int m_Object_initArray(lua_State 
-     if ((uin->pd != NULL && uin->pd->pc != uin->pc)
-         || (uxref->pd != NULL && uxref->pd->pc != uxref->pc))
-         pdfdoc_changed_error(L);
--    ((Object *) uin->d)->initArray((XRef *) uxref->d);
-+    a = new Array((XRef *) uxref->d);
-+    *((Object *) uin->d) = Object(a);
-     return 0;
- }
- 
-@@ -1469,6 +1464,7 @@ static int m_Object_initArray(lua_State 
- static int m_Object_initDict(lua_State * L)
- {
-     udstruct *uin, *uxref;
-+    Dict *d;
-     uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
-     uxref = (udstruct *) luaL_checkudata(L, 2, M_XRef);
-     if (uin->pd != NULL && uxref->pd != NULL && uin->pd != uxref->pd)
-@@ -1476,7 +1472,8 @@ static int m_Object_initDict(lua_State *
-     if ((uin->pd != NULL && uin->pd->pc != uin->pc)
-         || (uxref->pd != NULL && uxref->pd->pc != uxref->pc))
-         pdfdoc_changed_error(L);
--    ((Object *) uin->d)->initDict((XRef *) uxref->d);
-+    d = new Dict((XRef *) uxref->d);
-+    *((Object *) uin->d) = Object(d);
-     return 0;
- }
- 
-@@ -1490,7 +1487,7 @@ static int m_Object_initStream(lua_State
-     if ((uin->pd != NULL && uin->pd->pc != uin->pc)
-         || (ustream->pd != NULL && ustream->pd->pc != ustream->pc))
-         pdfdoc_changed_error(L);
--    ((Object *) uin->d)->initStream((Stream *) ustream->d);
-+    *((Object *) uin->d) = Object((Stream *) ustream->d);
-     return 0;
- }
- 
-@@ -1503,7 +1500,7 @@ static int m_Object_initRef(lua_State * 
-         pdfdoc_changed_error(L);
-     num = luaL_checkint(L, 2);
-     gen = luaL_checkint(L, 3);
--    ((Object *) uin->d)->initRef(num, gen);
-+    *((Object *) uin->d) = Object(num, gen);
-     return 0;
- }
- 
-@@ -1515,7 +1512,7 @@ static int m_Object_initCmd(lua_State * 
-     if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
-     s = luaL_checkstring(L, 2);
--    ((Object *) uin->d)->initCmd(CHARP_CAST s);
-+    *((Object *) uin->d) = Object(objCmd, CHARP_CAST s);
-     return 0;
- }
- 
-@@ -1525,7 +1522,7 @@ static int m_Object_initError(lua_State 
-     uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
-     if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
--    ((Object *) uin->d)->initError();
-+    *((Object *) uin->d) = Object(objError);
-     return 0;
- }
- 
-@@ -1535,7 +1532,7 @@ static int m_Object_initEOF(lua_State * 
-     uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
-     if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
--    ((Object *) uin->d)->initEOF();
-+    *((Object *) uin->d) = Object(objEOF);
-     return 0;
- }
- 
-@@ -1551,7 +1548,7 @@ static int m_Object_fetch(lua_State * L)
-         pdfdoc_changed_error(L);
-     uout = new_Object_userdata(L);
-     uout->d = new Object();
--    ((Object *) uin->d)->fetch((XRef *) uxref->d, (Object *) uout->d);
-+    *((Object *) uout->d) = ((Object *) uin->d)->fetch((XRef *) uxref->d);
-     uout->atype = ALLOC_LEPDF;
-     uout->pc = uin->pc;
-     uout->pd = uin->pd;
-@@ -1659,7 +1656,7 @@ static int m_Object_getString(lua_State 
-     if (uin->pd != NULL && uin->pd->pc != uin->pc)
-         pdfdoc_changed_error(L);
-     if (((Object *) uin->d)->isString()) {
--        gs = ((Object *) uin->d)->getString();
-+        gs = const_cast<GooString*>(((Object *) uin->d)->getString());
-         lua_pushlstring(L, gs->getCString(), gs->getLength());
-     } else
-         lua_pushnil(L);
-@@ -1816,7 +1813,7 @@ static int m_Object_arrayAdd(lua_State *
-         pdfdoc_changed_error(L);
-     if (!((Object *) uin->d)->isArray())
-         luaL_error(L, "Object is not an Array");
--    ((Object *) uin->d)->arrayAdd((Object *) uobj->d);
-+    ((Object *) uin->d)->arrayAdd(std::move(*((Object *) uobj->d)));
-     return 0;
- }
- 
-@@ -1833,7 +1830,7 @@ static int m_Object_arrayGet(lua_State *
-         if (i > 0 && i <= len) {
-             uout = new_Object_userdata(L);
-             uout->d = new Object();
--            ((Object *) uin->d)->arrayGet(i - 1, (Object *) uout->d);
-+            *((Object *) uout->d) = ((Object *) uin->d)->arrayGet(i - 1);
-             uout->atype = ALLOC_LEPDF;
-             uout->pc = uin->pc;
-             uout->pd = uin->pd;
-@@ -1857,7 +1854,7 @@ static int m_Object_arrayGetNF(lua_State
-         if (i > 0 && i <= len) {
-             uout = new_Object_userdata(L);
-             uout->d = new Object();
--            ((Object *) uin->d)->arrayGetNF(i - 1, (Object *) uout->d);
-+            *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1);
-             uout->atype = ALLOC_LEPDF;
-             uout->pc = uin->pc;
-             uout->pd = uin->pd;
-@@ -1897,7 +1894,7 @@ static int m_Object_dictAdd(lua_State * 
-         pdfdoc_changed_error(L);
-     if (!((Object *) uin->d)->isDict())
-         luaL_error(L, "Object is not a Dict");
--    ((Object *) uin->d)->dictAdd(copyString(s), (Object *) uobj->d);
-+    ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *) uobj->d)));
-     return 0;
- }
- 
-@@ -1915,7 +1912,7 @@ static int m_Object_dictSet(lua_State * 
-         pdfdoc_changed_error(L);
-     if (!((Object *) uin->d)->isDict())
-         luaL_error(L, "Object is not a Dict");
--    ((Object *) uin->d)->dictSet(s, (Object *) uobj->d);
-+    ((Object *) uin->d)->dictSet(s, std::move(*((Object *) uobj->d)));
-     return 0;
- }
- 
-@@ -1930,7 +1927,7 @@ static int m_Object_dictLookup(lua_State
-     if (((Object *) uin->d)->isDict()) {
-         uout = new_Object_userdata(L);
-         uout->d = new Object();
--        ((Object *) uin->d)->dictLookup(s, (Object *) uout->d);
-+        *((Object *) uout->d) = ((Object *) uin->d)->dictLookup(s);
-         uout->atype = ALLOC_LEPDF;
-         uout->pc = uin->pc;
-         uout->pd = uin->pd;
-@@ -1950,7 +1947,7 @@ static int m_Object_dictLookupNF(lua_Sta
-     if (((Object *) uin->d)->isDict()) {
-         uout = new_Object_userdata(L);
-         uout->d = new Object();
--        ((Object *) uin->d)->dictLookupNF(s, (Object *) uout->d);
-+        *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s);
-         uout->atype = ALLOC_LEPDF;
-         uout->pc = uin->pc;
-         uout->pd = uin->pd;
-@@ -1991,7 +1988,7 @@ static int m_Object_dictGetVal(lua_State
-         if (i > 0 && i <= len) {
-             uout = new_Object_userdata(L);
-             uout->d = new Object();
--            ((Object *) uin->d)->dictGetVal(i - 1, (Object *) uout->d);
-+          *((Object *) uout->d) = ((Object *) uin->d)->dictGetVal(i - 1);
-             uout->atype = ALLOC_LEPDF;
-             uout->pc = uin->pc;
-             uout->pd = uin->pd;
-@@ -2015,7 +2012,7 @@ static int m_Object_dictGetValNF(lua_Sta
-         if (i > 0 && i <= len) {
-             uout = new_Object_userdata(L);
-             uout->d = new Object();
--            ((Object *) uin->d)->dictGetValNF(i - 1, (Object *) uout->d);
-+            *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1);
-             uout->atype = ALLOC_LEPDF;
-             uout->pc = uin->pc;
-             uout->pd = uin->pd;
-@@ -2243,7 +2240,7 @@ m_poppler_get_poppler(Page, Stream, getM
- m_poppler_get_poppler(Page, Dict, getPieceInfo);
- m_poppler_get_poppler(Page, Dict, getSeparationInfo);
- m_poppler_get_poppler(Page, Dict, getResourceDict);
--m_poppler_get_OBJECT(Page, getAnnots);
-+m_poppler_get_OBJECT(Page, getAnnotsObject);
- 
- m_poppler_get_OBJECT(Page, getContents);
- 
-@@ -2270,7 +2267,7 @@ static const struct luaL_Reg Page_m[] = 
-     {"getPieceInfo", m_Page_getPieceInfo},
-     {"getSeparationInfo", m_Page_getSeparationInfo},
-     {"getResourceDict", m_Page_getResourceDict},
--    {"getAnnots", m_Page_getAnnots},
-+    {"getAnnots", m_Page_getAnnotsObject},
-     {"getContents", m_Page_getContents},
-     {"__tostring", m_Page__tostring},
-     {NULL, NULL}                // sentinel
-@@ -2520,7 +2517,7 @@ static int m_PDFDoc_getDocInfo(lua_State
-     if (((PdfDocument *) uin->d)->doc->getXRef()->isOk()) {
-         uout = new_Object_userdata(L);
-         uout->d = new Object();
--        ((PdfDocument *) uin->d)->doc->getDocInfo((Object *) uout->d);
-+        *((Object *) uout->d) = ((PdfDocument *) uin->d)->doc->getDocInfo();
-         uout->atype = ALLOC_LEPDF;
-         uout->pc = uin->pc;
-         uout->pd = uin->pd;
-@@ -2538,7 +2535,7 @@ static int m_PDFDoc_getDocInfoNF(lua_Sta
-     if (((PdfDocument *) uin->d)->doc->getXRef()->isOk()) {
-         uout = new_Object_userdata(L);
-         uout->d = new Object();
--        ((PdfDocument *) uin->d)->doc->getDocInfoNF((Object *) uout->d);
-+        *((Object *) uout->d) = ((PdfDocument *) uin->d)->doc->getDocInfoNF();
-         uout->atype = ALLOC_LEPDF;
-         uout->pc = uin->pc;
-         uout->pd = uin->pd;
-@@ -2841,7 +2838,7 @@ static int m_Attribute_getValue(lua_Stat
-     uout = new_Object_userdata(L);
-     uout->d = new Object();
-     origin = (Object *) (((Attribute *) uin->d)->getValue());
--    origin->copy ( ((Object *)uout->d) );
-+    *((Object *) uout->d) = origin->copy();
-     uout->atype = ALLOC_LEPDF;
-     uout->pc = uin->pc;
-     uout->pd = uin->pd;
-@@ -3320,7 +3317,7 @@ static int m_StructTreeRoot_findParentEl
-     parent = root->findParentElement(i-1);
-     if (parent != NULL) {
-        uout = new_StructElement_userdata(L);
--       uout->d = new StructElement( *parent );
-+       uout->d = (StructElement *) parent;
-        uout->atype = ALLOC_LEPDF;
-        uout->pc = uin->pc;
-        uout->pd = uin->pd;
-@@ -3370,7 +3367,7 @@ static int m_XRef_fetch(lua_State * L)
-     gen = luaL_checkint(L, 3);
-     uout = new_Object_userdata(L);
-     uout->d = new Object();
--    ((XRef *) uin->d)->fetch(num, gen, (Object *) uout->d);
-+    *((Object *) uout->d) = ((XRef *) uin->d)->fetch(num, gen);
-     uout->atype = ALLOC_LEPDF;
-     uout->pc = uin->pc;
-     uout->pd = uin->pd;



Home | Main Index | Thread Index | Old Index