[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH pro
From: |
Peter Bray |
Subject: |
[bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided |
Date: |
Mon, 13 Apr 2015 01:45:55 +0000 |
User-agent: |
Mozilla/5.0 (X11; SunOS i86pc; rv:29.0) Gecko/20100101 Firefox/29.0 |
Follow-up Comment #7, bug #44768 (project groff):
Greetings,
Further testing and hacking shows the following
- Solaris sed(1) is not up to the task of showing deletions
but GNU sed(1) is. Added -s SEDCMD
- DIFFCMD was set but not used in the most critical place ;-)
- if ! <command> is not portable, replaced with "test $? -ne 0"
- test <file> -ef <file> is not portable (NO FIX PROVIDED)
- inconsistent uppercase vs lowercase use in variable names (NOT FIXED)
fixed only cmd -> CMD
- $# and $? are numbers and don't need quoting (to the best of my knowledge)
- I always use ${1} rather than $1, that way ${10} does not look out of
place,
and all variables references are the same (${thing}).
- in theory any file path could contain spaces (thankfully most Unix people
never do that), but most user provided variables should be surrounded by
double quotes (at least that is what I have found in my 25+ years working
with many different Bourne shell implementations)
- replaced "for VAR" usage with "while test $# -gt 0"
- numeric comparisons in Bourne shell are -lt -le -eq -ne -ge -gt, though
many people seem to use "${x}" = "3", and this is probably reasonable, if
you don't if x actually contains a number, the numeric operator break
badly for the empty string and non-numeric values.
The attached script that seems to work for the basic case (two file
arguments to stdout), the three file arguments does not work due to
the use of "test <f> -ef <f>".
Further testing is still required. <shell> -n <file> passes for
Solaris 10 /bin/sh, Solaris 10 ksh, zsh 4.3.9 and bash 4.0.0 (this is
an older system). But as demonstrated this does not detect things like
"test <f> -ef <f>".
I have attached the whole script (the original .sh file, not the
generated one), rather than a patch, it up to you what you deem
reasonable for inclusion in the groff code base. And I personally do
not wish to be credited as an author (I try to practice ego-less
programming).
Regards,
Peter
PS: Formalities: I have requested copyright assignment "paperwork" via
address@hidden, but that probably won't arrive until tomorrow my
time. I hereby donate the changes to the author / current maintainer
to do with as he/she pleases, without the need or requirement for
attribution, copyright or ownership in any form, now or in the future.
(file #33662)
_______________________________________________________
Additional Item Attachment:
File name: gdiffmk.sh Size:7 KB
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?44768>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, anonymous, 2015/04/08
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Werner LEMBERG, 2015/04/10
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, anonymous, 2015/04/10
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Peter Bray, 2015/04/11
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Michael H Bianchi, 2015/04/12
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Werner LEMBERG, 2015/04/12
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Michael H Bianchi, 2015/04/12
- Re: [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Werner LEMBERG, 2015/04/12
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided,
Peter Bray <=
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Werner LEMBERG, 2015/04/13
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Peter Bray, 2015/04/13
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Michael H Bianchi, 2015/04/13
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Michael H Bianchi, 2015/04/13
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Peter Bray, 2015/04/13
- Re: [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Mike Bianchi, 2015/04/14
- Re: [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Werner LEMBERG, 2015/04/14
- Re: [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Mike Bianchi, 2015/04/15
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Michael H Bianchi, 2015/04/23
- [bug #44768] gdiffmk(1) is not Solaris 10 /bin/sh compatible - PATCH provided, Peter Bray, 2015/04/23