gnewsense-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gNewSense-users] Proposed change to KFV Mode for more thorough checking


From: Bake Timmons
Subject: [gNewSense-users] Proposed change to KFV Mode for more thorough checking
Date: Tue, 22 Apr 2008 15:52:25 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

The discussion on sourceless firmware has caused me to rethink some
things.  Until we come up with more automated methods, I propose a
change in the interface of KFV Mode to encourage more thorough checking
of files.

Currently, pressing Return on a table *file* entry (1) displays the
contents of this file in another window and (2) prompts for a choice of
license code based upon those contents.  While it is possible to scroll
those contents and read the entire file, this process could be easier.

Therefore, to better handle a thorough reading of files, I think it is
better that Return simply display the file in question, put the cursor
in the window of that file, and let the user examine that file however
they please with all of the normal scrolling and searching actions they
are used to.

Optionally, we may want a special, easy keystroke for this window of
file contents that would switch back to the table window.  Of course,
there are already more general keystrokes for this, but pressing, say,
Tab [for "Table"] in such a *read-only* window to switch back may be
handy indeed.  Since the use of Tab is not essential in the table
window, it may be good to change its meaning here to also switch,
namely, back to whatever window was last switched from, if applicable.

To choose a license code, we will need a new shortcut key.  Does anyone
ever need to use the Insert key on the KFV Mode display?  I want to pick
an easy key that is not used much, and Insert comes to mind.  It also is
easy to remember since you do want to Insert data in the table.  Any
better ideas?  The right kind of keystroke could be used with the cursor
either in the file being viewed or on the corresponding line of the
table file entry.  Insert would work well in both, but, again, perhaps
someone has a better idea.

In changing this process, we would be trading convenience for potential
accuracy.

Thinking ahead: just because, in principle, it is best to examine the
whole file, it does not follow that we examine everything the same way
equally.  Some parts are scanned quickly, others slowly.  In any case,
we must think of the best ways of getting the computer to help us flag
suspicious material.

Three things that spring to mind include:

1. Highlighting "interesting" text, arrays of values, etc. such as is
already done with license comments.

2. Font changes such as bold and colors that may signify various things
to us.

3. A real-time display window that summarizes "interesting" things.
This window would most likely be the little minibuffer window at the
bottom of Emacs.  It might look like:

filename.c  15%  (13/15 terms)  (3/5 arrays)  (Guess: GPLv2)  (Warnings: 1)

Thus, 15% of the filename.c has been scrolled through.  13 out of 15
legal or other interesting terms and 3 out of 5 arrays have been
scrolled through.  The guess could be from some automated facility that
has yet to be incorporated.  Finally, the warnings could be a reference
to some flags that the file triggered and that we would examine with a
certain keypress.

Anyone who would be inclined to code should not be put off by my use of
Emacs Lisp in KFV Mode.  After all, any program that could look at a
file and spit out some kind of information might be useful not only on
its own but also when called by KFV Mode.  The program may be as grand
as

$ ./a.out < filename.c
NON-FREE: non-free firmware starting at line 61

or as humble as

$ ./script.pl < filename.c
Interesting ranges: 10-25,120-140,3000-3100

where those ranges might signify ranges of characters in the file that
triggered some condition.  The ranges could then be used for
highlighting or something else, such as within KFV Mode.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]