Age | Commit message (Collapse) | Author |
|
Problem: No compiler warning for wrong format in vim_snprintf().
Solution: Add printf attribute for gcc. Fix reported problems.
|
|
Problem: Crash in parsing JSON.
Solution: Fail when using array or dict as dict key. (Damien)
|
|
Problem: Encoding empty string to JSON sometimes gives "null".
Solution: Handle NULL string as empty string. (closes #2446)
|
|
Problem: Cannot use an empty key in json.
Solution: Allow for using an empty key.
|
|
Problem: When decoding JSON with a JS style object the JSON test may use a
NULL pointer. (Coverity)
Solution: Check for a NULL pointer.
|
|
Problem: Error E937 is used both for duplicate key in JSON and for trying
to delete a buffer that is in use.
Solution: Rename the JSON error to E938. (Norio Takagi, closes #1376)
|
|
Problem: JS style JSON does not support single quotes.
Solution: Allow for single quotes. (Yasuhiro Matsumoto, closes #1371)
|
|
Problem: Channel test fails for using freed memory.
Solution: Fix memory use in json_decode().
|
|
Problem: For complicated string json_decode() may run out of stack space.
Solution: Change the recursive solution into an iterative solution.
|
|
Problem: JSON with a duplicate key gives an internal error. (Lcd)
Solution: Give a normal error. Avoid an error when parsing JSON from a
remote client fails.
|
|
Problem: Cannot make Vim fail on an internal error.
Solution: Add IEMSG() and IEMSG2(). (Domenique Pelle) Avoid reporting an
internal error without mentioning where.
|
|
Problem: VMS has a problem with infinity.
Solution: Avoid an overflow. (Zoltan Arpadffy)
|
|
Problem: Vim does not build on VMS systems.
Solution: Various changes for VMS. (Zoltan Arpadffy)
|
|
Problem: Using NUL instead of NULL.
Solution: Change to NULL. (Dominique Pelle)
|
|
Problem: Modelines in source code are inconsistant.
Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
|
|
Problem: Two JSON messages are sent without a separator.
Solution: Separate messages with a NL. (closes #1001)
|
|
Problem: Number variables are not 64 bits while they could be.
Solution: Add the num64 feature. (Ken Takata)
|
|
Problem: Warnings reported by cppcheck.
Solution: Fix the warnings. (Dominique Pelle)
|
|
Problem: When reading JSON from a channel all readahead is used.
Solution: Use the fill function to reduce overhead.
|
|
Problem: When a JSON message is split it isn't decoded.
Solution: Wait a short time for the rest of the message to arrive.
|
|
Problem: Passing cookie to a callback is clumsy.
Solution: Change function() to take arguments and return a partial.
|
|
Problem: Error for locked item when using json_decode(). (Shougo)
Solution: Initialize v_lock.
|
|
Problem: Can't build without the float feature.
Solution: Add #ifdefs. (Nick Owens, closes #667)
|
|
Problem: Crash when using json_decode().
Solution: Terminate string with a NUL byte.
|
|
Problem: Memory corruption when 'encoding' is not utf-8.
Solution: Convert decoded string later.
|
|
Problem: Can't build with JSON but without multi-byte.
Solution: Fix pointer name.
|
|
Problem: Can't build on Windows.
Solution: Change #ifdefs. Only define isnan when used.
|
|
Problem: Using uninitialzed variable.
Solution: Initialize vc_type.
|
|
Problem: Old system doesn't have isinf() and NAN. (Ben Fritz)
Solution: Adjust #ifdefs. Detect isnan() and isinf() functions with
configure. Use a replacement when missing. (Kazunobu Kuriyama)
|
|
Problem: JSON encoding doesn't hanel surrogate pair.
Solution: Improve multi-byte handling of JSON. (Yasuhiro Matsumoto)
|
|
Problem: When encoding JSON, turning NaN and Infinity into null without
giving an error is not useful.
Solution: Pass NaN and Infinity on. If the receiver can't handle them it
will generate the error.
|
|
Problem: MS-Windows doesn't have isnan() and isinf().
Solution: Use _isnan() and _isinf().
|
|
Problem: json_encode() does not handle NaN and inf properly. (David
Barnett)
Solution: For JSON turn them into "null". For JS use "NaN" and "Infinity".
Add isnan().
|
|
Problem: Compiler warning for unreachable code.
Solution: Remove a "break". (Danek Duvall)
|
|
Problem: Using a channel handle does not allow for freeing it when unused.
Solution: Add the Channel variable type.
|
|
Problem: jsonencode() is not producing strict JSON.
Solution: Add jsencode() and jsdecode(). Make jsonencode() and jsondecode()
strict.
|
|
Problem: When jsonencode() fails it still returns something.
Solution: Return an empty string on failure.
|
|
Problem: Encoding {'key':} to JSON doesn't give an error (Tyru)
Solution: Give an error.
|
|
Problem: Pending channel messages are garbage collected. Leaking memory in
ch_sendexpr(). Leaking memory for a decoded JSON string.
Solution: Mark the message list as used. Free the encoded JSON. Don't save
the JSON string.
|
|
Problem: Compiler warning for uninitialized variable.
Solution: Initialize it. (Elias Diem)
|
|
Problem: Can't handle two messages right after each other.
Solution: Find the end of the JSON. Read more when incomplete. Add a C
test for the JSON decoding.
|
|
Problem: JSON messages are not parsed properly.
Solution: Queue received messages.
|
|
Problem: "eval" and "expr" channel commands don't work yet.
Solution: Implement them. Update the error numbers. Also add "redraw".
|
|
Problem: Can't build with FEAT_EVAL but without FEAT_MBYTE. (John
Marriott)
Solution: Add #ifdef for FEAT_MBYTE.
|
|
Problem: Using older JSON standard.
Solution: Update the link. Adjust the text a bit.
|
|
Problem: Can't encode a Funcref into JSON. jsonencode() doesn't handle the
same list or dict twice properly. (Nikolay Pavlov)
Solution: Give an error. Reset copyID when the list or dict is finished.
|
|
Problem: No tests for comparing special variables. Error in jsondecode()
not reported. test_json does not work Japanse system.
Solution: Set scriptencoding. (Ken Takata) Add a few more tests. Add error.
|
|
Problem: No error for jsondecode('"').
Solution: Give an error message for missing double quote.
|
|
Problem: Coverity warns for NULL pointer and ignoring return value.
Solution: Check for NULL pointer. When dict_add() returns FAIL free the item.
|
|
Problem: No support for JSON.
Solution: Add jsonencode() and jsondecode(). Also add v:false, v:true,
v:null and v:none.
|