[ Sorry for the long delay. ] Could you remind me of the purpose of this change? Was it only to add a `separator' argument to ewoc? While, I'm here I noticed that your code did not follow our indentation and layout conventions, so I've fixed that in the attached patch (where I also replaced the ewoc-provides-variable-separator with a subfeature). Finally, regarding this comment: ;; A start-marker's insertion-type should already be `t', but some ;; callers want to be 100% sure it is, so this function exists. is it the case that it would be a bug if the insertion-type was changed to nil, or are there legitimate cases where the insertion-type is changed to nil (and if so, which are these)? I ask because if there's no legitimate case, then we should just `assert' it. Stefan >>>>> "Tom" == Tom Breton (Tehom) writes: >> Keep only `separator', but with the added twist that a non-string, >> non-nil argument means the empty string (aka mean "nosep"). That should >> preserve backward compatibility with a mostly clean API. > Done. >> I think you're worrying for no good reason. If you really want to >> handle version dependencies right, you don't want it in a Lisp variable >> but in a header understood and processed by some package manager (ELPA, >> for instace). Otherwise, you'll have to deal (one way or another) with >> runtime checks, and in most cases the calling package will simply not >> work with an older version. > Yes, I have to deal with runtime checks. > Anyways, I have replaced the version variable with a variable called > `ewoc-provides-variable-separator' that is bound just if ewoc provides > a variable separator. I hope that will satisfy. > Attached is > * new ewoc patch against 23.1 > * test file > Thank you for your help, Stefan. > Tom Breton (Tehom)