sort by:
Revision Author Date Message Commit Date
02e50ed started some concurrency work 31 October 2023, 20:31:25 UTC
542b8a2 3-color marking 31 October 2023, 20:31:25 UTC
2b73a1d clarify assert doc entry (#45998) Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> 31 October 2023, 20:27:20 UTC
301f262 Add a doctest for timedwait (#49686) Co-authored-by: Jameson Nash <vtjnash@gmail.com> 31 October 2023, 20:26:14 UTC
f631597 minor cleanups to MemoryRef (#51937) 31 October 2023, 17:10:55 UTC
69a4ecb IO: fix API safety issue for Ptr (#51949) Align the API for Ref with the new definition for AbstractArray (#49769) and ensure this API does not accept raw Ptr as input. Refs #42593 31 October 2023, 17:09:38 UTC
5ae88f5 improve `Union` docs as discused in discourse (#45109) Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> Co-authored-by: Jameson Nash <vtjnash@gmail.com> 31 October 2023, 13:02:17 UTC
2253cdf Some extended documentation for `Core.Compiler.return_type` usage as `promote_op` (#44340) Co-authored-by: Jameson Nash <vtjnash@gmail.com> 31 October 2023, 13:01:28 UTC
0887a33 Docs: file: list `read` and `write` again (#49838) Point 5 of https://github.com/JuliaLang/julia/issues/43428 Motivation: I feel like the most fundamental *file* operations in Julia are `read(filename::String)` and `write(filename::String, content)`, so it makes sense to repeat their documentation in the **Filesystem** documentation. I also see these methods as fundamental to teach beginners. Like https://github.com/JuliaLang/julia/pull/49837, the goal is to only show short docstrings for these methods, not the whole `IOStream` functionality. So it depends on https://github.com/JuliaLang/julia/pull/49835 and https://github.com/JuliaLang/julia/pull/49836 to be useful :) 31 October 2023, 11:53:10 UTC
5b34cdf remove chmodding the pkgimages (#51885) This shouldn't be needed because `ldd` should do it itself. 31 October 2023, 11:19:12 UTC
9075731 fixup to #51743, timetype subtraction (#51881) Restores the method whose removal was probably causing problems. 31 October 2023, 11:18:35 UTC
6084a62 Adds information to redirect_std* inline docs (#49563) Partially addresses issue #35959 Adds examples for redirecting std to a file to the markdown file --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 31 October 2023, 08:57:23 UTC
b9dcb94 doc: rename `sparam_syms` to `slot_syms` (#45876) `sparam_syms` was removed in https://github.com/JuliaLang/julia/pull/31015. --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> 31 October 2023, 08:55:35 UTC
4ce1c81 relocation: a fix for `@depot` tag inserting and extra tests (#51920) #51892 caused depots to be skipped when inserting the `@depot` tags, because it assumed that `isdirpath(path) == false` means that `path` is not a directory. This is fixed here while preserving the path normalization introduced there. Furthermore, this adds tests as requested here https://github.com/JuliaLang/julia/pull/51892#issuecomment-1781754004 31 October 2023, 08:53:50 UTC
aeb4e7d Comment on `include` pattern in Julia vs. Python (#41227) Co-authored-by: Jameson Nash <vtjnash@gmail.com> 31 October 2023, 03:26:40 UTC
3f77e1e delay instantiation of `const_results` (#51925) Makes `abstract_call_gf_by_type` more memory efficient. 31 October 2023, 01:32:28 UTC
a9509be updated Doc string in Base.Generator (#35261) 31 October 2023, 00:46:24 UTC
85ed34c Document the kind of indices returned by `findmin`/`findmax`/`argmin`/`argmax` (#46705) This is the sentence used for `find*` functions, introduced by #25577. Also change "the domain of `f`" to "`domain`" as the domain of `f` can be a superset of the passed `domain`. (Spotted at https://github.com/JuliaData/DataFrames.jl/issues/3139.) --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Lilith Orion Hafner <lilithhafner@gmail.com> 31 October 2023, 00:14:05 UTC
96147bb manual/workflow-tips: simplify the basic workflow (and explain the why) (#48319) I came upon this piece of documentation again after seeing this post: https://discourse.julialang.org/t/how-to-clear-variables-and-or-whole-work-space/10149/21?u=tfiers ("How to clear variables and/or whole work space?" → "Work in a module") This small addendum to the Worfklow Tips section of the manual answers "but why should I bother making that module"; basically putting the gist of that discourse thread in the documentation, where more people might see it. 30 October 2023, 18:40:24 UTC
55b0729 inference: don't put globally-cached results into inference local cache (#51888) Now, we fill the inference's local cache exclusively with locally-cached results. Given that sources of globally-cached results will be populated from the global cache when needed (for inlining), there's no need for them to waste memory in the local cache. @nanosoldier `runbenchmarks("inference", vs=":master")` 30 October 2023, 08:14:58 UTC
af0bd56 minor cosmetic refactor on base/compiler/optimize.jl (#51924) 30 October 2023, 08:14:20 UTC
ca5b4c5 Small fix to `randn`/`randexp` (#51890) The pattern `log(rand(rng))` has the consequence of permitting `log(0.0) == -Inf` to be computed, since the domain of `rand` is $[0,1)$. It looks like this mishap wouldn't actually escape `randn` (due to exit conditionals), but it appears that it can escape `randexp`, resulting in a return value of `+Inf`. While this is a literally admissible return value, it is grossly over-represented. On the current version, it occurs with probability roughly $10^{-18}$. For reference, values $>41$ should occur about that often. The correct return frequency for values that exceed `floatmax(Float64)` (i.e., `+Inf`) should be roughly $10^{-10^{308}}$. Replacing `log(rand(rng))` with `log1p(-rand(rng))` is "statistically identical" (modulo the effects of finite representations) except that it equivalently shifts the support of inputs to `log` from $[0,1)$ to the better-behaved $(0,1]$. This will change the stream of values produced by `randn`/`randexp`. Additionally, the largest value returned by `randexp` will change from $+\infty$ to roughly $44$. Somewhat larger values will be possible if we extend the dynamic range of `rand` as discussed [on Discourse](https://discourse.julialang.org/t/output-distribution-of-rand-float32-and-rand-float64-thread-2/105184). 30 October 2023, 02:56:35 UTC
855cd56 Clarify docstring for `exponent`, again (#47085) In #47035 we realised that `issubnormal` used the word "exponent" quite loosely, and this is also true of `exponent`'s docstring. So this tries to fix it... * Saying "this corresponds to the exponent of `x`." seems a bit circular, but I think it wants to say that in such cases it corresponds to the exponent bits? * Saying "normalized floating-point number" does not mean like `normalize(1.0)`... I think it means not-subnormal. Maybe it's better to say that? (Although I don't love this sentence.) * From "largest integer y such that `2^y ≤ abs(x)`" it sounds like `exponent(8+im)` should work, but it does not. So I marked it `::Real`. * I think it is nice to mention that 0, Inf, Nan give an error. As they must, for `2^y ≤ abs(x)`... but `0.0` is not subnormal, so the claim about reading the bit pattern isn't quite correct without excluding these cases. * Better examples, progressively adding detail, not too repetitive. * See also related functions. Recently edited in #46815. And I forgot, but "See also" and errors also overlap with this (approved) PR: https://github.com/JuliaLang/julia/pull/45221/files#diff-faa5f0835bd28c4a33e6603e208a9236034568a4abc7adec4995afb64550d0bdR940 . That should go first. 29 October 2023, 15:45:29 UTC
d5c30d8 Fix -1 for BigInt factorial - Update gmp.jl (#51497) Fixes #51488 --------- Co-authored-by: Rafael Fourquet <fourquet.rafael@gmail.com> 29 October 2023, 02:25:00 UTC
b5b05c8 remove jl_gc_wb_buf (#51919) Stale now that the Memory PR got merged. 29 October 2023, 00:59:04 UTC
81abb6d Adapt to LLVM 16 (#51591) Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com> Co-authored-by: Prem Chintalapudi <prem.chintalapudi@gmail.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> 28 October 2023, 21:25:17 UTC
18f8070 add 1-arg methods for set comparisons (#50862) 28 October 2023, 21:14:32 UTC
ab1eec5 libjulia: add jl_unwrap_unionall to exported_funcs (#51916) This was recently refactored in #51319 and while trying to adapt `libcxxwrap-julia` to the new changes I got: ``` ld: CMakeFiles/test_module.dir/test_module.cpp.o: in function `jl_datatype_layout': test_module.cpp:(.text+0x2c2): undefined reference to `jl_unwrap_unionall' ``` The function `jl_datatype_layout` is `STATIC_INLINE` in `julia.h`: https://github.com/JuliaLang/julia/blob/98542d748540e2390d6222282749c7dd534544da/src/julia.h#L1304-L1312 `jl_unwrap_unionall` is marked `JL_DLLEXPORT` here but it doesn't appear in the exports of `libjulia`. 28 October 2023, 19:43:27 UTC
ba98467 [BLAS] Add the gemmt routine (#51701) We can finally add this routine, supported by the last version of OpenBLAS (3.24) and Intel MKL. 28 October 2023, 17:26:49 UTC
57c7c00 Redo #32205 - PosDef exception is too specific. (#51864) Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> 28 October 2023, 17:25:05 UTC
f7b8e6b Move the banner function from versions.jl to REPL (#51867) 28 October 2023, 17:24:54 UTC
98542d7 Base.Cartesian: add `@ncallkw` and allow `else` branch inside `if` (#51501) 28 October 2023, 11:55:51 UTC
4975c02 Improve codegen, accuracy of inlining cost for unknown intrinsics (#44349) 28 October 2023, 11:54:39 UTC
f573c4a More detail on locks (#51844) 28 October 2023, 11:53:19 UTC
9c581cd mkpidlock: close update loop in error path (#51902) 28 October 2023, 11:49:59 UTC
0a0bd00 Fix pointer calculation for `SubArray` with none-dense parent. (#51900) And code clean for `first_index` and `compute_linindex`: 1. call `compute_linindex` directly in `first_index(::SlowSubArray)`. (There's no need to calculate stride/offset.) 2. remove the uneeded `compute_linindex` dispatch (`first(x::ScalarIndex) == x`) 28 October 2023, 01:13:06 UTC
f106bd9 Respect JULIA_CPU_TARGET set in Make.inc when building pkgimgs (#51886) Co-authored-by: Elliot Saba <staticfloat@gmail.com> 28 October 2023, 00:00:53 UTC
93dbe36 Comment out DebugObjectManagerPlugin (#51859) Prem said this might fix #51794. 27 October 2023, 20:58:28 UTC
f235291 REPL: Try to fix intermittent hang during precompile (#51891) I was intermittently observing the REPL precompile process not finishing. What I believe was happening is the following: 1. The last line of the precompile script is `cd("complete_path\t\t$CTRL_C` 2. As soon as child julia sees the `CTRL_C`, the prompt is terminated, and a new prompt is echod. 3. The parent julia tries to complete the line by sending `\n`, and immediately returns, because the child has already written a new prompt. 4. The child reads the `\n` and enters raw mode (ignoring things like ^D). 5. The parent tries to write `^D` to complete the process, but because the child is still processing the `\n`, this `^D` is ignored and the process hangs. Try to fix this by not writing the superfluous `\n` if the precompile line ends in `^C`. 27 October 2023, 20:57:43 UTC
8a9476f [REPL] Fix shell completion error on unreadable symlink (#51851) In macOS there is a file, `/usr/sbin/weakpass_edit` that is a symlink to a directory that is only readable by `root`. Our REPL shell completion attempts to call `isfile()` when entering the shell mode and pressing `w`, throwing an ugly error into the REPL. This PR fixes the root cause (skipping files that fail the `isfile()` condition) and adds a test that synthesizes an analogous condition. 27 October 2023, 20:53:19 UTC
199cac7 Strip trailing slashes in `JULIA_DEPOT_PATH` when embedding `@depot` (#51892) The new relocatable cache file work uses simple text substitution when stripping out the depot from a cache file's paths, and when substituting it in again over the `@depot` marker. However, if a user starts julia with `JULIA_DEPOT_PATH=/opt/foo/`, the embedded path for `Foo.jl`'s includes list will look like `@depotpackages/Foo/XYZ/src/Foo.jl`, and if the user then uses `JULIA_DEPOT_PATH=/opt/foo` (which should be equivalent) the cache file will fail to load with the message: ``` Failed to determine depot from srctext files ``` This commit standardizes the serialization format to always contain a trailing `pathsep()`, so that textual substitution is more likely to work regardless of slightly-inconsistent `JULIA_DEPOT_PATH` settings. 27 October 2023, 17:38:05 UTC
8382d51 Insert the GC preserve into the expanded docs (#51884) The expanded form is not fully correct since it misses the preservation of the return value from `cconvert`. The text below talks about the fact that `cconvert` should do the allocations necessary, but the expanded code is incorrect for any `cconvert` that actually does this. 27 October 2023, 15:55:46 UTC
909bcea implement Memory{T} as a new backend for Array{T} (#51319) See <https://hackmd.io/@vtjnash/rkzazi7an> for the Julep describing this change. Also makes memory allocation ccalls safer, for catching Serialization and deepcopy bugs in packages. Fixes https://github.com/JuliaLang/julia/issues/24909 Co-authored-by: Jameson Nash <vtjnash@gmail.com> 27 October 2023, 14:41:18 UTC
58030da Add aliasing warnings to docstrings for mutating functions in Base (#50824) 27 October 2023, 14:34:09 UTC
841d54a strings: improve performance of nextind (#51671) The recursion (for invalid bytes) was preventing inlining, as was the length of the function. For ASCII data, the cost of the call far exceeds the cost of decoding the data. Closes #51624 27 October 2023, 14:11:42 UTC
a41e2b1 🤖 [master] Bump the Pkg stdlib from af5392db5 to 75960e509 (#51893) 27 October 2023, 01:27:10 UTC
342d718 `reverse(zip(its...))` now checks lengths of constituent iterators for equality (#50435) fixes https://github.com/JuliaLang/julia/issues/45085, fixes https://github.com/JuliaLang/julia/issues/25583, as per suggested by @Moelf Despite the fact that this might cause code to fail that previously worked, I think this is a bugfix not a breaking change. In particular, `Iterators.reverse` says: > Given an iterator itr, then reverse(itr) is an iterator over the same collection but in the reverse order And in many cases, the previous behavior of `reverse(::Zip)` would _not_ return "the same collection" 26 October 2023, 21:54:43 UTC
75881a9 Bump LLVM to 15.0.7-9 (#51863) Contains a fix for AMDGPU.jl 26 October 2023, 20:39:57 UTC
837522a Added tests for load_overrides() in Artifacts.jl (#51833) Fixes #48551 Continued from #51815 The `load_overrides()` method in `Artifacts.jl` has a large untested branch. This PR increases the test coverage for this method. ![image](https://github.com/JuliaLang/julia/assets/141328479/a9744e25-e79f-4664-8522-320dd29c4c50) https://app.codecov.io/gh/JuliaLang/julia/blob/master/stdlib%2FArtifacts%2Fsrc%2FArtifacts.jl#L121 26 October 2023, 15:11:50 UTC
342d05d Use correct module when printing code_llvm for opaque closures (#51865) Co-authored-by: Jameson Nash <vtjnash@gmail.com> 26 October 2023, 14:07:05 UTC
3c4bccd docs: delete misleading `::Function` annotation in the `ntuple` doc (#51836) The first argument is not actually restricted to `Function` types. 26 October 2023, 08:56:07 UTC
6900ee1 Better `sinc` docstring (#51858) There are two types for the `sinc` function, unnormalized $\frac{\sin(x)}{x}$ and normalized $\frac{\sin(\pi x)}{\pi x}$. (https://en.wikipedia.org/wiki/Sinc_function) This PR updates the docstring and clarify which of these definition is used. Related: https://github.com/JuliaLang/julia/issues/36954#issuecomment-1296954308, https://github.com/JuliaLang/julia/pull/51551 26 October 2023, 08:55:15 UTC
4423845 Fix comments numbering in arrayshow.jl (#51862) 26 October 2023, 08:54:26 UTC
702730b Fix field access overlooked by rename (#51866) In e5cd9b6b3888c, the properties field was renamed to annotations, but the code here was not updated. This was missed because there was no test for the `AnnotatedString(::AbstractVector{AbstractChar})` method, which is also corrected here. 26 October 2023, 08:52:31 UTC
b5a531a Make the static analyzer happier in aarch64-darwin (#51861) 25 October 2023, 21:38:34 UTC
6e5dd59 replace jl_gc_wb_binding with jl_gc_wb (#51854) `jl_gc_wb_binding` has become a thin wrapper around `jl_gc_wb` now that `jl_binding_t` is first class. Replace it with `jl_gc_wb` to clean-up the write-barrier uses a bit. 25 October 2023, 21:28:16 UTC
946ab71 Assert that `exit` never returns (#51857) Closes #51856 25 October 2023, 21:27:47 UTC
193ead2 improve error message for invoke (#51831) This is effectively a type-assert, but the error message sounded confusing and internal without the context of what it got and what it expected to get. Refs: #51826 after: `ERROR: TypeError: in invoke: argument type error, expected Tuple{Int64, Vararg{Int64}}, got a value of type Tuple{DataType, Int64}` 25 October 2023, 21:22:20 UTC
bde62ad fix for invalid caching of CodeInfo from typeinf_ext (#51872) When inference decided it was not necessary to cache the object, it also skipped all of the work required to make the code valid, which typeinf_ext depends upon. This resulted in caching invalid data, causing effects tests to break unpredictably. This change ensures that we always update the InferenceState with the final result (when `must_be_codeinf` is true), so that typeinf_ext can get the correct results out of it for internal codegen use. Previously we were disregarding that flag in some cases. Fixes one of the issues uncovered in #51860 25 October 2023, 21:20:16 UTC
d0c4284 add missing wait during Timer and AsyncCondition close (#51847) Can cause spurious warnings about not closing these properly and unexpected events to appear after `close` returns. 25 October 2023, 17:34:51 UTC
c54a3f2 allow finalizers to take any locks and yield during exit (#51848) This aligns their behavior with manual calls to `finalize(o)`, and prepares for a future time in which these functions are always run on a separate thread. This means that they can wait to acquire locks in this context, which otherwise would have been denied to them. 25 October 2023, 15:16:47 UTC
3493473 LLVM: Activate typed pointers through the API instead of a global option. (#51840) This allows other users of LLVM to use opaque pointers with their contexts. Co-authored-by: Jameson Nash <vtjnash@gmail.com> 25 October 2023, 11:57:16 UTC
1705fe8 Make `read!(::IO,::StridedArray)` call `unsafe_read` if possible (#42593) This PR makes `read!(s::IO,a::StridedArray)` call `unsafe_read`, if `a` has continous memory layout. Since most of the checks are type-based, I think this does speed up, esspecially when `lock = true`. BTW, the above dispatch for `read!(s::IO, a::Array{UInt8})` in L762 seems unnecessary, should we drop it? --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> 25 October 2023, 09:30:20 UTC
a1ccf53 Add BFloat16 runtime intrinsics. (#51790) After switching to LLVM for BFloat16 in #51470 (i.e., relying on `Intrinsics.sub_float` etc instead of hand-rolling bit-twiddling implementations), we also need to provide fallback runtime implementations for these intrinsics. This is too bad; I had hoped to put as much BFloat16-related things as possible in BFloat16s.jl. This required modifying the unary operator preprocessor macros in order to differentiate between Float16 and BFloat16; I didn't generalize that to all intrinsics as the code is hairy enough already (and it's currently only useful for fptrunc/fpext). 25 October 2023, 08:53:24 UTC
bb138fa Improve efficiency of minimum/maximum(::Diagonal) (#30236) ``` julia> DM = Diagonal(rand(100)); julia> @btime minimum($DM); # before 27.987 μs (0 allocations: 0 bytes) julia> @btime minimum($DM); # after 246.091 ns (0 allocations: 0 bytes) ``` 25 October 2023, 07:08:58 UTC
3b1ba62 [REPLCompletions] allow symbol completions within incomplete macrocall expression (#51834) fix #51827 --------- Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> 25 October 2023, 06:45:45 UTC
3c21e32 inference: fix infinite recursion of nested Generators (#51845) It seems this case has already been fixed by other improvements, so we no longer need this hack, which is now causing problems. Fixes #51694 25 October 2023, 05:52:01 UTC
a43fcbc post-opt: run full scan within `check_inconsistency!` (#51846) Otherwise we fail to scan all statements. fix #51837 25 October 2023, 00:10:52 UTC
f0a28e9 add unsetindex support to more copyto methods (#51760) This is not-quite-public API, but since we have this for Array-to-Array copies, this tries to ensure it also does generically the same behavior for Memory-to-Array and Array-to-Memory as well. 24 October 2023, 21:07:08 UTC
df39cee replace many unsafe_convert methods with safer cconvert ones (#51764) This seems the correct way to define most conversions, since the unsafe logic should typically be isolated to a few areas, and everywhere else just defines conversions to it. This ensures the root is preserved even if the user later makes unexpected changes to the parent object (although the length might have later become inconsistent at that point, so it is not a guaranteed fix for memory issues). 24 October 2023, 15:54:04 UTC
2d8325b Run `crate-ci/typos` in CI (#51704) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 24 October 2023, 13:25:36 UTC
a6d9df7 Only warn in helpmode on successful nonpublic access (#51346) 24 October 2023, 13:05:18 UTC
a75c709 [nfc] Move comment in docview.jl (#51737) 24 October 2023, 13:02:30 UTC
855ec0c test: add test case for uncovered line in accumulate.jl (#51835) The `accumulate` function had missing code coverage for one dimensional arrays with an `init` value. ![image](https://github.com/JuliaLang/julia/assets/49565677/a53850c3-4559-4400-8ce2-e653812ec14e) I have added two tests for this case. 24 October 2023, 12:02:32 UTC
5e43309 make Meta-M with a empty prompt return the contextual module to Main (#51616) 24 October 2023, 08:17:56 UTC
d38348b delete unused local variable in `@generated` (#51778) Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> 24 October 2023, 08:14:28 UTC
17a36ee Make local scope for `else` blocks in `try`/`catch`/`else` (#51785) [Docs](https://docs.julialang.org/en/v1/manual/control-flow/#else-Clauses) state: > The try, catch, else, and finally clauses each introduce their own > scope blocks. But it is currently not the case for `else` blocks ```julia julia> try catch else z = 1 end 1 julia> z 1 ``` This change actually makes `else` blocks have their own scope block: ```julia julia> try catch else z = 1 end 1 julia> z ERROR: UndefVarError: `z` not defined ``` 24 October 2023, 08:14:07 UTC
0907858 [Printf] mark format and Format with public keyword (#51797) followup to https://github.com/JuliaLang/julia/pull/51723 to prevent ```julia │ Warning │ │ The following bindings may be internal; they may change or be removed in future versions: │ │ • Printf.Format ``` 24 October 2023, 08:13:23 UTC
9352d9e Revert "clean up identifiers defined in `Main` (#51411)" (#51825) This reverts commit ab94a242f6e56438f86a1babab7721db45b7feed. Ref https://github.com/JuliaLang/julia/pull/51411#issuecomment-1765402688 fixes https://github.com/JuliaLang/julia/issues/51823 24 October 2023, 08:12:30 UTC
b197197 Fix typo in range display (#51832) Thanks ScottPJones for finding this. Co-authored-by: Lilith Hafner <Lilith.Hafner@gmail.com> 24 October 2023, 08:11:54 UTC
abd00d0 Add version string to sysimg triple (#51830) 24 October 2023, 02:31:32 UTC
0be0b38 support Unicode 15.1 via utf8proc 2.9.0 (#51799) Similar to #47392, support [Unicode 15.1](https://www.unicode.org/versions/Unicode15.1.0/) by bumping utf8proc to 2.9.0 (https://github.com/JuliaStrings/utf8proc/issues/253). This allows us to use [118 exciting new emoji characters](https://blog.emojipedia.org/whats-new-in-unicode-15-1-and-emoji-15-1/) as identifiers, including "edible mushroom" `"\U1f344\u200d\U1f7eb"` (but still no superscript "q"). Interestingly, they also updated the [Unicode recommendations on programming-language identifiers (UAX#31)](https://www.unicode.org/reports/tr31/tr31-39.html#Mathematical_Compatibility_Notation_Profile) to finally "bless" identifiers beginning with `∂` and `∇` and/or ending with numeric sub/superscripts. They still don't recommend nearly the range of identifiers accepted by Julia, however. 23 October 2023, 12:24:31 UTC
cf00550 fix eltype for partition iterators of substrings (#51773) Fixes https://github.com/JuliaLang/julia/issues/51771 The convert method that asserts in #51771 is arguably still faulty though. 23 October 2023, 12:19:11 UTC
37611b4 Don't make pkgimages global editable (#51781) 23 October 2023, 08:17:54 UTC
0b54306 Fix off-by-one error in annotated string concat (#51803) A new unit test is also added for the edge-case found, and a few details of the test string adjusted to make it easier to reason about at a glance. ----- This seems to have slipped into #49586 when the `annotatedstring` function had to be refactored to no longer use `eachstyle` (which was moved into the stdlib), and escaped the unit tests for index corectness. 23 October 2023, 07:51:51 UTC
0617fec Added tests for the artifact_hash() function in Artifacts.jl (#51815) The code in `Artifacts.jl` has some missing test coverage. ![image](https://github.com/JuliaLang/julia/assets/141328479/a19d3c37-104b-4c5f-abc9-11925fbccbbc) 23 October 2023, 07:50:22 UTC
fa66820 REPLCompletions: only complete kwargs in kwarg position (#51801) 22 October 2023, 23:42:56 UTC
fb01dd2 Throw OverflowError on typemin(Int)//(-1) (#51085) Fixes #32443 Currently `typemin(Int)//(-1) == typemin(Int)//(1)`, ignoring an overflow. As noted by @JeffreySarnoff in [#32443](https://github.com/JuliaLang/julia/issues/32443#issuecomment-506816722) This should throw an error instead of silently overflowing. To fix this I am using `checked_neg` instead of `-` in the Rational constructor. With this PR `(-one(T))//typemin(T)` will now also throw an `OverflowError` instead of an `ArgumentError` 21 October 2023, 20:20:35 UTC
f71228d fix unicode indexing in parse(Complex, string) (#51758) This fixes a string-indexing bug introduced in #24713 (Julia 0.7). Sometimes, this would cause `parse(Complex{T}, string)` to throw a `StringIndexError` rather than an `ArgumentError`, e.g. for `parse(ComplexF64, "3 β+ 4im")` or `parse(ComplexF64, "3 + 4αm")`. (As far as I can tell, it can never cause parsing to fail for valid strings.) The source of the error is that if `i` is the index of an ASCII character in a string `s`, then `s[i+1]` is valid (even if the next character is non-ASCII) but `s[i-1]` is invalid if the previous character is non-ASCII. 20 October 2023, 20:24:56 UTC
6d1c0a0 add simple smokescreen test for `--bug-report` (#51776) follow-up PR to #51750 since BugReporting was broken at the time 20 October 2023, 20:07:00 UTC
abe4303 AnnotatedStrings, and a string styling stdlib (#49586) 20 October 2023, 20:04:11 UTC
e5cd9b6 Rename (Tagged → Annotated)String, etc. In response to further naming discussion. Please, please, let this be the last rename. Along the way we have some docstring improvements and stricter macro construction in the StyledStrings stdlib (erroring on invalid syntax, instead of warning), with more informative messages. 20 October 2023, 18:20:24 UTC
9947193 Converge TaggedString terminology: use annotations Instead of having a split between Tags/Annotations/Text properties (regions of the string are annotated with tagged values, and this is a property of the text), just have Tags/Annotations. In line with this, the "properties" field of TaggedString/TaggedChar is renamed to "annotations", and the getter/setter functions are renamed: - textproperties -> annotations - textproperty! -> annotate! While we're at it, improve the docstrings and functions a bit. 20 October 2023, 18:19:28 UTC
0001380 Put styling in new stdlib; Styled → Tagged rename After discussion on Triage, we've decided that the base Styled{String,Char} types will be renamed to Tagged{String,Char} to better indicate their versatility and kept in base, with everything else moved out to a new StyledStrings standard library. 20 October 2023, 18:18:25 UTC
f8192fe Document StyledStrings and Faces 20 October 2023, 18:14:11 UTC
5aaff18 Add StyledStrings, Faces, and @S_str to NEWS 20 October 2023, 18:14:11 UTC
0569c57 Tests for styled strings and faces 20 October 2023, 18:14:11 UTC
4a9128d Overhaul S"" macro The previous S"" macro was essentially one giant for loop with a helper function. When adding support for inline face value interpolation, it was clear that that approach was unmaintainable. As a result, the implementation has been completely rewritten. The new S"" macro is more maintainable, featureful, and correct — now with a documented EBNF grammar and more validation during expansion. 20 October 2023, 18:14:11 UTC
96e3d6b Load terminfo during exec_options This way should any styled printing occur, regardless of whether a REPL session is started, it will be handled correctly based on the current terminal. 20 October 2023, 18:14:11 UTC
c214350 Custom show methods for faces and simplecolor This is just nicer to look at in the REPL 20 October 2023, 18:14:11 UTC
back to top