emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Matthew MacLean <archenoth@gmail.com>
To: Kyle Meyer <kyle@kyleam.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: fa5fd6351605912ec75e783cb62649 breaks org-babel-script-escape for ob-ruby
Date: Tue, 11 Aug 2015 21:24:13 -0600	[thread overview]
Message-ID: <CA+GZiYpLamH4eXjRGUpgOspPdbjAJhUjuapnU6njgWKi8hgmsQ@mail.gmail.com> (raw)
In-Reply-To: <874mk5coqy.fsf@kmlap.domain.org>


[-- Attachment #1.1: Type: text/plain, Size: 898 bytes --]

If the stricter definition covers everything that org-babel-escape-script
was supposed to do... I agree we should keep it.
My problem was I wasn't sure if the function got pruned of something it
needed.

But if that's not the case...

On Tue, Aug 11, 2015 at 6:52 PM, Kyle Meyer <kyle@kyleam.com> wrote:

> Feel free to wait to hear others' thoughts on this, but, in any case,
> please use 'git format-patch' to generate a patch with a commit message
> (see the contributing section of the website [1] for more information).
> Also, it'd be nice to add a test that catches the original error.
>

...here is the git format-patch of the ob-ruby.el change!

I also created one for a test to check for basic Ruby evaluation
capabilities. It should catch errors that break evaluation like this in
ob-ruby. (I find it interesting that the session tests worked without the
double-escape change actually.)

[-- Attachment #1.2: Type: text/html, Size: 1449 bytes --]

[-- Attachment #2: 0001-Removed-double-escape-in-ob-ruby.el-In-org-babel-rub.patch --]
[-- Type: text/x-patch, Size: 1320 bytes --]

From 07052b4ad0f51f24534c5ee2899511cfb658ae71 Mon Sep 17 00:00:00 2001
From: Archenoth <archenoth@gmail.com>
Date: Tue, 11 Aug 2015 20:29:53 -0600
Subject: [PATCH 1/2] Removed double-escape in ob-ruby.el (In
 org-babel-ruby-evaluate)

The only time org-babel-ruby-evaluate is called is in
org-babel-execute:ruby, where its result either escaped (The double
escape) or passed in as the "scalar-form" of org-babel-result-cond which
handles the "pp" and "code" parameters. (So, places that don't need
escaping.)
---
 lisp/ob-ruby.el | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/lisp/ob-ruby.el b/lisp/ob-ruby.el
index 9b01dbf..0ff460e 100644
--- a/lisp/ob-ruby.el
+++ b/lisp/ob-ruby.el
@@ -201,11 +201,7 @@ return the value of the last statement in BODY, as elisp."
 			      org-babel-ruby-pp-wrapper-method
 			    org-babel-ruby-wrapper-method)
 			  body (org-babel-process-file-name tmp-file 'noquote)))
-		 (let ((raw (org-babel-eval-read-file tmp-file)))
-                   (if (or (member "code" result-params)
-                           (member "pp" result-params))
-                       raw
-                     (org-babel-ruby-table-or-string raw))))))
+		 (org-babel-eval-read-file tmp-file))))
     ;; comint session evaluation
     (case result-type
       (output
-- 
2.5.0


[-- Attachment #3: 0002-Add-test-that-basic-Ruby-evaluation-works-with-ob-ru.patch --]
[-- Type: text/x-patch, Size: 1152 bytes --]

From 40864852d9f0996c4f755377a8326f2cbae417ec Mon Sep 17 00:00:00 2001
From: Archenoth <archenoth@gmail.com>
Date: Tue, 11 Aug 2015 21:18:44 -0600
Subject: [PATCH 2/2] Add test that basic Ruby evaluation works with ob-ruby

This will also test that the string escape schenanigans are fixed.
---
 testing/lisp/test-ob-ruby.el | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/testing/lisp/test-ob-ruby.el b/testing/lisp/test-ob-ruby.el
index eb5233b..576cb13 100644
--- a/testing/lisp/test-ob-ruby.el
+++ b/testing/lisp/test-ob-ruby.el
@@ -21,6 +21,23 @@
 (unless (featurep 'ob-ruby)
   (signal 'missing-test-dependency "Support for Ruby code blocks"))
 
+(ert-deftest test-ob-ruby/basic-evaluation ()
+  "Test that basic evaluation works."
+    (should (equal (org-test-with-temp-text "#+begin_src ruby
+ 2 + 2
+#+end_src"
+  (org-babel-execute-maybe)
+  (substring-no-properties
+   (buffer-string)))
+		   "#+begin_src ruby
+ 2 + 2
+#+end_src
+
+#+RESULTS:
+: 4
+
+")))
+
 (ert-deftest test-ob-ruby/session-output-1 ()
     (should (equal (org-test-with-temp-text "#+begin_src ruby :session :results output
 s = \"1\"
-- 
2.5.0


  reply	other threads:[~2015-08-12  3:24 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-11 20:52 fa5fd6351605912ec75e783cb62649 breaks org-babel-script-escape for ob-ruby Matthew MacLean
2015-08-11 22:33 ` Kyle Meyer
2015-08-11 22:36   ` Kyle Meyer
2015-08-11 22:46     ` Matthew MacLean
2015-08-12  0:52       ` Kyle Meyer
2015-08-12  3:24         ` Matthew MacLean [this message]
2015-08-12  5:53           ` Kyle Meyer
2015-08-12  6:18             ` Matthew MacLean
2015-08-12 17:21               ` Kyle Meyer
2015-08-12 20:05                 ` Matthew MacLean
2015-08-13  3:41                   ` Kyle Meyer
2015-08-13  4:02                     ` Matthew MacLean

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+GZiYpLamH4eXjRGUpgOspPdbjAJhUjuapnU6njgWKi8hgmsQ@mail.gmail.com \
    --to=archenoth@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=kyle@kyleam.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).