summaryrefslogtreecommitdiff
path: root/src/getchar.c
Commit message (Collapse)AuthorAgeFilesLines
...
* patch 8.1.2134: modifier keys are not always recognizedv8.1.2134Bram Moolenaar2019-10-101-0/+19
| | | | | | Problem: Modifier keys are not always recognized. Solution: Handle key codes generated by xterm with modifyOtherKeys set. Add this to libvterm so we can debug it.
* patch 8.1.2120: some MB_ macros are more complicated than necessaryv8.1.2120Bram Moolenaar2019-10-061-1/+1
| | | | | | Problem: Some MB_ macros are more complicated than necessary. (Dominique Pelle) Solution: Simplify the macros. Expand inline.
* patch 8.1.2110: CTRL-C closes two popups instead of onev8.1.2110Bram Moolenaar2019-10-031-0/+4
| | | | | Problem: CTRL-C closes two popups instead of one. Solution: Reset got_int when the filter consumed the key.
* patch 8.1.2091: double free when memory allocation failsv8.1.2091Bram Moolenaar2019-09-281-2/+2
| | | | | Problem: Double free when memory allocation fails. (Zu-Ming Jiang) Solution: Use VIM_CLEAR() instead of vim_free(). (closes #4991)
* patch 8.1.2053: SafeStateAgain not triggered if callback uses feedkeys()v8.1.2053Bram Moolenaar2019-09-181-3/+4
| | | | | | Problem: SafeStateAgain not triggered if callback uses feedkeys(). Solution: Check for safe state in the input loop. Make log messages easier to find. Add 'S' flag to state().
* patch 8.1.2048: not clear why SafeState and SafeStateAgain are not triggeredv8.1.2048Bram Moolenaar2019-09-171-1/+1
| | | | | Problem: Not clear why SafeState and SafeStateAgain are not triggered. Solution: Add log statements.
* patch 8.1.2046: SafeState may be triggered at the wrong momentv8.1.2046Bram Moolenaar2019-09-161-1/+18
| | | | | | Problem: SafeState may be triggered at the wrong moment. Solution: Move it up higher to after where messages are processed. Add a SafeStateAgain event to tigger there.
* patch 8.1.2042: the evalfunc.c file is too bigv8.1.2042Bram Moolenaar2019-09-151-1/+199
| | | | | Problem: The evalfunc.c file is too big. Solution: Move getchar() and parse_queued_messages() to getchar.c.
* patch 8.1.1901: the +insert_expand feature is not always availablev8.1.1901Bram Moolenaar2019-08-211-8/+1
| | | | | Problem: The +insert_expand feature is not always available. Solution: Graduate the +insert_expand feature.
* patch 8.1.1891: functions used in one file are globalv8.1.1891Bram Moolenaar2019-08-201-3/+5
| | | | | Problem: Functions used in one file are global. Solution: Add "static". (Yegappan Lakshmanan, closes #4840)
* patch 8.1.1827: allocating more memory than needed for extended structsv8.1.1827Bram Moolenaar2019-08-081-1/+1
| | | | | | Problem: Allocating more memory than needed for extended structs. Solution: Use offsetof() instead of sizeof(). (Dominique Pelle, closes #4786)
* patch 8.1.1799: cannot avoid mapping for a popup windowv8.1.1799Bram Moolenaar2019-08-031-0/+3
| | | | | Problem: Cannot avoid mapping for a popup window. Solution: Add the "mapping" property, default TRUE.
* patch 8.1.1798: warning for unused variable in tiny versionv8.1.1798Bram Moolenaar2019-08-031-143/+109
| | | | | Problem: Warning for unused variable in tiny version. (Tony Mechelynck) Solution: Move inside #ifdef. Reformat code.
* patch 8.1.1797: the vgetorpeek() function is too longv8.1.1797Bram Moolenaar2019-08-031-507/+553
| | | | | Problem: The vgetorpeek() function is too long. Solution: Split off the part that handles mappings, with fix.
* patch 8.1.1794: tests are flakyv8.1.1794Bram Moolenaar2019-08-021-553/+507
| | | | | Problem: Tests are flaky. Solution: Undo the change to vgetorpeek().
* patch 8.1.1792: the vgetorpeek() function is too longv8.1.1792Bram Moolenaar2019-08-021-507/+553
| | | | | Problem: The vgetorpeek() function is too long. Solution: Split off the part that handles mappings.
* patch 8.1.1785: map functionality mixed with character inputv8.1.1785Bram Moolenaar2019-08-011-2234/+16
| | | | | | Problem: Map functionality mixed with character input. Solution: Move the map functionality to a separate file. (Yegappan Lakshmanan, closes #4740) Graduate the +localmap feature.
* patch 8.1.1759: no mode char for terminal mapping from maparg()v8.1.1759Bram Moolenaar2019-07-271-0/+2
| | | | | Problem: No mode char for terminal mapping from maparg(). Solution: Check for TERMINAL mode. (closes #4735)
* patch 8.1.1640: the CursorHold autocommand takes down a balloonv8.1.1640Bram Moolenaar2019-07-051-1/+1
| | | | | Problem: The CursorHold autocommand takes down a balloon. (Paul Jolly) Solution: Ignore the CursorHold pseudo-key.
* patch 8.1.1591: on error garbage collection may free memory in usev8.1.1591Bram Moolenaar2019-06-251-1/+6
| | | | | | Problem: On error garbage collection may free memory in use. Solution: Reset may_garbage_collect when evaluating expression mapping. Add tests. (Ozaki Kiichi, closes #4579)
* patch 8.1.1441: popup window filter not yet implementedv8.1.1441Bram Moolenaar2019-06-011-0/+4
| | | | | Problem: Popup window filter not yet implemented. Solution: Implement the popup filter.
* patch 8.1.1414: alloc() returning "char_u *" causes a lot of type castsv8.1.1414Bram Moolenaar2019-05-281-3/+3
| | | | | | Problem: Alloc() returning "char_u *" causes a lot of type casts. Solution: Have it return "void *". (Mike Williams) Define ALLOC_ONE() to check the simple allocations.
* patch 8.1.1386: unessesary type casts for lalloc()v8.1.1386Bram Moolenaar2019-05-241-3/+2
| | | | | Problem: Unessesary type casts for lalloc(). Solution: Remove type casts. Change lalloc(size, TRUE) to alloc(size).
* patch 8.1.1384: using "int" for alloc() often results in compiler warningsv8.1.1384Bram Moolenaar2019-05-241-3/+3
| | | | | | Problem: Using "int" for alloc() often results in compiler warnings. Solution: Use "size_t" and remove type casts. Remove alloc_check(), Vim only works with 32 bit ints anyway.
* patch 8.1.1365: source command doesn't check for the sandboxv8.1.1365Bram Moolenaar2019-05-221-0/+6
| | | | | Problem: Source command doesn't check for the sandbox. (Armin Razmjou) Solution: Check for the sandbox when sourcing a file.
* patch 8.1.1358: cannot enter character with a CSI bytev8.1.1358Bram Moolenaar2019-05-191-4/+8
| | | | | | Problem: Cannot enter character with a CSI byte. Solution: Only check "gui.in_use" when VIMDLL is defined. (Ken Takata, closes #4396)
* patch 8.1.1269: MS-Windows GUI: multibyte chars with a 0x80 byte do not workv8.1.1269Bram Moolenaar2019-05-041-6/+7
| | | | | | | Problem: MS-Windows GUI: multibyte chars with a 0x80 byte do not work when compiled with VIMDLL. Solution: Adjust the condition for fixing the input buffer. (Ken Takata, closes #4330)
* patch 8.1.1251: no test for completion of mapping keysv8.1.1251Bram Moolenaar2019-05-031-2/+2
| | | | | Problem: No test for completion of mapping keys. Solution: Add a test. Also clean up the code.
* patch 8.1.1239: key with byte sequence containing CSI does not workv8.1.1239Bram Moolenaar2019-04-291-13/+17
| | | | | | Problem: Key with byte sequence containing CSI does not work. Solution: Do not recognize CSI as special unless the GUI is active. (Ken Takata, closes #4318)
* patch 8.1.1230: a lot of code is shared between vim.exe and gvim.exev8.1.1230Bram Moolenaar2019-04-281-12/+42
| | | | | | Problem: A lot of code is shared between vim.exe and gvim.exe. Solution: Optionally put the shared code in vim.dll. (Ken Takata, closes #4287)
* patch 8.1.1201: output of :command is hard to readv8.1.1201Bram Moolenaar2019-04-241-2/+2
| | | | | | Problem: Output of :command is hard to read. Solution: Make some columns wider, some narrower. Truncate the command when listing all.
* patch 8.1.1185: mapping for CTRL-X is inconsistentv8.1.1185Bram Moolenaar2019-04-181-1/+1
| | | | | | Problem: Mapping for CTRL-X is inconsistent. Solution: Map CTRL-X to "*d also for the MS-Windows console. (Ken Takata, closes #4265)
* patch 8.1.1118: a couple of conditions are hard to understandv8.1.1118Bram Moolenaar2019-04-041-9/+18
| | | | | Problem: A couple of conditions are hard to understand. Solution: Split the conditions into pieces. (Ozaki Kiichi, closes #3879)
* patch 8.1.1086: too many curly bracesv8.1.1086Bram Moolenaar2019-03-301-2/+1
| | | | | | Problem: Too many curly braces. Solution: Remove curly braces where they are not needed. (Hirohito Higashi, closes #3982)
* patch 8.1.1003: playing back recorded key sequence mistakes key codev8.1.1003Bram Moolenaar2019-03-101-0/+11
| | | | | Problem: Playing back recorded key sequence mistakes key code. Solution: Insert a <Nop> after the <Esc>. (closes #4068)
* patch 8.1.1000: indenting is offv8.1.1000Bram Moolenaar2019-03-091-132/+133
| | | | | | Problem: Indenting is off. Solution: Make indenting consistent and update comments. (Ozaki Kiichi, closes #4079)
* patch 8.1.0941: macros for MS-Windows are inconsistentv8.1.0941Bram Moolenaar2019-02-171-3/+3
| | | | | | | Problem: Macros for MS-Windows are inconsistent, using "32", "3264 and others. Solution: Use MSWIN for all MS-Windows builds. Use FEAT_GUI_MSWIN for the GUI build. (Hirohito Higashi, closes #3932)
* patch 8.1.0932: Farsi support is outdated and unusedv8.1.0932Bram Moolenaar2019-02-161-9/+0
| | | | | Problem: Farsi support is outdated and unused. Solution: Delete the Farsi support.
* patch 8.1.0822: peeking and flushing output slows down executionv8.1.0822Bram Moolenaar2019-01-251-2/+3
| | | | | | Problem: Peeking and flushing output slows down execution. Solution: Do not update the mode message when global_busy is set. Do not flush when only peeking for a character. (Ken Takata)
* patch 8.1.0810: too many #ifdefsv8.1.0810Bram Moolenaar2019-01-241-66/+2
| | | | | Problem: Too many #ifdefs. Solution: Graduate FEAT_MBYTE, part 4.
* patch 8.1.0785: depending on the configuration some functions are unusedv8.1.0785Bram Moolenaar2019-01-201-0/+2
| | | | | | Problem: Depending on the configuration some functions are unused. Solution: Add more #ifdefs, remove unused functions. (Dominique Pelle, closes #3822)
* patch 8.1.0779: argument for message functions is inconsistentv8.1.0779Bram Moolenaar2019-01-191-7/+7
| | | | | Problem: Argument for message functions is inconsistent. Solution: Make first argument to msg() "char *".
* patch 8.1.0743: giving error messages is not flexiblev8.1.0743Bram Moolenaar2019-01-131-11/+11
| | | | | | | | Problem: Giving error messages is not flexible. Solution: Add semsg(). Change argument from "char_u *" to "char *", also for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes #3302) Also make emsg() accept a "char *" argument. Get rid of an enormous number of type casts.
* patch 8.1.0466: autocmd test failsv8.1.0466Bram Moolenaar2018-10-071-17/+20
| | | | | Problem: Autocmd test fails. Solution: Do call inchar() when flushing typeahead.
* patch 8.1.0443: unnecessary static function prototypesv8.1.0443Bram Moolenaar2018-09-301-9/+0
| | | | | Problem: Unnecessary static function prototypes. Solution: Remove unnecessary prototypes.
* patch 8.1.0439: recursive use of getcmdline() still not protectedv8.1.0439Bram Moolenaar2018-09-301-9/+0
| | | | | | | Problem: Recursive use of getcmdline() still not protected. Solution: Instead of saving the command buffer when making a call which may cause recursiveness, save the buffer when actually being called recursively.
* patch 8.1.0362: cannot get the script line number when executing a functionv8.1.0362Bram Moolenaar2018-09-101-3/+5
| | | | | | Problem: Cannot get the script line number when executing a function. Solution: Store the line number besides the script ID. (Ozaki Kiichi, closes #3362) Also display the line number with ":verbose set".
* patch 8.1.0216: part of file not indented properlyv8.1.0216Bram Moolenaar2018-07-271-8/+8
| | | | | Problem: Part of file not indented properly. Solution: Adjust the indent. (Ken Takata)
* patch 8.1.0140: recording into a register has focus eventsv8.1.0140Bram Moolenaar2018-07-031-13/+29
| | | | | Problem: Recording into a register has focus events. (Michael Naumann) Solution: Don't record K_FOCUSGAINED and K_FOCUSLOST. (closes #3143)
* patch 8.1.0052: when mapping to <Nop> times out the next mapping is skippedv8.1.0052Bram Moolenaar2018-06-121-0/+5
| | | | | | Problem: When a mapping to <Nop> times out the next mapping is skipped. Solution: Reset "timedout" when waiting for a character. (Christian Brabandt, closes #2921)