You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
# Change Log
2
-
All [notable changes](#831---2024-12-22) to this project will be documented in this file.
2
+
All [notable changes](#840---2025-05-04) to this project will be documented in this file.
3
3
4
4
The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
5
and this project adheres to [Semantic Versioning](http://semver.org/).
@@ -36,6 +36,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
36
36
37
37
### To Be Fixed
38
38
39
+
- Consider adding bounds checks for integer addition and subtraction in RemesPath, and coercing any results to doubles if they would cause 64-bit int overflow.
39
40
- Make sure there aren't any easily-triggered race conditions induced by [automatic parsing and validation after editing](/docs/README.md#automatically-check-for-errors-after-editing).
40
41
- In 6.1.1.18, there is no longer a global shared JsonParser, which was the main potential source of race conditions.
41
42
- Fix issue where pretty-printing or compressing causes tree view position tracking to be out of sync with the document until a query is issued or the `Refresh` button is hit.
@@ -48,7 +49,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
48
49
- Since v7.0, holding down `Enter` in a multiline textbox (like the [tree viewer query box](/docs/README.md#remespath)) only adds one newline when the key is lifted.
49
50
- Maybe use pre-7.1 (dictionary-based rather than indicator-based) [selection remembering](/docs/README.md#working-with-selections) for Notepad++ 8.5.5 and earlier? Indicators are risky with those older NPP's because of the lack of `NPPM_ALLOCATEINDICATOR`.
Copy file name to clipboardExpand all lines: JsonToolsNppPlugin/JSONTools/RemesPathFunctions.cs
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -84,6 +84,8 @@ public JNode Call(JNode left, JNode right)
84
84
// }
85
85
//}
86
86
87
+
// TODO: Consider adding bounds checks for integer addition and subtraction, and coercing any results to doubles if they would cause 64-bit int overflow
|[Italian](https://github.com/molsonkiko/JsonToolsNppPlugin/blob/main/translation/italian.json5)|[v8.0](/CHANGELOG.md#800---2024-06-29)|[conky77](https://github.com/conky77), [molsonkiko](https://github.com/molsonkiko) (only for `messageBoxes` and `fileComments` sections) | Only conky77 |
Copy file name to clipboardExpand all lines: docs/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,7 +71,7 @@ __NOTES__
71
71
5. Beginning in [v4.4.0](/CHANGELOG.md#440---2022-11-23), you can have multiple tree views open.
72
72
6. Beginning in [v8.1](/CHANGELOG.md#810---2024-08-23), JsonTools will refuse to perform plugin commands on files with more than 2147483647 bytes. This is the same size restriction that 32-bit Notepad++ has for opening files.
73
73
- Prior to that release, JsonTools would cause Notepad++ to __crash__ if you attempted to execute plugin commands on files that large.
74
-
7. Beginning in [v8.4](/CHANGELOG.md#840---unreleased-yyyy-mm-dd), you can use the `keyboard_shortcuts` setting to turn on/off all of the default keyboard shortcuts for JsonTools plugin commands.
74
+
7. Beginning in [v8.4](/CHANGELOG.md#840---2025-05-04), you can use the `keyboard_shortcuts` setting to turn on/off all of the default keyboard shortcuts for JsonTools plugin commands.
75
75
- Once `keyboard_shortcuts` is set to `False`, you can use the [Shortcut Mapper](https://npp-user-manual.org/docs/preferences/#shortcut-mapper) (`Macro->Modify Shortcut/Delete Macro...` from the Notepad++ main menu) to reassign keyboard shortcuts for any JsonTools plugin commands.
76
76
77
77
If a node has a `+` or `-` sign next to it, you can click on that button to expand the children of the node, as shown here.
Copy file name to clipboardExpand all lines: docs/RemesPath.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -115,6 +115,10 @@ Starting in [5.4.0](/CHANGELOG.md#540---2023-07-04), the unary `+` operator has
115
115
116
116
The `not` operator introduced in [5.4.0](/CHANGELOG.md#540---2023-07-04) (which replaced [the older function of the same name](#vectorized-functions)) is very similar to the Python operator of the same name, in that `not x` returns `False` if x is ["truthy" (see below)](#truthiness), and `True` if x is "falsy".
117
117
118
+
### WARNING about arithmetic with integers ###
119
+
120
+
Since JsonTools stores integers as 64-bit integers, overflow and underflow are possible when doing arithmetic. For example, `int(4e18)*3` incorrectly returns `-6446744073709551616` because the true result would be greater than `2**63 - 1`, the largest 64-bit integer. Use caution when doing arithmetic on very large integers.
121
+
118
122
### Truthiness ###
119
123
120
124
Similar to in JavaScript and Python, RemesPath has the concept of "truthiness" (and its opposite, "falsiness"), where in some cases a non-boolean is treated as a boolean.
0 commit comments