From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?=22Jos=E9_L=2E_Dom=E9nech=22?= Subject: Re: [PATCH] An amended to the enhance Org babel for scheme blocks Date: Mon, 24 Jul 2017 09:27:22 +0200 Message-ID: <87bmoas3ad.wl-domenechjosel@gmail.com> References: <87o9skwbrh.wl-domenechjosel@gmail.com> <87eftfq76z.wl-domenechjosel@gmail.com> <87pocrmrc1.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: multipart/mixed; boundary="Multipart_Mon_Jul_24_09:27:18_2017-1" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47803) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dZXnf-0004uG-QU for emacs-orgmode@gnu.org; Mon, 24 Jul 2017 03:29:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dZXnc-0001fN-Lt for emacs-orgmode@gnu.org; Mon, 24 Jul 2017 03:29:07 -0400 Received: from mail-wr0-x242.google.com ([2a00:1450:400c:c0c::242]:32769) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dZXnc-0001eO-Av for emacs-orgmode@gnu.org; Mon, 24 Jul 2017 03:29:04 -0400 Received: by mail-wr0-x242.google.com with SMTP id y43so16727958wrd.0 for ; Mon, 24 Jul 2017 00:29:02 -0700 (PDT) In-Reply-To: <87pocrmrc1.fsf@nicolasgoaziou.fr> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Nicolas Goaziou Cc: Org Mode , =?ISO-8859-1?Q?=22Jos=E9_L=2E_Dom=E9nech=22?= --Multipart_Mon_Jul_24_09:27:18_2017-1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Sun, 23 Jul 2017 11:32:14 +0200, Nicolas Goaziou wrote: Hello >=20 > Hello, >=20 > "Jos=E9 L. Dom=E9nech" writes: >=20 >=20 > Thank you. Some comments follow. >=20 >=20 > :version "26.1" > :package-version '(Org . "9.1") > Done. >=20 > (eq el '()) -> (null el) > Done. >=20 > The parenthesis needs to be moved at the end of the line above. > Done. > Would you mind also providing an ORG-NEWS entry for that change? > No, but I don't know what is the preferred format for the entries. So instead of a patch i send the complete entries. Also I have not explain why I added the :prologue header. I think it is general enough to be used in more creative ways than mine. ** New Features *** Babel ***** Scheme: new variable: ~org-babel-scheme-null-to~ This new custom option allows to use a empty list or null symbol to format the table output, initially assigned to 'hlines. ***** Scheme: new function: ~org-babel-scheme-table-or-string~ =20 New helper function to convert the return value from the scheme block to a table or a string. ***** Scheme: new header ~:prologue~ A new block code header has been created for Org Babel that enables developers to prepend code to the scheme block being processed. Multiple =3D:prologue=3D headers can be added each of them using a string with the content to be added. The scheme blocks are prepared by surronding the code in the block with a let form. The content of the =3D:prologue=3D headers are prepended before this let form. The Changelog entry: Allows scheme code blocks to return a table and add a :prologue param to the scheme blocks. All :prologue params are prepended to the body of code. * lisp/ob-scheme.el (org-babel-scheme-null-to): New custom option that allows to use a empty list or null symbol to format the table output, initially assigned to 'hlines. (org-babel-scheme-table-or-string): New helper function to convert the return value from the block to a table or a string. (org-babel-execute-src-block): Changed to allow the return of a table for the output. (org-babel-expand-body:scheme) Add :prologue param support. A improved Changelog entry: Allows scheme code blocks to return a table and add a :prologue param to the scheme blocks. All :prologue params are prepended to the body of code. * lisp/ob-scheme.el (org-babel-scheme-null-to): New custom option that allows to use a empty list or null symbol to format the table output, initially assigned to 'hlines. (org-babel-scheme-table-or-string): New helper function to convert the return value from the block to a table or a string. (org-babel-execute-src-block): Changed to allow the return of a table for the output. (org-babel-expand-body:scheme) Add :prologue param support. > Regards, >=20 > --=20 > Nicolas Goaziou Thank you, Jos=E9 L. Dom=E9nech The modified patch: --Multipart_Mon_Jul_24_09:27:18_2017-1 Content-Type: text/plain; type=patch; name="ob-scheme.el.patch"; charset=US-ASCII Content-Disposition: attachment; filename="ob-scheme.el.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avb2Itc2NoZW1lLmVsIGIvbGlzcC9vYi1zY2hlbWUuZWwKaW5kZXgg Y2Q4YzM4Ni4uM2MwNTAwZSAxMDA2NDQKLS0tIGEvbGlzcC9vYi1zY2hlbWUuZWwKKysrIGIvbGlz cC9vYi1zY2hlbWUuZWwKQEAgLTUxLDE0ICs1MSwyNCBAQAogICAgICAgICAgICAgICAgICAgKHN0 YXJ0IGVuZCAmb3B0aW9uYWwgYW5kLWdvIHJhdyBub21zZykpCiAoZGVjbGFyZS1mdW5jdGlvbiBn ZWlzZXItcmVwbC1leGl0ICJleHQ6Z2Vpc2VyLXJlcGwiICgmb3B0aW9uYWwgYXJnKSkKIAorKGRl ZmN1c3RvbSBvcmctYmFiZWwtc2NoZW1lLW51bGwtdG8gJ2hsaW5lCisgICJSZXBsYWNlIGBudWxs JyBhbmQgZW1wdHkgbGlzdHMgaW4gc2NoZW1lIHRhYmxlcyB3aXRoIHRoaXMgYmVmb3JlIHJldHVy bmluZy4iCisgIDpncm91cCAnb3JnLWJhYmVsCisgIDp2ZXJzaW9uICIyNi4xIgorICA6cGFja2Fn ZS12ZXJzaW9uICcoT3JnIC4gIjkuMSIpCisgIDp0eXBlICdzeW1ib2wpCisKIChkZWZ2YXIgb3Jn LWJhYmVsLWRlZmF1bHQtaGVhZGVyLWFyZ3M6c2NoZW1lICcoKQogICAiRGVmYXVsdCBoZWFkZXIg YXJndW1lbnRzIGZvciBzY2hlbWUgY29kZSBibG9ja3MuIikKIAogKGRlZnVuIG9yZy1iYWJlbC1l eHBhbmQtYm9keTpzY2hlbWUgKGJvZHkgcGFyYW1zKQogICAiRXhwYW5kIEJPRFkgYWNjb3JkaW5n IHRvIFBBUkFNUywgcmV0dXJuIHRoZSBleHBhbmRlZCBib2R5LiIKLSAgKGxldCAoKHZhcnMgKG9y Zy1iYWJlbC0tZ2V0LXZhcnMgcGFyYW1zKSkpCisgIChsZXQgKCh2YXJzIChvcmctYmFiZWwtLWdl dC12YXJzIHBhcmFtcykpCisJKHByZXBlbmRzIChjbC1yZW1vdmUtaWYtbm90IChsYW1iZGEgKHgp IChlcSAoY2FyIHgpIDpwcm9sb2d1ZSkpIHBhcmFtcykpKQogICAgIChpZiAoPiAobGVuZ3RoIHZh cnMpIDApCi0gICAgICAgIChjb25jYXQgIihsZXQgKCIKKyAgICAgICAgKGNvbmNhdCAobWFwY29u Y2F0IChsYW1iZGEgKHApIChmb3JtYXQgIiVzIiAoY2RyIHApKSkKKwkJCSAgIHByZXBlbmRzICJc biAgICAgIikKKwkgICAgICAgICIobGV0ICgiCiAgICAgICAgICAgICAgICAgKG1hcGNvbmNhdAog ICAgICAgICAgICAgICAgICAobGFtYmRhICh2YXIpIChmb3JtYXQgIiVTIiAocHJpbnQgYCgsKGNh ciB2YXIpICcsKGNkciB2YXIpKSkpKQogICAgICAgICAgICAgICAgICB2YXJzICJcbiAgICAgICIp CkBAIC0xNzYsNiArMTg2LDIwIEBAIGlzIHRydWU7IG90aGVyd2lzZSByZXR1cm5zIHRoZSBsYXN0 IHZhbHVlLiIKIAkJICAgICAgIHJlc3VsdCkpKSkKICAgICByZXN1bHQpKQogCisoZGVmdW4gb3Jn LWJhYmVsLXNjaGVtZS10YWJsZS1vci1zdHJpbmcgKHJlc3VsdHMpCisgICJDb252ZXJ0IFJFU1VM VFMgaW50byBhbiBhcHByb3ByaWF0ZSBlbGlzcCB2YWx1ZS4KK0lmIHRoZSByZXN1bHRzIGxvb2sg bGlrZSBhIGxpc3Qgb3IgdHVwbGUsIHRoZW4gY29udmVydCB0aGVtIGludG8gYW4KK0VtYWNzLWxp c3AgdGFibGUsIG90aGVyd2lzZSByZXR1cm4gdGhlIHJlc3VsdHMgYXMgYSBzdHJpbmcuIgorICAo bGV0ICgocmVzIChvcmctYmFiZWwtc2NyaXB0LWVzY2FwZSByZXN1bHRzKSkpCisgICAgKGNvbmQg KChsaXN0cCByZXMpCisgICAgICAgICAgIChtYXBjYXIgKGxhbWJkYSAoZWwpCisJCSAgICAgKGlm IChvciAobnVsbCBlbCkgKGVxIGVsICdudWxsKSkKKwkJCSBvcmctYmFiZWwtc2NoZW1lLW51bGwt dG8KKwkJICAgICAgIGVsKSkKKyAgICAgICAgICAgICAgICAgICByZXMpKQorCSAgKHQKKwkgICBy ZXMpKSkpCisKIChkZWZ1biBvcmctYmFiZWwtZXhlY3V0ZTpzY2hlbWUgKGJvZHkgcGFyYW1zKQog ICAiRXhlY3V0ZSBhIGJsb2NrIG9mIFNjaGVtZSBjb2RlIHdpdGggb3JnLWJhYmVsLgogVGhpcyBm dW5jdGlvbiBpcyBjYWxsZWQgYnkgYG9yZy1iYWJlbC1leGVjdXRlLXNyYy1ibG9jayciCkBAIC0x ODQsNyArMjA4LDYgQEAgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgYG9yZy1iYWJlbC1leGVj dXRlLXNyYy1ibG9jayciCiAJCQkgICAgICAiXiA/XFwqXFwoW14qXStcXClcXCoiICJcXDEiCiAJ CQkgICAgICAoYnVmZmVyLW5hbWUgc291cmNlLWJ1ZmZlcikpKSkKICAgICAoc2F2ZS1leGN1cnNp b24KLSAgICAgIChvcmctYmFiZWwtcmVhc3NlbWJsZS10YWJsZQogICAgICAgIChsZXQqICgocmVz dWx0LXR5cGUgKGNkciAoYXNzcSA6cmVzdWx0LXR5cGUgcGFyYW1zKSkpCiAJICAgICAgKGltcGwg KG9yICh3aGVuIChjZHIgKGFzc3EgOnNjaGVtZSBwYXJhbXMpKQogCQkJICAoaW50ZXJuIChjZHIg KGFzc3EgOnNjaGVtZSBwYXJhbXMpKSkpCkBAIC0xOTIsMTYgKzIxNSwyMSBAQCBUaGlzIGZ1bmN0 aW9uIGlzIGNhbGxlZCBieSBgb3JnLWJhYmVsLWV4ZWN1dGUtc3JjLWJsb2NrJyIKIAkJCShjYXIg Z2Vpc2VyLWFjdGl2ZS1pbXBsZW1lbnRhdGlvbnMpKSkKIAkgICAgICAoc2Vzc2lvbiAob3JnLWJh YmVsLXNjaGVtZS1tYWtlLXNlc3Npb24tbmFtZQogCQkJc291cmNlLWJ1ZmZlci1uYW1lIChjZHIg KGFzc3EgOnNlc3Npb24gcGFyYW1zKSkgaW1wbCkpCi0JICAgICAgKGZ1bGwtYm9keSAob3JnLWJh YmVsLWV4cGFuZC1ib2R5OnNjaGVtZSBib2R5IHBhcmFtcykpKQotCSAob3JnLWJhYmVsLXNjaGVt ZS1leGVjdXRlLXdpdGgtZ2Vpc2VyCi0JICBmdWxsLWJvZHkJCQkgOyBjb2RlCi0JICAoc3RyaW5n PSByZXN1bHQtdHlwZSAib3V0cHV0IikgOyBvdXRwdXQ/Ci0JICBpbXBsCQkJCSA7IGltcGxlbWVu dGF0aW9uCi0JICAoYW5kIChub3QgKHN0cmluZz0gc2Vzc2lvbiAibm9uZSIpKSBzZXNzaW9uKSkp IDsgc2Vzc2lvbgotICAgICAgIChvcmctYmFiZWwtcGljay1uYW1lIChjZHIgKGFzc3EgOmNvbG5h bWUtbmFtZXMgcGFyYW1zKSkKLQkJCSAgICAoY2RyIChhc3NxIDpjb2xuYW1lcyBwYXJhbXMpKSkK LSAgICAgICAob3JnLWJhYmVsLXBpY2stbmFtZSAoY2RyIChhc3NxIDpyb3duYW1lLW5hbWVzIHBh cmFtcykpCi0JCQkgICAgKGNkciAoYXNzcSA6cm93bmFtZXMgcGFyYW1zKSkpKSkpKQorCSAgICAg IChmdWxsLWJvZHkgKG9yZy1iYWJlbC1leHBhbmQtYm9keTpzY2hlbWUgYm9keSBwYXJhbXMpKQor CSAgICAgIChyZXN1bHQKKwkgICAgICAgKG9yZy1iYWJlbC1zY2hlbWUtZXhlY3V0ZS13aXRoLWdl aXNlcgorCQlmdWxsLWJvZHkJCQkgOyBjb2RlCisJCShzdHJpbmc9IHJlc3VsdC10eXBlICJvdXRw dXQiKSAgIDsgb3V0cHV0PworCQlpbXBsCQkJCSA7IGltcGxlbWVudGF0aW9uCisJCShhbmQgKG5v dCAoc3RyaW5nPSBzZXNzaW9uICJub25lIikpIHNlc3Npb24pKSkpIDsgc2Vzc2lvbgorCSAobGV0 ICgodGFibGUKKwkJKG9yZy1iYWJlbC1yZWFzc2VtYmxlLXRhYmxlCisJCSByZXN1bHQKKwkJIChv cmctYmFiZWwtcGljay1uYW1lIChjZHIgKGFzc3EgOmNvbG5hbWUtbmFtZXMgcGFyYW1zKSkKKwkJ CQkgICAgICAoY2RyIChhc3NxIDpjb2xuYW1lcyBwYXJhbXMpKSkKKwkJIChvcmctYmFiZWwtcGlj ay1uYW1lIChjZHIgKGFzc3EgOnJvd25hbWUtbmFtZXMgcGFyYW1zKSkKKwkJCQkgICAgICAoY2Ry IChhc3NxIDpyb3duYW1lcyBwYXJhbXMpKSkpKSkKKwkgICAob3JnLWJhYmVsLXNjaGVtZS10YWJs ZS1vci1zdHJpbmcgdGFibGUpKSkpKSkKIAogKHByb3ZpZGUgJ29iLXNjaGVtZSkKIAo= --Multipart_Mon_Jul_24_09:27:18_2017-1 Content-Type: text/plain; charset=US-ASCII --Multipart_Mon_Jul_24_09:27:18_2017-1--