unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@linkov.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 51247@debbugs.gnu.org
Subject: bug#51247: 28.0.60; Insufficient documentation of tab-bar.el internal functions
Date: Sun, 17 Oct 2021 20:17:43 +0300	[thread overview]
Message-ID: <87y26ry3vs.fsf@mail.linkov.net> (raw)
In-Reply-To: <831r4kghcu.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 17 Oct 2021 11:56:01 +0300")

> Some functions in tab-bar.el and the data they return are documented
> insufficiently, so much so that it makes the code there very hard to
> develop and maintain by anyone except the original author.  Internal
> functions and data strictures don't need to have doc strings, but they
> do have to be explained enough for anyone to understand and modify the
> code without the need to step through it with a debugger.

It was on my TODO list to add docstrings to new functions
after their names and a list of arguments stabilizes.
For example, there was a need to rename some functions now in bug#51246.

> I show below the places where IMO the lack of proper documentation is
> particularly evident, or where the documentation is insufficient or
> inaccurate.  Please fill at least those gaps; bonus points for
> documenting more than this bare minimum.

I fixed all places that you noticed (please check), except the following:

>   (defun tab-bar-format-tabs-groups ()
>     "Show tabs with their groups."
>
> The doc string says "show", but this functions doesn't display
> anything, AFAICT, it produces a list.  Please adjust the doc string
> and add a description of the returned value.

This docstring is automatically displayed in the Customization buffer
of `tab-bar-format' that looks like this:

  Hide Tab Bar Format:
  Hook:
  [ ] tab-bar-format-menu-global
          Show global menu on clicking the Menu button.
  [X] tab-bar-format-history
          Show back and forward buttons when ‘tab-bar-history-mode’ is enabled. More
  [ ] tab-bar-format-tabs
          Show all tabs.
  [X] tab-bar-format-tabs-groups
          Show tabs with their groups.
  [ ] tab-bar-separator
          Separator between tabs.
  [ ] tab-bar-format-add-tab
          Button to add a new tab.
  [X] tab-bar-format-align-right
          Align the rest of tab bar items to the right.
  [X] tab-bar-format-global
          Format ‘global-mode-string’ to display it in the tab bar. More
  [INS]

So here its docstring explains what this option is useful for.

>   (defun switch-to-buffer-other-tab (buffer-or-name &optional norecord)
>     "Switch to buffer BUFFER-OR-NAME in another tab.
>   Like \\[switch-to-buffer-other-frame] (which see), but creates a new tab.
>   Interactively, prompt for the buffer to switch to."
>
> This command should document the NORECORD argument.

Oops, this was copy/paste from switch-to-buffer, switch-to-buffer-other-window,
switch-to-buffer-other-frame that all just pass NORECORD down to 'pop-to-buffer'.
But switch-to-buffer-other-tab doesn't use 'pop-to-buffer'.  It uses 'display-buffer'
that has no NORECORD arg.  So this arg should be obsoleted, or maybe deleted right away.





  reply	other threads:[~2021-10-17 17:17 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-17  8:56 bug#51247: 28.0.60; Insufficient documentation of tab-bar.el internal functions Eli Zaretskii
2021-10-17 17:17 ` Juri Linkov [this message]
2021-10-17 18:04   ` Eli Zaretskii
2021-10-17 18:29     ` Juri Linkov
2021-10-17 19:13       ` Eli Zaretskii
2021-10-17 19:27         ` Juri Linkov
2021-10-17 19:38           ` Eli Zaretskii
2021-10-17 19:48             ` Juri Linkov
2021-10-18 11:38               ` Eli Zaretskii
2021-10-18 15:53                 ` Juri Linkov
2021-10-18 16:36                   ` Eli Zaretskii
2021-10-18 16:44                     ` Juri Linkov
2021-10-18 16:53                       ` Eli Zaretskii
2021-10-18 17:01                         ` Juri Linkov
2021-10-18 17:01                         ` Eli Zaretskii
2021-10-18 17:02                           ` Juri Linkov
2021-10-18 17:15                             ` Eli Zaretskii
2021-10-18 17:21                               ` Juri Linkov
2021-10-18 17:32                                 ` Eli Zaretskii
2021-10-19  6:49                                   ` Juri Linkov
2021-10-19 12:08                                     ` Eli Zaretskii
2021-10-19 19:09                                       ` Juri Linkov
2021-10-20 11:35                                         ` Eli Zaretskii
2021-10-20 16:50                                           ` Juri Linkov
2021-10-21 11:05                                             ` Eli Zaretskii
2021-10-21 16:43                                               ` Juri Linkov
2021-10-21 17:12                                                 ` Eli Zaretskii
2021-10-21 17:27                                                   ` Juri Linkov
2021-10-21 17:41                                                     ` Eli Zaretskii
2021-10-21 17:48                                                       ` Juri Linkov
2021-10-21 18:10                                                         ` Eli Zaretskii
2021-10-18  8:21 ` martin rudalics
2021-10-18 14:14   ` Eli Zaretskii
2021-10-18 17:43     ` martin rudalics
2021-10-18 18:23       ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y26ry3vs.fsf@mail.linkov.net \
    --to=juri@linkov.net \
    --cc=51247@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).