Commit Graph

2666 Commits

Author SHA1 Message Date
Patrick Winnertz
f237a14635 Revert some functions (mhl_mem_free to g_free, etc)
Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-10 13:52:53 +01:00
Patrick Winnertz
e4e135399f Revert "replaced buggy concat_dir_and_file() by mhl_str_dir_plus_file()"
This reverts commit 54d6ec88dc.

Conflicts:

	ChangeLog
	mhl/string.h
	src/command.c
	src/complete.c
	src/util.c
2009-02-10 13:29:18 +01:00
Sergei Trofimovich
c26e289b9f panel: fixed crash when rename/copy (introduced by revert of mhl_strmove)
g_strconcat expects 0 as last argument, but mhl_strmove is not.
When reverting this detail was overlooked. Returning 0 as last argument.

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-02-07 16:20:03 +02:00
Sergei Trofimovich
97bdf084f8 shell_unescape: fix recently added breakage of decoding escapy strings
This pach fixes two issues (both appear only in escapy strings):
  * tail cut of escapy string when '\\' is met
  * head cut of escapy string when '\\' is met :]

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-02-07 16:15:41 +02:00
Sergei Trofimovich
96fc77bc3e fixed canonicalize_pathname() breakage: fixed str_move() function (memmove semantics) again
This patch reintroduces fix firstly appeared in (and recently broken by mhl revert)
>   commit e48cb7c89f
>   Author: Sergei Trofimovich <st@anti-virus.by>
>   Date:   Fri Jan 30 09:31:28 2009 +0200
>
>        mhl: added mhl_strmove() function (memmove semantics)
...
>            Snippet of man strcpy:
>       DESCRIPTION
>               The  strcpy()  function copies the string pointed to by src, including the terminating
>               null byte ('\0'), to the buffer pointed to by dest.  ___The strings may not overlap___,
>               and the destination string dest must be  large enough to receive the copy.
>       We used strcpy to move data chunk in memory: "./foo" -> "foo", etc.
>
>       This patch introduces mhl_strmove and fixed canonicalize_pathname.

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-02-07 16:10:33 +02:00
Sergei Trofimovich
e0aba5d588 completion: do not complete dead/broken files as dirs
When we try to complete something what can't be stat()'ed,
we treated it like dir. Now we do not consider such candidates
for completion.

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-02-07 16:04:36 +02:00
Patrick Winnertz
8bd883085f Removed TODO Marker in util.c as the functions are fully ported to use glib now
Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-06 15:01:34 +01:00
Patrick Winnertz
161164c556 Reworked shell_unescape function in order to make use of glib.
This commit will replace some *ptr = c; stuff with g_string_append_c(str,c);
in order to use glib here.

Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-06 14:50:22 +01:00
Patrick Winnertz
fe95221f05 Rewrote the shell_escape function in order to make us of GString and g_string_append_c
As we decided to fully switch back to glb we needed to rewrite this function in order to use
glib functions. This means in this case mostly that *ptr = c; ptr++; is replaced by something
like this: g_string_append(str,c); with str a GString*.

Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-06 14:32:09 +01:00
Slava Zanko
e54f318cef Completely removed MHL stuff
Changed all source files relative to remove MHL

Some string-related functions moved into src/util.c

This stable fix.
2009-02-06 14:01:28 +02:00
Patrick Winnertz
3b8f37b99e Moved some functions out of mhl into src/util.c
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>
2009-02-06 11:17:03 +01:00
Patrick Winnertz
0450daf566 Removed type SHELL_ESCAPED_STR in favour of plain char*
Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-06 00:20:19 +01:00
Patrick Winnertz
589ffd0b10 Use g_snprintf instead of snprintf as we switch back to glib
Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-05 23:49:00 +01:00
Patrick Winnertz
ae987b923e Reverted the use of bool in favour of gboolean
Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-05 23:46:07 +01:00
Patrick Winnertz
d84586ba82 Reverted the use of mhl_str_dup and use g_strdup instead.
Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-05 23:40:32 +01:00
Patrick Winnertz
1c287d798d First bunch of mhl_mem_free removal patches
Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-05 23:36:58 +01:00
Patrick Winnertz
155fd328a4 Revert second bunch of mhl patches (see 9b9cab5874)
This reintroduce GString again and drop the use of mhl_mem_free in some files

Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-05 23:18:38 +01:00
Patrick Winnertz
5920d13810 First bunch of reverting stuff from mhl to switch back to glib
This removes the usage of stdbool.h in favour of mhl/tyes.h as we have to revert everything one by one

Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-05 23:09:37 +01:00
Patrick Winnertz
bbf507b237 Merge branch '161_drop_bundled_slang'
* 161_drop_bundled_slang:
  Removed bundled slang

Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-05 10:40:59 +01:00
Enrico Weigelt, metux IT service
220f4f4caf manually merged mc-4.6 2009-02-05 07:25:47 +01:00
Enrico Weigelt, metux IT service
a5ba278729 merged in lzma patch from mandriva 2009-02-04 21:16:00 +01:00
Patrick Winnertz
0c7d399300 Reverted Enricos backport from master which removes accidentially slang1.x support
Enrico has accidentially removed the slang1.x support in mc-4.6 branch as
this is a structural change which clearly doesn't belong into mc-4.6.

Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-02-04 20:37:00 +01:00
Enrico Weigelt, metux IT service
0c97636212 fixed #240 2009-02-04 01:11:56 +01:00
Enrico Weigelt, metux IT service
be982505cc Merge commit 'origin/mc-4.6' 2009-02-04 00:30:57 +01:00
Enrico Weigelt, metux IT service
03ec5ef574 backported #199 branch 2009-02-04 00:29:28 +01:00
Enrico Weigelt, metux IT service
9b9cab5874 manually merged 234_remove_g_string 2009-02-02 22:39:12 +01:00
Enrico Weigelt, metux IT service
8b38cf44da manully merged 227_replace_g_free 2009-02-02 22:34:05 +01:00
Enrico Weigelt, metux IT service
035fa47c06 manually merged 228_replace_g_strdup 2009-02-02 21:28:01 +01:00
Enrico Weigelt, metux IT service
7015de5db5 Merge commit 'origin/236_replace_gboolean' 2009-02-02 21:16:39 +01:00
Enrico Weigelt, metux IT service
0434e3de5d manually merged 235_remove_g_snprintf 2009-02-02 20:53:03 +01:00
Enrico Weigelt, metux IT service
45964f373b replaced gboolean by bool (from mhl/types.h) 2009-02-02 05:07:56 +01:00
Enrico Weigelt, metux IT service
4f9185a3ee Removed bundled slang 2009-02-02 04:23:06 +01:00
Enrico Weigelt, metux IT service
3410eb3229 Merge commit 'origin/mc-4.6' 2009-02-01 22:38:48 +01:00
Enrico Weigelt, metux IT service
48a85a7b97 manually merged 232_fix_init_chown_advanced 2009-02-01 22:37:57 +01:00
Enrico Weigelt, metux IT service
74c5601339 Merge commit 'origin/mc-4.6' 2009-02-01 22:07:03 +01:00
Sergei Trofimovich
6b6d4a222d cleanup: moved int to size_t
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-02-01 22:44:44 +02:00
Enrico Weigelt, metux IT service
6f9ef0b7be fixed unitialized var in init_chown_advanced() - patch from andrew_b 2009-02-01 20:32:11 +01:00
Enrico Weigelt, metux IT service
6c016bc781 fixed name_trunc() on NULL or empty strings - patch from andrew_b 2009-02-01 20:26:27 +01:00
Enrico Weigelt, metux IT service
e4a4f77ac2 replaced g_snprintf() by snprintf() 2009-02-01 20:03:28 +01:00
Sergei Trofimovich
5ee6f43796 build fix: added missing declaration of mhl_dir_plus_file
./configure --enable-charset && make
    charsets.c: In function 'load_codepages_list':
    charsets.c:51: warning: implicit declaration of function 'mhl_str_dir_plus_file'
    charsets.c:51: warning: assignment makes pointer from integer without a cast

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-02-01 20:46:18 +02:00
Sergei Trofimovich
df4129517b Merge branch 'mc-4.6'
* 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
  ...
2009-02-01 14:26:54 +02:00
Sergei Trofimovich
ad1abaebfb completion: fixed complete already escaped secuences.
<winnie> ls -lQ /tmp/test
-rw-r--r-- 1 winnie winnie 0 30. Jan 13:05 "a"
-rw-r--r-- 1 winnie winnie 0 30. Jan 13:04 " test\"hallo"
-rw-r--r-- 1 winnie winnie 0 30. Jan 13:04 " test$hallo"
<winnie> and then cat /tmp/test/\ and ESC-tab in subshell...

unescape/escape sequences in command completion (it also solves
completiont of weirdweird escapy commands like ./<escapy-cmd><complete>, like:
$ ls -lQ
-rwxr-xr-x 1 slyfox slyfox 2037 Jan 15 21:18 "  'asd&&\"->build-glib1.sh"

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-02-01 13:28:31 +02:00
Sergei Trofimovich
ff4de3d66f Merge branch 'mc-4.6' into 147_escaping
* 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
2009-01-31 22:18:19 +02:00
Sergei Trofimovich
60d8c1d615 completion: fixed completion of escaped commands in commandline
Changes:
 * added new flag: INPUT_COMPLETE_SHELL_ESC - forces
   filename completion return escaped names
 * cleaned up src/complete.c: removed global variables in
   favour of completion flags. Code changed respectively.

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-01-31 21:46:32 +02:00
Enrico Weigelt, metux IT service
5f77615b35 Merge commit 'origin/mc-4.6' 2009-01-31 18:20:54 +01:00
Enrico Weigelt, metux IT service
54d6ec88dc replaced buggy concat_dir_and_file() by mhl_str_dir_plus_file() 2009-01-31 16:51:58 +01:00
Enrico Weigelt, metux IT service
b407c65b74 manually merged mc-4.6 2009-01-31 06:34:40 +01:00
Enrico Weigelt, metux IT service
f921cc40cd replaced calls to g_strdup() by mhl_str_dup() 2009-01-30 20:10:40 +01:00
Enrico Weigelt, metux IT service
15d7d47c15 replaced g_free() by mhl_mem_free() 2009-01-30 19:28:35 +01:00
Enrico Weigelt, metux IT service
e3a3890a3a fixed out-of-tree-builds 2009-01-30 16:46:44 +01:00
Patrick Winnertz
a5e61d285e Removed unused char*.
Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-01-30 12:59:23 +01:00
Sergei Trofimovich
e48cb7c89f mhl: added mhl_strmove() function (memmove semantics)
valgrind detected an error in completion path:
==2962== Source and destination overlap in strcpy(0x459F068, 0x459F06A)
==2962==    at 0x4026056: strcpy (mc_replace_strmem.c:268)
==2962==    by 0x808F70B: canonicalize_pathname (string3.h:106)
==2962==    by 0x805ECBA: filename_completion_function (complete.c:125)
==2962==    by 0x805FB35: command_completion_function (complete.c:448)
==2962==    by 0x805EA34: completion_matches (complete.c:552)
==2962==    by 0x8060454: complete (complete.c:735)
==2962==    by 0x809AAC4: handle_char (widget.c:1545)
==2962==    by 0x807867E: midnight_callback (dialog.h:201)
==2962==    by 0x8061B27: dlg_process_event (dialog.c:664)
==2962==    by 0x8061ECE: run_dlg (dialog.c:786)
==2962==    by 0x807996C: main (main.c:1674)

Snippet of man strcpy:
DESCRIPTION
       The  strcpy()  function copies the string pointed to by src, including the terminating
       null byte ('\0'), to the buffer pointed to by dest.  ___The strings may not overlap___,
       and the destination string dest must be  large enough to receive the copy.
We used strcpy to move data chunk in memory: "./foo" -> "foo", etc.

This patch introduces mhl_strmove and fixed canonicalize_pathname.

Signed-off-by: Sergei Trofimovich <st@anti-virus.by>
2009-01-30 09:31:28 +02:00
Sergei Trofimovich
17772239ff completion: added escapes in command line on completion
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-01-29 23:38:59 +02:00
Sergei Trofimovich
455f2dbd66 complete: cleanup: #define to enum INPUT_COMPLETION_FLAGS
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-01-29 21:13:30 +02:00
Enrico Weigelt, metux IT service
7639b364af added a new parameter for completion flags to input_new 2009-01-29 19:17:43 +01:00
Sergei Trofimovich
abc295cee2 Merge branch 'mc-4.6'
* mc-4.6:
  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)
2009-01-29 01:12:09 +02:00
Patrick Winnertz
66c9fde141 Now a trailing slash will only be added in copy & move dialogs if the path itselfs
doesn't already have a trailing slash.

Signed-off-by: Patrick Winnertz <winnie@debian.org>
2009-01-28 23:54:04 +01:00
Sergei Trofimovich
689164a6bc copy/move dialog: add trailing '/' to default destination path (fix #181)
Problem:
  When user tried to copy/move file (F5/F6) - he could run into trouble if
  destination directory is removed (it can be removed by user from another mc session).
  Operation is performed and(!) file is renamed.
  So when when user issues 'cp /tmp/a.file /tmp/b' - he gets not expected /tmp/b/a.file,
  but /tmp.b !

Solution:
  Add trailing space for destination directory for non-local copy/move(F5/F6) operations.
  So operation, given above will take form: 'cp /tmp/a.file /tmp/b/' disambiguating b
  meaning.

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-01-28 23:31:39 +02:00
Patrick Winnertz
cad6ffd2bb Merge branch 'mc-4.6' 2009-01-27 23:03:06 +01:00
Enrico Weigelt, metux IT service
90763ba82f introduced new type SHELL_ESCAPED_STR for more type safety 2009-01-27 22:27:06 +01:00
Patrick Winnertz
8b593e8398 Removed unused variable 2009-01-27 21:33:04 +01:00
Slava Zanko
38537ddd04 Changes for use MHL.
mhl/escape.h:
    add new function mhl_shell_is_char_escaped()

src/command.c; src/complete.c; src/file.c; src/util.c:
    Changes for use MHL-functions.

src/util.h:
    remove old escape-related declarations of functions
2009-01-27 10:20:35 +02:00
Patrick Winnertz
ea5cfade55 Add code snipplet by il.smind which should fix issues with putty and
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.
2009-01-26 16:21:06 +01:00
Slava Zanko
2cd08d0d84 Fixed bug with renamig/copying files with backshashes in names
* src/util.c: implementation of new function is_escaped_string
* src/util.h: declaration of new function is_escaped_string
* src/file.c: fix o bug :)
2009-01-26 16:16:43 +02:00
Slava Zanko
9e46faab7f Remove some testing stuff 2009-01-26 16:16:42 +02:00
Slava Zanko
a419b71b6e Temporarry commit. Fixed completion in browse by directoryes.
Not fixed completion by commands (fail if command in $PATH contain space)
2009-01-26 16:16:42 +02:00
Slava Zanko
26c9d6d107 Fixed some memory leaks.
Added DOXYGEN-like description to new functions.
2009-01-26 16:16:42 +02:00
Patrick Winnertz
416f7d69fc Add $ and ` for escaping and reorder it according to the ascii values 2009-01-26 16:16:42 +02:00
Patrick Winnertz
7c64c2767b Rewrite it to use g_string_append_c instead of some homebrew stuff 2009-01-26 16:16:42 +02:00
Patrick Winnertz
b48c30e337 Fix escaping functions to also escape the leading whitespace 2009-01-26 16:16:42 +02:00
Patrick Winnertz
985f73c374 Original patch as attached on the bugreport 2009-01-26 16:16:42 +02:00
Patrick Winnertz
4ab17b939f Add $ and ` for escaping and reorder it according to the ascii values 2009-01-26 16:16:42 +02:00
Patrick Winnertz
3263509b9d Rewrite it to use g_string_append_c instead of some homebrew stuff 2009-01-26 16:16:41 +02:00
Patrick Winnertz
2eb9472f99 Fix escaping functions to also escape the leading whitespace 2009-01-26 16:16:41 +02:00
Patrick Winnertz
bcac6584b2 Original patch as attached on the bugreport 2009-01-26 16:16:41 +02:00
Mikhail S. Pobolovets
e3a82ba1d8 Signed-off-by: Mikhail S. Pobolovets <styx.mp@gmail.com>
Automatic new directory(Mkdir, F7) name filling.
Can be configured (on|off) in 'Configure options'.
2009-01-26 13:33:13 +02:00
Slava Zanko
cfba955399 add some 8bit codepages for correct display 2009-01-26 12:20:41 +02:00
Slava Zanko
8a7c7762f7 patches by Rostislav Beneš: mc-30-view
experimental patch, completely different reading file, new cache structure,
shall view text in every encodings (remaped ctrl + t, new dialog need
localization).

1. to avoid backward reading, viewer keeps four following characters from
    file: next, actual and two previous. This is enough to handle new lines
    and nroff fortmatin correctly.
2. cache_line structure, that presents one line in file. cache_line stores,
    where line starts and ends in file,number of line and width of line. Width
    is at most equal to screen width, so longer lines are cached in more
    cache_lines. This makes wrapping text very easy. Cache_lines are stored
    in a linked list. file is loaded into cache_lines sequential, not whole at once.
    It only provides navigation in file.

I found two problems in this solution:
    1. slow first move to end in large files, because can not read files
        backward. (loading in background may help)
    2. it is slow with multibyte characters. I tried to eliminate calling iconv
        to two, but it did not help (iconv is called on every byte). I think
        caching some parts of file will be needed.
2009-01-26 12:20:40 +02:00
Slava Zanko
8ffa3beeb8 patches by Rostislav Beneš: mc-29-vfs
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
2009-01-26 12:18:16 +02:00
Slava Zanko
1eaadfae0b patches by Rostislav Beneš: mc-28-fix
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.
2009-01-26 12:17:45 +02:00
Slava Zanko
6f50ee1745 patches by Rostislav Beneš: mc-27-hint
similar problem like help, similiar solution
2009-01-26 12:13:09 +02:00
Slava Zanko
c7581effa3 patches by Rostislav Beneš: mc-26-help
Help was modified to convert help file into terminal encoding
changes in drawing and reading help file
2009-01-26 12:10:50 +02:00
Slava Zanko
722496dd9e patches by Rostislav Beneš: mc-21-hotlist
replace name_trunc, strlen width str_trunc, str_term_width1, add growing string
from strutil.
2009-01-26 12:10:09 +02:00
Slava Zanko
77d6ba8a36 patches by Rostislav Beneš: mc-12-menu
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.
2009-01-26 12:09:23 +02:00
Slava Zanko
d6d99fe6e5 patches by Rostislav Beneš: mc-11-panels
like in input, added multibytes characters buffer for search in panel (ctrl+s)
drawing is simplier, because alignment do directly str_fit_to_term function
from strutil, changed time functions in util to work correctly in utf-8
2009-01-26 12:07:27 +02:00
Slava Zanko
327e8ffe90 patches by Rostislav Beneš: mc-05-check
very similar to button, for text used hotkey_t and changed drawning and
handling hotkey
2009-01-26 12:06:41 +02:00
Slava Zanko
5d626982b0 patches by Rostislav Beneš: mc-40-ncursesw-old
Added support of old ncursesw library
2009-01-26 12:05:43 +02:00
Slava Zanko
8d94909d0f patches by Rostislav Beneš: mc-40-ncurses
Extende support of ncurses
2009-01-26 12:05:43 +02:00
Slava Zanko
b7b74c2f03 patches by Rostislav Beneš: mc-30-view
experimental patch, completely different reading file, new cache structure,
shall view text in every encodings (remaped ctrl + t, new dialog need
localization).

1. to avoid backward reading, viewer keeps four following characters from
    file: next, actual and two previous. This is enough to handle new lines
    and nroff fortmatin correctly.
2. cache_line structure, that presents one line in file. cache_line stores,
    where line starts and ends in file,number of line and width of line. Width
    is at most equal to screen width, so longer lines are cached in more
    cache_lines. This makes wrapping text very easy. Cache_lines are stored
    in a linked list. file is loaded into cache_lines sequential, not whole at once.
    It only provides navigation in file.

I found two problems in this solution:
    1. slow first move to end in large files, because can not read files
        backward. (loading in background may help)
    2. it is slow with multibyte characters. I tried to eliminate calling iconv
        to two, but it did not help (iconv is called on every byte). I think
        caching some parts of file will be needed.
2009-01-26 12:05:43 +02:00
Slava Zanko
1efbe4a18a patches by Rostislav Beneš: mc-29-vfs
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
2009-01-26 12:04:07 +02:00
Slava Zanko
75cf62902d patches by Rostislav Beneš: mc-28-fix
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.
2009-01-26 12:04:07 +02:00
Slava Zanko
c121370f94 patches by Rostislav Beneš: mc-27-hint
similar problem like help, similiar solution
2009-01-26 11:54:54 +02:00
Slava Zanko
bd1bc71732 patches by Rostislav Beneš: mc-26-help
Help was modified to convert help file into terminal encoding
changes in drawing and reading help file
2009-01-26 11:49:00 +02:00
Slava Zanko
bc41b5e7fa patches by Rostislav Beneš: mc-25-key
defensive edits, handle only ascii keys
2009-01-26 11:48:11 +02:00
Slava Zanko
1b34b52cb6 patches by Rostislav Beneš: mc-24-achown
added str_term_width1, str_trunc to all chmod / chown dialogs
2009-01-26 11:48:11 +02:00
Slava Zanko
87a8b257ae patches by Rostislav Beneš: mc-23-profile
g_casecmp replaced width str_casecmp
2009-01-26 11:48:11 +02:00
Slava Zanko
018ead6651 patches by Rostislav Beneš: mc-22-info
changes in drawing panel info view
2009-01-26 11:48:11 +02:00
Slava Zanko
779e0e6d40 patches by Rostislav Beneš: mc-21-hotlist
replace name_trunc, strlen width str_trunc, str_term_width1, add growing string
from strutil.
2009-01-26 11:48:10 +02:00
Slava Zanko
26f6eeed8b patches by Rostislav Beneš: mc-20-dir
changes in sorting strings (name, extension), for comparing are created keys
from strings and than their are compared instead of primary strings. (in
reality, keys are created only for case insensitive comparing, case
sensitive compare original strings). In utf-8 shall by keys faster than
compare strings directly. But this need ediding declaration of all sorts
functions.
2009-01-26 11:47:42 +02:00
Slava Zanko
e57e297ffe patches by Rostislav Beneš: mc-19-find
case insensitive search function used from strutil, search only valid filenames
2009-01-26 11:47:42 +02:00