Clone
Stefan Sobernig <stefan.sobernig@wu.ac.at>
committed
on 03 Jul 18
Continued work on changelog and announcement. [skip ci]
2.2 + 20 more
ChangeLog-2.1.0-2.2.0.log (+72 -157)
990 990
991 991
992 992         - deactivate two problematic tests for the time being to allow
993 993           regression test to run [868e7224]
994 994
995 995 2017-12-29  Gustaf Neumann  <neumann@wu-wien.ac.at>
996 996
997 997
998 998         - fix typos, updaty copyright years according to commits [0de05aae]
999 999
1000 1000
1001 1001         - prefer boolean test, remove commented-out code [b84afe7e]
1002 1002
1003 1003 2017-12-24  Gustaf Neumann  <neumann@wu-wien.ac.at>
1004 1004
1005 1005
1006 1006         - Fix typos [c4f449cb]
1007 1007
1008 1008 2017-12-21  Stefan Sobernig  <stefan.sobernig@wu.ac.at>
1009 1009
1010  
1011           -
1012 1010         * nsf.c (ParamParse): Fix crash when ParamParse is called with an
1013 1011         empty-string argument, e.g. nsf::parameter::info type "". Tests
1014 1012         provided. [2f921800]
1015 1013
1016  
1017           - Add another to-do item [b368199d]
1018  
1019 1014 2017-12-20  Stefan Sobernig  <stefan.sobernig@wu.ac.at>
1020 1015
1021  
1022           - Add to-do items [03bb3de2]
1023  
1024  
1025           -
1026 1016         * nsf.c (NsfParseArgsCmd): Fix another edge case (empty spec and/or
1027 1017           empty argv), added more tests. See also TODO. [9bd2c31a]
1028  
1029  
1030           -
1031 1018         * nsf.c (NsfParseArgsCmd): Fix nsf::parseargs for the case of Tcl-only
1032 1019         params, otherwise, it crashes due to an uninitialized params
1033 1020         structure. Added some tests. [54277a59]
1034 1021
1035 1022 2017-12-19  Stefan Sobernig  <stefan.sobernig@wu.ac.at>
1036 1023
1037  
1038           -
1039 1024         * nsf.c (ParamDefsParse): Fix small typo "allowedOptinons" ->
1040 1025         "allowedOptions" [5a34df6e]
1041 1026
1042 1027 2017-12-01  Stefan Sobernig  <stefan.sobernig@wu.ac.at>
1043 1028
1044  
1045           -
1046 1029         * nx.tcl (Class.variable): Clean up a left-over. [03bde7ee]
1047  
1048  
1049           -
1050 1030         * nx.tcl (Class.variable()): Re-order the substdefault-handling block
1051 1031         to render it more meaningful. [7e754788]
1052  
1053  
1054           - Add to-do item [bdf624ec]
1055  
1056  
1057           -
1058 1032         * nx.tcl (substdefault): Unify and harden substdefault handling. Both,
1059 1033         per-class and per-object substdefault should now behave similarly in
1060 1034         absence of a pair of evaluation brackets. Also, an attempt is made to
1061 1035         capture ill-formed input to subst earlier ([info complete]). An actual
1062 1036         substdefault reform, however, must tackle the [subst] calls
1063 1037         (-novariables?) and make the calls more robust (at the script and C
1064 1038         level; [apply]-like?). Added some tests for documentation. [dc801eac]
1065 1039
1066 1040 2017-11-30  Stefan Sobernig  <stefan.sobernig@wu.ac.at>
1067 1041
1068  
1069           - parameters.test: Simplify test case slightly. [efd3c005]
1070  
1071  
1072           -
1073             * nx.tcl (MetaSlot.parseParameterSpec): Refine handling of the type
1074           converter to expand unqualified names to the "nearer" namespace
1075           (i.e., namespace of the slot-owning object) rather than "". Along the
1076             way, intercept invalid type=* values earlier (empty string, "::").
1077           Added some tests. [f177ffa3]
1078  
1079  
1080           -
  1042         * Parameters.test: Simplify test case slightly. [efd3c005]
  1043         * nx.tcl (MetaSlot.parseParameterSpec): Refine handling of the
  1044         type converter to expand unqualified names to the "nearer"
  1045         namespace, i.e., namespace of the slot-owning object) rather than
  1046         "". Along the way, intercept invalid type=* values earlier (empty
  1047         string, "::").  Added some tests. [f177ffa3]
1081 1048         * nsfDebug.c: Remove duplicate array entry. [e9dc4cee]
1082  
1083  
1084           -
1085 1049         * nsfDebug.c (NsfInitPkgConfig): Provide NSF configuration data via the
1086 1050         TIP 59 interface (::nsf::pkgconfig). [0ca1bf1c]
1087 1051
1088 1052 2017-11-18  Gustaf Neumann  <neumann@wu-wien.ac.at>
1089 1053
  1054         * nsfUtil.c: silence static checker [c9f1c850]
1090 1055
1091           -
1092           - silence static checker [c9f1c850]
1093  
1094 1056 2017-11-16  Gustaf Neumann  <neumann@wu-wien.ac.at>
1095 1057
  1058         * nsfInt.h: Improve cleanness of compilation with Tcl 8.5 [f8b5f0a1]
  1059         * nsf.c: unneeded function [165e176d]
  1060         * nsfDebug.c, nsfInt.h: Add const declarations [5fb947bc]
1096 1061
1097           - Improve cleanness of compilation with Tcl 8.5 [f8b5f0a1]
1098  
1099  
1100           - Remove unneeded function [165e176d]
1101  
1102  
1103           - add const declaration [5fb947bc]
1104  
1105 1062 2017-11-15  Gustaf Neumann  <neumann@wu-wien.ac.at>
1106 1063
  1064         * nsf.c, method-parameter.test: Don't allow bytearrays as name of
  1065         non-pos args [8ac4f64a]
1107 1066
1108           - Don't allow bytearrays as name of non-pos args [8ac4f64a]
1109  
1110 1067 2017-11-09  Gustaf Neumann  <neumann@wu-wien.ac.at>
1111 1068
  1069         * nsf.c: Adjust print format to recent changes [f2ba4d0c]
1112 1070
1113           - Adjust print format to recent changes [f2ba4d0c]
1114  
1115 1071 2017-11-08  Stefan Sobernig  <stefan.sobernig@wu.ac.at>
1116 1072
1117  
1118           - nsf.c, nsfInt.h, nsfObj.c: Make epoch counters unsigned ints, so
  1073         * nsf.c, nsfInt.h, nsfObj.c: Make epoch counters unsigned ints, so
1119 1074         doubling the number of possible epochs. [1aa07d20]
1120  
1121  
1122           -
1123 1075         * nsf.c: Unify cmd flags cast (unsigned long -> unsigned int) [a25c4bed]
1124  
1125  
1126           -
1127 1076         * nsf.c (ObjectCmdMethodDispatch): Simplify and cleanup condition
1128 1077           expressions. [20c5ebb6]
1129  
1130  
1131           - nsf.c (ObjectCmdMethodDispatch), submethods.test: Enable private
1132           checking on ensembles, added test cases to capture the intented
  1078         * nsf.c (ObjectCmdMethodDispatch), submethods.test: Enable private
  1079         checking on ensembles, added test cases to capture the intended
1133 1080         behaviour behind -local and/or private for ensemble methods. [96e318fb]
1134 1081
1135 1082 2017-10-24  Gustaf Neumann  <neumann@wu-wien.ac.at>
1136 1083
  1084         * nsf.c (NsfColonCmd, NsfSelfCmd): Move GetObj() after tests of
  1085         non-null asserts [543954d5]
1137 1086
1138           - move GetObj() after tests of non-null asserts [543954d5]
1139  
1140 1087 2017-10-20  Gustaf Neumann  <neumann@wu-wien.ac.at>
1141 1088
1142  
1143           - Fix collateral damage of protection changes [9429c5df]
1144  
1145  
1146           - Move prototypes to begin of file [b2c4a961]
1147  
1148  
1149           - Cleanup: Don't shadow variable names. [09a7e327]
1150  
1151  
1152           - Minor cleanup: remove commented code, add missin nonnull-assert,
  1089         * nx-mongo.tcl: Fix collateral damage of protection changes by
  1090         making methods public [9429c5df]
  1091         * nsfStack.c: Move prototypes to begin of file [b2c4a961]
  1092         * nsfStack.c: Don't shadow variable names. [09a7e327]
  1093         * nsfStack.c: Remove commented code, add missin nonnull-assert,
1153 1094           shorten overlong lines [6b1b9272]
1154 1095
1155 1096 2017-10-19  Stefan Sobernig  <stefan.sobernig@wu.ac.at>
1156 1097
1157  
1158           -
1159 1098         * nsf.c (NsfMethodForwardCmd): Provide correct scoping condition when
1160 1099         requesting a method handle for a submethod forwarder. Added basic
1161 1100         tests. [8b19916c]
1162 1101
1163 1102 2017-10-13  Stefan Sobernig  <stefan.sobernig@wu.ac.at>
1164 1103
1165  
1166           -
1167 1104         * nsf.c, nsfStack.c: Bump copyright years. [bc16933e]
1168  
1169  
1170           -
1171             * nsf.c (ObjectCmdMethodDispatch), protected.test: For
1172             ensemble (submethod) dispatches, since ever, call
1173             protection had not been enforced at all. This commit
1174             enables call protection (protected) for ensembles and
1175             adds basic tests.
  1105         * nsf.c (ObjectCmdMethodDispatch), protected.test: For ensemble or
  1106         submethod dispatches, since ever, call protection had not been
  1107         enforced at all. This commit enables call protection (protected)
  1108         for ensembles and adds basic tests.
1176 1109         * nsfStack.c (GetSelfObj): To allow one to resolve the self reference
1177           at arbitrary callstack levels, separate GetSelfObj into GetSelfObj
1178           (macro) for the topmost self and GetSelfObj2. [4e48f104]
  1110         at arbitrary callstack levels, separate GetSelfObj into a GetSelfObj
  1111         macro for the topmost self and GetSelfObj2. [4e48f104]
1179 1112
1180 1113 2017-10-06  Gustaf Neumann  <neumann@wu-wien.ac.at>
1181 1114
  1115         * nsf.c (TclDeletesObject): Fix typo [6a0a8ba7]
1182 1116
1183           - fix typo [6a0a8ba7]
1184  
1185 1117 2017-10-02  Stefan Sobernig  <stefan.sobernig@wu.ac.at>
1186 1118
1187  
1188           -
1189 1119         * nsf.c (NsfCCreateMethod): During a shutdown, in a filter setting,
1190 1120         objv is not necessarily populated. Prior to this fix, the following
1191 1121         crashes on exit for "ObjStr(objv[1])": [86becbe0]
1192 1122
1193 1123 2017-09-19  Gustaf Neumann  <neumann@wu-wien.ac.at>
1194 1124
  1125         * nsf.c (RemoveInstance, CallStackDoDestroy)
  1126         (MixinInvalidateObjOrders, TclDeletesObject, CleanupDestroyClass): Add
  1127         likely/unlikely for NSF_DURING_DELETE checks [57d67eeb]
  1128         * nsf.c, nsfError.c, nsfProfile.c: Code cleanup [5df12821]
1195 1129
1196           - Add likely/unlikely for NSF_DURING_DELETE checks [57d67eeb]
1197  
1198  
1199           - Code cleanup [5df12821]
1200  
1201 1130 2017-09-06  Gustaf Neumann  <neumann@wu-wien.ac.at>
1202 1131
1203  
1204           - Add Valgrind/callgrind support [81788340]
1205  
1206  
1207           - Improve performance of ObjectSystemsCheckSystemMethod() by over 20%
  1132         * Add Valgrind/callgrind support [81788340]
  1133         * Improve performance of ObjectSystemsCheckSystemMethod() by over 20%
1208 1134           [9612df65]
1209 1135
1210 1136 2017-09-04  Gustaf Neumann  <neumann@wu-wien.ac.at>
1211 1137
  1138         * nsf.c (AliasAdd, AliasGet, AliasDelete): Optimization for
  1139         aliases, avoiding unboxing and re-boxing values as Tcl_Objs
  1140         [0e77a312]
  1141         * nsf.c: Minor cleanup and optimizations [5b6d88f8]
  1142         * nsfUtil.c (strnstr): Avoid call of strncmp() in common cases
  1143         [3b1402ae]
1212 1144
1213           - Optimization for aliases [0e77a312]
1214  
1215  
1216           - minor cleanup and optimizations [5b6d88f8]
1217  
1218  
1219           - Avoid call of strncmp() in common cases [3b1402ae]
1220  
1221 1145 2017-08-31  Gustaf Neumann  <neumann@wu-wien.ac.at>
1222 1146
  1147         * nsf.c (CompiledLocalsLookup): Add cache for compiled locals
  1148         starting with a colon to avoid repeated linear searches.
  1149         * nsf.c (ParamOptionParse): Reduce number of string comparisons in ParamOptionParse()
  1150         * nsf.c (ParamOptionParse, NsfProcDeleteProc): Factor out ProcContextRequire()
  1151         * varresolution.test: Extend regression test [9c0e4571]
1223 1152
1224           - Various Performance Improvements:
1225           - Add cache for compiled locals starting with a colon to
1226             avoid repeated linear searches
1227           - Reduce number of string comparisons in ParamOptionParse()
1228           - Factor out ProcContextRequire()
1229           - Extend regression test [9c0e4571]
1230  
1231 1153 2017-08-21  Gustaf Neumann  <neumann@wu-wien.ac.at>
1232 1154
  1155         * nsf.c, nsfStack.c: Minor cleanup [fa5f1303]
  1156         * nsf.c (MethodDispatch): Remove first argument of MethodDispatch,
  1157         which is apparently not needed [18c7294b]
  1158         * nsf.c, nsfInt.h (CompiledLocalsLookup): Avoid mixed declarations
  1159         and code [a4b53da8]; added experimental definition of
  1160         NSF_CONSTANT_COMPILED_LOCAL_LOOKUP [d9a45933]
1233 1161
1234           - Minor cleanup [fa5f1303]
1235  
1236  
1237           - Remove first argument of MethodDispatch, which is apparently not
1238             needed [18c7294b]
1239  
1240  
1241           - Avoid mixed declarations and code [a4b53da8]
1242  
1243  
1244           - Added experimental definition of NSF_CONSTANT_COMPILED_LOCAL_LOOKUP
1245             [d9a45933]
1246  
1247 1162 2017-08-20  Stefan Sobernig  <stefan.sobernig@wu.ac.at>
1248 1163
1249 1164         * nsf.c (FindNextMethod): Provide revised, streamlined implementation
1250 1165         of FindSelfNext as FindNextMethod. FindSelfNext is maintained, but
1251 1166         unused for the time being. [cc7500b2]
1252 1167
1253 1168 2017-08-20  Gustaf Neumann  <neumann@wu-wien.ac.at>
1254 1169
1255 1170         * nsf.c, nsfStack.c: Cleanup and optimization [fd0a160a]
1256 1171         * nsfStack.c: White space changes [f1549882]
1257 1172         * nsfStack.c: Reduce number of returns before end of function
1258 1173         [b64700f0]
1259 1174         * nsf.c, nsf.h, nsfInt.h: Whitespace changes, typos [3f78bdd8]
1260 1175         * nsfInt.h: More macro definition after GNU definitions [394c8d71]
1261 1176         * nsf.h: Remove redundant definition [263d34ee]
1262 1177         * nsf.c: Remove dead assignment [76cc1aa8]
1263 1178         * Makefile.in: Add more tidy and checking compiler flags [d81f1d01]
1264 1179
1265 1180 2017-08-20  Stefan Sobernig  <stefan.sobernig@wu.ac.at>
1266 1181