>> I don't understand the above call to `make-terminal-frame': does it
>> create a new frame, or just a new tab? If the first, then I don't
>> understand how it works, and if the second, it's wrong because adding
>> a tab should have nothing to do with frame creation.
> The fact that make-tab calls directly make-terminal-frame is just a legacy
> of the old code, when a tab used to be just a frame.
So it will need to change. But does `make-tab' create a new tab or
a tabbar? If a tab, then I don't understand any more why the init-code
is needed.
I did not insert :initcode inside the tab, because I should have written more C code. I should add the :initcode after the (make-terminal-frame '(tab . t)), or I should have written code to commute temporarly to a tab without activating it.
This is why I executed the :initcode before calling (make-terminal-frame.... )
In my case the :initcode should be
;; save curent win config
(setq sym (make-symbol "winconfig"))
(set sym (current-window-configuration))
My actual C code does not allow me to insert :initcode as parameter to (make-terminal-frame (tab . t)), and this is why I created make-tab and separated the :initcode.
I come into a vicious circle if I pass :initcode to make-terminal frame, and I did not want to write more C code before to clarify with other emacs developers how tabs should look like.