Skip to content

COUNTSIZE doesn't work in DIRECTORY #2549

@rmkaplan

Description

@rmkaplan

The problem is that the DREVERSE at the end converts the numeric VALUE to NIL, should be guarded by a LISTP.

But there is still a needless and unintuitive confusion between SIZE and LENGTH. If SIZE is interpreted as pages, COUNTSIZE would presumably give you the number of pages, not the number of bytes as would be typically expected.

I propose making SIZE and LENGTH be synonyms, and determining the difference in their current behaviors by a separate modifier that specifies the units. So SIZE and LENGTH would show the same unitized numbers, and COUNTSIZE would show the sum of those numbers. The modifiers would be BYTES (default), KB, MB, GB, PAGES, and those would be the column headers. The modifiers could also be specified alone.

So:
DIR * SIZE KB
DIR * KB
would both show kilobytes
DIR * COUNTSIZE MB would show the megabyte sum

Separately, the additional column information for long file names causes a line break after the file name, which makes the DIR printout longer and less readable. There is no good solution, other than to do what FILEBROWSER does--enumerate all the files to get the maximum length before printing. An intermediate approach would be to let the column drift to the right so that it is always lined up according to the longest previously seen file. Of course, the information would drift away from the initial column headers, but I think the resulting display for directories with long file names would be more compact (no extra lines) and easier to read.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions