Skip to content

Releases: briandfoy/PerlPowerTools

PerlPowerTools-1.045

30 Apr 22:23
9d9481a
Compare
Choose a tag to compare

1.045 2024-04-30T22:22:10Z
* All changes from Michael Mikonos
* ar
- validate args for -a and -b (#484)
- ensure file has header with -q, which should have happened before but wasn't (#495)
- warn if archive member isn't found (#500)
- improve internals with strict; better option validation (#510)

* arithmetic
	- validate the -r argument using the right variable (#501)
	- treat an empty line as bad input instead of the number undef (#541)

* asa
	- various internals improvements (#545)

* awk
	- don't need to load App::a2p (#524)
	- various internals improvements (#525)
	- use File::Temp instead of rolling our own (#557)

* banner
	- various internals improvements (#585)

* bc
	- handle cases where Math::Big* is missing (like minimal distros of perl) (#511)
	- assignment to variable does not print, in line with GNU bc (#517)
	- remove non-standard ** operator; use ^ instead (#518)
	- catch negative index in array assignment (#521)
	- allow digits in array names (#523)
	- internal fixes to make the yydebug code simpler (#540)
	- various internals improvements (#543)
	- various internals improvements (#548)
	- various internals improvements (#554)
	- various internals improvements (#559)
	- fix "Exiting subroutine via next" error (#562)
	- catch divide by zero before we try the division (#580)
	- fix problem where vars did not have a type in the internal symbol table (fixes #522) (#582)
	- allow array indices to have fractional parts (still only use the floor) (#584)

* cal
	- simplify usage message (#583)

* cmp
	- remove -? option, although using it give you the help still  (#567)

* col
	- we now buffer the entire file to get around some weird effects (#483)
	- various internals improvements (#586)

* comm
	- allow for the unbundling of options (#535)

* cut
	- don't allow -b and -f at the same time (#485)
	- various internals improvements (#588)

* date
	- protect path to current perl in backticks (from kal24) (#506)
	- various internals improvements (#509)

* diff
	- empty files are the same  (#578)

* du
	- warn if du cannot stat a file (#515)
	- various internals improvements (#574)

* echo
	- various internals improvements (#509)

* ed
	- internal improvements to reduce complexity (#489)
	- filename must have at least one character; better support to remember filename (#542)
	- various internals improvements (#550)
	- various internals improvements (#553)
	- fixed inserting an empty file; print the number of characters read from a file (#560)
	- handle argument to `s` command being zero length (#577)
	- s/// correctly reports "no match" for no matches. (#579)

* expand
	- fix the tabstop argument to get the correct number of spaces (#491)
	- allow for the -- option terminator (#492)

* factor
	- various internals improvements (#509)

* file
	- exit with error if the command line options are wrong (#546)
	- various internals improvements (#571)

* fish
	- various internals improvements (#544)
	- card names are now case insensitive (#551)
	- various internals improvements (#558)

* fmt
	- better reporting when the program cannot open a file (#487)

* fold
	- better error messages when fold can't close a file properly (#561)

* glob
	- handle a bare tilde at the start of the path (#490)
	- various internals improvements (#509)
	- various internals improvements (#539)

* hangman
	- ensure that we can get at least one word from the word list (#502)

* id
	- allow only 0 or 1 arguments (#494)

* install
	- fix setting permissions on installed files (#514)

* join
	- allow -- to terminate options (#504)

* kill
	- help shows signal list (#513)
	- pid must be a positive whole number (#534)
	- various internals improvements (#566)

* ln
	- handle single argument call correctly (#497)

* mail
	- resolve conflicting hostname() definitions (#519)
	- use error from IO::Socket if there's a problem (#536)

* maze
	- clarify argument processing (#516)

* mkdir
	- various internals improvements (#549)
	- die for an empty mode argument (#552)

* mkfifo
	- various internals improvements (#572)

* moo
	- argument must be greater than zero (#569)

* nl
	- validate arguments to -b, -f, and -h (#496)

* od
	- correctly handle multiline repeating (#498)

* patch
	- only process regular files, and die otherwise (#556)

* pig
	- remove -v but support --version (#587)

* printenv
	- remove -? option to match BSD (#503)

* printf
	- remove internal string eval to allow more things in formats and args (#526)
	- handle octal and hex escapes better (and limit to a single char) (#528)
	- ignore arguments if the first argument does not have format specifiers (#532)
	- better error message for bad printf format (#564)

* pwd
	- various internals improvements (#573)

* rev
	- remove -v option, but add it back as --version; -h and --version messages change slightly (#581)

* rmdir
	- don't rmdir() if the argument is not a directory (#568)

* shar
	- various internals improvements (#565)

* spell
	- remove -b option, use -d instead to use alternate dictionary (#527)
	- fail if dictionary is empty (#530)

* split
	- disallow a split size of 0 (#482)
	- various internals improvements (#555)

* sum
	- don't allow -a and -o at the same time (#488)

* tac
	- validate the value for -S; must be positive (#529)

* tail
	- exit with error if the command line options are wrong (#547)

* tar
	- fix file extraction (#493)
	- -f switch is now mandatory; use - to read from stdin (#575)

* test
	- exit 1 (not 2) for no arguments. (#520)

* touch
	- de-emphasize -f, which is a no-op anyway (#512)
	- -r can now take a filename named "0" (#563)
	- various internals improvements (#576)

* unexpand
	- -- terminates options processing (#499)

* units
	- various internals improvements (#509)
	- remove --copying and --warranty options (license is in this distro) (#589)

* unshar
	- terminate arguments with -- (#481)

* which
	- use the same exit codes as the GNU version (#486)

* whois
	- fix some network code; don't use a default server (must specify a server) (#531)
	- query multiple domains in one command (#533)
	- make strict safe; use error from IO::Socket instead of $! (#537)
	- hostname must have at least one non-whitespace character (#538)

PerlPowerTools-1.044

03 Mar 09:13
33b07ee
Compare
Choose a tag to compare

1.044 2024-03-03T09:12:25Z

  • All changes are from Michael Mikonos

  • addbib

    • allow file named 0 for -p (#472)
  • apply

    • fix argument handling for %N handling (#436)
    • simplify some internals (#471)
  • arch

    • reject all arguments (#438)
  • asa

    • fix problem reading a file with a dash in name (#476)
  • basename

    • exit with an error for no arguments (#448)
  • bc

    • the - is a literal filename now (#444)
    • a couple of internal cleanups (#451)
    • don't print value after array element assignment (#452)
  • cat

    • explicitly close files (#423)
    • terminate line number with a tab (#442)
  • cmp

    • fix off-by-one error (#450)
    • require at least two arguments (#465)
  • colrm

    • some internal improvements (#462)
  • cp

    • report correct exit code (#426)
  • deroff

    • allow reading from standard input (#474)
  • diff

    • reduce internal clutter (#458)
  • dirname

    • exit with an error for no arguments (#448)
  • ed

    • internal improvements (#418)
    • simplify the debug facility (#432)
    • clean up some internals (#437)
    • fix applying a substitution to a single line (#441)
    • improvements to r filename and w filename (#459)
    • refactor some of the insertion code (#466)
  • env

    • print usage for bad options (#461)
  • expand

    • fix command line processing regex (#469)
  • fish

    • reduce some internal complexity (#449)
  • fmt

    • handle - as option instead of a file (#431)
  • fold

    • terminate command-line options with -- (#425)
    • don't treat - as standard input (#447)
  • grep

    • remove TCGREP environment var, use GREP_OPTIONS instead (#428)
  • head

    • handle - option to be like -n (#419)
  • id

    • remove -h option, although you still get the usage statement (#429)
    • note that -a is ignored (#445)
  • install

    • some internal improvements on usage handling (#424)
  • kill

    • validate signal number arguments (#454)
  • look

    • standardize exit codes (#473)
  • maze

    • fix the usage message (#443)
  • nl

    • validate the -n argument (#446)
    • specify exactly one file on the command line (#479)
  • od

    • some internal improvements (#433)
    • fix offset numbering (#434)
    • support multiple input files (#463)
  • paste

    • require at least one filename; - is standard input (#440)
    • internal improvements for handling field separator (#460)
  • ping

    • reject unknown arguments (#477)
  • primes

    • fail for too many arguments (#470)
  • rev

    • terminate args with -- (#439)
  • rm

    • document the -v switch (#421)
  • shar

    • handle missing or unreadable files (#475)
  • sleep

    • fail for extra arguments (#430)
  • tac

    • fix some odd cases for -s (#467)
  • tail

    • handle - option to be like -n <DIGIT> (#420)
  • tee

    • end command line options with -- (#480)
  • touch

    • fix usage handling and exit code (#468)
  • uname

    • reject any arguments (#478)
  • uniq

    • reject unknown command-line options (#422)
  • wc

    • terminate argument processing with -- (#427)
    • fix -w to report the right number (#457)
  • what

    • invalid options die; no longer supports stdin (#456)
  • whoami

    • don't allow arguments (#453)
  • xargs

    • -l is an alias for -L (GNU extension) (#435)
  • yes

    • remove GNU extensions (we are a BSD clone) (#455)

PerlPowerTools-1.043

25 Jan 23:25
5b7809e
Compare
Choose a tag to compare

1.043 2024-01-25T23:23:48Z
* All changes are from Michael Mikonos unless otherwise noted
* ar
- get rid of getopts.pl (#394)
- switch to three argument opens (#398)
* cat
- fail for -? (#396)
* cmp
- simplify some code (#388)
* col
- no longer takes arguments; it's just stdin (#407)
* ed
- fix some line calculation (#405, #413, #414, #415)
- allow whitespace in arguments (#411)
- fail for -? (#417)
* file
- switch to three argument opens (#398)
* fish
- update some style in the code (#410)
* fortune
- unknown options are now fatal (#392)
* grep
- remove some stray chars from error messages (#400)
* hangman
- don't assume size of word list (#416)
* head
- the - is now treated as stdin (#397)
* ls
- add strict (#395)
* od
- fix line offset numbers in output (#389)
- fix oddities in output with -b (#391)
* pom
- unknown options are now fatal (#390)
* pr
- -3x option are now fatal (#393)
* primes
- non-numeric data are errors now (#406)
* sort
- enough sensible bounds for -F and -y (#412)
* tail
- allow both -n1 (combined) and -n 1 (separated) (#399)

PerlPowerTools-1.042

22 Dec 12:46
db239e4
Compare
Choose a tag to compare

1.042 2023-12-22T12:45:27Z
* All changes from Michael Mikonos unless otherwise noted

* apply
	- require args after command (#374)
	- catch system() failures (#376)
	- handle bad arg count (#384)
	- add the -d option (#385)

* baseb4
	- check close return value (#362)

* bc
	- use bignum with e notation (#353)

* cat
	- Let -b override in (#360)

* cmp
	- forbid -s with -l (#387)

* chown
	- show filename in error message (#386)

* date
	- show usage for bad options (#365)

* diff
	- die if the args try to compare standard input to a directory (#361)
	- improve options handling (#371)
	- speedup some loops (#372)

* ed
	- Adjust some error strings (#349) 
	- simplify code for r command (#354)

* env
	- end options with -- (#379)

* grep
	- make decompression work (#365)

* find
	- correct usage example (#370)
	- simpler error messages (#375)

* fmt
	- die for unknown options (#357)

* head
	- check close return value (#363)

* hexdump
	- small code improvements (#358)

* install
	- update usage string (#364)

* ls
	- fix output for -R (#359)

* patch
	- die for unknown options (#356)

* pig
	- add NetBSD compatibility (#369)

* pr
	- fix incorrect looping with -l (#350)
	- support - as standard input (#351)
	- validate -o argument (#352)

* printenv
	- update Pod docs (#382)
	
* sort
	- better usage (#380)

* tr
	- improve -d option (#367)
	- use getopts instead of custom code (#368)
	- the -C option is now an alias for -c (#373)
	- remove the -U option (#373)

* uniq
	- treat -- as end of options (#355)

* uudecode
	- implement the -i option (#381)
	
* uuencode
	- directory argument is a failure (#378)

* which
	- requires an arguemnt (#383)

* words
	- directory argument is a failure (#377)

PerlPowerTools-1.041

24 Nov 17:12
759312d
Compare
Choose a tag to compare

1.041 2023-11-24T17:10:58Z
* All changes from Michael Mikonos unless otherwise noted
* arithmetic
- use getopts (#336)
* banner
- use getopts instead of custom parsing (#286)
* bc
- don't print 0 for a false condition (#247)
- allow file named 0 (#282)
- fix case that eats too much input (#292)

* cal
	- use getopts instead of custom parsing (#277)
* chgrp
	- allow -- to end options (#341)
* chmod
	- allow -- to end options (#347)
* chown
	- allow -- to end options (#347)
* cmp
	- exit with 2 on arg failure (#307)
	- handle hex input (#309)
	- support - for stdin (#310)
* col
	- reject 0 value for -l (#334)
	- add usage (#343)
* comm
	- use strict (#306)
	- support - for stdin (#327)
* cut
	- show error for unknown options (#297)
	- disallow -b 0 or -f 0 (#299)
* date
	- some code cleanups (#287)
	- document -q (#328)
* diff
	- validate -U and -C args (#308)
	- support - for stdin (#311)
* ed
	- removed unused code (#315)
	- fix r command addresses (#330)
	- allow r to add newline to last line (#346)
* expand
	- support - for stdin (#324)
	- don't suppress backspace (#329)
	- don't slurp file (#344)
* expr
	- use strict (#338)
* file
	- fix an error message (#285)
* fortune
	- improve -w handling (#322)
* hexdump
	- allow file named 0 (#283)
* id
	- allow uid 0 (#281)
* install
	- handle directory args correctly (#339)
	- fix exit status precedence problem (#348) (mauke)
* join
	- support - for stdin (#313)
	- show usage (#345)
* ln
	- error out for bad options (#331)
* ls
	- try harder to determine the screen size (#303)
* mail
	- fix problem writing to mailbox (#279)
	- better handling of temp file (#316)
	- disallow directory for -f (#319)
	- error for uid 0 (#321)
	- remove some duplicated code (#322)
* mkfifo
	- let -m take one and two digit args (#312)
* nl
	- use Pod::Usage (#291)
* patch
	- support - for stdin (#314)
	- fix exit status precedence problem (#348) (mauke)
* pom
	- leverage libraries to get math functions instead of coding them (#280)
* pr
	- allow -- to end options (#332)
	- use spaces for margin_spaces (#342)
* printf
	- support hex arguments (#320)
* rev
	- warn for directory args (#318)
* shar
	- fix dependency error with old getopts.pl (#300)
	- ignore directories (#303)
	- support dir arguments from find (#304)
* spell
	- refactor for better looping (#335)
* split
	- remove code to handle -? (unkown switch still does same thing) (#278)
* strings
	- make strict-safe, better validation (#289)
	- read stdin by default (#333)
* tail
	- stricter checking on numbers for arguments (#284)
	- continue on error (#294)
	- allow 0 as argument (#296)
	- warn for directories (#298)
* tar
	- disallow directories for -f (#337)
* tee
	- guard special chars in filename (#290)
* touch
	- support directories (#326)
* unexpand
	- support - for stdin (#325)
	- don't slurp file (#340)
* uuencode
	- support - for stdin (#317)
	
* wc
	- report filenames (#295)
* wump
	- various refactors (#293)
* xargs
	- support -0 (#288)

PerlPowerTools-1.040

02 Oct 04:44
9befd56
Compare
Choose a tag to compare

1.040 2023-10-02T04:42:58Z
* All of these improvements are from Michael Mikonos
* cal
- add -j, -y switches (#259)
* chgrp
- note filename in error messages (#261)
* dc
- don't reda stdin if there was a file (#268)
* env
- print message wen exec fails (#260)
- validate -u (#266)
* look
- reject mulitple arguments (#274)
* pr
- disallow directories as arguments (#264)
* strings
- better validation for args (#262)
* sum
- add md5 support (#271)
- add sha{1,256,384,512} (#275)
* tac
- fix bug in tac for reading from standard input (#258)
- add usage message (#269)
- continue to next file on error (#270)
* wc
- keep going if an open fails (#263)
* which
- don't return directories (#267)
* xargs
- better handling of exec errors (#265)

PerlPowerTools-1.039

22 Sep 23:56
9216f06
Compare
Choose a tag to compare

1.039 2023-09-22T23:46:44Z
* All of these improvements are from Michael Mikonos
* arithmetic
- terminate on end-of-line
* banner
- clarify usage (#232)
* basename
- fix directory separator handling (#250)
* bc
- fix integer precision problem (#236)
* bcd
- add -d to decode card (#238)
* cal
- improve year formatting (#242)
* cmp
- check that both files exist (#249)
* diff
- work with directory arguments (#240) (#241)
* ed
- fix current line tracking for j, m, t (#225)
- add wq shortcut (#228)
- fix handling of bad command 1c0 (#251)
* expr
- exit with error for missing argument (#253)
* fold
- continue if there's an error (#226)
* head
- don't head on directories (#227)
* ls
- use standard meaning of -f (turns on -a) (#245)
* nl
- validate numeric operations (#229)
- exit with error for bad filename (#230)
* paste
- specify stdin with - (#231)
- reject unknown options (#235)
* rmdir
- include filename in warnings (#243)
* seq
- added new command (#257)
* sort
- don't continue for unknown options (#255)
* sum
- improve code readability (#239)
* tee
- handle -n properly (#254)
* tsort
- don't support multiple input files (#256)
* which
- fix option parsing (#246)
* xargs
- fix infinite loop with -n (#248)

PerlPowerTools-1.038

27 Aug 11:39
1994a1c
Compare
Choose a tag to compare

1.038 2023-08-27T11:36:25Z
* All updates are from Michael Mikonos
* rev - accept ? as a file (#222)
* cat - exit 1 for bad argments (#223)
* ed - fix range-specific write (#221) and better handling of maxline (#224)

PerlPowerTools-1.037

31 Jul 17:17
e53e200
Compare
Choose a tag to compare

1.037 2023-07-31T17:09:18Z
* adjusted several tests
- find.t checks that its local::lib guess actually exists
- #220
- rm tests squash a warning about a redefined exit #216
- bc tests checked for English error messages, which is
- not always the case #215
- bc tests allow for different levels of perl precision
- (long double and quadmath) #214
* Michael Mikonos enhanced ed is many ways:
- Add -s for quieter operation #212
- Make -j act like the real ed #213
- better argument checking #217
- add list (l) command #218
- fix an edge case with "r file" #219
- fix range-specific write #221

PerlPowerTools-1.036_002

29 Jul 20:53
ff2c2f7
Compare
Choose a tag to compare

1.036_002 2023-07-29T20:26:25Z
* Improve the find.t test to not mistakenly use a non-existent
path for find2perl
#220