Commit graph

496 commits

Author SHA1 Message Date
Charlie Gordon
978b40419e fix cursor not found bug upon some mode changes 2014-03-03 23:52:50 +00:00
Charlie Gordon
bfcb396455 Fix inconsistencies in shell mode
* clear interactive window flag upon mode change
* enable interactive mode upon vertical cursor movement
* add more checks for private data consistency
* free shell data upon process exit in non interactive shell buffers
* added shell-command command on M-!
* make kill_buffer_noconfirm() public to remove buffer safely
2014-03-03 23:35:46 +00:00
Charlie Gordon
9d95ed545d Improve robusness of dired mode 2014-03-03 23:24:09 +00:00
Charlie Gordon
93b1fecaf4 Fix inconsistencies in buffer mode handling 2014-03-03 23:21:07 +00:00
Charlie Gordon
2f2df43fbb Add extra language modes
* add coloring mode for assembly, basic, pascal, ini, postscript and sql
2014-03-02 14:49:44 +00:00
Charlie Gordon
7e05ffc8d9 add new extensions for Makefile and shell script modes 2014-03-02 10:45:10 +00:00
Charlie Gordon
de97ca1fe8 Add charset probing functions
* add QECharset method probe_func() to test charset likelihood
* probe function is not used for automatic charset detection yet
* fix kmaptoqe.c to use stable sorting and make kmaps reproducible
* fix ligtoqe.c to use stable sorting and make ligatures reproducible
2014-03-01 22:37:26 +00:00
Charlie Gordon
56ed9e0972 Fix charset converter cptoqe.c
* make mac_roman public
* fix kamen charset to remove control char transaltions
2014-03-01 21:57:28 +00:00
Charlie Gordon
31687cd93b Add NULL pointer checks, avoid crash bugs 2014-03-01 19:24:02 +00:00
Charlie Gordon
5eaa063fd8 improve C mode
* autodetect GNU calc files
* autodetect Objective C modules
2014-03-01 19:21:40 +00:00
Charlie Gordon
1c7f5dc566 add POD support in perl-mode
* support inline Perl documentation
* improve HERE doc support, allow spaces after <<
2014-03-01 19:05:30 +00:00
Charlie Gordon
5b4b273ca1 Show mode information in dired
* compute and display number of directories, files and total bytes
2014-02-12 07:25:35 +00:00
Charlie Gordon
b98ba068ff Use more general API to read buffer contents
* add eb_get_region_contents()
* add eb_get_region_content_size()
* implement eb_get_contents() and eb_get_content_size() inline
2014-02-10 21:27:53 +00:00
Charlie Gordon
9eb5944588 Improve mode selection and mode specific command safety
* add set-auto-mode() to (re)select best mode for buffer
* add set-next-mode() on M-m to cycle appropriate buffer modes
* add set-previous-mode()
* add default_mode and saved_mode in buffers to improve mode switching
* add dired mode probing and store st_mode in buffer to detect directories
* add charset, eol_type and buffer in ModeProbeData
* clean mode selection and window buffer attachment (needs more work)
* compute sorted list of appropriate modes in probe_mode
* convert charset and eol_type in mode_probe
* add signatures in buffer priv_data to perform save casts
* move BufedState to b->priv_data, protect mode specific functions
  add bufed_mode_probe function, cycling through modes comes back to bufed mode
* move DiredState to b->priv_data, protect mode specific functions
  add dired_mode_probe function, cycling through modes comes back to dired mode
* add heading line in dired buffer with directory spec
* protect shell-mode specific functions.
* restart shell in shell() command if exited
* some cosmetics changes (remove useless __unused__, missing messages ...)
2014-02-10 21:21:39 +00:00
Charlie Gordon
559d7506bb Add describe-buffer
* add do_describe_buffer to enumerate all buffer attributes in a popup
* analyze buffer contents and show map of bytes present in buffer
* this eases debugging when non ASCII bytes are hard to see
2014-02-10 20:33:01 +00:00
Charlie Gordon
05ab3dc386 Improve charset detection and handling
* add charset_raw for binary files
* improve charset detection for ambiguous cases
* add do_show_coding_system()
* add do_set_auto_coding() to (re)select the best coding system
* handle BOM mark: display as \ufeff and ignore for syntax coloring
2014-02-10 20:29:26 +00:00
Charlie Gordon
61b3358740 Add horizontal scrolling
* add do_scroll_left_right to adjust x_disp
* add scroll-left on M-( and scroll-right on M-)
* horizontal scrolling is only half functional because display
  snaps left scroll to 0 if possible and increments are too small
  on graphics displays.
2014-02-10 20:10:32 +00:00
Charlie Gordon
09bee12c90 Fix mode priority for xml formats
* set priority order to html > htmlsrc > docbook > xml > text > binary
* make unihex a very low priority (1)
* fix unihex display bug on last line
2014-02-10 03:24:34 +00:00
Charlie Gordon
53ed81941d use Command key as Meta in Darwin/X11 2014-02-10 01:57:35 +00:00
Charlie Gordon
3cf4b516db Fix wheel support on Haiku (Francois Revol)
* set uninitialized x and y members of the event struct to 0
2014-02-07 23:42:23 +00:00
Charlie Gordon
cf1a83d323 fix scroll issues on some charsets and eol_dos
* update offset_top correctly for non utf8 variable width charsets
  and eol_dos buffers.  This was causing infinite loops in some cases.
2014-02-07 20:16:42 +00:00
Charlie Gordon
15ab1f9601 improve x11 clipboard support
* add eb_get_content_size() to compute size of buffer contents encoded in utf8
* simplify selection_send()
2014-02-07 15:56:15 +00:00
Charlie Gordon
d582ce5ea5 add support for wm_delete_window and utf8 clipboard in x11 (Francois Revol) 2014-02-07 07:54:27 +00:00
Charlie Gordon
6402058e14 ignore case when matching extensions.
* ignore case in match_extension() used for mode selection
2014-02-07 07:38:30 +00:00
Charlie Gordon
9fd2f32a9e fix x11 crash on yank 2014-02-06 00:26:25 +00:00
Charlie Gordon
5039815fdd fix some mode probe issues
* perform generic test on extension in text_mode_probe
* allow mode force in language modes by returning 1 instead of 0 in probe
2014-02-06 00:22:17 +00:00
Charlie Gordon
6dc603ae27 fix some problems with dos eol_type.
* skip \n if EOL_DOS in get_pos and goto_line charset methods
* detect eol_type automatically for non 8 bit charsets
2014-02-06 00:19:39 +00:00
Charlie Gordon
a7853b3dff add support for end of line types
* support 3 types of end of line: Unix, Dos and old style Mac
* detect eol type automatically in detect_charset
* set buffer eol_type together with charset
* transparently convert eol sequence to \n upon reading buffers
  characters in eb_nextc().
* transparently convert \n to eol sequence in eb_encode_uchar()
* handle eol types in convert-file-buffer-coding-system: either preserve
  current value or force it via charset suffix -unix, -doc and -mac
* change read_charset() to accept eol_type suffix
* add eol_type and eol_char to CharsetDecodeState
* change charset methods to take CharsetDecodeState instead of charset pointers
* display eol_type in mode line if not unix
2014-02-05 00:56:48 +00:00
Charlie Gordon
d0c2e1d3e6 replace unicode_to_charset with eb_encode_uchar
* prepare support for eol_type support by making char encoding buffer specific
* fix small bugs and unsafe cases.
* fix bug in eb_goto_pos for EBCDIC charsets
2014-02-04 22:47:31 +00:00
Charlie Gordon
af76bd234f ignore tiny obj directory 2014-02-04 22:19:32 +00:00
Charlie Gordon
325c03eda1 add strend to match string suffix 2014-02-04 03:28:14 +00:00
Charlie Gordon
c71c1c2ec9 use utf8_encode instead of unicode_to_charset 2014-02-04 03:26:45 +00:00
Charlie Gordon
6b0e73b689 compile parser.c separately
* publish parse_config_file() and parse_arg()
* change Makefile to compile objects for tiny version separately
2014-02-03 20:03:07 +00:00
Charlie Gordon
351cbfdb21 add support for full screen display in haiku from Francois Revol 2014-02-02 14:31:05 +00:00
Charlie Gordon
29b51f0457 split parser.c from qe.c
* store config parser as separate source file parser.c
2014-02-02 14:29:36 +00:00
Charlie Gordon
48c14ba824 add support for combining marks (accents)
* add qe_isaccent() to test for combining marks
* add do_combine_char() command to insert or remove combining marks
* fix some display glitches involving combining marks
* add expand_ligature() and combine_accent() to handle simple ligatures
* change do_what_cursor_position() to display combining marks
2014-02-01 12:49:06 +00:00
Charlie Gordon
572e442149 simplify hex_write_char 2014-01-31 14:50:56 +00:00
Charlie Gordon
645b9c1aeb cosmetic changes
* report lack of undo information in do_undo and do_redo
* make region command remove region highlight
2014-01-31 14:50:13 +00:00
Charlie Gordon
e2beb7c910 improve C mode
* improve do_c_indent to prevent buffer modification if indentation is correct
* simplify do_c_indent_region accordingly
* added c-newline to remove indentation on blank lines
2014-01-31 14:47:06 +00:00
Charlie Gordon
87a1d39c9f cosmetic changes in buffer API
* make eb_insert return number of bytes inserted
* make eb_printf return number of bytes inserted (was length of utf8 string)
2014-01-31 12:14:13 +00:00
Charlie Gordon
2c6e5f4c2c cosmetic changes: messages should start with capital letter 2014-01-29 23:28:38 +00:00
Charlie Gordon
fbb37ca1cb cosmetic changes in org mode
* start messages with capital letter
* factorize code for boundary error message
2014-01-29 23:24:00 +00:00
Charlie Gordon
19e41e92fd add support for font styles in haiku by Francois Revol 2014-01-29 22:53:57 +00:00
Charlie Gordon
acf421085a fix compilation warnings 2014-01-25 09:21:48 +00:00
Charlie Gordon
57d44f9dda pass pointer to pointer to edit_close 2014-01-24 01:30:54 +00:00
Charlie Gordon
6cb97acaa2 add Atari ST encoding from Francois Revel 2014-01-24 01:22:23 +00:00
Charlie Gordon
c5f56a0d5b Fix memory leaks and bad references detected by valgrind
* add free_font_cache()
* add css_free_colors()
* add unload_ligatures()
* add --free-all cmd line option to free memory upon exit for valgrind
* tty.c: fix off by 3 size in qe_realloc. Should be typed
* qe.c: fix invalid pointer reference upon destroying transient buffer
2014-01-24 00:46:26 +00:00
Charlie Gordon
267af9e44b new atomic calls by Francois Revol 2014-01-23 17:01:43 +00:00
Charlie Gordon
e967914b5a improve consistency in new/delete methodology
* use qe_mallocz for all structures
* prevent spurious uses of malloc/free/realloc
* pass pointers to pointers to all deletion functions
* use consistent patterns for list deletions
* add more dependencies in Makefiles
2014-01-23 12:56:22 +00:00
Charlie Gordon
4d3acef5b4 prevent spurious uses of strncpy/strtok 2014-01-23 12:43:40 +00:00