summaryrefslogtreecommitdiff
path: root/shells/osh/DESCR
AgeCommit message (Collapse)AuthorFilesLines
2016-01-13Update shells/osh to version 20160108 as request by upstream onnros1-0/+2
pkgsrc-users. Also added copyright notices and installation of the license to make the package compilant with it's license. Changelog: Changes that improve compatibility w/ the Sixth Edition (V6) UNIX Thompson shell are marked w/ a `C:' in the details below. ------------------------------------------------------------------------------- [osh-current] (development): * Work In Progress ( see http://v6shell.org/src/current/ ) ------------------------------------------------------------------------------- [osh-20160108] (latest): README: * Updated supported systems to include FreeBSD 10.2, Mac OS X 10.11 (El Capitan), NetBSD 7.0, OpenBSD 5.[78], and Debian 8.2 (jessie). Makefile: * Changed `-W' to `-Wextra' (same warning, newer name). From gcc(1) - This option used to be called -W. The older name is still supported, but the newer name is more descriptive. DEDICATIONS: * Updated the URL for dmr's home page at Bell Labs. *.h: * Added a sh6-related comment to the top of the header files since they are used by sh6 and its external utilities. examples/dot.oshrc: * Redirected diagnostics from leaks(1) (Mac OS X) to /dev/null. ------------------------------------------------------------------------------- [osh-20150115]: if.c, osh.c, strtoint.[hc], util.c: * Changed the strtoint() function to convert string into a long instead of an int, and ensured that numbers which might be considered to have an octal form (valid or invalid) are not treated as if they are decimal integers. For example: `if 0[0-9] -eq [0-9]' and `if [0-9] -eq 0[0-9]' and similar are always false, resulting in an error. if.c, util.c: * Changed how the built-in & external if(1) commands call the strtoint() function. err.h, strtoint.c: * Changed the "not an integer" diagnostic for the strtoint() function to "bad integer". err.h, if.c, util.c: * Changed the "not a digit" diagnostic for the built-in & external if(1) commands to "bad digit". err.h: * Changed the order of the definitions for diagnostics to make finding the "... expected" ones for if(1) a bit easier. ------------------------------------------------------------------------------- [osh-20141024]: README: * Added OS X 10.10 (Yosemite) to supported systems. * Added Debian 7.7 (wheezy) to supported systems. examples/*.osh.login: * Changed /usr/X11 to /opt/X11 in *PATH. examples/dot.oshrc: * Updated the sh6i alias to make it trap and untrap the 1 (HUP), 2 (INT), 3 (QUIT), 13 (PIPE), 14 (ALRM), 15 (TERM), 18 (TSTP), 21 (TTIN), and 22 (TTOU) signals accordingly for better behavior. ------------------------------------------------------------------------------- [osh-20140820]: * See CHANGES6 . ------------------------------------------------------------------------------- [osh-20140410]: Makefile: * Changed MOXARCH to OSXCFLAGS & OSXLDFLAGS to play better w/ MacPorts. Makefile.config: * Added comment to celebrate 12 years of osh via osh-current. osh.1: * Added missing (+) to version in Special commands. osh.c: * Enable `.' and `source' special built-in command execution to succeed when the user invokes the shell as `osh -c string'. EG: % osh -c '. file [arg1 ...]' [arg1 ...] or: % osh -c 'source file [arg1 ...]' [arg1 ...] . ------------------------------------------------------------------------------- [osh-20131109]: osh.1: * Changed `LICENSE' to LICENSE to match the other manual pages. examples/FILEPREP: * Changed `sigign' invocation to `trap'. examples/dot.oshrc: * Added two useful pwd-related aliases: `ocpwd' and `opwd' * Added a `now' and a `sysinfo' alias. ------------------------------------------------------------------------------- [osh-20130331]: *sh.[ch]: * Removed the deprecated $n and $s parameters. Now, the user can `set' and `unset' n and s as shell variables. The following command line is a simple way to replace all instances of $n w/ $# and $s w/ $? in file: % <file(rm -f file;sed 's/$n/$#/g;s/$s/$?/g'>file) . osh: * Added code to print diagnostics w/ line numbers when possible. When reporting error(s), if a diagnostic is to be printed, the shell gets the line number of the file where the error happened, adjusts the diagnostic (adding the name of the file and the line number if the standard input from which the shell reads and interprets commands lines is seekable), and prints it. EG: % echo R* ; osh R* ; head -1 R* README osh: README: 1: syntax error Welcome to Osh (V6Shell) - osh-20130331 ! . * Renamed the `sigign' special built-in command to `trap' to make osh signal-trapping behavior more sh-like. Granted, trap is a misnomer since osh only ignores signals for now. osh.1: * Removed the documentation for the $n and $s parameters. * Changed the documentation for `sigign' to `trap' as needed. examples/*: * Made stty(1) invocation conditional in .../etc.osh.login . * Escaped $1 when setting hcount alias in .../dot.oshrc . ------------------------------------------------------------------------------- [osh-20120604]: * New file: Makefile.config (included from Makefile) * New files: strtoint.[ch] (string to integer converter) * New files: tests/* (regression test suite for osh/sh6) Makefile: * Added a "check" target to run the tests w/ osh and sh6. * Added a "check-newlog" target to generate new test logs for the osh and sh6 tests. defs.h: * Limited maximum PATHMAX definition to 1024. pexec.c: * Changed errno to ENAMETOOLONG for each `path too long' error. osh: C: Added missing `Command line overflow' diagnostic. * Added $# (as a synonym for $n) parameter. * Added $? (as a synonym for $s) parameter. * Deprecated $n and $s parameters in favor of $# and $?. $n and $s parameters will be removed after this release. * Added simple shell variables. This allows the user to `set' and `unset' shell variables. For compatibility, these variables are limited to uppercase and lowercase ASCII alpha names that are one character in length. For example: $A $B $C and $a $b $c and so forth. * Changed quoting to allow $ substitution within double (") quotes. For example: "$$", "$*", "$1", and so forth. This makes parameter and variable substitution much more flexible. * Added `.' as a synonym for `source'. * Enabled PATH search when opening file for `.' and `source'. * Changed `setenv' built-in command usage and behavior. Now, name requires value argument. Updated osh.1 manual page accordingly. if: * Added new operators to the built-in `if' command for osh and to the external `if' command for sh6. Updated the if.1 manual page accordingly. The new operators include: <, >, -eq, -ne, -gt, -ge, -lt, -le osh.1: * Flagged $n and $s parameters as deprecated. * Added `set' and `unset' documentation to the "Special commands" subsection. * Added a new "Variable substitution (+)" subsection. * Documented `.' as a synonym for `source', and added relevant PATH search documentation. * Simplified "SECURITY" section a bit. * Updated "Quoting" subsection to describe double (") quotes handling. examples/*: * Made various changes to reflect current and future osh behavior. ------------------------------------------------------------------------------- [osh-20120102]: mkconfig: * Changed _XOPEN_SOURCE definition from 600 to 600L . err.h: * Added DEBUG_ALIAS, DEBUG_GLOB, and DEBUG_PROC definitions (undefined by default) for printf debugging in osh.c and util.c if/when needed. osh.c: * Changed exit status for alias and unalias so that they exit w/ a false (1) status when there are no aliases to print, set, or unset. Otherwise, they exit w/ a true (0) status when there is no error. * Added 'version' as special built-in command. osh.1: * Adjusted $v description in "Parameter substitution" subsection. * Added version description to "Special commands" subsection. * Added uname(1) to "SEE ALSO" section. examples/dot.oshrc: * Replaced the 'version' alias w/ alias 'v1' 'version' to invoke the 'version' special built-in command. ------------------------------------------------------------------------------- [osh-20111129-p1]: examples/dot.oshrc: * Re-added missing ';s/ \$//' that git ident removed from version alias. This removes trailing ' $' as shown in example 1 and 2 below: % : example 1 ; version osh-20111129 (NetBSD 5.1 amd64) $ % : example 2 ; version osh-20111129-p1 (NetBSD 5.1 amd64) ------------------------------------------------------------------------------- [osh-20111129]: mkconfig, v.c: * Added useful build system info from `uname -srm'. examples/dot.*: * Removed code to replace osh w/ sh6 when invoked as `osh [-i | -l] sh6'. Use sh6i alias instead. * Changed sh6i alias for sake of simplicity. * Removed sh6l alias. * Changed from using kill(1) to kill current ssh-agent process to using ssh-agent(1) and its `-k' flag instead. * Added handy new v and version aliases. For example: % v ; : Same as doing % echo $v osh-20111129 % version osh-20111129 (NetBSD 5.1 amd64) ------------------------------------------------------------------------------- [osh-20111027]: * New file: DEDICATIONS (in memory of Dennis M. Ritchie (dmr)) AUTHORS: * Added reference to DEDICATIONS file. LICENSE: * Added two more OpenBSD license references. mkconfig: * Fixed a problem w/ the mkconfig script on OpenBSD, where which(1) used to send a "newgrp: Command not found." diagnostic to standard output, not standard error. It looks like the noted OpenBSD which(1) problem has since been fixed though. osh: * Fixed a globbing problem caused by an unsigned-integer overflow. * Added $# (as a synonym for $n) and $* parameters. * Added a new, command-aliasing feature. osh.1: * Added `alias' and `unalias' documentation to the "Special commands" subsection. * Added a new "Aliases (+)" subsection. * Added a new "Metacharacters" subsection. *.1: * Changed the visual style of the manual pages, regarding bold, italic, and `literal' text. The intent was to make for easier reading. if: * Added `:' as if(1) special command. It is useful when debugging scripts and helps when documenting them. examples/dot.*: * Documented by example how to turn alias arguments into a no-op. * Added ssh-agent support. This allows the same ssh-agent process to be used for shared ssh key(s) across multiple concurrent login sessions. It also kills the ssh-agent process on logout when appropriate.
2009-05-30Update osh to 20090527, per maintainer update request by PR#41509.obache1-2/+2
Upstream changes between osh-20081213 and osh-20090527 follow: osh bug fixes: 1) This release fixes an `echo' bug that causes `echo ""' to print an unnecessary diagnostic. 2) It also fixes a `sigign' bug that can cause incorrect signal ignoring behavior for subshells. New osh features: 1) This release adds `cd' as a synonym for the `chdir' special command. 2) It also adds $m as a special parameter for the value of the MANPATH environment variable.
2008-11-23Update shells/oshreed1-5/+5
Add new maintainer. Thank you J.A. The following is from PR #40006: I would like to maintain this package if that is acceptable. Thus, I added myself as MAINTAINER. Changed files: DESCR, Makefile, PLIST, distinfo Changes between osh-20080629 and osh-20081122 which affect the osh package on the various pkgsrc platforms are described below. ------------------------------------------------------------------------ [osh-20081122]: mkconfig: * Added a case for DragonFly BSD (uname -s == DragonFly). osh.c: * Fixed a bug introduced in osh-20061230 where the shell incorrectly handles an unescaped terminating backslash (\) character at the end of string when the shell is invoked as `osh -c string'. In this case, the terminating backslash causes the shell to incorrectly read from the standard input at the end of string. For example: % osh -c 'echo Hello\' to\ you! Hello to you! This example should instead do nothing and exit w/ a zero status. For `osh -c string', an unescaped terminating backslash should effectively turn string into a no-op. Now, it behaves as expected. ------------------------------------------------------------------------ [osh-20081026]: Makefile: * Changed the "oshall" target to only build osh since the fd2, goto, and if utilities are now built into the shell. * Changed the "install-oshall" target to only install osh and its manual pages. This includes the fd2.1, goto.1, and if.1 manual pages since they are not fully documented elsewhere. osh.c: * Renamed cmd_index() to cmd_lookup(), and changed the algorithm from a linear search to a binary search. * Added a base reallocation multiplier to glob() to reduce the number of realloc()s required for very large argument vectors while allowing the first malloc() to be a relatively small allocation for up to 126 matching file-name arguments. util.c: * This is a new file for the integrated shell utilities. * Added a new `-e' command-line option to fd2 to simplify redirecting all conventional output to the standard error as diagnostic output. * Integrated the external `fd2', `goto', and `if' shell utilities as special built-in commands to improve shell performance. Also, added `echo' as a special built-in command. Osh executes each of these built-ins in a subshell. Consequently, the I/O for each can be redirected as before, and the argument list for each can be the result of a call to glob() as before.
2004-02-23Upgrade shells/osh to 040216, this closes PR pkg/24501.xtraeme1-3/+0
Too many changes to copy here, previous package was 2 years old, please review the Changelog file.
2002-08-20Initial import of osh-020214 into the NetBSD packages collectioncjep1-0/+8
as shells/osh. Osh is a re-implementation of the old and obsolete shell version, which was in standard use up to UNIX 6th Edition and was supplied as osh with UNIX 7th Edition. Its command language is a sparse subset of those of modern shells and is mostly common both to sh(1) and csh(1). This pkgsrc entry is based on the FreeBSD ports entry for osh.