emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Ihor Radchenko <yantar92@posteo.net>
To: Hunter Jozwiak <hunter.t.joz@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Connecting to an Already  Running Scheme REPL with org-babel
Date: Tue, 30 Jan 2024 11:54:48 +0000	[thread overview]
Message-ID: <87v87b829j.fsf@localhost> (raw)
In-Reply-To: <87zfwojbsn.fsf@gmail.com>

Hunter Jozwiak <hunter.t.joz@gmail.com> writes:

>>> +             (host (cdr (assq :host params)))
>>> +             (port (cdr (assq :port params)))
>>
>> Please declare these new scheme-specific header argument in
>> `org-babel-header-args:scheme'.
>> See `org-babel-header-args:C' for an example.
>> This is necessary for header argument completion to work.

> Okay. Is there a way to tighten these inputs further? I have them set to
> :any for the moment, but I wonder if there is a way to leverage the
> values for `geiser-repl-default-host` and `geiser-repl-default-port`.

Org-mode currently does not provide completion for header argument
values. (see `pcomplete/org-mode/block-option/src')

If Org were to support such completion, you could theoretically allow
special values for :host/:port like default:

#+begin_src scheme :host default :port default
...
#+end_src

to use `geiser-repl-default-host'/`...-port'.

Then, you could add these values as (default :any).

>>> -	       (and (not (string= session "none")) session)))) ; session
>>> +	       (and (not (string= session "none")) session)  host port))) ; session
>>
>> This does not look right. Your change will disable session support
>> completely when host and port are not provided.
> Is there a way to test this and pinpoint the problem?

Hmm. I just realized that I am reading that line wrongly - host and port
are additional arguments passed to
`org-babel-scheme-execute-with-geiser', not a part of
(and (not ...) host port)

So, my only comment remaining is to put each argument in its own line,
like it is done for all the previous arguments:

(org-babel-scheme-execute-with-geiser
	       full-body		       ; code
	       (string= result-type "output")  ; output?
	       impl			       ; implementation
	       (and (not (string= session "none")) session) ; session
               host ; repl host name
               port) ; repl port

That will make the code more readable.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


  reply	other threads:[~2024-01-30 11:52 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-28 22:17 Connecting to an Already Running Scheme REPL with org-babel Hunter Jozwiak
2024-01-28 22:45 ` Ihor Radchenko
2024-01-29  3:08   ` Hunter Jozwiak
2024-01-29 13:19     ` Ihor Radchenko
2024-01-29 17:21       ` Hunter Jozwiak
2024-01-30 11:54         ` Ihor Radchenko [this message]
2024-01-30 15:18           ` Hunter Jozwiak
2024-01-30 15:46             ` Ihor Radchenko
2024-01-29 19:10       ` Hunter Jozwiak
2024-01-30 15:47         ` Ihor Radchenko

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=87v87b829j.fsf@localhost \
    --to=yantar92@posteo.net \
    --cc=emacs-orgmode@gnu.org \
    --cc=hunter.t.joz@gmail.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).