Hi,

I’m on Emacs 29.4 and Org 9.7-pre (`org-git-version`:
`release_9.6.28-1418-g288e0a`).

I noticed many `org-babel-default-header-args:*` variables are plain
`defvar`s (e.g., `org-babel-default-header-args:sh`), while some related
Babel settings are `defcustom`s with explicit types.

Because these are `defvar`s, Customize has no declared `custom-type` and
uses type guessing in `cus-edit.el` (`custom-variable-type` /
`custom-guess-type`). For `org-babel-default-header-args:sh`, using
Customize’s `Toggle` can set the value to `t` instead of an alist, and then
tangling fails with:

```text
wrong-type-argument listp t
org-babel-merge-params(... t ...)
```

Would it make sense to define `org-babel-default-header-args:*` as
`defcustom` with an explicit alist type (similar in spirit to typed Babel
vars like `org-babel-tangle-lang-exts`), so Customize does not present
boolean-style toggle behavior here?

Thanks,
Matthew

Reply via email to