Each normal scheduler has one run queue that it
- manages. If dirty schedulers schedulers are supported, all
+ manages. If dirty schedulers are supported, all
dirty CPU schedulers share one run queue, and all dirty IO
schedulers share one run queue. That is, we have multiple
normal run queues, one dirty CPU run queue and one dirty
@@ -9013,7 +9013,7 @@ lists:map(
necessarily a consistent snapshot of the state, but
instead quite efficiently gathered.
Each normal scheduler has one run queue that it
- manages. If dirty schedulers schedulers are supported, all
+ manages. If dirty schedulers are supported, all
dirty CPU schedulers share one run queue, and all dirty IO
schedulers share one run queue. That is, we have multiple
normal run queues, one dirty CPU run queue and one dirty
diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml
index ba152477e3ce..f2f06ada5b42 100644
--- a/erts/doc/src/notes.xml
+++ b/erts/doc/src/notes.xml
@@ -4587,7 +4587,7 @@
map in a single pass.
maps:from_keys/2 constructs a map from a list of
- keys and a single value and can be used to to optimize
+ keys and a single value and can be used to optimize
sets operations such as from_list/1, filter/2,
intersection/2, and subtract/2.
@@ -8336,7 +8336,7 @@
-
The Kernel application's User's Guide now contain a
- Logger Cookbook with with common usage patterns.
+ Logger Cookbook with common usage patterns.
Own Id: OTP-16208
@@ -12135,7 +12135,7 @@
been called, all exceptions will now contain the entry
for one function (despite the zero). It used to
be that a hand-made stack backtrace passed to
- erlang:raise/3 would be be truncated to an empty
+ erlang:raise/3 would be truncated to an empty
list.
Own Id: OTP-15026
@@ -20798,7 +20798,7 @@
The previous default of a maximum of 32768 simultaneous
processes has been raised to 262144. This value can be
- changed using the the +P command line flag of
erl(1). Note that the
value passed now is considered as a hint, and that actual
@@ -21602,7 +21602,7 @@
-
Calling trace_info/2 asking for information about a
- function that had native could could crash the run-time
+ function that had native could crash the run-time
system.
Own Id: OTP-9886
@@ -25413,7 +25413,7 @@
-
Emulator flags in an escript were earlier inherited to
- emulators started from from the emulator running the
+ emulators started from the emulator running the
escript. For example when an escript invoked
os:cmd("erl"), the new emulator were given
erroneous emulator flags. This bug has now been fixed
@@ -26873,7 +26873,7 @@
In the section about binary construction, the reference
manual now mentions what happens when an integer value
does not fit into an integer segment of size N (namely,
- that the N least significant bits will be put into into
+ that the N least significant bits will be put into
the binary and that the most significant bits will be
silently discarded). (Thanks to Edwin Fine.)
@@ -29653,7 +29653,7 @@
-
The undocumented option (for the
- module) did not not work correctly when
+ module) did not work correctly when
there were multiple continuation lines. (Thanks to Per
Hedeland.)
Own Id: OTP-5945
diff --git a/erts/emulator/beam/emu/instrs.tab b/erts/emulator/beam/emu/instrs.tab
index bdf0e1e3a81d..7e9ed46d3bfd 100644
--- a/erts/emulator/beam/emu/instrs.tab
+++ b/erts/emulator/beam/emu/instrs.tab
@@ -729,7 +729,7 @@ put_tuple2(Dst, Arity) {
/*
* If operands are not packed (in the 32-bit VM),
- * is is not safe to use $Dst directly after I
+ * it is not safe to use $Dst directly after I
* has been updated.
*/
Eterm* dst_ptr = &($Dst);
diff --git a/erts/emulator/beam/erl_flxctr.h b/erts/emulator/beam/erl_flxctr.h
index 6109705b4516..35680d7df530 100644
--- a/erts/emulator/beam/erl_flxctr.h
+++ b/erts/emulator/beam/erl_flxctr.h
@@ -290,7 +290,7 @@ int erts_flxctr_suspend_until_thr_prg_if_snapshot_ongoing(ErtsFlxCtr* c, Process
/**
* @brief This function returns the number of bytes that are allocated
- * for for the given FlxCtr.
+ * for the given FlxCtr.
*
* @return nr of bytes allocated for the FlxCtr
*/
diff --git a/erts/emulator/beam/erl_msacc.h b/erts/emulator/beam/erl_msacc.h
index 1907f600f51a..34938ecf0480 100644
--- a/erts/emulator/beam/erl_msacc.h
+++ b/erts/emulator/beam/erl_msacc.h
@@ -150,7 +150,7 @@ struct erl_msacc_t_ {
Eterm id;
char *type;
- /* the the values below are protected by mtx iff unmanaged = 1 */
+ /* the values below are protected by mtx iff unmanaged = 1 */
ErtsSysPerfCounter perf_counter;
Uint state;
ErtsMsAccPerfCntr counters[];
diff --git a/erts/emulator/beam/erl_node_tables.h b/erts/emulator/beam/erl_node_tables.h
index 56696586c606..bde12fcfacb7 100644
--- a/erts/emulator/beam/erl_node_tables.h
+++ b/erts/emulator/beam/erl_node_tables.h
@@ -196,7 +196,7 @@ Vs = [begin [Val, _, _, _, What] = All = string:lexemes(Ln, " "),{Val,What,All}
Accs = lists:foldl(fun({V,<<"ERL_NODE_INC">>,_},M) -> Val = maps:get(V,M,0), M#{ V => Val + 1 }; ({V,<<"ERL_NODE_DEC">>,_},M) -> Val = maps:get(V,M,0), M#{ V => Val - 1 } end, #{}, Vs).
lists:usort(lists:filter(fun({V,N}) -> N /= 0 end, maps:to_list(Accs))).
- * There are bound to be bugs in the the instrumentation code, but
+ * There are bound to be bugs in the instrumentation code, but
* at least this is a place to start when hunting refc bugs.
*
*/
diff --git a/erts/emulator/beam/erl_proc_sig_queue.h b/erts/emulator/beam/erl_proc_sig_queue.h
index 5b1d8b660dd9..82c49a028ae8 100644
--- a/erts/emulator/beam/erl_proc_sig_queue.h
+++ b/erts/emulator/beam/erl_proc_sig_queue.h
@@ -1005,7 +1005,7 @@ erts_proc_sig_send_sync_suspend(Process *c_p, Eterm to,
* term returned by 'func'. If the return value of
* 'func' is not an immediate term, 'func' has to
* allocate a heap fragment where the result is stored
- * and update the the heap fragment pointer pointer
+ * and update the heap fragment pointer pointer
* passed as third argument to point to it.
*
* If this function returns a reference, 'func' will
@@ -1070,7 +1070,7 @@ erts_proc_sig_send_rpc_request(Process *c_p,
* term returned by 'func'. If the return value of
* 'func' is not an immediate term, 'func' has to
* allocate a heap fragment where the result is stored
- * and update the the heap fragment pointer pointer
+ * and update the heap fragment pointer pointer
* passed as third argument to point to it.
*
* If this function returns a reference, 'func' will
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h
index 44bc0b306935..d005ea0792ba 100644
--- a/erts/emulator/beam/erl_process.h
+++ b/erts/emulator/beam/erl_process.h
@@ -1684,7 +1684,7 @@ extern int erts_system_profile_ts_type;
# define F_INITIAL_TRACE_FLAGS 0
#endif
-/* F_TIMESTAMP_MASK is a bit-field of all all timestamp types */
+/* F_TIMESTAMP_MASK is a bit-field of all timestamp types */
#define F_TIMESTAMP_MASK \
(ERTS_TRACE_TS_TYPE_MASK << ERTS_TRACE_FLAGS_TS_TYPE_SHIFT)
diff --git a/erts/emulator/beam/erl_term.h b/erts/emulator/beam/erl_term.h
index a48a2cc7bdb5..e98adf46243a 100644
--- a/erts/emulator/beam/erl_term.h
+++ b/erts/emulator/beam/erl_term.h
@@ -118,7 +118,7 @@ struct erl_node_; /* Declared in erl_node_tables.h */
*
* - The tag is zero for arityval and non-zero for thing headers.
* - A single bit differentiates between positive and negative bignums.
- * - If more tags are needed, the REF and and EXTERNAL_REF tags could probably
+ * - If more tags are needed, the REF and EXTERNAL_REF tags could probably
* be combined to one tag.
*
* XXX: globally replace XXX_SUBTAG with TAG_HEADER_XXX
diff --git a/erts/emulator/beam/jit/arm/ops.tab b/erts/emulator/beam/jit/arm/ops.tab
index f3c99bac9f2c..ef0c1c840be3 100644
--- a/erts/emulator/beam/jit/arm/ops.tab
+++ b/erts/emulator/beam/jit/arm/ops.tab
@@ -258,7 +258,7 @@ i_get_tuple_element Tuple Pos Tuple2 | current_tuple Tuple3 |
equal(Tuple, Tuple2) | equal(Tuple, Tuple3) =>
i_get_tuple_element Tuple Pos Tuple
-# This is a current_tuple instruction instruction not followed by
+# This is a current_tuple instruction not followed by
# get_tuple_element. Invalidate the current tuple pointer.
current_tuple Tuple => _
diff --git a/erts/emulator/beam/jit/x86/ops.tab b/erts/emulator/beam/jit/x86/ops.tab
index b835114b2aa6..8969eba81ba9 100644
--- a/erts/emulator/beam/jit/x86/ops.tab
+++ b/erts/emulator/beam/jit/x86/ops.tab
@@ -260,7 +260,7 @@ i_get_tuple_element Tuple Pos Tuple2 | current_tuple Tuple3 |
equal(Tuple, Tuple2) | equal(Tuple, Tuple3) =>
i_get_tuple_element Tuple Pos Tuple
-# This is a current_tuple instruction instruction not followed by
+# This is a current_tuple instruction not followed by
# get_tuple_element. Invalidate the current tuple pointer.
current_tuple Tuple => _
diff --git a/erts/emulator/internal_doc/AutomaticYieldingOfCCode.md b/erts/emulator/internal_doc/AutomaticYieldingOfCCode.md
index 9ee24595d8e8..e20cc3de75ae 100644
--- a/erts/emulator/internal_doc/AutomaticYieldingOfCCode.md
+++ b/erts/emulator/internal_doc/AutomaticYieldingOfCCode.md
@@ -106,7 +106,7 @@ belong. For example, the functions for the map BIFs are placed in
`erl_map.c` together with the other map-related functions. When
building, YCF is invoked to generate the transformed versions of the
functions into a header file that is included in the source file that
-contains the the non-transformed version of the function (search for
+contains the non-transformed version of the function (search for
YCF in `$ERL_TOP/erts/emulator/Makefile.in` to see examples of how YCF
can be invoked).
diff --git a/erts/emulator/internal_doc/PTables.md b/erts/emulator/internal_doc/PTables.md
index 6b316eaa7e76..dbb811a2400c 100644
--- a/erts/emulator/internal_doc/PTables.md
+++ b/erts/emulator/internal_doc/PTables.md
@@ -238,7 +238,7 @@ When we insert a new element in the table we do the following:
be done before we publish the structure in the table. This, for
example, includes storing the identifier in the process structure.
-6. Now we can publish the structure in the table by writing the the
+6. Now we can publish the structure in the table by writing the
pointer to the process structure in the slot previously reserved
in 3.
diff --git a/erts/emulator/internal_doc/Tracing.md b/erts/emulator/internal_doc/Tracing.md
index 28c973c26409..d270b7f2180c 100644
--- a/erts/emulator/internal_doc/Tracing.md
+++ b/erts/emulator/internal_doc/Tracing.md
@@ -153,7 +153,7 @@ through when adding a new breakpoint.
9. Wait for thread progress.
10. Prepare for next call to `trace_pattern` by updating the new staging part
- (the old active) of the breakpoint to be identic to the the new active part.
+ (the old active) of the breakpoint to be identic to the new active part.
11. Release code modification permission and return from `trace_pattern`.
diff --git a/erts/emulator/internal_doc/beam_makeops.md b/erts/emulator/internal_doc/beam_makeops.md
index 9c127517dc34..64b81262da53 100644
--- a/erts/emulator/internal_doc/beam_makeops.md
+++ b/erts/emulator/internal_doc/beam_makeops.md
@@ -1071,8 +1071,8 @@ Here is first an example how it is used:
is_map Fail Lit=q | literal_is_map(Lit) => _
If the `Lit` operand is a literal, then the `literal_is_map()`
-predicate is called to determine wheter is is a map literal.
-It it is, the instruction is not needed and can be removed.
+predicate is called to determine whether it is a map literal.
+If it is, the instruction is not needed and can be removed.
`literal_is_map()` is implemented like this (in `emu/predicates.tab`):
@@ -1682,7 +1682,7 @@ similar to this:
#### Variable number of operands ####
-Here follows an example of how to to handle an instruction with a variable number
+Here follows an example of how to handle an instruction with a variable number
of operands for the interpreter. Here is the instruction definition in `emu/ops.tab`:
put_tuple2 xy I *
diff --git a/erts/emulator/nifs/common/prim_net_nif.c b/erts/emulator/nifs/common/prim_net_nif.c
index 299b96b60572..8655c561e394 100644
--- a/erts/emulator/nifs/common/prim_net_nif.c
+++ b/erts/emulator/nifs/common/prim_net_nif.c
@@ -3648,7 +3648,7 @@ void encode_adapter_index_map(ErlNifEnv* env,
* nif_get_ip_address_table
*
* Description:
- * Get ip address table table.
+ * Get ip address table.
* This is a windows only function!
*
* Active Interfaces?
diff --git a/erts/emulator/sys/common/erl_osenv.h b/erts/emulator/sys/common/erl_osenv.h
index 9b592c050758..969f23c86f2f 100644
--- a/erts/emulator/sys/common/erl_osenv.h
+++ b/erts/emulator/sys/common/erl_osenv.h
@@ -78,7 +78,7 @@ int erts_osenv_unset_term(erts_osenv_t *env, Eterm key);
* @param value [in,out] The buffer to copy the value into, may be NULL if you
* only wish to query presence.
*
- * @return 1 on success, 0 if the key couldn't be found, and -1 if if the value
+ * @return 1 on success, 0 if the key couldn't be found, and -1 if the value
* didn't fit into the buffer. */
int erts_osenv_get_native(const erts_osenv_t *env, const erts_osenv_data_t *key,
erts_osenv_data_t *value);
diff --git a/erts/emulator/test/big_SUITE.erl b/erts/emulator/test/big_SUITE.erl
index 635abc880087..5e121e30c570 100644
--- a/erts/emulator/test/big_SUITE.erl
+++ b/erts/emulator/test/big_SUITE.erl
@@ -227,7 +227,7 @@ test_squaring(I) ->
Sqr = I * I,
%% This expression will be multiplied in the usual way, because
- %% the the two operands for '*' are stored at different addresses.
+ %% the two operands for '*' are stored at different addresses.
Sqr = I * ((I + id(1)) - id(1)),
ok.
diff --git a/erts/emulator/test/bs_match_int_SUITE.erl b/erts/emulator/test/bs_match_int_SUITE.erl
index 3a7ba43b2981..dc285dd80b4a 100644
--- a/erts/emulator/test/bs_match_int_SUITE.erl
+++ b/erts/emulator/test/bs_match_int_SUITE.erl
@@ -112,7 +112,7 @@ get_int(Bin0) ->
%% Note that it has become impossible to create a byte-sized sub
%% binary (see erts_build_sub_bitstring() in erl_bits.c) of size 64
%% or less. Therefore, to be able to create an unaligned binary,
- %% we'll need to base it on on a binary with more than 64 bytes.
+ %% we'll need to base it on a binary with more than 64 bytes.
Size = bit_size(Bin0),
Filler = rand:bytes(65),
UnsignedBigBin = id(<>),
diff --git a/erts/emulator/test/bs_utf_SUITE.erl b/erts/emulator/test/bs_utf_SUITE.erl
index ec15c1b312bb..973b99e71b26 100644
--- a/erts/emulator/test/bs_utf_SUITE.erl
+++ b/erts/emulator/test/bs_utf_SUITE.erl
@@ -67,7 +67,7 @@ do_utf8_roundtrip(First, Last) when First =< Last ->
%% Here a heap binary and a sub binary will be allocated. If the
%% write in the utf8 segment extends beyond the end of heap binary,
- %% it will will overwrite the header for the sub binary.
+ %% it will overwrite the header for the sub binary.
<<-1:(64-9)/signed,Bin/binary>> = id(<<-1:(64-9),First/utf8>>),
<<-1:63/signed,Bin/binary>> = id(<<-1:63,First/utf8>>),
diff --git a/erts/emulator/test/code_SUITE.erl b/erts/emulator/test/code_SUITE.erl
index f74df5ca7133..b95c4074b953 100644
--- a/erts/emulator/test/code_SUITE.erl
+++ b/erts/emulator/test/code_SUITE.erl
@@ -589,7 +589,7 @@ constant_refc_binaries_test(Config) when is_list(Config) ->
Bef = memory_binary(),
io:format("Binary data (bytes) before test: ~p\n", [Bef]),
- %% Compile the the literals module.
+ %% Compile the literals module.
Data = proplists:get_value(data_dir, Config),
File = filename:join(Data, "literals"),
{ok,literals,Code} = compile:file(File, [report,binary]),
@@ -858,7 +858,7 @@ t_copy_literals(Config) when is_list(Config) ->
run_sys_proc_test(fun t_copy_literals_test/1, Config).
t_copy_literals_test(Config) when is_list(Config) ->
- %% Compile the the literals module.
+ %% Compile the literals module.
Data = proplists:get_value(data_dir, Config),
File = filename:join(Data, "literals"),
{ok,literals,Code} = compile:file(File, [report,binary]),
diff --git a/erts/emulator/test/dirty_nif_SUITE.erl b/erts/emulator/test/dirty_nif_SUITE.erl
index 5069dfa5b9ce..632d289c5708 100644
--- a/erts/emulator/test/dirty_nif_SUITE.erl
+++ b/erts/emulator/test/dirty_nif_SUITE.erl
@@ -520,7 +520,7 @@ dirty_nif_send_traced(Config) when is_list(Config) ->
true = Time2 >= 1900,
%% Make sure that the send trace is
- %% in between an in and and out trace
+ %% in between an in and an out trace
(fun F() ->
%% We got an in trace, look for out or send
{trace,Sndr,in,_} = recv_trace_from(Sndr),
diff --git a/erts/emulator/test/distribution_SUITE.erl b/erts/emulator/test/distribution_SUITE.erl
index 144f9ec3b8d9..a02988c90bd8 100644
--- a/erts/emulator/test/distribution_SUITE.erl
+++ b/erts/emulator/test/distribution_SUITE.erl
@@ -1162,7 +1162,7 @@ roundtrip(Term) ->
exit(Term).
%% Test that the smallest external term [] aka NIL can be sent to
-%% another node node and back again.
+%% another node and back again.
nil_roundtrip(Config) when is_list(Config) ->
process_flag(trap_exit, true),
{ok, Peer, Node} = ?CT_PEER(),
diff --git a/erts/emulator/test/map_SUITE.erl b/erts/emulator/test/map_SUITE.erl
index e034714de21e..a7373541871f 100644
--- a/erts/emulator/test/map_SUITE.erl
+++ b/erts/emulator/test/map_SUITE.erl
@@ -2994,7 +2994,7 @@ t_maps_without(_Config) ->
%% MISC
-%% Verify that the the number of nodes in hashmaps
+%% Verify that the number of nodes in hashmaps
%% of different types and sizes does not deviate too
%% much from the theoretical model.
%% For debug with DBG_HASHMAP_COLLISION_BONANZA the test will expect
diff --git a/erts/etc/unix/RELNOTES b/erts/etc/unix/RELNOTES
index 97aec2b10079..6555b02aea28 100644
--- a/erts/etc/unix/RELNOTES
+++ b/erts/etc/unix/RELNOTES
@@ -236,7 +236,7 @@ the 4.2 system, but there is a number of incompatibilities.
-- eprof, is a (tty-based) tool for real-time profiling, see eprof(3).
--- dbg, is a (tty-based) interface to the the trace/3 BIF, see dbg(3).
+-- dbg, is a (tty-based) interface to the trace/3 BIF, see dbg(3).
-- pman, is a (pxw-based) interface to the trace/3 BIF.
diff --git a/erts/etc/unix/etp-commands.in b/erts/etc/unix/etp-commands.in
index a62f908b2a2a..2aa2b6b0f9bb 100644
--- a/erts/etc/unix/etp-commands.in
+++ b/erts/etc/unix/etp-commands.in
@@ -4394,7 +4394,7 @@ document etp-search-alloc
%---------------------------------------------------------------------------
% etp-search-heaps Eterm
%
-% Search all internal allocator memory blocks for for the specified Eterm.
+% Search all internal allocator memory blocks for the specified Eterm.
%---------------------------------------------------------------------------
end
diff --git a/erts/test/parallel_messages_SUITE_data/visualize_throughput.html b/erts/test/parallel_messages_SUITE_data/visualize_throughput.html
index c4ed94b679a8..647a165f1c80 100644
--- a/erts/test/parallel_messages_SUITE_data/visualize_throughput.html
+++ b/erts/test/parallel_messages_SUITE_data/visualize_throughput.html
@@ -38,7 +38,7 @@ Message Send/Receive Benchmark Result Viewer
Note that one can paste results from several benchmark runs into the field below. Results from the same scenario but from different benchmark runs will be relabeled and plotted in the same graph automatically.
- Note also that that lines can be hidden by clicking on the corresponding label.
+ Note also that lines can be hidden by clicking on the corresponding label.
Paste the generated data in the field below and press the Render button:
diff --git a/lib/asn1/doc/src/asn1_spec.xmlsrc b/lib/asn1/doc/src/asn1_spec.xmlsrc
index a0986ed087eb..9444a7a2052a 100644
--- a/lib/asn1/doc/src/asn1_spec.xmlsrc
+++ b/lib/asn1/doc/src/asn1_spec.xmlsrc
@@ -367,7 +367,7 @@ ListSelector = [integer()]
- Each name in ElementList must be a constructed type
except the last name, which can be any type.
- ListSelector makes it possible to choose one of the
- encoded components in a a SEQUENCE OF or a SET OF.
+ encoded components in a SEQUENCE OF or a SET OF.
It is also possible to go further in that component and pick a
subtype of that to decode. So, in the TypeList:
['Window',status,buttonList,[1],number], component
diff --git a/lib/asn1/doc/src/notes.xml b/lib/asn1/doc/src/notes.xml
index c53f969384a0..634857de15d3 100644
--- a/lib/asn1/doc/src/notes.xml
+++ b/lib/asn1/doc/src/notes.xml
@@ -723,7 +723,7 @@
-
- Many bugs have been eliminated in the the ASN.1 compiler
+ Many bugs have been eliminated in the ASN.1 compiler
so that it can now successfully compile many more ASN.1
specifications. Error messages have also been improved.
@@ -977,7 +977,7 @@
-
The ASN.1 compiler would fail to compile a constraint
- with values given for for the extension part (such as
+ with values given for the extension part (such as
INTEGER (1..10, ..., 11..20)).
Own Id: OTP-11504
diff --git a/lib/asn1/src/asn1ct_check.erl b/lib/asn1/src/asn1ct_check.erl
index f1e8a1912895..4c7f63ee92ee 100644
--- a/lib/asn1/src/asn1ct_check.erl
+++ b/lib/asn1/src/asn1ct_check.erl
@@ -4934,7 +4934,7 @@ componentrelation_leadingattr(S,CompList) ->
%% get_simple_table_if_used/2 should find out whether there are any
%% component relation constraints in the entire tree of Cs1 that
%% relates to this level. It returns information about the simple
- %% table constraint necessary for the the call to
+ %% table constraint necessary for the call to
%% componentrelation_leadingattr/6. The step when the leading
%% attribute and the syntax tree is modified to support the code
%% generating.
diff --git a/lib/asn1/src/asn1ct_imm.erl b/lib/asn1/src/asn1ct_imm.erl
index c2ec27e19592..6ad0d680621f 100644
--- a/lib/asn1/src/asn1ct_imm.erl
+++ b/lib/asn1/src/asn1ct_imm.erl
@@ -498,7 +498,7 @@ is_aligned(k_m_string, _Lb, Ub) ->
Ub >= 16.
%%%
-%%% Generating the intermediate format format for decoding.
+%%% Generating the intermediate format for decoding.
%%%
dec_string(Sv, U, Aligned0, T) when is_integer(Sv) ->
@@ -1791,7 +1791,7 @@ enc_pre_cg_nonbuilding(Imm, _) -> Imm.
%%% an expensive complete/1 implementation). If we can be sure that
%%% complete/1 will be called with an iolist (no 'align' atoms or
%%% bitstrings in the list), we can call iolist_to_binary/1
-%%% instead. If the list may include bitstrings, we can can call
+%%% instead. If the list may include bitstrings, we can call
%%% list_to_bitstring/1 (note that list_to_bitstring/1 does not accept
%%% a binary or bitstring, so we MUST be sure that we only pass it a
%%% list). If complete/1 is called with a binary, we can omit the
@@ -2199,7 +2199,7 @@ propagate({var,Var}, Propagate, #ost{sym=Sym0}=St) when is_function(Propagate, 2
%%% any Anything.
%%%
%%% align Basically iodata, but the list may contain bitstrings
-%%% and the the atom 'align'. Can be passed to complete/1
+%%% and the atom 'align'. Can be passed to complete/1
%%% to construct a binary. Only used for aligned PER (per).
%%%
%%% bitstring An Erlang bitstring.
diff --git a/lib/asn1/src/asn1ct_parser2.erl b/lib/asn1/src/asn1ct_parser2.erl
index 2bdc284b1271..52a7eef643bc 100644
--- a/lib/asn1/src/asn1ct_parser2.erl
+++ b/lib/asn1/src/asn1ct_parser2.erl
@@ -283,7 +283,7 @@ parse_Assignment([{typereference,_,_},{'{',_}|_]=Tokens) ->
%% 2) ValueSet{...} Type ::= ...
%% ObjectSet{...} CLASS-NAME ::= CLASS {...}
%% 3) CLASS-NAME{...} ::= CLASS {...}
- %% A parameterized value set and and a parameterized object set
+ %% A parameterized value set and a parameterized object set
%% cannot be distinguished from each other without type information.
Flist = [fun parse_ParameterizedTypeAssignment/1,
fun parse_ParameterizedValueSetTypeAssignment/1,
diff --git a/lib/common_test/doc/src/notes.xml b/lib/common_test/doc/src/notes.xml
index e304a309c9ca..fbad54cd9445 100644
--- a/lib/common_test/doc/src/notes.xml
+++ b/lib/common_test/doc/src/notes.xml
@@ -3991,7 +3991,7 @@
-
- If a timetrap timeout occurred during execution of of a
+ If a timetrap timeout occurred during execution of a
function in a lib module (i.e. a function called directly
or indirectly from a test case), the Suite argument in
the end_tc/3 framework callback function would not
@@ -5082,7 +5082,7 @@
-
The rx library, included with common_test, failed to
- build on on some architectures because the -fPIC compiler
+ build on some architectures because the -fPIC compiler
option was missing.
Own Id: OTP-7111
diff --git a/lib/common_test/doc/src/write_test_chapter.xml b/lib/common_test/doc/src/write_test_chapter.xml
index b84c54041bc8..6063127bf0a0 100644
--- a/lib/common_test/doc/src/write_test_chapter.xml
+++ b/lib/common_test/doc/src/write_test_chapter.xml
@@ -817,7 +817,7 @@
In the data directory, data_dir, the test module has
its own files needed for the testing. The name of data_dir
- is the the name of the test suite followed by "_data".
+ is the name of the test suite followed by "_data".
For example, "some_path/foo_SUITE.beam" has the data directory
"some_path/foo_SUITE_data/". Use this directory for portability,
that is, to avoid hardcoding directory names in your suite. As the data
diff --git a/lib/common_test/src/test_server.erl b/lib/common_test/src/test_server.erl
index 7e3b0d995c42..3301840dc3a6 100644
--- a/lib/common_test/src/test_server.erl
+++ b/lib/common_test/src/test_server.erl
@@ -466,7 +466,7 @@ run_test_case_msgloop(#st{ref=Ref,pid=Pid,end_conf_pid=EndConfPid0}=St0) ->
From ! {self(),Tag,ok},
run_test_case_msgloop(St);
{abort_current_testcase,_,_}=Abort when St0#st.status =:= starting ->
- %% we're in init phase, must must postpone this operation
+ %% we're in init phase, must postpone this operation
%% until test case execution is in progress (or FW:init_tc
%% gets killed)
self() ! Abort,
diff --git a/lib/common_test/src/test_server_ctrl.erl b/lib/common_test/src/test_server_ctrl.erl
index 35fb69698adf..e5a361bd332d 100644
--- a/lib/common_test/src/test_server_ctrl.erl
+++ b/lib/common_test/src/test_server_ctrl.erl
@@ -4632,7 +4632,7 @@ update_config(Config, []) ->
%% simple list of test cases to call, when executing the test suite.
%%
%% CurMod is the "current" module, that is, the module the last instruction
-%% was read from. May be be set to 'none' initially.
+%% was read from. May be set to 'none' initially.
%%
%% SkipList is the list of test cases to skip and requirements to deny.
%%
diff --git a/lib/common_test/test/erl2html2_SUITE_data/m1.erl b/lib/common_test/test/erl2html2_SUITE_data/m1.erl
index 1d405963a5c3..ed01f62fdcfa 100644
--- a/lib/common_test/test/erl2html2_SUITE_data/m1.erl
+++ b/lib/common_test/test/erl2html2_SUITE_data/m1.erl
@@ -43,7 +43,7 @@ ok. % indentation error, OTP-9710
%% Function inside macro definition
?MACRO_DEFINING_A_FUNCTION.
-%% Two function one one line
+%% Two function on one line
quuux() -> ok. quuuux() -> ok.
%% do_something/0 does something