Oh, and Buck,
I also usually use a single character variable usually mostly occasionally as a "local" variable, except I'll reuse the same temporary variable for all similar counter loops when I don't need to recall the variable's value later. If I need that value later, I put it into a specifically named variable, such as "eval keep_this_for_later = a". It may be easier to use and follow a counter and loop routine using "a" instead of "keep_this_for_later". "a" is usually a throw away and only used for temp stuff.
However, the source from which I pulled that little snippet has over 30,800 lines of code, some of which date back to 1991. There have been many "cooks" and apparently almost the entire alphabet has been used in one place or another. As I was looking for ways to reduce or eliminate (or consolidate code), I looked for each individual letter. When I hit m in the Outline, I knew there were more than two occurrences. I just couldn't find them using the Outline.
30K lines of code, written in RPG IV (not free form), is not easy when you are used to much less. The vast majority of programs I've worked on in the past 15 years have been much smaller and thus easier to find what I'm looking for.
The Over-explicative,
Duane
-----Original Message-----
From: WDSCI-L [mailto:wdsci-l-bounces@xxxxxxxxxxxx] On Behalf Of Buck Calabro
Sent: Thursday, November 12, 2015 10:25 AM
To: wdsci-l@xxxxxxxxxxxx
Subject: Re: [WDSCI-L] "M" apparently a special word in Outline
On 11/10/2015 12:51 PM, Duane Scott wrote:
I am using RDi 9.1 and was wondering why, when filtering the Outline for the letter M, the outline does not show occurrences of source where M is uses as an array index. Is this also a feature of more recent versions?
I'm not a heavy user of Outline View so this post was an eye opener.
First, on my 9.5, filtering on 'm' (without quotes) does return a reference to the declaration of m:
dcl-s m int(10);
It also does show array references using m as an index:
var = arr(m);
It also shows every single place that any variable is modified:
saveLabCouncil : Character (3)
230 (M)
It turns out that I only ever use single character variables locally, things like array indexes which are declared and used within a few lines of each other. I never need to filter to look for them, because they're everywhere and finding them all is mostly meaningless to me.
However.
I started looking at how Outline View does filtering, and it seems like a very simple regexp over the entire text of the presentation within the view. So, filtering for 'char' returns a list of all variables defined as character. Filtering for 'param' returns all the lines which are parameters. Filtering for 'ext' gives you variables with 'ext' in them along with anything declared EXTPROC and EXTPGM. Filtering on '('
returns just about everything. Filtering on '18' returns all the variables which are 18 long, all the variables used on lines 189, 218, and 2180.
I can't tell if that's intentional or not. I'm also not sure I'd want it changed. Knowing that it will filter on every bit of the text in the View may be good enough to be able to use the View better.
--
--buck
Visit wiki.midrange.com and register for an account. Edit a page that helps you, and because it's public, you'll help someone else, too!
--
This is the Rational Developer for IBM i / Websphere Development Studio Client for System i & iSeries (WDSCI-L) mailing list To post a message email: WDSCI-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/wdsci-l
or email: WDSCI-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/wdsci-l.
________________________________
________________________________
CONFIDENTIALITY NOTICE: This electronic message transmission is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. If you have received this transmission, but are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this information is strictly prohibited. If you have received this e-mail in error, please contact NALC Health Benefit Plan at 703-729-4677 and delete and destroy the original message and all copies.
As an Amazon Associate we earn from qualifying purchases.