Commit graph

477 commits

Author SHA1 Message Date
Charlie Gordon
46cf177d9b fix bug in write-file command
* write-file no longer fails on unmodified buffers
2014-01-13 11:57:28 +00:00
Charlie Gordon
9e97be7022 improve minibuffer completion system
* fix utf8 issues with completion, no longer match partial characters
* fix missing focus on completion popup upon first display
* close completion popup on space/tab
2014-01-13 11:53:19 +00:00
Charlie Gordon
4226224c4c improve kill / yank functions
* fix bug in do_kill that caused M-w to fail on read-only buffers
* pass base buffer to new_yank_buffer to initialize charset correctly
2014-01-13 11:28:00 +00:00
Charlie Gordon
3796d5d22e add BF_TRANSIENT buffer flag: buffer freed upon window close
* closing a window with a 'transient' buffer frees unless it is viewed in another window
2014-01-13 11:00:43 +00:00
Charlie Gordon
10584b584e extend eb_skip_chars, eb_delete_chars
* accept negative displacement in eb_skip_chars, eb_delete_chars
2014-01-13 10:31:56 +00:00
Charlie Gordon
37b3edf206 improve unihex-mode
* determine hex dump width from max char value in buffer
* display byte offset in margin instead of char offset
* accept 0x1f in text-mode
* no longer output octal char value if not ASCII
2014-01-12 01:39:10 +00:00
Charlie Gordon
e454380c7e improve convert-buffer-file-coding-system
* preserve offset, mark and other buffer positions
* output message with new charset and buffer size
* add debug_flags (used for debugging only)
2014-01-12 01:18:45 +00:00
Charlie Gordon
7037156cf6 fix charset bugs, caused infinite loop in usc4 2014-01-11 18:58:08 +00:00
Charlie Gordon
5f12ffb390 prevent spurious cursor move when not found 2014-01-11 18:46:14 +00:00
Charlie Gordon
e4011802e3 fix memory leak 2014-01-11 18:43:49 +00:00
Charlie Gordon
9e18c57f81 improve org-mode
* org_scan_chunk: no longer checks for space before chunk
* org_colorize_line: better check for heading line
* org_colorize_line: check for chunks after white space
* simplify do_org_todo
* add new functions:
  - do_org_mark_element (M-h)
  - do_org_mark_subtree (C-c @)
2014-01-11 15:38:28 +00:00
Charlie Gordon
82157e67bf extend eb_match_xxx APIs to update end offset 2014-01-11 15:07:14 +00:00
Charlie Gordon
592ab5ebc3 add some buffer APIs
* add buffer APIs for matching and inserting text:
  - eb_insert_str
  - eb_match_uchar
  - eb_match_str
  - eb_match_istr
* simplify eb_insert_utf8_buf: no longer accept -1 len
2014-01-11 14:38:30 +00:00
Charlie Gordon
327f2a2812 improve org mode, add new functions
* simplify org_next/prev_heading:
  - always return valid offset
  - level = 0 if not heading found
  - pointer to level can be NULL
* add new functions:
  - do_outline_next_vsible_heading      (C-c C-n)
  - do_outline_previous_vsible_heading  (C-c C-p)
  - do_outline_up_heading               (C-c C-u)
  - do_org_backward_same_level          (C-c C-b)
  - do_org_forward_same_level           (C-c C-f)
  - do_org_goto                         (C-c C-j)
  - org-insert-heading-respect-content  (C-enter)
  - org-insert-todo-heading-respect-content
* add flags in do_org_insert_heading
2014-01-10 14:00:08 +00:00
Charlie Gordon
de81442a78 improve org mode, add new functions
* improve colorizer:
  - handle blocks (with coloring for lisp src)
  - handle TeX escapes, macros
  - handle properties, wiki syntax for rich text
* simplify header line handling, and other such utility functions
* fix org-insert-heading, org-promote/demote, org-promote/demote-substree
* fix org-meta-return
* add org-move-subtree-up/down
* remove standard init_mode function
2014-01-10 01:25:14 +00:00
Charlie Gordon
4fcebb6fbc small fixes in buffer APIs
* fix bug in eb_delete_chars
* pass len=-1 for zero terminated strings in eb_insert_utf8_buf
2014-01-10 01:17:14 +00:00
Charlie Gordon
6561901967 improve and publish lisp mode for recursive coloring
* publish lisp_mode for recursive coloring
* fix multi-line string coloring
* accept \" to escape quotes in strings
2014-01-10 01:09:26 +00:00
Charlie Gordon
84bc8201b8 fix backspace key for haiku by Francois Revol 2014-01-09 12:25:12 +00:00
Charlie Gordon
9a58b44917 new character based APIs for buffers
* add eb_skip_chars
* rename eb_delete_nextc to eb_delete_uchar
* deprecate eb_line_pad
* use char based buffer API in orgmode
2014-01-08 16:26:44 +00:00
Charlie Gordon
857ec565ae org-mode: new mode for Org files by Francois Revol (orgmode.org)
* first version with very basic support.
2014-01-07 18:26:07 +00:00
Charlie Gordon
b842744a1e latex-mode: add extension sty for tex style sheets
* add KEY_CTRLC(x) as compressed key combination
* bind TeX-command-master to C-c C-c
2014-01-07 14:46:24 +00:00
Charlie Gordon
2c725986f8 add support for CTRL('c') as command prefix
* add KEY_CTRLC(x) as compressed key combination
* bind shell-interrupt to C-c C-c
2014-01-07 14:44:23 +00:00
Charlie Gordon
3dc8691a68 fixed crash in recursive help popup 2014-01-07 14:34:17 +00:00
Charlie Gordon
c3ee0186c2 quick fix for name clash on getline 2014-01-07 00:57:22 +00:00
Charlie Gordon
d7eb78adc7 fix c89 compilation for Haiku 2014-01-07 00:49:14 +00:00
Charlie Gordon
a178857b2b fix datadir and mandir redefinition via --prefix 2014-01-07 00:44:16 +00:00
Charlie Gordon
ab445e4bc1 improve overwrite-mode
* accept universal argument: NO_ARG: toggle, ==0 insert, !=0 overwrite
* added insert-mode command
2014-01-06 10:24:26 +00:00
Charlie Gordon
deb6972ca3 better charset handling
* make eb_insert_buffer return the number of bytes inserted
* reset page bits upon charset change
* add eb_delete_nextc: delete one encoded character at offset
* add eb_insert_uchar: insert a unicode character with encoding
* add eb_insert_utf8_buf: insert a utf8 encoded buffer with conversion
* make eb_printf insert utf8 bytes with conversion
* add eb_insert_buffer_convert: copy chars between buffers with charset
  conversion
* handle charset conversion correctly in various places
* insert wide caracters from hex mode
* create most buffers as BF_UTF8 by default
* set kill-buffer charset to that of kill source
* convert charsets when yanking
* handle charsets in search/replace system
2014-01-06 09:40:20 +00:00
Charlie Gordon
ee91b6c61f register ucs4 charsets 2014-01-06 04:30:09 +00:00
Charlie Gordon
c91bd12b8f simplified editing modes
* added colorize_func in ModeDef struct
* removed mode_init functions for most language modes
* other small improvements in mode_probe functions
* no need for get_basename in mode_probe functions
2014-01-05 23:42:54 +00:00
Charlie Gordon
a9006eff40 improve hex/binary file detection
* accept shiftin (^N) and shiftout (^O) ASCII control chars in text files
* faster scan in detect_binary
2014-01-05 23:23:09 +00:00
Charlie Gordon
f939ce7181 small improvements
* show new charset in set-buffer-file-coding-system
* do not use double negative if/else constructs
* ignore new extensions in file_completion
* pass filename to probe_mode, no longer need buffer reference
* fix support for line drawing characters in utf8 shell window
2014-01-05 12:51:41 +00:00
Charlie Gordon
3f2dfb08c0 fix do_goto for hex encoded offsets in chars and bytes 2014-01-04 17:35:12 +00:00
Charlie Gordon
2dbe907a64 move first_buffer_data_type to QEmacsState 2014-01-04 17:32:42 +00:00
Charlie Gordon
b3a709013a improve mode selection, cleanup
* pass ModeDef pointer to mode_probe functions
* add extensions field to mode structure
* rename ascii mode to binary mode
* rename mode variables and fields to more specific names
2014-01-04 17:26:30 +00:00
Charlie Gordon
b9d6113ba3 improve unicode hex display mode
* filter control characters and non BMP1 code points
* new mode specific modeline
* do not space out single width glyphs (not very readable)
* eb_get_char_offset: add validation on offset argument
* eb_get_char_offset: align offset argument on character boundary
2014-01-04 15:54:48 +00:00
Charlie Gordon
02dec8bf1a added generic utility function unicode_glyph_tty_width in charset.c
* moved and improved code from tty_term_glyph_width
2014-01-02 11:28:30 +00:00
Charlie Gordon
f9fe5a2032 improved utf8 charset selection for shell buffer 2014-01-02 10:22:48 +00:00
Charlie Gordon
ccbf2991cf allow NULL extlist in match_extension 2014-01-02 10:12:59 +00:00
Charlie Gordon
8892038d77 added rule to generate assembly language 2014-01-02 10:10:24 +00:00
Charlie Gordon
70eeae2309 support +line_num cmdline syntax in front of filenames 2013-12-27 02:04:21 +00:00
Charlie Gordon
7759a1467a simplified edit_set_mode API, display mode in bufed 2013-12-27 01:54:12 +00:00
Charlie Gordon
a3286d64ba simplified shell process interface, added ssh command
* more generic new_shell_buffer API, takes cmd, caption, flags
* added ssh command to open ssh connections
2013-12-24 23:42:10 +00:00
Charlie Gordon
722f8b919c use shell commands for all subprocesses 2013-12-24 16:12:48 +00:00
Charlie Gordon
ae7e2089fb warning about potential problem with signed errors in unused code 2013-12-24 16:10:52 +00:00
Charlie Gordon
67ecab27b5 changed match_extension utility function
* allow multiple extensions eg: |tar.gz|
2013-12-23 23:39:02 +00:00
Charlie Gordon
64ba634c2a shell.c: fixed shell buffer for Haiku
* moved setsid() call before open of pseudo terminal in child process
* increased buffer size to catch all output from child process
* catch stderr output from non interactive processes
2013-12-23 23:33:34 +00:00
Charlie Gordon
9434c3ba7b renamed functions for consistency 2013-12-23 23:26:43 +00:00
Charlie Gordon
0a90a0e83f added configure variables for portability (Haiku from Francois Revel)
Added datadir and mandir for systems that use different directory trees
In Haiku we don't have share/ at the usual prefix, and man pages are in
documentation/man/... So we need to pass those to configure.
This patch adds --datadir and --mandir support, the autofools way.
2013-12-21 16:24:38 +00:00
Charlie Gordon
c05cee4e3d fixed compile warnings in gcc2 (for Haiku) 2013-12-19 01:00:14 +00:00