<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Thanks.<BR>
 <BR>
I depend heavily on plain text search, including "whole word".<BR>
I find that "language aware" tools are generally lacking<BR>
in availability, features, scale, ease of use.<BR>
 <BR>
 <BR>
Plain text search, augmented with a file system cache and/or<BR>
possibly an index, is available and scales and handles all<BR>
languages potentially.<BR>
 <BR>
 <BR>
This is an area where C really trumps C++, because<BR>
of the existance of namespaces and classes to scope<BR>
names that are broadly visible, you end up with function<BR>
names like "Init" instead of "WindowInit", etc.<BR>
Operator overloading is a problem too -- I can't<BR>
search for "+" on a particular type.<BR>
Modula-3 encourages these problems too I believe.<BR>
 <BR>
 <BR>
C's global namespace is usually considered a problem,<BR>
and it is, but it is also a feature.<BR>
 <BR>
 <BR>
This is also a reason to not use "file level static" in C.<BR>
Parameter names and local variable names don't seem to matter,<BR>
as they truly have small visiblity (well, parameter names in Modula-3 don't).<BR>
But function names, type names, record/object fields..<BR>
 <BR>
 <BR>
I am often lazy myself, but just forward me this email, call me a hypocrite,<BR>
go ahead and lengthen names I made too short. :)<BR>
 <BR>
 <BR>
I'm not sure what the difference is between var.vartype and mvar.mvartype.<BR>
mvar contains var.<BR>
I suspect var.vartype is "more correct for the data" and mvar.mvartype is the "type<BR>
of the access". Like, if I were to "split" an acces to a 64bit variable<BR>
into two access, var.vartype should be unchanged, mvar.mvartype can be changed.<BR>
I was going to be lazy and ask here, but then decided to try to read the code more.<BR>
 <BR>
 <BR>
These changes are not condusive to diffing, granted.<BR>
They add a lot of noise.<BR>
Stuck between two bad things I'm afraid there.<BR>
 <BR>
 <BR>
 - Jay<BR><BR> <BR>> Date: Thu, 28 Jan 2010 10:22:28 -0600<BR>> From: rodney_bates@lcwb.coop<BR>> To: m3commit@elegosoft.com<BR>> Subject: Re: [M3commit] CVS Update: cm3<BR>> <BR>> I highly support this kind of change. Very short identifiers<BR>> are classic cases of sacrificing readability in favor of<BR>> saving keystrokes during writing--a very bad tradeoff.<BR>> The poor wretches who get/have to maintain the code pay the<BR>> price for somebody else's laziness.<BR>> <BR>> Jay Krell wrote:<BR>> > CVSROOT: /usr/cvs<BR>> > Changes by: jkrell@birch. 10/01/28 14:42:19<BR>> > <BR>> > Modified files:<BR>> > cm3/m3-sys/m3back/src/: Codex86.m3 M3x86.m3 M3x86Rep.i3 <BR>> > Stackx86.m3 <BR>> > <BR>> > Log message:<BR>> > more renaming for readability (some just altering style of previous,<BR>> > but also renaming more fields)<BR>> > size => flit_size<BR>> > proctype => proc_type<BR>> > varsize => var_size<BR>> > mvarsize => mvar_size<BR>> > align => var_align<BR>> > size => var_size<BR>> > mvaroffset => mvar_offset<BR>> > mvartype => mvar_type<BR>> > etc.<BR>> > <BR>> > <BR>                                          </body>
</html>