Commit Graph

14853 Commits

Author SHA1 Message Date
Andrew Borodin 968d24a38c WPanel: use structure for directory history fields.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:55 +03:00
Andrew Borodin 2dc692c76b Create command_names using macro.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:34:47 +03:00
Andrew Borodin 0776f2a49c Fix typos.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:31:22 +03:00
Andrew Borodin bae61137d0 Ticket #4103: code cleanup before 4.8.26 release.
doc/NEWS: cosmetics.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-13 16:31:22 +03:00
Andrew Borodin eeb14d3f48 Merge branch '4128_mc.ext_compressed_content'
* 4128_mc.ext_compressed_content:
  Ticket #4128: improve handling of compressed content in mc.ext.
2020-10-12 08:38:28 +03:00
Oswald Buddenhagen 8857423e4e Ticket #4128: improve handling of compressed content in mc.ext.
call 'file' with -z switch to enable getting the type of compressed files,
and use that capability extensively.

the /logs?/ hacks in ext.d/text.sh need to remain for the time being, as
file -z doesn't handle .lz4 files as encapsulated content.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:36:09 +03:00
Andrew Borodin 723208aeab Merge branch '4126_persistent_subshell_command_buffer_fixups'
* 4126_persistent_subshell_command_buffer_fixups:
  Disable subshell cursor position translation for bash v5+.
  Optimize bash cursor position translation.
  Make query of subshell command buffer leading-dash-safe.
  Prevent word-splitting of the subshell command buffer.
  Fixup FISH subshell setup.
  Do not avoid big stack allocations.
  Ticket #4126: fixups to persistent subshell command line buffer support.
2020-10-12 08:23:25 +03:00
Oswald Buddenhagen 436296f517 Disable subshell cursor position translation for bash v5+.
the changelog clearly states that the position is now returned as a
character offset.

amends ff0fc17a.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen b680f8198d Optimize bash cursor position translation.
the previous algorithm was O(n^2).

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen 563632819d Make query of subshell command buffer leading-dash-safe.
when the command buffer started with a valid option to the "echo"
command, weird things would happen. use "printf" instead, which doesn't
have this problem. this affected only the bash and zsh code paths.

amends ff0fc17a.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen 77c910a818 Prevent word-splitting of the subshell command buffer.
this avoids inadvertent whitespace normalization (compression and
trimming), which is annoying and additionally invalidates the cursor
position.

for bash and zsh that meant quoting the variable expansion, while for
fish it meant removing the pointless indirection through echo.
for bash we had to introduce an indirection through a function, as there
is apparently no way to get the quoting right inside the binding. zsh
already had such an indirection - maybe for the same reason?

amends ff0fc17a.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen 86397c87c6 Fixup FISH subshell setup.
move binding commands out of the fish_prompt function definition, use
consistent command separators, and remove excess backslashes from the
bindings.

amends ff0fc17a.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen 6b7c4f7c14 Do not avoid big stack allocations.
these are cheap and unproblematic (we aren't in the kernel here).

amends ff0fc17a.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Oswald Buddenhagen 0c1cb8f9a8 Ticket #4126: fixups to persistent subshell command line buffer support.
fix some comments

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-12 08:23:03 +03:00
Andrew Borodin 629eebd589 Merge branch '4127_mc.ext_improve'
* 4127_mc.ext_improve:
  Relax mc.ext matching rules for makefiles.
  Replace xmms with audacious in ext.d/shound.sh.
  Ticket #4127: several improvements to mc.ext and syntax highlighting.
2020-10-10 15:59:00 +03:00
Oswald Buddenhagen f2cbaf19e5 Relax mc.ext matching rules for makefiles.
match the special cases first, and match makefiles irrespective of
extension. that is useful, as hand-written make-based build systems
often use qualifying suffixes, like .unix.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-10 15:56:05 +03:00
Oswald Buddenhagen 335c4eeec6 Replace xmms with audacious in ext.d/shound.sh.
xmms hasn't been maintained for ages. audacious is a maintained fork of
it.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-10 15:55:56 +03:00
Oswald Buddenhagen 31e7a7e963 Ticket #4127: several improvements to mc.ext and syntax highlighting.
add plenty of missing 'which' commands in ext.d.

the construct 'if <command>' to check the presence of a command would
work in some cases (though inefficiently), but it others it was just
bogus. in every case it was inconsistent and confusing.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-10 15:55:42 +03:00
Andrew Borodin 09473d87f0 Merge branch '4124_mcedit_crash'
* 4124_mcedit_crash:
  Ticket #4124: standalone mcedit crashes at startup.
2020-10-10 15:33:45 +03:00
Andrew Borodin 2f611780d3 Ticket #4124: standalone mcedit crashes at startup.
Subshell: don't setup command line promt if MC is run as standalone
editor/viewer/diffviewer.

Fix ff0fc17ae3.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-09 14:54:37 +03:00
Andrew Borodin b05b4bb696 Merge branch '4120_tcsh_cant_change_directory'
* 4120_tcsh_cant_change_directory:
  Ticket #4120: tcsh error: "The Commander can't change to the directory".
2020-10-04 18:54:40 +03:00
Eric Roberts 631483ec52 Ticket #4120: tcsh error: "The Commander can't change to the directory".
How to reproduce:

Use tsch as your shell.
ctrl-o
ctrl-c
ctrl-o

mc gives the error:
The Commander can't change to the directory that the subshell claims you
are in. Perhaps you have deleted your working directory, or given
yourself extra permissions with the "su" command?

This commit is really simple workaround that makes the problem go away.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-10-04 18:51:31 +03:00
Andrew Borodin c22387d433 Merge branch '4114_persistent_subshell_command_buffer'
* 4114_persistent_subshell_command_buffer:
  Ticket #4114: implement persistent command line buffer for subshell.
2020-09-27 19:48:47 +03:00
Eric Roberts ff0fc17ae3 Ticket #4114: implement persistent command line buffer for subshell.
This commi allows the user to start typing a command in the MC's command
line, and then continue typing it in the subshell, or to start typing a
command in the subshell, and then finish typing it in the MC's command
line.

It also fixes #2269 and #2110, bugs in which mc can unexpectedly execute
commands without the user's permission.

The new feature works with bash4, zsh, and fish. The bugfix works on all
shells.

How to test the feature:
  Run mc
  Type any command in the command line, but don't hit enter.
  Press Ctrl-O.
  The command you typed will show up in the subshell.
  Type any command in the subshell, but don't hit enter.
  Press Ctrl-O.
  The command you typed will show up in the command line.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-09-27 19:46:12 +03:00
Andrew Borodin f63be5af18 Merge branch '4107_bind_ctrl_i'
* 4107_bind_ctrl_i:
  Ticket #4107: bind ctrl-i to the ChangePanel action.
2020-08-15 11:46:58 +03:00
Andrew Borodin e1c892a49f Ticket #4107: bind ctrl-i to the ChangePanel action.
After ef5f1fa3eb ctrl-i stopped working
on some terminals including native Linux console.

To fix this, add default binging ctrl-i shortcut to ChangePanel action.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-08-15 11:45:46 +03:00
Andrew Borodin 794f94cb23 lib/tty/tty-ncurses.c: indentation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-08-05 10:49:50 +03:00
Andrew Borodin 348011025d Merge branch '4101_copy_follow_links'
* 4101_copy_follow_links:
  Refactoring of directory size caclulation.
  Ticket #4101: wrong copy ETA displaing if "Follow links" is set.
2020-08-05 10:46:47 +03:00
Andrew Borodin dd25f91dfd Refactoring of directory size caclulation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-08-05 10:43:29 +03:00
Andrew Borodin 5c89d3c2b7 Ticket #4101: wrong copy ETA displaing if "Follow links" is set.
* (do_compute_dir_size): fix directory size calculation.
  Use mc_lstat() if "Follow links" option is set, mc_stat() otherwise.
  * (single_dirsize_cmd): fix compute_dir_size() call.
  * (dirsize_cmd): likewise.
  * (panel_compute_totals): process symlink to directory as directory if
  follow_symlink is set.
  * (panel_operate_init_totals): process symlink to directory as
  directory if "Follow links" option is set.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-08-05 10:43:29 +03:00
Andrew Borodin 72740285da Merge branch '4102_shadows'
* 4102_shadows:
  Ticket #4120: draw shadows for dialog boxes and menus.
2020-08-02 16:16:15 +03:00
Andrew Borodin 8b4386df83 Ticket #4120: draw shadows for dialog boxes and menus.
Thanks Aleš Janda <ales.janda@kyblsoft.cz> for the original patch.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-08-02 16:13:26 +03:00
Andrew Borodin da9966fb55 Merge branch '4104_chattr_mouse'
* 4104_chattr_mouse:
  Ticket #4104: chattr: mouse clicks on checkboxes have no effect.
2020-08-02 16:06:29 +03:00
Andrew Borodin 8e8b91310a Ticket #4104: chattr: mouse clicks on checkboxes have no effect.
(chattrboxes_mouse_callback): mouse events other than scroll ones are
unhandled.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-07-31 20:52:30 +03:00
Yury V. Zaytsev 171957980e Update doc/NEWS file
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2020-07-05 23:35:07 +04:00
Yury V. Zaytsev f998d09a39 Update hints translations from Transifex
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2020-07-05 23:30:46 +04:00
Yury V. Zaytsev c1dddc1713 Update translations from Transifex
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2020-07-05 21:57:58 +04:00
Andrew Borodin bdeaed5b78 Merge branch '4099_tiocswinsz_solaris'
* 4099_tiocswinsz_solaris:
  Ticket #4099: In subshell on Solaris 11.4 SPARC terminal size is always 80x24.
2020-06-24 20:05:09 +03:00
Andrew Borodin c7fc6c9718 Ticket #4099: In subshell on Solaris 11.4 SPARC terminal size is always 80x24.
In Solaris 11.4 SPARC, TIOCSWINSZ is defined in termios.h.

lib/tty/tty.c: add #include <termios.h>, because TIOCSWINSZ is used in
tty_resize().

Thanks Alexander <shurik005@gmail.com> for the fix.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-06-24 19:57:02 +03:00
Koji Builder 99061cc22d Ticket #4091: RPM VFS improvements.
Support weak dependency tags:

ENHANCES, SUGGESTS, RECOMMENDS, SUPPLEMENTS

See https://rpm.org/user_doc/dependencies.html#weak-dependencies
for detais.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-06-21 20:08:19 +03:00
Purdea Andrei 1f4b5ae396 Ticket #4098: syntax highlighting: support .ino files.
Add the .ino extension to the list of extensions recognized by the c++
syntax highlighter.

.ino is used by the Arduino IDE, and a number of other IDEs, and it's effectively
the same thing as a c++ source file, but with some added magic, such as auto-generated
function prototypes.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-06-21 19:58:56 +03:00
Andrew Borodin 65f27b6854 Merge branch '4063_slang_mouse'
* 4063_slang_mouse:
  Ticket #4063: fix mouse handling in old terminal emulatres
2020-06-21 19:52:56 +03:00
Egmont Koblinger 8877d218dd Ticket #4063: fix mouse handling in old terminal emulatres
...like KDE3 Konsole.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-06-16 21:58:25 +03:00
Andrew Borodin d9da121b33 Merge branch '3954_ncurses_mouse'
* 3954_ncurses_mouse:
  Ticket #3954: fix mouse handling with newer terminfo entries.
2020-06-16 21:34:56 +03:00
Egmont Koblinger b92c7f86b4 Ticket #3954: fix mouse handling with newer terminfo entries.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-06-07 18:37:41 +03:00
Artem S. Tashkinov 9bb351508a Ticket #4045: clean up in video.sh handler.
RealPlayer is a proprietary application which can't be installed in most
distros and has long been abandoned.

gtv hasn't been developed since 2003.

xanim barely plays anything.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-06-06 20:45:28 +03:00
Vadim Kalinnikov 40fe047be0 Ticket #4086: improve archive support.
Support more binaries to view archive content:
  * lha: jlha, lhasa
  * arj: 7za
  * cab: 7za
  * zip; 7z
  * zipx: 7za
  * iso: 7za

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-06-06 20:31:45 +03:00
Andrew Borodin 9311136158 Ticket #4054: broken syntax highlighting for shell scripts.
Revert "Ticket #3981: sh.syntax: allow for indented 'function' highlighting."

This reverts commit 91d6d55baf.

The syntax highlighting of shell scripts in mcedit misbehaves around
matches of "function blabla()" inside literal quotes. It applies syntax
highlighting as if it was function definition in normal conditions (out
of literal quotes), breaking the colouring of whatever follows.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-06-06 20:13:37 +03:00
Andrey Brozhko 91e4d8150f Ticket #4088: mcedit: add Kotlin syntax highlighting.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2020-06-06 20:06:04 +03:00
Andrew Borodin 8d40091344 Merge branch '4087_verilog_syntax_highlighting'
* 4087_verilog_syntax_highlighting:
  verilog syntax: clarify that also refers to systemverilog,
  verilog syntax: added some missing operators
  verilog syntax: reorganized and added missing compiler directives
  verilog syntax: reorganized and added missing system tasks and system functions
  verilog syntax: added IEEE1800-2009 and 2012 missing keywords
  verilog syntax: added IEEE1800-2005 missing keywords
  verilog syntax: added IEEE1364-2005 missing keywords
  verilog syntax: added IEEE1364-2001 missing keywords
  verilog syntax: added missing ieee1364-1995 keywords
  Ticket #4087: verilog syntax: removing keyboards attribute, endattribute, strength
2020-06-06 19:45:21 +03:00