Hello, Adam!
On Tue, 11 Feb 2003, Adam Byrtek / alpha wrote:
mc passes an empty argument () to the EDITOR when creating new file
(with F14). It makes vim to list the current dircetory. The nvi doesn't
create temporary file, so write command won't work, however if you call
nvi without any argument it creates a temp file to save the data in. The
same problem occur with some other editors (jed to name one)
What is passed to my_system() - NULL or empty string? If it's an empty
string, where does it come from? It's trivial for me to run it in the
debugger, but I assume you did it already.
What happens if EXECUTE_AS_SHELL is set, but command is NULL? I
understand that the shell won't be executed at all. This is how it's
called from view_other_cmd() if output_starts_shell is set.
P.S. Empty string comes from edit_cmd_new(). It should be fine to use
NULL if we take care not to run vfs_file_is_local() on NULL in
execute_with_vfs_arg().
How do you like following patch? Is there any other reason (apart from
running the editor) for replacing with NULL in my_system()?
===
--- cmd.c
+++ cmd.c
@@ -97,7 +97,7 @@ execute_with_vfs_arg (const char *comman
time_t mtime;
/* Simplest case, this file is local */
-if (vfs_file_is_local (filename)) {
+if (!filename || vfs_file_is_local (filename)) {
execute_internal (command, filename);
return;
}
@@ -348,7 +348,7 @@ edit_cmd (void)
void
edit_cmd_new (void)
{
-do_edit ();
+do_edit (NULL);
}
/* Invoked by F5. Copy, default to the other panel. */
===
--
Regards,
Pavel Roskin
___
Mc-devel mailing list
[EMAIL PROTECTED]
http://mail.gnome.org/mailman/listinfo/mc-devel