GNU Midnight Commander 4.6.2-pre1

kilgota at banach.math.auburn.edu kilgota at banach.math.auburn.edu
Sat Sep 29 06:02:12 UTC 2007



On Fri, 28 Sep 2007, Pavel Tsekov wrote:

> Hello,
>
> -------- Original-Nachricht --------
>> Datum: Fri, 28 Sep 2007 22:51:05 +0200
>> Von: Oswald Buddenhagen
>> Betreff: Re: GNU Midnight Commander 4.6.2-pre1
>
>> On Thu, Sep 27, 2007 at 11:01:27PM -0500, kilgota at banach.math.auburn.edu
>> wrote:
>>> Notice the <------> things in what I just copied?
>>>
>>> I can kindof see why this was introduced. Presumably, it is an
>>> indication that the TAB key has been used while the file from which I
>>> copied was being written.
>>>
>> yes
>>
>>> But I am not sure if this is a desirable feature, or not.
>>>
>> it is

Oswald,

On what grounds? I said I can "kindof see why this was introduced." You 
are saying it not only has some kind of logic behind it that I could 
"kindof see" but it is indeed a good idea. Why? If it is a good idea then 
there is no doubt a good explanation.

Jesus, it is written, "broke bread" with the disciples, as did his 
forefathers with their families and guests. Nowadays, we chase the bread 
with a knife, or subject it to a slicing machine. We are more complicated 
and sophisticated and require lots more technology to deal with the bread. 
Does our bread taste better or is its nutritional content improved? Does 
this analogy fit? That is also a good question.

>>
>>> I can easily think that, if I want to copy a block of C code from one
>>> file to another using the mouse, I would feel quite frustrated if this
>>> is what actually happens with every line where the tab key got used.
>>>
>> just mark the text within mcedit before marking it with the mouse.

Interesting.

(Checking if this really works, or not ... yes it does ... )

Yes, interesting indeed. Is this documented anywhere?

>>
>> but yes, this needs a fix. ctrl-w was supposed to toggle this
>> *temporarily*, just like ctrl-s toggles syntax highlighting (not
>> temporarily, which is a bug, imo). more on this can be found in the
>> respective patch tracker entry.
>

Are these key combinations documented anywhere? I have looked rather 
carefully and I have not found any mention of them in the man page for 
mcedit, nor in the F1 help for mcedit, nor in the pulldown menus which the 
F1 help says to look at, nor in the Syntax file which users are encouraged 
in the F1 help to look at, nor in the c.syntax file in 
/usr/share/mc/syntax. Is the documentation in some other location which I 
should have checked?

> I'll fix these... I just need some time. I am trying to extract and 
> describe all those changes that happened between 4.6.1 and the current 
> cvs version. I am also trying to fix the copyright notices in all files. 
> You can open an bug report in the tracker if you want...

Pavel,

I can understand your problems, as in a small way I have to deal with 
similar things occasionally, and I am not even one of the project leaders 
over at gphoto. So by all means take the appropriate time and get 
it all right. One never shoots at the piano player, because then the music 
stops.

I will open a bug report if that is needed, so you can be the judge about 
that. Or Oswald could do it. As he was so kind as to answer my questions, 
he may be much more knowledgeable and closer to the MC project than I am. 
OTOH there is the perhaps deeper question about whether one is dealing 
with a bug or a feature, which is the focus of what follows. For, if it is 
a feature then it is no bug, though it still may be or may not be a 
feature in need of some improvement.

I do have some (possibly naive) things to say about this, though, purely 
as a user. Perhaps someone with sufficient knowledge _and_ with the 
time to answer could address these things. Therefore, what follows is 
directed to the list, not to the maintainer and release manager who may be 
at this point up to his ass in alligators and not have time to think about 
much of anything at all except impending deadlines.

1. Perhaps the <-------> stuff for tabs is good. Me, I liked better the 
old syntax which used a red, colored bar but that I did not see except in 
a Makefile. I mean, there was no particular syntax construction to 
distinguish a tab or two from the repeated use of the spacebar if one was 
looking at a .c or .h file. And, yes, we know that indentations in a .c or 
.h file are to be done with the tab key and to do code indentations with 
the spacebar is considered as incorrect and bad practice. But since it is 
incorrect and bad practice to use the space bar, it would seem to me that 
very few people will do that (and sinners and ignoramuses will get caught 
and educated by the project manager the first time that they submit code, 
as happened to me a few years ago). So why is it exactly needed to put 
into an editor a special mark showing that the tab has been used? As I 
said, I can see why it might be thought a clever feature, but is it 
actually necessary? And if not necessary is it desirable? Mind, I do not 
have the answers nor claim to have the answers. I am merely asking the 
questions. I hope I am not stomping on the toes of someone, just by asking 
the questions, who may have spent weeks to figure out how to code this.

2. For the purposes of this second question, let us assume that the 
marking of tabs by ghostly, semi-visible <-----> symbols is put into the 
editor. Then I ask, why is it good to copy the <----->s into another file 
with a mouse-copy? The tabs of course ought to be copied. Naturally. But 
why should the <-----> which is an invisible part of the original file 
and a ghostly indication of tabs in the file opened by the editor, get 
copied as a literal and visible <------> which now uses characters that 
show up on the screen? I mean, in the original .c file used in the example 
I sent in previous e-mail, there are tabs. There are no <------>s 
appearing in the file if one views it, opens it with some other editor, or 
prints a hard copy on paper. But if one mouse-copies from the file then 
why do the otherwise invisible tabs have to get mapped to real < and - and 
> characters? Assuming that this result is anticipated and intended, then 
what is the reasoning which leads to doing this? Or is it the case that it 
would perhaps be better to copy the tabs (invisibly, as creating the 
appropriate whitespace) and not literally to copy the "ghost characters" 
which stand for tabs, and thereby make those "ghost characters" to come to 
life and haunt us? I did not say in my previous e-mail that this is 
exactly a bug. It may not be a bug, but a feature. But I am out here in 
userland. So why is it a feature and not a bug? Why and how does this make 
the internal editor more user-friendly and helpful? Who would really want 
to create a bunch of <-----> symbols in the copy output, and under what 
circumstances? I cannot visualize anyone actually wanting to do that, 
except for purposes of a demonstration. Am I wrong? Help me understand.

3. If you want to introduce new phenomena in the software, then it is good 
if these things are documented somewhere. As I have indicated above, I 
just now looked for the documentation of these features in what seemed to 
me to be the logical places and I could not find anything. Let me add that 
MC has got more features already built in than people know how to use. I 
could give several more examples of this but a long letter would get even 
longer. One of the reasons why the documentation needs to be dealt with, 
which you might not think I am thinking of, is that if people do not know 
features X, Y, and Z are already implemented here, then those people may 
go off and waste a lot of effort in writing new software to re-invent the 
wheel and introduce features X, Y, and Z "for the first time" because, 
allegedly, nobody ever thought of X, Y, or Z before. What a waste if that 
happens.

To close, I hope that these comments are taken in the way that I meant 
them, in a constructive spirit. I hope that no one who reads this can find 
in it any negative undertones. For, I meant none. I am also aware of the 
fact that to keep up with a project's code and functions with the 
documentation is very difficult. Moreover, to provide documentation which 
is complete can often interfere with readability and usability by those 
who do not already know the answers, as witness the question about the 
bindings file from yesterday, which question _is_ answered in the 
documentation. I do think that good, complete, and truly helpful 
documentation is one of the greatest challenges in software development. 
As far as I can tell, there are no good models to emulate. Thys, I am not 
comparing our documentation to that produced by others. In particular, let 
me mention that a certain Big Software Company is often praised to the 
skies for its documentation, which I have found to be practically useless 
any time I actually tried to use it. Again, comparisons with others are no 
measure of what ought to be done nor of what standards ought to apply. The 
only valid comparison is between what is and what ought to be.


Theodore Kilgore



More information about the mc-devel mailing list