Received: by mail.netbsd.org (Postfix, from userid 605) id AC13684FD4; Sun, 13 May 2018 12:46:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 3760F84FC4 for ; Sun, 13 May 2018 12:46:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.netbsd.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id ndYmn5YXo_hI for ; Sun, 13 May 2018 12:46:27 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.NetBSD.org [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id 7435784CD0 for ; Sun, 13 May 2018 12:46:27 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 69F5DFBEC; Sun, 13 May 2018 12:46:27 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1526215587106220" MIME-Version: 1.0 Date: Sun, 13 May 2018 12:46:27 +0000 From: "Mark Davies" Subject: CVS commit: pkgsrc/print/luatex To: pkgsrc-changes@NetBSD.org Reply-To: markd@netbsd.org X-Mailer: log_accum Message-Id: <20180513124627.69F5DFBEC@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: pkgsrc-changes.NetBSD.org Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_1526215587106220 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" 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. --_----------=_1526215587106220 Content-Disposition: inline Content-Length: 33042 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii 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 @@ -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(obj->getString())); - break; - case objName: -- copyName(pdf, obj->getName()); -+ copyName(pdf, const_cast(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(((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(((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; --_----------=_1526215587106220--