New draft (#7) of SRFI 170: POSIX API Arthur A. Gleckler (07 Oct 2019 15:08 UTC)
|
Re: New draft (#7) of SRFI 170: POSIX API
John Cowan
(07 Oct 2019 16:06 UTC)
|
I've just published draft #7 of SRFI 170. It was submitted by John Cowan, coauthor/co-editor of the SRFI. <https://srfi.schemers.org/srfi-170/> Please note that Harold Ancell is now coauthor/co-editor of this SRFI. Thank you very much, Harold. Here are John's comments on the draft: Please make this a new draft, as there are a *lot* of changes, notably the removal of error handling and subprocess sections to their own future SRFIs. There are also many other changes. Here is the commit summary: - file-info-special? -> POSIX file-info-block-/character-special? - scsh file-info masks mode field to bottom three bytes - make arg names of create-hard-link/-symlink same as rename-file - Add chase? to set-file-owner/-group, note scsh doesn't do it - addind port as option to set-file-timespecs, it's trivial - added port as option to set-file-timespecs, it's trivial - added chase? as option to set-file-timespecs, it's trivial - added process-object/pid optional arg to process-group, it's trivial - Make delta for nice optional, explain defaults, proc->process-group - oops, it's process-object, not process-group - improved user-login-name through user-supplementary-gids explanation - normal order for effective id procedures, fixed error in set-* - description improvement for user-login-name through set-gid - more details about set-uid and set-gid, relevant to exec functions - added set-user-real-and-effective-uid/-gid, and much explaination - added Chibi Scheme implementation, scsh doesn't do new -and- procs - Added compiler versions to the Chibi Scheme implementation sentence - scsh does not impliment current-timezone and current-locale - clarify that signal-process/-group take process *objects* (or ints) - process ids < 1 have special meanings, please consult a reference - specify what directory-files returns if not handed a directory, '() - open-/read-/close-directory is a dumb wrapper that returns . and .. - Remove section 3.11 Environment variables and its exec-path-list - Clarify set-file-timespecs optional arguments and modify-time name - HTML quote abbrev cleanup - major cleanup and correction of open/read/close-directory - read-directory returns #f -> eof-object to be generator friendly - correct optional argument specification for directory-files - weaken file-info claim, directory-files will not return '() - updated set-file-timespecs - more fixups for coming SRFI on timespecs - move real-path so it doesn't get overlooked - increase clarity of what deletes what in override? - scsh difference improvement, and remove file-info-symlink? - remove all symbolic link awareness and handling except real-path - set-file-mode permission bits -> mode bits - delete set*id foot guns - of course it does when chasing.... - remove file-info-*? predicates for types we aren't supporting - remove port argument from set-file-mode/-owner/-group/-timespecs - remove processes proceedures from spec - clean up Implementation section to match recent changes - Per John and Lassi, add myself (hga) to the list of authors - removed user-login-name, and section 3.8 System parameters - remove group-info:members - clean up Implementation section - create more space on definition lines to add POSIX calls - add POSIX calls to definition lines, placeholders for with- ttys - add list of canonical POSIX calls that can EINTR - try to make it clear that dynamic-wind is magical, not our use of it - Chibi Scheme's user and group database access procedures fixed - first cut improving with- and without- procedure explainations, etc. - Added ppid and pgid, user-info:full-name and user-info:parsed-full-name, editorial improvements on terminals - fixed transposition of pid and parent-pid POSIX calls - added read-string as valid in raw mode - with-raw/rare-mode must be handed both an input and output port - added stty equivalents for with-rare-mode and without-echo - with/without- tty procedures now take a proc with port args - improve with/without- return information, other improvements - add Windows caveat for top set of user-info record fields - don't make user of without-echo guess as to correct input-port - editorial changes - Added back symlink, read-symlink, and file-info-symlink?; renamed tty? to terminal? - Fix broken anchors. - user-info:parsed-full-name titlecased -> capitalize if ASCII - remove errant [override?] argument from read-symlink - chase->follow, and return that as a non-optional flag to file-info - added user-effective-uid and user-effective-gid - POSIX realpath is simple to trivial, readlink is not - added make-directory-files-generator, clean up obsolete gecos note - fix some cut and paster errors in make-directory-files-generator - correct optional argument conventions for create-directory/-fifo - add when terminal? will raise an error vs. return #f - Chibi implementation of call-with-temporary-filename unfinished - initial versions - lots more details - small improvements and spell checking - added 0.8.0 Makefile and lib-tests.scm - improvements and additions from testing - add the example implementation files - Use DTD for HTML5. - add mention of Chibi Scheme example implementation in its directory - changed error system to return procedure name, not procedure - user-info:parsed-full-name titlecased -> capitalize if ASCII - remove errant [override?] argument from read-symlink - chase->follow, and return that as a non-optional flag to file-info - added user-effective-uid and user-effective-gid - POSIX realpath is simple to trivial, readlink is not - added make-directory-files-generator, clean up obsolete gecos note - fix some cut and paster errors in make-directory-files-generator - correct optional argument conventions for create-directory/-fifo - add when terminal? will raise an error vs. return #f - Chibi implementation of call-with-temporary-filename unfinished - add mention of Chibi Scheme example implementation in its directory - removed 3.1 Errors - restored headers - Publish seventh draft. Here's the diff: <https://github.com/scheme-requests-for-implementation/srfi-170/compare/66bef82..e642826> Regards, SRFI Editor