Age | Commit message (Collapse) | Author |
|
|
|
|
|
* dgud/wx/del-depr/OTP-14539:
Remove deprecation of non deprecated functions
Update so that doxygen 1.8.11 can generate code
|
|
* dgud/stdlib/edit-unicode:
stdlib: Improve edlin handling of unicode chars
OTP-14542
|
|
Functions where missing and where without alternatives, and
the functions are available in wxWidgets-3.0.*.
So either I missed it or they where removed for a while in
wxWidgets-2.9 branch, but that should not be used anywhere as
it was only a development branch.
|
|
Let edlin handle grapheme clusters instead of codepoints to
improve the handling multi-codepoints characters.
The ttsl driver (and protocol) still expects all lengths as
codepoints.
Previously it was expected that each codepoint used (at least) one
terminal column for each codepoint, and a hack was made for wide
characters (multicolumn) by patching in TAGGED characters to occupy
the extra space so that codepoint index was equal column index.
This didn't work at all for combining codepoints that do not occupy any
more space than the previous character.
Improved this handling by calculating column positions in move_cursor.
This is based on wcwidth() and is not perfect, wcwidth() is wrong for
some codepoints and wcwidth() can not know with Hangul graphemes for
example. But it works better than before without making a major change
in the protocol.
|
|
|
|
|
|
|
|
into maint
* raimo/stdlib/stop-deprecated-warn-crypto-rand_bytes-1/ERL-459:
Change crypto:rand_bytes/1 deprecated -> removed
|
|
|
|
* hasse/stdlib/deprecated_warning/OTP-14378:
stdlib: Accept all nowarn_deprecated_function options
|
|
* maint-20:
Updated OTP version
Update release notes
Update version numbers
erts: Fix bug in quick alloc
Fix old length usage in string
stdlib: Fix bug in proc_lib
Support arbitrary crash report in proc_lib.
|
|
* siri/make/default-outdir/ERL-438/OTP-14489:
[ct_make] Do not use the interactive tool 'c' from ct_make
Use current dir as default outdir for c:c/1,2
[make] Do not use the interactive tool 'c' from make
|
|
* siri/make/default-outdir/ERL-438/OTP-14489:
[ct_make] Do not use the interactive tool 'c' from ct_make
Use current dir as default outdir for c:c/1,2
[make] Do not use the interactive tool 'c' from make
|
|
* dgud/stdlib/string-len-compat/OTP-14487:
Fix old length usage in string
|
|
In OTP-20, c:c/1,2 started using the directory of the source file as
default output directory. For backwards compatibility reasons this is
now reversed so the current directory is used instead.
|
|
If record with recursive typespec such as
-record(r,{f :: #r{} | undefined}).
is used in interactive shell it stucks in inifinite loop when
trying to find definitions for all records used in expression.
|
|
Do not invoke the internal string:lenght/1 function
when the list length is wanted.
Fixes backwards compatibility for old string functions.
|
|
The check of bad nowarn_deprecated_function tags in -compile
attributes often made it impossible to compile modules with the
warnings_as_errors option in two consecutive releases.
|
|
Add a few more tests to the proc_lib_SUITE.
|
|
The `error_logger_format_depth` variable is `unlimited` by default.
This can cause errors when logging crash reports using sasl logger,
because `io_lib:format("~P"...` does not support `unlimited` as a
depth parameter.
Use formatter string "~p" for unlimited depth.
A way to reproduce the error:
Start erl with sasl logger:
erl -boot start_sasl -sasl errlog_type error -sasl sasl_error_logger tty
Report arbitrary error:
error_logger:error_report(crash_report, [fake_crash_report, foo]).
|
|
|
|
This allows the use of ~ts/~tp/~tw in the formatting fun to
sys:handle_debug/4.
|
|
This allows the use of ~ts/~tp/~tw in calls to error_logger:format/2,
error_logger:error_msg/2 and error_logger:info_msg/2.
|
|
|
|
The ms_transform module, used by ets:fun2ms/1 and dbg:fun2ms,
evaluates constant arithmetic expressions. This is necessary since the
Erlang compiler, which normally evaluates constant expressions, does
not recognize the format generated by ms_transform.
|
|
* hasse/unicode_atoms/OTP-14285:
compiler: Handle (bad) Unicode parse transform module names
kernel: Improve handling of Unicode filenames
stdlib: Handle Unicode atoms in ms_transform
stdlib: Improve Unicode handling of the Erlang parser
stdlib: Handle unknown compiler options with Unicode
stdlib: Handle Unicode macro names
stdlib: Correct Unicode handling in escript
dialyzer: Improve handling of Unicode
parsetools: Improve handling of Unicode atoms
stdlib: Handle Unicode atoms when formatting stacktraces
stdlib: Add more checks of module names to the linter
stdlib: Handle Unicode atoms better in io_lib_format
stdlib: Handle Unicode atoms in c.erl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Unicode atoms are handled better by the Erlang code linter.
Module names are checked for character codes greater than 255. This
means that modules invoked after the linter can assume that module
names have only Latin-1 characters.
|
|
The field width calculation did not handle graphem clusters well.
|
|
Pull request 1459 (https://github.com/erlang/otp/pull/1459) points out
one situation where Unicode atoms are not handled well in c.erl. This
commit tries to fix all situations.
|
|
find and use source directive when searching for source file
|
|
erl_tar: Fix handling of date and time
|
|
Since aa0c4b0df7cdc, erl_tar would write the local time (instead of
the POSIX time) into the tar header for the archived files. When
extracting the tar file, the extracted file could be set to a future
time (depending on the time zone).
We could do a minimal fix, but this seems to be a good time
to rewrite the time handling to use the new features that
allow file info to be read and written in the POSIX time
format.
First reported here: https://github.com/erlang/rebar3/issues/1554
|
|
Return error tuple on unicode normalization functions
|
|
Prior to this patch, the normalization functions in the
unicode module would raise a function clause error for
non-utf8 binaries.
This patch changes it so it returns {error, SoFar, Invalid}
as characters_to_binary and characters_to_list does in
the unicode module.
Note string:next_codepoint/1 and string:next_grapheme had
to be changed accordingly and also return an error tuple.
|
|
The linter emits warnings about using '_' as type variable in
parameterized types.
|
|
|
|
The postponed events, the user state and data, and the error
reason are all limited in error events (if the Kernel variable
error_logger_format_depth is set).
|
|
|
|
The size of the message queue and the dictionary is limited in
crash reports.
To avoid creating the potentially huge list of messages of the message
queue, messages are received (if the Kernel variable
error_logger_format_depth is set).
The tag 'message_queue_len' has been added to the crash report.
|
|
The state of the gen_server is limited in error events before exiting
(if the Kernel variable error_logger_format_depth is set).
An alternative is to let the error_logger limit all messages
(error_msg, format, warning_msg, info_msg), which would not limit
reports and also add a smallish overhead to event logging.
It is not decided if the alternative is to be implemented.
|
|
The term returned by io_lib:limit_term(Term, Depth) should return
the same string if substituted for Term in
io_lib:format("~P", [Term, Depth]) or io_lib:format("~W", [Term, Depth]).
|
|
proc_lib calls erlang:get_stacktrace/0 twice, which is unnecessary,
and potentially unsafe since there are calls to many functions
in between. Any of the calls could potentially cause and catch
an exception, invalidating the stacktrace.
Only call erlang:get_stacktrace/0 once, and pass the result to
the second place where it is needed.
|