Subject: bug#46299: 28.0.50; Value of tab-bar-show not respected in new frames.

From: Juri Linkov <[email-masked]>
Date: Wed, 10 Feb 2021 20:20:56 +0200

>>  > +  "Update frame parameter tab-bar-line.
>>  > +When the optional frame parameter is omitted all frames as well
>>  > +as the default for new frames are updated. Otherwise only the
>>  > +given frame is modified."
>>
>> This is confusing wrt our parameter/argument terminology.  Please just
>> say "FRAME" wherever it stands for the function's argument and use
>> "parameter of FRAME" when you talk about the frame parameter.
>
> I'll do my best to update the docstring. Note that I do not contribute
> to emacs often, nor do I regularly code in elisp, so I'm not familiar
> with the conventions and you are encouraged to modify my changes as
> you see fit.

I don't know if Martin will agree, but most frame functions
interpret their optional FRAME argument in such a way that
if it's nil or omitted, FRAME defaults to the selected frame.

For example, 'set-frame-font' documents this:

  If FRAMES is nil, apply the font to the selected frame only.
  If FRAMES is non-nil, it should be a list of frames to act upon,
  or t meaning all existing graphical frames.

and uses such implementation:

   (let ((frame-lst (cond ((null frames)
                           (list (selected-frame)))
                          ((eq frames t)
                           (frame-list))
                          (t frames))))
      (dolist (f frame-lst)