diff options
| author | root <root@alpha.trunkmasters.com> | 2026-08-31 03:04:48 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-08-31 03:04:48 -0500 |
| commit | 8dd15182c470607a18f884956452d134ac91753a (patch) | |
| tree | b1d3dc36c14f22d6f88defa59666328381dbe0d9 /dev-lang | |
| parent | acb1593a8b3f287b06b8e2073eff6a70f02e2c4f (diff) | |
| download | baldeagleos-repo-8dd15182c470607a18f884956452d134ac91753a.tar.gz baldeagleos-repo-8dd15182c470607a18f884956452d134ac91753a.tar.xz baldeagleos-repo-8dd15182c470607a18f884956452d134ac91753a.zip | |
Adding metadata
Diffstat (limited to 'dev-lang')
| -rw-r--r-- | dev-lang/R/R-4.6.1.ebuild | 2 | ||||
| -rw-r--r-- | dev-lang/elixir/Manifest | 3 | ||||
| -rw-r--r-- | dev-lang/elixir/elixir-1.16.3-r2.ebuild | 43 | ||||
| -rw-r--r-- | dev-lang/elixir/elixir-1.17.3-r2.ebuild | 43 | ||||
| -rw-r--r-- | dev-lang/elixir/elixir-1.18.5.ebuild | 42 | ||||
| -rw-r--r-- | dev-lang/elixir/elixir-1.19.6.ebuild | 46 | ||||
| -rw-r--r-- | dev-lang/elixir/elixir-1.20.4.ebuild | 43 | ||||
| -rw-r--r-- | dev-lang/elixir/files/elixir-1.17.3-CVE-2026-75758-inspect-recursion.patch | 175 |
8 files changed, 396 insertions, 1 deletions
diff --git a/dev-lang/R/R-4.6.1.ebuild b/dev-lang/R/R-4.6.1.ebuild index 1fab12252881..070f6c015816 100644 --- a/dev-lang/R/R-4.6.1.ebuild +++ b/dev-lang/R/R-4.6.1.ebuild @@ -17,7 +17,7 @@ SRC_URI=" LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~hppa ~loong ~sparc ~x86 ~arm64-macos ~x64-macos" +KEYWORDS="amd64 arm64 ~hppa ~loong ~sparc ~x86 ~arm64-macos ~x64-macos" IUSE="cairo doc icu java jpeg +libdeflate lto minimal nls openmp perl png prefix profile readline test tiff tk X" REQUIRED_USE=" diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest index 8e79110e223d..2ee8c7278181 100644 --- a/dev-lang/elixir/Manifest +++ b/dev-lang/elixir/Manifest @@ -1,6 +1,9 @@ DIST elixir-1.16.3.tar.gz 3360376 BLAKE2B ac6cdc16f193560e18338bd3e45a4f88c7d4398969336062551477dfdafaab8ada60ae64c856647b36967205849427413938da87f746bd52d03d78e141ba5a03 SHA512 1511fb78bdcc50850cbf91007ed11c6a89e947d0a743c1e9ed30e1c93c1b47b5377fced17eeb66ac511d4f151d2e00ef2ecc6fb425d0d4afe2451be41a6ba6ee DIST elixir-1.17.3.tar.gz 3256595 BLAKE2B c016857f74d65de5afcef6d1284b76fc529a542e5cd0dded73701cbdad93f281529a545af1c5a905cb116a3028472703acfdc21ae070f9255bdfd6d5c09bf7a0 SHA512 084514d1362b52e85c0b4d92b8d18c6d2e9fddb4e4eaf4467f8b1c0985f9ceca1b74a0478581d91164935ae0f49610771860c674e080137e52aadc65b666911b DIST elixir-1.18.4.tar.gz 3397219 BLAKE2B 9c1052eaa3e17366c6f42296c1e9ae6cc9a6419dd9916d9badcdcf7f999d2e6cbbed840261f86e7d8bf3839d5a1d4bff9633aa87264d03bc08ca8c50fcb4afac SHA512 14030fbfaf7dcd88cf60d1cee52a6316e2298c8dcf7b41d758456c01e98f45499d8590beab3ac8683d613ddb17f9c92988c76081ab9f316b9c890c482a26c8eb +DIST elixir-1.18.5.tar.gz 3398558 BLAKE2B 277f0bf827892e64409e99d599431fbe98ada01ccb5b56e9c7e8d5c5ffa4260a932a5e4e73b1bc6366b9df40d9d766e5ee62f7568b853d41d0fae3c947487d7c SHA512 38101c32689fc7021d0b3e73331f8aacfb037c30edafa87eb28848699f414d3525d87a74c9173d6002354846e86cdfe71516066ea00da553418d294a26c8b1ee DIST elixir-1.19.5.tar.gz 3593898 BLAKE2B 86ca979ff6f698c581f864652fe8414c69e30d17295b3e20c5c625b75f213f7af77225c79e003c9ef6c74ad21b909942fdcc885977401d46a8a5a3b86765f355 SHA512 6bdc83490fb44daead69f86dee08f25a3c0c23bc46be6f62e3603777f3ffa6be4334904689782b0990640d50385dc90ec1d16cbfaf5691ec405ee2c88ff3c4ac +DIST elixir-1.19.6.tar.gz 3593459 BLAKE2B 296c7df14174d7893401cba8335ac6029ad45263ac680ba30d2032b7adfc32af5a3d25dd0de310a28a0406fe7bd3ea9f1a001dead0acc5a2551961b3146ee85f SHA512 fc1fcfe8833356c0c15e0e1eba73c56ce1f58f29cc12de1324c2f3567915ce1811226a334798ca6ec76a48c643de1c6a9aba765232035c3a9c77b60f5aaee3a2 DIST elixir-1.20.1.tar.gz 3675171 BLAKE2B b510522c34d1892dd34b452bf7e771c4a73b31280b42634422b7471aa44ff34432fc054a125b4258e1d365fb3080daa3d5461ab537aa993a3cd7ca6bdb555834 SHA512 7e4f4342f154f5c6bce80247a7ca66ed1b538df977183295c8350339ffd9173cc5be3fc8902d07bad27d4433a9b47b5345180eb9fe72e68ae87824da55a82012 DIST elixir-1.20.2.tar.gz 3678960 BLAKE2B 7373e2763526cbc6e4986a27c2ac8ce8b98cb0683a99d54227dc03dab847647f24ba4e4bbd546e87ab0155ae5b5fea53ec641ad55da1b834301582e7c05a32c4 SHA512 13c5d6df99e83ac675df1b68d7b6b7ec05bf63303674058e26e170ddc506c84f233abee2175d2d0e4d7bc27238cc7b576b02dd766bb3ac595ca368f566e145ae +DIST elixir-1.20.4.tar.gz 3685297 BLAKE2B 674f7967844d36b0831cb2e6ae3bfa6f296bf285db52c65fa6f818313d524a163c2ce9ee743064a759af5c38013caf224ec54e71f8925aa3fbf76f2ed70610f9 SHA512 df7d86214553e43a7bddfb8611a6ee68eb37511f17872ce2c14f796eca9846eaf875fb050f0faeef4fa42bd352e780b75ec0781a5d4aab3a4b6378dd067fa17b diff --git a/dev-lang/elixir/elixir-1.16.3-r2.ebuild b/dev-lang/elixir/elixir-1.16.3-r2.ebuild new file mode 100644 index 000000000000..75ff61c74908 --- /dev/null +++ b/dev-lang/elixir/elixir-1.16.3-r2.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Elixir programming language" +HOMEPAGE="https://elixir-lang.org" +SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 ErlPL-1.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~sparc ~x86" +IUSE="test" + +RESTRICT="!test? ( test )" + +# https://hexdocs.pm/elixir/compatibility-and-deprecations.html#between-elixir-and-erlang-otp +DEPEND=" + >=dev-lang/erlang-24:0=[ssl] + <dev-lang/erlang-27 +" +# 'mix' tool collides with sci-biology/phylip, bug #537514 +RDEPEND="${DEPEND} + !!sci-biology/phylip +" +DEPEND+=" + test? ( dev-vcs/git ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch + "${FILESDIR}"/${PN}-1.10.3-no-Q.patch + "${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch + "${FILESDIR}"/${PN}-1.18.4-Cap-width-in-strftime-to-1024-characters.patch + "${FILESDIR}"/${PN}-1.18.4-Limit-version-numbers-to-14-bytes.patch + "${FILESDIR}"/${PN}-1.18.4-Validate-paths-and-files-when-extracting-archives.patch + "${FILESDIR}"/${PN}-1.17.3-CVE-2026-75758-inspect-recursion.patch +) + +src_install() { + emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install + dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md +} diff --git a/dev-lang/elixir/elixir-1.17.3-r2.ebuild b/dev-lang/elixir/elixir-1.17.3-r2.ebuild new file mode 100644 index 000000000000..86502dcc48c1 --- /dev/null +++ b/dev-lang/elixir/elixir-1.17.3-r2.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Elixir programming language" +HOMEPAGE="https://elixir-lang.org" +SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 ErlPL-1.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~sparc ~x86" +IUSE="test" + +RESTRICT="!test? ( test )" + +# https://hexdocs.pm/elixir/compatibility-and-deprecations.html#between-elixir-and-erlang-otp +DEPEND=" + >=dev-lang/erlang-25:0=[ssl] + <dev-lang/erlang-28 +" +# 'mix' tool collides with sci-biology/phylip, bug #537514 +RDEPEND="${DEPEND} + !!sci-biology/phylip +" +DEPEND+=" + test? ( dev-vcs/git ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch + "${FILESDIR}"/${PN}-1.10.3-no-Q.patch + "${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch + "${FILESDIR}"/${PN}-1.18.4-Cap-width-in-strftime-to-1024-characters.patch + "${FILESDIR}"/${PN}-1.18.4-Limit-version-numbers-to-14-bytes.patch + "${FILESDIR}"/${PN}-1.18.4-Validate-paths-and-files-when-extracting-archives.patch + "${FILESDIR}"/${PN}-1.17.3-CVE-2026-75758-inspect-recursion.patch +) + +src_install() { + emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install + dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md +} diff --git a/dev-lang/elixir/elixir-1.18.5.ebuild b/dev-lang/elixir/elixir-1.18.5.ebuild new file mode 100644 index 000000000000..bec1145ea19e --- /dev/null +++ b/dev-lang/elixir/elixir-1.18.5.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Elixir programming language" +HOMEPAGE="https://elixir-lang.org" +SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 ErlPL-1.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~sparc ~x86" +IUSE="test" + +RESTRICT="!test? ( test )" + +# https://hexdocs.pm/elixir/compatibility-and-deprecations.html#between-elixir-and-erlang-otp +DEPEND=" + >=dev-lang/erlang-25:0=[ssl] + <dev-lang/erlang-29 +" +# 'mix' tool collides with sci-biology/phylip, bug #537514 +RDEPEND="${DEPEND} + !!sci-biology/phylip +" +DEPEND+=" + test? ( dev-vcs/git ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch + "${FILESDIR}"/${PN}-1.10.3-no-Q.patch + "${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch + "${FILESDIR}"/${PN}-1.18.4-Cap-width-in-strftime-to-1024-characters.patch + "${FILESDIR}"/${PN}-1.18.4-Limit-version-numbers-to-14-bytes.patch + "${FILESDIR}"/${PN}-1.18.4-Validate-paths-and-files-when-extracting-archives.patch +) + +src_install() { + emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install + dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md +} diff --git a/dev-lang/elixir/elixir-1.19.6.ebuild b/dev-lang/elixir/elixir-1.19.6.ebuild new file mode 100644 index 000000000000..22bedc01a7d7 --- /dev/null +++ b/dev-lang/elixir/elixir-1.19.6.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Elixir programming language" +HOMEPAGE="https://elixir-lang.org" +SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 ErlPL-1.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~sparc ~x86" +IUSE="test" + +RESTRICT="!test? ( test )" + +# https://hexdocs.pm/elixir/compatibility-and-deprecations.html#between-elixir-and-erlang-otp +DEPEND=" + >=dev-lang/erlang-26:0=[ssl] + <dev-lang/erlang-29 +" +# 'mix' tool collides with sci-biology/phylip, bug #537514 +RDEPEND="${DEPEND} + !!sci-biology/phylip +" +DEPEND+=" + test? ( dev-vcs/git ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch + "${FILESDIR}"/${PN}-1.10.3-no-Q.patch + "${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch + "${FILESDIR}"/${PN}-1.19.5-Cap-width-in-strftime-to-1024-characters.patch + "${FILESDIR}"/${PN}-1.19.5-Limit-version-numbers-to-14-bytes.patch + "${FILESDIR}"/${PN}-1.19.5-Validate-paths-and-files-when-extracting-archives.patch +) + +src_install() { + emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install + dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md +} + +# Note on tests: Needs to be ran with proper isolation when epmd is already running on the host, +# say with ebuild launched by root, or emerge +# See: https://github.com/elixir-lang/elixir/issues/14889#issuecomment-3539477959 diff --git a/dev-lang/elixir/elixir-1.20.4.ebuild b/dev-lang/elixir/elixir-1.20.4.ebuild new file mode 100644 index 000000000000..591ae0075e90 --- /dev/null +++ b/dev-lang/elixir/elixir-1.20.4.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +DESCRIPTION="Elixir programming language" +HOMEPAGE="https://elixir-lang.org" +SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 ErlPL-1.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~sparc ~x86" +IUSE="test" + +RESTRICT="!test? ( test )" + +# https://hexdocs.pm/elixir/compatibility-and-deprecations.html#between-elixir-and-erlang-otp +DEPEND=" + >=dev-lang/erlang-27:0=[ssl] + <dev-lang/erlang-30 +" +# 'mix' tool collides with sci-biology/phylip, bug #537514 +RDEPEND="${DEPEND} + !!sci-biology/phylip +" +DEPEND+=" + test? ( dev-vcs/git ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch + "${FILESDIR}"/${PN}-1.10.3-no-Q.patch + "${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch +) + +src_install() { + emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install + dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md +} + +# Note on tests: Needs to be ran with proper isolation when epmd is already running on the host, +# say with ebuild launched by root, or emerge +# See: https://github.com/elixir-lang/elixir/issues/14889#issuecomment-3539477959 diff --git a/dev-lang/elixir/files/elixir-1.17.3-CVE-2026-75758-inspect-recursion.patch b/dev-lang/elixir/files/elixir-1.17.3-CVE-2026-75758-inspect-recursion.patch new file mode 100644 index 000000000000..230afbb52aac --- /dev/null +++ b/dev-lang/elixir/files/elixir-1.17.3-CVE-2026-75758-inspect-recursion.patch @@ -0,0 +1,175 @@ +From 85338df6fc08facfda46b32f5abb3a914d73c7b9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jos=C3=A9=20Valim?= <jose.valim@gmail.com> +Date: Tue, 25 Aug 2026 11:27:54 +0200 +Subject: [PATCH] Fix recursion on charlist error path + +--- + lib/elixir/lib/inspect.ex | 30 ++++++++++++++++++++----- + lib/elixir/lib/inspect/algebra.ex | 4 ++-- + lib/elixir/lib/list.ex | 4 ++-- + lib/elixir/test/elixir/inspect_test.exs | 17 +++++++++++++- + lib/elixir/test/elixir/list_test.exs | 12 ++++++++++ + 5 files changed, 57 insertions(+), 10 deletions(-) + +diff --git a/lib/elixir/lib/inspect.ex b/lib/elixir/lib/inspect.ex +index 637bca8a6..d5b876fcf 100644 +--- a/lib/elixir/lib/inspect.ex ++++ b/lib/elixir/lib/inspect.ex +@@ -264,13 +264,20 @@ def inspect(term, opts) do + close = color("]", :list, opts) + + cond do +- lists == :as_charlists or (lists == :infer and List.ascii_printable?(term, printable_limit)) -> +- inspected = +- case Identifier.escape(IO.chardata_to_string(term), ?", printable_limit) do +- {escaped, ""} -> [?~, ?c, ?", escaped, ?"] +- {escaped, _} -> [?~, ?c, ?", escaped, ?", " ++ ..."] ++ (lists == :as_charlists and unicode_list?(term, printable_limit)) or ++ (lists == :infer and List.ascii_printable?(term, printable_limit)) -> ++ {split, tail} = ++ if is_integer(printable_limit) do ++ case Enum.split(term, printable_limit) do ++ {split, []} -> {split, []} ++ {split, _} -> {split, " ++ ..."} ++ end ++ else ++ {term, []} + end + ++ {escaped, _} = Identifier.escape(IO.chardata_to_string(split), ?") ++ inspected = [?~, ?c, ?", escaped, ?" | tail] + color(IO.iodata_to_binary(inspected), :charlist, opts) + + keyword?(term) -> +@@ -281,6 +288,19 @@ def inspect(term, opts) do + end + end + ++ defp unicode_list?(_, 0), do: true ++ ++ defp unicode_list?([char | rest], counter) ++ when char in 0..0xD7FF or char in 0xE000..0x10FFFF, ++ do: unicode_list?(rest, decrement(counter)) ++ ++ defp unicode_list?([], _counter), do: true ++ defp unicode_list?(_, _counter), do: false ++ ++ @compile {:inline, decrement: 1} ++ defp decrement(:infinity), do: :infinity ++ defp decrement(counter), do: counter - 1 ++ + @doc false + def keyword({key, value}, opts) do + key = color(Macro.inspect_atom(:key, key), :atom, opts) +diff --git a/lib/elixir/lib/inspect/algebra.ex b/lib/elixir/lib/inspect/algebra.ex +index 5e213b377..941aa5525 100644 +--- a/lib/elixir/lib/inspect/algebra.ex ++++ b/lib/elixir/lib/inspect/algebra.ex +@@ -17,8 +17,8 @@ defmodule Inspect.Opts do + is `:decimal` and if it is printable, otherwise in bit syntax. See + `String.printable?/1` to learn when a string is printable. + +- * `:charlists` - when `:as_charlists` all lists will be printed as charlists, +- non-printable elements will be escaped. ++ * `:charlists` - when `:as_charlists` all charlists will be printed as charlists, ++ non-printable code points will be escaped. Other lists will be printed as lists. + + When `:as_lists` all lists will be printed as lists. + +diff --git a/lib/elixir/lib/list.ex b/lib/elixir/lib/list.ex +index a8155deed..ea4a69abd 100644 +--- a/lib/elixir/lib/list.ex ++++ b/lib/elixir/lib/list.ex +@@ -1093,7 +1093,7 @@ def to_string(list) when is_list(list) do + + Please check the given list or call inspect/1 to get the list representation, got: + +- #{inspect(list)} ++ #{inspect(list, charlists: :as_lists)} + """ + else + result when is_binary(result) -> +@@ -1145,7 +1145,7 @@ def to_charlist(list) when is_list(list) do + + Please check the given list or call inspect/1 to get the list representation, got: + +- #{inspect(list)} ++ #{inspect(list, charlists: :as_lists)} + """ + else + result when is_list(result) -> +diff --git a/lib/elixir/test/elixir/inspect_test.exs b/lib/elixir/test/elixir/inspect_test.exs +index a8c12c36e..f90b69a2c 100644 +--- a/lib/elixir/test/elixir/inspect_test.exs ++++ b/lib/elixir/test/elixir/inspect_test.exs +@@ -276,10 +276,15 @@ test "printable" do + + test "printable limit" do + assert inspect(~c"hello world", printable_limit: 4) == ~s(~c"hell" ++ ...) ++ assert inspect(~c"hello", printable_limit: :infinity) == ~s(~c"hello") + # Non printable characters after the limit don't matter + assert inspect(~c"hello world" ++ [0], printable_limit: 4) == ~s(~c"hell" ++ ...) + # Non printable strings aren't affected by printable limit + assert inspect([0, 1, 2, 3, 4], printable_limit: 3) == ~s([0, 1, 2, 3, 4]) ++ # Ensure a non-printable value after limit does not crash ++ assert inspect(~c"hello world" ++ [nil], printable_limit: 4) == ~s(~c"hell" ++ ...) ++ # Ensure a non-printable value after default limit does not hang ++ assert String.ends_with?(inspect(List.duplicate(?a, 5000) ++ [nil]), "\" ++ ...") + end + + test "keyword" do +@@ -304,10 +309,20 @@ test "opt infer" do + assert inspect([0], charlists: :infer) == "[0]" + end + +- test "opt as strings" do ++ test "opt as charlists" do + assert inspect(~c"john" ++ [0] ++ ~c"doe", charlists: :as_charlists) == ~s(~c"john\\0doe") + assert inspect(~c"john", charlists: :as_charlists) == ~s(~c"john") + assert inspect([0], charlists: :as_charlists) == ~s(~c"\\0") ++ assert inspect([nil], charlists: :as_charlists) == "[nil]" ++ assert inspect([0xD800], charlists: :as_charlists) == "[55296]" ++ assert inspect([1_114_112], charlists: :as_charlists) == "[1114112]" ++ assert inspect([[?a]], charlists: :as_charlists) == ~s([~c"a"]) ++ ++ assert inspect([?a, ?b, ?c | nil], charlists: :as_charlists, printable_limit: 4) == ++ "[97, 98, 99 | nil]" ++ ++ assert inspect([?a, ?b, ?c | nil], charlists: :as_charlists, printable_limit: 3) == ++ ~s(~c"abc" ++ ...) + end + + test "opt as lists" do +diff --git a/lib/elixir/test/elixir/list_test.exs b/lib/elixir/test/elixir/list_test.exs +index ee02a072a..ec4725877 100644 +--- a/lib/elixir/test/elixir/list_test.exs ++++ b/lib/elixir/test/elixir/list_test.exs +@@ -309,6 +309,12 @@ test "to_string/1" do + assert_raise ArgumentError, ~r"cannot convert the given list to a string", fn -> + List.to_string([:a, :b]) + end ++ ++ invalid = List.duplicate(?a, 4096) ++ [nil] ++ ++ assert_raise ArgumentError, ~r/got:\n\n\[97, 97, .*\.\.\.\]\n\z/s, fn -> ++ List.to_string(invalid) ++ end + end + + test "to_charlist/1" do +@@ -327,6 +333,12 @@ test "to_charlist/1" do + assert_raise ArgumentError, ~r"cannot convert the given list to a charlist", fn -> + List.to_charlist([:a, :b]) + end ++ ++ invalid = List.duplicate(?a, 4096) ++ [nil] ++ ++ assert_raise ArgumentError, ~r/got:\n\n\[97, 97, .*\.\.\.\]\n\z/s, fn -> ++ List.to_charlist(invalid) ++ end + end + + describe "myers_difference/2" do +-- +2.52.0 + |
