Modified histroy_cmd() function: now it shows history of command
line widget, not yet another dialog window.
Modified menu entry.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
add show warnind dialog if system and display or source codeset are diferent
add global option skip_check_codeset if set then warnind window not show
set display_codepage, source_codepage = system locale
All editor private API stuff is located now in edit/edit-impl.h.
Public API is located in edit/edit.h.
Added functions to read some fields of WEdit struct.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
The 'User Menu' entry is moved from 'File' submenu to 'Command' one.
The 'Edit editor menu file' and 'Edit syntax file' entries are moved
from main MC menu ('Command' submenu) to editor main menu ('Options'
submenu) and renamed.
src/cmd.c (check_for_default): moved to util.c and maken global.
(menu_edit_cmd): rewritten to handle MC menu files only and renamed
to edit_mc_menu_cmd.
Editor relevant routines are moved to editor code.
src/cmd.h: cleanup.
src/main.c: main menu reorganization.
src/user.h: moved editor macros to edit/edit.h.
src/util.c, src/util.h: check_for_default function from src/cmd.h.
Rewritten to use exist_file() function.
edit/editcmddef.h: added new commands:
CK_Load_Syntax_File and CK_Load_Menu_File.
edit/edit.h: editor file macros from src/user.h.
New type for file which is currently being edited.
Modified edit_load_cmd function to be more advanced.
edit/edit.c (edit_execute_cmd): handle new commands:
CK_Load_Syntax_File and CK_Load_Menu_File.
edit/editmenu.c: menu reorganization: moved two entries here from main
MC menu. Added requireq handle functions. Small optimization: removed
extra layer in menu entry handlers.
edit/editcmd.c: menu and syntax files edit is implemented.
Modified edit_load_cmd function to be more advanced.
* 351_show_number_line:
fix hotkey menu entry "Toggle li&ne state" now highlighted "n"
add call CK_Toggle_Line_State to edit menu
show line number in left part of screen (hotkey alt-n)
add option editor_line_status to ini (src/setup.c)
add action CK_Toggle_Line_State (edt/editcmddef.h)
change "print_to_widget()" to show line state, if option_line_state = 1 show line num (edit/editdraw.c)
change "edit_draw_this_line()", (set line state: line num, etc)
add const LINE_STATE_WIDTH, add options: option_line_state, option_line_state_width (edit/edit.h)
add switch on/off show line number (edit/edit.c)
add CK_Toggle_Line_State to translation table command_names (bindings name is Toggle-Line-State).
add const LINE_STATE_COLOR for draw left area bar line state
add color pair "editlinestate" for set in ini
add help for keyword "editlinestate" on "mc --help-color" (src/main.c)
* m-utf-8: (223 commits)
Fix wildcard pattern in file select and file find dialogs
Project builds with option --disable-charsets
Deleted build-glib1.sh because glib1 don't work with utf-8
fix building without --enable-charset
Total replacement to mc_search stuff in all places
Search engine: if found_len parameter NULL, then mc_search_run don't try to fill them
src/view.c: Reworked search stuff to usage src/search
refactoring: rename edit/editcmd_dialog.c:editcmd_dialog__get_search_types_list to
Search engine: development of hex search complete
Search engine: remove forgotten debug string and reindent file
Search engine:
configure.ac: if present glib-2.14 and higher, libpcre don't linked
Search engine: now used regexp external engines:
src/find.c: Fixed core dump if content search pattern no present
edit/editcmd_dialogs.c: fixed state of search type between dialog window calls
Find files: checkbox 'Regular expression' for content search now default unchecked
Find files: changes for usage of new search engine:
Fix copy of current/opposite path to command line: remove charset info from path
src/Makefile.am: add some header files to Make-tracking
Fixed editor menu reloading.
This commit moves the mhl_str_concat_dir_and_file back into src/util.c whitout changing atm the functionality.
Please note that this is an incomplete fix and needs to be partially enhanced in order to keep the full functionality with glib.
Signed-off-by: Patrick Winnertz <winnie@debian.org>
* mc-4.6: (38 commits)
mhl: mhl_shell_unescape_buf(): fixed memory array OOB.
completion: fixed complete already escaped secuences.
completion: added changelog entry for solved #147
completion: fixed completion of escaped commands in commandline
Removed unused char*.
mhl: added mhl_strmove() function (memmove semantics)
completion: added escapes in command line on completion
complete: cleanup: #define to enum INPUT_COMPLETION_FLAGS
added a new parameter for completion flags to input_new
fish: cleanup: unboxed quoted strings when generate shell commands
introduced new type SHELL_ESCAPED_STR for more type safety
added mhl/types.h which defines bool enum, escape.h now using this type
Removed unused variable
Changes for use MHL.
Fixed bug with renamig/copying files with backshashes in names
Remove some testing stuff
Temporarry commit. Fixed completion in browse by directoryes.
Fixed some memory leaks.
Add $ and ` for escaping and reorder it according to the ascii values
Rewrite it to use g_string_append_c instead of some homebrew stuff
...
* mc-4.6:
replaced buggy concat_dir_and_file() by mhl_str_dir_plus_file()
fixed out-of-tree-builds
Updated the NEWS file for 4.6.2 and added the bugnumbers behind the items in the list.
Update for OpenOffice and StarOffice viewer.
changelog: added entry for python syntax
syntax: python: keywords update (patch by NNemec) fixes#216
AC_USE_SYSTEM_EXTENSIONS macro requires autoconf >= 2.60
po/ru.po: In russian translation, there are some hotkey conficts in menu.
ChangeLog/NEWS: added entry for #181 ticket (copy to deleted dir)
Now a trailing slash will only be added in copy & move dialogs if the path itselfs
copy/move dialog: add trailing '/' to default destination path (fix#181)
fixed comments to /* ... */
Not only comment it out but removing it
Removed unneeded var to make build process a bit cleaner
Add code snipplet by il.smind which should fix issues with putty and
Conflicts:
ChangeLog
mhl/string.h
src/command.c
src/complete.c
src/file.c
src/util.c
mc (mc over ssh on a putty console)
- to reproduce try this:
1) run 'putty'; login to remote host
2) run mc
3) press key '/' on keypad. You will see menu that is called when you press the F2
4) Go to 'Learn keys' (simple call dialog)
5) just exit from 'learn keys' dialog (without any changes)
6) 3) press key '/' on keypad again. You will see '/' symbol in command line.
add support for filesystem, that use others encodings than mc (vfs). Now can be
encoding set only manually, but automatic detection is possible. Filename is
converted in mc_readdir and other function translate it back by vfs_translate
added menu etries encodnig in left and rigth menu (localization will be neede)
modified subshell.c to put subshell correct working directoy,
modified ext.c and execute.c to translate filename before running command
there could be one problem, vfs_translate_path does not use something like
path_magic function
like buttons use menu entries hotkey_t. But menus are staticly defined, so this
change is much bigger. All menu declaration must be edited. follow standard
changes in drawing and handling hotkeys.
now basic mc's functions works in utf-8, remain correct calculation of controls
width in dialogs, replace functions like tolower, toupper,isspace, ... width
functions from strutil or g_ascii variant.
add support for filesystem, that use others encodings than mc (vfs). Now can be
encoding set only manually, but automatic detection is possible. Filename is
converted in mc_readdir and other function translate it back by vfs_translate
added menu etries encodnig in left and rigth menu (localization will be neede)
modified subshell.c to put subshell correct working directoy,
modified ext.c and execute.c to translate filename before running command
there could be one problem, vfs_translate_path does not use something like
path_magic function
rest of fixes in files cmc.c, main.c (xterm title), panelize.c, subshell.c,
tree.c, tty.c, user.c, util.c, win.c
now, basic mc's function should work well, editor and view are still broken.
like buttons use menu entries hotkey_t. But menus are staticly defined, so this
change is much bigger. All menu declaration must be edited. follow standard
changes in drawing and handling hotkeys.
now basic mc's functions works in utf-8, remain correct calculation of controls
width in dialogs, replace functions like tolower, toupper,isspace, ... width
functions from strutil or g_ascii variant.
add functions for working with strings
some functions are implemented directlu in strutil.c, others have ascii, 8bit
or utf-8 variant. (8bit means singlebyte encodings, where all characters have
width one). Mc autodetects terminal encoding at start and chooses right
variant. If does not know terminal encoding, chooses ascii variant.
contains functions:
1. for translation strings and growing strings
2. for working with characters (next char, prev char, length in
characters, isspace, isalnum, ...)
3. prepeare for display, replace invalid characters with questionmark,
unprintable with dot, left / right / center align
4. comparing strings
in future all string function from util should be moved into strutil, some
function from util have new variant in strutil.
(tty_tgetstr): Declare new function.
* src/tty.c [USE_NCURSES]: Request the inclusion of term.h.
(tty_tgetstr): Define new function
* src/main.c (init_xterm_support): Use tty_tgetstr().
the xterm mouse reporting modes offered by various xterm-like
terminals.
* src/mouse.c: Adjust the code to reflect the changes above.
Send the proper terminal control codes when xterm normal mouse
tracking is requested.
* src/main.c (init_xterm_support): Try to fine-tune the mouse tracking
mode based on the terminal type.
confirmation may be requested when deleting directory hotlist entries
based on a user configurable setting.
* src/file.h (safe_delete): Move declaration of `safe_delete'
* src/main.h: ... here.
(confirm_directory_hotlist_delete): Declare new global variable.
* src/file.c (safe_delete): Move definition of `safe_delete'
* src/main.c: ... here.
(confirm_directory_hotlist_delete): Define new global variable.
* src/hotlist.c (remove_from_hotlist): Based on a user configurable
setting, request confirmation when removing directory hotlist
entries. The confirmation dialog honours the `Safe delete'
setting.
Reorder the buttons in the hotlist group removal confirmation
dialog so that it becomes consistent with other confirmation
boxes.
* src/setup.c (int_options): Add support for user configurable
confirmation of directory hotlist entries removal.
* src/boxes.c (conf_widgets): Likewise.
(confirm_box): Likewise.
(my_directory_hotlist_delete): New module variable.
the currently selected panel entry and moves down. Suggested by
ForestCreature on mc-devel.
* cmd.h: Likewise.
* main.c (midnight_callback): When the space key is pressed and
the command line is empty, single_dirsize_cmd() is called.
warnings (many variables are also called edit).
* edit/editwidget.c: likewise.
* src/cmd.c: renamed edit() to edit_file() to avoid GCC shadow
warnings (many variables are also called edit).
* src/main.c: likewise.
pointer for previous widget. The widget can be replaced in the
meantime.
* dlg.c (dlg_select_by_id): New function, essentially a cleaner
implementation of dlg_select_nth_widget().
* dlg.c (dlg_mouse_event): Remove menubar hack.
* screen.c (do_panel_event): Redirect mouse events on the upper
frame to the menubar if it's invisible.
(panel_event): Don't repaint the panel after redirected events.
(midnight_callback): Don't call make_panels_dirty(). Mark
current panel dirty if the search mode is unset. No need to set
attibutes before calling show_console_contents().
MC_SID to the session number of the subshell.
(check_sid): Check that we are not running mc already in the
same session.
* main.c (main): Don't run do_nc() if shutdown was requested.
timeout. Adjust all dependencies.
* main.c (load_hint): Likewise.
* layout.c (setup_panels): Force updating the hint bar.
Original patch by Adam Byrtek <alpha@debian.org>
current path in the xterm window title.
(_do_panel_cd): Call update_xterm_title_path().
(done_mc): Remove final message for the titlebar.
* layout.c: Replace "Xterm hintbar" option with more generic
"Xterm window title". Update all dependencies.
(setup_panels): Call update_xterm_title_path().
(midnight_callback): Handle both Alt-Enter and Ctrl-Enter before
the widgets, because the input widget interprets them now.
(default_map): Remove Alt-Enter, it's handled elsewhere.
broken by design.
(tree_selected_name): New function, return name of the currently
selected entry. Use it where WTree is opaque.
* boxes.c (tree_callback): Don't check for the "done" flag - it
causes closing the dialog on any key after mouse selection.
* help.c (quit_cmd): Rename to help_quit_cmd().
(show): Rename to help_show().
* main.c (quit_cmd): Make static. Return void, not int.
(sort_cmd): Make static.
* widget.c (find_buttonbar): Use find_widget_type(). Make
global.
(define_label): Remove paneletc argument. Change all callers.
(define_label_data): Likewise.
(redraw_labels): Likewise. Use find_buttonbar().
* view.c (view_adjust_size): Use find_buttonbar().
* popthelp.c: Replace POPT_ with _ for visible strings.
(singleOptionHelp): Eliminate format array.
(poptHelpOptions): Make const.
(poptPrintHelp): Return width of left column.
* main.c (print_mc_usage): Use width from poptPrintHelp() for "+number".
pkgdatadir now. Install cons.saver to pkglibdir, pass it to the
compiler as LIBDIR.
* cons.handler.c (handle_console): Use LIBDIR.
* main.c (OS_Setup): Use DATADIR instead of LIBDIR. Rename
MC_LIBDIR to MC_DATADIR.
text into the command line.
* main.c: Use command_insert() instead of stuff(). This ensures
that the names in the command line are quoted.
Reported by Arpad Biro <biro_arpad@yahoo.com>
into one field "flags". Adjust all dependencies. Add new flag
DLG_COMPACT.
* wtools.c (dialog_repaint): Draw frame without spaces if
DLG_COMPACT flag is set.
* complete.c (complete_engine): Set DLG_COMPACT.
(query_callback): Use common_dialog_repaint().
never set to VISIBLY. Adjust all dependencies. Eliminate hack
with "clear_now" - it causes invalid memory access and hides the
real problem.
* util.c (strip_ctrl_codes): Fix possible invalid memory access
if the escape sequence ends unexpectedly.
(quit_cmd_internal): Use stop_dialogs() instead of stopping
midnight_dlg only. This fixes exit from the shell invoked from
the internal viewer or editor.
* main.c (print_mc_usage): Add "stream" parameter to specify
file stream.
(process_args): Use print_mc_usage() with stdout as stream.
(handle_args): Use print_mc_usage() with stderr as stream.
(print_color_usage): Write to stdout.
was broken. Secondly, every developer should be able to add
this code when needed. Finally, there is no need to expose the
option to the user and translate it into 30 languages.
* subshell.h: Remove debug_subshell.
* subshell.c: Likewise.
should only be called once, disable_mouse() and enable_mouse()
should be used later. Distinguish between disabled and
undetected mouse. Remove debugging stuff. Adjust all users.
* mouse.c: Implementation of the above.
* key.c: Don't use gpm_flag - check mouse_enabled instead.
because of "kmous" in terminfo. Setiing this flag means much
more than just mouse support. Recognize terminals beginning
with "rxvt" and set xterm_flag for them.
init_mouse() and shut_mouse(), since those functions decide
themselves what to do.
* layout.c (done_screen): Likewise.
* main.c (setup_mc): Likewise.
* text.c (edition_post_exec): Likewise.
(edition_pre_exec): Likewise.
* mouse.c (init_mouse): Use xmouse_seq instead of hardcoded
xterm mouse sequence.
* main.c (setup_post): Join with setup_mc().
(init_xterm_support): New function. Check mouse capability.
(OS_Setup): Remove parts that are now in init_xterm_support().
Reenable to make "mc -v" possible.
(do_nc): Call mc_maybe_editor_or_viewer() even if the editor
is not compiled in.
(argument_table) [!USE_INTERNAL_EDIT]: Disable "-e".
copy_current_readlink() and copy_other_readlink().
Don't do anything with cmdline and command_prompt.
* screen.c [HAVE_X]: Disable panel_event(), chdir_other_panel()
and chdir_to_readlink(). Adjust all callers.
(panel_key) [HAVE_X]: Don't use command_prompt - always
start search on alphanumeric keys.
* setup.c [HAVE_X]: Disable save_layout(), load_layout(), struct
layout. Adjust all dependencies.
They are declared in selcodepage.c.
* setup.c [USE_VFS]: Remove declarations for variables which are
declared in vfs/ftpfs.c.
(load_setup) [HAVE_CHARSET]: init_printable_table commented
out to enable compilation. Error strings tagged for translation.
(init_setup): Optimized.
* main.c [HAVE_CHARSET]: Don't use eight_bit_clean and
full_eight_bits. Use source_codepage and display_codepage to
deduce the terminal 8-bitness.
* main.h [HAVE_CHARSET]: Change to match main.c.
* setup.c [HAVE_CHARSET]: Implement saving and loading charset
settings.
* util.c (is_printable) [HAVE_CHARSET]: Use charset settings.
* view.c [HAVE_CHARSET]: Implement charset support.
From Walery Studennikov <hqsoftware@mail.ru>.
`x11_display' and `w' to `x11_window'. Make them static.
(init_textmode_x11_support): Include into init_key().
(done_textmode_x11_support): Include into done_key().
(k_dispose): Make static.
(s_dispose): Likewise.
* key.h: Remove init_textmode_x11_support() and
done_textmode_x11_support().
* main.c: Don't call init_textmode_x11_support() and
done_textmode_x11_support().
* widget.c [HAVE_X]: Likewise.
* main.c [HAVE_X]: Likewise. Don't call init_key() and
init_key_input_fd().
* setup.c [HAVE_X]: Remove some variables that make no sence
for the GNOME edition. Eliminate save_panel_types().
* view.c [!PORT_WANTS_VIEW]: Eliminate view_mode_callback().