Commit graph

147 commits

Author SHA1 Message Date
Charlie Gordon
c0d551da2e use generic prompt system for write-file and simplify do_save_buffer
use INT_MAX instead of MAXINT
use INT_MIN for NO_ARG
2007-12-21 10:30:24 +00:00
Charlie Gordon
6754c5379d fixed configure and Makefile for tiny build
updated statistics in qe-doc (sadly, sizes have increased substantially)
2007-12-20 21:37:34 +00:00
Charlie Gordon
788461233d raw_save_buffer takes range and returns number of bytes written
added eb_write_buffer, returns number of bytes written
renamed save_buffer to eb_save_buffer, returns number of bytes written
added range in buffer_save method in EditBufferDataType
no longer reset undo log upon file saving
renamed do_save to do_save_buffer
added do_write_region (bound to C-X w)
renamed command execute-extended-command to execute-command
renamed command vc-toggle-read-only to toggle-read-only
fixed mark-whole-buffer to set point to start and mark to end of buffer
query-replace accept upper-case Y and N, and . for replace and quit.
shell passes universal argument to do_shell
bind next-error to C-X `
2007-12-20 16:27:21 +00:00
Charlie Gordon
bf17e23390 renamed css_isxxx and css_toxxx ctype alternatives to qe_* 2007-12-15 16:44:31 +00:00
Charlie Gordon
5768f42cd8 no longer use ctype.h macros and functions
- ctype.h has strong constraints on arguments
- ctype.h implements bogus irrelevant inefficient locale specific behaviour
- use replacement css_xxx functions
- all take int arguments: can be any value, yet only test ASCII subset
- all css_isxxx return true boolean (1 or 0)
- removed utoupper(int) -> css_toupper(int) has same functionality

resolved ffmpeg clash on string functions from cutils.c module
- added #defines to make them local
- renamed some strixxx functions to strxxxx (extended behaviour)
- moved case insensitive stuff to util.c

fixed bug in strtokey: C-M-x combinations were not recognized
improved eb_changecase
fixed C comment parsing in css parser
2007-12-15 16:02:47 +00:00
Charlie Gordon
481248bc7b added and improved some buffer functions:
renamed eb_get_str to eb_get_contents
fixed buffer size issues in eb_get_line
fixed utf-8 issues in eb_get_strline
added eb_prev_line
added eb_goto_bol2: computes number of code points skipped
added eb_goto_eol
simplified code accordingly

added set_color1 inline function
renamed parse_config to do_load_config_file (invocable from A-x)
  changed command name from parse-config-file to load-config-file
  fixed bug when invoked with a filename
renamed center_cursor to do_center_cursor (invocable from A-x)
  made it invocable as center-cursor
2007-12-15 07:34:43 +00:00
Charlie Gordon
26ea3f69a0 added wrappers and utilities for safer memory allocation:
type *qe_malloc(type);
type *qe_mallocz(type);
type *qe_malloc_array(type, count);
type *qe_mallocz_array(type, count);
type *qe_malloc_hack(type, extra_bytes);
type *qe_mallocz_hack(type, extra_bytes);
void qe_free(&ptr);
void *qe_realloc(&ptr, new_size);
char *qe_strdup(const char *str);
void *qe_malloc_bytes(size_t size);
void *qe_mallocz_bytes(size_t size);
void *qe_malloc_dup(const void *src, size_t size);

pass pointer address to bmp_free()
2007-12-12 11:49:02 +00:00
Charlie Gordon
7817049123 cosmetics 2007-12-12 08:51:02 +00:00
Charlie Gordon
57c3461e0d simplified set_color API, made in inline
improved command parsing, refined argval handling, pass as optional arg
pass command arguments as an array of unions
use correct type in command dispatcher (upto 2 arguments)
merged do_goto_byte, do_goto_line, do_goto_char, extend syntax
fixed kill commands: kills are appended/prepended to kill buffer
added append_next_kill command
added do_kill_line (split from do_kill_region)
added do_kill_word (removed do_delete_word)
added do_kill_paragraph
pass argval to do_backspace and do_delete_char, fix kill behaviour
fixed kill-ring initial state bug
fixed do_yank: set mark and this_cmd_func
fixed do_yank_pop: test last_cmd_func, use eb_delete instead of do_undo
fixed do_yank_pop kill-ring bug
added clamp(int x, int min, int max);
added qs->this_cmd_func so commands can override qs->last_cmd_func
allow KEY_ESC + extended key as command binding
added do_c_forward_block, needs rewrite using colorization code
added do_c_kill_block
added insert-char command (argval repeats instead of forcing char value)
renamed delete-word to kill-word
renamed backward-delete-word to backward-kill-word
added kill-beginning-of-line
2007-12-12 02:51:05 +00:00
Charlie Gordon
0507ffacc3 fixed function key mapping issues in X11 and Wndz
fixed C lang colorizer for some multiline stuff, wide char/strings
use countof() macro
cosmetics
2007-12-10 13:28:07 +00:00
Charlie Gordon
3695abe5b6 added more Hebrew keymaps
support multiple output for input methods
colorize function calls in C mode
2007-12-09 23:31:38 +00:00
Charlie Gordon
d286b27756 made more local variables static
fixed bug in cfb32_fill_rectangle
use c99 syntax for new style struct initializers instead of gcc specific
simplified tolower unsigned char hacks
fixed various sparse warnings
2007-12-06 17:43:47 +00:00
Charlie Gordon
0446a52d21 added more charsets
simplified charset alias system
reorganized charset functions
groomed completion functions
2007-12-06 15:28:29 +00:00
Charlie Gordon
b82cea744d small simplifications, remarks
small fixes and extra info in code page files
2007-12-05 08:49:38 +00:00
Charlie Gordon
134ced6963 removed charset_table.c
added charsetjis.c and charsetjis.def
moved code from charsetmore.c to charset.c and charsetjis.c
improved cp parser cptoqe.c, make it generate charsetmore.c
small changes in QECharset structure: added eol_char and made aliases const
removed redundant QECharset declarations from qe.h
separate JIS table generation into jistoqe.c, make it generate charsetjis.def
updated Makefile, .cvsignore
improved fbftoqe.c
improved kmaptoqe.c, added --dump option
added argc, argv to QEmacsState
improved set_user_option: put runtime and user directories in front of res_path
added some missing file headings
2007-12-03 16:15:01 +00:00
Charlie Gordon
a0bfcd45bd fixed unsigned char issues
added TODOs
bumped version to 0.4.0dev
mention chqrlie in --version
cosmetics: reindented Makefile
2007-02-06 17:41:16 +00:00
Charlie Gordon
eb3afbb862 renamed do_less_quit() to do_less_exit() for consistency with command name
fixed crash in do_less_exit() when invoking "less-exit" with A-x
fixed c auto-indenter to not move point unless within the indent space
fixed the electric-c mode
2007-01-12 15:06:16 +00:00
Charlie Gordon
494e9f7866 include cflags.mk for extra gcc warnings if present
utf8_encode now returns the number of characters copied,
  simplified code accordingly
made local functions static
tagged unused function arguments
fixed shadowing issues
added support for GCC attributes for unused arguments and format strings
use snprintf() instead of sprintf()
moved scattered declarations to qe.h
removed duplicate declarations in header files
eb_write() payload argument is now const
fixed crash bug: reset trace_buffer upon deletion
improved trace_buffer readability: trace all pseudo tty streams separately
added missing structure initializers
removed buffered string handling from cutils.h
added new buffered string API for statically allocated buffers (should unify)
small improvements in X11 initialization
improved consistency in tty.c (function names...)
  added STDIN and STDOUT streams in QEditScreen to stop using stdin and stdout
  use unlocked stream I/O if available (faster)
  changed and documented terminal setup and exit sequences
  improved charset handling
mode_line functions now return the character count (like snprintf)
2006-12-31 19:34:00 +00:00
Charlie Gordon
1c91b22914 moved charset_complete() to charset.c
added do_set_trace()
added mode_completion()
simplified command_completion()
simplified style_completion()
simplified buffer_completion()
fixed bogus terminal display for character ^? (DEL or 127)
2006-12-11 23:21:04 +00:00
Charlie Gordon
d447798717 added missing licence header
fixed typos
added constness
comments about potential problems
identified 64 bit portability problem
fixed small issue in get_default_path()
allow signed numbers in config file
added comments about old code for reference (tty.c, shell.c)
2006-12-09 19:47:20 +00:00
Charlie Gordon
b78ca68086 Display number of rows upon resize 2006-04-27 15:22:26 +00:00
Charlie Gordon
2fffd2ce7c allow multi-registering of command tables
added command do_minibuffer_get_binary (bound to minibuffer M-=)
  reads a word from the current buffer and display its value in decimal
  using CPU default endianness and long word size.  should take optional
  parameters to specify endianness, word size and destination.
2006-04-24 11:44:57 +00:00
Charlie Gordon
ade489eba5 msg 2005-07-08 09:30:43 +00:00
Charlie Gordon
3f73242a38 fixed compilation warning. 2005-05-18 22:34:42 +00:00
Charlie Gordon
f6867f8b51 - Added font locking to fix crash bugs in html/css.
- select_font() now locks the font, which must be unlocked with
  release_font().  Extra locks can be added with lock_font().
- Added release_font() wherever needed.
- Added put_error() to store errors in *errors* system buffer.
- Make put_status() store messages in *messages* system buffer.
2005-05-13 10:05:23 +00:00
Charlie Gordon
65daffbd4f fixed filename buffer sizes (MAX_FILENAME_SIZE)
various cosmetics (spacing, untabify)
fixed some cursor bugs on long lines
commented on portability issues in command invokation
improved defaut_path_name on fileless buffers
added status with screen size upon screen resizing
2005-05-11 15:51:53 +00:00
Charlie Gordon
76fda12164 use splitpath instead of deprecated pathname in get_default_path 2005-05-10 20:56:42 +00:00
Charlie Gordon
6dbffb4024 added '*' in command argument strings for commands that modify buffer contents
changed command definitions accordingly.
added C-x C-g binding for abort
added C-\ binding for call-last-kbd-macro
changed binding for switch-input-method to C-x C-\
added commands:
  not-modified on A-~ (reset buffer modified flag)
  load-file-from-path(file)
  mark-whole-buffer() on C-x h
  count-lines() on C-x l
  what-cursor-position on C-x =
allow key_grabber to quit and unget last key.
added splitpath() to dispatch directory and filename into separate buffers.
make separate functions for show_version and show_usage.
make separate function for parse_command_line.
added command line options:
  --help          -h   display help message and exit
  --no-init-file  -q   do not load config files
  --user          -u   load ~USER/.qe/config instead of your own
  --version       -V   display version information and exit
added -- as a marker for end of command line options.
allow most keys to be transmitted to shell process, including function keys.
improved shell buffer escape sequence parser.
added automatic detection of full screen shell applications and grab all keys
  try mc, Menuconfig, or even qemacs within qemacs !
improved *trace* buffer: do not trace keys when trace buffer is current,
  thus allowing navigation without side-effects
improved Makefile to not make html stuff if disabled
reduced CONFIG_TINY feature set
2005-05-09 09:10:37 +00:00
Charlie Gordon
421067af0b added fake charset vt100 for shell buffer
use simpler utf8 terminal test, ie: compatible with shell buffer.
added terminal dependant escape sequences,
  with limited support for vt100 variants.
more precise escape sequence parser in shell buffer.
trace shell output in trace_buffer.
improved file_completion :
  fix buffer overflows,
  ignore . and .. and backup files
  ignore file_completion_ignore_extensions,
2005-05-09 06:21:49 +00:00
Charlie Gordon
c6fa69e7d4 added more shell buffer emulation stuff.
select charsets in vt100 tty.
2005-05-09 03:32:19 +00:00
Charlie Gordon
811a16a0e3 changed do_line_numbers to do_toggle_line_numbers
changed do_line_truncate to do_toggle_truncate_lines
fixed define_kbd_macro string arguments mixup
added edit_find() to locate window with a given buffer
removed test kludge in term_flush()
various cosmetics.
2005-05-09 03:19:36 +00:00
Charlie Gordon
1f1df524cd added commands:
non-incremental search-forward, search-backward.
  unconditional replace-string
  set-visited-file-name with optional file rename
  set-emulation
  cd (change directory)
  set-mode
start in dired mode when invoked with no arguments
2005-05-09 02:42:07 +00:00
Charlie Gordon
8fac0ab42e reordered KEY_xxx definitions
added KEY_DEL=127 (formerly KEY_BACKSPACE)
added KEY_BS=8  C-H  to handle control-h as backspace on some ttys
fixed KEY_F6 thru KEY_F12 (were off by one)
added strtokeys() to convert a string with key names to a key buffer
added define-kbd-macro() from key string
added execute-macro-keys() to execute commands from a key string
improved qe_key_process().
changed method to update shell cursor : tty_update_cursor disabled
  shell_display_hook() used instead
greatly improved shell buffer behaviour, charset handling.
much improved tty input handling : support more key combinations and modes.
added missing charset declarations in qe.h
added borders_invalid and complete_refresh window flags
made C-L completely refresh display
moved window border display to separate function
changed edit_display() to allow complete redisplay even with popups
fixed window delete crash bugs by improving consistency with
  edit_attach and edit_detach.
2005-05-09 02:17:47 +00:00
Charlie Gordon
29242809bb allow window navigation with C-X n / C-X p /
C-X up / C-X down / C-X left and C-X right.
added completion on color names
2005-05-09 01:35:31 +00:00
Charlie Gordon
bcd278f8c4 added do_toggle_control_h() declaration
put message in do_quote(), do_set_mark(),
added find_window() to locate window in a given direction.
added do_previous_window() for window navigation.
do not split popup window in do_split_window().
allow window navigation with C-X n / C-X p /
  C-X up / C-X down / C-X left and C-X right.
2005-05-09 01:29:34 +00:00
Charlie Gordon
be58a93b28 test TERM variable for backspace key code detection (^H or DEL)
ansi, cygwin, vt -> ^H
  linux, xterm, ... -> DEL (unchanged)
changed set-backspace-is-control-h to toggle-control-h.
changed CMD() command definition macro to CMD_() with arg definition
  string at the end for improved readability.
removed obsolete CMDi and CMDss command definition macros.
dired.c hex.c image.c latex-mode.c qe.c qe.h qeconfig.h shell.c tty.c
2005-05-08 16:31:47 +00:00
Charlie Gordon
662cbad090 added *trace* buffer to track actual tty input 2005-05-08 15:33:24 +00:00
Charlie Gordon
33716b7010 allow more C-X key combinations in command tables
improved error context handling, removed error_printf.
make get_str() skip spaces before and after token.
simplified use of get_str(), removing space skipping.
simplified libqhtml/xmlparse.c and libqhtml/cssparse.c accordingly.
extend config file syntax :
  support for 1 level if(0 or 1) { } blocks
  report syntax errors
added local config files .qerc for project based settings
added TODOs
added support for home dir syntax in canonize_absolute_path().
2005-05-08 15:07:28 +00:00
Charlie Gordon
c525f403c2 added support for backspace key generating control-h :
do_set_backspace_is_control_h command and
  backspace_is_control_h variable.
added display_hook support in edit_display to allow windows to
  do mode specific stuff prior to display loop.
added BF_DIRED buffer flag.
fixed get_default_path for dired mode.
dont count popups in do_delete_window().
fixed more popup stuff in do_delete_window.
pass filename to parse_config.
added parse-config-file(filename) command.
2005-05-06 08:40:47 +00:00
Charlie Gordon
f4649fc080 added dummy_font so select_font never returns NULL
do not free system fonts
changed scroll command to support half window and one line modes
added commands to navigate window layout
2005-05-05 17:21:54 +00:00
Charlie Gordon
90da5da321 removed most references to global state structure qe_config 2005-05-05 17:11:13 +00:00
Charlie Gordon
e52ad7b44e moved minibuffer and less-mode initialisation to separate functions 2005-05-05 16:49:37 +00:00
Charlie Gordon
da2628b53f added dummy display, error_context and error_printf to track errors during
startup time, esp. while parsing config file.
various comments and cosmetics
some cosmetic changes
some assertion checks in buffer.c
2005-05-05 13:40:57 +00:00
Charlie Gordon
7752172d59 added color_define and completion primitives
added QASSERT macro
various comments and cosmetics
2005-05-05 11:36:28 +00:00
Charlie Gordon
90f94c7af3 fixed compilation warnings about signed/unsigned comparisons
fixed compilation warnings about const string literals
some cosmetic fixes
2005-05-05 11:10:26 +00:00
Charlie Gordon
d97c199ee7 added cygwin support 2005-05-04 19:40:26 +00:00
Charlie Gordon
3dd0f5660c Initial revision 2004-05-29 10:17:37 +00:00