Hi, Pavel!

> > because of a personal preference (for the record: I am mostly a
> > gnome-terminal + mc kind of user, and use gmc mostly just to keep my
> > desktop icons) but because there is still a need for it.
>
> What is wrong with keeping 4.5.52 as "stable" release with both mc and
> gmc, plus starting 5.0 "development" branch with gmc stripped?

It should be fine.

One very important point - the "intl" and "macros" directories should be
separated from the global ones, or we'll break many GNOME projects just by
upgrading gettext and removing gnome-gettext.m4!

> Or another solution. Say that it is okay to break gnome edition in
> cvs and that it is up-to some kind of gnome maintainer to fix it. With
> this, two things can happen

Also Ok, although it would prevent code cleanup. Removing all those ifdefs
will kill GMC instantly and forever, at least on that branch.

> 1) We'll find that gnome is not being broken in practice. That's okay.

The problem is that the possible breakage won't limit to the compile
errors. mc_doublepopen() has never worked in GNOME, and nobody is fixing
it even without any fork. It is used in GMC, although only in some rare
cases.

But if we get 10 such bugs plus 100 compile errors, and the stable version
of GMC that everybody uses, do you think anybody will spend time fixing
that?

> 2) We'll find that gnome is being broken much too much, and gnome
> edition will be dropped. Spain users can still use 4.5.52.

In fact, they may be lucky to have something better, namely GMC cleaned
from subshell (yes, it's still compiled in by default!!!) and other
useless code. It will work even better.

I once tried to disable the subshell selectively for GMC. This required
more ifdefs and a new variable EDITION_USE_SUBSHELL. When I looked at that
patch I decided that it makes the code too complicated (think of it -
HAVE_SUBSHELL_SUPPORT just means that we _may_ have the subshell support),
so I dropped this idea.

Unlike the text edition, that (hopefully) has no GNOME code, the GNOME
edition can be slimmed down. There is a lot of stuff that shouldn't be
there:

$ nm plain-gmc | grep console
0806529c T restore_console
080829c8 T subshell_get_console_attributes
$ nm plain-gmc | grep slang
0808872c T set_slang_delay
080886fc T slang_init
08088724 T slang_keypad
0808870c T slang_prog_mode
08088704 T slang_set_raw_mode
08088714 T slang_shell_mode
0808871c T slang_shutdown
$ nm plain-gmc | grep subshell |wc -l
     24
$ nm plain-gmc | grep curses
080a9f1c T translate_gdk_keysym_to_curses

It looks like all the keys are translated to the values used in ncurses.

-- 
Regards,
Pavel Roskin

Reply via email to