- improve utf8 handling in eb_prevc() using eb_read_one_byte()
- added utf8_is_trailing_byte(b) to standardize testing for this
- improve hex searching by 50% using eb_read_one_byte()
- improve regular searching by 35% by removing extra calls to eb_nextc()
- simplify eb_read() and eb_write() primitives
- make eb_write() return number of bytes actually written
- add eb_read_byte(buffer, offset) to read a single byte
- simplify eb_nextc() accordingly
- do_center_window used to be very inefficient when invoked with point
at a great distance from the current window. This was slowing down
successful searches on large files by a factor of 10 or more.
- fix case matching cycling with C-c and A-c in incremental search
- use smartcase for search-forward and search-backward
- display status for search-forward and search-backward failures
- eb_search returns -1 upon abort
- make eb_search and search_abort_func private;
- move cursor instead of scrolling at top of file
- move cursor horizontally except left on bol
- scroll-left anf scroll-right toggle line-wrapping
- change some bindings
C-down -> forward-paragraph
C-up -> backward-paragraph
- fix scroll-left and scroll-right direction argument
- add eb_at_bol(b, offset) primitive
- clean search and replace code
- fix point position upon matches in forward and backward directions
- prevent reverse search from find overlapping matches
- hilite current match
- add style search-match to hilite the current match in incremental-search
defaults to cyan / magenta
- C-l centers the window
- C-q quotes next character in incremental search
- C-w grabs the word at point
- C-y grabs from point to next end of line
- A-b cycles unihex hex and normal search
- A-w toggles word matching
- A-y yanks last kill in search string
- add same control keys to query-replace command
- fix searching and replacing in hex and unihex modes
- wrap search after failure
- pass search data as u32 buffer
- add eb_insert_u32_buf(b, offset, buf, len) to insert unicode code points
- add window.offset_end -> offset of first char beyond the window
- add qestate.emulation_flags to select between standard emacs behaviour and
alternate behaviours in internal commands
- fix do_center_cursor() when point is before window start
- add do_center_cursor_maybe() to center window if point is not visible
- allow C-q to quote DEL key (ASCII 127)
- added probe function for binary mode so it gets selected when cycling
modes with next-mode (bound to M-m)
- renamed w->disp_width as dump_width and make it a window variable
- compute default dump-width more accurately for dired-mode
- dump-width can be controlled with C-left and C-right in
hex, unihex and binary modes
- add eval-expression(expression) on M-:
- add eval-buffer()
- add eval-region()
- add +load <file> command line option to load a script file
- add +eval <expression> command line option to execute commands
This can be used to benchmark load time:
time qe `find . -name "*.[ch]"` +eval 'exit_qemacs(0)'
- add extra group argument in functions add_string() and set_string()
- group matches in completion_sort_func()
- add const char *strmem(const char *str, const void *mem, int size);
- add variable fuzzy-search
- add minibuffer-insert command to handle insert triggers
- display variable status after set-variable
- make TAB a regular char in incremental search
- display control chars as ^x in incremental search prompt
- simplify code with buf_xxx APIs
- add C-l to grab current line into search pattern
- add C-d to yank current word into search pattern
- add C-y to yank current kill into search pattern
- pass bf_flags for buffer creation from do_find_file() ...
- do not set BF_PREVIEW flag for existing buffers from dired
- exit preview-mode with C-g and RET
- SPC and BSP move by page in preview-mode
- add Preview mode-line indicator
- add preview-mode() command
- parse @annotations generically
- assume all words with an initial capital and at least one lowercase letter
are type names.
- colorize shebang line as preprocessor
* made language support for code blocks generic
* fixed HTML comments
* fixed state bit allocation
* improved HTML block support with fewer state collisions
* colorize text and code in block quotes