site  contact  subhomenews

The Minimum Profit editor

January 02, 2017 — BarryK
Hmmm, I have just discovered that MP (Minimum Profit) console text editor, does not work properly in recent builds of Quirky. I discovered that the menu does not work in my latest project, SlaQ (Quirky built from Slackware 14.2 packages). Just now tested in Quirky x86_64 8.0, which was released March or April 2016, same problem.

MP is a great little text editor that you can run in a terminal window, or full-screen without X. It is a lot "better" than the simple editors such as 'nano', arguably better than the more sophisticated ones such as 'vim' due to it's ease of use.
It's main attractive features are the nice drop-down menus, and colour syntax highlighting.

I use an old version of MP, 3.2.13. This is written in C and uses ncurses. There was a 3.3.x series, but I found it to be very broken. The MP website still has the source for 3.2.13 and the last 3.3.x, and I checked, compiled 3.3.x, still broken.

I should clarify something. MP also has an optional GTK interface, however, I personally found it to be awful, and I only use the console version.

The author of MP developed an embedded scripting language, and even rewrote part of MP in that language. This became the 5.x series, and it looks a lot more complicated. Also, for me, it doesn't work. Today I compiled the latest, did the normal "make install" and tried to execute "mp-5" but it complained could not find a core script and failed to start.

Anyway, I am really only interested in the original C console version, as it is feature-packed and very small. A single executable, about 120KB.

I looked back in my Quirky versions, to find when MP did actually work properly. Yep, works in April 7.2.1 x86, strange, the menu is partly broken in April 7.2 x86_64 (left and right arrow keys do not work in the menu).

I suspect the problem is something to do with ncurses. Anyway, I compiled MP statically in April 7.2.1 x86. This static MP works in later Quirkies. It is only a 32-bit application, but will run in x86_64 distros as it is static, does not require any libraries.

The price paid for this is size. The uncompressed binary executable has grown from about 120KB to 820KB. This is linked with glibc -- I did try to do it in Buildroot, with uClibc, but got errors and didn't feel inclined to chase them down -- maybe some other time.

...maybe technosaurus can tackle that one! He is our Puppy Forum developer who is a wiz at doing things like that. Especially compiling things static and small.

I will make my static MP into a PET and use in future builds of Quirky. It will work in all x86 (32-bit) and x86_64 quirkies, including the new SlaQ. Will upload the PET soon.

Here is the MP website:

The old sources are here:

...there is also version 3.1.11. I think that this is for 8-bit ASCII ncurses, whereas 3.2.x supports ncursesw (wide character).


Here is the static x86 PET (also works on x86_64) (400KB):

Tags: linux