...or not-so-large but nevertheless
contain more than one function call,
or contain loops, or contain if's and at least one
function call, or contain largish objects on stack.
In my experience, in those cases the code size
growth is big enough to not inline stuff.
I guess some of the really big functions
are defined inline because they have, or had in the past,
just one callsite.
But for a few years gcc already does it automatically,
no need to do it by hand and risk code size explosion
when later during code evolution another callsite
is created. This optimization by hand is simply
no longer needed.
Anyway, here is the code size difference:
text data bss dec hex filename
572337 17944 177820 768101 bb865 mc.t5/.obj/src/mc
567697 17944 177820 763461 ba645 mc.t6/.obj/src/mc
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
fix: backward search. When the cursor set on the begin of the word,
search found this word, but should not.
Signed-off-by: Ilia Maslakov <il.smind@google.com>
thanx Daniel Borca <dborca@yahoo.com> for the patch
* fix special_chars in regex.c
* add whole_words into mc_search_struct
* add 'Whole words' into 'Search', 'Replace' 'File find' dialogs
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Suppose you have two files, foo and bar. Both files have 444 permissions.
Now edit foo and "Save". It can't save and instead prompt you to "Save As".
Enter bar. It will chmod bar to 644. If we don't touch touch existing file
permissions for "Save", I don't see why we should for "Save As".
Patch adds S_IWUSR only if different_filename and file does not exist yet.
For consistency, it's S_IWUSR not S_IWRITE.
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
* add keyboard shortcuts
* add showing bookmarks
Signed-off-by: Ilia Maslakov <il.smind@google.com>
* show '*' for bookmarked line (if line state showed)
Signed-off-by: Ilia Maslakov <il.smind@google.com>
first commit for support drag cursor after end of line
* change mouse movement, allow place cursor after EOL
* change vertical select
* fix: right scroll
Signed-off-by: Ilia Maslakov <il.smind@google.com>
Code clean up.
Modification of tty_refresh for NCurses: call doupdate() after refresh()
every time.
tty_draw_box_slow() is not private function of TTY now.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
tty_touch_screen() is used instead of touchwin() function or macro.
tty_set_normal_attrs() is used instead of standend() function or macro.
tty_set_alt_charset() is used instead of acs() and noacs()
functions or macros.
tty_baudrate() is used instead of baudrate() function or macro.
tty_keypad() is used instead of keypad() function or macro.
tty_nodelay() is used instead of nodelay() function or macro.
tty_reset_prog_mode() is used instead of reset_prog_mode() function or macro.
tty_reset_shell_mode() is used instead of reset_shell_mode()
function or macro.
tty_beep() is used instead of beep() function or macro.
* The sample of the containing text by file search;
* The sample of search in file mcview;
* The sample of search in mcedit (search operation);
* The substituting text in mceditor (replacement operation).
Author: Alexey Korop
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Editor: search will continue from last search string if SHIFT+F7 hotkey pressed
at first time (without pressed F7 key).
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
add const MC_HISTORY_SHARED_SEARCH into history.h
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Signed-off-by: Patrick Winnertz <winnie@debian.org>
edit: cleanup: moved variable declaration to begin of block
edit: have_charset: added explicit variable declarations
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
fix not initialized variable 'cw'
fix variables 'cw', 'utf_ch', make more safety algorithm.
fix: issue in 'while'
remove 'Once' button as 'atavism'
add 'from' field in confirm dialog
Fixed layout of place confirmation dialog in mcedit.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Description:
Autocomplete doesn't find the word at the begin of file.
Fix issue: search words for autocomplete start with 1 byte offset (start=0 was mean start=1)
Now fixed. Also, removed forgot debug code.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
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>
add entries for many action:
menu Edit
* Copy to clipfile
* Cut to clipfile
* Paste from clipfile
* Toggle bookmark
* Next bookmark
* Prev bookmark
* Flush bookmark
menu Command
* Find declaration
* Back from declaration
* Forward to declaration
add show shortcuts for copy/cut/paste clipfile
* commit 'origin/340_inrorrect_handling_of_wildcards': (21 commits)
Fixed work with copying/moving files by mask into subdirs
Fixed bug with copying files/dirs into directory with 'wild' name (such as ${}, \1, etc.)
Fixed patterns escaping of wild filenames (such as \1, ${1}, \U, etc).
Removed unused debug code from src/filegui.c
Refactoring: renamed variable 'loop' into 'curr_index'
Changed defined constants to static const char[] declarations.
Fixed declarations of functions. May be, need to split with previous commmit...
Reworked functions strutils_shell_escape and strutils_shell_unescape
Renamed functions shell_escape (to strutils_shell_escape) and shell_unescape (to strutils_shell_unescape)
Just identation of some source files
Renamed function shell_is_char_escaped to strutils_is_char_escaped; removed function mc_search_is_char_escaped
Moved 'escape' and 'unescape' strings functions from src/util.[ch] into src/strescape.[ch]
Fixed crash if replace group ${N} used into replace string
Some cosmetic optimisation for less code :)
Fixed searched token in source file mask.
Fixed NULL acertion if replacement don't correct
Handle new search replace behaviour into src/file.c. Also fixed filemask into src/filegui.c
Search Replace now handled \U,\u,\L,\l and \E modificators.
Just identation of regex.c and search.h
search engine: Added new syntax for replace tokenks.
...
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.
Description by Sergei Trofimovich:
GNU ChangeLog? files are result of CVS stupidpity about changeset tracking.
Currently constantly updated ChangeLogs? diverge in different branches and cause collisions(!)
when 'git merge' (almost ANY SINGLE MERGE!).
Major changes can be described in NEWS file, minor changes can be autogenerated via 'git log'/'git shortlog'
and friends (if needed at all).
* 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)
edit.c:2645:
implicit declaration of function ‘edit_move_block_to_right’
edit.c:2805:
implicit declaration of function ‘edit_move_block_to_left’
Signed-off-by: Mikhail S. Pobolovets <styx.mp@gmail.com>
* 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.