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