Bug #81649 [Opn->Csd]: imap_(un)delete accept sequences, not single numbers

From: Date: Thu, 25 Nov 2021 17:33:51 +0000
Subject: Bug #81649 [Opn->Csd]: imap_(un)delete accept sequences, not single numbers
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-237981@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=81649&edit=1

 ID:                 81649
 Updated by:         git@php.net
 Reported by:        valeri dot geiser at km-logistik-service dot de
 Summary:            imap_(un)delete accept sequences, not single numbers
-Status:             Open
+Status:             Closed
 Type:               Bug
 Package:            IMAP related
 Operating System:   Debian GNU/Linux
 PHP Version:        7.4.26
 Block user comment: N
 Private report:     N

 New Comment:

Automatic comment on behalf of cmb69
Revision: https://github.com/php/php-src/commit/179030d167937b8ae5957839c655e37482143469
Log: Fix #81649: imap_(un)delete accept sequences, not single numbers


Previous Comments:
------------------------------------------------------------------------
[2021-11-24 16:05:36] cmb@php.net

The following pull request has been associated:

Patch Name: Fix #81694: imap_(un)delete accept sequences, not single numbers
On GitHub:  https://github.com/php/php-src/pull/7686
Patch:      https://github.com/php/php-src/pull/7686.patch

------------------------------------------------------------------------
[2021-11-23 06:47:01] valeri dot geiser at km-logistik-service dot de

Imho, the bc break is neglectable, since named parameters are a relatively new feature and I cannot
imagine that it is used that much yet. Also, I cannot imagine that the imap_* - functions are used
in that many projects that already change to only support php8 (which has named parameters). In
reality, these projects can only start to use this once only 8+ is supported.
Bottomline: The advantage of cleaning up the inconsitency is much higher than the possibility of bc
breaks. my 2 cents :)

------------------------------------------------------------------------
[2021-11-22 16:08:30] cmb@php.net

> […] i.e. it should be string $message_nums as in imap_mail_copy […]

Sounds right (modulo the BC break).

Anyhow, the docs have been fixed:
<https://github.com/php/doc-en/commit/620dfaa2440aeb9324ff34fa7b162eb7d64ae6b9>.

------------------------------------------------------------------------
[2021-11-22 15:05:48] valeri dot geiser at km-logistik-service dot de

Then it should be consistent with the other ones that take sequences, i.e. it should be string
$message_nums
as in imap_mail_copy and all(?) other functions that use sequences.

------------------------------------------------------------------------
[2021-11-22 14:36:36] cmb@php.net

Contrary to the other functions, imap_delete() and imap_undelete()
actually accept a *sequence*, and from lib-cclient's internal.txt[1]:

| [Note!!  There is an important difference between a "sequence" and a
|  "msgno".  A sequence is a string representing one or more messages in
|  IMAP4-style sequence format ("n", "n:m", or combination of these
|  delimited by commas), whereas a msgno is an int representing a single
|  message.]

So we cannot change the types, but may consider to change the
parameter names (although that would be a BC break wrt. named
parameters).  But in any way, we should fix the docs.

[1] <https://github.com/winlibs/imap/blob/imap-2007f/docs/internal.txt#L1255-L1259>

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=81649


--
Edit this bug report at https://bugs.php.net/bug.php?id=81649&edit=1


Thread (7 messages)

« previous php.bugs (#237981) next »