www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2022/09/08/13:39:31

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
Message-Id: <202209081732.288HWahC027033@delorie.com>
Date: Thu, 8 Sep 2022 19:30:28 +0200
From: "Juan Manuel Guerrero (juan DOT guerrero AT gmx DOT de) [via djgpp-announce AT delorie DOT com]" <djgpp-announce AT delorie DOT com>
To: djgpp-announce AT delorie DOT com
Subject: ANNOUNCE: DJGPP port of GNU Bash 4.2.53 uploaded.
Reply-To: djgpp AT delorie DOT com

This is a port of GNU Bash 4.2.53 to MSDOS/DJGPP.


  Bash is the GNU Project's Bourne Again SHell, a complete
  implementation of the POSIX.2 shell spec, but also with interactive
  command line editing, job control on architectures that support it,
  csh-like features such as history substitution and brace expansion,
  and a slew of other features.



  DJGPP specific changes.
  =======================

  - This port is based on the last port of bash to DJGPP (aka
    bsh4117b*.zip). It fixes some issues discovered while using it.
    Beacuse the bsh4117* port is based on all previous ports of bash,
    it implies that all of them are very likely to suffer from the same
    issues.  Thus all previous ports have been moved to the "deleted"
    directory.  Their usage is no longer neither supported nor
    encuoraged.

  - The port checks at run time if LFN support is available or not and
    selects the file names of temporary files that are created
    accordingly.

  - This port now supports colorized printing on terminal in the same
    fashion as other DJGPP ports like grep and diffutils do.

  - The port has been compiled using a C library version compiled from
    current repository code.  To avoid any nmalloc related issues, the
    old malloc functions have been compiled instead of nmalloc.

  - There may exist much more DOS specific bugs in this port that have
    still not been discovered and that will be fixed as they appear.

  - The testsuite is POSIX centric and has not been ported.  Especially
    assumptions about paths that are POSIX specific make it really
    difficult to adjust the testsuite to DOS.  Currently the port can
    only be tested by using it.
    It is also not clear at all if this port does work on FreeDOS and
    OpenDos in a reliably way.

  - The port has been configured and compiled on WinXP SP3, Win98SE,
    MS-DOS 7.10 using DOSLFN 0.41f and MS-DOS 6.22 using DOSLFN 0.41f.
    There is no guarantee that this may be possible with any other DOS-
    like OS.  Due to the use of long file names it will not be possible
    to configure and compile without LFN support.  The port has been
    compiled using gcc346 and bnu2351b.

  - The coprocess support and the coproc reserved word have been
    disabled. This feature requires special pipe support and this may
    be implemented in the future.

  - To be able to build this port you may need to have LFN support.

  - If NLS support is wanted, then the sources must be reconfigured
    passing the nls option to config.bat.

  As usual, all djgpp specific files (diffs, README files, etc.) are
  stored in the "djgpp" directory.  The sources have been configured to
  be build in the "0build" directory.  If for some reason it does not
  work for you, delete its contents and configure from scratch again.

  Please read the docs to become familiar with this product.


  Here is an extract of the NEWS file showing the user visible changes
  from the last port (GNU Bash 4.1.17) to this one:

-------------------------------------------------------------------------------


This is a terse description of the new features added to bash-4.2 since
the release of bash-4.1.  As always, the manual page (doc/bash.1) is
the place to look for complete descriptions.

1.  New Features in Bash

a.  `exec -a foo' now sets $0 to `foo' in an executable shell script
without a leading #!.

b.  Subshells begun to execute command substitutions or run shell
functions or builtins in subshells do not reset trap strings until a
new trap is specified.  This allows $(trap) to display the caller's
traps and the trap strings to persist until a new trap is set.

c.  `trap -p' will now show signals ignored at shell startup, though
their disposition still cannot be modified.

d.  $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape
sequences.

e.  declare/typeset has a new `-g' option, which creates variables in
the global scope even when run in a shell function.

f.  test/[/[[ have a new -v variable unary operator, which returns
success if `variable' has been set.

g.  Posix parsing changes to allow `! time command' and multiple
consecutive instances of `!' (which toggle) and `time' (which have no
cumulative effect).

h.  Posix change to allow `time' as a command by itself to print the
elapsed user, system, and real times for the shell and its children.

j.  $((...)) is always parsed as an arithmetic expansion first, instead
of as a potential nested command substitution, as Posix requires.

k.  A new FUNCNEST variable to allow the user to control the maximum
shell function nesting (recursive execution) level.

l.  The mapfile builtin now supplies a third argument to the callback
command: the line about to be assigned to the supplied array index.

m.  The printf builtin has a new %(fmt)T specifier, which allows time
values to use strftime-like formatting.

n.  There is a new `compat41' shell option.

o.  The cd builtin has a new Posix-mandated `-e' option.

p.  Negative subscripts to indexed arrays, previously errors, now are
treated as offsets from the maximum assigned index + 1.

q.  Negative length specifications in the ${var:offset:length}
expansion, previously errors, are now treated as offsets from the end
of the variable.

r.  Parsing change to allow `time -p --'.

s.  Posix-mode parsing change to not recognize `time' as a keyword if
the following token begins with a `-'.  This means no more Posix-mode
    `time -p'.  Posix interpretation 267.

t.  There is a new `lastpipe' shell option that runs the last command
of a pipeline in the current shell context.  The lastpipe option has no
    effect if job control is enabled.

u.  History expansion no longer expands the `$!' variable expansion.

v.  Posix mode shells no longer exit if a variable assignment error
occurs with an assignment preceding a command that is not a special
builtin.

w.  Non-interactive mode shells exit if -u is enabled and an attempt is
made to use an unset variable with the % or # expansions, the `//',
`^', or `,' expansions, or the parameter length expansion.

x.  Posix-mode shells use the argument passed to `.' as-is if a $PATH
search fails, effectively searching the current directory.  Posix-2008
change.

2.  New Features in Readline

a.  The history library does not try to write the history filename in
the current directory if $HOME is unset.  This closes a potential
security problem if the application does not specify a history filename.

b.  New bindable variable `completion-display-width' to set the number
of columns used when displaying completions.

c.  New bindable variable `completion-case-map' to cause
case-insensitive completion to treat `-' and `_' as identical.

d.  There are new bindable vi-mode command names to avoid readline's
case- insensitive matching not allowing them to be bound separately.

e.  New bindable variable `menu-complete-display-prefix' causes the menu
    completion code to display the common prefix of the possible
completions before cycling through the list, instead of after.



-------------------------------------------------------------------------------




  The port consists of the usual three packages that have been produced
  using djdev206 (CVS repository code) and can be downloaded from
  ftp.delorie.com and mirrors as (time stamp 2022-08-31):


    GNU Bash 4.2.53 binary, info and man format documentation:
    http://ftp.delorie.com/pub/djgpp/current/v2gnu/bsh4253b.zip

    GNU Bash 4.2.53 dvi, html, pdf and ps format documentation:
    http://ftp.delorie.com/pub/djgpp/current/v2gnu/bsh4253d.zip

    GNU Bash 4.2.53 source:
    http://ftp.delorie.com/pub/djgpp/current/v2gnu/bsh4253s.zip



  Send GNU Bash specific bug reports to <bug-bash AT gnu DOT org>.
  Send suggestions and bug reports concerning the DJGPP port
  to comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.


Enjoy.

    Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019