Zelphir Kaltstahl <zelphirkaltst...@posteo.de> writes: > I've created a patch, which I will attach to this e-mail.
Thanks! > Not sure it meets all formalities. For example it is not clear to me, whether > I > should add the "TINYCHANGE" at the bottom of my commit message. You should, unless you have FSF copyright assignment. > Let me know, if this an OK patch or what else needs to be done or what format > is > wrong, if any. See my (minor) comments below. > -- > repositories: https://notabug.org/ZelphirKaltstahl > From 51b299aa18e882681dd681acb51c9cb1b44f3b4e Mon Sep 17 00:00:00 2001 > From: Zelphir Kaltstahl <zelphirkaltst...@posteo.de> > Date: Sat, 18 Mar 2023 16:06:05 +0100 > Subject: [PATCH] lisp/ob-scheme.el: Please provide a short commit summary, not just the changed file. See how we do it in https://git.savannah.gnu.org/cgit/emacs/org-mode.git/log/ > Wrapping binding definitions using `let' can lead to issues with GNU > Guile and potentially other Scheme dialects. GNU Guile will only get > to the body of the let at evaluation time, not at macro expansion > time. If the let form wraps any imports of libraries that define > macros, then those imported macros are seen too late and their > corresponding forms inside the body of the let are not > expanded. Using `define' to define bindings avoids this problem, at > least in GNU Guile. Please use double space between sentences. Also, it would be helpful to provide a link to this thread for more context. (The aim of commit message is a note for future contributors on the reason the change was made). > +(defun org-babel-expand-header-arg-vars:scheme (vars) Please use org-babel-scheme-... function name. It is the usual Elisp convention to prefix the functions as library-name-inner-function-name. The exception in org-babel is a set of special functions that must have certain name pattern. Expanding header args is not one of those special functions. > + "Expand :var header arguments given as VARS." > + (mapconcat > + (lambda (var) > + (format "(define %s %S)" (car var) (cdr var))) Is there any reason why you use %s for variable name? Previously it was formatted with escapes (using %S). Also, previous version quoted the variable value with "'". Why didn't you do it here? > + (concat (org-babel-expand-header-arg-vars:scheme vars) body)) `mapconcat' you used in `org-babel-expand-header-arg-vars:scheme' does not add trailing newline, unlike done previously. -- 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>