Commit Graph

14284 Commits

Author SHA1 Message Date
Andrew Borodin 34aaab47ba (listing_cmd): reset panel filter.
When change panel mode to listing one, in addition to reset of
panelization, reset panel filter too.

Optimization: get rid of double panel reload.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-04-24 16:16:27 +03:00
Andrew Borodin edb51c4457 Ticket #3810: keep panelization while switching panel listing mode.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-04-23 11:17:10 +03:00
Mooffie e4983a18e8 Merge branch '3813_filter_clear'
* 3813_filter_clear:
  Ticket #3813: Filter isn't cleared when entering empty string.
2017-04-23 10:06:09 +03:00
Mooffie 24de5eb1df Ticket #3813: Filter isn't cleared when entering empty string.
Signed-off-by: Mooffie <mooffie@gmail.com>
2017-04-21 17:25:53 +03:00
Mooffie e0cd82a101 Merge branch '2942_panelize_absolutize'
* 2942_panelize_absolutize:
  do_panelize_cd() is missing call to panelize_absolutize_if_needed().
  Introduce panelize_absolutize_if_needed(), plus documentation.
  Fix assumptions of "dir.list->len == 0".
  Ticket #2942: External panelize: opening a file with an absolute path fails.
2017-04-20 20:22:24 +03:00
Mooffie d1062fc47c do_panelize_cd() is missing call to panelize_absolutize_if_needed().
Whenever we populate a panelized panel, we have to call
panelize_absolute_if_needed().

Note: do_panelize_cd() implements the "Restore last panelization" command
(see #3767).

Note: We move the `panel->is_panelized = TRUE` line to the bottom for stylistic
reason: to make it parallel to the other places where we have similar code. We
may factor out this common code in the future.

Signed-off-by: Mooffie <mooffie@gmail.com>
2017-04-18 20:09:44 +03:00
Mooffie 92eea68251 Introduce panelize_absolutize_if_needed(), plus documentation.
Instead of imperfectly duplicating code we create a function.

Signed-off-by: Mooffie <mooffie@gmail.com>
2017-04-18 20:09:44 +03:00
Mooffie bb45f84071 Fix assumptions of "dir.list->len == 0".
`dir.list->len` can't be zero because we're always checking it after a call to
dir_list_init(), which populated the list with "..".

Therefore any code that checks for zero is either superfluous or a bug.

As for the modifications in find.c:

  - The bug caused us not to call panel_clean_dir(), and this caused:
    - Memory leaks resulting from calling dir_list_init() without
      dir_list_clean() first.
    - The "total size" of selected files (for example) wasn't getting cleared.

  - We remove the `if (list->len != 0)` around the
    `current_panel->is_panelized = TRUE; ...` for several reasons:
    - The code isn't called anyway if no files were found.
    - Conceptually, there's no point in distinguishing an empty listing from an
      empty panelized listing.
    - It's the de-facto current behavior (as `list->len != 0` always)

Signed-off-by: Mooffie <mooffie@gmail.com>
2017-04-18 20:09:44 +03:00
Andreas Mohr c9f058e65b Ticket #2942: External panelize: opening a file with an absolute path fails.
We fix the detection of absolute paths in the panel's list. `list[0]` is "..",
so we need to inspect `list[1]`.

Signed-off-by: Mooffie <mooffie@gmail.com>
2017-04-18 20:09:34 +03:00
Andrew Borodin 161e3a1719 Merge branch '3805_help_message'
* 3805_help_message:
  Update po/mc.pot and po/*.po.
  Ticket #3805: fix --help option to show correct syntax for editor, viewer and mcdiff
2017-04-15 09:57:01 +03:00
Andrew Borodin a0c6dd7bb6 Update po/mc.pot and po/*.po.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-04-15 09:56:44 +03:00
Denys Vlasenko f0d3241ecb Ticket #3805: fix --help option to show correct syntax for editor, viewer and mcdiff
Before the patch: --help shows the same text for all tools, only "mc"
is replaced by tool name. For example, "mcedit --help" says:

        Usage:
          mcedit [OPTION...] [+number] [this_dir] [other_panel_dir]
         +number - Set initial line number for the internal editor

which is wrong: mcedit does not take [this_dir] [other_panel_dir]
syntax, that's mc syntax.

After the patch, each tool has its own syntax string shown.
"Usage:" message for each tool is as follows now:

  mc [OPTION...] [this_dir] [other_panel_dir]

  mcedit [OPTION...] [+lineno] file1[:lineno] [file2[:lineno]...]

  mcview [OPTION...] file

  mcdiff [OPTION...] file1 file2

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-04-15 09:49:29 +03:00
Andrew Borodin f4eb2c47c9 Indentation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-04-14 18:54:22 +03:00
Andrew Borodin e0d6617fd0 Merge branch '3697_ncurses_tty_init'
* 3697_ncurses_tty_init:
  Ticket #3697: (tty_init): unify curses initialization
2017-04-14 14:10:25 +03:00
Thomas Dickey 4d46a10862 Ticket #3697: (tty_init): unify curses initialization
...for various curses implementations.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-04-14 14:06:13 +03:00
Denys Vlasenko 4f4df7d323 Ticket #3806: man pages: fix paths of mc.hint and mc.hlp.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-04-14 13:46:35 +03:00
David Martin ff540868e8 doc: update Spanish help template
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-04-11 19:02:00 +02:00
Sergei Epiphanov fd3d4e2784 Ticket #3804: syntax: update Ada 95 keywords (ALT Linux #33330)
Signed-off-by: Sergey Y. Afonin <asy@altlinux.org>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-04-04 19:29:46 +02:00
Yury V. Zaytsev 7e57d6e776 maint: add `ts.syntax` to build system / tarballs
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-03-19 10:51:27 +01:00
Oleksandr Sidko b1e16edd5a Ticket #3794: syntax: TypeScript support (closes MidnightCommander/mc#122)
Signed-off-by: Oleksandr Sidko <mortiy@gmail.com>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-03-19 10:40:07 +01:00
Oleksandr Sidko 834e07fd57 Ticket #3793: syntax: javascript - ES2015 support (closes MidnightCommander/mc#121)
Signed-off-by: Oleksandr Sidko <mortiy@gmail.com>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-03-16 17:09:00 +01:00
Mooffie 556d213a65 Merge branch '3786_rpm_echo'
* 3786_rpm_echo:
  extfs: rpm: use printf instead of echo, when retrieving fields.
  extfs: rpm: wrap variable in quotes.
  extfs: rpm: use printf instead of echo, to calculate DESCRIPTION length.
  Ticket #3786: extfs: rpm: fix test's "expected output".
2017-03-09 18:35:24 +02:00
Mooffie a6cd7c9f45 extfs: rpm: use printf instead of echo, when retrieving fields.
We switch to using 'echo' instead of 'printf', for the reason described in a
previous commit.

This time, however, we don't do this in order to preserve the value of the
DESCRIPTION field (because we retrieve it using some other command). We do this
for two reasons:

* As chance would have it, we have the string '\c' in our DESCRIPTION. It turns
  out that Dash's echo interprets '\c' to mean the end of the data[1], so
  fields stored in $AllTAGS after DESCRIPTION aren't seen by our sed script
  (resulting in the helper not reporting a few file entries).

* We also have '\n' in DESCRIPTION. This would translate, by echo, into
  newline, failing the naive sed script.

[1] See "\c as in SYSV echo - abort all processing..." in the source code of
    Dash: https://github.com/gioele/dash/blob/master/src/bltin/printf.c

Signed-off-by: Mooffie <mooffie@gmail.com>
2017-03-09 01:03:42 +02:00
Mooffie 25aa5db3fd extfs: rpm: wrap variable in quotes.
Our goal is to replace the 'echo' with 'printf' on this line, for the reason
described in the previous commit. But before we do this we need to wrap one
variable in quotes.

This preliminary step does not affect the output of the helper.

As for using "tr \n ' '": this mimics the current behavior (when using no
quotes around the variable, newlines are converted to spaces by the shell; now
that we do have quotes we need to do this conversion ourselves). An alternative
is to tweak the sed script to be smarter, but it turns out it's not a simple
task.

Signed-off-by: Mooffie <mooffie@gmail.com>
2017-03-09 01:03:41 +02:00
Mooffie 95f2f14357 extfs: rpm: use printf instead of echo, to calculate DESCRIPTION length.
Out test input intentionally contains weird characters in the DESCRIPTION field
(see the file 'test.spec'[1]).

It turns out that backslash sequences, as in our DESCRIPTION field, are
processed by the 'echo' command in some shells (i.e., Dash). In other words,
'echo' can't be used to print arbitrary data verbatim. Indeed, the standard
says[2] that "if any of the operands contain a <backslash> character, the
results are implementation-defined". You can see the problem by running:

    $ echo "one \\a two"

under both Bash and Dash: you'll get different results.

The solution: we replace 'echo' with 'printf'.

[1] https://midnight-commander.org/browser/tests/src/vfs/extfs/helpers-list/misc/rpm/test.spec#L34
[2] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html

Signed-off-by: Mooffie <mooffie@gmail.com>
2017-03-09 01:03:41 +02:00
Mooffie e2f5034303 Ticket #3786: extfs: rpm: fix test's "expected output".
As will be explained in a following commit, our rpm helper has a bug stemming
from the use of 'echo'.

Before we fix it, we update the test's "expected output" to reflect the
intended output (as it's currently reflects a faulty output).

Signed-off-by: Mooffie <mooffie@gmail.com>
2017-03-09 01:03:34 +02:00
Mooffie fc33f62aaf Merge branch '3787_extfs_tester_sort_locale'
* 3787_extfs_tester_sort_locale:
  Ticket #3787: extfs: tests for helpers using 'sort' may fail.
2017-03-08 14:03:42 +02:00
Mooffie d0131271f3 Ticket #3787: extfs: tests for helpers using 'sort' may fail.
The "expected output" files we provide must be generated in the same locale the
tester (that is, the helpers) are run. Otherwise helpers using the 'sort'
utility may generate output different than our provided "expected output",
hence failing the tests.

Therefore we:

(1) Regenerate the "expected output" files in the C locale.

(2) Make sure the tester is run in the C locale.

(Tip: to regenerate the "expected output" files we deleted all the *.output
files and run the tester with "LC_ALL=C ./run --create-output".)

Signed-off-by: Mooffie <mooffie@gmail.com>
2017-03-08 14:01:46 +02:00
Mooffie f8fa16aaa2 Merge branch '3784_extfs_tester_diff'
* 3784_extfs_tester_diff:
  extfs: tester: fix indentation.
  Ticket #3784: extfs: add diff output to tester.
2017-03-08 11:35:07 +02:00
Mooffie f782b037d8 extfs: tester: fix indentation.
No code is modified here. Only whitespace.

Signed-off-by: Mooffie <mooffie@gmail.com>
2017-03-08 11:34:09 +02:00
Mooffie 55624eae3b Ticket #3784: extfs: add diff output to tester.
Signed-off-by: Mooffie <mooffie@gmail.com>
2017-03-07 23:57:35 +02:00
Yury V. Zaytsev 91b69d2652 Ticket #3782: highlight txz extension as archive like tgz, etc.
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-03-06 21:44:26 +01:00
Yury V. Zaytsev 151b08b412 Ticket #3693: clarify that lack of `noreturn` attribute is on purpose
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-03-04 18:52:12 +01:00
Yury V. Zaytsev f09d863ddf Revert "(my_exit): cleanup no attribute noreturn warning."
This reverts commit b91ab44b43.
2017-03-04 18:27:02 +01:00
Yury V. Zaytsev 8f49a93aa2 Update translations from Transifex
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-03-04 10:06:09 +01:00
Yury V. Zaytsev c2336348e0 maint: add #3775 to NEWS
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-02-26 14:16:31 +01:00
Mooffie fc6e3832a6 Merge branch '3775_hostlist_refresh'
* 3775_hostlist_refresh:
  Pressing <right> and <left> in hotlist dialog doesn't refresh it.
2017-02-26 12:39:16 +02:00
Mooffie ac23a4807c Pressing <right> and <left> in hotlist dialog doesn't refresh it.
Signed-off-by: Mooffie <mooffie@gmail.com>
2017-02-26 12:38:39 +02:00
Andrew Borodin 1878f49114 Update Russian translation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-02-26 08:10:02 +03:00
Andrew Borodin f34363f93b (make_symlink): add missing space in error message.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2017-02-26 08:04:15 +03:00
Yury V. Zaytsev d6740ec01c Update po/mc.pot
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-02-24 23:02:50 +01:00
Yury V. Zaytsev 60faabd06d Update doc/NEWS file
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-02-24 22:24:44 +01:00
Yury V. Zaytsev c901d17044 Fix format spec in bg.po & it.po (%ld -> %lu)
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-02-24 22:11:54 +01:00
Yury V. Zaytsev bac6632624 Update hints translations from Transifex
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-02-24 22:02:01 +01:00
Yury V. Zaytsev a8be9aee6d Update translations from Transifex
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2017-02-24 21:59:10 +01:00
Yury V. Zaytsev ab4fcb6d30 Revert "Ticket #3687: store the 'hotlist' file in data dir, not config dir."
This reverts commit 306b30ed30.
2017-02-24 21:32:01 +01:00
Mooffie 1db93c1b60 Merge branch '3754_helpviewer_tabs'
* 3754_helpviewer_tabs:
  Ticket #3754: Help viewer doesn't handle tabs correctly.
2017-02-23 20:55:44 +02:00
Mooffie 1f121b7674 Ticket #3754: Help viewer doesn't handle tabs correctly.
Upon seeing a tab, the help viewer effectively pushes the *current* word
forward.

Instead, it should first finish handling the current word (that is, print it on
screen) and only then adjust the column.

Signed-off-by: Mooffie <mooffie@gmail.com>
2017-02-23 19:35:56 +02:00
Yury V. Zaytsev 1a3ba4edbd Merge branch '3774_editor_buttons' 2017-02-19 21:58:23 +01:00
Mooffie 256c3f1838 Improve comment for `dx` variable
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
Signed-off-by: Mooffie <mooffie@gmail.com>
2017-02-19 21:57:30 +01:00