unrustify UPDATE move to version 0.76
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6702622..114bd32 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -314,7 +314,7 @@
 
 if ("${BUILD_TYPE_UPPER}" STREQUAL "DEBUG")
     # enable before adding tests to let them detect that format checking is available - one of the tests is format checking
-    source_format_enable(0.75)
+    source_format_enable(0.76)
 endif()
 
 # generate files
diff --git a/src/common.c b/src/common.c
index 8edeb33..38f51ea 100644
--- a/src/common.c
+++ b/src/common.c
@@ -458,6 +458,7 @@
 
     while (to_read > 0) {
         ssize_t n = read(fd, buf, to_read);
+
         if (n == 0) {
             return LY_SUCCESS;
         } else if (n < 0) {
diff --git a/src/json.c b/src/json.c
index ba711e1..5c45c8c 100644
--- a/src/json.c
+++ b/src/json.c
@@ -164,6 +164,7 @@
              * (one-char) entities and character references */
             if (len + offset + 4 >= size) {
                 size_t increment;
+
                 for (increment = BUFSIZE_STEP; len + offset + 4 >= size + increment; increment += BUFSIZE_STEP) {}
                 buf = ly_realloc(buf, size + increment);
                 LY_CHECK_ERR_RET(!buf, LOGMEM(jsonctx->ctx), LY_EMEM);
@@ -488,7 +489,7 @@
     /* Final position of decimal point in the buf. */
     int32_t dp_position;
     /* Exponent as integer. */
-    long long int e_val;
+    long long e_val;
     /* Byte for the decimal point. */
     int8_t dot;
     /* Required additional byte for the minus sign. */
diff --git a/src/parser_common.c b/src/parser_common.c
index 92b7b29..6fe068b 100644
--- a/src/parser_common.c
+++ b/src/parser_common.c
@@ -333,8 +333,10 @@
 #elif defined _WIN32
         HANDLE h = _get_osfhandle(in->method.fd);
         FILE_NAME_INFO info;
+
         if (GetFileInformationByHandleEx(h, FileNameInfo, &info, sizeof info)) {
             char *buf = calloc(info.FileNameLength + 1 /* trailing NULL */, MB_CUR_MAX);
+
             len = wcstombs(buf, info.FileName, info.FileNameLength * MB_CUR_MAX);
             lydict_insert(ctx, buf, len, filepath);
         }
@@ -914,8 +916,8 @@
 {
     size_t arg_len;
     char *ptr = NULL;
-    long long int num = 0;
-    unsigned long long int unum = 0;
+    long long num = 0;
+    unsigned long long unum = 0;
 
     if (*flags & LYS_SET_VALUE) {
         LOGVAL_PARSER(ctx, LY_VCODE_DUPSTMT, lyplg_ext_stmt2str(stmt->kw));
@@ -1055,7 +1057,7 @@
 {
     char *ptr;
     size_t arg_len;
-    unsigned long long int num;
+    unsigned long long num;
 
     if (*fracdig) {
         LOGVAL_PARSER(ctx, LY_VCODE_DUPSTMT, "fraction-digits");
@@ -1946,7 +1948,7 @@
 {
     size_t arg_len;
     char *ptr;
-    unsigned long long int num;
+    unsigned long long num;
 
     if (*flags & LYS_SET_MAX) {
         LOGVAL_PARSER(ctx, LY_VCODE_DUPSTMT, "max-elements");
@@ -2012,7 +2014,7 @@
 {
     size_t arg_len;
     char *ptr;
-    unsigned long long int num;
+    unsigned long long num;
 
     if (*flags & LYS_SET_MIN) {
         LOGVAL_PARSER(ctx, LY_VCODE_DUPSTMT, "min-elements");
diff --git a/src/parser_yang.c b/src/parser_yang.c
index d250c00..dd84480 100644
--- a/src/parser_yang.c
+++ b/src/parser_yang.c
@@ -1788,8 +1788,8 @@
     LY_ERR ret = LY_SUCCESS;
     char *buf = NULL, *word, *ptr;
     size_t word_len;
-    long long int num = 0;
-    unsigned long long int unum = 0;
+    long long num = 0;
+    unsigned long long unum = 0;
     enum ly_stmt kw;
 
     if (enm->flags & LYS_SET_VALUE) {
@@ -1941,7 +1941,7 @@
     LY_ERR ret = LY_SUCCESS;
     char *buf = NULL, *word, *ptr;
     size_t word_len;
-    unsigned long long int num;
+    unsigned long long num;
     enum ly_stmt kw;
 
     if (type->fraction_digits) {
@@ -2382,7 +2382,7 @@
     LY_ERR ret = LY_SUCCESS;
     char *buf = NULL, *word, *ptr;
     size_t word_len;
-    unsigned long long int num;
+    unsigned long long num;
     enum ly_stmt kw;
 
     if (*flags & LYS_SET_MAX) {
@@ -2454,7 +2454,7 @@
     LY_ERR ret = LY_SUCCESS;
     char *buf = NULL, *word, *ptr;
     size_t word_len;
-    unsigned long long int num;
+    unsigned long long num;
     enum ly_stmt kw;
 
     if (*flags & LYS_SET_MIN) {
diff --git a/src/parser_yin.c b/src/parser_yin.c
index 6b5ff77..fa44968 100644
--- a/src/parser_yin.c
+++ b/src/parser_yin.c
@@ -202,7 +202,7 @@
     name = in->current;
     ly_in_free(in, 0);
 
-    if (name - start == (long int)name_len) {
+    if (name - start == (long)name_len) {
         /* this is done because of collision in yang statement value and yang argument mapped to yin element value */
         if ((kw == LY_STMT_VALUE) && (parent == LY_STMT_ERROR_MESSAGE)) {
             return LY_STMT_ARG_VALUE;
@@ -707,7 +707,7 @@
 {
     const char *temp_val = NULL;
     char *ptr;
-    unsigned long long int num;
+    unsigned long long num;
 
     LY_CHECK_RET(lyxml_ctx_next(ctx->xmlctx));
     LY_CHECK_RET(yin_parse_attribute(ctx, YIN_ARG_VALUE, &temp_val, Y_STR_ARG, LY_STMT_FRACTION_DIGITS));
@@ -1132,8 +1132,8 @@
     LY_ERR ret = LY_SUCCESS;
     const char *temp_val = NULL;
     char *ptr;
-    long long int num = 0;
-    unsigned long long int unum = 0;
+    long long num = 0;
+    unsigned long long unum = 0;
 
     assert(parent_stmt == LY_STMT_POSITION || parent_stmt == LY_STMT_VALUE);
 
@@ -1363,7 +1363,7 @@
     LY_ERR ret = LY_SUCCESS;
     const char *temp_val = NULL;
     char *ptr;
-    unsigned long long int num;
+    unsigned long long num;
     struct yin_subelement subelems[] = {
         {LY_STMT_EXTENSION_INSTANCE, NULL, 0},
     };
@@ -1415,7 +1415,7 @@
 {
     const char *temp_val = NULL;
     char *ptr;
-    unsigned long long int num;
+    unsigned long long num;
     struct yin_subelement subelems[] = {
         {LY_STMT_EXTENSION_INSTANCE, NULL, 0},
     };
diff --git a/src/plugins_types.c b/src/plugins_types.c
index 5ffbc6d..cb4b896 100644
--- a/src/plugins_types.c
+++ b/src/plugins_types.c
@@ -499,6 +499,7 @@
 
         if ((rc != PCRE2_ERROR_NOMATCH) && (rc < 0)) {
             PCRE2_UCHAR pcre2_errmsg[LY_PCRE2_MSG_LIMIT] = {0};
+
             pcre2_get_error_message(rc, pcre2_errmsg, LY_PCRE2_MSG_LIMIT);
 
             return ly_err_new(err, LY_ESYS, 0, NULL, NULL, "%s", (const char *)pcre2_errmsg);
@@ -510,6 +511,7 @@
                 return ly_err_new(err, LY_EVALID, LYVE_DATA, NULL, eapptag, "%s", patterns[u]->emsg);
             } else {
                 const char *inverted = patterns[u]->inverted ? "inverted " : "";
+
                 return ly_err_new(err, LY_EVALID, LYVE_DATA, NULL, eapptag,
                         LY_ERRMSG_NOPATTERN, (int)str_len, str, inverted, patterns[u]->expr);
             }
diff --git a/src/printer_yang.c b/src/printer_yang.c
index aaf1d64..ea643ac 100644
--- a/src/printer_yang.c
+++ b/src/printer_yang.c
@@ -354,7 +354,7 @@
 
 static void
 ypr_unsigned(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts,
-        unsigned long int attr_value, ly_bool *flag)
+        unsigned long attr_value, ly_bool *flag)
 {
     char *str;
 
@@ -368,7 +368,7 @@
 }
 
 static void
-ypr_signed(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, signed long int attr_value,
+ypr_signed(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, long attr_value,
         ly_bool *flag)
 {
     char *str;
diff --git a/src/printer_yin.c b/src/printer_yin.c
index 0a9312d..74e0f0e 100644
--- a/src/printer_yin.c
+++ b/src/printer_yin.c
@@ -205,7 +205,7 @@
 }
 
 static void
-ypr_unsigned(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, unsigned long int attr_value)
+ypr_unsigned(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, unsigned long attr_value)
 {
     char *str;
 
@@ -218,7 +218,7 @@
 }
 
 static void
-ypr_signed(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, signed long int attr_value)
+ypr_signed(struct lys_ypr_ctx *pctx, enum ly_stmt substmt, uint8_t substmt_index, void *exts, long attr_value)
 {
     char *str;
 
diff --git a/src/schema_compile_node.c b/src/schema_compile_node.c
index 9364554..0b64dcb 100644
--- a/src/schema_compile_node.c
+++ b/src/schema_compile_node.c
@@ -1328,6 +1328,7 @@
             &err_code, &err_offset, NULL);
     if (!code_local) {
         PCRE2_UCHAR err_msg[LY_PCRE2_MSG_LIMIT] = {0};
+
         pcre2_get_error_message(err_code, err_msg, LY_PCRE2_MSG_LIMIT);
         LOGVAL(ctx, LY_VCODE_INREGEXP, pattern, perl_regex + err_offset, err_msg);
         free(perl_regex);
diff --git a/tests/utests/basic/test_context.c b/tests/utests/basic/test_context.c
index ad81fb4..4c4cc3f 100644
--- a/tests/utests/basic/test_context.c
+++ b/tests/utests/basic/test_context.c
@@ -635,6 +635,7 @@
             "</modules-state>";
 
     char *with_netconf_features = malloc(8096);
+
     strcpy(with_netconf_features,
             DATA_YANG_LIBRARY_START
             "    <module>\n"
diff --git a/tests/utests/data/test_diff.c b/tests/utests/data/test_diff.c
index b0d5104..1b7592a 100644
--- a/tests/utests/data/test_diff.c
+++ b/tests/utests/data/test_diff.c
@@ -32,26 +32,26 @@
             struct lyd_node *data1;\
             struct lyd_node *data2;\
             struct lyd_node *data3;\
-    /*create*/\
+        /*create*/\
             CHECK_PARSE_LYD(XML1, data1);\
             CHECK_PARSE_LYD(XML2, data2);\
             CHECK_PARSE_LYD(XML3, data3);\
-    /* diff1 */ \
+        /* diff1 */ \
             struct lyd_node *diff1;\
             CHECK_PARSE_LYD_DIFF(data1, data2, diff1); \
             CHECK_LYD_STRING(diff1, DIFF1); \
             assert_int_equal(lyd_diff_apply_all(&data1, diff1), LY_SUCCESS); \
             CHECK_LYD(data1, data2); \
-    /* diff2 */ \
+        /* diff2 */ \
             struct lyd_node *diff2;\
             CHECK_PARSE_LYD_DIFF(data2, data3, diff2); \
             CHECK_LYD_STRING(diff2, DIFF2); \
             assert_int_equal(lyd_diff_apply_all(&data2, diff2), LY_SUCCESS);\
             CHECK_LYD(data2, data3);\
-    /* merge */ \
+        /* merge */ \
             assert_int_equal(lyd_diff_merge_all(&diff1, diff2, 0), LY_SUCCESS);\
             CHECK_LYD_STRING(diff1, MERGE); \
-    /* cleanup */ \
+        /* cleanup */ \
             lyd_free_all(data1);\
             lyd_free_all(data2);\
             lyd_free_all(data3);\
diff --git a/tests/utests/schema/test_yang.c b/tests/utests/schema/test_yang.c
index 97c96ef..78b1798 100644
--- a/tests/utests/schema/test_yang.c
+++ b/tests/utests/schema/test_yang.c
@@ -1425,6 +1425,7 @@
     assert_int_equal(LY_SUCCESS, parse_any(YCTX, kw, NULL, (struct lysp_node **)&any));
     // CHECK_LYSP_NODE(NODE, DSC, EXTS, FLAGS, IFFEATURES, NAME, NEXT, TYPE, PARENT, REF, WHEN)
     uint16_t node_type = kw == LY_STMT_ANYDATA ? LYS_ANYDATA : LYS_ANYXML;
+
     CHECK_LYSP_NODE(any, "test", 1, LYS_CONFIG_W | LYS_STATUS_CURR | LYS_MAND_TRUE, 1, "any", 0, node_type, 0, "test", 1);
     assert_non_null(any->musts);
     lysp_node_free(&fctx, (struct lysp_node *)any); any = NULL;
diff --git a/tests/utests/schema/test_yin.c b/tests/utests/schema/test_yin.c
index 3099cac..0ce3abc 100644
--- a/tests/utests/schema/test_yin.c
+++ b/tests/utests/schema/test_yin.c
@@ -91,11 +91,13 @@
 
 /* prototypes of static functions */
 enum yin_argument yin_match_argument_name(const char *name, size_t len);
+
 LY_ERR yin_parse_content(struct lysp_yin_ctx *ctx, struct yin_subelement *subelem_info, size_t subelem_info_size,
         const void *parent, enum ly_stmt parent_stmt, const char **text_content, struct lysp_ext_instance **exts);
 LY_ERR yin_validate_value(struct lysp_yin_ctx *ctx, enum yang_arg val_type);
 enum ly_stmt yin_match_keyword(struct lysp_yin_ctx *ctx, const char *name, size_t name_len,
         const char *prefix, size_t prefix_len, enum ly_stmt parrent);
+
 LY_ERR yin_parse_extension_instance(struct lysp_yin_ctx *ctx, const void *parent, enum ly_stmt parent_stmt,
         LY_ARRAY_COUNT_TYPE parent_stmt_index, struct lysp_ext_instance **exts);
 LY_ERR yin_parse_element_generic(struct lysp_yin_ctx *ctx, enum ly_stmt parent, struct lysp_stmt **element);
diff --git a/tests/utests/utests.h b/tests/utests/utests.h
index 8726910..877d048 100644
--- a/tests/utests/utests.h
+++ b/tests/utests/utests.h
@@ -366,12 +366,12 @@
  * @param[in] TYPEDEFS expected [sized array](@ref sizedarrays) size of list of typedefs
  */
 #define CHECK_LYSP_ACTION(NODE, DSC, EXTS, FLAGS, GROUPINGS, IFFEATURES, \
-            INPUT_DATA, INPUT_EXTS, INPUT_GROUPINGS, INPUT_MUSTS, \
-            INPUT_PARENT, INPUT_TYPEDEFS, \
-            NAME, NODETYPE, \
-            OUTPUT_DATA, OUTPUT_EXTS, OUTPUT_GROUPINGS, OUTPUT_MUSTS, \
-            OUTPUT_PARENT, OUTPUT_TYPEDEFS, \
-            PARENT, REF, TYPEDEFS) \
+                INPUT_DATA, INPUT_EXTS, INPUT_GROUPINGS, INPUT_MUSTS, \
+                INPUT_PARENT, INPUT_TYPEDEFS, \
+                NAME, NODETYPE, \
+                OUTPUT_DATA, OUTPUT_EXTS, OUTPUT_GROUPINGS, OUTPUT_MUSTS, \
+                OUTPUT_PARENT, OUTPUT_TYPEDEFS, \
+                PARENT, REF, TYPEDEFS) \
     assert_non_null(NODE); \
     CHECK_STRING((NODE)->dsc, DSC); \
     CHECK_ARRAY((NODE)->exts, EXTS); \
@@ -440,13 +440,12 @@
  * @param[in] NAME   expected name of imported module
  * @param[in] PREFIX expected prefix for the data from the imported schema
  * @param[in] REF    expected reference
- * @prame[in] REV    expected reprezenting date in format "11-10-2020"
+ * @param[in] REV    expected reprezenting date in format "11-10-2020"
  */
 #define CHECK_LYSP_IMPORT(NODE, DSC, EXTS, NAME, PREFIX, REF, REV) \
     assert_non_null(NODE); \
     CHECK_STRING((NODE)->dsc, DSC); \
     CHECK_ARRAY((NODE)->exts, EXTS); \
-    /*assert_non_null((NODE)->module); // ?? it is mandatory but in some test it doesnt work */ \
     assert_string_equal((NODE)->name, NAME); \
     assert_string_equal((NODE)->prefix, PREFIX); \
     CHECK_STRING((NODE)->ref, REF); \
@@ -488,7 +487,6 @@
     assert_non_null(NODE); \
     CHECK_STRING((NODE)->argument, ARGUMENT); \
     CHECK_POINTER((NODE)->child, CHILD); \
-    /*assert_int_equal((NODE)->flags, LYS_INTERNAL);*/ \
     assert_int_equal((NODE)->parent_stmt, PARENT_STMT); \
     assert_int_equal((NODE)->parent_stmt_index, PARENT_STMT_INDEX); \
     assert_string_equal((NODE)->name, NAME); \
@@ -557,7 +555,7 @@
  * @param[in] TYPES   expected [sized array](@ref sizedarrays) size of list of sub-types
  */
 #define CHECK_LYSP_TYPE(NODE, BASES, BITS, COMPILED, ENUMS, EXTS, FLAGS, FRACTIONS_DIGITS, \
-            LENGTH, NAME, PATH, PATTERNS, PMOD, RANGE, REQUIRE_INSTANCE, TYPES) \
+                LENGTH, NAME, PATH, PATTERNS, PMOD, RANGE, REQUIRE_INSTANCE, TYPES) \
     assert_non_null(NODE);\
     CHECK_ARRAY((NODE)->bases, BASES); \
     CHECK_ARRAY((NODE)->bits, BITS); \
@@ -623,7 +621,7 @@
  * @param[in] DFLT      0-> node dosn't have default value. 1 -> node have default value
  */
 #define CHECK_LYSP_NODE_LEAF(NODE, DSC, EXTS, FLAGS, IFFEATURES, NAME, NEXT, \
-            PARENT, REF, WHEN, MUSTS, UNITS, DFLT) \
+                PARENT, REF, WHEN, MUSTS, UNITS, DFLT) \
     CHECK_LYSP_NODE(NODE, DSC, EXTS, FLAGS, IFFEATURES, NAME, NEXT, LYS_LEAF, PARENT, REF, WHEN); \
     CHECK_ARRAY((NODE)->musts, MUSTS); \
     CHECK_STRING((NODE)->units, UNITS); \
@@ -696,7 +694,7 @@
  * @param[in] WHEN    expected [sized array](@ref sizedarrays) size of list of pointers to when statements
  */
 #define CHECK_LYSC_ACTION(NODE, DSC, EXTS, FLAGS, INPUT_DATA, INPUT_MUST, INPUT_EXTS, MODULE, NAME, NODETYPE, \
-            OUTPUT_DATA, OUTPUT_MUST, OUTPUT_EXTS, PARENT, PRIV, REF, WHEN) \
+                OUTPUT_DATA, OUTPUT_MUST, OUTPUT_EXTS, PARENT, PRIV, REF, WHEN) \
     assert_non_null(NODE); \
     CHECK_STRING((NODE)->dsc, DSC); \
     CHECK_ARRAY((NODE)->exts, EXTS); \
@@ -770,7 +768,7 @@
  * @param[in] WHEN    [sized array](@ref sizedarrays) size of when node array
  */
 #define CHECK_LYSC_NODE_LIST(NODE, DSC, EXTS, FLAGS, MODULE, NAME, NEXT, \
-            PARENT, PRIV, REF, ACTIONS, CHILD, MAX, MIN, MUSTS, NOTIFS, UNIQUES, WHEN) \
+                PARENT, PRIV, REF, ACTIONS, CHILD, MAX, MIN, MUSTS, NOTIFS, UNIQUES, WHEN) \
         CHECK_LYSC_NODE(NODE, DSC, EXTS, FLAGS, MODULE, NAME, NEXT, LYS_LIST, PARENT, PRIV, REF, WHEN); \
         CHECK_POINTER((NODE)->actions, ACTIONS); \
         CHECK_POINTER((NODE)->child, CHILD); \
@@ -800,7 +798,7 @@
  * @param[in] DFLT      0-> node dosn't have default value. 1 -> node have default value
  */
 #define CHECK_LYSC_NODE_LEAF(NODE, DSC, EXTS, FLAGS, MODULE, NAME, NEXT, \
-            PARENT, PRIV, REF, WHEN, MUSTS, UNITS, DFLT) \
+                PARENT, PRIV, REF, WHEN, MUSTS, UNITS, DFLT) \
     CHECK_LYSC_NODE(NODE, DSC, EXTS, FLAGS, MODULE, NAME, NEXT, LYS_LEAF, PARENT, PRIV, REF, WHEN); \
     CHECK_ARRAY((NODE)->musts, MUSTS); \
     assert_non_null((NODE)->type); \
diff --git a/tools/lint/main_ni.c b/tools/lint/main_ni.c
index e393241..04c2340 100644
--- a/tools/lint/main_ni.c
+++ b/tools/lint/main_ni.c
@@ -587,6 +587,7 @@
 
         case 'V': { /* --verbose */
             LY_LOG_LEVEL verbosity = ly_log_level(LY_LLERR);
+
             if (verbosity < LY_LLDBG) {
                 ++verbosity;
             }
@@ -596,6 +597,7 @@
 
         case 'Q': { /* --quiet */
             LY_LOG_LEVEL verbosity = ly_log_level(LY_LLERR);
+
             if (verbosity == LY_LLERR) {
                 /* turn logging off */
                 ly_log_options(LY_LOSTORE_LAST);
diff --git a/uncrustify.cfg b/uncrustify.cfg
index 6c76edb..ec52e71 100644
--- a/uncrustify.cfg
+++ b/uncrustify.cfg
@@ -1,4 +1,4 @@
-# Uncrustify-0.71.0_f
+# Uncrustify-0.76.0_f
 
 #
 # General options
@@ -1539,9 +1539,15 @@
 # Newline adding and removing options
 #
 
-# Whether to collapse empty blocks between '{' and '}'.
+# Whether to collapse empty blocks between '{' and '}' except for functions.
+# Use nl_collapse_empty_body_functions to specify how empty function braces
+# should be formatted.
 nl_collapse_empty_body          = true     # true/false
 
+# Whether to collapse empty blocks between '{' and '}' for functions only.
+# If true, overrides nl_inside_empty_func.
+nl_collapse_empty_body_functions = false    # true/false
+
 # Don't split one-line braced assignments, as in 'foo_t f = { 1, 2 };'.
 nl_assign_leave_one_liners      = true     # true/false
 
@@ -1994,6 +2000,12 @@
 # See nl_oc_msg_leave_one_liner.
 nl_oc_msg_args                  = false    # true/false
 
+# (OC) Minimum number of Objective-C message parameters before applying nl_oc_msg_args.
+nl_oc_msg_args_min_params       = 0        # unsigned number
+
+# (OC) Max code width of Objective-C message before applying nl_oc_msg_args.
+nl_oc_msg_args_max_code_width   = 0        # unsigned number
+
 # Add or remove newline between function signature and '{'.
 nl_fdef_brace                   = force    # ignore/add/remove/force
 
@@ -2007,6 +2019,9 @@
 # Add or remove newline between 'return' and the return expression.
 nl_return_expr                  = remove   # ignore/add/remove/force
 
+# Add or remove newline between 'throw' and the throw expression.
+nl_throw_expr                   = ignore   # ignore/add/remove/force/not_defined
+
 # Whether to add a newline after semicolons, except in 'for' statements.
 nl_after_semicolon              = false    # true/false
 
@@ -2252,12 +2267,6 @@
 # Overrides nl_after_func_body and nl_after_func_body_class.
 nl_after_func_body_one_liner    = 2        # unsigned number
 
-# The number of blank lines after a block of variable definitions at the top
-# of a function body.
-#
-# 0: No change (default).
-nl_func_var_def_blk             = 1        # unsigned number
-
 # The number of newlines before a block of typedefs. If nl_after_access_spec
 # is non-zero, that option takes precedence.
 #
@@ -2274,6 +2283,15 @@
 # 0: No change (default).
 nl_typedef_blk_in               = 0        # unsigned number
 
+# The minimum number of blank lines after a block of variable definitions
+# at the top of a function body. If any preprocessor directives appear
+# between the opening brace of the function and the variable block, then
+# it is considered as not at the top of the function.Newlines are added
+# before trailing preprocessor directives, if any exist.
+#
+# 0: No change (default).
+nl_var_def_blk_end_func_top     = 1        # unsigned number
+
 # The number of newlines before a block of variable definitions not at the top
 # of a function body. If nl_after_access_spec is non-zero, that option takes
 # precedence.
@@ -3075,6 +3093,9 @@
 # Add or remove unnecessary parenthesis on 'return' statement.
 mod_paren_on_return             = remove   # ignore/add/remove/force
 
+# Add or remove unnecessary parentheses on 'throw' statement.
+mod_paren_on_throw              = ignore   # ignore/add/remove/force/not_defined
+
 # (Pawn) Whether to change optional semicolons to real semicolons.
 mod_pawn_semicolon              = false    # true/false
 
@@ -3172,6 +3193,49 @@
 # Add or remove the comma after the last value of an enumeration.
 mod_enum_last_comma             = remove   # ignore/add/remove/force
 
+# Syntax to use for infinite loops.
+#
+# 0: Leave syntax alone (default)
+# 1: Rewrite as `for(;;)`
+# 2: Rewrite as `while(true)`
+# 3: Rewrite as `do`...`while(true);`
+# 4: Rewrite as `while(1)`
+# 5: Rewrite as `do`...`while(1);`
+#
+# Infinite loops that do not already match one of these syntaxes are ignored.
+# Other options that affect loop formatting will be applied after transforming
+# the syntax.
+mod_infinite_loop               = 0        # unsigned number
+
+# Add or remove the 'int' keyword in 'int short'.
+mod_int_short                   = remove   # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'short int'.
+mod_short_int                   = remove   # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'int long'.
+mod_int_long                    = remove   # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'long int'.
+mod_long_int                    = remove   # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'int signed'.
+mod_int_signed                  = ignore   # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'signed int'.
+mod_signed_int                  = ignore   # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'int unsigned'.
+mod_int_unsigned                = ignore   # ignore/add/remove/force/not_defined
+
+# Add or remove the 'int' keyword in 'unsigned int'.
+mod_unsigned_int                = ignore   # ignore/add/remove/force/not_defined
+
+# If there is a situation where mod_int_* and mod_*_int would result in
+# multiple int keywords, whether to keep the rightmost int (the default) or the
+# leftmost int.
+mod_int_prefer_int_on_left      = false    # true/false
+
 # (OC) Whether to organize the properties. If true, properties will be
 # rearranged according to the mod_sort_oc_property_*_weight factors.
 mod_sort_oc_properties          = false    # true/false
@@ -3203,6 +3267,16 @@
 # Preprocessor options
 #
 
+# How to use tabs when indenting preprocessor code.
+#
+# -1: Use 'indent_with_tabs' setting (default)
+#  0: Spaces only
+#  1: Indent with tabs to brace level, align with spaces
+#  2: Indent and align with tabs, using spaces when not on a tabstop
+#
+# Default: -1
+pp_indent_with_tabs             = 0       # number
+
 # Add or remove indentation of preprocessor directives inside #if blocks
 # at brace level 0 (file-level).
 pp_indent                       = ignore    # ignore/add/remove/force
@@ -3223,8 +3297,8 @@
 # Default: 1
 pp_indent_count                 = 0        # unsigned number
 
-# Add or remove space after # based on pp_level of #if blocks.
-pp_space                        = ignore    # ignore/add/remove/force
+# Add or remove space after # based on pp level of #if blocks.
+pp_space_after                  = ignore   # ignore/add/remove/force/not_defined
 
 # Sets the number of spaces per level added with pp_space.
 pp_space_count                  = 0        # unsigned number
@@ -3259,6 +3333,18 @@
 # Whether to ignore the '#define' body while formatting.
 pp_ignore_define_body           = true     # true/false
 
+# An offset value that controls the indentation of the body of a multiline #define.
+# 'body' refers to all the lines of a multiline #define except the first line.
+# Requires 'pp_ignore_define_body = false'.
+#
+#  <0: Absolute column: the body indentation starts off at the specified column
+#      (ex. -3 ==> the body is indented starting from column 3)
+# >=0: Relative to the column of the '#' of '#define'
+#      (ex.  3 ==> the body is indented starting 3 columns at the right of '#')
+#
+# Default: 8
+pp_multiline_define_body_indent = 8        # number
+
 # Whether to indent case statements between #if, #else, and #endif.
 # Only applies to the indent of the preprocesser that the case statements
 # directly inside of.
@@ -3412,6 +3498,18 @@
 # 0: do not truncate.
 debug_truncate                  = 0        # unsigned number
 
+# sort (or not) the tracking info.
+#
+# Default: true
+debug_sort_the_tracks           = true     # true/false
+
+# decode (or not) the flags as a new line.
+# only if the -p option is set.
+debug_decode_the_flags          = false    # true/false
+
+# insert the number of the line at the beginning of each line
+set_numbering_for_html_output   = false    # true/false
+
 # Meaning of the settings:
 #   Ignore - do not do any changes
 #   Add    - makes sure there is 1 or more space/brace/newline/etc