- add icon programming language
- compile rust, swift, icon, groovy and virgil as separate modules
- simplify Makefile accordingly
- handle nested block comments in koka, scala, wren and v modes
- fix bogus test for . and .. in find_file_next()
- use strequal() instead of !strcmp()
- add some emacs-lisp defined symbols
- fixed awk mode for `#` comments
- add flags to find_file_open():
- FF_PATH: enumerate path argument
- FF_NODIR: only match regular files
- FF_NOXXDIR: do not match . or ..
- FF_ONLYDIR: do not match non directories
- 0..15: max recursion depth
- add recursion level in find_file_next()
- add completion pointer in CompleteState
- add CF_DIRNAME and CF_RESOURCE CompletionDef flags
- pass filename to load_ligatures() and load_input_methods()
- remove find_resource_file() dummy definition in html2png.c
- add dir and resource completion methods
- allow makepath() to modify path in place
- enable completion in `load-resource-file` and `load-file-from-path`
- move language syntax handling to `lang` directory
- move other modes to `modes` directory
- move tools to `tools` directory
- compile tools to `bin` directory
- bump version to 5.3alpha
- remove duplicate node names in qe-doc
- update Makefiles
- `C-g` invokes keyboard-quit
- bind `ESC ESC ESC` to keyboard-quit
- prevent ESC key combination in `combine_keys()` if not first
- rename `abort` as `keyboard-quit` and do_break() as do_keyboard_quit()
- rename do_combine_char() as do_combine_accent()
- rename do_word_right() as do_word_left_right()
- pass numeric argument to do_scroll_left_right()
- pass numeric argument to do_minibuffer_history()
- fix typos and presentation in markdown documentation
- split binary- and hex-mode commands and bindings
- hex-mode inherits bindings from binary-mode (remove explicit bindings)
- enabled word movement in binary and hex modes
- add description string in ModefDef structure
- match file extension in markdown code block tag handling
- add bazel mode: python based build system
- add protobuf: google protocol buffer specification files
- add description placeholders to all CMDx definitions
- swap arguments to qe_split_window() and do_split_window()
- pass iteration count based on universal argument to
do_up_down(), do_left_right(), do_word_right(), do_kill_word(),
do_forward_paragraph(), do_kill_paragraph(), do_c_forward_conditional(),
do_forward_block(), do_kill_block(),
- remove do_backward_paragraph()
- add int eb_prev_paragraph(EditBuffer *b, int offset);
- dont call command on 0 universal prefix
- add CmdArgSpec structure for parse_arg()
- add argument type prefixes for defautl values:
'm' prefix for CMD_ARG_USE_MARK, 'p' for CMD_ARG_USE_POINT
'z' for CMD_ARG_USE_ZERO and 'e' for CMD_ARG_USE_BSIZE,
- rename parse_args as parse_arguments to avoid confusion with parse_arg
- make tabify-region and tabify-buffer call do_tabify()
- make untabify-region and untabify-buffer call do_untabify()
- move command argument specification to CmdDef:spec, followed by description string
- fix completion bug where highlighted region was not removed upon enter
- add file_print_entry() in dired.c to display file size in file completion popup
- add buffer_print_entry() to display filename in buffer completion popup
- small fixes
- rename many C functions to match corresponding command name:
do_return -> do_newline, do_quote -> do_quoted_insert,
do_start_macro -> do_start_kbd_macro, do_end_macro -> do_end_kbd_macro,
do_call_macro -> do_call_last_kbd_macro,
minibuf_complete_scroll_up_down -> do_minibuffer_scroll_up_down,
do_shell_return -> do_shell_newline, do_compile_error -> do_next_error,
do_incr_width -> do_increase_width
- add do_open_line as a separate function
- simplify hex and binary mode navigation functions
- do_overwrite_mode(arg) disables overwrite mode if arg <= 0
- fix universal argument parsing for M-0 to M-9 and other subtle details
- fix completion bug where highlighted region was not removed upon enter
- add file_print_entry() in dired.c to display file size in file completion popup
- add buffer_print_entry() to display filename in buffer completion popup
- small fixes
- add command and variable description field
- add fuzzy completion on repeated TAB in minibuffer
- remove fuzzy_search variable
- add CompletionDef flags:
- CF_FILENAME to use `/` as separator
- CF_NO_FUZZY to prevent fuzzy matching on second TAB
- CF_SPACE_OK to prevent SPC from completing entry
- CF_NO_AUTO_SUBMIT to insert current match on ENTER
- fix invalid free on CommandDef structures
- improve symbol completion in eval-expression
- use symbol completion in apropos
- fix post increment and decrement evaluation
- add SF_PARAGRAPH to sort multiline paragraphs
- sort commands and variables in print_bindings(), apropos(), about_qemacs()
- split buffer sorting code from do_sort_span() to eb_sort_span()
- add QE_STYLE_BLANK_HILITE style for extra blanks at end of lines
- add MODEF_NO_TRAILING_BLANKS flag to control this feature on a mode basis
- add -nc (--no-crc) command line option du disable CRC based update cache
- add disable-crc global variable for the same purpose
- fix termios c_oflag flags in raw mode
- rename and extend CompletionEntry as CompletionDef
- create xxx_completion CompletionDef structures
- rename xxx_completion() functions to xxx_complete()
- register CompletionDef structs with qe_register_completion()
- add (start, end) range in CompleteState
- use eb_puts() and eb_putc() instead of eb_printf()
- simplify eb_delete_chars()
- ignore left pane in compare-windows()
- simplify qe_list_bindings()
- improve command and variable completion popup