Skip to contentSkip to conversation

Link lxdialog with mconf directly

PATCH In review Petr Baudis 6 participants 14 messages Dec 12, 2005 – Dec 16, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover Link lxdialog with mconf directly

The following series revives one three years old patch, turning lxdialog
to a library and linking it directly to mconf, making menuconfig nicer and things in general quite simpler and cleaner.

The first two patches make slight adjustements to kbuild in order to make
liblxdialog possible. The third patch does the libification itself and appropriate modifications to mconf.c.

PS: Sorry for the blank covermail I've sent before. StGIT still seems
to behave, er.. erratically.

Petr Baudis

Signature · 1 line
And on the eigth day, God started debugging.
#1 lore raw

PATCH 1/3 Allow building of standalone .so libraries

This patch allows specifying .so libraries directly in 'hostprogs-y'. I need to create a .so library not linked to anything in the scripts/lxdialog/ directory.

---

 scripts/Makefile.host |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)
scripts/Makefile.host +11 -3
index 2d51970..ff1b54d 100644
@@ -29,6 +29,12 @@
 # conf.c is compiled as a c program, and conf.o is linked together with
 # libkconfig.so as the executable conf.
 # Note: Shared libraries consisting of C++ files are not supported
+#
+# hostprogs-y := liblxdialog.so
+# liblxdialog-objs := checklist.o util.o
+# Will create a "standalone" liblxdialog.so library in the directory,
+# not linked against anything (useful when you want to link something
+# to it later).
 
 __hostprogs := $(sort $(hostprogs-y)$(hostprogs-m))
 
@@ -39,7 +45,7 @@ obj-dirs := $(strip $(sort $(filter-out 
 
 # C code
 # Executables compiled from a single .c file
-host-csingle	:= $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m)))
+host-csingle	:= $(foreach m,$(__hostprogs),$(if $($(m:.so=)-objs),,$(m)))
 
 # C executables linked based on several .o files
 host-cmulti	:= $(foreach m,$(__hostprogs),\
@@ -57,8 +63,10 @@ host-cxxmulti	:= $(foreach m,$(__hostpro
 host-cxxobjs	:= $(sort $(foreach m,$(host-cxxmulti),$($(m)-cxxobjs)))
 
 # Shared libaries (only .c supported)
-# Shared libraries (.so) - all .so files referenced in "xxx-objs"
-host-cshlib	:= $(sort $(filter %.so, $(host-cobjs)))
+# Shared libraries (.so) - all .so files referenced in "xxx-objs", and
+# also standalone .so's referenced in hostprogs.
+host-cshlib	:= $(sort $(filter %.so, $(host-cobjs))) \
+		   $(sort $(filter %.so, $(__hostprogs)))
 # Remove .so files from "xxx-objs"
 host-cobjs	:= $(filter-out %.so,$(host-cobjs))
 
#2 lore raw

PATCH 2/3 Possibility to sanely link against off-directory .so

In reply to Petr Baudis

This patch introduces two special variables which make it actually possible to link something against .so being built in another directory. The variable $(<foo>-linkobjs) allows the user to specify additional objects to link <foo> against, while not creating any dependencies of <foo> on the objects.

I need this in order to link scripts/lxdialog/liblxdialog.so from scripts/kconfig (I'll be able to build that lib thanks to the previous patch and the actual change to make it a library will follow in the next patch).

On 6 Nov 2002 Sam Ravnborg <[email protected]> disputed this approach, saying that such an extra complexity will bog the whole kernel build, but this involves only the host tools build and there I think the extra penalty is negligible. Also, .so has two users instead of a single one now, so it's not that easy to use his suggested approach to offload the functionality to the leaf makefiles.

---

 scripts/Makefile.host |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
scripts/Makefile.host +7 -1
index ff1b54d..1161f4c 100644
@@ -34,7 +34,12 @@
 # liblxdialog-objs := checklist.o util.o
 # Will create a "standalone" liblxdialog.so library in the directory,
 # not linked against anything (useful when you want to link something
-# to it later).
+# to it later). To link the library from another directory, do:
+# hostprogs-y    := mconf
+# mconf-objs     := mconf.o
+# mconf-linkobjs := ../lxdialog/liblxdialog.so
+# This will prevent kbuild from trying to build ../lxdialog/liblxdialog.so
+# from scripts/kconfig nor make mconf depend on it.
 
 __hostprogs := $(sort $(hostprogs-y)$(hostprogs-m))
 
@@ -116,6 +121,7 @@ $(host-csingle): %: %.c FORCE
 quiet_cmd_host-cmulti	= HOSTLD  $@
       cmd_host-cmulti	= $(HOSTCC) $(HOSTLDFLAGS) -o $@ \
 			  $(addprefix $(obj)/,$($(@F)-objs)) \
+			  $(addprefix $(obj)/,$($(@F)-linkobjs)) \
 			  $(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F))
 $(host-cmulti): %: $(host-cobjs) $(host-cshlib) FORCE
 	$(call if_changed,host-cmulti)
#3 lore raw

PATCH 3/3 Direct use of lxdialog routines by menuconfig

In reply to Petr Baudis

After three years, the zombie walks again! This patch (against the latest git tree) cleans up interaction between kconfig's mconf (menuconfig frontend) and lxdialog. Its commandline interface disappears in this patch, instead a .so is packed from the lxdialog objects and the relevant functions are called directly from mconf.

In practice, this means that drawing on the screen is done with _MUCH_ less overhead now, the screen updates are better optimalized as ncurses won't get reset everytime you display something, that also implies that the ugly screen flickering is done. As a cute side-effect, the dialogs are now rendered on the top of the menu or help panel. In the future, this also gives us much more freedom for enhancing the user interface.

This opens space for plenty of cleanups of liblxdialog, removal of superfluous stuff and temporary files usage, etc.

Compared to the previous version (from February 2003), this one should be less buggy (especially wrt. the escape character handling), should not crash while resizing and the resizing should have immediate effect (although things can still start looking ugly when you are resizing while not in a menu - to fix that properly, more liblxdialog integration is required). Also, the code is considerably simplified on few places.

---

 scripts/kconfig/Makefile     |   18 +
 scripts/kconfig/mconf.c      |  538 ++++++++++++++++--------------------------
 scripts/lxdialog/.gitignore  |    4 
 scripts/lxdialog/Makefile    |   18 +
 scripts/lxdialog/checklist.c |  113 ++++-----
 scripts/lxdialog/dialog.h    |   58 +++--
 scripts/lxdialog/inputbox.c  |    5 
 scripts/lxdialog/lxdialog.c  |  226 ------------------
 scripts/lxdialog/menubox.c   |   95 ++++---
 scripts/lxdialog/msgbox.c    |    8 -
 scripts/lxdialog/textbox.c   |    8 +
 scripts/lxdialog/util.c      |   62 +++++
 scripts/lxdialog/yesno.c     |    6 
 13 files changed, 448 insertions(+), 711 deletions(-)
scripts/kconfig/Makefile +14 -4
index a96153f..0dc42ea 100644
@@ -10,9 +10,8 @@ xconfig: $(obj)/qconf
 gconfig: $(obj)/gconf
 	$< arch/$(ARCH)/Kconfig
 
-menuconfig: $(obj)/mconf
-	$(Q)$(MAKE) $(build)=scripts/lxdialog
-	$< arch/$(ARCH)/Kconfig
+menuconfig: build-lxdialog $(obj)/mconf
+	$(obj)/mconf arch/$(ARCH)/Kconfig
 
 config: $(obj)/conf
 	$< arch/$(ARCH)/Kconfig
@@ -83,7 +82,7 @@ help:
 # ===========================================================================
 # Shared Makefile for the various kconfig executables:
 # conf:	  Used for defconfig, oldconfig and related targets
-# mconf:  Used for the mconfig target.
+# mconf:  Used for the mconfig target
 #         Utilizes the lxdialog package
 # qconf:  Used for the xconfig target
 #         Based on QT which needs to be installed to compile it
@@ -94,6 +93,7 @@ help:
 hostprogs-y	:= conf mconf qconf gconf kxgettext
 conf-objs	:= conf.o  zconf.tab.o
 mconf-objs	:= mconf.o zconf.tab.o
+mconf-linkobjs	:= ../lxdialog/liblxdialog.so
 kxgettext-objs	:= kxgettext.o zconf.tab.o
 
 ifeq ($(MAKECMDGOALS),xconfig)
@@ -129,6 +129,9 @@ endif
 HOSTCFLAGS_lex.zconf.o	:= -I$(src)
 HOSTCFLAGS_zconf.tab.o	:= -I$(src)
 
+HOSTLOADLIBES_mconf	= -lncurses
+
+
 HOSTLOADLIBES_qconf	= $(KC_QT_LIBS) -ldl
 HOSTCXXFLAGS_qconf.o	= $(KC_QT_CFLAGS) -D LKC_DIRECT_LINK
 
@@ -226,6 +229,13 @@ $(obj)/lkc_defs.h: $(src)/lkc_proto.h
 	sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
 
 
+# We need to do it indirectly since default kbuild rule will override
+# us otherwise.
+.PHONY: build-lxdialog
+build-lxdialog:	FORCE
+	$(Q)$(MAKE) $(build)=scripts/lxdialog
+
+
 ###
 # The following requires flex/bison/gperf
 # By default we use the _shipped versions, uncomment the following line if
scripts/kconfig/mconf.c +200 -338

851 lines not on this page · raw message

scripts/lxdialog/.gitignore new file +4 -0
new file mode 100644
index 0000000..4519018
@@ -0,0 +1,4 @@
+#
+# The library
+#
+liblxdialog.so
scripts/lxdialog/Makefile +14 -4
index a45a13f..9f65107 100644
@@ -1,4 +1,14 @@
-HOST_EXTRACFLAGS := -DLOCALE 
+# A little excursion to the grand scheme of things:
+#
+# Unlike how it used to be in the past, now we don't use the external lxdialog
+# utility in make menuconfig, but we link the lxdialog suite directly against
+# mconf. Also, mconf is linked against ncurses only over there, regardless
+# to what you see here in HOST_LOADLIBES; here we merely check for ncurses
+# presence.
+#
+# 2005-12-11 Petr Baudis <[email protected]>
+
+HOST_EXTRACFLAGS := -DLOCALE
 ifeq ($(shell uname),SunOS)
 HOST_LOADLIBES   := -lcurses
 else
@@ -19,11 +29,11 @@ endif
 endif
 endif
 
-hostprogs-y	:= lxdialog
+hostprogs-y	:= liblxdialog.so
 always		:= ncurses $(hostprogs-y)
 
-lxdialog-objs := checklist.o menubox.o textbox.o yesno.o inputbox.o \
-		 util.o lxdialog.o msgbox.o
+liblxdialog-objs := checklist.o menubox.o textbox.o yesno.o inputbox.o \
+		util.o msgbox.o
 
 .PHONY: $(obj)/ncurses
 $(obj)/ncurses:
scripts/lxdialog/checklist.c +47 -66

250 lines not on this page · raw message

scripts/lxdialog/dialog.h +38 -20

97 lines not on this page · raw message

scripts/lxdialog/inputbox.c +5 -0
index 074d2d6..e32ac9a 100644
@@ -123,6 +123,9 @@ dialog_inputbox (const char *title, cons
     while (key != ESC) {
 	key = wgetch (dialog);
 
+	if (should_resize)
+	    do_resize_dialog();
+
 	if (button == -1) {	/* Input box selected */
 	    switch (key) {
 	    case TAB:
@@ -223,6 +226,8 @@ dialog_inputbox (const char *title, cons
 		break;
 	    }
 	    break;
+	case KEY_RESIZE:
+	    button = -2;
 	case ' ':
 	case '\n':
 	    delwin (dialog);
scripts/lxdialog/lxdialog.c deleted +0 -226

226 lines not on this page · raw message

scripts/lxdialog/menubox.c +46 -49

249 lines not on this page · raw message

scripts/lxdialog/msgbox.c +6 -2
index 93692e1..a175532 100644
@@ -73,13 +73,17 @@ dialog_msgbox (const char *title, const 
 
 	wrefresh (dialog);
 	while (key != ESC && key != '\n' && key != ' ' &&
-               key != 'O' && key != 'o' && key != 'X' && key != 'x')
+               key != 'O' && key != 'o' && key != 'X' && key != 'x' &&
+	       key != KEY_RESIZE) {
 	    key = wgetch (dialog);
+	    if (should_resize)
+		do_resize_dialog ();
+	}
     } else {
 	key = '\n';
 	wrefresh (dialog);
     }
 
     delwin (dialog);
-    return key == ESC ? -1 : 0;
+    return key == ESC ? -1 : key == KEY_RESIZE ? -2 : 0;
 }
scripts/lxdialog/textbox.c +7 -1
index ed23df2..dd4d985 100644
@@ -133,7 +133,13 @@ dialog_textbox (const char *title, const
 
     while ((key != ESC) && (key != '\n')) {
 	key = wgetch (dialog);
+
+	if (should_resize) {
+	    do_resize_dialog();
+	}
+
 	switch (key) {
+	case KEY_RESIZE:
 	case 'E':		/* Exit */
 	case 'e':
 	case 'X':
@@ -141,7 +147,7 @@ dialog_textbox (const char *title, const
 	    delwin (dialog);
 	    free (buf);
 	    close (fd);
-	    return 0;
+	    return key == KEY_RESIZE ? -2 : 0;
 	case 'g':		/* First page */
 	case KEY_HOME:
 	    if (!begin_reached) {
scripts/lxdialog/util.c +61 -1

80 lines not on this page · raw message

scripts/lxdialog/yesno.c +6 -0
index 11fcc25..af59fe2 100644
@@ -85,6 +85,10 @@ dialog_yesno (const char *title, const c
 
     while (key != ESC) {
 	key = wgetch (dialog);
+
+	if (should_resize)
+	    do_resize_dialog();
+
 	switch (key) {
 	case 'Y':
 	case 'y':
@@ -104,6 +108,8 @@ dialog_yesno (const char *title, const c
 	    print_buttons(dialog, height, width, button);
 	    wrefresh (dialog);
 	    break;
+	case KEY_RESIZE:
+	    button = -2;
 	case ' ':
 	case '\n':
 	    delwin (dialog);
#4 lore raw

Re: [PATCH 3/3] [kconfig] Direct use of lxdialog routines by menuconfig

Quoted 18 lines · Petr Baudis

After three years, the zombie walks again! This patch (against the latest git tree) cleans up interaction between kconfig's mconf (menuconfig frontend) and lxdialog. Its commandline interface disappears in this patch, instead a .so is packed from the lxdialog objects and the relevant functions are called directly from mconf.

scripts/kconfig/mconf.c +2 -2
@@ -808,18 +684,22 @@ static void conf(struct menu *menu)
    }
    break;
   case 4:
-   if (type == 't')
+   if (active_type == 't')
     sym_set_tristate_value(sym, no);
    break;
   case 5:
-   if (type == 't')
+   if (active_type == 't')
     sym_set_tristate_value(sym, mod);

scripts/kconfig/mconf.c static void conf(struct menu *menu) · line 699

Quoted 10 lines
scripts/kconfig/mconf.c +4 -3
    break;
   case 6:
-   if (type == 't')
+   if (active_type == 't') {
     sym_toggle_tristate_value(sym);
-   else if (type == 'm')
-    conf(submenu);
+   } else if (active_type == 'm') {
+    if (single_menu_mode)
+     submenu->data = (void *) !submenu->data;

Shouldn't this be:

     submenu->data = (void *) (long) !submenu->data;

scripts/kconfig/mconf.c static void conf(struct menu *menu) · line 705

Quoted 6 lines
scripts/kconfig/mconf.c +3 -0
+    else
+     conf(submenu);
+   }
    break;
   case 7:
    search_conf();

Kurt

Signature · 2 lines
The light at the end of the tunnel is the headlight of an approaching
train.
#5 lore raw

Re: [PATCH 3/3] [kconfig] Direct use of lxdialog routines by menuconfig

Dear diary, on Mon, Dec 12, 2005 at 04:18:26AM CET, I got a letter where Kurt Wall <[email protected]> said that...

Quoted 31 lines · Petr Baudis
Quoted 18 lines

After three years, the zombie walks again! This patch (against the latest git tree) cleans up interaction between kconfig's mconf (menuconfig frontend) and lxdialog. Its commandline interface disappears in this patch, instead a .so is packed from the lxdialog objects and the relevant functions are called directly from mconf.

scripts/kconfig/mconf.c +2 -2
@@ -808,18 +684,22 @@ static void conf(struct menu *menu)
    }
    break;
   case 4:
-   if (type == 't')
+   if (active_type == 't')
     sym_set_tristate_value(sym, no);
    break;
   case 5:
-   if (type == 't')
+   if (active_type == 't')
     sym_set_tristate_value(sym, mod);

scripts/kconfig/mconf.c static void conf(struct menu *menu) · line 699

Quoted 10 lines
scripts/kconfig/mconf.c +4 -3
    break;
   case 6:
-   if (type == 't')
+   if (active_type == 't') {
     sym_toggle_tristate_value(sym);
-   else if (type == 'm')
-    conf(submenu);
+   } else if (active_type == 'm') {
+    if (single_menu_mode)
+     submenu->data = (void *) !submenu->data;

Shouldn't this be:

Quoted 1 line
     submenu->data = (void *) (long) !submenu->data;

You are right, it should be so at least for consistency - it'll be fixed in the next resend of the patch. I can't see why is it needed, though - shouldn't the int be padded to void* anyway?

Signature · 4 lines
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
VI has two modes: the one in which it beeps and the one in which
it doesn't.
#6 lore raw

Re: [PATCH 3/3] [kconfig] Direct use of lxdialog routines by menuconfig

Quoted 3 lines · Petr Baudis

Dear diary, on Mon, Dec 12, 2005 at 04:18:26AM CET, I got a letter where Kurt Wall <[email protected]> said that...

[...]

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

+ submenu->data = (void *) !submenu->data;

Shouldn't this be:

     submenu->data = (void *) (long) !submenu->data;

You are right, it should be so at least for consistency - it'll be fixed in the next resend of the patch. I can't see why is it needed, though - shouldn't the int be padded to void* anyway?

The cast to long quiets a warning from gcc. Without the cast, it complains:

$ make menuconfig
  HOSTCC  scripts/kconfig/mconf.o
scripts/kconfig/mconf.c: In function `conf':
scripts/kconfig/mconf.c:699: warning: cast to pointer from integer of 
different size
  HOSTLD  scripts/kconfig/mconf
scripts/kconfig/mconf arch/x86_64/Kconfig

I like the changes, though -- menuconfig is much snappier and easier on the eyes without the nasty flashing.

Kurt

Signature · 1 line
"I'd love to go out with you, but it's my parakeet's bowling night."
#7 lore raw

Re: [PATCH 3/3] [kconfig] Direct use of lxdialog routines by menuconfig

In reply to Petr Baudis

Hi,

Quoted 6 lines · Petr Baudis

In practice, this means that drawing on the screen is done with _MUCH_ less overhead now, the screen updates are better optimalized as ncurses won't get reset everytime you display something, that also implies that the ugly screen flickering is done. As a cute side-effect, the dialogs are now rendered on the top of the menu or help panel. In the future, this also gives us much more freedom for enhancing the user interface.

At least in the first version I'd prefer not to do draw the dialogs over each other. It's just weird if a string dialog pops up over the help text. In the next version we should add some infrastructure to properly layer windows on top of other (and should also help with resizing).

Quoted 6 lines

Compared to the previous version (from February 2003), this one should be less buggy (especially wrt. the escape character handling), should not crash while resizing and the resizing should have immediate effect (although things can still start looking ugly when you are resizing while not in a menu - to fix that properly, more liblxdialog integration is required). Also, the code is considerably simplified on few places.

The <esc><esc> as described in mconf.c still produces two exits, which is a little annoying if one is used to it. I don't know how easy it is to supress that second <esc>.

Otherwise it looks good. Regarding merging please coordinate with Sam and if you move it, I'd prefer to keep it in a subdirectory, e.g. just "mv scripts/lxdialog scripts/kconfig/lxdialog".

bye, Roman

#8 lore raw

Re: [PATCH 3/3] [kconfig] Direct use of lxdialog routines by menuconfig

Quoted 11 lines · Roman Zippel
Quoted 7 lines

Compared to the previous version (from February 2003), this one should be less buggy (especially wrt. the escape character handling), should not crash while resizing and the resizing should have immediate effect (although things can still start looking ugly when you are resizing while not in a menu - to fix that properly, more liblxdialog integration is required). Also, the code is considerably simplified on few places.

The <esc><esc> as described in mconf.c still produces two exits, which is a little annoying if one is used to it. I don't know how easy it is to supress that second <esc>.

The <esc><esc> behaviour is just illogical and to let it die cannot hurt much. We create a more logical interface but yes, some users will be irritated only due to the change.

Sam

#9 lore raw

Re: [PATCH 3/3] [kconfig] Direct use of lxdialog routines by menuconfig

In reply to Petr Baudis
Quoted 16 lines · Petr Baudis

After three years, the zombie walks again! This patch (against the latest git tree) cleans up interaction between kconfig's mconf (menuconfig frontend) and lxdialog. Its commandline interface disappears in this patch, instead a .so is packed from the lxdialog objects and the relevant functions are called directly from mconf.

In practice, this means that drawing on the screen is done with _MUCH_ less overhead now, the screen updates are better optimalized as ncurses won't get reset everytime you display something, that also implies that the ugly screen flickering is done. As a cute side-effect, the dialogs are now rendered on the top of the menu or help panel. In the future, this also gives us much more freedom for enhancing the user interface.

This opens space for plenty of cleanups of liblxdialog, removal of superfluous stuff and temporary files usage, etc.

Quoted 8 lines

Compared to the previous version (from February 2003), this one should be less buggy (especially wrt. the escape character handling), should not crash while resizing and the resizing should have immediate effect (although things can still start looking ugly when you are resizing while not in a menu - to fix that properly, more liblxdialog integration is required). Also, the code is considerably simplified on few places.

I just gave it a very quick spin and I like it. Very nice.

It's definately a lot snappier, nice work.

--
Jesper Juhl <[email protected]>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html

#10 lore raw
In reply to Petr Baudis
Quoted 7 lines · Petr Baudis

The following series revives one three years old patch, turning lxdialog
to a library and linking it directly to mconf, making menuconfig nicer and things in general quite simpler and cleaner.

The first two patches make slight adjustements to kbuild in order to make
liblxdialog possible. The third patch does the libification itself and appropriate modifications to mconf.c.

Why not just copy over relevant files to scripts/kconfig? Then no playing tricks with libaries etc. is needed, and everythings just works.

It is only 8 files and prefixing them with lx* would make them stand out compared to the rest. It is not like there is any user planned for the lxdialog functionality in the kernel, and kconfig users outside the kernel I beleive copy lxdialog with rest of kconfig files.

Btw. the work you are doing are clashing with a general cleanup effort of lxdialog I have in -mm at the moment.
I received only very limited feedback = looks ok. Integrating principles from your old patch was on my TODO list.

I have something in the works that uses linked list instead of a preallocated array, to keep the dynamic behaviour. I will probarly make a version with the linked list approach but otherwise use your changes to mconf.c. But it will take a few days until I get to it.

Sam

#11 lore raw

Dear diary, on Mon, Dec 12, 2005 at 08:14:22PM CET, I got a letter where Sam Ravnborg <[email protected]> said that...

Quoted 9 lines · Petr Baudis
Quoted 7 lines

The following series revives one three years old patch, turning lxdialog
to a library and linking it directly to mconf, making menuconfig nicer and things in general quite simpler and cleaner.

The first two patches make slight adjustements to kbuild in order to make
liblxdialog possible. The third patch does the libification itself and appropriate modifications to mconf.c.

Quoted 8 lines

Why not just copy over relevant files to scripts/kconfig? Then no playing tricks with libaries etc. is needed, and everythings just works.

It is only 8 files and prefixing them with lx* would make them stand out compared to the rest. It is not like there is any user planned for the lxdialog functionality in the kernel, and kconfig users outside the kernel I beleive copy lxdialog with rest of kconfig files.

Ok. I didn't want to pollute scripts/kconfig/ too much, but if it's ok by you, I can do it that way. I will submit another series later in the evening.

Quoted 4 lines

Btw. the work you are doing are clashing with a general cleanup effort of lxdialog I have in -mm at the moment.
I received only very limited feedback = looks ok. Integrating principles from your old patch was on my TODO list.

Do you mean the series you posted at Nov 21? Should I just rebase my patches on top of that?

FWIW, the changes there look fine to me. I actually wanted to change the indentation of the menus as well; it looks horrible especially in the singlemenu mode.

Quoted 4 lines

I have something in the works that uses linked list instead of a preallocated array, to keep the dynamic behaviour. I will probarly make a version with the linked list approach but otherwise use your changes to mconf.c. But it will take a few days until I get to it.

I can do it and include it in the updated series.

Signature · 4 lines
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
VI has two modes: the one in which it beeps and the one in which
it doesn't.
#12 lore raw
Quoted 8 lines · Petr Baudis
Quoted 4 lines

It is only 8 files and prefixing them with lx* would make them stand out compared to the rest. It is not like there is any user planned for the lxdialog functionality in the kernel, and kconfig users outside the kernel I beleive copy lxdialog with rest of kconfig files.

Ok. I didn't want to pollute scripts/kconfig/ too much, but if it's ok by you, I can do it that way. I will submit another series later in the evening.

In the end this is Roman's call, not mine.
Keeping the lxdialog functionality close to the users though makes total sense. We do not have to take special care of dependencies etc.

Quoted 8 lines
Quoted 5 lines

Btw. the work you are doing are clashing with a general cleanup effort of lxdialog I have in -mm at the moment.
I received only very limited feedback = looks ok. Integrating principles from your old patch was on my TODO list.

Do you mean the series you posted at Nov 21? Should I just rebase my patches on top of that?

Please do so. I did not post the biggest one where I Lindented all of lxdialog, but they are all in
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild.git

Quoted 10 lines

FWIW, the changes there look fine to me. I actually wanted to change the indentation of the menus as well; it looks horrible especially in the singlemenu mode.

Quoted 4 lines

I have something in the works that uses linked list instead of a preallocated array, to keep the dynamic behaviour. I will probarly make a version with the linked list approach but otherwise use your changes to mconf.c. But it will take a few days until I get to it.

I can do it and include it in the updated series.

Would be perfect!

I will then do a proper review of next round of patches.

Sam

#13 lore raw
In reply to Petr Baudis
Quoted 4 lines · Petr Baudis

Ok. I didn't want to pollute scripts/kconfig/ too much, but if it's ok by you, I can do it that way. I will submit another series later in the evening.

I've just done the renaming and relevant updates.
So you will deal with much smaller patches.

My kbuild tree is updated with the changes and will soon mirror out.

Sam