1
0
mirror of https://github.com/php/php-src.git synced 2026-04-22 15:38:49 +02:00
Commit Graph

709 Commits

Author SHA1 Message Date
David Carlier d9e72bcdab Merge branch 'PHP-8.2' into PHP-8.3 2023-09-23 20:12:56 +01:00
David Carlier 36f78862c8 Merge branch 'PHP-8.1' into PHP-8.2 2023-09-23 20:12:41 +01:00
David Carlier a80db7b52a Fix GH-12282: IntlDateFormatter::construct should throw an exception is the locale field has an invalid value.
Close GH-12282
2023-09-23 20:12:13 +01:00
David Carlier 35a502f168 Merge branch 'PHP-8.2' into PHP-8.3 2023-09-21 05:35:48 +01:00
David Carlier 63150dc2b1 Merge branch 'PHP-8.1' into PHP-8.2 2023-09-21 05:35:04 +01:00
David Carlier 84c4336aa3 Fix GH-12243, segfault on IntlDateFormatter::construct with dateType set to UDAT_PATTERN but not timeType.
udat_open expects its timeStyle's argument to be set to UDAT_PATTERN
 when dateStyle is, regardless if there an actual pattern or not.

Close GH-12245
2023-09-21 05:34:49 +01:00
George Peter Banyard b17958e7be Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fixed bug GH-12020: intl_get_error_message() broken after MessageFormatter::formatMessage() fails
2023-09-03 01:04:59 +01:00
George Peter Banyard fa0953f49d Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fixed bug GH-12020: intl_get_error_message() broken after MessageFormatter::formatMessage() fails
2023-09-03 01:04:06 +01:00
George Peter Banyard a579fa807c Fixed bug GH-12020: intl_get_error_message() broken after MessageFormatter::formatMessage() fails
Passing NULL as the pointer to intl_error* will use the global error stack.
This is what we need to do instead of pushing it onto the temporary format object that is released.
2023-09-03 01:02:46 +01:00
Ilija Tovilo 585bdf2992 Merge branch 'PHP-8.2'
* PHP-8.2:
  Replace xfail with skipif in calendar_clear_variation1.phpt
2023-07-27 12:30:34 +02:00
Ilija Tovilo 5d90c5057d Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Replace xfail with skipif in calendar_clear_variation1.phpt
2023-07-27 12:30:27 +02:00
Ilija Tovilo 6b6a5cd28e Replace xfail with skipif in calendar_clear_variation1.phpt
Fixes GH-11128
Closes GH-11801
2023-07-27 12:29:49 +02:00
Máté Kocsis 1486f52a12 Implement IntlGregorianCalendar::createFromDate() and IntlGregorianCalendar::createFromDateTime() 2023-07-18 12:59:21 +02:00
Máté Kocsis f236eb83b4 Add IntlCalendar::setDate() and IntlCalendar::setDateTime() 2023-07-18 12:59:21 +02:00
George Peter Banyard d65251e6e8 Deprecate NumberFormater::TYPE_CURRENCY constant 2023-07-17 05:01:13 +01:00
George Peter Banyard 2aaa7997a2 Merge branch 'PHP-8.2'
* PHP-8.2:
  ext/intl: Fix memory leak in MessageFormatter::format()
2023-07-12 15:45:24 +01:00
George Peter Banyard 1e41b0f1a5 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  ext/intl: Fix memory leak in MessageFormatter::format()
2023-07-12 15:44:41 +01:00
George Peter Banyard 536dbd74fa ext/intl: Fix memory leak in MessageFormatter::format()
Closes GH-11658
2023-07-12 15:43:45 +01:00
Ilija Tovilo f35e1d517f Merge branch 'PHP-8.2'
* PHP-8.2:
  [skip ci] XFAIL intl IntlCalendar::clear() test that may fail with ICU 73
2023-06-25 13:27:57 +02:00
Ilija Tovilo 776a685aed Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] XFAIL intl IntlCalendar::clear() test that may fail with ICU 73
2023-06-25 13:27:50 +02:00
Ilija Tovilo 8ec5a10916 [skip ci] XFAIL intl IntlCalendar::clear() test that may fail with ICU 73 2023-06-25 13:27:38 +02:00
David Carlier 45677081fa ext/intl: dateformatter settimezone changes on success, returning true like setcalendar.
Closes GH-10790
2023-03-09 21:45:26 +00:00
David Carlier 1eb14ee291 Merge branch 'PHP-8.2' 2023-02-21 21:03:51 +00:00
David Carlier bb16c2e90f Merge branch 'PHP-8.1' into PHP-8.2 2023-02-21 21:03:28 +00:00
NathanFreeman 0a466e7ad8 Fix GH-10647: Spoofchecker isSuspicious/areConfusable methods
error code's argument.

Closes GH-10653.
2023-02-21 21:00:49 +00:00
Derick Rethans b7860cd564 Implement More Appropriate Date/Time Exceptions RFC 2023-02-08 10:27:33 +00:00
Christoph M. Becker 435dc5ef1c Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Adapt ext/intl tests for ICU 72.1
2023-01-09 14:09:43 +01:00
Christoph M. Becker a9e7b90cc2 Adapt ext/intl tests for ICU 72.1
This version replaces SPACEs before the meridian with NARROW NO-BREAK
SPACEs.  Thus, we split the affected test cases as usual.

(cherry picked from commit 8dd51b462d)

Fixes GH-10262.
2023-01-09 14:08:40 +01:00
David Carlier 3fb7198034 intl extension, follow up on #10006 for numfmt_set_pattern
Closes GH-10073.
2022-12-12 19:54:13 +00:00
David Carlier 6422cf6f1a intl extension: msgfmt_set_pattern add pattern format error informations. 2022-12-09 17:10:51 +00:00
Christoph M. Becker 8dd51b462d Adapt ext/intl tests for ICU 72.1
This version replaces SPACEs before the meridian with NARROW NO-BREAK
SPACEs.  Thus, we split the affected test cases as usual.

Fixes GH-9799.
Closes GH-9800.
2022-10-22 10:31:50 +02:00
George Peter Banyard bacbfb81ab Merge branch 'PHP-8.1' into PHP-8.2 2022-09-13 12:50:38 +01:00
George Peter Banyard 71e198be25 Merge branch 'PHP-8.0' into PHP-8.1 2022-09-13 12:45:42 +01:00
George Peter Banyard 47500f3300 Fix GH-9421 Incorrect argument number for ValueError in NumberFormatter
Closes GH-9489
2022-09-13 12:42:58 +01:00
Christoph M. Becker ac9cbb7174 Merge branch 'PHP-8.1'
* PHP-8.1:
  Correct IntlDateFormatter::formatObject params
2022-08-15 18:10:54 +02:00
Christoph M. Becker 306da80f56 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Correct IntlDateFormatter::formatObject params
2022-08-15 17:58:52 +02:00
Gert de Pagter 05ed47ef12 Correct IntlDateFormatter::formatObject params
Closes GH-9341.
2022-08-15 17:56:34 +02:00
Nicolas Grekas dd9f47758e Declare Transliterator::$id as readonly to unlock subclassing it
Closes GH-9167.
2022-08-01 10:46:57 +02:00
Ilija Tovilo 44cd74b624 Fix lineno in backtrace of multi-line function calls
Closes GH-8810
Closes GH-8818
2022-06-23 16:10:32 +02:00
Derick Rethans 6770158d47 Only warn when an incorrect timezone is set through 'date.timezone' 2022-06-02 09:24:13 +01:00
Derick Rethans e0d21297fe Update wording of warning message, and reinstate 'UTC' fallback for ctor 2022-06-02 09:24:13 +01:00
Derick Rethans e59bb88b7f Merge branch 'PHP-8.1' 2022-05-27 14:29:03 +01:00
Derick Rethans 4f32983fbe Merge branch 'PHP-8.0' into PHP-8.1 2022-05-27 14:27:29 +01:00
Derick Rethans 63a31f3377 Remove trailing whitespace from test 2022-05-27 10:55:40 +01:00
Derick Rethans 8d6a828192 Mark test as XFAIL due to wrong assumptions 2022-05-27 10:55:30 +01:00
Christoph M. Becker 19273ffe74 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix GH-8364: msgfmt_format $values may not support references
2022-04-24 12:46:07 +02:00
Christoph M. Becker 1c0dc2a6c9 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix GH-8364: msgfmt_format $values may not support references
2022-04-24 12:45:22 +02:00
Christoph M. Becker f5d9e7c031 Fix GH-8364: msgfmt_format $values may not support references
We need to deref any references passed in the `$values` array.  While
we could handle this in the type switch, doing it right away in the
foreach loop makes that more explicit, and also circumvents the missing
range checks for integers which are not passed as int or double.

Closes GH-8407.
2022-04-24 12:43:08 +02:00
Marco Pivetta 25cb9cdb79 Fix GH-8232 - always reference classes in var_export() via their FQCN
Closes GH-8233

This fix corrects a behavior of `var_export()` that was mostly "hidden" until PHP 8.1 introduced:

* properties with object initializers
* constants containing object references
* default values of class properties containing `enum`s

Since `var_export(..., true)` is mostly used in conjunction with code generation,
and we cannot make assumptions about the generated code being placed in the root
namespace, we must always provide the FQCN of a class in exported code.

For example:

```php
<?php

namespace MyNamespace { class Foo {} }

namespace { echo "<?php\n\nnamespace Example;\n\n" . var_export(new \MyNamespace\Foo(), true) . ';'; }
```

produces:

```php
<?php

namespace Example;

MyNamespace\Foo::__set_state(array(
));
```

This code snippet is invalid, because `Example\MyNamespace\Foo::__set_state()` (which
does not exist) is called.

With this patch applied, the code looks like following (valid):

```php
<?php

namespace Example;

\MyNamespace\Foo::__set_state(array(
));
```

Ref: https://github.com/php/php-src/issues/8232
Ref: https://github.com/Ocramius/ProxyManager/issues/754
Ref: https://externals.io/message/117466
2022-04-23 11:06:21 +02:00
Ilija Tovilo 20fe5e4162 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix IntlPartsIterator key off-by-one error
2022-03-25 13:13:26 +01:00