* [PATCH] ob-ruby.el fix for :session parameter @ 2013-10-21 11:15 Oleh 2013-10-21 17:42 ` Eric Schulte 2014-09-20 21:54 ` Achim Gratz 0 siblings, 2 replies; 6+ messages in thread From: Oleh @ 2013-10-21 11:15 UTC (permalink / raw) To: org mode [-- Attachment #1: Type: text/plain, Size: 440 bytes --] Hi all, I attach a patch to change from this behavior: #+begin_src ruby :session :results output s = "1" s = "2" s = "3" puts s #+end_src #+RESULTS: : => "1" : => "2" : => "3" : 3 To this behavior #+begin_src ruby :session :results output s = "1" s = "2" s = "3" puts s #+end_src #+RESULTS: : : 3 I just wrap the code in "conf.echo=false\n" and "\nconf.echo=true\n". I have to set it back to true, otherwise it hangs. regards, Oleh [-- Attachment #2: 0001-ob-ruby.el-fix-result-of-results-output-session-comb.patch --] [-- Type: application/octet-stream, Size: 3511 bytes --] From e27f248f58258b78280e69cd78140e935527245e Mon Sep 17 00:00:00 2001 From: Oleh Krehel <ohwoeowho@gmail.com> Date: Mon, 21 Oct 2013 13:03:28 +0200 Subject: [PATCH] ob-ruby.el: fix result of :results output :session combination. * lisp/ob-ruby.el (org-babel-ruby-evaluate): set conf.echo=false for the duration of evaluation. * testing/lisp/test-ob-ruby.el (test-ob-ruby/session-output): new test. --- lisp/ob-ruby.el | 32 +++++++++++++++-------------- testing/lisp/test-ob-ruby.el | 49 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 15 deletions(-) create mode 100644 testing/lisp/test-ob-ruby.el diff --git a/lisp/ob-ruby.el b/lisp/ob-ruby.el index af52831..ddbd0f8 100644 --- a/lisp/ob-ruby.el +++ b/lisp/ob-ruby.el @@ -213,21 +213,23 @@ return the value of the last statement in BODY, as elisp." ;; comint session evaluation (case result-type (output - (mapconcat - #'identity - (butlast - (split-string - (mapconcat - #'org-babel-trim - (butlast - (org-babel-comint-with-output - (buffer org-babel-ruby-eoe-indicator t body) - (mapc - (lambda (line) - (insert (org-babel-chomp line)) (comint-send-input nil t)) - (list body org-babel-ruby-eoe-indicator)) - (comint-send-input nil t)) 2) - "\n") "[\r\n]")) "\n")) + (progn + (setq body (concat "conf.echo=false\n" body "\nconf.echo=true\n")) + (mapconcat + #'identity + (butlast + (split-string + (mapconcat + #'org-babel-trim + (butlast + (org-babel-comint-with-output + (buffer org-babel-ruby-eoe-indicator t body) + (mapc + (lambda (line) + (insert (org-babel-chomp line)) (comint-send-input nil t)) + (list body org-babel-ruby-eoe-indicator)) + (comint-send-input nil t)) 2) + "\n") "[\r\n]")) "\n"))) (value (let* ((tmp-file (org-babel-temp-file "ruby-")) (ppp (or (member "code" result-params) diff --git a/testing/lisp/test-ob-ruby.el b/testing/lisp/test-ob-ruby.el new file mode 100644 index 0000000..74cf163 --- /dev/null +++ b/testing/lisp/test-ob-ruby.el @@ -0,0 +1,49 @@ +;;; test-ob-ruby.el --- tests for ob-ruby.el + +;; Copyright (c) 2013 Oleh Krehel +;; Authors: Oleh Krehel + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <http://www.gnu.org/licenses/>. + +;;; Code: +(org-test-for-executable "ruby") +(unless (featurep 'ob-ruby) + (signal 'missing-test-dependency "Support for Ruby code blocks")) + +(ert-deftest test-ob-ruby/session-output () + (should (equal (org-test-with-temp-text "#+begin_src ruby :session :results output +s = \"1\" +s = \"2\" +s = \"3\" +puts s +#+end_src" + (org-ctrl-c-ctrl-c) + (substring-no-properties + (buffer-string))) + "#+begin_src ruby :session :results output +s = \"1\" +s = \"2\" +s = \"3\" +puts s +#+end_src + +#+RESULTS: +: +: 3 + +"))) + +(provide 'test-ob-ruby) + +;;; test-ob-ruby.el ends here -- 1.8.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] ob-ruby.el fix for :session parameter 2013-10-21 11:15 [PATCH] ob-ruby.el fix for :session parameter Oleh @ 2013-10-21 17:42 ` Eric Schulte 2013-10-21 17:55 ` Oleh 2014-09-20 21:54 ` Achim Gratz 1 sibling, 1 reply; 6+ messages in thread From: Eric Schulte @ 2013-10-21 17:42 UTC (permalink / raw) To: Oleh; +Cc: org mode Hi Oleh, Thanks for submitting this patch. Instead of the current progn/setq approach could you simply add your the "conf.echo=false\n" lines to the following list? (list body org-babel-ruby-eoe-indicator) With that change I'd be happy to apply this patch. Also, extra thanks for submitting tests along with your patch, much appreciated! Oleh <ohwoeowho@gmail.com> writes: > Hi all, > > I attach a patch to change from this behavior: > > #+begin_src ruby :session :results output > s = "1" > s = "2" > s = "3" > puts s > #+end_src > > #+RESULTS: > : => "1" > : => "2" > : => "3" > : 3 > > To this behavior > > #+begin_src ruby :session :results output > s = "1" > s = "2" > s = "3" > puts s > #+end_src > > #+RESULTS: > : > : 3 > > I just wrap the code in "conf.echo=false\n" and "\nconf.echo=true\n". > I have to set it back to true, otherwise it hangs. > > regards, > Oleh > > From e27f248f58258b78280e69cd78140e935527245e Mon Sep 17 00:00:00 2001 > From: Oleh Krehel <ohwoeowho@gmail.com> > Date: Mon, 21 Oct 2013 13:03:28 +0200 > Subject: [PATCH] ob-ruby.el: fix result of :results output :session > combination. > > * lisp/ob-ruby.el (org-babel-ruby-evaluate): > set conf.echo=false for the duration of evaluation. > > * testing/lisp/test-ob-ruby.el (test-ob-ruby/session-output): new test. > --- > lisp/ob-ruby.el | 32 +++++++++++++++-------------- > testing/lisp/test-ob-ruby.el | 49 ++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 66 insertions(+), 15 deletions(-) > create mode 100644 testing/lisp/test-ob-ruby.el > > diff --git a/lisp/ob-ruby.el b/lisp/ob-ruby.el > index af52831..ddbd0f8 100644 > --- a/lisp/ob-ruby.el > +++ b/lisp/ob-ruby.el > @@ -213,21 +213,23 @@ return the value of the last statement in BODY, as elisp." > ;; comint session evaluation > (case result-type > (output > - (mapconcat > - #'identity > - (butlast > - (split-string > - (mapconcat > - #'org-babel-trim > - (butlast > - (org-babel-comint-with-output > - (buffer org-babel-ruby-eoe-indicator t body) > - (mapc > - (lambda (line) > - (insert (org-babel-chomp line)) (comint-send-input nil t)) > - (list body org-babel-ruby-eoe-indicator)) > - (comint-send-input nil t)) 2) > - "\n") "[\r\n]")) "\n")) > + (progn > + (setq body (concat "conf.echo=false\n" body "\nconf.echo=true\n")) > + (mapconcat > + #'identity > + (butlast > + (split-string > + (mapconcat > + #'org-babel-trim > + (butlast > + (org-babel-comint-with-output > + (buffer org-babel-ruby-eoe-indicator t body) > + (mapc > + (lambda (line) > + (insert (org-babel-chomp line)) (comint-send-input nil t)) > + (list body org-babel-ruby-eoe-indicator)) > + (comint-send-input nil t)) 2) > + "\n") "[\r\n]")) "\n"))) > (value > (let* ((tmp-file (org-babel-temp-file "ruby-")) > (ppp (or (member "code" result-params) > diff --git a/testing/lisp/test-ob-ruby.el b/testing/lisp/test-ob-ruby.el > new file mode 100644 > index 0000000..74cf163 > --- /dev/null > +++ b/testing/lisp/test-ob-ruby.el > @@ -0,0 +1,49 @@ > +;;; test-ob-ruby.el --- tests for ob-ruby.el > + > +;; Copyright (c) 2013 Oleh Krehel > +;; Authors: Oleh Krehel > + > +;; This program is free software; you can redistribute it and/or modify > +;; it under the terms of the GNU General Public License as published by > +;; the Free Software Foundation, either version 3 of the License, or > +;; (at your option) any later version. > + > +;; This program is distributed in the hope that it will be useful, > +;; but WITHOUT ANY WARRANTY; without even the implied warranty of > +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;; GNU General Public License for more details. > + > +;; You should have received a copy of the GNU General Public License > +;; along with this program. If not, see <http://www.gnu.org/licenses/>. > + > +;;; Code: > +(org-test-for-executable "ruby") > +(unless (featurep 'ob-ruby) > + (signal 'missing-test-dependency "Support for Ruby code blocks")) > + > +(ert-deftest test-ob-ruby/session-output () > + (should (equal (org-test-with-temp-text "#+begin_src ruby :session :results output > +s = \"1\" > +s = \"2\" > +s = \"3\" > +puts s > +#+end_src" > + (org-ctrl-c-ctrl-c) > + (substring-no-properties > + (buffer-string))) > + "#+begin_src ruby :session :results output > +s = \"1\" > +s = \"2\" > +s = \"3\" > +puts s > +#+end_src > + > +#+RESULTS: > +: > +: 3 > + > +"))) > + > +(provide 'test-ob-ruby) > + > +;;; test-ob-ruby.el ends here -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ob-ruby.el fix for :session parameter 2013-10-21 17:42 ` Eric Schulte @ 2013-10-21 17:55 ` Oleh 2013-10-21 19:09 ` Eric Schulte 0 siblings, 1 reply; 6+ messages in thread From: Oleh @ 2013-10-21 17:55 UTC (permalink / raw) To: Eric Schulte; +Cc: org mode [-- Attachment #1: Type: text/plain, Size: 5169 bytes --] Hi Eric, Here's the update. regards, Oleh On Mon, Oct 21, 2013 at 7:42 PM, Eric Schulte <schulte.eric@gmail.com> wrote: > Hi Oleh, > > Thanks for submitting this patch. Instead of the current progn/setq > approach could you simply add your the "conf.echo=false\n" lines to the > following list? > > (list body org-babel-ruby-eoe-indicator) > > With that change I'd be happy to apply this patch. > > Also, extra thanks for submitting tests along with your patch, much > appreciated! > > Oleh <ohwoeowho@gmail.com> writes: > >> Hi all, >> >> I attach a patch to change from this behavior: >> >> #+begin_src ruby :session :results output >> s = "1" >> s = "2" >> s = "3" >> puts s >> #+end_src >> >> #+RESULTS: >> : => "1" >> : => "2" >> : => "3" >> : 3 >> >> To this behavior >> >> #+begin_src ruby :session :results output >> s = "1" >> s = "2" >> s = "3" >> puts s >> #+end_src >> >> #+RESULTS: >> : >> : 3 >> >> I just wrap the code in "conf.echo=false\n" and "\nconf.echo=true\n". >> I have to set it back to true, otherwise it hangs. >> >> regards, >> Oleh >> >> From e27f248f58258b78280e69cd78140e935527245e Mon Sep 17 00:00:00 2001 >> From: Oleh Krehel <ohwoeowho@gmail.com> >> Date: Mon, 21 Oct 2013 13:03:28 +0200 >> Subject: [PATCH] ob-ruby.el: fix result of :results output :session >> combination. >> >> * lisp/ob-ruby.el (org-babel-ruby-evaluate): >> set conf.echo=false for the duration of evaluation. >> >> * testing/lisp/test-ob-ruby.el (test-ob-ruby/session-output): new test. >> --- >> lisp/ob-ruby.el | 32 +++++++++++++++-------------- >> testing/lisp/test-ob-ruby.el | 49 ++++++++++++++++++++++++++++++++++++++++++++ >> 2 files changed, 66 insertions(+), 15 deletions(-) >> create mode 100644 testing/lisp/test-ob-ruby.el >> >> diff --git a/lisp/ob-ruby.el b/lisp/ob-ruby.el >> index af52831..ddbd0f8 100644 >> --- a/lisp/ob-ruby.el >> +++ b/lisp/ob-ruby.el >> @@ -213,21 +213,23 @@ return the value of the last statement in BODY, as elisp." >> ;; comint session evaluation >> (case result-type >> (output >> - (mapconcat >> - #'identity >> - (butlast >> - (split-string >> - (mapconcat >> - #'org-babel-trim >> - (butlast >> - (org-babel-comint-with-output >> - (buffer org-babel-ruby-eoe-indicator t body) >> - (mapc >> - (lambda (line) >> - (insert (org-babel-chomp line)) (comint-send-input nil t)) >> - (list body org-babel-ruby-eoe-indicator)) >> - (comint-send-input nil t)) 2) >> - "\n") "[\r\n]")) "\n")) >> + (progn >> + (setq body (concat "conf.echo=false\n" body "\nconf.echo=true\n")) >> + (mapconcat >> + #'identity >> + (butlast >> + (split-string >> + (mapconcat >> + #'org-babel-trim >> + (butlast >> + (org-babel-comint-with-output >> + (buffer org-babel-ruby-eoe-indicator t body) >> + (mapc >> + (lambda (line) >> + (insert (org-babel-chomp line)) (comint-send-input nil t)) >> + (list body org-babel-ruby-eoe-indicator)) >> + (comint-send-input nil t)) 2) >> + "\n") "[\r\n]")) "\n"))) >> (value >> (let* ((tmp-file (org-babel-temp-file "ruby-")) >> (ppp (or (member "code" result-params) >> diff --git a/testing/lisp/test-ob-ruby.el b/testing/lisp/test-ob-ruby.el >> new file mode 100644 >> index 0000000..74cf163 >> --- /dev/null >> +++ b/testing/lisp/test-ob-ruby.el >> @@ -0,0 +1,49 @@ >> +;;; test-ob-ruby.el --- tests for ob-ruby.el >> + >> +;; Copyright (c) 2013 Oleh Krehel >> +;; Authors: Oleh Krehel >> + >> +;; This program is free software; you can redistribute it and/or modify >> +;; it under the terms of the GNU General Public License as published by >> +;; the Free Software Foundation, either version 3 of the License, or >> +;; (at your option) any later version. >> + >> +;; This program is distributed in the hope that it will be useful, >> +;; but WITHOUT ANY WARRANTY; without even the implied warranty of >> +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> +;; GNU General Public License for more details. >> + >> +;; You should have received a copy of the GNU General Public License >> +;; along with this program. If not, see <http://www.gnu.org/licenses/>. >> + >> +;;; Code: >> +(org-test-for-executable "ruby") >> +(unless (featurep 'ob-ruby) >> + (signal 'missing-test-dependency "Support for Ruby code blocks")) >> + >> +(ert-deftest test-ob-ruby/session-output () >> + (should (equal (org-test-with-temp-text "#+begin_src ruby :session :results output >> +s = \"1\" >> +s = \"2\" >> +s = \"3\" >> +puts s >> +#+end_src" >> + (org-ctrl-c-ctrl-c) >> + (substring-no-properties >> + (buffer-string))) >> + "#+begin_src ruby :session :results output >> +s = \"1\" >> +s = \"2\" >> +s = \"3\" >> +puts s >> +#+end_src >> + >> +#+RESULTS: >> +: >> +: 3 >> + >> +"))) >> + >> +(provide 'test-ob-ruby) >> + >> +;;; test-ob-ruby.el ends here > > -- > Eric Schulte > https://cs.unm.edu/~eschulte > PGP: 0x614CA05D [-- Attachment #2: 0001-ob-ruby.el-fix-result-of-results-output-session-comb.patch --] [-- Type: application/octet-stream, Size: 2701 bytes --] From 089bbf66a7ba632a34dacb4f42479d7d55dd49bd Mon Sep 17 00:00:00 2001 From: Oleh Krehel <ohwoeowho@gmail.com> Date: Mon, 21 Oct 2013 13:03:28 +0200 Subject: [PATCH] ob-ruby.el: fix result of :results output :session combination. * lisp/ob-ruby.el (org-babel-ruby-evaluate): set conf.echo=false for the duration of evaluation. * testing/lisp/test-ob-ruby.el (test-ob-ruby/session-output): new test. --- lisp/ob-ruby.el | 2 +- testing/lisp/test-ob-ruby.el | 49 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 testing/lisp/test-ob-ruby.el diff --git a/lisp/ob-ruby.el b/lisp/ob-ruby.el index af52831..eea517d 100644 --- a/lisp/ob-ruby.el +++ b/lisp/ob-ruby.el @@ -225,7 +225,7 @@ return the value of the last statement in BODY, as elisp." (mapc (lambda (line) (insert (org-babel-chomp line)) (comint-send-input nil t)) - (list body org-babel-ruby-eoe-indicator)) + (list "conf.echo=false" body "conf.echo=true" org-babel-ruby-eoe-indicator)) (comint-send-input nil t)) 2) "\n") "[\r\n]")) "\n")) (value diff --git a/testing/lisp/test-ob-ruby.el b/testing/lisp/test-ob-ruby.el new file mode 100644 index 0000000..74cf163 --- /dev/null +++ b/testing/lisp/test-ob-ruby.el @@ -0,0 +1,49 @@ +;;; test-ob-ruby.el --- tests for ob-ruby.el + +;; Copyright (c) 2013 Oleh Krehel +;; Authors: Oleh Krehel + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <http://www.gnu.org/licenses/>. + +;;; Code: +(org-test-for-executable "ruby") +(unless (featurep 'ob-ruby) + (signal 'missing-test-dependency "Support for Ruby code blocks")) + +(ert-deftest test-ob-ruby/session-output () + (should (equal (org-test-with-temp-text "#+begin_src ruby :session :results output +s = \"1\" +s = \"2\" +s = \"3\" +puts s +#+end_src" + (org-ctrl-c-ctrl-c) + (substring-no-properties + (buffer-string))) + "#+begin_src ruby :session :results output +s = \"1\" +s = \"2\" +s = \"3\" +puts s +#+end_src + +#+RESULTS: +: +: 3 + +"))) + +(provide 'test-ob-ruby) + +;;; test-ob-ruby.el ends here -- 1.8.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] ob-ruby.el fix for :session parameter 2013-10-21 17:55 ` Oleh @ 2013-10-21 19:09 ` Eric Schulte 0 siblings, 0 replies; 6+ messages in thread From: Eric Schulte @ 2013-10-21 19:09 UTC (permalink / raw) To: Oleh; +Cc: org mode Applied, Thanks! Oleh <ohwoeowho@gmail.com> writes: > Hi Eric, > > Here's the update. > > regards, > Oleh > > On Mon, Oct 21, 2013 at 7:42 PM, Eric Schulte <schulte.eric@gmail.com> wrote: >> Hi Oleh, >> >> Thanks for submitting this patch. Instead of the current progn/setq >> approach could you simply add your the "conf.echo=false\n" lines to the >> following list? >> >> (list body org-babel-ruby-eoe-indicator) >> >> With that change I'd be happy to apply this patch. >> >> Also, extra thanks for submitting tests along with your patch, much >> appreciated! >> >> Oleh <ohwoeowho@gmail.com> writes: >> >>> Hi all, >>> >>> I attach a patch to change from this behavior: >>> >>> #+begin_src ruby :session :results output >>> s = "1" >>> s = "2" >>> s = "3" >>> puts s >>> #+end_src >>> >>> #+RESULTS: >>> : => "1" >>> : => "2" >>> : => "3" >>> : 3 >>> >>> To this behavior >>> >>> #+begin_src ruby :session :results output >>> s = "1" >>> s = "2" >>> s = "3" >>> puts s >>> #+end_src >>> >>> #+RESULTS: >>> : >>> : 3 >>> >>> I just wrap the code in "conf.echo=false\n" and "\nconf.echo=true\n". >>> I have to set it back to true, otherwise it hangs. >>> >>> regards, >>> Oleh >>> >>> From e27f248f58258b78280e69cd78140e935527245e Mon Sep 17 00:00:00 2001 >>> From: Oleh Krehel <ohwoeowho@gmail.com> >>> Date: Mon, 21 Oct 2013 13:03:28 +0200 >>> Subject: [PATCH] ob-ruby.el: fix result of :results output :session >>> combination. >>> >>> * lisp/ob-ruby.el (org-babel-ruby-evaluate): >>> set conf.echo=false for the duration of evaluation. >>> >>> * testing/lisp/test-ob-ruby.el (test-ob-ruby/session-output): new test. >>> --- >>> lisp/ob-ruby.el | 32 +++++++++++++++-------------- >>> testing/lisp/test-ob-ruby.el | 49 ++++++++++++++++++++++++++++++++++++++++++++ >>> 2 files changed, 66 insertions(+), 15 deletions(-) >>> create mode 100644 testing/lisp/test-ob-ruby.el >>> >>> diff --git a/lisp/ob-ruby.el b/lisp/ob-ruby.el >>> index af52831..ddbd0f8 100644 >>> --- a/lisp/ob-ruby.el >>> +++ b/lisp/ob-ruby.el >>> @@ -213,21 +213,23 @@ return the value of the last statement in BODY, as elisp." >>> ;; comint session evaluation >>> (case result-type >>> (output >>> - (mapconcat >>> - #'identity >>> - (butlast >>> - (split-string >>> - (mapconcat >>> - #'org-babel-trim >>> - (butlast >>> - (org-babel-comint-with-output >>> - (buffer org-babel-ruby-eoe-indicator t body) >>> - (mapc >>> - (lambda (line) >>> - (insert (org-babel-chomp line)) (comint-send-input nil t)) >>> - (list body org-babel-ruby-eoe-indicator)) >>> - (comint-send-input nil t)) 2) >>> - "\n") "[\r\n]")) "\n")) >>> + (progn >>> + (setq body (concat "conf.echo=false\n" body "\nconf.echo=true\n")) >>> + (mapconcat >>> + #'identity >>> + (butlast >>> + (split-string >>> + (mapconcat >>> + #'org-babel-trim >>> + (butlast >>> + (org-babel-comint-with-output >>> + (buffer org-babel-ruby-eoe-indicator t body) >>> + (mapc >>> + (lambda (line) >>> + (insert (org-babel-chomp line)) (comint-send-input nil t)) >>> + (list body org-babel-ruby-eoe-indicator)) >>> + (comint-send-input nil t)) 2) >>> + "\n") "[\r\n]")) "\n"))) >>> (value >>> (let* ((tmp-file (org-babel-temp-file "ruby-")) >>> (ppp (or (member "code" result-params) >>> diff --git a/testing/lisp/test-ob-ruby.el b/testing/lisp/test-ob-ruby.el >>> new file mode 100644 >>> index 0000000..74cf163 >>> --- /dev/null >>> +++ b/testing/lisp/test-ob-ruby.el >>> @@ -0,0 +1,49 @@ >>> +;;; test-ob-ruby.el --- tests for ob-ruby.el >>> + >>> +;; Copyright (c) 2013 Oleh Krehel >>> +;; Authors: Oleh Krehel >>> + >>> +;; This program is free software; you can redistribute it and/or modify >>> +;; it under the terms of the GNU General Public License as published by >>> +;; the Free Software Foundation, either version 3 of the License, or >>> +;; (at your option) any later version. >>> + >>> +;; This program is distributed in the hope that it will be useful, >>> +;; but WITHOUT ANY WARRANTY; without even the implied warranty of >>> +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >>> +;; GNU General Public License for more details. >>> + >>> +;; You should have received a copy of the GNU General Public License >>> +;; along with this program. If not, see <http://www.gnu.org/licenses/>. >>> + >>> +;;; Code: >>> +(org-test-for-executable "ruby") >>> +(unless (featurep 'ob-ruby) >>> + (signal 'missing-test-dependency "Support for Ruby code blocks")) >>> + >>> +(ert-deftest test-ob-ruby/session-output () >>> + (should (equal (org-test-with-temp-text "#+begin_src ruby :session :results output >>> +s = \"1\" >>> +s = \"2\" >>> +s = \"3\" >>> +puts s >>> +#+end_src" >>> + (org-ctrl-c-ctrl-c) >>> + (substring-no-properties >>> + (buffer-string))) >>> + "#+begin_src ruby :session :results output >>> +s = \"1\" >>> +s = \"2\" >>> +s = \"3\" >>> +puts s >>> +#+end_src >>> + >>> +#+RESULTS: >>> +: >>> +: 3 >>> + >>> +"))) >>> + >>> +(provide 'test-ob-ruby) >>> + >>> +;;; test-ob-ruby.el ends here >> >> -- >> Eric Schulte >> https://cs.unm.edu/~eschulte >> PGP: 0x614CA05D > > From 089bbf66a7ba632a34dacb4f42479d7d55dd49bd Mon Sep 17 00:00:00 2001 > From: Oleh Krehel <ohwoeowho@gmail.com> > Date: Mon, 21 Oct 2013 13:03:28 +0200 > Subject: [PATCH] ob-ruby.el: fix result of :results output :session > combination. > > * lisp/ob-ruby.el (org-babel-ruby-evaluate): > set conf.echo=false for the duration of evaluation. > > * testing/lisp/test-ob-ruby.el (test-ob-ruby/session-output): new test. > --- > lisp/ob-ruby.el | 2 +- > testing/lisp/test-ob-ruby.el | 49 ++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 50 insertions(+), 1 deletion(-) > create mode 100644 testing/lisp/test-ob-ruby.el > > diff --git a/lisp/ob-ruby.el b/lisp/ob-ruby.el > index af52831..eea517d 100644 > --- a/lisp/ob-ruby.el > +++ b/lisp/ob-ruby.el > @@ -225,7 +225,7 @@ return the value of the last statement in BODY, as elisp." > (mapc > (lambda (line) > (insert (org-babel-chomp line)) (comint-send-input nil t)) > - (list body org-babel-ruby-eoe-indicator)) > + (list "conf.echo=false" body "conf.echo=true" org-babel-ruby-eoe-indicator)) > (comint-send-input nil t)) 2) > "\n") "[\r\n]")) "\n")) > (value > diff --git a/testing/lisp/test-ob-ruby.el b/testing/lisp/test-ob-ruby.el > new file mode 100644 > index 0000000..74cf163 > --- /dev/null > +++ b/testing/lisp/test-ob-ruby.el > @@ -0,0 +1,49 @@ > +;;; test-ob-ruby.el --- tests for ob-ruby.el > + > +;; Copyright (c) 2013 Oleh Krehel > +;; Authors: Oleh Krehel > + > +;; This program is free software; you can redistribute it and/or modify > +;; it under the terms of the GNU General Public License as published by > +;; the Free Software Foundation, either version 3 of the License, or > +;; (at your option) any later version. > + > +;; This program is distributed in the hope that it will be useful, > +;; but WITHOUT ANY WARRANTY; without even the implied warranty of > +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;; GNU General Public License for more details. > + > +;; You should have received a copy of the GNU General Public License > +;; along with this program. If not, see <http://www.gnu.org/licenses/>. > + > +;;; Code: > +(org-test-for-executable "ruby") > +(unless (featurep 'ob-ruby) > + (signal 'missing-test-dependency "Support for Ruby code blocks")) > + > +(ert-deftest test-ob-ruby/session-output () > + (should (equal (org-test-with-temp-text "#+begin_src ruby :session :results output > +s = \"1\" > +s = \"2\" > +s = \"3\" > +puts s > +#+end_src" > + (org-ctrl-c-ctrl-c) > + (substring-no-properties > + (buffer-string))) > + "#+begin_src ruby :session :results output > +s = \"1\" > +s = \"2\" > +s = \"3\" > +puts s > +#+end_src > + > +#+RESULTS: > +: > +: 3 > + > +"))) > + > +(provide 'test-ob-ruby) > + > +;;; test-ob-ruby.el ends here -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ob-ruby.el fix for :session parameter 2013-10-21 11:15 [PATCH] ob-ruby.el fix for :session parameter Oleh 2013-10-21 17:42 ` Eric Schulte @ 2014-09-20 21:54 ` Achim Gratz 2014-09-21 11:02 ` Achim Gratz 1 sibling, 1 reply; 6+ messages in thread From: Achim Gratz @ 2014-09-20 21:54 UTC (permalink / raw) To: emacs-orgmode Oleh writes: > #+RESULTS: > : > : 3 Well, that would still be an empty line too many. But aside from that, what I'm actually getting with a recent Emacs and inf-ruby is: #+RESULTS: : : irb(main):003:0> irb(main):004:0> irb(main):005:0> 3 So either comint-mode has developed some problem in the meantime or there is some other configuration missing for this to work. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] ob-ruby.el fix for :session parameter 2014-09-20 21:54 ` Achim Gratz @ 2014-09-21 11:02 ` Achim Gratz 0 siblings, 0 replies; 6+ messages in thread From: Achim Gratz @ 2014-09-21 11:02 UTC (permalink / raw) To: emacs-orgmode Achim Gratz writes: > Oleh writes: >> #+RESULTS: >> : >> : 3 > > Well, that would still be an empty line too many. But aside from that, > what I'm actually getting with a recent Emacs and inf-ruby is: > > #+RESULTS: > : > : irb(main):003:0> irb(main):004:0> irb(main):005:0> 3 > > So either comint-mode has developed some problem in the meantime or > there is some other configuration missing for this to work. I've worked around the strange comint behaviour by temporarily disabling all prompts. The empty line was triggered by an extra comint-send-input which I removed (and changed the test to follow suit). There's probably more such problems for other Babel languages that rely on comint for their session support. Both changes done on master in 4ef78e68c1. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptation for Waldorf microQ V2.22R2: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-09-21 11:37 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-10-21 11:15 [PATCH] ob-ruby.el fix for :session parameter Oleh 2013-10-21 17:42 ` Eric Schulte 2013-10-21 17:55 ` Oleh 2013-10-21 19:09 ` Eric Schulte 2014-09-20 21:54 ` Achim Gratz 2014-09-21 11:02 ` Achim Gratz
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).