Hi Max, On 2023-02-26 at 02:11 -08, Max Nikulin <maniku...@gmail.com> wrote: > As to `org-babel-screen-test' perhaps the issue is additional newline > added after random number. I have not tried stepping through the > function in debugger though.
I haven't either. I'll see if I can figure out the issue with the help of the debugger. > It seems top level headings were separated by single empty line. Fixed. > ;; Reuse the variable assignment code from ob-shell >> +(defalias 'org-babel-variable-assignments:screen >> + 'org-babel-variable-assignments:shell) > > Have you tried to compile using make? I expect a warning due to missed > (require 'ob-shell). Make did not complain about this, but did suggest mapcar -> mapc. > P.S. My expectations based on the package name were that ob-screen is > intended for running commands on remote hosts. That too. But I also find it useful for running long commands on localhost without worrying about :async in emacs. Another nice thing here is that this is, by default, session-based, and can be accessed outside of Org, while Bash blocks don't always play nice with sessions. I can, for example and all in Org Babel, spawn a screen session, ssh to a remote host, and then inject :var into the remote session. I find this quite powerful, and I haven't figured out how to do it with =BEGIN_SRC bash= or =BEGIN_SRC shell= blocks. > Reading the code I noticed a couple of issues that may be fixed when > you will decide to touch this file next time: - > `org-babel-screen-session-socketname' does not respect > `org-babel-screen-location' - `string-match' is used where it may be > replaced by `string-match-p' since match data is not used. Both fixed. Should these be separate patches (3 total), or two - one for the new feature, and one 'cleanup'? > I noticed that ob-core besides org-babel-default-header-args:LANG uses > org-babel-header-args:LANG. The latter is not defined in ob-screen, > however I am unsure concerning its effect (completion?). I don't understand this either. -k.