UnixOperatingSystem.st
changeset 21612 39b7db8e759c
parent 21601 c8d456f2e93e
child 21613 327dd2743f94
--- a/UnixOperatingSystem.st	Wed Mar 01 11:47:03 2017 +0100
+++ b/UnixOperatingSystem.st	Wed Mar 01 11:50:08 2017 +0100
@@ -1,6 +1,6 @@
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
-	      All Rights Reserved
+              All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -14,90 +14,90 @@
 "{ NameSpace: Smalltalk }"
 
 AbstractOperatingSystem subclass:#UnixOperatingSystem
-	instanceVariableNames:''
-	classVariableNames:'Initialized HostName DomainName SlowFork ForkFailed
-		CurrentDirectory LastTimeInfo LastTimeInfoSeconds
-		LastTimeInfoMilliseconds LastTimeInfoIsLocal CachedMountPoints
-		CacheMountPointsTimeStamp Codeset CodesetEncoder'
-	poolDictionaries:''
-	category:'OS-Unix'
+        instanceVariableNames:''
+        classVariableNames:'CacheMountPointsTimeStamp CachedMountPoints Codeset
+                CodesetEncoder CurrentDirectory DomainName ForkFailed HostName
+                Initialized LastTimeInfo LastTimeInfoIsLocal
+                LastTimeInfoMilliseconds LastTimeInfoSeconds SlowFork'
+        poolDictionaries:''
+        category:'OS-Unix'
 !
 
 SharedPool subclass:#ELFConstants
-	instanceVariableNames:''
-	classVariableNames:'EI_MAG0 ELFMAG0 EI_MAG1 ELFMAG1 EI_MAG2 ELFMAG2 EI_MAG3 ELFMAG3
-		EI_CLASS ELFCLASSNONE ELFCLASS32 ELFCLASS64 ELFCLASSNUM EI_DATA
-		ELFDATANONE ELFDATA2LSB ELFDATA2MSB ELFDATANUM EI_VERSION
-		EI_OSABI ELFOSABI_NONE ELFOSABI_SYSV ELFOSABI_HPUX
-		ELFOSABI_NETBSD ELFOSABI_GNU ELFOSABI_LINUX ELFOSABI_SOLARIS
-		ELFOSABI_AIX ELFOSABI_IRIX ELFOSABI_FREEBSD ELFOSABI_TRU64
-		ELFOSABI_MODESTO ELFOSABI_OPENBSD ELFOSABI_ARM_AEABI ELFOSABI_ARM
-		ELFOSABI_STANDALONE EI_ABIVERSION EI_PAD ET_NONE ET_REL ET_EXEC
-		ET_DYN ET_CORE ET_LOOS ET_HIOS ET_LOPROC ET_HIPROC EM_NONE EM_M32
-		EM_SPARC EM_386 EM_68K EM_88K EM_860 EM_MIPS EM_S370
-		EM_MIPS_RS3_LE EM_PARISC EM_VPP500 EM_SPARC32PLUS EM_960 EM_PPC
-		EM_PPC64 EM_S390 EM_V800 EM_FR20 EM_RH32 EM_RCE EM_ARM
-		EM_FAKE_ALPHA EM_SH EM_SPARCV9 EM_TRICORE EM_ARC EM_H8_300
-		EM_H8_300H EM_H8S EM_H8_500 EM_IA_64 EM_MIPS_X EM_COLDFIRE
-		EM_68HC12 EM_MMA EM_PCP EM_NCPU EM_NDR1 EM_STARCORE EM_ME16
-		EM_ST100 EM_TINYJ EM_X86_64 EM_PDSP EM_FX66 EM_ST9PLUS EM_ST7
-		EM_68HC16 EM_68HC11 EM_68HC08 EM_68HC05 EM_SVX EM_ST19 EM_VAX
-		EM_CRIS EM_JAVELIN EM_FIREPATH EM_ZSP EM_MMIX EM_HUANY EM_PRISM
-		EM_AVR EM_FR30 EM_D10V EM_D30V EM_V850 EM_M32R EM_MN10300
-		EM_MN10200 EM_PJ EM_OPENRISC EM_ARC_A5 EM_XTENSA EM_AARCH64
-		EM_TILEPRO EM_MICROBLAZE EM_TILEGX EM_ALPHA EV_NONE EV_CURRENT'
-	poolDictionaries:''
-	privateIn:UnixOperatingSystem
+        instanceVariableNames:''
+        classVariableNames:'EI_MAG0 ELFMAG0 EI_MAG1 ELFMAG1 EI_MAG2 ELFMAG2 EI_MAG3 ELFMAG3
+                EI_CLASS ELFCLASSNONE ELFCLASS32 ELFCLASS64 ELFCLASSNUM EI_DATA
+                ELFDATANONE ELFDATA2LSB ELFDATA2MSB ELFDATANUM EI_VERSION
+                EI_OSABI ELFOSABI_NONE ELFOSABI_SYSV ELFOSABI_HPUX
+                ELFOSABI_NETBSD ELFOSABI_GNU ELFOSABI_LINUX ELFOSABI_SOLARIS
+                ELFOSABI_AIX ELFOSABI_IRIX ELFOSABI_FREEBSD ELFOSABI_TRU64
+                ELFOSABI_MODESTO ELFOSABI_OPENBSD ELFOSABI_ARM_AEABI ELFOSABI_ARM
+                ELFOSABI_STANDALONE EI_ABIVERSION EI_PAD ET_NONE ET_REL ET_EXEC
+                ET_DYN ET_CORE ET_LOOS ET_HIOS ET_LOPROC ET_HIPROC EM_NONE EM_M32
+                EM_SPARC EM_386 EM_68K EM_88K EM_860 EM_MIPS EM_S370
+                EM_MIPS_RS3_LE EM_PARISC EM_VPP500 EM_SPARC32PLUS EM_960 EM_PPC
+                EM_PPC64 EM_S390 EM_V800 EM_FR20 EM_RH32 EM_RCE EM_ARM
+                EM_FAKE_ALPHA EM_SH EM_SPARCV9 EM_TRICORE EM_ARC EM_H8_300
+                EM_H8_300H EM_H8S EM_H8_500 EM_IA_64 EM_MIPS_X EM_COLDFIRE
+                EM_68HC12 EM_MMA EM_PCP EM_NCPU EM_NDR1 EM_STARCORE EM_ME16
+                EM_ST100 EM_TINYJ EM_X86_64 EM_PDSP EM_FX66 EM_ST9PLUS EM_ST7
+                EM_68HC16 EM_68HC11 EM_68HC08 EM_68HC05 EM_SVX EM_ST19 EM_VAX
+                EM_CRIS EM_JAVELIN EM_FIREPATH EM_ZSP EM_MMIX EM_HUANY EM_PRISM
+                EM_AVR EM_FR30 EM_D10V EM_D30V EM_V850 EM_M32R EM_MN10300
+                EM_MN10200 EM_PJ EM_OPENRISC EM_ARC_A5 EM_XTENSA EM_AARCH64
+                EM_TILEPRO EM_MICROBLAZE EM_TILEGX EM_ALPHA EV_NONE EV_CURRENT'
+        poolDictionaries:''
+        privateIn:UnixOperatingSystem
 !
 
 Object subclass:#ELFFileHeader
-	instanceVariableNames:'file data msb'
-	classVariableNames:''
-	poolDictionaries:'UnixOperatingSystem::ELFConstants'
-	privateIn:UnixOperatingSystem
+        instanceVariableNames:'file data msb'
+        classVariableNames:''
+        poolDictionaries:'UnixOperatingSystem::ELFConstants'
+        privateIn:UnixOperatingSystem
 !
 
 Object subclass:#FileDescriptorHandle
-	instanceVariableNames:'fd'
-	classVariableNames:'OpenFiles'
-	poolDictionaries:''
-	privateIn:UnixOperatingSystem
+        instanceVariableNames:'fd'
+        classVariableNames:'OpenFiles'
+        poolDictionaries:''
+        privateIn:UnixOperatingSystem
 !
 
 OSFileHandle subclass:#FilePointerHandle
-	instanceVariableNames:''
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:UnixOperatingSystem
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:UnixOperatingSystem
 !
 
 Object subclass:#FileStatusInfo
-	instanceVariableNames:'type mode uid gid size id accessed modified statusChanged
-		sourcePath targetPath numLinks'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:UnixOperatingSystem
+        instanceVariableNames:'type mode uid gid size id accessed modified statusChanged
+                sourcePath targetPath numLinks'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:UnixOperatingSystem
 !
 
 Object subclass:#MountInfo
-	instanceVariableNames:'mountPointPath deviceOrRemotePath fsType attributeString'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:UnixOperatingSystem
+        instanceVariableNames:'mountPointPath deviceOrRemotePath fsType attributeString'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:UnixOperatingSystem
 !
 
 Object subclass:#OSProcessStatus
-	instanceVariableNames:'pid status code core'
-	classVariableNames:''
-	poolDictionaries:''
-	privateIn:UnixOperatingSystem
+        instanceVariableNames:'pid status code core'
+        classVariableNames:''
+        poolDictionaries:''
+        privateIn:UnixOperatingSystem
 !
 
 UnixOperatingSystem::FilePointerHandle subclass:#SocketHandle
-	instanceVariableNames:''
-	classVariableNames:'ProtocolCache'
-	poolDictionaries:''
-	privateIn:UnixOperatingSystem
+        instanceVariableNames:''
+        classVariableNames:'ProtocolCache'
+        poolDictionaries:''
+        privateIn:UnixOperatingSystem
 !
 
 !UnixOperatingSystem primitiveDefinitions!
@@ -298,17 +298,17 @@
 #   ifndef _TIME_H_
 // old hack
 struct tm {
-	int     tm_sec;         /* seconds after the minute [0-60] */
-	int     tm_min;         /* minutes after the hour [0-59] */
-	int     tm_hour;        /* hours since midnight [0-23] */
-	int     tm_mday;        /* day of the month [1-31] */
-	int     tm_mon;         /* months since January [0-11] */
-	int     tm_year;        /* years since 1900 */
-	int     tm_wday;        /* days since Sunday [0-6] */
-	int     tm_yday;        /* days since January 1 [0-365] */
-	int     tm_isdst;       /* Daylight Savings Time flag */
-	long    tm_gmtoff;      /* offset from CUT in seconds */
-	char    *tm_zone;       /* timezone abbreviation */
+        int     tm_sec;         /* seconds after the minute [0-60] */
+        int     tm_min;         /* minutes after the hour [0-59] */
+        int     tm_hour;        /* hours since midnight [0-23] */
+        int     tm_mday;        /* day of the month [1-31] */
+        int     tm_mon;         /* months since January [0-11] */
+        int     tm_year;        /* years since 1900 */
+        int     tm_wday;        /* days since Sunday [0-6] */
+        int     tm_yday;        /* days since January 1 [0-365] */
+        int     tm_isdst;       /* Daylight Savings Time flag */
+        long    tm_gmtoff;      /* offset from CUT in seconds */
+        char    *tm_zone;       /* timezone abbreviation */
 };
 #   endif
 #  endif /* NO_LONGER */
@@ -714,103 +714,103 @@
     sigset_t block, omask;
 
     if (line == NULL)
-	return -1;
+        return -1;
 
     sa.sa_handler = SIG_IGN;
     sa.sa_flags = 0;
     __sigemptyset (&sa.sa_mask);
 
     if (__sigaction (SIGINT, &sa, &intr) < 0) {
-	DPRINTF(("1: errno=%d\n", errno));
-	return -1;
+        DPRINTF(("1: errno=%d\n", errno));
+        return -1;
     }
     if (__sigaction (SIGQUIT, &sa, &quit) < 0) {
-	save = errno;
-	(void) __sigaction (SIGINT, &intr, (struct sigaction *) NULL);
-	errno = save;
-	DPRINTF(("2: errno=%d\n", errno));
-	return -1;
+        save = errno;
+        (void) __sigaction (SIGINT, &intr, (struct sigaction *) NULL);
+        errno = save;
+        DPRINTF(("2: errno=%d\n", errno));
+        return -1;
     }
 
     __sigemptyset (&block);
     __sigaddset (&block, SIGCHLD);
     save = errno;
     if (__sigprocmask(SIG_BLOCK, &block, &omask) < 0) {
-	if (errno == ENOSYS)
-	    errno = save;
-	else {
-	    save = errno;
-	    (void) __sigaction(SIGINT, &intr, (struct sigaction *) NULL);
-	    (void) __sigaction (SIGQUIT, &quit, (struct sigaction *) NULL);
-	    errno = save;
-	    DPRINTF(("3: errno=%d\n", errno));
-	    return -1;
-	}
+        if (errno == ENOSYS)
+            errno = save;
+        else {
+            save = errno;
+            (void) __sigaction(SIGINT, &intr, (struct sigaction *) NULL);
+            (void) __sigaction (SIGQUIT, &quit, (struct sigaction *) NULL);
+            errno = save;
+            DPRINTF(("3: errno=%d\n", errno));
+            return -1;
+        }
     }
 
     pid = FORK ();
     if (pid == (pid_t) 0) {
-	/* Child side.  */
-	CONST char *new_argv[4];
-	new_argv[0] = SHELL_NAME;
-	new_argv[1] = "-c";
-	new_argv[2] = line;
-	new_argv[3] = NULL;
-
-	/* Restore the signals.  */
-	(void) __sigaction (SIGINT, &intr, (struct sigaction *) NULL);
-	(void) __sigaction (SIGQUIT, &quit, (struct sigaction *) NULL);
-	(void) __sigprocmask (SIG_SETMASK, &omask, (sigset_t *) NULL);
-
-	/* Exec the shell.  */
-	(void) __execve (SHELL_PATH, (char *CONST *) new_argv, __environ);
-	_exit (127);
+        /* Child side.  */
+        CONST char *new_argv[4];
+        new_argv[0] = SHELL_NAME;
+        new_argv[1] = "-c";
+        new_argv[2] = line;
+        new_argv[3] = NULL;
+
+        /* Restore the signals.  */
+        (void) __sigaction (SIGINT, &intr, (struct sigaction *) NULL);
+        (void) __sigaction (SIGQUIT, &quit, (struct sigaction *) NULL);
+        (void) __sigprocmask (SIG_SETMASK, &omask, (sigset_t *) NULL);
+
+        /* Exec the shell.  */
+        (void) __execve (SHELL_PATH, (char *CONST *) new_argv, __environ);
+        _exit (127);
     } else {
-	if (pid < (pid_t) 0) {
-	    /* The fork failed.  */
-	    DPRINTF(("4: errno=%d\n", errno));
-	    status = -1;
-	} else {
-	    /* Parent side.  */
+        if (pid < (pid_t) 0) {
+            /* The fork failed.  */
+            DPRINTF(("4: errno=%d\n", errno));
+            status = -1;
+        } else {
+            /* Parent side.  */
 #ifdef  NO_WAITPID
-	    pid_t child;
-
-	    do {
-		__BEGIN_INTERRUPTABLE__
-		child = __wait (&status);
-		__END_INTERRUPTABLE__
-		if (child < 0 && errno != EINTR) {
-		    DPRINTF(("5: errno=%d\n", errno));
-		    status = -1;
-		    break;
-		}
-	    } while (child != pid);
+            pid_t child;
+
+            do {
+                __BEGIN_INTERRUPTABLE__
+                child = __wait (&status);
+                __END_INTERRUPTABLE__
+                if (child < 0 && errno != EINTR) {
+                    DPRINTF(("5: errno=%d\n", errno));
+                    status = -1;
+                    break;
+                }
+            } while (child != pid);
 #else
-	    pid_t child;
-
-	    /* claus: the original did not care for EINTR here ... */
-	    do {
-		__BEGIN_INTERRUPTABLE__
-		child = __waitpid (pid, &status, 0);
-		__END_INTERRUPTABLE__
-	    } while ((child != pid) && (errno == EINTR));
-	    if (child != pid) {
-		DPRINTF(("6: errno=%d\n", errno));
-		status = -1;
-	    }
+            pid_t child;
+
+            /* claus: the original did not care for EINTR here ... */
+            do {
+                __BEGIN_INTERRUPTABLE__
+                child = __waitpid (pid, &status, 0);
+                __END_INTERRUPTABLE__
+            } while ((child != pid) && (errno == EINTR));
+            if (child != pid) {
+                DPRINTF(("6: errno=%d\n", errno));
+                status = -1;
+            }
 #endif /* NO_WAITPID */
-	}
+        }
     }
     save = errno;
     if ((__sigaction (SIGINT, &intr, (struct sigaction *) NULL)
      | __sigaction (SIGQUIT, &quit, (struct sigaction *) NULL)
      | __sigprocmask (SIG_SETMASK, &omask, (sigset_t *) NULL)) != 0) {
-	if (errno == ENOSYS) {
-	    errno = save;
-	} else {
-	    status = -1;
-	    DPRINTF(("7: errno=%d\n", errno));
-	}
+        if (errno == ENOSYS) {
+            errno = save;
+        } else {
+            status = -1;
+            DPRINTF(("7: errno=%d\n", errno));
+        }
     }
 
     return status;
@@ -849,123 +849,123 @@
 static char *
 realpath(const char *path, char *resolved_path)
 {
-	char copy_path[MAXPATHLEN];
-	char link_path[MAXPATHLEN];
-	char *new_path, *max_path, *mallocedPath;
-	int readlinks = 0;
-	int n;
-
-	if (resolved_path == NULL) {
-	    mallocedPath = resolved_path = malloc(MAXPATHLEN+1);
-	}
-	new_path = resolved_path;
-
-	/* Make a copy of the source path since we may need to modify it. */
-	strcpy(copy_path, path);
-	path = copy_path;
-	max_path = copy_path + MAXPATHLEN - 2;
-	/* If it's a relative pathname use getwd for starters. */
-	if (*path != '/') {
+        char copy_path[MAXPATHLEN];
+        char link_path[MAXPATHLEN];
+        char *new_path, *max_path, *mallocedPath;
+        int readlinks = 0;
+        int n;
+
+        if (resolved_path == NULL) {
+            mallocedPath = resolved_path = malloc(MAXPATHLEN+1);
+        }
+        new_path = resolved_path;
+
+        /* Make a copy of the source path since we may need to modify it. */
+        strcpy(copy_path, path);
+        path = copy_path;
+        max_path = copy_path + MAXPATHLEN - 2;
+        /* If it's a relative pathname use getwd for starters. */
+        if (*path != '/') {
 #ifdef HAS_GETCWD
-		new_path = getcwd(new_path, MAXPATHLEN - 1);
+                new_path = getcwd(new_path, MAXPATHLEN - 1);
 #else
-		new_path = getwd(new_path);
-#endif
-		if (new_path == NULL) {
-		    if (mallocedPath) free(mallocedPath);
-		    return(NULL);
-		}
-
-		new_path += strlen(new_path);
-		if (new_path[-1] != '/')
-			*new_path++ = '/';
-	}
-	else {
-		*new_path++ = '/';
-		path++;
-	}
-	/* Expand each slash-separated pathname component. */
-	while (*path != '\0') {
-		/* Ignore stray "/". */
-		if (*path == '/') {
-			path++;
-			continue;
-		}
-		if (*path == '.') {
-			/* Ignore ".". */
-			if (path[1] == '\0' || path[1] == '/') {
-				path++;
-				continue;
-			}
-			if (path[1] == '.') {
-				if (path[2] == '\0' || path[2] == '/') {
-					path += 2;
-					/* Ignore ".." at root. */
-					if (new_path == resolved_path + 1)
-						continue;
-					/* Handle ".." by backing up. */
-					while ((--new_path)[-1] != '/')
-						;
-					continue;
-				}
-			}
-		}
-		/* Safely copy the next pathname component. */
-		while (*path != '\0' && *path != '/') {
-			if (path > max_path) {
-			    if (mallocedPath) free(mallocedPath);
-			    errno = ENAMETOOLONG;
-			    return NULL;
-			}
-			*new_path++ = *path++;
-		}
+                new_path = getwd(new_path);
+#endif
+                if (new_path == NULL) {
+                    if (mallocedPath) free(mallocedPath);
+                    return(NULL);
+                }
+
+                new_path += strlen(new_path);
+                if (new_path[-1] != '/')
+                        *new_path++ = '/';
+        }
+        else {
+                *new_path++ = '/';
+                path++;
+        }
+        /* Expand each slash-separated pathname component. */
+        while (*path != '\0') {
+                /* Ignore stray "/". */
+                if (*path == '/') {
+                        path++;
+                        continue;
+                }
+                if (*path == '.') {
+                        /* Ignore ".". */
+                        if (path[1] == '\0' || path[1] == '/') {
+                                path++;
+                                continue;
+                        }
+                        if (path[1] == '.') {
+                                if (path[2] == '\0' || path[2] == '/') {
+                                        path += 2;
+                                        /* Ignore ".." at root. */
+                                        if (new_path == resolved_path + 1)
+                                                continue;
+                                        /* Handle ".." by backing up. */
+                                        while ((--new_path)[-1] != '/')
+                                                ;
+                                        continue;
+                                }
+                        }
+                }
+                /* Safely copy the next pathname component. */
+                while (*path != '\0' && *path != '/') {
+                        if (path > max_path) {
+                            if (mallocedPath) free(mallocedPath);
+                            errno = ENAMETOOLONG;
+                            return NULL;
+                        }
+                        *new_path++ = *path++;
+                }
 #ifdef S_IFLNK
-		/* Protect against infinite loops. */
-		if (readlinks++ > MAX_READLINKS) {
-		    if (mallocedPath) free(mallocedPath);
-		    errno = ELOOP;
-		    return NULL;
-		}
-		/* See if latest pathname component is a symlink. */
-		*new_path = '\0';
-		n = readlink(resolved_path, link_path, MAXPATHLEN - 1);
-		if (n < 0) {
-			/* EINVAL means the file exists but isn't a symlink. */
-			if (errno != EINVAL) {
-			    if (mallocedPath) free(mallocedPath);
-			    return NULL;
-			}
-		}
-		else {
-			/* Note: readlink doesn't add the null byte. */
-			link_path[n] = '\0';
-			if (*link_path == '/')
-				/* Start over for an absolute symlink. */
-				new_path = resolved_path;
-			else
-				/* Otherwise back up over this component. */
-				while (*(--new_path) != '/')
-					;
-			/* Safe sex check. */
-			if (strlen(path) + n >= MAXPATHLEN) {
-			    if (mallocedPath) free(mallocedPath);
-			    errno = ENAMETOOLONG;
-			    return NULL;
-			}
-			/* Insert symlink contents into path. */
-			strcat(link_path, path);
-			strcpy(copy_path, link_path);
-			path = copy_path;
-		}
+                /* Protect against infinite loops. */
+                if (readlinks++ > MAX_READLINKS) {
+                    if (mallocedPath) free(mallocedPath);
+                    errno = ELOOP;
+                    return NULL;
+                }
+                /* See if latest pathname component is a symlink. */
+                *new_path = '\0';
+                n = readlink(resolved_path, link_path, MAXPATHLEN - 1);
+                if (n < 0) {
+                        /* EINVAL means the file exists but isn't a symlink. */
+                        if (errno != EINVAL) {
+                            if (mallocedPath) free(mallocedPath);
+                            return NULL;
+                        }
+                }
+                else {
+                        /* Note: readlink doesn't add the null byte. */
+                        link_path[n] = '\0';
+                        if (*link_path == '/')
+                                /* Start over for an absolute symlink. */
+                                new_path = resolved_path;
+                        else
+                                /* Otherwise back up over this component. */
+                                while (*(--new_path) != '/')
+                                        ;
+                        /* Safe sex check. */
+                        if (strlen(path) + n >= MAXPATHLEN) {
+                            if (mallocedPath) free(mallocedPath);
+                            errno = ENAMETOOLONG;
+                            return NULL;
+                        }
+                        /* Insert symlink contents into path. */
+                        strcat(link_path, path);
+                        strcpy(copy_path, link_path);
+                        path = copy_path;
+                }
 #endif /* S_IFLNK */
-		*new_path++ = '/';
-	}
-	/* Delete trailing slash but don't whomp a lone slash. */
-	if (new_path != resolved_path + 1 && new_path[-1] == '/')
-		new_path--;
-	/* Make sure it's null terminated. */
-	*new_path = '\0';
-	return resolved_path;
+                *new_path++ = '/';
+        }
+        /* Delete trailing slash but don't whomp a lone slash. */
+        if (new_path != resolved_path + 1 && new_path[-1] == '/')
+                new_path--;
+        /* Make sure it's null terminated. */
+        *new_path = '\0';
+        return resolved_path;
 }
 # define HAS_REALPATH
 #endif /* WANT_REALPATH && not HAS_REALPATH */
@@ -978,7 +978,7 @@
 copyright
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
-	      All Rights Reserved
+              All Rights Reserved
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -1019,93 +1019,93 @@
 
     [Class variables:]
 
-	HostName        <String>        remembered hostname
-
-	DomainName      <String>        remembered domainname
-
-	SlowFork        <Boolean>       if set, fork and popen are avoided;
-					(more or less obsolete now)
-
-
-	CurrentDirectory <String>       remembered currentDirectories path
+        HostName        <String>        remembered hostname
+
+        DomainName      <String>        remembered domainname
+
+        SlowFork        <Boolean>       if set, fork and popen are avoided;
+                                        (more or less obsolete now)
+
+
+        CurrentDirectory <String>       remembered currentDirectories path
 
     [author:]
-	Claus Gittinger
+        Claus Gittinger
 
     [see also:]
-	OSProcessStatus
-	Filename Date Time
-	ExternalStream FileStream PipeStream Socket
+        OSProcessStatus
+        Filename Date Time
+        ExternalStream FileStream PipeStream Socket
 "
 !
 
 examples
 "
   various queries
-								[exBegin]
+                                                                [exBegin]
     Transcript
-	showCR:'hello ' , (OperatingSystem getLoginName)
-								[exEnd]
-
-								[exBegin]
+        showCR:'hello ' , (OperatingSystem getLoginName)
+                                                                [exEnd]
+
+                                                                [exBegin]
     OperatingSystem isUNIXlike ifTrue:[
-	Transcript showCR:'this is some UNIX-like OS'
+        Transcript showCR:'this is some UNIX-like OS'
     ] ifFalse:[
-	Transcript showCR:'this OS is not UNIX-like'
+        Transcript showCR:'this OS is not UNIX-like'
     ]
-								[exEnd]
-
-								[exBegin]
+                                                                [exEnd]
+
+                                                                [exBegin]
     Transcript
-	showCR:'this machine is called ' , OperatingSystem getHostName
-								[exEnd]
-
-								[exBegin]
+        showCR:'this machine is called ' , OperatingSystem getHostName
+                                                                [exEnd]
+
+                                                                [exBegin]
     Transcript
-	showCR:('this machine is in the '
-	       , OperatingSystem getDomainName
-	       , ' domain')
-								[exEnd]
-
-								[exBegin]
+        showCR:('this machine is in the '
+               , OperatingSystem getDomainName
+               , ' domain')
+                                                                [exEnd]
+
+                                                                [exBegin]
     Transcript
-	showCR:('this machine''s CPU is a '
-	       , OperatingSystem getCPUType
-	       )
-								[exEnd]
-
-								[exBegin]
+        showCR:('this machine''s CPU is a '
+               , OperatingSystem getCPUType
+               )
+                                                                [exEnd]
+
+                                                                [exBegin]
     Transcript showCR:'executing ls command ...'.
     OperatingSystem executeCommand:'ls'.
     Transcript showCR:'... done.'.
-								[exEnd]
+                                                                [exEnd]
 
   locking a file
   (should be executed on two running smalltalks - not in two threads):
-								[exBegin]
+                                                                [exBegin]
     |f|
 
     f := 'testFile' asFilename readWriteStream.
 
     10 timesRepeat:[
-	'about to lock ...' printCR.
-	[
-	  OperatingSystem
-	    lockFD:(f fileDescriptor)
-	    shared:false
-	    blocking:false
-	] whileFalse:[
-	    'process ' print. OperatingSystem getProcessId print. ' is waiting' printCR.
-	    Delay waitForSeconds:1
-	].
-	'LOCKED ...' printCR.
-	Delay waitForSeconds:10.
-	'unlock ...' printCR.
-	(OperatingSystem
-	    unlockFD:(f fileDescriptor)) printCR.
-	Delay waitForSeconds:3.
+        'about to lock ...' printCR.
+        [
+          OperatingSystem
+            lockFD:(f fileDescriptor)
+            shared:false
+            blocking:false
+        ] whileFalse:[
+            'process ' print. OperatingSystem getProcessId print. ' is waiting' printCR.
+            Delay waitForSeconds:1
+        ].
+        'LOCKED ...' printCR.
+        Delay waitForSeconds:10.
+        'unlock ...' printCR.
+        (OperatingSystem
+            unlockFD:(f fileDescriptor)) printCR.
+        Delay waitForSeconds:3.
     ]
-								[exBegin]
+                                                                [exBegin]
 "
 ! !
 
@@ -1116,9 +1116,9 @@
 
     "/ protect against double initialization
     Initialized isNil ifTrue:[
-	ObjectMemory addDependent:self.
-	self initializeCachedData.
-	Initialized := true.
+        ObjectMemory addDependent:self.
+        self initializeCachedData.
+        Initialized := true.
     ].
 !
 
@@ -1152,16 +1152,16 @@
     setlocale(LC_CTYPE, "");
     __codeset = nl_langinfo(CODESET);
     if (strlen(__codeset) > 0) {
-	codeset = __MKSTRING(__codeset);
+        codeset = __MKSTRING(__codeset);
     }
 %}.
     codeset notNil ifTrue:[
-	codeset := codeset asLowercase.
-	codeset = 'utf-8' ifTrue:[
-	    codeset := #utf8.
-	] ifFalse:[
-	    codeset := codeset asSymbol.
-	].
+        codeset := codeset asLowercase.
+        codeset = 'utf-8' ifTrue:[
+            codeset := #utf8.
+        ] ifFalse:[
+            codeset := codeset asSymbol.
+        ].
     ].
     Codeset := codeset.
     ^ codeset.
@@ -1175,7 +1175,7 @@
     "catch image restart and flush some cached data"
 
     something == #earlyRestart ifTrue:[
-	self initializeCachedData
+        self initializeCachedData
     ]
 
     "Created: / 15.6.1996 / 15:22:37 / cg"
@@ -1677,230 +1677,230 @@
 %{  /* NOCONTEXT */
 #ifdef SIGABRT
     if (signalName == @symbol(SIGABRT)) {
-	RETURN ( __mkSmallInteger(SIGABRT) );
+        RETURN ( __mkSmallInteger(SIGABRT) );
     }
 #endif
 #ifdef SIGALRM
     if (signalName == @symbol(SIGALRM)) {
-	RETURN ( __mkSmallInteger(SIGALRM) );
+        RETURN ( __mkSmallInteger(SIGALRM) );
     }
 #endif
 #ifdef SIGBREAK
     if (signalName == @symbol(SIGBREAK)) {
-	RETURN ( __mkSmallInteger(SIGBREAK) );
+        RETURN ( __mkSmallInteger(SIGBREAK) );
     }
 #endif
 #ifdef SIGBUS
     if (signalName == @symbol(SIGBUS)) {
-	RETURN ( __mkSmallInteger(SIGBUS) );
+        RETURN ( __mkSmallInteger(SIGBUS) );
     }
 #endif
 #ifdef SIGCHLD
     if ((signalName == @symbol(SIGCHLD))
      || (signalName == @symbol(SIGCLD)) ) {
-	RETURN ( __mkSmallInteger(SIGCHLD) );
+        RETURN ( __mkSmallInteger(SIGCHLD) );
     }
 #else
 # if defined(SIGCLD)
     if ((signalName == @symbol(SIGCHLD))
      || (signalName == @symbol(SIGCLD)) ) {
-	RETURN ( __mkSmallInteger(SIGCLD) );
+        RETURN ( __mkSmallInteger(SIGCLD) );
     }
 # endif
 #endif
 #ifdef SIGCONT
     if (signalName == @symbol(SIGCONT)) {
-	RETURN ( __mkSmallInteger(SIGCONT) );
+        RETURN ( __mkSmallInteger(SIGCONT) );
     }
 #endif
 #ifdef SIGDANGER
     if (signalName == @symbol(SIGDANGER)) {
-	RETURN ( __mkSmallInteger(SIGDANGER) );
+        RETURN ( __mkSmallInteger(SIGDANGER) );
     }
 #endif
 #ifdef SIGEMT
     if (signalName == @symbol(SIGEMT)) {
-	RETURN ( __mkSmallInteger(SIGEMT) );
+        RETURN ( __mkSmallInteger(SIGEMT) );
     }
 #endif
 #ifdef SIGFPE
     if (signalName == @symbol(SIGFPE)) {
-	RETURN ( __mkSmallInteger(SIGFPE) );
+        RETURN ( __mkSmallInteger(SIGFPE) );
     }
 #endif
 #ifdef SIGGRANT
     if (signalName == @symbol(SIGGRANT)) {
-	RETURN ( __mkSmallInteger(SIGGRANT) );
+        RETURN ( __mkSmallInteger(SIGGRANT) );
     }
 #endif
 #ifdef SIGHUP
     if (signalName == @symbol(SIGHUP)) {
-	RETURN ( __mkSmallInteger(SIGHUP) );
+        RETURN ( __mkSmallInteger(SIGHUP) );
     }
 #endif
 #ifdef SIGILL
     if (signalName == @symbol(SIGILL)) {
-	RETURN ( __mkSmallInteger(SIGILL) );
+        RETURN ( __mkSmallInteger(SIGILL) );
     }
 #endif
 #ifdef SIGINT
     if (signalName == @symbol(SIGINT)) {
-	RETURN ( __mkSmallInteger(SIGINT) );
+        RETURN ( __mkSmallInteger(SIGINT) );
     }
 #endif
 #ifdef SIGIO
     if (signalName == @symbol(SIGIO)) {
-	RETURN ( __mkSmallInteger(SIGIO) );
+        RETURN ( __mkSmallInteger(SIGIO) );
     }
 #endif
 #ifdef SIGIOT
     if (signalName == @symbol(SIGIOT)) {
-	RETURN ( __mkSmallInteger(SIGIOT) );
+        RETURN ( __mkSmallInteger(SIGIOT) );
     }
 #endif
 #ifdef SIGKILL
     if (signalName == @symbol(SIGKILL)) {
-	RETURN ( __mkSmallInteger(SIGKILL) );
+        RETURN ( __mkSmallInteger(SIGKILL) );
     }
 #endif
 #ifdef SIGLOST
     if (signalName == @symbol(SIGLOST)) {
-	RETURN ( __mkSmallInteger(SIGLOST) );
+        RETURN ( __mkSmallInteger(SIGLOST) );
     }
 #endif
 #ifdef SIGMIGRATE
     if (signalName == @symbol(SIGMIGRATE)) {
-	RETURN ( __mkSmallInteger(SIGMIGRATE) );
+        RETURN ( __mkSmallInteger(SIGMIGRATE) );
     }
 #endif
 #ifdef SIGMSG
     if (signalName == @symbol(SIGMSG)) {
-	RETURN ( __mkSmallInteger(SIGMSG) );
+        RETURN ( __mkSmallInteger(SIGMSG) );
     }
 #endif
 #ifdef SIGPIPE
     if (signalName == @symbol(SIGPIPE)) {
-	RETURN ( __mkSmallInteger(SIGPIPE) );
+        RETURN ( __mkSmallInteger(SIGPIPE) );
     }
 #endif
 #ifdef SIGPOLL
     if (signalName == @symbol(SIGPOLL)) {
-	RETURN ( __mkSmallInteger(SIGPOLL) );
+        RETURN ( __mkSmallInteger(SIGPOLL) );
     }
 #endif
 #ifdef SIGPRE
     if (signalName == @symbol(SIGPRE)) {
-	RETURN ( __mkSmallInteger(SIGPRE) );
+        RETURN ( __mkSmallInteger(SIGPRE) );
     }
 #endif
 #ifdef SIGPROF
     if (signalName == @symbol(SIGPROF)) {
-	RETURN ( __mkSmallInteger(SIGPROF) );
+        RETURN ( __mkSmallInteger(SIGPROF) );
     }
 #endif
 #ifdef SIGPWR
     if (signalName == @symbol(SIGPWR)) {
-	RETURN ( __mkSmallInteger(SIGPWR) );
+        RETURN ( __mkSmallInteger(SIGPWR) );
     }
 #endif
 #ifdef SIGQUIT
     if (signalName == @symbol(SIGQUIT)) {
-	RETURN ( __mkSmallInteger(SIGQUIT) );
+        RETURN ( __mkSmallInteger(SIGQUIT) );
     }
 #endif
 #ifdef SIGRETRACT
     if (signalName == @symbol(SIGRETRACT)) {
-	RETURN ( __mkSmallInteger(SIGRETRACT) );
+        RETURN ( __mkSmallInteger(SIGRETRACT) );
     }
 #endif
 #ifdef SIGSAK
     if (signalName == @symbol(SIGSAK)) {
-	RETURN ( __mkSmallInteger(SIGSAK) );
+        RETURN ( __mkSmallInteger(SIGSAK) );
     }
 #endif
 #ifdef SIGSEGV
     if (signalName == @symbol(SIGSEGV)) {
-	RETURN ( __mkSmallInteger(SIGSEGV) );
+        RETURN ( __mkSmallInteger(SIGSEGV) );
     }
 #endif
 #ifdef SIGSOUND
     if (signalName == @symbol(SIGSOUND)) {
-	RETURN ( __mkSmallInteger(SIGSOUND) );
+        RETURN ( __mkSmallInteger(SIGSOUND) );
     }
 #endif
 #ifdef SIGSTOP
     if (signalName == @symbol(SIGSTOP)) {
-	RETURN ( __mkSmallInteger(SIGSTOP) );
+        RETURN ( __mkSmallInteger(SIGSTOP) );
     }
 #endif
 #ifdef SIGSYS
     if (signalName == @symbol(SIGSYS)) {
-	RETURN ( __mkSmallInteger(SIGSYS) );
+        RETURN ( __mkSmallInteger(SIGSYS) );
     }
 #endif
 #ifdef SIGTERM
     if (signalName == @symbol(SIGTERM)) {
-	RETURN ( __mkSmallInteger(SIGTERM) );
+        RETURN ( __mkSmallInteger(SIGTERM) );
     }
 #endif
 #ifdef SIGTRAP
     if (signalName == @symbol(SIGTRAP)) {
-	RETURN ( __mkSmallInteger(SIGTRAP) );
+        RETURN ( __mkSmallInteger(SIGTRAP) );
     }
 #endif
 #ifdef SIGTSTP
     if (signalName == @symbol(SIGTSTP)) {
-	RETURN ( __mkSmallInteger(SIGTSTP) );
+        RETURN ( __mkSmallInteger(SIGTSTP) );
     }
 #endif
 #ifdef SIGTTIN
     if (signalName == @symbol(SIGTTIN)) {
-	RETURN ( __mkSmallInteger(SIGTTIN) );
+        RETURN ( __mkSmallInteger(SIGTTIN) );
     }
 #endif
 #ifdef SIGTTOU
     if (signalName == @symbol(SIGTTOU)) {
-	RETURN ( __mkSmallInteger(SIGTTOU) );
+        RETURN ( __mkSmallInteger(SIGTTOU) );
     }
 #endif
 #ifdef SIGURG
     if (signalName == @symbol(SIGURG)) {
-	RETURN ( __mkSmallInteger(SIGURG) );
+        RETURN ( __mkSmallInteger(SIGURG) );
     }
 #endif
 #ifdef SIGUSR1
     if (signalName == @symbol(SIGUSR1)) {
-	RETURN ( __mkSmallInteger(SIGUSR1) );
+        RETURN ( __mkSmallInteger(SIGUSR1) );
     }
 #endif
 #ifdef SIGUSR2
     if (signalName == @symbol(SIGUSR2)) {
-	RETURN ( __mkSmallInteger(SIGUSR2) );
+        RETURN ( __mkSmallInteger(SIGUSR2) );
     }
 #endif
 #ifdef SIGVTALRM
     if (signalName == @symbol(SIGVTALRM)) {
-	RETURN ( __mkSmallInteger(SIGVTALRM) );
+        RETURN ( __mkSmallInteger(SIGVTALRM) );
     }
 #endif
 #ifdef SIGWINCH
     if (signalName == @symbol(SIGWINCH)) {
-	RETURN ( __mkSmallInteger(SIGWINCH) );
+        RETURN ( __mkSmallInteger(SIGWINCH) );
     }
 #endif
 #ifdef SIGXCPU
     if (signalName == @symbol(SIGXCPU)) {
-	RETURN ( __mkSmallInteger(SIGXCPU) );
+        RETURN ( __mkSmallInteger(SIGXCPU) );
     }
 #endif
 #ifdef SIGXFSZ
     if (signalName == @symbol(SIGXFSZ)) {
-	RETURN ( __mkSmallInteger(SIGXFSZ) );
+        RETURN ( __mkSmallInteger(SIGXFSZ) );
     }
 #endif
 #ifdef SIGINFO
     if (signalName == @symbol(SIGINFO)) {
-	RETURN ( __mkSmallInteger(SIGINFO) );
+        RETURN ( __mkSmallInteger(SIGINFO) );
     }
 #endif
 %}.
@@ -1922,7 +1922,7 @@
 %{
 #ifdef HAS_OPENDIR
     if (__isExternalAddressLike(dirPointer)) {
-	closedir( (DIR *)(__FILEVal(dirPointer)) );
+        closedir( (DIR *)(__FILEVal(dirPointer)) );
     }
 #endif
 %}.
@@ -1944,41 +1944,41 @@
 
     if ((dirPointer != nil)
      && __isExternalAddressLike(dirPointer)) {
-	d = (DIR *)__FILEVal(dirPointer);
-
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    do {
-		__threadErrno = 0;
-		dp = readdir(d);
-		/*
-		 * for compatibility with ST-80,
-		 * skip entries for '.' and '..'.
-		 * If wanted, these must be added synthetically.
-		 */
-	    } while (dp && ((strcmp(dp->d_name, ".")==0) || (strcmp(dp->d_name, "..")==0)));
-	} while ((dp == NULL) && (__threadErrno == EINTR));
-	__END_INTERRUPTABLE__
-
-	if (dp != NULL) {
-	    entry = __MKSTRING((char *)(dp->d_name));
-	} else {
-	    if (__threadErrno) {
-		error = __mkSmallInteger(__threadErrno);
-	    }
+        d = (DIR *)__FILEVal(dirPointer);
+
+        __BEGIN_INTERRUPTABLE__
+        do {
+            do {
+                __threadErrno = 0;
+                dp = readdir(d);
+                /*
+                 * for compatibility with ST-80,
+                 * skip entries for '.' and '..'.
+                 * If wanted, these must be added synthetically.
+                 */
+            } while (dp && ((strcmp(dp->d_name, ".")==0) || (strcmp(dp->d_name, "..")==0)));
+        } while ((dp == NULL) && (__threadErrno == EINTR));
+        __END_INTERRUPTABLE__
+
+        if (dp != NULL) {
+            entry = __MKSTRING((char *)(dp->d_name));
+        } else {
+            if (__threadErrno) {
+                error = __mkSmallInteger(__threadErrno);
+            }
        }
     }
 #endif /* HAS_OPENDIR */
 %}.
     error notNil ifTrue:[
-	^ StreamIOError newException
-	    errorCode:error;
-	    osErrorHolder:(OperatingSystem errorHolderForNumber:error);
-	    parameter:aDirectoryStream;
-	    raiseRequest
+        ^ StreamIOError newException
+            errorCode:error;
+            osErrorHolder:(OperatingSystem errorHolderForNumber:error);
+            parameter:aDirectoryStream;
+            raiseRequest
     ].
     entry notNil ifTrue:[
-	^ FileStatusInfo new sourcePath:(self decodePath:entry).
+        ^ FileStatusInfo new sourcePath:(self decodePath:entry).
     ].
     ^ aDirectoryStream pastEndRead
 ! !
@@ -1989,9 +1989,9 @@
     "open a windows-shell/mac finder/desktop application to present the document contained in aFilenameOrString.
      This is typically used to present help-files, html documents, pdf documents etc.
      operationSymbol is one of:
-	open
-	edit
-	explore
+        open
+        edit
+        explore
      mimeTypeStringArgOrNil is e.g. 'text/html' or: 'application/pdf';
      if nil is passed in, the file's suffix is used to guess it.
     "
@@ -2000,16 +2000,16 @@
 
     cmd := self openApplicationHelperCommand.
     cmd notNil ifTrue:[
-	(cmd includesSubString:'%1') ifTrue:[
-	    cmd := cmd bindWith:aFilenameOrString asString.
-	] ifFalse:[
-	    cmd := cmd, ' "', aFilenameOrString asString, '"'.
-	].
-	(self
-	    startProcess:cmd
-	    inputFrom:nil outputTo:nil
-	    errorTo:nil auxFrom:nil
-	    environment: self getEnvironment inDirectory:nil) notNil ifTrue:[ ^ self ]
+        (cmd includesSubString:'%1') ifTrue:[
+            cmd := cmd bindWith:aFilenameOrString asString.
+        ] ifFalse:[
+            cmd := cmd, ' "', aFilenameOrString asString, '"'.
+        ].
+        (self
+            startProcess:cmd
+            inputFrom:nil outputTo:nil
+            errorTo:nil auxFrom:nil
+            environment: self getEnvironment inDirectory:nil) notNil ifTrue:[ ^ self ]
     ].
     ^ super openApplicationForDocument:aFilenameOrString operation:operationSymbol mimeType:mimeTypeStringArgOrNil ifNone:exceptionBlock
 
@@ -2032,22 +2032,22 @@
 
     ((usersPref := UserPreferences current osFileExplorerCommand) notEmptyOrNil
     and:[ self canExecuteCommand:(usersPref subStrings first) ]) ifTrue:[
-	^ usersPref
+        ^ usersPref
     ].
 
     xdgCurrentDesktop := self getEnvironment: 'XDG_CURRENT_DESKTOP'.
     ((xdgCurrentDesktop = 'GNOME') and:[self canExecuteCommand: 'gnome-open']) ifTrue:[
-	^ 'gnome-open'
+        ^ 'gnome-open'
     ].
     "/ Guess...
     ((xdgCurrentDesktop = 'KDE') and:[self canExecuteCommand: 'kde-open']) ifTrue:[
-	^ 'kde-open'
+        ^ 'kde-open'
     ].
     (self canExecuteCommand: 'xdg-open') ifTrue:[
-	^ 'xdg-open'
+        ^ 'xdg-open'
     ].
     (self canExecuteCommand: 'nautilus') ifTrue:[
-	^ 'nautilus'
+        ^ 'nautilus'
     ].
     ^ nil
 
@@ -2069,16 +2069,16 @@
     cmd := 'xterm -e "%1"' bindWith:shellCommand.
 
     inBackground ifTrue:[
-	^ self
-	    startProcess:cmd
-	    inputFrom:nil
-	    outputTo:nil
-	    errorTo:nil
-	    auxFrom:nil
-	    environment:nil
-	    inDirectory:nil
+        ^ self
+            startProcess:cmd
+            inputFrom:nil
+            outputTo:nil
+            errorTo:nil
+            auxFrom:nil
+            environment:nil
+            inDirectory:nil
     ] ifFalse:[
-	^ self executeCommand:cmd
+        ^ self executeCommand:cmd
     ].
 
     "
@@ -2119,530 +2119,530 @@
      */
 
     if (__isSmallInteger(errNr)) {
-	switch ( __intVal(errNr)) {
-	    /*
-	     * POSIX errnos - these should be defined
-	     */
+        switch ( __intVal(errNr)) {
+            /*
+             * POSIX errnos - these should be defined
+             */
 #ifdef EPERM
-	    case EPERM:
-		sym = @symbol(EPERM);
-		typ = @symbol(noPermissionsSignal);
-		break;
+            case EPERM:
+                sym = @symbol(EPERM);
+                typ = @symbol(noPermissionsSignal);
+                break;
 #endif
 #ifdef ENOENT
-	    case ENOENT:
-		sym = @symbol(ENOENT);
-		typ = @symbol(nonexistentSignal);
-		break;
+            case ENOENT:
+                sym = @symbol(ENOENT);
+                typ = @symbol(nonexistentSignal);
+                break;
 #endif
 #ifdef ESRCH
-	    case ESRCH:
-		sym = @symbol(ESRCH);
-		typ = @symbol(unavailableReferentSignal);
-		break;
+            case ESRCH:
+                sym = @symbol(ESRCH);
+                typ = @symbol(unavailableReferentSignal);
+                break;
 #endif
 #ifdef EINTR
-	    case EINTR:
-		sym = @symbol(EINTR);
-		typ = @symbol(transientErrorSignal);
-		break;
+            case EINTR:
+                sym = @symbol(EINTR);
+                typ = @symbol(transientErrorSignal);
+                break;
 #endif
 #ifdef EIO
-	    case EIO:
-		sym = @symbol(EIO);
-		typ = @symbol(transferFaultSignal);
-		break;
+            case EIO:
+                sym = @symbol(EIO);
+                typ = @symbol(transferFaultSignal);
+                break;
 #endif
 #ifdef ENXIO
-	    case ENXIO:
-		sym = @symbol(ENXIO);
-		typ = @symbol(unavailableReferentSignal);
-		break;
+            case ENXIO:
+                sym = @symbol(ENXIO);
+                typ = @symbol(unavailableReferentSignal);
+                break;
 #endif
 #ifdef E2BIG
-	    case E2BIG:
-		sym = @symbol(E2BIG);
-		typ = @symbol(invalidArgumentsSignal);
-		break;
+            case E2BIG:
+                sym = @symbol(E2BIG);
+                typ = @symbol(invalidArgumentsSignal);
+                break;
 #endif
 #ifdef ENOEXEC
-	    case ENOEXEC:
-		sym = @symbol(ENOEXEC);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
+            case ENOEXEC:
+                sym = @symbol(ENOEXEC);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
 #endif
 #ifdef EBADF
-	    case EBADF:
-		sym = @symbol(EBADF);
-		typ = @symbol(badAccessorSignal);
-		break;
+            case EBADF:
+                sym = @symbol(EBADF);
+                typ = @symbol(badAccessorSignal);
+                break;
 #endif
 #ifdef ECHILD
-	    case ECHILD:
-		sym = @symbol(ECHILD);
-		typ = @symbol(informationSignal);
-		break;
+            case ECHILD:
+                sym = @symbol(ECHILD);
+                typ = @symbol(informationSignal);
+                break;
 #endif
 #if !defined(EWOULDBLOCK) && defined(EAGAIN) && (EWOULDBLOCK != EAGAIN)
-	    case EAGAIN:
-		sym = @symbol(EAGAIN);
-		typ = @symbol(notReadySignal);
-		break;
+            case EAGAIN:
+                sym = @symbol(EAGAIN);
+                typ = @symbol(notReadySignal);
+                break;
 #endif
 #ifdef EOVERFLOW
-	    case EOVERFLOW:
-		sym = @symbol(EOVERFLOW);
-		typ = @symbol(rangeErrorSignal);
-		break;
+            case EOVERFLOW:
+                sym = @symbol(EOVERFLOW);
+                typ = @symbol(rangeErrorSignal);
+                break;
 #endif
 #ifdef ENOMEM
-	    case ENOMEM:
-		sym = @symbol(ENOMEM);
-		typ = @symbol(noMemorySignal);
-		break;
+            case ENOMEM:
+                sym = @symbol(ENOMEM);
+                typ = @symbol(noMemorySignal);
+                break;
 #endif
 #ifdef EACCES
-	    case EACCES:
-		sym = @symbol(EACCES);
-		typ = @symbol(noPermissionsSignal);
-		break;
+            case EACCES:
+                sym = @symbol(EACCES);
+                typ = @symbol(noPermissionsSignal);
+                break;
 #endif
 #ifdef EFAULT
-	    case EFAULT:
-		sym = @symbol(EFAULT);
-		typ = @symbol(invalidArgumentsSignal);
-		break;
+            case EFAULT:
+                sym = @symbol(EFAULT);
+                typ = @symbol(invalidArgumentsSignal);
+                break;
 #endif
 #ifdef EBUSY
-	    case EBUSY:
-		sym = @symbol(EBUSY);
-		typ = @symbol(unavailableReferentSignal);
-		break;
+            case EBUSY:
+                sym = @symbol(EBUSY);
+                typ = @symbol(unavailableReferentSignal);
+                break;
 #endif
 #ifdef EEXIST
-	    case EEXIST:
-		sym = @symbol(EEXIST);
-		typ = @symbol(existingReferentSignal);
-		break;
+            case EEXIST:
+                sym = @symbol(EEXIST);
+                typ = @symbol(existingReferentSignal);
+                break;
 #endif
 #ifdef EXDEV
-	    case EXDEV:
-		sym = @symbol(EXDEV);
-		typ = @symbol(inappropriateReferentSignal);
-		break;
+            case EXDEV:
+                sym = @symbol(EXDEV);
+                typ = @symbol(inappropriateReferentSignal);
+                break;
 #endif
 #ifdef ENODEV
-	    case ENODEV:
-		sym = @symbol(ENODEV);
-		typ = @symbol(inaccessibleSignal);
-		break;
+            case ENODEV:
+                sym = @symbol(ENODEV);
+                typ = @symbol(inaccessibleSignal);
+                break;
 #endif
 #ifdef ENOTDIR
-	    case ENOTDIR:
-		sym = @symbol(ENOTDIR);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
+            case ENOTDIR:
+                sym = @symbol(ENOTDIR);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
 #endif
 #ifdef EISDIR
-	    case EISDIR:
-		sym = @symbol(EISDIR);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
+            case EISDIR:
+                sym = @symbol(EISDIR);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
 #endif
 #ifdef EINVAL
-	    case EINVAL:
-		sym = @symbol(EINVAL);
-		typ = @symbol(invalidArgumentsSignal);
-		break;
+            case EINVAL:
+                sym = @symbol(EINVAL);
+                typ = @symbol(invalidArgumentsSignal);
+                break;
 #endif
 #ifdef ENFILE
-	    case ENFILE:
-		sym = @symbol(ENFILE);
-		typ = @symbol(noResourcesSignal);
-		break;
+            case ENFILE:
+                sym = @symbol(ENFILE);
+                typ = @symbol(noResourcesSignal);
+                break;
 #endif
 #ifdef EMFILE
-	    case EMFILE:
-		sym = @symbol(EMFILE);
-		typ = @symbol(noResourcesSignal);
-		break;
+            case EMFILE:
+                sym = @symbol(EMFILE);
+                typ = @symbol(noResourcesSignal);
+                break;
 #endif
 #ifdef ENOTTY
-	    case ENOTTY:
-		sym = @symbol(ENOTTY);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
+            case ENOTTY:
+                sym = @symbol(ENOTTY);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
 #endif
 #ifdef EFBIG
-	    case EFBIG:
-		sym = @symbol(EFBIG);
-		typ = @symbol(noResourcesSignal);
-		break;
+            case EFBIG:
+                sym = @symbol(EFBIG);
+                typ = @symbol(noResourcesSignal);
+                break;
 #endif
 #ifdef ENOSPC
-	    case ENOSPC:
-		sym = @symbol(ENOSPC);
-		typ = @symbol(noResourcesSignal);
-		break;
+            case ENOSPC:
+                sym = @symbol(ENOSPC);
+                typ = @symbol(noResourcesSignal);
+                break;
 #endif
 #ifdef ENOTSUP
 # if !defined(EOPNOTSUPP) || (ENOTSUP != EOPNOTSUPP)
-	    case ENOTSUP:
-		sym = @symbol(ENOTSUP);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
+            case ENOTSUP:
+                sym = @symbol(ENOTSUP);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
 # endif
 #endif
 #ifdef ESPIPE
-	    case ESPIPE:
-		sym = @symbol(ESPIPE);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
+            case ESPIPE:
+                sym = @symbol(ESPIPE);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
 #endif
 #ifdef EROFS
-	    case EROFS:
-		sym = @symbol(EROFS);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
+            case EROFS:
+                sym = @symbol(EROFS);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
 #endif
 #ifdef EMLINK
-	    case EMLINK:
-		sym = @symbol(EMLINK);
-		typ = @symbol(rangeErrorSignal);
-		break;
+            case EMLINK:
+                sym = @symbol(EMLINK);
+                typ = @symbol(rangeErrorSignal);
+                break;
 #endif
 #ifdef EPIPE
-	    case EPIPE:
-		sym = @symbol(EPIPE);
-		typ = @symbol(peerFaultSignal);
-		break;
+            case EPIPE:
+                sym = @symbol(EPIPE);
+                typ = @symbol(peerFaultSignal);
+                break;
 #endif
 #ifdef EDOM
-	    case EDOM:
-		sym = @symbol(EDOM);
-		typ = @symbol(rangeErrorSignal);
-		break;
+            case EDOM:
+                sym = @symbol(EDOM);
+                typ = @symbol(rangeErrorSignal);
+                break;
 #endif
 #ifdef ERANGE
-	    case ERANGE:
-		sym = @symbol(ERANGE);
-		typ = @symbol(rangeErrorSignal);
-		break;
+            case ERANGE:
+                sym = @symbol(ERANGE);
+                typ = @symbol(rangeErrorSignal);
+                break;
 #endif
 #ifdef EDEADLK
 # if EDEADLK != EWOULDBLOCK
-	    case EDEADLK:
-		sym = @symbol(EDEADLK);
-		typ = @symbol(noResourcesSignal);
-		break;
+            case EDEADLK:
+                sym = @symbol(EDEADLK);
+                typ = @symbol(noResourcesSignal);
+                break;
 # endif
 #endif
 #ifdef ENAMETOOLONG
-	    case ENAMETOOLONG:
-		sym = @symbol(ENAMETOOLONG);
-		typ = @symbol(rangeErrorSignal);
-		break;
+            case ENAMETOOLONG:
+                sym = @symbol(ENAMETOOLONG);
+                typ = @symbol(rangeErrorSignal);
+                break;
 #endif
 #ifdef ENOLCK
-	    case ENOLCK:
-		sym = @symbol(ENOLCK);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
+            case ENOLCK:
+                sym = @symbol(ENOLCK);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
 #endif
 #ifdef ENOSYS
-	    case ENOSYS:
-		sym = @symbol(ENOSYS);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
+            case ENOSYS:
+                sym = @symbol(ENOSYS);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
 #endif
 #if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST)
-	    case ENOTEMPTY:
-		sym = @symbol(ENOTEMPTY);
-		typ = @symbol(inappropriateReferentSignal);
-		break;
+            case ENOTEMPTY:
+                sym = @symbol(ENOTEMPTY);
+                typ = @symbol(inappropriateReferentSignal);
+                break;
 #endif
 #ifdef EILSEQ
-	    case EILSEQ:
-		sym = @symbol(EILSEQ);
-		typ = @symbol(transferFaultSignal);
-		break;
-#endif
-	    /*
-	     * XPG3 errnos - defined on most systems
-	     */
+            case EILSEQ:
+                sym = @symbol(EILSEQ);
+                typ = @symbol(transferFaultSignal);
+                break;
+#endif
+            /*
+             * XPG3 errnos - defined on most systems
+             */
 #ifdef ENOTBLK
-	    case ENOTBLK:
-		sym = @symbol(ENOTBLK);
-		typ = @symbol(inappropriateReferentSignal);
-		break;
+            case ENOTBLK:
+                sym = @symbol(ENOTBLK);
+                typ = @symbol(inappropriateReferentSignal);
+                break;
 #endif
 #ifdef ETXTBSY
-	    case ETXTBSY:
-		sym = @symbol(ETXTBSY);
-		typ = @symbol(inaccessibleSignal);
-		break;
-#endif
-	    /*
-	     * some others
-	     */
+            case ETXTBSY:
+                sym = @symbol(ETXTBSY);
+                typ = @symbol(inaccessibleSignal);
+                break;
+#endif
+            /*
+             * some others
+             */
 #ifdef EWOULDBLOCK
-	    case EWOULDBLOCK:
-		sym = @symbol(EWOULDBLOCK);
-		typ = @symbol(notReadySignal);
-		break;
+            case EWOULDBLOCK:
+                sym = @symbol(EWOULDBLOCK);
+                typ = @symbol(notReadySignal);
+                break;
 #endif
 #ifdef ENOMSG
-	    case ENOMSG:
-		sym = @symbol(ENOMSG);
-		typ = @symbol(noDataSignal);
-		break;
+            case ENOMSG:
+                sym = @symbol(ENOMSG);
+                typ = @symbol(noDataSignal);
+                break;
 #endif
 #ifdef ELOOP
-	    case ELOOP:
-		sym = @symbol(ELOOP);
-		typ = @symbol(rangeErrorSignal);
-		break;
-#endif
-
-	    /*
-	     * some stream errors
-	     */
+            case ELOOP:
+                sym = @symbol(ELOOP);
+                typ = @symbol(rangeErrorSignal);
+                break;
+#endif
+
+            /*
+             * some stream errors
+             */
 #ifdef ETIME
-	    case ETIME:
-		sym = @symbol(ETIME);
-		typ = @symbol(peerFaultSignal);
-		break;
+            case ETIME:
+                sym = @symbol(ETIME);
+                typ = @symbol(peerFaultSignal);
+                break;
 #endif
 #ifdef ENOSR
-	    case ENOSR:
-		sym = @symbol(ENOSR);
-		typ = @symbol(noResourcesSignal);
-		break;
+            case ENOSR:
+                sym = @symbol(ENOSR);
+                typ = @symbol(noResourcesSignal);
+                break;
 #endif
 #ifdef ENOSTR
-	    case ENOSTR:
-		sym = @symbol(ENOSTR);
-		typ = @symbol(inappropriateReferentSignal);
-		break;
+            case ENOSTR:
+                sym = @symbol(ENOSTR);
+                typ = @symbol(inappropriateReferentSignal);
+                break;
 #endif
 #ifdef ECOMM
-	    case ECOMM:
-		sym = @symbol(ECOMM);
-		typ = @symbol(transferFaultSignal);
-		break;
+            case ECOMM:
+                sym = @symbol(ECOMM);
+                typ = @symbol(transferFaultSignal);
+                break;
 #endif
 #ifdef EPROTO
-	    case EPROTO:
-		sym = @symbol(EPROTO);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
-#endif
-	    /*
-	     * nfs errors
-	     */
+            case EPROTO:
+                sym = @symbol(EPROTO);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
+#endif
+            /*
+             * nfs errors
+             */
 #ifdef ESTALE
-	    case ESTALE:
-		sym = @symbol(ESTALE);
-		typ = @symbol(unavailableReferentSignal);
-		break;
+            case ESTALE:
+                sym = @symbol(ESTALE);
+                typ = @symbol(unavailableReferentSignal);
+                break;
 #endif
 #ifdef EREMOTE
-	    case EREMOTE:
-		sym = @symbol(EREMOTE);
-		typ = @symbol(rangeErrorSignal);
-		break;
-#endif
-	    /*
-	     * some networking errors
-	     */
+            case EREMOTE:
+                sym = @symbol(EREMOTE);
+                typ = @symbol(rangeErrorSignal);
+                break;
+#endif
+            /*
+             * some networking errors
+             */
 #ifdef EINPROGRESS
-	    case EINPROGRESS:
-		sym = @symbol(EINPROGRESS);
-		typ = @symbol(operationStartedSignal);
-		break;
+            case EINPROGRESS:
+                sym = @symbol(EINPROGRESS);
+                typ = @symbol(operationStartedSignal);
+                break;
 #endif
 #ifdef EALREADY
-	    case EALREADY:
-		sym = @symbol(EALREADY);
-		typ = @symbol(operationStartedSignal);
-		break;
+            case EALREADY:
+                sym = @symbol(EALREADY);
+                typ = @symbol(operationStartedSignal);
+                break;
 #endif
 #ifdef ENOTSOCK
-	    case ENOTSOCK:
-		sym = @symbol(ENOTSOCK);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
+            case ENOTSOCK:
+                sym = @symbol(ENOTSOCK);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
 #endif
 #ifdef EDESTADDRREQ
-	    case EDESTADDRREQ:
-		sym = @symbol(EDESTADDRREQ);
-		typ = @symbol(underspecifiedSignal);
-		break;
+            case EDESTADDRREQ:
+                sym = @symbol(EDESTADDRREQ);
+                typ = @symbol(underspecifiedSignal);
+                break;
 #endif
 #ifdef EMSGSIZE
-	    case EMSGSIZE:
-		sym = @symbol(EMSGSIZE);
-		typ = @symbol(rangeErrorSignal);
-		break;
+            case EMSGSIZE:
+                sym = @symbol(EMSGSIZE);
+                typ = @symbol(rangeErrorSignal);
+                break;
 #endif
 #ifdef EPROTOTYPE
-	    case EPROTOTYPE:
-		sym = @symbol(EPROTOTYPE);
-		typ = @symbol(wrongSubtypeForOperationSignal);
-		break;
+            case EPROTOTYPE:
+                sym = @symbol(EPROTOTYPE);
+                typ = @symbol(wrongSubtypeForOperationSignal);
+                break;
 #endif
 #ifdef ENOPROTOOPT
-	    case ENOPROTOOPT:
-		sym = @symbol(ENOPROTOOPT);
-		typ = @symbol(unsupportedOperationSignal);
-		break;
+            case ENOPROTOOPT:
+                sym = @symbol(ENOPROTOOPT);
+                typ = @symbol(unsupportedOperationSignal);
+                break;
 #endif
 #ifdef EPROTONOSUPPORT
-	    case EPROTONOSUPPORT:
-		sym = @symbol(EPROTONOSUPPORT);
-		typ = @symbol(unsupportedOperationSignal);
-		break;
+            case EPROTONOSUPPORT:
+                sym = @symbol(EPROTONOSUPPORT);
+                typ = @symbol(unsupportedOperationSignal);
+                break;
 #endif
 #ifdef ESOCKTNOSUPPORT
-	    case ESOCKTNOSUPPORT:
-		sym = @symbol(ESOCKTNOSUPPORT);
-		typ = @symbol(unsupportedOperationSignal);
-		break;
+            case ESOCKTNOSUPPORT:
+                sym = @symbol(ESOCKTNOSUPPORT);
+                typ = @symbol(unsupportedOperationSignal);
+                break;
 #endif
 #ifdef EOPNOTSUPP
-	    case EOPNOTSUPP:
-		sym = @symbol(EOPNOTSUPP);
-		typ = @symbol(inappropriateOperationSignal);
-		break;
+            case EOPNOTSUPP:
+                sym = @symbol(EOPNOTSUPP);
+                typ = @symbol(inappropriateOperationSignal);
+                break;
 #endif
 #ifdef EPFNOSUPPORT
-	    case EPFNOSUPPORT:
-		sym = @symbol(EPFNOSUPPORT);
-		typ = @symbol(unsupportedOperationSignal);
-		break;
+            case EPFNOSUPPORT:
+                sym = @symbol(EPFNOSUPPORT);
+                typ = @symbol(unsupportedOperationSignal);
+                break;
 #endif
 #ifdef EAFNOSUPPORT
-	    case EAFNOSUPPORT:
-		sym = @symbol(EAFNOSUPPORT);
-		typ = @symbol(unsupportedOperationSignal);
-		break;
+            case EAFNOSUPPORT:
+                sym = @symbol(EAFNOSUPPORT);
+                typ = @symbol(unsupportedOperationSignal);
+                break;
 #endif
 #ifdef EADDRINUSE
-	    case EADDRINUSE:
-		sym = @symbol(EADDRINUSE);
-		typ = @symbol(existingReferentSignal);
-		break;
+            case EADDRINUSE:
+                sym = @symbol(EADDRINUSE);
+                typ = @symbol(existingReferentSignal);
+                break;
 #endif
 #ifdef EADDRNOTAVAIL
-	    case EADDRNOTAVAIL:
-		sym = @symbol(EADDRNOTAVAIL);
-		typ = @symbol(noPermissionsSignal);
-		break;
+            case EADDRNOTAVAIL:
+                sym = @symbol(EADDRNOTAVAIL);
+                typ = @symbol(noPermissionsSignal);
+                break;
 #endif
 #ifdef ETIMEDOUT
-	    case ETIMEDOUT:
-		sym = @symbol(ETIMEDOUT);
-		typ = @symbol(peerFaultSignal);
-		break;
+            case ETIMEDOUT:
+                sym = @symbol(ETIMEDOUT);
+                typ = @symbol(peerFaultSignal);
+                break;
 #endif
 #ifdef ECONNREFUSED
-	    case ECONNREFUSED:
-		sym = @symbol(ECONNREFUSED);
-		typ = @symbol(peerFaultSignal);
-		break;
+            case ECONNREFUSED:
+                sym = @symbol(ECONNREFUSED);
+                typ = @symbol(peerFaultSignal);
+                break;
 #endif
 #ifdef ENETDOWN
-	    case ENETDOWN:
-		sym = @symbol(ENETDOWN);
-		typ = @symbol(peerFaultSignal);
-		break;
+            case ENETDOWN:
+                sym = @symbol(ENETDOWN);
+                typ = @symbol(peerFaultSignal);
+                break;
 #endif
 #ifdef ENETUNREACH
-	    case ENETUNREACH:
-		sym = @symbol(ENETUNREACH);
-		typ = @symbol(peerFaultSignal);
-		break;
+            case ENETUNREACH:
+                sym = @symbol(ENETUNREACH);
+                typ = @symbol(peerFaultSignal);
+                break;
 #endif
 #ifdef ENETRESET
-	    case ENETRESET:
-		sym = @symbol(ENETRESET);
-		typ = @symbol(peerFaultSignal);
-		break;
+            case ENETRESET:
+                sym = @symbol(ENETRESET);
+                typ = @symbol(peerFaultSignal);
+                break;
 #endif
 #ifdef ECONNABORTED
-	    case ECONNABORTED:
-		sym = @symbol(ECONNABORTED);
-		typ = @symbol(peerFaultSignal);
-		break;
+            case ECONNABORTED:
+                sym = @symbol(ECONNABORTED);
+                typ = @symbol(peerFaultSignal);
+                break;
 #endif
 #ifdef ECONNRESET
-	    case ECONNRESET:
-		sym = @symbol(ECONNRESET);
-		typ = @symbol(peerFaultSignal);
-		break;
+            case ECONNRESET:
+                sym = @symbol(ECONNRESET);
+                typ = @symbol(peerFaultSignal);
+                break;
 #endif
 #ifdef EISCONN
-	    case EISCONN:
-		sym = @symbol(EISCONN);
-		typ = @symbol(unpreparedOperationSignal);
-		break;
+            case EISCONN:
+                sym = @symbol(EISCONN);
+                typ = @symbol(unpreparedOperationSignal);
+                break;
 #endif
 #ifdef ENOTCONN
-	    case ENOTCONN:
-		sym = @symbol(ENOTCONN);
-		typ = @symbol(unpreparedOperationSignal);
-		break;
+            case ENOTCONN:
+                sym = @symbol(ENOTCONN);
+                typ = @symbol(unpreparedOperationSignal);
+                break;
 #endif
 #ifdef ESHUTDOWN
-	    case ESHUTDOWN:
-		sym = @symbol(ESHUTDOWN);
-		typ = @symbol(unpreparedOperationSignal);
-		break;
+            case ESHUTDOWN:
+                sym = @symbol(ESHUTDOWN);
+                typ = @symbol(unpreparedOperationSignal);
+                break;
 #endif
 #ifdef EHOSTDOWN
-	    case EHOSTDOWN:
-		sym = @symbol(EHOSTDOWN);
-		typ = @symbol(peerFaultSignal);
-		break;
+            case EHOSTDOWN:
+                sym = @symbol(EHOSTDOWN);
+                typ = @symbol(peerFaultSignal);
+                break;
 #endif
 #ifdef EHOSTUNREACH
-	    case EHOSTUNREACH:
-		sym = @symbol(EHOSTUNREACH);
-		typ = @symbol(peerFaultSignal);
-		break;
+            case EHOSTUNREACH:
+                sym = @symbol(EHOSTUNREACH);
+                typ = @symbol(peerFaultSignal);
+                break;
 #endif
 #ifdef EDQUOT
-	    case EDQUOT:
-		sym = @symbol(EDQUOT);
-		typ = @symbol(noResourcesSignal);
-		break;
+            case EDQUOT:
+                sym = @symbol(EDQUOT);
+                typ = @symbol(noResourcesSignal);
+                break;
 #endif
 
 #ifdef ENOMEDIUM
-	    case ENOMEDIUM:
-		sym = @symbol(ENOMEDIUM);
-		typ = @symbol(noResourcesSignal);
-		break;
+            case ENOMEDIUM:
+                sym = @symbol(ENOMEDIUM);
+                typ = @symbol(noResourcesSignal);
+                break;
 #endif
 #ifdef EMEDIUMTYPE
-	    case EMEDIUMTYPE:
-		sym = @symbol(EMEDIUMTYPE);
-		typ = @symbol(noResourcesSignal);
-		break;
-#endif
-
-	    default:
-		break;
-	}
+            case EMEDIUMTYPE:
+                sym = @symbol(EMEDIUMTYPE);
+                typ = @symbol(noResourcesSignal);
+                break;
+#endif
+
+            default:
+                break;
+        }
     }
 %}.
     holder := OSErrorHolder new.
     sym isNil ifTrue:[
-	sym := #ERROR_OTHER.
-	errNr notNil ifTrue:[
-	    "keep symbols as symbols"
-	    holder parameter:(errNr isString ifTrue:[errNr] ifFalse:[errNr asString]).
-	].
+        sym := #ERROR_OTHER.
+        errNr notNil ifTrue:[
+            "keep symbols as symbols"
+            holder parameter:(errNr isString ifTrue:[errNr] ifFalse:[errNr asString]).
+        ].
     ].
     holder errorSymbol:sym errorCategory:(typ ? #defaultOsErrorSignal).
     ^ holder
@@ -2672,238 +2672,238 @@
      */
 #ifdef EPERM
     if (sym == @symbol(EPERM)) {
-	RETURN ( __mkSmallInteger(EPERM) );
+        RETURN ( __mkSmallInteger(EPERM) );
     }
 #endif
 
 #ifdef ENOENT
     /* ERROR_FILE_NOT_FOUND is originally windows, but referd to in ExternalStream>>#openError: */
     if (sym == @symbol(ENOENT) || sym == @symbol(ERROR_FILE_NOT_FOUND)) {
-	RETURN ( __mkSmallInteger(ENOENT) );
+        RETURN ( __mkSmallInteger(ENOENT) );
     }
 #endif
 
 #ifdef ESRCH
     if (sym == @symbol(ESRCH)) {
-	RETURN ( __mkSmallInteger(ESRCH) );
+        RETURN ( __mkSmallInteger(ESRCH) );
     }
 #endif
 
 #ifdef EINTR
     if (sym == @symbol(EINTR)) {
-	RETURN ( __mkSmallInteger(EINTR) );
+        RETURN ( __mkSmallInteger(EINTR) );
     }
 #endif
 
 #ifdef EIO
     if (sym == @symbol(EIO)) {
-	RETURN ( __mkSmallInteger(EIO) );
+        RETURN ( __mkSmallInteger(EIO) );
     }
 #endif
 
 #ifdef ENXIO
     if (sym == @symbol(ENXIO)) {
-	RETURN ( __mkSmallInteger(ENXIO) );
+        RETURN ( __mkSmallInteger(ENXIO) );
     }
 #endif
 
 #ifdef E2BIG
     if (sym == @symbol(E2BIG)) {
-	RETURN ( __mkSmallInteger(E2BIG) );
+        RETURN ( __mkSmallInteger(E2BIG) );
     }
 #endif
 
 #ifdef ENOEXEC
     if (sym == @symbol(ENOEXEC)) {
-	RETURN ( __mkSmallInteger(ENOEXEC) );
+        RETURN ( __mkSmallInteger(ENOEXEC) );
     }
 #endif
 
 #ifdef ENOTSUP
 # if !defined(EOPNOTSUPP) || (ENOTSUP != EOPNOTSUPP)
     if (sym == @symbol(ENOTSUP)) {
-	RETURN ( __mkSmallInteger(ENOTSUP) );
+        RETURN ( __mkSmallInteger(ENOTSUP) );
     }
 # endif
 #endif
 
 #ifdef EBADF
     if (sym == @symbol(EBADF)) {
-	RETURN ( __mkSmallInteger(EBADF) );
+        RETURN ( __mkSmallInteger(EBADF) );
     }
 #endif
 
 #ifdef ECHILD
     if (sym == @symbol(ECHILD)) {
-	RETURN ( __mkSmallInteger(ECHILD) );
+        RETURN ( __mkSmallInteger(ECHILD) );
     }
 #endif
 
 #if defined(EAGAIN)
     if (sym == @symbol(EAGAIN)) {
-	RETURN ( __mkSmallInteger(EAGAIN) );
+        RETURN ( __mkSmallInteger(EAGAIN) );
     }
 #endif
 
 #ifdef ENOMEM
     if (sym == @symbol(ENOMEM)) {
-	RETURN ( __mkSmallInteger(ENOMEM) );
+        RETURN ( __mkSmallInteger(ENOMEM) );
     }
 #endif
 
 #ifdef EACCES
     if (sym == @symbol(EACCES)) {
-	RETURN ( __mkSmallInteger(EACCES) );
+        RETURN ( __mkSmallInteger(EACCES) );
     }
 #endif
 
 #ifdef EFAULT
     if (sym == @symbol(EFAULT)) {
-	RETURN ( __mkSmallInteger(EFAULT) );
+        RETURN ( __mkSmallInteger(EFAULT) );
     }
 #endif
 
 #ifdef EBUSY
     if (sym == @symbol(EBUSY)) {
-	RETURN ( __mkSmallInteger(EBUSY) );
+        RETURN ( __mkSmallInteger(EBUSY) );
     }
 #endif
 
 #ifdef EXDEV
     if (sym == @symbol(EXDEV)) {
-	RETURN ( __mkSmallInteger(EXDEV) );
+        RETURN ( __mkSmallInteger(EXDEV) );
     }
 #endif
 
 #ifdef ENODEV
     if (sym == @symbol(ENODEV)) {
-	RETURN ( __mkSmallInteger(ENODEV) );
+        RETURN ( __mkSmallInteger(ENODEV) );
     }
 #endif
 
 #ifdef ENOTDIR
     if (sym == @symbol(ENOTDIR)) {
-	RETURN ( __mkSmallInteger(ENOTDIR) );
+        RETURN ( __mkSmallInteger(ENOTDIR) );
     }
 #endif
 
 #ifdef EISDIR
     if (sym == @symbol(EISDIR)) {
-	RETURN ( __mkSmallInteger(EISDIR) );
+        RETURN ( __mkSmallInteger(EISDIR) );
     }
 #endif
 
 #ifdef EINVAL
     if (sym == @symbol(EINVAL)) {
-	RETURN ( __mkSmallInteger(EINVAL) );
+        RETURN ( __mkSmallInteger(EINVAL) );
     }
 #endif
 
 #ifdef ENFILE
     if (sym == @symbol(ENFILE)) {
-	RETURN ( __mkSmallInteger(ENFILE) );
+        RETURN ( __mkSmallInteger(ENFILE) );
     }
 #endif
 
 #ifdef EMFILE
     if (sym == @symbol(EMFILE)) {
-	RETURN ( __mkSmallInteger(EMFILE) );
+        RETURN ( __mkSmallInteger(EMFILE) );
     }
 #endif
 
 #ifdef ENOTTY
     if (sym == @symbol(ENOTTY)) {
-	RETURN ( __mkSmallInteger(ENOTTY) );
+        RETURN ( __mkSmallInteger(ENOTTY) );
     }
 #endif
 
 #ifdef EFBIG
     if (sym == @symbol(EFBIG)) {
-	RETURN ( __mkSmallInteger(EFBIG) );
+        RETURN ( __mkSmallInteger(EFBIG) );
     }
 #endif
 
 #ifdef ENOSPC
     if (sym == @symbol(ENOSPC)) {
-	RETURN ( __mkSmallInteger(ENOSPC) );
+        RETURN ( __mkSmallInteger(ENOSPC) );
     }
 #endif
 
 #ifdef ESPIPE
     if (sym == @symbol(ESPIPE)) {
-	RETURN ( __mkSmallInteger(ESPIPE) );
+        RETURN ( __mkSmallInteger(ESPIPE) );
     }
 #endif
 
 #ifdef EROFS
     if (sym == @symbol(EROFS)) {
-	RETURN ( __mkSmallInteger(EROFS) );
+        RETURN ( __mkSmallInteger(EROFS) );
     }
 #endif
 
 #ifdef EMLINK
     if (sym == @symbol(EMLINK)) {
-	RETURN ( __mkSmallInteger(EMLINK) );
+        RETURN ( __mkSmallInteger(EMLINK) );
     }
 #endif
 
 #ifdef EPIPE
     if (sym == @symbol(EPIPE)) {
-	RETURN ( __mkSmallInteger(EPIPE) );
+        RETURN ( __mkSmallInteger(EPIPE) );
     }
 #endif
 
 #ifdef EDOM
     if (sym == @symbol(EDOM)) {
-	RETURN ( __mkSmallInteger(EDOM) );
+        RETURN ( __mkSmallInteger(EDOM) );
     }
 #endif
 
 #ifdef ERANGE
     if (sym == @symbol(ERANGE)) {
-	RETURN ( __mkSmallInteger(ERANGE) );
+        RETURN ( __mkSmallInteger(ERANGE) );
     }
 #endif
 
 #ifdef EDEADLK
     if (sym == @symbol(EDEADLK)) {
-	RETURN ( __mkSmallInteger(EDEADLK) );
+        RETURN ( __mkSmallInteger(EDEADLK) );
     }
 #endif
 
 #ifdef ENAMETOOLONG
     if (sym == @symbol(ENAMETOOLONG)) {
-	RETURN ( __mkSmallInteger(ENAMETOOLONG) );
+        RETURN ( __mkSmallInteger(ENAMETOOLONG) );
     }
 #endif
 
 #ifdef ENOLCK
     if (sym == @symbol(ENOLCK)) {
-	RETURN ( __mkSmallInteger(ENOLCK) );
+        RETURN ( __mkSmallInteger(ENOLCK) );
     }
 #endif
 
 #ifdef ENOSYS
     if (sym == @symbol(ENOSYS)) {
-	RETURN ( __mkSmallInteger(ENOSYS) );
+        RETURN ( __mkSmallInteger(ENOSYS) );
     }
 #endif
 
 #ifdef ENOTEMPTY
     if (sym == @symbol(ENOTEMPTY)) {
-	RETURN ( __mkSmallInteger(ENOTEMPTY) );
+        RETURN ( __mkSmallInteger(ENOTEMPTY) );
     }
 #endif
 
 #ifdef EEXIST
     if (sym == @symbol(EEXIST)) {
-	RETURN ( __mkSmallInteger(EEXIST) );
+        RETURN ( __mkSmallInteger(EEXIST) );
     }
 #endif
 
 #ifdef EILSEQ
     if (sym == @symbol(EILSEQ)) {
-	RETURN ( __mkSmallInteger(EILSEQ) );
+        RETURN ( __mkSmallInteger(EILSEQ) );
     }
 #endif
 
@@ -2912,13 +2912,13 @@
      */
 #ifdef ENOTBLK
     if (sym == @symbol(ENOTBLK)) {
-	RETURN ( __mkSmallInteger(ENOTBLK) );
+        RETURN ( __mkSmallInteger(ENOTBLK) );
     }
 #endif
 
 #ifdef ETXTBSY
     if (sym == @symbol(ETXTBSY)) {
-	RETURN ( __mkSmallInteger(ETXTBSY) );
+        RETURN ( __mkSmallInteger(ETXTBSY) );
     }
 #endif
 
@@ -2927,25 +2927,25 @@
      */
 #ifdef EWOULDBLOCK
     if (sym == @symbol(EWOULDBLOCK)) {
-	RETURN ( __mkSmallInteger(EWOULDBLOCK) );
+        RETURN ( __mkSmallInteger(EWOULDBLOCK) );
     }
 #endif
 
 #ifdef EOVERFLOW
     if (sym == @symbol(EOVERFLOW)) {
-	RETURN ( __mkSmallInteger(EOVERFLOW) );
+        RETURN ( __mkSmallInteger(EOVERFLOW) );
     }
 #endif
 
 #ifdef ENOMSG
     if (sym == @symbol(ENOMSG)) {
-	RETURN ( __mkSmallInteger(ENOMSG) );
+        RETURN ( __mkSmallInteger(ENOMSG) );
     }
 #endif
 
 #ifdef ELOOP
     if (sym == @symbol(ELOOP)) {
-	RETURN ( __mkSmallInteger(ELOOP) );
+        RETURN ( __mkSmallInteger(ELOOP) );
     }
 #endif
 
@@ -2954,31 +2954,31 @@
      */
 #ifdef ETIME
     if (sym == @symbol(ETIME)) {
-	RETURN ( __mkSmallInteger(ETIME) );
+        RETURN ( __mkSmallInteger(ETIME) );
     }
 #endif
 
 #ifdef ENOSR
     if (sym == @symbol(ENOSR)) {
-	RETURN ( __mkSmallInteger(ENOSR) );
+        RETURN ( __mkSmallInteger(ENOSR) );
     }
 #endif
 
 #ifdef ENOSTR
     if (sym == @symbol(ENOSTR)) {
-	RETURN ( __mkSmallInteger(ENOSTR) );
+        RETURN ( __mkSmallInteger(ENOSTR) );
     }
 #endif
 
 #ifdef ECOMM
     if (sym == @symbol(ECOMM)) {
-	RETURN ( __mkSmallInteger(ECOMM) );
+        RETURN ( __mkSmallInteger(ECOMM) );
     }
 #endif
 
 #ifdef EPROTO
     if (sym == @symbol(EPROTO)) {
-	RETURN ( __mkSmallInteger(EPROTO) );
+        RETURN ( __mkSmallInteger(EPROTO) );
     }
 #endif
 
@@ -2987,13 +2987,13 @@
      */
 #ifdef ESTALE
     if (sym == @symbol(ESTALE)) {
-	RETURN ( __mkSmallInteger(ESTALE) );
+        RETURN ( __mkSmallInteger(ESTALE) );
     }
 #endif
 
 #ifdef EREMOTE
     if (sym == @symbol(EREMOTE)) {
-	RETURN ( __mkSmallInteger(EREMOTE) );
+        RETURN ( __mkSmallInteger(EREMOTE) );
     }
 #endif
 
@@ -3002,178 +3002,178 @@
      */
 #ifdef EINPROGRESS
     if (sym == @symbol(EINPROGRESS)) {
-	RETURN ( __mkSmallInteger(EINPROGRESS) );
+        RETURN ( __mkSmallInteger(EINPROGRESS) );
     }
 #endif
 
 #ifdef EALREADY
     if (sym == @symbol(EALREADY)) {
-	RETURN ( __mkSmallInteger(EALREADY) );
+        RETURN ( __mkSmallInteger(EALREADY) );
     }
 #endif
 
 #ifdef ENOTSOCK
     if (sym == @symbol(ENOTSOCK)) {
-	RETURN ( __mkSmallInteger(ENOTSOCK) );
+        RETURN ( __mkSmallInteger(ENOTSOCK) );
     }
 #endif
 
 #ifdef EDESTADDRREQ
     if (sym == @symbol(EDESTADDRREQ)) {
-	RETURN ( __mkSmallInteger(EDESTADDRREQ) );
+        RETURN ( __mkSmallInteger(EDESTADDRREQ) );
     }
 #endif
 
 #ifdef EMSGSIZE
     if (sym == @symbol(EMSGSIZE)) {
-	RETURN ( __mkSmallInteger(EMSGSIZE) );
+        RETURN ( __mkSmallInteger(EMSGSIZE) );
     }
 #endif
 
 #ifdef EPROTOTYPE
     if (sym == @symbol(EPROTOTYPE)) {
-	RETURN ( __mkSmallInteger(EPROTOTYPE) );
+        RETURN ( __mkSmallInteger(EPROTOTYPE) );
     }
 #endif
 
 #ifdef ENOPROTOOPT
     if (sym == @symbol(ENOPROTOOPT)) {
-	RETURN ( __mkSmallInteger(ENOPROTOOPT) );
+        RETURN ( __mkSmallInteger(ENOPROTOOPT) );
     }
 #endif
 
 #ifdef EPROTONOSUPPORT
     if (sym == @symbol(EPROTONOSUPPORT)) {
-	RETURN ( __mkSmallInteger(EPROTONOSUPPORT) );
+        RETURN ( __mkSmallInteger(EPROTONOSUPPORT) );
     }
 #endif
 
 #ifdef ESOCKTNOSUPPORT
     if (sym == @symbol(ESOCKTNOSUPPORT)) {
-	RETURN ( __mkSmallInteger(ESOCKTNOSUPPORT) );
+        RETURN ( __mkSmallInteger(ESOCKTNOSUPPORT) );
     }
 #endif
 
 #ifdef EOPNOTSUPP
     if (sym == @symbol(EOPNOTSUPP)) {
-	RETURN ( __mkSmallInteger(EOPNOTSUPP) );
+        RETURN ( __mkSmallInteger(EOPNOTSUPP) );
     }
 #endif
 
 #ifdef EPFNOSUPPORT
     if (sym == @symbol(EPFNOSUPPORT)) {
-	RETURN ( __mkSmallInteger(EPFNOSUPPORT) );
+        RETURN ( __mkSmallInteger(EPFNOSUPPORT) );
     }
 #endif
 
 #ifdef EAFNOSUPPORT
     if (sym == @symbol(EAFNOSUPPORT)) {
-	RETURN ( __mkSmallInteger(EAFNOSUPPORT) );
+        RETURN ( __mkSmallInteger(EAFNOSUPPORT) );
     }
 #endif
 
 #ifdef EADDRINUSE
     if (sym == @symbol(EADDRINUSE)) {
-	RETURN ( __mkSmallInteger(EADDRINUSE) );
+        RETURN ( __mkSmallInteger(EADDRINUSE) );
     }
 #endif
 
 #ifdef EADDRNOTAVAIL
     if (sym == @symbol(EADDRNOTAVAIL)) {
-	RETURN ( __mkSmallInteger(EADDRNOTAVAIL) );
+        RETURN ( __mkSmallInteger(EADDRNOTAVAIL) );
     }
 #endif
 
 #ifdef ETIMEDOUT
     if (sym == @symbol(ETIMEDOUT)) {
-	RETURN ( __mkSmallInteger(ETIMEDOUT) );
+        RETURN ( __mkSmallInteger(ETIMEDOUT) );
     }
 #endif
 
 #ifdef ECONNREFUSED
     if (sym == @symbol(ECONNREFUSED)) {
-	RETURN ( __mkSmallInteger(ECONNREFUSED) );
+        RETURN ( __mkSmallInteger(ECONNREFUSED) );
     }
 #endif
 
 #ifdef ENETDOWN
     if (sym == @symbol(ENETDOWN)) {
-	RETURN ( __mkSmallInteger(ENETDOWN) );
+        RETURN ( __mkSmallInteger(ENETDOWN) );
     }
 #endif
 
 #ifdef ENETUNREACH
     if (sym == @symbol(ENETUNREACH)) {
-	RETURN ( __mkSmallInteger(ENETUNREACH) );
+        RETURN ( __mkSmallInteger(ENETUNREACH) );
     }
 #endif
 
 #ifdef ENETRESET
     if (sym == @symbol(ENETRESET)) {
-	RETURN ( __mkSmallInteger(ENETRESET) );
+        RETURN ( __mkSmallInteger(ENETRESET) );
     }
 #endif
 
 #ifdef ECONNABORTED
     if (sym == @symbol(ECONNABORTED)) {
-	RETURN ( __mkSmallInteger(ECONNABORTED) );
+        RETURN ( __mkSmallInteger(ECONNABORTED) );
     }
 #endif
 
 #ifdef ECONNRESET
     if (sym == @symbol(ECONNRESET)) {
-	RETURN ( __mkSmallInteger(ECONNRESET) );
+        RETURN ( __mkSmallInteger(ECONNRESET) );
     }
 #endif
 
 #ifdef EISCONN
     if (sym == @symbol(EISCONN)) {
-	RETURN ( __mkSmallInteger(EISCONN) );
+        RETURN ( __mkSmallInteger(EISCONN) );
     }
 #endif
 
 #ifdef ENOTCONN
     if (sym == @symbol(ENOTCONN)) {
-	RETURN ( __mkSmallInteger(ENOTCONN) );
+        RETURN ( __mkSmallInteger(ENOTCONN) );
     }
 #endif
 
 #ifdef ESHUTDOWN
     if (sym == @symbol(ESHUTDOWN)) {
-	RETURN ( __mkSmallInteger(ESHUTDOWN) );
+        RETURN ( __mkSmallInteger(ESHUTDOWN) );
     }
 #endif
 
 #ifdef EHOSTDOWN
     if (sym == @symbol(EHOSTDOWN)) {
-	RETURN ( __mkSmallInteger(EHOSTDOWN) );
+        RETURN ( __mkSmallInteger(EHOSTDOWN) );
     }
 #endif
 
 #ifdef EHOSTUNREACH
     if (sym == @symbol(EHOSTUNREACH)) {
-	RETURN ( __mkSmallInteger(EHOSTUNREACH) );
+        RETURN ( __mkSmallInteger(EHOSTUNREACH) );
     }
 #endif
 
 #ifdef EREMOTEIO
     if (sym == @symbol(EREMOTEIO)) {
-	RETURN ( __mkSmallInteger(EREMOTEIO) );
+        RETURN ( __mkSmallInteger(EREMOTEIO) );
     }
 #endif
 #ifdef EDQUOT
     if (sym == @symbol(EDQUOT)) {
-	RETURN ( __mkSmallInteger(EDQUOT) );
+        RETURN ( __mkSmallInteger(EDQUOT) );
     }
 #endif
 #ifdef ENOMEDIUM
     if (sym == @symbol(ENOMEDIUM)) {
-	RETURN ( __mkSmallInteger(ENOMEDIUM) );
+        RETURN ( __mkSmallInteger(ENOMEDIUM) );
     }
 #endif
 #ifdef EMEDIUMTYPE
     if (sym == @symbol(EMEDIUMTYPE)) {
-	RETURN ( __mkSmallInteger(EMEDIUMTYPE) );
+        RETURN ( __mkSmallInteger(EMEDIUMTYPE) );
     }
 #endif
 
@@ -3194,29 +3194,29 @@
     "Internal lowLevel entry for combined fork & exec;
 
      If fork is false (chain a command):
-	 execute the OS command specified by the argument, aCommandPath, with
-	 arguments in argArray (no arguments, if nil).
-	 If successful, this method does not return and smalltalk is gone.
-	 If not successful, it does return.
-	 Normal use is with forkForCommand.
+         execute the OS command specified by the argument, aCommandPath, with
+         arguments in argArray (no arguments, if nil).
+         If successful, this method does not return and smalltalk is gone.
+         If not successful, it does return.
+         Normal use is with forkForCommand.
 
      If fork is true (subprocess command execution):
-	fork a child to do the above.
-	The process id of the child process is returned; nil if the fork failed.
+        fork a child to do the above.
+        The process id of the child process is returned; nil if the fork failed.
 
      fdColl contains the filedescriptors, to be used for the child (if fork is true).
-	fdArray[1] = 15 -> use fd 15 as stdin.
-	If an element of the array is set to nil, the corresponding filedescriptor
-	will be closed for the child.
-	fdArray[1] == StdIn for child
-	fdArray[2] == StdOut for child
-	fdArray[3] == StdErr for child
-	on VMS, these must be channels as returned by createMailBox.
-	All filedescriptors not present in fdColl will be closed for the child.
+        fdArray[1] = 15 -> use fd 15 as stdin.
+        If an element of the array is set to nil, the corresponding filedescriptor
+        will be closed for the child.
+        fdArray[1] == StdIn for child
+        fdArray[2] == StdOut for child
+        fdArray[3] == StdErr for child
+        on VMS, these must be channels as returned by createMailBox.
+        All filedescriptors not present in fdColl will be closed for the child.
 
      If newPgrp is true, the subprocess will be established in a new process group.
-	The processgroup will be equal to id.
-	newPgrp is not used on WIN32 and VMS systems.
+        The processgroup will be equal to id.
+        newPgrp is not used on WIN32 and VMS systems.
 
      environmentDictionary specifies environment variables which are passed differently from
      the current environment. If non-nil, it must be a dictionary providing
@@ -3224,33 +3224,33 @@
      To pass a variable as empty (i.e. unset), pass a nil value.
 
      Notice: this used to be two separate ST-methods; however, in order to use
-	    vfork on some machines, it had to be merged into one, to avoid write
-	    accesses to ST/X memory from the vforked-child.
-	    The code below only does read accesses."
+            vfork on some machines, it had to be merged into one, to avoid write
+            accesses to ST/X memory from the vforked-child.
+            The code below only does read accesses."
 
     |envArray argArray fdArray dirName cnt aCommandPath|
 
     environmentDictionary notEmptyOrNil ifTrue:[
-	envArray := Array new:environmentDictionary size.
-	cnt := 1.
-	environmentDictionary keysAndValuesDo:[:key :val |
-	    val isNil ifTrue:[
-		envArray at:cnt put:((self encodePath:key), '=')
-	    ] ifFalse:[
-		envArray at:cnt put:((self encodePath:key), '=', (self encodePath:val))
-	    ].
-	    cnt := cnt + 1.
-	].
+        envArray := Array new:environmentDictionary size.
+        cnt := 1.
+        environmentDictionary keysAndValuesDo:[:key :val |
+            val isNil ifTrue:[
+                envArray at:cnt put:((self encodePath:key), '=')
+            ] ifFalse:[
+                envArray at:cnt put:((self encodePath:key), '=', (self encodePath:val))
+            ].
+            cnt := cnt + 1.
+        ].
     ].
     argColl notNil ifTrue:[
-	argArray := argColl asArray collect:[:eachArg| self encodePath:eachArg].
+        argArray := argColl asArray collect:[:eachArg| self encodePath:eachArg].
     ].
     fdColl notNil ifTrue:[
-	fdArray := fdColl asArray
+        fdArray := fdColl asArray
     ].
     aDirectory notNil ifTrue:[
-	dirName := aDirectory asFilename osNameForFile.
-	dirName := self encodePath:dirName.
+        dirName := aDirectory asFilename osNameForFile.
+        dirName := self encodePath:dirName.
     ].
     aCommandPath := self encodePath:aCommandPathArg.
 
@@ -3266,210 +3266,210 @@
     char **_env, **_nEnv;
 
     if (__isStringLike(aCommandPath) &&
-	((argArray == nil) || __isArrayLike(argArray)) &&
-	((fdArray == nil) || __isArrayLike(fdArray))
+        ((argArray == nil) || __isArrayLike(argArray)) &&
+        ((fdArray == nil) || __isArrayLike(fdArray))
     ) {
-	nargs = argArray == nil ? 0 : __arraySize(argArray);
-	argv = (char **) malloc(sizeof(char *) * (nargs + 1));
-	if (argv) {
-	    int nOldEnv, nNewEnv;
-
-	    for (i=0; i < nargs; i++) {
-		arg = __ArrayInstPtr(argArray)->a_element[i];
-		if (__isStringLike(arg)) {
-		    argv[i] = (char *) __stringVal(arg);
-		} else {
-		    argv[i] = "";
-		}
-	    }
-	    argv[i] = NULL;
-
-	    /*
-	     * number of new items in environment ..
-	     */
-	    nNewEnv = 0;
-	    if ((envArray != nil) && __isArrayLike(envArray)) {
-		nNewEnv = __arraySize(envArray);
-	    }
-
-	    if (nNewEnv == 0) {
-		_nEnv = environ;
-	    } else {
-		_env = environ;
-		/*
-		 * get size of environment
-		 */
-		nOldEnv = 0;
-		if (_env) {
-		    while (*_env) {
-			nOldEnv++;
-			_env++;
-		    }
-		}
-
-		/*
-		 * generate a new environment
-		 * I have not found a spec which defines if
-		 * items at the end overwrite previous definitions,
-		 * or if the first encountered definition is valid.
-		 * To be prepared for any case, simply add the new definitions
-		 * at both ends - that should do it in any case.
-		 * Someone with more know-how may want to fix this.
-		 * getenv() searches for the first entry.
-		 * But maybe someone creates a Dictionary from the environment.
-		 * In this case the last entry would overwrite previous entries.
-		 */
-		_nEnv = (char **)malloc(sizeof(char *) * (nNewEnv + nOldEnv + nNewEnv + 1));
-		if (_nEnv) {
-		    char **eO, **eN;
-
-		    eN = _nEnv;
-		    if (nNewEnv) {
-			/*
-			 * add new items at the front ...
-			 */
-			int i;
-			OBJ *t;
-
-			for (i=0, t = __arrayVal(envArray);
-			     i < __arraySize(envArray);
-			     i++, t++) {
-
-			    if (__isStringLike(*t)) {
-				*eN++ = (char *)__stringVal(*t);
-			    }
-			}
-		    }
-
-		    if (nOldEnv) {
-			/*
-			 * append old environment
-			 */
-			for (eO = environ; *eO; *eN++ = *eO++)
-			    continue;
-		    }
-
-		    if (nNewEnv) {
-			/*
-			 * append new items again at the end
-			 */
-			for (eO = _nEnv, i=0; i<nNewEnv; i++) {
-			    *eN++ = *eO++;
-			}
-		    }
-		    *eN = NULL;
-		}
-	    }
-
-	    if (doFork == true) {
-		/*
-		 * fork a subprocess.
-		 */
-		int nfd;
-
-		nfd = fdArray == nil ? 0 : __arraySize(fdArray);
-		id = FORK ();
-		if (id == 0) {
-		    /*
-		    ** In child.
-		    ** first: dup filedescriptors.
-		    */
-		    for (i = 0; i < nfd; i++) {
-			OBJ fd;
-			int rslt;
-
-			fd = __arrayVal(fdArray)[i];
-			if (__isSmallInteger(fd) && (__intVal(fd) != i)) {
-			    do {
-				rslt = dup2(__intVal(fd), i);
-			    } while ((rslt < 0) && (errno == EINTR));
-			}
-		    }
-		    /*
-		    ** Second: close descriptors
-		    **         marked as unwanted
-		    ** (extra loop to allow duping of low filedescriptor numbers to
-		    **  higher fd numbers)
-		    */
-		    for (i = 0; i < nfd; i++) {
-			if (__arrayVal(fdArray)[i] == nil) {
-			    close(i);
-			}
-		    }
-
-		    /*
-		    ** third: close all filedescriptors larger
-		    ** then the explicitely closed or duped
-		    ** filedescriptors
-		    */
+        nargs = argArray == nil ? 0 : __arraySize(argArray);
+        argv = (char **) malloc(sizeof(char *) * (nargs + 1));
+        if (argv) {
+            int nOldEnv, nNewEnv;
+
+            for (i=0; i < nargs; i++) {
+                arg = __ArrayInstPtr(argArray)->a_element[i];
+                if (__isStringLike(arg)) {
+                    argv[i] = (char *) __stringVal(arg);
+                } else {
+                    argv[i] = "";
+                }
+            }
+            argv[i] = NULL;
+
+            /*
+             * number of new items in environment ..
+             */
+            nNewEnv = 0;
+            if ((envArray != nil) && __isArrayLike(envArray)) {
+                nNewEnv = __arraySize(envArray);
+            }
+
+            if (nNewEnv == 0) {
+                _nEnv = environ;
+            } else {
+                _env = environ;
+                /*
+                 * get size of environment
+                 */
+                nOldEnv = 0;
+                if (_env) {
+                    while (*_env) {
+                        nOldEnv++;
+                        _env++;
+                    }
+                }
+
+                /*
+                 * generate a new environment
+                 * I have not found a spec which defines if
+                 * items at the end overwrite previous definitions,
+                 * or if the first encountered definition is valid.
+                 * To be prepared for any case, simply add the new definitions
+                 * at both ends - that should do it in any case.
+                 * Someone with more know-how may want to fix this.
+                 * getenv() searches for the first entry.
+                 * But maybe someone creates a Dictionary from the environment.
+                 * In this case the last entry would overwrite previous entries.
+                 */
+                _nEnv = (char **)malloc(sizeof(char *) * (nNewEnv + nOldEnv + nNewEnv + 1));
+                if (_nEnv) {
+                    char **eO, **eN;
+
+                    eN = _nEnv;
+                    if (nNewEnv) {
+                        /*
+                         * add new items at the front ...
+                         */
+                        int i;
+                        OBJ *t;
+
+                        for (i=0, t = __arrayVal(envArray);
+                             i < __arraySize(envArray);
+                             i++, t++) {
+
+                            if (__isStringLike(*t)) {
+                                *eN++ = (char *)__stringVal(*t);
+                            }
+                        }
+                    }
+
+                    if (nOldEnv) {
+                        /*
+                         * append old environment
+                         */
+                        for (eO = environ; *eO; *eN++ = *eO++)
+                            continue;
+                    }
+
+                    if (nNewEnv) {
+                        /*
+                         * append new items again at the end
+                         */
+                        for (eO = _nEnv, i=0; i<nNewEnv; i++) {
+                            *eN++ = *eO++;
+                        }
+                    }
+                    *eN = NULL;
+                }
+            }
+
+            if (doFork == true) {
+                /*
+                 * fork a subprocess.
+                 */
+                int nfd;
+
+                nfd = fdArray == nil ? 0 : __arraySize(fdArray);
+                id = FORK ();
+                if (id == 0) {
+                    /*
+                    ** In child.
+                    ** first: dup filedescriptors.
+                    */
+                    for (i = 0; i < nfd; i++) {
+                        OBJ fd;
+                        int rslt;
+
+                        fd = __arrayVal(fdArray)[i];
+                        if (__isSmallInteger(fd) && (__intVal(fd) != i)) {
+                            do {
+                                rslt = dup2(__intVal(fd), i);
+                            } while ((rslt < 0) && (errno == EINTR));
+                        }
+                    }
+                    /*
+                    ** Second: close descriptors
+                    **         marked as unwanted
+                    ** (extra loop to allow duping of low filedescriptor numbers to
+                    **  higher fd numbers)
+                    */
+                    for (i = 0; i < nfd; i++) {
+                        if (__arrayVal(fdArray)[i] == nil) {
+                            close(i);
+                        }
+                    }
+
+                    /*
+                    ** third: close all filedescriptors larger
+                    ** then the explicitely closed or duped
+                    ** filedescriptors
+                    */
 #ifndef OPEN_MAX
 # define OPEN_MAX       256
 #endif
-		    for ( ;i < OPEN_MAX; i++) {
-			close(i);
-		    }
-
-		    if (newPgrp == true) {
+                    for ( ;i < OPEN_MAX; i++) {
+                        close(i);
+                    }
+
+                    if (newPgrp == true) {
 #ifndef NEXT
-			setsid();
+                        setsid();
 #endif
 #if defined(TIOCSCTTY)
-			ioctl(0, TIOCSCTTY, 0) ;
+                        ioctl(0, TIOCSCTTY, 0) ;
 #endif
 
 #if defined(TIOCSPGRP)
-			{
-			    int pgrp = getpid();
-
-			    ioctl(0, TIOCSPGRP, (char *)&pgrp);
-			}
+                        {
+                            int pgrp = getpid();
+
+                            ioctl(0, TIOCSPGRP, (char *)&pgrp);
+                        }
 #endif
 #if defined(_POSIX_JOB_CONTROL) || defined(__osx__)
-			(void) setpgid(0, 0);
+                        (void) setpgid(0, 0);
 #else
 # if defined(BSD) || defined(LINUX) || defined(__osx__)
-			(void) setpgrp(0);
-# endif
-#endif
-		    }
-
-		    if (dirName == nil || chdir((char *)__stringVal(dirName)) == 0) {
-			execve((char *)__stringVal(aCommandPath), argv, _nEnv);
-		    }
-		    /* reached if chdir failed or aCommandPathh cannot be executed */
-		    _exit(127);                 /* POSIX 2 compatible exit value */
-		}
-	    } else {
-		/*
-		 * no subprocess (i.e. transfer to another program)
-		 */
-		if (dirName == nil || chdir((char *)__stringVal(dirName)) == 0) {
-		    execve((char *)__stringVal(aCommandPath), argv, _nEnv);
-		}
-		/*
-		 * reached if chdir failed or command-path cannot be executed
-		 */
-		id = -1;
-	    }
-
-	    if (nNewEnv && (_nEnv != NULL)) {
-		/*
-		 * free new environment stuff
-		 */
-		free(_nEnv);
-	    }
-
-	    free(argv);
-
-	    /*
-	     * In parent: succes or failure
-	     */
-	    if (id == -1) {
-		RETURN (nil);
-	    } else {
-		RETURN (__mkSmallInteger(id));
-	    }
-	}
+                        (void) setpgrp(0);
+# endif
+#endif
+                    }
+
+                    if (dirName == nil || chdir((char *)__stringVal(dirName)) == 0) {
+                        execve((char *)__stringVal(aCommandPath), argv, _nEnv);
+                    }
+                    /* reached if chdir failed or aCommandPathh cannot be executed */
+                    _exit(127);                 /* POSIX 2 compatible exit value */
+                }
+            } else {
+                /*
+                 * no subprocess (i.e. transfer to another program)
+                 */
+                if (dirName == nil || chdir((char *)__stringVal(dirName)) == 0) {
+                    execve((char *)__stringVal(aCommandPath), argv, _nEnv);
+                }
+                /*
+                 * reached if chdir failed or command-path cannot be executed
+                 */
+                id = -1;
+            }
+
+            if (nNewEnv && (_nEnv != NULL)) {
+                /*
+                 * free new environment stuff
+                 */
+                free(_nEnv);
+            }
+
+            free(argv);
+
+            /*
+             * In parent: succes or failure
+             */
+            if (id == -1) {
+                RETURN (nil);
+            } else {
+                RETURN (__mkSmallInteger(id));
+            }
+        }
     }
 %}.
     "
@@ -3485,9 +3485,9 @@
 
      id := OperatingSystem fork.
      id == 0 ifTrue:[
-	'I am the child'.
-	OperatingSystem exec:'/bin/ls' withArguments:#('ls' '/tmp').
-	'not reached'.
+        'I am the child'.
+        OperatingSystem exec:'/bin/ls' withArguments:#('ls' '/tmp').
+        'not reached'.
      ]
     "
     "
@@ -3495,11 +3495,11 @@
 
      id := OperatingSystem fork.
      id == 0 ifTrue:[
-	'I am the child'.
-	OperatingSystem
-	   exec:'/bin/sh'
-	   withArguments:#('sh' '-c' 'sleep 2;echo 1;sleep 2;echo 2').
-	'not reached'.
+        'I am the child'.
+        OperatingSystem
+           exec:'/bin/sh'
+           withArguments:#('sh' '-c' 'sleep 2;echo 1;sleep 2;echo 2').
+        'not reached'.
      ].
      id printNL.
      (Delay forSeconds:3.5) wait.
@@ -3538,9 +3538,9 @@
      t1 := Timestamp now.
      id := OperatingSystem fork.
      id == 0 ifTrue:[
-	 'Child t=' print. (Timestamp now - t1) printCR.
-	 'I am the child process' printCR.
-	 OperatingSystem exit
+         'Child t=' print. (Timestamp now - t1) printCR.
+         'I am the child process' printCR.
+         OperatingSystem exit
      ].
      'Parent t=' print. (Timestamp now - t1) printCR.
     "
@@ -3589,10 +3589,10 @@
      Notice: we cannot depend on /proc to be present (actually only is on linux)"
     info := '/proc/self/exe' asFilename linkInfo.
     info notNil ifTrue:[
-	path := info path.
-	path notEmptyOrNil ifTrue:[
-	    ^ path
-	].
+        path := info path.
+        path notEmptyOrNil ifTrue:[
+            ^ path
+        ].
      ].
 
     "Fall back - do it the hard way"
@@ -3613,44 +3613,44 @@
 
     commandFilename := aCommand asFilename.
     commandFilename isAbsolute ifTrue:[
-	"/ something like "/foo/...", tried path is it
-	commandFilename isExecutable ifFalse:[^ nil].
-	^ commandFilename pathName
+        "/ something like "/foo/...", tried path is it
+        commandFilename isExecutable ifFalse:[^ nil].
+        ^ commandFilename pathName
     ].
     commandFilename isExplicitRelative ifTrue:[
-	"/ something like "../foo/...", tried path resolved relative to the current directory
-	commandFilename isExecutable ifFalse:[^ nil].
-	 ^ commandFilename pathName
+        "/ something like "../foo/...", tried path resolved relative to the current directory
+        commandFilename isExecutable ifFalse:[^ nil].
+         ^ commandFilename pathName
     ].
     (aCommand includes:$/) ifTrue:[
-	"/ something like "smalltalk/stx", tried path is relative to the current directory
-	(f := ('./',aCommand) asFilename) isExecutable ifTrue:[
-	    ^ f pathName
-	].
-	^ nil
+        "/ something like "smalltalk/stx", tried path is relative to the current directory
+        (f := ('./',aCommand) asFilename) isExecutable ifTrue:[
+            ^ f pathName
+        ].
+        ^ nil
     ].
 
     "/ command is a single word, not relative and not absolute.
     "/ search along PATH environment variable to see what a shell would do.
     path := self getEnvironment:'PATH'.
     path notEmptyOrNil ifTrue:[
-	(path asCollectionOfSubstringsSeparatedBy:self pathSeparator) do:[:eachPathComponent |
-	    eachPathComponent isEmpty ifTrue:[
-		f := commandFilename
-	    ] ifFalse:[
-		f := eachPathComponent asFilename construct:aCommand.
-	    ].
-	    self executableFileExtensions do:[:eachExtension |
-		eachExtension notEmpty ifTrue:[
-		    fExt := f addSuffix:eachExtension.
-		] ifFalse:[
-		    fExt := f.
-		].
-		fExt isExecutable ifTrue:[
-		    ^ fExt pathName
-		].
-	    ].
-	].
+        (path asCollectionOfSubstringsSeparatedBy:self pathSeparator) do:[:eachPathComponent |
+            eachPathComponent isEmpty ifTrue:[
+                f := commandFilename
+            ] ifFalse:[
+                f := eachPathComponent asFilename construct:aCommand.
+            ].
+            self executableFileExtensions do:[:eachExtension |
+                eachExtension notEmpty ifTrue:[
+                    fExt := f addSuffix:eachExtension.
+                ] ifFalse:[
+                    fExt := f.
+                ].
+                fExt isExecutable ifTrue:[
+                    ^ fExt pathName
+                ].
+            ].
+        ].
     ].
     ^ nil
 
@@ -3677,11 +3677,11 @@
 
 %{
      if (__isSmallInteger(anInteger)) {
-	if (@global(ExternalStream:FileOpenTrace) == true) {
-	    fprintf(stderr, "close [UnixOp] fd=%d\n", (int)__intVal(anInteger));
-	}
-	close(__intVal(anInteger));
-	RETURN(self);
+        if (@global(ExternalStream:FileOpenTrace) == true) {
+            fprintf(stderr, "close [UnixOp] fd=%d\n", (int)__intVal(anInteger));
+        }
+        close(__intVal(anInteger));
+        RETURN(self);
      }
 %}.
      ^ self primitiveFailed.
@@ -3702,14 +3702,14 @@
       && __isSmallInteger(outFd)
       && __isSmallInteger(startIdx)
       && __isSmallInteger(count)) {
-	off_t startOffset = __intVal(startIdx);
-	ssize_t nWritten;
-
-	nWritten = sendfile(__intVal(outFd), __intVal(inFd), &startOffset, __intVal(count));
-	if (nWritten < 0) {
-	    @global(LastErrorNumber) = __mkSmallInteger(errno);
-	}
-	RETURN (__mkSmallInteger(nWritten));
+        off_t startOffset = __intVal(startIdx);
+        ssize_t nWritten;
+
+        nWritten = sendfile(__intVal(outFd), __intVal(inFd), &startOffset, __intVal(count));
+        if (nWritten < 0) {
+            @global(LastErrorNumber) = __mkSmallInteger(errno);
+        }
+        RETURN (__mkSmallInteger(nWritten));
      }
 #endif
 %}.
@@ -3744,10 +3744,10 @@
 
 %{
     if (__isStringLike(encodedPathName) && __isSmallInteger(umask)) {
-	if (mkdir(__stringVal(encodedPathName), __smallIntegerVal(umask)) >= 0) {
-	    RETURN(nil);
-	}
-	error = __mkSmallInteger(errno);
+        if (mkdir(__stringVal(encodedPathName), __smallIntegerVal(umask)) >= 0) {
+            RETURN(nil);
+        }
+        error = __mkSmallInteger(errno);
     }
 %}.
     "/ could not create - if it already existed this is ok
@@ -3755,8 +3755,8 @@
     (self isDirectory:aPathName) ifTrue:[^ nil].
 
     error notNil ifTrue:[
-	LastErrorNumber := error.
-	^ self errorHolderForNumber:error.
+        LastErrorNumber := error.
+        ^ self errorHolderForNumber:error.
     ].
 
     ^ self primitiveFailed
@@ -3797,21 +3797,21 @@
     int ret;
 
     if (__isStringLike(encodedOldPathName) && __isStringLike(encodedNewPathName)) {
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = link((char *) __stringVal(encodedOldPathName), (char *) __stringVal(encodedNewPathName));
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
-	if (ret >= 0) {
-	    RETURN (nil);
-	}
-	error = __mkSmallInteger(errno);
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = link((char *) __stringVal(encodedOldPathName), (char *) __stringVal(encodedNewPathName));
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
+        if (ret >= 0) {
+            RETURN (nil);
+        }
+        error = __mkSmallInteger(errno);
     }
 %}.
 
     error notNil ifTrue:[
-	LastErrorNumber := error.
-	^ self errorHolderForNumber:error.
+        LastErrorNumber := error.
+        ^ self errorHolderForNumber:error.
     ].
 
     "/
@@ -3838,29 +3838,29 @@
     int ret;
 
     if (__isStringLike(encodedOldPathName) && __isStringLike(encodedNewPathName)) {
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = symlink((char *) __stringVal(encodedOldPathName), (char *) __stringVal(encodedNewPathName));
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
-	if (ret >= 0) {
-	    RETURN (nil);
-	}
-	error = __mkSmallInteger(errno);
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = symlink((char *) __stringVal(encodedOldPathName), (char *) __stringVal(encodedNewPathName));
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
+        if (ret >= 0) {
+            RETURN (nil);
+        }
+        error = __mkSmallInteger(errno);
     }
 #endif
 %}.
 
     error notNil ifTrue:[
-	LastErrorNumber := error.
-	^ self errorHolderForNumber:error.
+        LastErrorNumber := error.
+        ^ self errorHolderForNumber:error.
     ].
 
     (encodedOldPathName isString not or:[encodedNewPathName isString not]) ifTrue:[
-	"/
-	"/ bad argument(s) given
-	"/
-	^ self primitiveFailed
+        "/
+        "/ bad argument(s) given
+        "/
+        ^ self primitiveFailed
     ].
 
     "/
@@ -3878,13 +3878,13 @@
     "open a file, return an os specific fileHandle.
      openmode is a symbol defining the way to open
      valid modes are:
-	#O_RDONLY
-	#O_RDWR
-	#O_WRONLY
-	#O_CREAT
-	#O_APPEND
-	#O_SYNC
-	#O_LARGEFILE
+        #O_RDONLY
+        #O_RDWR
+        #O_WRONLY
+        #O_CREAT
+        #O_APPEND
+        #O_SYNC
+        #O_LARGEFILE
 
      This is a private entry, but maybe useful to open/create a file in a special mode,
      which is proprietrary to the operatingSystem."
@@ -3901,55 +3901,55 @@
     int n;
 
     if (!__isStringLike(encodedPathName)) {
-	error = @symbol(badArgument1);
-	goto err;
+        error = @symbol(badArgument1);
+        goto err;
     }
     if (!__isArrayLike(attributes)) {
-	error = @symbol(badArgument2);
-	goto err;
+        error = @symbol(badArgument2);
+        goto err;
     }
     if (modeInteger == nil) {
-	mode = 0644;
+        mode = 0644;
     } else if (__isSmallInteger(modeInteger)) {
-	mode = __intVal(modeInteger);
+        mode = __intVal(modeInteger);
     } else {
-	error = @symbol(badArgument3);
-	goto err;
+        error = @symbol(badArgument3);
+        goto err;
     }
 
     nAttributes = __arraySize(attributes);
     for (n = 0, ap = __arrayVal(attributes); n < nAttributes; n++) {
-	OBJ attribute = ap[n];
-
-	if (attribute == @symbol(O_RDONLY)) {
-	    openFlags |= O_RDONLY;
-	} else if (attribute == @symbol(O_RDWR)) {
-	    openFlags |= O_RDWR;
-	} else if (attribute == @symbol(O_WRONLY)) {
-	    openFlags |= O_WRONLY;
-	} else if (attribute == @symbol(O_CREAT)) {
-	    openFlags |= O_CREAT;
-	} else if (attribute == @symbol(O_APPEND)) {
-	    openFlags |= O_APPEND;
-	} else if (attribute == @symbol(O_EXCL)) {
-	    openFlags |= O_EXCL;
-	} else if (attribute == @symbol(O_TRUNC)) {
-	    openFlags |= O_TRUNC;
-	} else if (attribute == @symbol(O_LARGEFILE)) {
+        OBJ attribute = ap[n];
+
+        if (attribute == @symbol(O_RDONLY)) {
+            openFlags |= O_RDONLY;
+        } else if (attribute == @symbol(O_RDWR)) {
+            openFlags |= O_RDWR;
+        } else if (attribute == @symbol(O_WRONLY)) {
+            openFlags |= O_WRONLY;
+        } else if (attribute == @symbol(O_CREAT)) {
+            openFlags |= O_CREAT;
+        } else if (attribute == @symbol(O_APPEND)) {
+            openFlags |= O_APPEND;
+        } else if (attribute == @symbol(O_EXCL)) {
+            openFlags |= O_EXCL;
+        } else if (attribute == @symbol(O_TRUNC)) {
+            openFlags |= O_TRUNC;
+        } else if (attribute == @symbol(O_LARGEFILE)) {
 #ifdef O_LARGEFILE
-	    openFlags |= O_LARGEFILE;
+            openFlags |= O_LARGEFILE;
 #else
-	    error = @symbol(badArgument2);
-	    goto err;
-#endif
-	} else if (attribute == @symbol(O_SYNC)) {
+            error = @symbol(badArgument2);
+            goto err;
+#endif
+        } else if (attribute == @symbol(O_SYNC)) {
 #ifdef O_SYNC
-	    openFlags |= O_SYNC;
+            openFlags |= O_SYNC;
 #else
-	    error = @symbol(badArgument2);
-	    goto err;
-#endif
-	}
+            error = @symbol(badArgument2);
+            goto err;
+#endif
+        }
     }
 
 #if defined(O_NONBLOCK)
@@ -3961,29 +3961,29 @@
 again:
     fd = open((char *) __stringVal(encodedPathName), openFlags, mode);
     if (fd < 0) {
-	if (errno == EINTR) {
-	    __HANDLE_INTERRUPTS__;
-	    goto again;
-	} else {
-	    error = __mkSmallInteger(errno);
-	    goto err;
-	}
+        if (errno == EINTR) {
+            __HANDLE_INTERRUPTS__;
+            goto again;
+        } else {
+            error = __mkSmallInteger(errno);
+            goto err;
+        }
     }
     fileDescriptor = __mkSmallInteger(fd);
 err:;
 %}.
     ^ fileDescriptor notNil ifTrue:[
-	FileDescriptorHandle for:fileDescriptor.
+        FileDescriptorHandle for:fileDescriptor.
     ] ifFalse:[
-	(self errorHolderForNumber:error) reportError
-    ].
-
-    "
-	self open:'/etc/hosts' attributes:#(O_RDONLY) mode:nil
-	self open:'/tmp/xxzz' attributes:#(O_RDWR O_CREAT) mode:8r611
-	self open:'/etc/passwd' attributes:#(O_RDWR) mode:nil
-	self open:'/no one knows this file' attributes:#(O_RDONLY) mode:nil
-	self open:'foo/bar/baz' attributes:#(O_RDWR O_CREAT) mode:nil
+        (self errorHolderForNumber:error) reportError
+    ].
+
+    "
+        self open:'/etc/hosts' attributes:#(O_RDONLY) mode:nil
+        self open:'/tmp/xxzz' attributes:#(O_RDWR O_CREAT) mode:8r611
+        self open:'/etc/passwd' attributes:#(O_RDWR) mode:nil
+        self open:'/no one knows this file' attributes:#(O_RDONLY) mode:nil
+        self open:'foo/bar/baz' attributes:#(O_RDWR O_CREAT) mode:nil
     "
 !
 
@@ -4023,8 +4023,8 @@
     ^ self executeCommand:(Array with:'/bin/cp' with:'-af' with:sourcePathName with:destination)
 
     "
-	self recursiveCopyDirectory:'packages' to:'foo'.
-	self recursiveRemoveDirectory:'foo'.
+        self recursiveCopyDirectory:'packages' to:'foo'.
+        self recursiveRemoveDirectory:'foo'.
     "
 
     "Modified: / 5.6.1998 / 18:33:57 / cg"
@@ -4057,22 +4057,22 @@
     int ret;
 
     if (__isStringLike(encodedPathName)) {
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = rmdir((char *) __stringVal(encodedPathName));
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
-
-	if (ret >= 0) {
-	    RETURN (nil);
-	}
-	error = __mkSmallInteger(errno);
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = rmdir((char *) __stringVal(encodedPathName));
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
+
+        if (ret >= 0) {
+            RETURN (nil);
+        }
+        error = __mkSmallInteger(errno);
     }
 %}.
 
     error notNil ifTrue:[
-	LastErrorNumber := error.
-	^ self errorHolderForNumber:error.
+        LastErrorNumber := error.
+        ^ self errorHolderForNumber:error.
     ].
 
     "/
@@ -4097,22 +4097,22 @@
     int ret;
 
     if (__isStringLike(encodedPathName)) {
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = unlink((char *) __stringVal(encodedPathName));
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
-
-	if (ret >= 0) {
-	    RETURN (nil);
-	}
-	error = __mkSmallInteger(errno);
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = unlink((char *) __stringVal(encodedPathName));
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
+
+        if (ret >= 0) {
+            RETURN (nil);
+        }
+        error = __mkSmallInteger(errno);
     }
 %}.
 
     error notNil ifTrue:[
-	LastErrorNumber := error.
-	^ self errorHolderForNumber:error.
+        LastErrorNumber := error.
+        ^ self errorHolderForNumber:error.
     ].
 
 
@@ -4136,32 +4136,32 @@
 
     if (__isStringLike(encodedOldPathName) && __isStringLike(encodedNewPathName)) {
 #if defined(HAS_RENAME)
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = rename((char *) __stringVal(encodedOldPathName), (char *) __stringVal(encodedNewPathName));
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = rename((char *) __stringVal(encodedOldPathName), (char *) __stringVal(encodedNewPathName));
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
 #else
-	ret = link((char *) __stringVal(encodedOldPathName), (char *) __stringVal(encodedNewPathName));
-	if (ret >= 0) {
-	    ret = unlink((char *) __stringVal(encodedOldPathName));
-	    if (ret < 0) {
-		eno = errno;
-		unlink((char *) __stringVal(encodedNewPathName));
-		errno = eno;
-	    }
-	}
-#endif
-	if (ret >= 0) {
-	    RETURN (nil);
-	}
-	error = __mkSmallInteger(errno);
+        ret = link((char *) __stringVal(encodedOldPathName), (char *) __stringVal(encodedNewPathName));
+        if (ret >= 0) {
+            ret = unlink((char *) __stringVal(encodedOldPathName));
+            if (ret < 0) {
+                eno = errno;
+                unlink((char *) __stringVal(encodedNewPathName));
+                errno = eno;
+            }
+        }
+#endif
+        if (ret >= 0) {
+            RETURN (nil);
+        }
+        error = __mkSmallInteger(errno);
     }
 %}.
 
     error notNil ifTrue:[
-	LastErrorNumber := error.
-	^ self errorHolderForNumber:error.
+        LastErrorNumber := error.
+        ^ self errorHolderForNumber:error.
     ].
 
     ^ self primitiveFailed
@@ -4192,9 +4192,9 @@
 # if defined(LINUX)
 #  if __GLIBC_PREREQ(2, 14)
     if (__isSmallInteger(handle)) {
-	if (syncfs(__intVal(handle)) == 0) {
-	    RETURN(self);
-	}
+        if (syncfs(__intVal(handle)) == 0) {
+            RETURN(self);
+        }
     }
 #  endif
 # endif
@@ -4225,69 +4225,69 @@
     off_t truncateSize;
 
     if (!__isStringLike(encodedPathName))
-	goto getOutOfHere;
+        goto getOutOfHere;
 
     if (__isSmallInteger(newSize)) {
-	truncateSize = __intVal(newSize);
-	if (truncateSize < 0) {
-	    goto getOutOfHere;
-	}
+        truncateSize = __intVal(newSize);
+        if (truncateSize < 0) {
+            goto getOutOfHere;
+        }
     } else {
-	truncateSize = __signedLongIntVal(newSize);
-	if (truncateSize < 0) {
-	    goto getOutOfHere;
-	}
-	if (truncateSize == 0) {
-	    if (sizeof(truncateSize) == 8) {
-		if (__signedLong64IntVal(newSize, &truncateSize) == 0 || truncateSize < 0) {
-		    goto getOutOfHere;
-		}
-	    } else {
-		goto getOutOfHere;
-	    }
-	}
+        truncateSize = __signedLongIntVal(newSize);
+        if (truncateSize < 0) {
+            goto getOutOfHere;
+        }
+        if (truncateSize == 0) {
+            if (sizeof(truncateSize) == 8) {
+                if (__signedLong64IntVal(newSize, &truncateSize) == 0 || truncateSize < 0) {
+                    goto getOutOfHere;
+                }
+            } else {
+                goto getOutOfHere;
+            }
+        }
     }
 
 #if defined(HAS_TRUNCATE)
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = truncate((char *) __stringVal(encodedPathName), truncateSize);
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = truncate((char *) __stringVal(encodedPathName), truncateSize);
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
 
 #elif defined(HAS_FTRUNCATE)
     {
-	int fd;
-
-	do {
-	    fd = ret = open((char *) __stringVal(encodedPathName), 2);
-	} while (fd < 0 && errno == EINTR);
-	if (fd >= 0) {
-	    ret = ftruncate(fd, truncateSize);
-	    close(fd);
-	}
+        int fd;
+
+        do {
+            fd = ret = open((char *) __stringVal(encodedPathName), 2);
+        } while (fd < 0 && errno == EINTR);
+        if (fd >= 0) {
+            ret = ftruncate(fd, truncateSize);
+            close(fd);
+        }
     }
 #endif /* HAS_FTRUNCATE */
-	if (ret >= 0) {
-	    RETURN (nil);
-	}
-	error = __mkSmallInteger(errno);
+        if (ret >= 0) {
+            RETURN (nil);
+        }
+        error = __mkSmallInteger(errno);
 
 getOutOfHere:;
 #else
-	error = __mkSmallInteger(ENOTSUP);
+        error = __mkSmallInteger(ENOTSUP);
 #endif
 %}.
 
     error notNil ifTrue:[
-	LastErrorNumber := error.
-	^ self errorHolderForNumber:error.
+        LastErrorNumber := error.
+        ^ self errorHolderForNumber:error.
     ].
 
     ^ self primitiveFailed
 
     "
-	self truncateFile:'foo' to:2222222
+        self truncateFile:'foo' to:2222222
     "
 ! !
 
@@ -4318,40 +4318,40 @@
 #   endif
 
     if (aSymbol == @symbol(readUser)) {
-	RETURN ( __mkSmallInteger(S_IRUSR) );
+        RETURN ( __mkSmallInteger(S_IRUSR) );
     }
     if (aSymbol == @symbol(writeUser)) {
-	RETURN ( __mkSmallInteger(S_IWUSR) );
+        RETURN ( __mkSmallInteger(S_IWUSR) );
     }
     if (aSymbol == @symbol(executeUser)) {
-	RETURN ( __mkSmallInteger(S_IXUSR) );
+        RETURN ( __mkSmallInteger(S_IXUSR) );
     }
     if (aSymbol == @symbol(readGroup)) {
-	RETURN ( __mkSmallInteger(S_IRGRP) );
+        RETURN ( __mkSmallInteger(S_IRGRP) );
     }
     if (aSymbol == @symbol(writeGroup)) {
-	RETURN ( __mkSmallInteger(S_IWGRP) );
+        RETURN ( __mkSmallInteger(S_IWGRP) );
     }
     if (aSymbol == @symbol(executeGroup)) {
-	RETURN ( __mkSmallInteger(S_IXGRP) );
+        RETURN ( __mkSmallInteger(S_IXGRP) );
     }
     if (aSymbol == @symbol(readOthers)) {
-	RETURN ( __mkSmallInteger(S_IROTH) );
+        RETURN ( __mkSmallInteger(S_IROTH) );
     }
     if (aSymbol == @symbol(writeOthers)) {
-	RETURN ( __mkSmallInteger(S_IWOTH) );
+        RETURN ( __mkSmallInteger(S_IWOTH) );
     }
     if (aSymbol == @symbol(executeOthers)) {
-	RETURN ( __mkSmallInteger(S_IXOTH) );
+        RETURN ( __mkSmallInteger(S_IXOTH) );
     }
     if (aSymbol == @symbol(setUid)) {
-	RETURN ( __mkSmallInteger(S_ISUID) );
+        RETURN ( __mkSmallInteger(S_ISUID) );
     }
     if (aSymbol == @symbol(setGid)) {
-	RETURN ( __mkSmallInteger(S_ISGID) );
+        RETURN ( __mkSmallInteger(S_ISGID) );
     }
     if (aSymbol == @symbol(removeOnlyByOwner)) {
-	RETURN ( __mkSmallInteger(S_ISVTX) );
+        RETURN ( __mkSmallInteger(S_ISVTX) );
     }
 %}.
     ^ self primitiveFailed
@@ -4370,7 +4370,7 @@
 
     "
      this could have been implemented as:
-	(self infoOf:aPathName) at:#mode
+        (self infoOf:aPathName) at:#mode
      but for huge directory searches the code below is faster
     "
 
@@ -4383,24 +4383,24 @@
 
     if (__isStringLike(encodedPathName)) {
 #ifdef TRACE_STAT_CALLS
-	printf("stat on '%s' for accessMode\n", __stringVal(encodedPathName));
-#endif
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = stat((char *) __stringVal(encodedPathName), &buf);
-	} while ((ret < 0) && (errno == EINTR));
-	__END_INTERRUPTABLE__
-
-	if (ret >= 0) {
-	    RETURN ( __mkSmallInteger(buf.st_mode & 0777) );
-	}
-	error = __mkSmallInteger(errno);
+        printf("stat on '%s' for accessMode\n", __stringVal(encodedPathName));
+#endif
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = stat((char *) __stringVal(encodedPathName), &buf);
+        } while ((ret < 0) && (errno == EINTR));
+        __END_INTERRUPTABLE__
+
+        if (ret >= 0) {
+            RETURN ( __mkSmallInteger(buf.st_mode & 0777) );
+        }
+        error = __mkSmallInteger(errno);
     }
 %}.
 
     error notNil ifTrue:[
-	LastErrorNumber := error.
-	^ self errorHolderForNumber:error.
+        LastErrorNumber := error.
+        ^ self errorHolderForNumber:error.
     ].
 
    ^ self primitiveFailed
@@ -4424,31 +4424,31 @@
 
     if (__isSmallInteger(aFileDescriptor)) {
 # ifdef TRACE_STAT_CALLS
-	printf("fstat on '%d' for accessMode\n", __smallIntegerVal(aFileDescriptor));
-# endif
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = fstat(__smallIntegerVal(aFileDescriptor), &buf);
-	} while ((ret < 0) && (errno == EINTR));
-	__END_INTERRUPTABLE__
-
-	if (ret >= 0) {
-	    RETURN ( __mkSmallInteger(buf.st_mode & 0777) );
-	}
-	error = __mkSmallInteger(errno);
+        printf("fstat on '%d' for accessMode\n", __smallIntegerVal(aFileDescriptor));
+# endif
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = fstat(__smallIntegerVal(aFileDescriptor), &buf);
+        } while ((ret < 0) && (errno == EINTR));
+        __END_INTERRUPTABLE__
+
+        if (ret >= 0) {
+            RETURN ( __mkSmallInteger(buf.st_mode & 0777) );
+        }
+        error = __mkSmallInteger(errno);
     }
 %}.
 
     error notNil ifTrue:[
-	LastErrorNumber := error.
-	^ self errorHolderForNumber:error.
+        LastErrorNumber := error.
+        ^ self errorHolderForNumber:error.
     ].
 
     ^ self primitiveFailed
 
    "
     '/' asFilename readingFileDo:[:s|
-	(OperatingSystem accessModeOfFd:s fileDescriptor) printStringRadix:8
+        (OperatingSystem accessModeOfFd:s fileDescriptor) printStringRadix:8
     ].
    "
 !
@@ -4466,28 +4466,28 @@
     int ret;
 
     if (__isStringLike(encodedPathName) && __isSmallInteger(modeBits)) {
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = chmod((char *)__stringVal(encodedPathName), __intVal(modeBits));
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
-
-	if (ret >= 0) {
-	    RETURN (nil);
-	}
-	error = __mkSmallInteger(errno);
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = chmod((char *)__stringVal(encodedPathName), __intVal(modeBits));
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
+
+        if (ret >= 0) {
+            RETURN (nil);
+        }
+        error = __mkSmallInteger(errno);
     }
 %}.
 
     error notNil ifTrue:[
-	LastErrorNumber := error.
-	^ self errorHolderForNumber:error.
+        LastErrorNumber := error.
+        ^ self errorHolderForNumber:error.
     ].
 
     ^ self primitiveFailed
 
     "
-	self changeAccessModeOf:'foo' to:8r666
+        self changeAccessModeOf:'foo' to:8r666
     "
 !
 
@@ -4504,22 +4504,22 @@
     int ret;
 
     if (__isSmallInteger(aFileDescriptor) && __isSmallInteger(modeBits)) {
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = fchmod(__smallIntegerVal(aFileDescriptor), __intVal(modeBits));
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
-
-	if (ret >= 0) {
-	    RETURN (nil);
-	}
-	error = __mkSmallInteger(errno);
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = fchmod(__smallIntegerVal(aFileDescriptor), __intVal(modeBits));
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
+
+        if (ret >= 0) {
+            RETURN (nil);
+        }
+        error = __mkSmallInteger(errno);
     }
 %}.
 
     error notNil ifTrue:[
-	LastErrorNumber := error.
-	^ self errorHolderForNumber:error.
+        LastErrorNumber := error.
+        ^ self errorHolderForNumber:error.
     ].
 
     ^ self primitiveFailed
@@ -4548,69 +4548,69 @@
 
 %{
     if (__isSmallInteger(aFileDescriptor)) {
-	int fd = __intVal(aFileDescriptor);
-	int lockArg;
-
-	/*
-	 * claus: sigh - each one has a different interface ...
-	 */
+        int fd = __intVal(aFileDescriptor);
+        int lockArg;
+
+        /*
+         * claus: sigh - each one has a different interface ...
+         */
 #if defined(F_SETLK)
-	{
-	    /*
-	     * new fcntl(SETLK) interface;
-	     * available on SYSV4 and Linux
-	     */
-	    struct flock flock;
-
-	    if (isSharedReadLock == true) {
-		flock.l_type = F_RDLCK;
-	    } else {
-		flock.l_type = F_WRLCK;
-	    }
-	    flock.l_whence = 0;
-	    flock.l_start = 0;
-	    flock.l_len = 0;
-	    lockArg = F_SETLK;
+        {
+            /*
+             * new fcntl(SETLK) interface;
+             * available on SYSV4 and Linux
+             */
+            struct flock flock;
+
+            if (isSharedReadLock == true) {
+                flock.l_type = F_RDLCK;
+            } else {
+                flock.l_type = F_WRLCK;
+            }
+            flock.l_whence = 0;
+            flock.l_start = 0;
+            flock.l_len = 0;
+            lockArg = F_SETLK;
 # if defined(F_SETLKW)
-	    if (blockIfLocked == true) {
-		lockArg = F_SETLKW;
-	    }
-# endif
-	    if (fcntl(fd, lockArg, &flock) != -1) {
-		RETURN (true);
-	    }
-	}
+            if (blockIfLocked == true) {
+                lockArg = F_SETLKW;
+            }
+# endif
+            if (fcntl(fd, lockArg, &flock) != -1) {
+                RETURN (true);
+            }
+        }
 
 #else /* no F_SETLK available */
 
 # if defined(LOCK_EX) && defined(LOCK_UN)
-	/*
-	 * BSD 4.3 advisory locks
-	 */
-	lockArg = LOCK_EX;
+        /*
+         * BSD 4.3 advisory locks
+         */
+        lockArg = LOCK_EX;
 #  if defined(LOCK_SH)
-	if (isSharedReadLock == true) {
-	    lockArg = LOCK_SH
-	}
+        if (isSharedReadLock == true) {
+            lockArg = LOCK_SH
+        }
 #  endif
 #  if defined(LOCK_NB)
-	if (blockIfLocked == false) {
-	    lockArg |= LOCK_NB;
-	}
-#  endif
-	if (flock(fd, lockArg) != -1) {
-	    RETURN (true);
-	}
+        if (blockIfLocked == false) {
+            lockArg |= LOCK_NB;
+        }
+#  endif
+        if (flock(fd, lockArg) != -1) {
+            RETURN (true);
+        }
 
 # else /* no flock available */
 
 #  if defined(F_LOCK) && defined(F_UNLOCK)
-	/*
-	 * SYSV3 advisory locks
-	 */
-	if (lockf(fd, F_LOCK, 0) != -1) {
-	    RETURN (true);
-	}
+        /*
+         * SYSV3 advisory locks
+         */
+        if (lockf(fd, F_LOCK, 0) != -1) {
+            RETURN (true);
+        }
 #  endif
 # endif
 #endif
@@ -4681,47 +4681,47 @@
 
 %{
     if (__isSmallInteger(aFileDescriptor)) {
-	int fd = __intVal(aFileDescriptor);
-
-	/*
-	 * claus: sigh - each one has a different interface ...
-	 */
+        int fd = __intVal(aFileDescriptor);
+
+        /*
+         * claus: sigh - each one has a different interface ...
+         */
 #if defined(F_SETLK)
-	{
-	    /*
-	     * new fcntl(SETLK) interface;
-	     * available on SYSV4 and Linux
-	     */
-	    struct flock flock;
-
-	    flock.l_type = F_UNLCK;
-	    flock.l_whence = 0;
-	    flock.l_start = 0;
-	    flock.l_len = 0;
-	    if (fcntl(fd, F_SETLK, &flock) != -1) {
-		RETURN (true);
-	    }
-	}
+        {
+            /*
+             * new fcntl(SETLK) interface;
+             * available on SYSV4 and Linux
+             */
+            struct flock flock;
+
+            flock.l_type = F_UNLCK;
+            flock.l_whence = 0;
+            flock.l_start = 0;
+            flock.l_len = 0;
+            if (fcntl(fd, F_SETLK, &flock) != -1) {
+                RETURN (true);
+            }
+        }
 
 #else /* no F_SETLK available */
 
 # if defined(LOCK_EX) && defined(LOCK_UN)
-	/*
-	 * BSD 4.3 advisory locks
-	 */
-	if (flock(fd, LOCK_UN) != -1) {
-	    RETURN (true);
-	}
+        /*
+         * BSD 4.3 advisory locks
+         */
+        if (flock(fd, LOCK_UN) != -1) {
+            RETURN (true);
+        }
 
 # else /* no flock available */
 
 #  if defined(F_LOCK) && defined(F_UNLOCK)
-	/*
-	 * SYSV3 advisory locks
-	 */
-	if (lockf(fd, F_UNLOCK, 0) != -1) {
-	    RETURN (true);
-	}
+        /*
+         * SYSV3 advisory locks
+         */
+        if (lockf(fd, F_UNLOCK, 0) != -1) {
+            RETURN (true);
+        }
 #  endif
 # endif
 #endif
@@ -4755,27 +4755,27 @@
     |names n "{ Class: SmallInteger }" |
 
     names := pathName
-		asCollectionOfSubstringsSeparatedBy:self fileSeparator.
+                asCollectionOfSubstringsSeparatedBy:self fileSeparator.
     names := names asOrderedCollection.
     "
      cut off initial double-slashes
     "
     [names startsWith:#('' '')] whileTrue:[
-	names removeFirst.
+        names removeFirst.
     ].
     "
      cut off double-slashes at end
     "
     [names endsWith:#('')] whileTrue:[
-	names removeLast.
+        names removeLast.
     ].
     "
      cut off current-dir at beginning
     "
     n := names size.
     [(n >= 2) and:[names startsWith:#('.')]] whileTrue:[
-	names removeFirst.
-	n := n - 1.
+        names removeFirst.
+        n := n - 1.
     ].
 
     "
@@ -4784,14 +4784,14 @@
     [(n > 2)
      and:[(names endsWith:#('..'))
      and:[((names at:(n - 1)) startsWith:'.') not ]]] whileTrue:[
-	names removeLast; removeLast.
-	n := n - 2.
+        names removeLast; removeLast.
+        n := n - 2.
     ].
 
     ^ names asStringWith:self fileSeparator
-		    from:1
-		    to:n
-		    compressTabs:false final:nil
+                    from:1
+                    to:n
+                    compressTabs:false final:nil
 
     "
      OperatingSystem compressPath:'./..'
@@ -4823,7 +4823,7 @@
 
     ret := self primGetCurrentDirectory.
     ret isNil ifTrue:[
-	self primitiveFailed
+        self primitiveFailed
     ].
     path := self decodePath:ret.    "/ possibly decode from UTF8 (depending on the OS)
     CurrentDirectory := path.
@@ -4831,7 +4831,7 @@
     ^ path.
 
     "
-	self getCurrentDirectory
+        self getCurrentDirectory
     "
 !
 
@@ -4840,8 +4840,8 @@
      The amountof information returned depends upon the OS, and is
      not guaranteed to be consistent across architectures.
      On unix, the information returned is (at least):
-	freeBytes
-	totalBytes
+        freeBytes
+        totalBytes
     "
 
     |outputText keys values n info
@@ -4872,22 +4872,22 @@
 
     n := Integer readFrom:(values at:capacityIdx) onError:nil.
     n notNil ifTrue:[
-	info at:#percentUsed put:n
+        info at:#percentUsed put:n
     ].
 
     n := Integer readFrom:(values at:availIdx) onError:nil.
     n notNil ifTrue:[
-	info at:#freeBytes put:(n * 1024)
+        info at:#freeBytes put:(n * 1024)
     ].
 
     n := Integer readFrom:(values at:usedIdx) onError:nil.
     n notNil ifTrue:[
-	info at:#usedBytes put:(n * 1024)
+        info at:#usedBytes put:(n * 1024)
     ].
 
     n := Integer readFrom:(values at:sizeIdx) onError:nil.
     n notNil ifTrue:[
-	info at:#totalBytes put:(n * 1024)
+        info at:#totalBytes put:(n * 1024)
     ].
 
     info at:#mountPoint put:(values at:mountIdx).
@@ -4915,9 +4915,9 @@
     "/ root, home and current directories.
     "/
     ^ Array
-	with:'/'
-	with:(self getHomeDirectory)
-	with:(Filename currentDirectory pathName)
+        with:'/'
+        with:(self getHomeDirectory)
+        with:(Filename currentDirectory pathName)
 
     "Modified: / 5.6.1998 / 18:35:35 / cg"
 !
@@ -4927,8 +4927,8 @@
      The amount of information returned depends upon the OS, and is
      not guaranteed to be consistent across architectures.
      On unix, the information returned is (at least):
-	mountPoint - mount point
-	fileSystem - device or NFS-remotePath
+        mountPoint - mount point
+        fileSystem - device or NFS-remotePath
     "
 
     |outputText keys values info infoEntry|
@@ -4946,15 +4946,15 @@
     info := OrderedCollection new.
 
     outputText from:2 do:[:line |
-	values := line asCollectionOfWords.
-
-	values size >= 2 ifTrue:[
-
-	    infoEntry := IdentityDictionary new.
-	    infoEntry at:#mountPoint put:(values last).
-	    infoEntry at:#fileSystem put:(values first).
-	    info add:infoEntry.
-	]
+        values := line asCollectionOfWords.
+
+        values size >= 2 ifTrue:[
+
+            infoEntry := IdentityDictionary new.
+            infoEntry at:#mountPoint put:(values last).
+            infoEntry at:#fileSystem put:(values first).
+            info add:infoEntry.
+        ]
     ].
     ^ info
 
@@ -4978,9 +4978,9 @@
 
      The info object returned is OS-specific, however it responds to at
      least
-	#isFor32BitArchitecture
-	#isFor64BitArchitecture ... returns true, if the given object is for
-				     32bit, 64bit architecture respectively
+        #isFor32BitArchitecture
+        #isFor64BitArchitecture ... returns true, if the given object is for
+                                     32bit, 64bit architecture respectively
     "
     ^ ELFFileHeader fromFile: aStringOrFilename
 
@@ -4991,21 +4991,21 @@
     "return some object filled with info for the file 'aPathName';
      the info (for which corresponding access methods are understood by
      the returned object) is:
-	 type            - a symbol giving the files type
-	 mode            - numeric access mode
-	 uid             - owners user id
-	 gid             - owners group id
-	 size            - files size
-	 id              - files number (i.e. inode number)
-	 accessed        - last access time (as Timestamp)
-	 modified        - last modification time (as Timestamp)
-	 statusChanged   - last status change time (as Timestamp)
-	 alternativeName     - (windows only:) the MSDOS name of the file
-	 recordFormatNumeric - (VMS only:) numeric value of the recordFormat
-	 recordFormat        - (VMS only:) symbolic value of the recordFormat
-	 recordAttributes    - (VMS only:) recordAttributes
-	 fixedHeaderSize     - (VMS only:) fixed header size in a variable record format
-	 recordSize          - (VMS only:) record size.
+         type            - a symbol giving the files type
+         mode            - numeric access mode
+         uid             - owners user id
+         gid             - owners group id
+         size            - files size
+         id              - files number (i.e. inode number)
+         accessed        - last access time (as Timestamp)
+         modified        - last modification time (as Timestamp)
+         statusChanged   - last status change time (as Timestamp)
+         alternativeName     - (windows only:) the MSDOS name of the file
+         recordFormatNumeric - (VMS only:) numeric value of the recordFormat
+         recordFormat        - (VMS only:) symbolic value of the recordFormat
+         recordAttributes    - (VMS only:) recordAttributes
+         fixedHeaderSize     - (VMS only:) fixed header size in a variable record format
+         recordSize          - (VMS only:) record size.
 
      Some of the fields may be returned as nil on systems which do not provide
      all of the information.
@@ -5023,8 +5023,8 @@
     int ret;
 
     if (!__isStringLike(encodedPathName)) {
-	error = @symbol(badArgument);
-	goto out;
+        error = @symbol(badArgument);
+        goto out;
     }
 
 # ifdef TRACE_STAT_CALLS
@@ -5032,76 +5032,76 @@
 # endif
     __BEGIN_INTERRUPTABLE__
     do {
-	ret = stat((char *) __stringVal(encodedPathName), &buf);
+        ret = stat((char *) __stringVal(encodedPathName), &buf);
     } while ((ret < 0) && (errno == EINTR));
     __END_INTERRUPTABLE__
 
     if (ret < 0) {
-	error = __mkSmallInteger(errno);
-	@global(LastErrorNumber) = error;
-	goto out;
+        error = __mkSmallInteger(errno);
+        @global(LastErrorNumber) = error;
+        goto out;
     }
     switch (buf.st_mode & S_IFMT) {
-	case S_IFDIR:
-	    type = @symbol(directory);
-	    break;
-
-	case S_IFREG:
-	    type = @symbol(regular);
-	    break;
+        case S_IFDIR:
+            type = @symbol(directory);
+            break;
+
+        case S_IFREG:
+            type = @symbol(regular);
+            break;
 # ifdef S_IFCHR
-	case S_IFCHR:
-	    type = @symbol(characterSpecial);
-	    break;
+        case S_IFCHR:
+            type = @symbol(characterSpecial);
+            break;
 # endif
 # ifdef S_IFBLK
-	case S_IFBLK:
-	    type = @symbol(blockSpecial);
-	    break;
+        case S_IFBLK:
+            type = @symbol(blockSpecial);
+            break;
 # endif
 # ifdef S_IFMPC
-	case S_IFMPC:
-	    type = @symbol(multiplexedCharacterSpecial);
-	    break;
+        case S_IFMPC:
+            type = @symbol(multiplexedCharacterSpecial);
+            break;
 # endif
 # ifdef S_IFMPB
-	case S_IFMPB:
-	    type = @symbol(multiplexedBlockSpecial);
-	    break;
+        case S_IFMPB:
+            type = @symbol(multiplexedBlockSpecial);
+            break;
 # endif
 # ifdef S_IFLNK
-	case S_IFLNK:
-	    type = @symbol(symbolicLink);
-	    break;
+        case S_IFLNK:
+            type = @symbol(symbolicLink);
+            break;
 # endif
 # ifdef S_IFSOCK
-	case S_IFSOCK:
-	    type = @symbol(socket);
-	    break;
+        case S_IFSOCK:
+            type = @symbol(socket);
+            break;
 # endif
 # ifdef S_IFIFO
-	case S_IFIFO:
-	    type = @symbol(fifo);
-	    break;
-# endif
-	default:
-	    type = @symbol(unknown);
-	    break;
+        case S_IFIFO:
+            type = @symbol(fifo);
+            break;
+# endif
+        default:
+            type = @symbol(unknown);
+            break;
     }
 
     if (sizeof(buf.st_ino) == 8) {
-	id = __MKUINT64(&buf.st_ino);
+        id = __MKUINT64(&buf.st_ino);
     } else {
-	id = __MKUINT(buf.st_ino);
+        id = __MKUINT(buf.st_ino);
     }
     mode = __mkSmallInteger(buf.st_mode & 0777);
     uid = __mkSmallInteger(buf.st_uid);
     gid = __mkSmallInteger(buf.st_gid);
     nLink = __mkSmallInteger(buf.st_nlink);
     if (sizeof(buf.st_size) == 8) {
-	size = __MKINT64(&buf.st_size);
+        size = __MKINT64(&buf.st_size);
     } else {
-	size = __MKINT(buf.st_size);
+        size = __MKINT(buf.st_size);
     }
     aOStime = __MKUINT(buf.st_atime);
     mOStime = __MKUINT(buf.st_mtime);
@@ -5110,26 +5110,26 @@
     out:;
 %}.
      mode notNil ifTrue:[
-	"/ now done lazy in FileStatusInfo
-	"/ atime := Timestamp fromOSTime:(aOStime * 1000).
-	"/ mtime := Timestamp fromOSTime:(mOStime * 1000).
-	"/ ctime := Timestamp fromOSTime:(cOStime * 1000).
-
-	^ FileStatusInfo
-		    type:type
-		    mode:mode
-		    uid:uid
-		    gid:gid
-		    size:size
-		    id:id
-		    accessed:aOStime
-		    modified:mOStime
-		    statusChanged:cOStime
-		    sourcePath:nil targetPath:nil
-		    numLinks:nLink.
+        "/ now done lazy in FileStatusInfo
+        "/ atime := Timestamp fromOSTime:(aOStime * 1000).
+        "/ mtime := Timestamp fromOSTime:(mOStime * 1000).
+        "/ ctime := Timestamp fromOSTime:(cOStime * 1000).
+
+        ^ FileStatusInfo
+                    type:type
+                    mode:mode
+                    uid:uid
+                    gid:gid
+                    size:size
+                    id:id
+                    accessed:aOStime
+                    modified:mOStime
+                    statusChanged:cOStime
+                    sourcePath:nil targetPath:nil
+                    numLinks:nLink.
     ].
     error notNil ifTrue:[
-	^ nil.
+        ^ nil.
     ].
 
     ^ self primitiveFailed
@@ -5154,40 +5154,40 @@
 %{
 #ifdef __SCHTEAM__
     if (encodedPathName.isStringLike()) {
-	java.io.File file = new java.io.File( encodedPathName.asString() );
-	int _mode;
-
-	if (file.exists() && file.isDirectory()) {
-	    return __c__._RETURN_true();
-	}
-	return __c__._RETURN_false();
+        java.io.File file = new java.io.File( encodedPathName.asString() );
+        int _mode;
+
+        if (file.exists() && file.isDirectory()) {
+            return __c__._RETURN_true();
+        }
+        return __c__._RETURN_false();
     }
 #else
     int ret;
 
     if (__isStringLike(encodedPathName)) {
-	struct stat buf;
+        struct stat buf;
 
 # ifdef TRACE_STAT_CALLS
-	printf("stat on '%s' for isDirectory\n", __stringVal(encodedPathName));
-# endif
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = stat((char *) __stringVal(encodedPathName), &buf);
-	} while ((ret < 0) && (errno == EINTR));
-	__END_INTERRUPTABLE__
-	if (ret < 0) {
-	    @global(LastErrorNumber) = __mkSmallInteger(errno);
-	    RETURN ( false );
-	}
-	RETURN ( ((buf.st_mode & S_IFMT) == S_IFDIR) ? true : false);
+        printf("stat on '%s' for isDirectory\n", __stringVal(encodedPathName));
+# endif
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = stat((char *) __stringVal(encodedPathName), &buf);
+        } while ((ret < 0) && (errno == EINTR));
+        __END_INTERRUPTABLE__
+        if (ret < 0) {
+            @global(LastErrorNumber) = __mkSmallInteger(errno);
+            RETURN ( false );
+        }
+        RETURN ( ((buf.st_mode & S_IFMT) == S_IFDIR) ? true : false);
     }
 #endif /* not SCHTEAM */
 %}.
     ^ self primitiveFailed
 
     "an alternative implementation would be:
-	^ (self infoOf:aPathName) type == #directory
+        ^ (self infoOf:aPathName) type == #directory
     "
 !
 
@@ -5202,30 +5202,30 @@
 %{
 #ifdef __SCHTEAM__
     if (encodedPathName.isStringLike()) {
-	java.io.File file = new java.io.File( encodedPathName.asString() );
-	int _mode;
-
-	if (file.exists() && file.canExecute()) {
-	    return __c__._RETURN_true();
-	}
-	return __c__._RETURN_false();
+        java.io.File file = new java.io.File( encodedPathName.asString() );
+        int _mode;
+
+        if (file.exists() && file.canExecute()) {
+            return __c__._RETURN_true();
+        }
+        return __c__._RETURN_false();
     }
 #else
     int ret;
 
     if (__isStringLike(encodedPathName)) {
 # ifdef TRACE_ACCESS_CALLS
-	printf("access on '%s' for executable\n", __stringVal(encodedPathName));
-# endif
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = access(__stringVal(encodedPathName), X_OK);
-	} while ((ret < 0) && (errno == EINTR));
-	__END_INTERRUPTABLE__
-	if (ret < 0) {
-	    @global(LastErrorNumber) = __mkSmallInteger(errno);
-	}
-	RETURN ( ((ret == 0) ? true : false) );
+        printf("access on '%s' for executable\n", __stringVal(encodedPathName));
+# endif
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = access(__stringVal(encodedPathName), X_OK);
+        } while ((ret < 0) && (errno == EINTR));
+        __END_INTERRUPTABLE__
+        if (ret < 0) {
+            @global(LastErrorNumber) = __mkSmallInteger(errno);
+        }
+        RETURN ( ((ret == 0) ? true : false) );
     }
 #endif /* not SCHTEAM */
 %}.
@@ -5242,30 +5242,30 @@
 %{
 #ifdef __SCHTEAM__
     if (encodedPathName.isStringLike()) {
-	java.io.File file = new java.io.File( encodedPathName.asString() );
-	int _mode;
-
-	if (file.exists() && file.canRead()) {
-	    return __c__._RETURN_true();
-	}
-	return __c__._RETURN_false();
+        java.io.File file = new java.io.File( encodedPathName.asString() );
+        int _mode;
+
+        if (file.exists() && file.canRead()) {
+            return __c__._RETURN_true();
+        }
+        return __c__._RETURN_false();
     }
 #else
     int ret;
 
     if (__isStringLike(encodedPathName)) {
 # ifdef TRACE_ACCESS_CALLS
-	printf("access on '%s' for readable\n", __stringVal(encodedPathName));
-# endif
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = access(__stringVal(encodedPathName), R_OK);
-	} while ((ret < 0) && (errno == EINTR));
-	__END_INTERRUPTABLE__
-	if (ret < 0) {
-	    @global(LastErrorNumber) = __mkSmallInteger(errno);
-	}
-	RETURN ( ((ret == 0) ? true : false) );
+        printf("access on '%s' for readable\n", __stringVal(encodedPathName));
+# endif
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = access(__stringVal(encodedPathName), R_OK);
+        } while ((ret < 0) && (errno == EINTR));
+        __END_INTERRUPTABLE__
+        if (ret < 0) {
+            @global(LastErrorNumber) = __mkSmallInteger(errno);
+        }
+        RETURN ( ((ret == 0) ? true : false) );
     }
 #endif /* not SCHTEAM */
 %}.
@@ -5282,32 +5282,32 @@
 %{
 #ifdef __SCHTEAM__
     if (encodedPathName.isStringLike()) {
-	java.io.File file = new java.io.File( encodedPathName.asString() );
-	int _mode;
-
-	if (file.exists()) {
-	    return __c__._RETURN_true();
-	}
-	return __c__._RETURN_false();
+        java.io.File file = new java.io.File( encodedPathName.asString() );
+        int _mode;
+
+        if (file.exists()) {
+            return __c__._RETURN_true();
+        }
+        return __c__._RETURN_false();
     }
 #else
     if (__isStringLike(encodedPathName)) {
-	struct stat buf;
-	int ret;
+        struct stat buf;
+        int ret;
 
 # ifdef TRACE_STAT_CALLS
-	printf("stat on '%s' for isValidPath\n", __stringVal(encodedPathName));
-# endif
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = stat((char *) __stringVal(encodedPathName), &buf);
-	} while ((ret < 0) && (errno == EINTR));
-	__END_INTERRUPTABLE__
-	if (ret < 0) {
-	    @global(LastErrorNumber) = __mkSmallInteger(errno);
-	    RETURN (false);
-	}
-	RETURN ( ret ? false : true );
+        printf("stat on '%s' for isValidPath\n", __stringVal(encodedPathName));
+# endif
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = stat((char *) __stringVal(encodedPathName), &buf);
+        } while ((ret < 0) && (errno == EINTR));
+        __END_INTERRUPTABLE__
+        if (ret < 0) {
+            @global(LastErrorNumber) = __mkSmallInteger(errno);
+            RETURN (false);
+        }
+        RETURN ( ret ? false : true );
     }
 #endif /* not SCHTEAM */
 %}.
@@ -5327,30 +5327,30 @@
 %{
 #ifdef __SCHTEAM__
     if (encodedPathName.isStringLike()) {
-	java.io.File file = new java.io.File( encodedPathName.asString() );
-	int _mode;
-
-	if (file.exists() && file.canWrite()) {
-	    return __c__._RETURN_true();
-	}
-	return __c__._RETURN_false();
+        java.io.File file = new java.io.File( encodedPathName.asString() );
+        int _mode;
+
+        if (file.exists() && file.canWrite()) {
+            return __c__._RETURN_true();
+        }
+        return __c__._RETURN_false();
     }
 #else
     int ret;
 
     if (__isStringLike(encodedPathName)) {
 # ifdef TRACE_ACCESS_CALLS
-	printf("access on '%s' for writable\n", __stringVal(encodedPathName));
-# endif
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = access(__stringVal(encodedPathName), W_OK);
-	} while ((ret < 0) && (errno == EINTR));
-	__END_INTERRUPTABLE__
-	if (ret < 0) {
-	    @global(LastErrorNumber) = __mkSmallInteger(errno);
-	}
-	RETURN ( ((ret == 0) ? true : false) );
+        printf("access on '%s' for writable\n", __stringVal(encodedPathName));
+# endif
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = access(__stringVal(encodedPathName), W_OK);
+        } while ((ret < 0) && (errno == EINTR));
+        __END_INTERRUPTABLE__
+        if (ret < 0) {
+            @global(LastErrorNumber) = __mkSmallInteger(errno);
+        }
+        RETURN ( ((ret == 0) ? true : false) );
     }
 #endif /* not SCHTEAM */
 %}.
@@ -5362,21 +5362,21 @@
 
      The info (for which corresponding access methods are understood by
      the returned object) is:
-	 type            - a symbol giving the file's type
-	 mode            - numeric access mode
-	 uid             - owners user id
-	 gid             - owners group id
-	 size            - files size
-	 id              - files number (i.e. inode number)
-	 accessed        - last access time (as Timestamp)
-	 modified        - last modification time (as Timestamp)
-	 statusChanged   - last status change time (as Timestamp)
-	 alternativeName     - (windows only:) the MSDOS name of the file
-	 recordFormatNumeric - (VMS only:) numeric value of the recordFormat
-	 recordFormat        - (VMS only:) symbolic value of the recordFormat
-	 recordAttributes    - (VMS only:) recordAttributes
-	 fixedHeaderSize     - (VMS only:) fixed header size in a variable record format
-	 recordSize          - (VMS only:) record size.
+         type            - a symbol giving the file's type
+         mode            - numeric access mode
+         uid             - owners user id
+         gid             - owners group id
+         size            - files size
+         id              - files number (i.e. inode number)
+         accessed        - last access time (as Timestamp)
+         modified        - last modification time (as Timestamp)
+         statusChanged   - last status change time (as Timestamp)
+         alternativeName     - (windows only:) the MSDOS name of the file
+         recordFormatNumeric - (VMS only:) numeric value of the recordFormat
+         recordFormat        - (VMS only:) symbolic value of the recordFormat
+         recordAttributes    - (VMS only:) recordAttributes
+         fixedHeaderSize     - (VMS only:) fixed header size in a variable record format
+         recordSize          - (VMS only:) record size.
 
      Some of the fields may be returned as nil on systems which do not provide
      all of the information.
@@ -5396,35 +5396,35 @@
 %{  /* STACK: 1200 */
 #ifdef __SCHTEAM__
     if (encodedPathName.isStringLike()) {
-	java.io.File file = new java.io.File( encodedPathName.asString() );
-	int _mode;
-
-	if (file.isDirectory()) {
-	    type = STSymbol._new("directory");
-	} else if (file.isFile()) {
-	    type = STSymbol._new("regular");
-	} else {
-	    type = STSymbol._new("unknown");
-	}
-	_mode = 0;
-	if (file.canRead()) {
-	    _mode |= 0444;
-	}
-	if (file.canWrite()) {
-	    _mode |= 0222;
-	}
-	if (file.canExecute()) {
-	    _mode |= 0111;
-	}
-	mode = STInteger._new( _mode );
-	uid = STInteger._0;
-	gid = STInteger._0;
-	nLink = STInteger._0;
-	size = STInteger._new( file.length());
-	aOStime = STInteger._new( file.lastModified() );
-	mOStime = STInteger._new( file.lastModified() );
-	cOStime = STInteger._new( file.lastModified() );
-	path = new STString( file.getPath() );
+        java.io.File file = new java.io.File( encodedPathName.asString() );
+        int _mode;
+
+        if (file.isDirectory()) {
+            type = STSymbol._new("directory");
+        } else if (file.isFile()) {
+            type = STSymbol._new("regular");
+        } else {
+            type = STSymbol._new("unknown");
+        }
+        _mode = 0;
+        if (file.canRead()) {
+            _mode |= 0444;
+        }
+        if (file.canWrite()) {
+            _mode |= 0222;
+        }
+        if (file.canExecute()) {
+            _mode |= 0111;
+        }
+        mode = STInteger._new( _mode );
+        uid = STInteger._0;
+        gid = STInteger._0;
+        nLink = STInteger._0;
+        size = STInteger._new( file.length());
+        aOStime = STInteger._new( file.lastModified() );
+        mOStime = STInteger._new( file.lastModified() );
+        cOStime = STInteger._new( file.lastModified() );
+        path = new STString( file.getPath() );
     }
 #else
     struct stat buf;
@@ -5432,104 +5432,104 @@
     char pathBuffer[1024];
 
     if (__isStringLike(encodedPathName)) {
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = lstat((char *) __stringVal(encodedPathName), &buf);
-	} while ((ret < 0) && (errno == EINTR));
-	__END_INTERRUPTABLE__
-
-	if (ret < 0) {
-	    @global(LastErrorNumber) = __mkSmallInteger(errno);
-	    RETURN ( nil );
-	}
-	switch (buf.st_mode & S_IFMT) {
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = lstat((char *) __stringVal(encodedPathName), &buf);
+        } while ((ret < 0) && (errno == EINTR));
+        __END_INTERRUPTABLE__
+
+        if (ret < 0) {
+            @global(LastErrorNumber) = __mkSmallInteger(errno);
+            RETURN ( nil );
+        }
+        switch (buf.st_mode & S_IFMT) {
 # ifdef S_IFLNK
-	    case S_IFLNK:
-		type = @symbol(symbolicLink);
-		if ((ret = readlink((char *) __stringVal(encodedPathName), pathBuffer, sizeof(pathBuffer))) < 0) {
-		    @global(LastErrorNumber) = __mkSmallInteger(errno);
-		    RETURN ( nil );
-		}
-		pathBuffer[ret] = '\0';  /* readlink does not 0-terminate */
-		path = __MKSTRING(pathBuffer);
-		break;
-# endif
-	    case S_IFDIR:
-		type = @symbol(directory);
-		break;
-
-	    case S_IFREG:
-		type = @symbol(regular);
-		break;
+            case S_IFLNK:
+                type = @symbol(symbolicLink);
+                if ((ret = readlink((char *) __stringVal(encodedPathName), pathBuffer, sizeof(pathBuffer))) < 0) {
+                    @global(LastErrorNumber) = __mkSmallInteger(errno);
+                    RETURN ( nil );
+                }
+                pathBuffer[ret] = '\0';  /* readlink does not 0-terminate */
+                path = __MKSTRING(pathBuffer);
+                break;
+# endif
+            case S_IFDIR:
+                type = @symbol(directory);
+                break;
+
+            case S_IFREG:
+                type = @symbol(regular);
+                break;
 # ifdef S_IFCHR
-	    case S_IFCHR:
-		type = @symbol(characterSpecial);
-		break;
+            case S_IFCHR:
+                type = @symbol(characterSpecial);
+                break;
 # endif
 # ifdef S_IFBLK
-	    case S_IFBLK:
-		type = @symbol(blockSpecial);
-		break;
+            case S_IFBLK:
+                type = @symbol(blockSpecial);
+                break;
 # endif
 # ifdef S_IFMPC
-	    case S_IFMPC:
-		type = @symbol(multiplexedCharacterSpecial);
-		break;
+            case S_IFMPC:
+                type = @symbol(multiplexedCharacterSpecial);
+                break;
 # endif
 # ifdef S_IFMPB
-	    case S_IFMPB:
-		type = @symbol(multiplexedBlockSpecial);
-		break;
+            case S_IFMPB:
+                type = @symbol(multiplexedBlockSpecial);
+                break;
 # endif
 # ifdef S_IFSOCK
-	    case S_IFSOCK:
-		type = @symbol(socket);
-		break;
+            case S_IFSOCK:
+                type = @symbol(socket);
+                break;
 # endif
 # ifdef S_IFIFO
-	    case S_IFIFO:
-		type = @symbol(fifo);
-		break;
-# endif
-	    default:
-		type = @symbol(unknown);
-		break;
-	}
-
-	if (sizeof(buf.st_ino) == 8) {
-	    id = __MKUINT64(&buf.st_ino);
-	} else {
-	    id = __MKUINT(buf.st_ino);
-	}
-	mode = __mkSmallInteger(buf.st_mode & 0777);
-	uid = __mkSmallInteger(buf.st_uid);
-	gid = __mkSmallInteger(buf.st_gid);
-	nLink = __mkSmallInteger(buf.st_nlink);
-	if (sizeof(buf.st_size) == 8) {
-	    size = __MKINT64(&buf.st_size);
-	} else {
-	    size = __MKINT(buf.st_size);
-	}
-	aOStime = __MKUINT(buf.st_atime);
-	mOStime = __MKUINT(buf.st_mtime);
-	cOStime = __MKUINT(buf.st_ctime);
+            case S_IFIFO:
+                type = @symbol(fifo);
+                break;
+# endif
+            default:
+                type = @symbol(unknown);
+                break;
+        }
+
+        if (sizeof(buf.st_ino) == 8) {
+            id = __MKUINT64(&buf.st_ino);
+        } else {
+            id = __MKUINT(buf.st_ino);
+        }
+        mode = __mkSmallInteger(buf.st_mode & 0777);
+        uid = __mkSmallInteger(buf.st_uid);
+        gid = __mkSmallInteger(buf.st_gid);
+        nLink = __mkSmallInteger(buf.st_nlink);
+        if (sizeof(buf.st_size) == 8) {
+            size = __MKINT64(&buf.st_size);
+        } else {
+            size = __MKINT(buf.st_size);
+        }
+        aOStime = __MKUINT(buf.st_atime);
+        mOStime = __MKUINT(buf.st_mtime);
+        cOStime = __MKUINT(buf.st_ctime);
     }
 #endif /* not SCHTEAM */
 %}.
 
     mode notNil ifTrue:[
-	^ FileStatusInfo
-	    type:type
-	    mode:mode
-	    uid:uid
-	    gid:gid
-	    size:size
-	    id:id
-	    accessed:aOStime
-	    modified:mOStime
-	    statusChanged:cOStime
-	    sourcePath:aPathName targetPath:(self decodePath:path)
-	    numLinks:nLink.
+        ^ FileStatusInfo
+            type:type
+            mode:mode
+            uid:uid
+            gid:gid
+            size:size
+            id:id
+            accessed:aOStime
+            modified:mOStime
+            statusChanged:cOStime
+            sourcePath:aPathName targetPath:(self decodePath:path)
+            numLinks:nLink.
    ].
    ^ self primitiveFailed
 
@@ -5546,15 +5546,15 @@
      the info is cached for some time (5 minutes)"
 
     CacheMountPointsTimeStamp notNil ifTrue:[
-	Timestamp now < (CacheMountPointsTimeStamp addSeconds:5*60) ifTrue:[
-	    ^ CachedMountPoints
-	].
+        Timestamp now < (CacheMountPointsTimeStamp addSeconds:5*60) ifTrue:[
+            ^ CachedMountPoints
+        ].
     ].
 
     '/proc/mounts' asFilename exists ifTrue:[
-	CachedMountPoints := self mountPointsFromProcFS.
-	CacheMountPointsTimeStamp := Timestamp now.
-	^ CachedMountPoints
+        CachedMountPoints := self mountPointsFromProcFS.
+        CacheMountPointsTimeStamp := Timestamp now.
+        ^ CachedMountPoints
     ].
 
     "/ TODO: add fallback code for other OS's (i.e. reading /etc/mtab)
@@ -5595,66 +5595,66 @@
     |p path command|
 
     path = '.' ifTrue:[
-	^ self getCurrentDirectory.
+        ^ self getCurrentDirectory.
     ].
 
     "some systems have a convenient function for this ..."
     path := self primPathNameOf:(self encodePath:pathName).
     path notNil ifTrue:[
-	path := self decodePath:path.
+        path := self decodePath:path.
     ] ifFalse:[
-	(self isValidPath:pathName) ifFalse:[
-	    p := pathName.
-	    [(p size > 1)
-	     and:[p endsWith:(self fileSeparator)]
-	    ] whileTrue:[
-		p := p copyButLast.
-	    ].
-	    ^ p
-	].
-
-	(SlowFork==true or:[PipeFailed==true]) ifFalse:[
-	    |directoryName fileBaseName|
-
-	    (self isDirectory:pathName) ifTrue:[
-		directoryName := pathName.
-		fileBaseName := nil.
-	    ] ifFalse:[
-		|pathFilename|
-		pathFilename := pathName asFilename.
-		directoryName := pathFilename directoryName.
-		fileBaseName := pathFilename baseName.
-	    ].
-
-	    PipeStream openErrorSignal handle:[:ex |
-		PipeFailed := true.
-		'UnixOperatingSystem [warning]: cannot fork/popen' errorPrintCR.
-		ex return.
-	    ] do:[
-		"have to fall back ..."
-		command := 'cd "' , directoryName , '"; pwd'.
-		p := PipeStream readingFrom:command.
-	    ].
-
-	    (p isNil or:[p atEnd]) ifTrue:[
-		('UnixOperatingSystem [warning]: PipeStream for <' , command , '> failed') errorPrintCR.
-	    ] ifFalse:[
-		path := p nextLine.
-		p close.
-	    ].
-	    fileBaseName notNil ifTrue:[
-		path := path, '/', fileBaseName.
-	    ].
-	].
-	path isNil ifTrue:[
-	    "/
-	    "/ return the original - there is nothing else can we do
-	    "/
-	    path := pathName
-	].
-	(SlowFork==true or:[ForkFailed==true]) ifTrue:[
-	    path := self compressPath:path
-	]
+        (self isValidPath:pathName) ifFalse:[
+            p := pathName.
+            [(p size > 1)
+             and:[p endsWith:(self fileSeparator)]
+            ] whileTrue:[
+                p := p copyButLast.
+            ].
+            ^ p
+        ].
+
+        (SlowFork==true or:[PipeFailed==true]) ifFalse:[
+            |directoryName fileBaseName|
+
+            (self isDirectory:pathName) ifTrue:[
+                directoryName := pathName.
+                fileBaseName := nil.
+            ] ifFalse:[
+                |pathFilename|
+                pathFilename := pathName asFilename.
+                directoryName := pathFilename directoryName.
+                fileBaseName := pathFilename baseName.
+            ].
+
+            PipeStream openErrorSignal handle:[:ex |
+                PipeFailed := true.
+                'UnixOperatingSystem [warning]: cannot fork/popen' errorPrintCR.
+                ex return.
+            ] do:[
+                "have to fall back ..."
+                command := 'cd "' , directoryName , '"; pwd'.
+                p := PipeStream readingFrom:command.
+            ].
+
+            (p isNil or:[p atEnd]) ifTrue:[
+                ('UnixOperatingSystem [warning]: PipeStream for <' , command , '> failed') errorPrintCR.
+            ] ifFalse:[
+                path := p nextLine.
+                p close.
+            ].
+            fileBaseName notNil ifTrue:[
+                path := path, '/', fileBaseName.
+            ].
+        ].
+        path isNil ifTrue:[
+            "/
+            "/ return the original - there is nothing else can we do
+            "/
+            path := pathName
+        ].
+        (SlowFork==true or:[ForkFailed==true]) ifTrue:[
+            path := self compressPath:path
+        ]
     ].
     ^ path.
 
@@ -5676,15 +5676,15 @@
 primGetCurrentDirectory
     "return the raw name of the current directory (nil if failed - can this ever happen?).
      Warning:
-	Don't call this from outside: we may have to decode UTF on some systems.
-	See getCurrentDirectory"
+        Don't call this from outside: we may have to decode UTF on some systems.
+        See getCurrentDirectory"
 
 %{  /* UNLIMITEDSTACK */
     char nameBuffer[MAXPATHLEN + 1];
 
     if (getcwd(nameBuffer, MAXPATHLEN)) {
-	OBJ path = __MKSTRING(nameBuffer);
-	RETURN(path);
+        OBJ path = __MKSTRING(nameBuffer);
+        RETURN(path);
     }
     RETURN(nil);
 %}
@@ -5702,26 +5702,26 @@
     encodedPathName := self encodePath:aPathName.
 %{
     if (__isStringLike(encodedPathName)) {
-	struct stat buf;
-	unsigned INT ino;
-	OBJ retVal;
-	int ret;
+        struct stat buf;
+        unsigned INT ino;
+        OBJ retVal;
+        int ret;
 
 # ifdef TRACE_STAT_CALLS
-	printf("stat on '%s' for id\n", __stringVal(encodedPathName));
-# endif
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = stat((char *) __stringVal(encodedPathName), &buf);
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
-	if (ret >= 0) {
-	    ino = buf.st_ino;
-	    retVal = __MKUINT(ino);
-	    RETURN (retVal);
-	}
-	@global(LastErrorNumber) = __mkSmallInteger(errno);
-	RETURN (nil);
+        printf("stat on '%s' for id\n", __stringVal(encodedPathName));
+# endif
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = stat((char *) __stringVal(encodedPathName), &buf);
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
+        if (ret >= 0) {
+            ino = buf.st_ino;
+            retVal = __MKUINT(ino);
+            RETURN (retVal);
+        }
+        @global(LastErrorNumber) = __mkSmallInteger(errno);
+        RETURN (nil);
     }
     RETURN (nil);
 %}.
@@ -5748,30 +5748,30 @@
 %{  /* UNLIMITEDSTACK */
 #ifdef __SCHTEAM__
     if (pathName.isStringLike()) {
-	java.io.File file = new java.io.File( pathName.asString() );
-
-	if (file.exists()) {
-	    return __c__._RETURN( new STString( file.getAbsolutePath() ));
-	}
+        java.io.File file = new java.io.File( pathName.asString() );
+
+        if (file.exists()) {
+            return __c__._RETURN( new STString( file.getAbsolutePath() ));
+        }
     }
 #else
     if (__isStringLike(pathName)) {
 # ifdef HAS_REALPATH
-	extern char *realpath();
-
-	// POSIX-2008 says, that a NULL namebuffer causes realPath to malloc()
-	// the required memory. But this does not work as of 2013-04
-	char nameBuffer[MAXPATHLEN+1];
-	char *nameP = realpath(__stringVal(pathName), nameBuffer);
-	if (nameP) {
-	    OBJ ret = __MKSTRING(nameP);
-	    // free(nameP);
-	    RETURN ( ret );
-	}
-	// fprintf(stderr, "stx[warning]: realpath(\"%s\") failed: %s\n", __stringVal(pathName), strerror(errno));
+        extern char *realpath();
+
+        // POSIX-2008 says, that a NULL namebuffer causes realPath to malloc()
+        // the required memory. But this does not work as of 2013-04
+        char nameBuffer[MAXPATHLEN+1];
+        char *nameP = realpath(__stringVal(pathName), nameBuffer);
+        if (nameP) {
+            OBJ ret = __MKSTRING(nameP);
+            // free(nameP);
+            RETURN ( ret );
+        }
+        // fprintf(stderr, "stx[warning]: realpath(\"%s\") failed: %s\n", __stringVal(pathName), strerror(errno));
 # endif /* ! HAS_REALPATH */
     } else {
-	error = @symbol(argument);     // argument is not a string
+        error = @symbol(argument);     // argument is not a string
     }
 #endif
 %}.
@@ -5782,9 +5782,9 @@
     ^ nil
 
     "
-	self primPathNameOf:'.'
-	self primPathNameOf:'/murks/quatsch/bla/.'
-	self primPathNameOf:5555
+        self primPathNameOf:'.'
+        self primPathNameOf:'/murks/quatsch/bla/.'
+        self primPathNameOf:5555
     "
 !
 
@@ -5793,7 +5793,7 @@
      For nonexistent files, nil is returned."
 
     "could be implemented as:
-	(self infoOf:aPathName) accessed
+        (self infoOf:aPathName) accessed
     "
     |osSeconds i encodedPathName|
 
@@ -5801,23 +5801,23 @@
 
 %{
     if (__isStringLike(encodedPathName)) {
-	struct stat buf;
-	time_t mtime;
-	int ret;
+        struct stat buf;
+        time_t mtime;
+        int ret;
 
 # ifdef TRACE_STAT_CALLS
-	printf("stat on '%s' for timeOfLastAccess\n", __stringVal(encodedPathName));
-# endif
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = stat((char *) __stringVal(encodedPathName), &buf);
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
-	if (ret < 0) {
-	    @global(LastErrorNumber) = __mkSmallInteger(errno);
-	    RETURN (nil);
-	}
-	osSeconds = __MKUINT(buf.st_atime);
+        printf("stat on '%s' for timeOfLastAccess\n", __stringVal(encodedPathName));
+# endif
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = stat((char *) __stringVal(encodedPathName), &buf);
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
+        if (ret < 0) {
+            @global(LastErrorNumber) = __mkSmallInteger(errno);
+            RETURN (nil);
+        }
+        osSeconds = __MKUINT(buf.st_atime);
     }
 %}.
     osSeconds notNil ifTrue:[^ Timestamp fromOSTime:(osSeconds * 1000)].
@@ -5836,7 +5836,7 @@
      For nonexistent files, nil is returned."
 
     "could be implemented as:
-	(self infoOf:aPathName) modified
+        (self infoOf:aPathName) modified
     "
 
     |osSeconds i encodedPathName|
@@ -5844,23 +5844,23 @@
     encodedPathName := self encodePath:aPathName.
 %{
     if (__isStringLike(encodedPathName)) {
-	struct stat buf;
-	int ret;
-	time_t mtime;
+        struct stat buf;
+        int ret;
+        time_t mtime;
 
 # ifdef TRACE_STAT_CALLS
-	printf("stat on '%s' for timeOfLastChange\n", __stringVal(encodedPathName));
-# endif
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = stat((char *) __stringVal(encodedPathName), &buf);
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
-	if (ret < 0) {
-	    @global(LastErrorNumber) = __mkSmallInteger(errno);
-	    RETURN ( nil );
-	}
-	osSeconds = __MKUINT(buf.st_mtime);
+        printf("stat on '%s' for timeOfLastChange\n", __stringVal(encodedPathName));
+# endif
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = stat((char *) __stringVal(encodedPathName), &buf);
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
+        if (ret < 0) {
+            @global(LastErrorNumber) = __mkSmallInteger(errno);
+            RETURN ( nil );
+        }
+        osSeconds = __MKUINT(buf.st_mtime);
     }
 %}.
     osSeconds notNil ifTrue:[^ Timestamp fromOSTime:(osSeconds * 1000)].
@@ -5885,55 +5885,55 @@
 
     "
      this could have been implemented as:
-	(self infoOf:aPathName) type
+        (self infoOf:aPathName) type
      but for huge directory searches the code below is faster
     "
 
 %{
     if (__isStringLike(encodedPathName)) {
-	struct stat buf;
-	int ret;
+        struct stat buf;
+        int ret;
 
 # ifdef TRACE_STAT_CALLS
-	printf("stat on '%s' for type\n", __stringVal(encodedPathName));
-# endif
-	__BEGIN_INTERRUPTABLE__
-	do {
-	    ret = stat((char *) __stringVal(encodedPathName), &buf);
-	} while (ret < 0 && errno == EINTR);
-	__END_INTERRUPTABLE__
-	if (ret < 0) {
-	    @global(LastErrorNumber) = __mkSmallInteger(errno);
-	    RETURN ( nil );
-	}
-	switch (buf.st_mode & S_IFMT) {
-	    case S_IFDIR:
-		RETURN ( @symbol(directory) );
-	    case S_IFREG:
-		RETURN ( @symbol(regular) );
+        printf("stat on '%s' for type\n", __stringVal(encodedPathName));
+# endif
+        __BEGIN_INTERRUPTABLE__
+        do {
+            ret = stat((char *) __stringVal(encodedPathName), &buf);
+        } while (ret < 0 && errno == EINTR);
+        __END_INTERRUPTABLE__
+        if (ret < 0) {
+            @global(LastErrorNumber) = __mkSmallInteger(errno);
+            RETURN ( nil );
+        }
+        switch (buf.st_mode & S_IFMT) {
+            case S_IFDIR:
+                RETURN ( @symbol(directory) );
+            case S_IFREG:
+                RETURN ( @symbol(regular) );
 # ifdef S_IFCHR
-	    case S_IFCHR:
-		RETURN ( @symbol(characterSpecial) );
+            case S_IFCHR:
+                RETURN ( @symbol(characterSpecial) );
 # endif
 # ifdef S_IFBLK
-	    case S_IFBLK:
-		RETURN ( @symbol(blockSpecial) );
+            case S_IFBLK:
+                RETURN ( @symbol(blockSpecial) );
 # endif
 # ifdef S_IFLNK
-	    case S_IFLNK:
-		RETURN ( @symbol(symbolicLink) );
+            case S_IFLNK:
+                RETURN ( @symbol(symbolicLink) );
 # endif
 # ifdef S_IFSOCK
-	    case S_IFSOCK:
-		RETURN ( @symbol(socket) );
+            case S_IFSOCK:
+                RETURN ( @symbol(socket) );
 # endif
 # ifdef S_IFIFO
-	    case S_IFIFO:
-		RETURN ( @symbol(fifo) );
-# endif
-	    default:
-		RETURN ( @symbol(unknown) );
-	}
+            case S_IFIFO:
+                RETURN ( @symbol(fifo) );
+# endif
+            default:
+                RETURN ( @symbol(unknown) );
+        }
     }
 %}.
     i := self infoOf:aPathName.
@@ -5975,8 +5975,8 @@
 
     if (__isSmallInteger(signalNumber)) {
 #ifdef SIG_DFL
-	signal(__intVal(signalNumber), SIG_DFL);
-	RETURN (self);
+        signal(__intVal(signalNumber), SIG_DFL);
+        RETURN (self);
 #endif
     }
 %}.
@@ -6004,22 +6004,22 @@
 
 #if (defined(F_GETFL) && defined(F_SETFL) && defined(FASYNC)) || defined(SYSV4)
     if (__isSmallInteger(fd)) {
-	f = __intVal(fd);
+        f = __intVal(fd);
 # if defined(SYSV4)
-	ret = ioctl(f, I_SETSIG, 0);
+        ret = ioctl(f, I_SETSIG, 0);
 # else /*! SYSV4*/
-	flags = fcntl(f, F_GETFL, 0);
-	/*
-	 * if already clear, there is no need for this syscall ...
-	 */
-	if (flags & FASYNC) {
-	    ret = fcntl(f, F_SETFL, flags & ~FASYNC);
-	    if (ret >= 0) ret = flags;
-	} else {
-	    ret = flags;
-	}
+        flags = fcntl(f, F_GETFL, 0);
+        /*
+         * if already clear, there is no need for this syscall ...
+         */
+        if (flags & FASYNC) {
+            ret = fcntl(f, F_SETFL, flags & ~FASYNC);
+            if (ret >= 0) ret = flags;
+        } else {
+            ret = flags;
+        }
 # endif /* !SYSV4 */
-	RETURN ( __mkSmallInteger(ret) );
+        RETURN ( __mkSmallInteger(ret) );
     }
 #endif
 %}.
@@ -6044,23 +6044,23 @@
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
     if (signalNumber.isSmallInteger()) {
-	int sigNo = signalNumber.intValue();
-
-	if (sigNo != 0) {
-	    java.lang.System.err.println("ignored disable-signal: "+sigNo);
-	}
-	return context._RETURN(self);
+        int sigNo = signalNumber.intValue();
+
+        if (sigNo != 0) {
+            java.lang.System.err.println("ignored disable-signal: "+sigNo);
+        }
+        return context._RETURN(self);
     }
 #else
     if (__isSmallInteger(signalNumber)) {
-	int sigNo = __intVal(signalNumber);
-
-	if (sigNo == 0) {
-	    RETURN (self);
-	}
+        int sigNo = __intVal(signalNumber);
+
+        if (sigNo == 0) {
+            RETURN (self);
+        }
 # ifdef SIG_IGN
-	signal(sigNo, SIG_IGN);
-	RETURN (self);
+        signal(sigNo, SIG_IGN);
+        RETURN (self);
 # endif
     }
 #endif
@@ -6082,8 +6082,8 @@
 disableTimer
     "disable timer interrupts.
      WARNING:
-	the system will not operate correctly with timer interrupts
-	disabled, because no scheduling or timeouts are possible."
+        the system will not operate correctly with timer interrupts
+        disabled, because no scheduling or timeouts are possible."
 
 %{  /* NOCONTEXT */
 
@@ -6148,73 +6148,73 @@
 # endif
 
     if (__isSmallInteger(fd)) {
-	if (firstCall) {
+        if (firstCall) {
 # ifdef HAS_SIGACTION
-	    struct sigaction act;
-
-	    /*
-	     * Do not add SA_RESTART here. A signal can cause a
-	     * thread switch, another thread can do a garbage collect
-	     * and restarted system calls may write into old
-	     * (collected) addresses.
-	     */
-
-	    act.sa_flags = SA_SIGINFO; /* <- if you add more, remember dummys at the top */
-	    sigemptyset(&act.sa_mask);
-	    act.sa_handler = __signalIoInterrupt;
-	    sigaction(THESIGNAL, &act, 0);
+            struct sigaction act;
+
+            /*
+             * Do not add SA_RESTART here. A signal can cause a
+             * thread switch, another thread can do a garbage collect
+             * and restarted system calls may write into old
+             * (collected) addresses.
+             */
+
+            act.sa_flags = SA_SIGINFO; /* <- if you add more, remember dummys at the top */
+            sigemptyset(&act.sa_mask);
+            act.sa_handler = __signalIoInterrupt;
+            sigaction(THESIGNAL, &act, 0);
 # else
 #  ifdef HAS_SIGVEC
-	    struct sigvec vec;
-
-	    vec.sv_flags = SV_INTERRUPT;
-	    sigemptyset(&vec.sv_mask);
-	    vec.sv_handler = __signalIoInterrupt;
-	    sigvec(THESIGNAL, &vec, NULL);
+            struct sigvec vec;
+
+            vec.sv_flags = SV_INTERRUPT;
+            sigemptyset(&vec.sv_mask);
+            vec.sv_handler = __signalIoInterrupt;
+            sigvec(THESIGNAL, &vec, NULL);
 #  else
-	    signal(THESIGNAL, __signalIoInterrupt);
+            signal(THESIGNAL, __signalIoInterrupt);
 #  endif /* SIGVEC */
 # endif /* SIGACTION */
-	    firstCall = 0;
-	}
+            firstCall = 0;
+        }
 #undef THESIGNAL
 
-	f = __intVal(fd);
+        f = __intVal(fd);
 # if defined(SYSV4)
-	ret = ioctl(f, I_SETSIG, S_INPUT | S_HIPRI | S_ERROR | S_RDNORM | S_RDBAND | S_MSG | S_HANGUP);
+        ret = ioctl(f, I_SETSIG, S_INPUT | S_HIPRI | S_ERROR | S_RDNORM | S_RDBAND | S_MSG | S_HANGUP);
 # else /*! SYSV4*/
-	flags = fcntl(f, F_GETFL, 0);
-	/*
-	 * if already set, there is no need for this syscall ...
-	 */
-	if (flags & FASYNC) {
-	    ret = flags;
-	} else {
-	    ret = fcntl(f, F_SETFL, flags | FASYNC);
-	    if (ret >= 0) ret = flags;
-	}
+        flags = fcntl(f, F_GETFL, 0);
+        /*
+         * if already set, there is no need for this syscall ...
+         */
+        if (flags & FASYNC) {
+            ret = flags;
+        } else {
+            ret = fcntl(f, F_SETFL, flags | FASYNC);
+            if (ret >= 0) ret = flags;
+        }
 # endif /*!SYSV4*/
 
 # if defined(F_SETOWN) || defined(FIOSETOWN)
-	{
-	    int pid;
-	    int ok;
-
-	    pid = getpid();
+        {
+            int pid;
+            int ok;
+
+            pid = getpid();
 
 #  if defined(F_SETOWN)
-	    ok = fcntl(f, F_SETOWN, pid);
-	    /* printf("F_SETOWN returns %d (%d)\n", ret, errno); */
+            ok = fcntl(f, F_SETOWN, pid);
+            /* printf("F_SETOWN returns %d (%d)\n", ret, errno); */
 #  else
-	    ok = ioctl(f, FIOSETOWN, &pid);
-	    /* printf("FIOSETOWN returns %d (%d)\n", ret, errno); */
-#  endif
-	    if (ok < 0) {
-		ret = ok;
-	    }
-	}
-# endif
-	RETURN ( __MKUINT(ret) );
+            ok = ioctl(f, FIOSETOWN, &pid);
+            /* printf("FIOSETOWN returns %d (%d)\n", ret, errno); */
+#  endif
+            if (ok < 0) {
+                ret = ok;
+            }
+        }
+# endif
+        RETURN ( __MKUINT(ret) );
     }
 #endif
 %}.
@@ -6239,12 +6239,12 @@
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
     if (signalNumber.isSmallInteger()) {
-	int sigNo = signalNumber.intValue();
-
-	if (sigNo != 0) {
-	    java.lang.System.err.println("ignored enable-signal: "+sigNo);
-	}
-	return context._RETURN(self);
+        int sigNo = signalNumber.intValue();
+
+        if (sigNo != 0) {
+            java.lang.System.err.println("ignored enable-signal: "+sigNo);
+        }
+        return context._RETURN(self);
     }
 #else
 
@@ -6334,124 +6334,124 @@
      &&  (sigNr <= SIG_LIMIT)
 # endif
     ) {
-	/*
-	 * standard signals are forced into standard handlers
-	 * - all others go into general signalInterrupt
-	 */
+        /*
+         * standard signals are forced into standard handlers
+         * - all others go into general signalInterrupt
+         */
 # if defined(SIGPOLL) && defined(SIGIO)
-	if (sigNr == SIGPOLL)
-	    sigNr = SIGIO;
-# endif
-	switch (sigNr) {
-	    case 0:
-		/* enabling a non-supported signal */
-		RETURN (self);
+        if (sigNr == SIGPOLL)
+            sigNr = SIGIO;
+# endif
+        switch (sigNr) {
+            case 0:
+                /* enabling a non-supported signal */
+                RETURN (self);
 
 # ifdef SIGBREAK
-	    case SIGBREAK:
+            case SIGBREAK:
 # endif
 # ifdef SIGINT
-	    case SIGINT:
+            case SIGINT:
 # endif
 # ifdef SIGQUIT
-	    case SIGQUIT:
+            case SIGQUIT:
 # endif
 # if defined(SIGINT) || defined(SIGQUIT) || defined(SIGBREAK)
-		handler = __signalUserInterrupt;
-		break;
+                handler = __signalUserInterrupt;
+                break;
 # endif
 # ifdef SIGFPE
-	    case SIGFPE:
-		handler = __signalFpExceptionInterrupt;
-		break;
+            case SIGFPE:
+                handler = __signalFpExceptionInterrupt;
+                break;
 # endif
 
 # ifdef SIGPIPE
-	    case SIGPIPE:
-		handler = __signalPIPEInterrupt;
-		break;
+            case SIGPIPE:
+                handler = __signalPIPEInterrupt;
+                break;
 # endif
 # ifdef SIGBUS
-	    case SIGBUS:
-		handler = __signalBUSInterrupt;
-		break;
+            case SIGBUS:
+                handler = __signalBUSInterrupt;
+                break;
 # endif
 # ifdef SIGSEGV
-	    case SIGSEGV:
-		handler = __signalSEGVInterrupt;
-		break;
+            case SIGSEGV:
+                handler = __signalSEGVInterrupt;
+                break;
 # endif
 # ifdef SIGABRT
-	    case SIGABRT:
-		handler = __signalAbortInterrupt;
-		break;
+            case SIGABRT:
+                handler = __signalAbortInterrupt;
+                break;
 # endif
 # ifdef SIGILL
-	    case SIGILL:
-		handler = __signalTrapInterrupt;
-		break;
+            case SIGILL:
+                handler = __signalTrapInterrupt;
+                break;
 # endif
 # ifdef SIGEMT
-	    case SIGEMT:
-		handler = __signalTrapInterrupt;
-		break;
+            case SIGEMT:
+                handler = __signalTrapInterrupt;
+                break;
 # endif
 # ifdef SIGIO
-	    case SIGIO:
-		handler = __signalIoInterrupt;
-		break;
+            case SIGIO:
+                handler = __signalIoInterrupt;
+                break;
 # endif
 
 # ifdef CHILD_SIGNAL
-	    case CHILD_SIGNAL:
-		handler = __signalChildInterrupt;
-		break;
+            case CHILD_SIGNAL:
+                handler = __signalChildInterrupt;
+                break;
 # endif
 # ifdef SIGALRM
-	    case SIGALRM:
-		handler = __signalTimerInterrupt;
-		break;
-# endif
-
-	    default:
-		handler = __signalInterrupt;
-		break;
-	}
-
-	{
+            case SIGALRM:
+                handler = __signalTimerInterrupt;
+                break;
+# endif
+
+            default:
+                handler = __signalInterrupt;
+                break;
+        }
+
+        {
 # ifdef HAS_SIGACTION
-	    struct sigaction act;
-
-	    /*
-	     * Do not add SA_RESTART here. A signal can cause a
-	     * thread switch, another thread can do a garbage collect
-	     * and restarted system calls may write into old
-	     * (collected) addresses.
-	     */
-
-	    act.sa_flags = SA_SIGINFO; /* <- if you add more, remember dummys at the top */
-	    sigemptyset(&act.sa_mask);
-	    act.sa_handler = handler;
-	    sigaction(sigNr, &act, 0);
+            struct sigaction act;
+
+            /*
+             * Do not add SA_RESTART here. A signal can cause a
+             * thread switch, another thread can do a garbage collect
+             * and restarted system calls may write into old
+             * (collected) addresses.
+             */
+
+            act.sa_flags = SA_SIGINFO; /* <- if you add more, remember dummys at the top */
+            sigemptyset(&act.sa_mask);
+            act.sa_handler = handler;
+            sigaction(sigNr, &act, 0);
 # else
 #  ifdef HAS_SIGVEC
-	    struct sigvec vec;
-
-	    vec.sv_flags = SV_INTERRUPT;
-	    sigemptyset(&vec.sv_mask);
-	    vec.sv_handler = handler;
-	    sigvec(sigNr, &vec, NULL);
+            struct sigvec vec;
+
+            vec.sv_flags = SV_INTERRUPT;
+            sigemptyset(&vec.sv_mask);
+            vec.sv_handler = handler;
+            sigvec(sigNr, &vec, NULL);
 #  else
-	    (void) signal(sigNr, handler);
-#  endif
-# endif
-	}
-
-	/*
-	 * maybe, we should ret the old enable-status
-	 * as boolean here ...
-	 */
-	RETURN (self);
+            (void) signal(sigNr, handler);
+#  endif
+# endif
+        }
+
+        /*
+         * maybe, we should ret the old enable-status
+         * as boolean here ...
+         */
+        RETURN (self);
     }
 #endif /* not SCHTEAM */
 %}.
@@ -6468,10 +6468,10 @@
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
     if (milliSeconds.isSmallInteger()) {
-	long millis = milliSeconds.longValue();
-
-	java.lang.System.err.println("ignored enable-timer");
-	return context._RETURN(self);
+        long millis = milliSeconds.longValue();
+
+        java.lang.System.err.println("ignored enable-timer");
+        return context._RETURN(self);
     }
 #else
     int millis;
@@ -6480,60 +6480,60 @@
 
 # ifdef SIGALRM
     {
-	static int firstCall = 1;
+        static int firstCall = 1;
 #  ifndef __signalTimerInterrupt
-	extern void __signalTimerInterrupt(SIGHANDLER_ARG);
-#  endif
-
-	if (firstCall) {
+        extern void __signalTimerInterrupt(SIGHANDLER_ARG);
+#  endif
+
+        if (firstCall) {
 #  ifdef HAS_SIGACTION
-	    struct sigaction act;
-
-	    act.sa_flags = SA_SIGINFO; /* <- if you add more, remember dummys at the top */
-	    sigemptyset(&act.sa_mask);
-	    act.sa_handler = __signalTimerInterrupt;
-	    sigaction(SIGALRM, &act, 0);
+            struct sigaction act;
+
+            act.sa_flags = SA_SIGINFO; /* <- if you add more, remember dummys at the top */
+            sigemptyset(&act.sa_mask);
+            act.sa_handler = __signalTimerInterrupt;
+            sigaction(SIGALRM, &act, 0);
 #  else
 #   ifdef HAS_SIGVEC
-	    struct sigvec vec;
-
-	    vec.sv_flags = SV_INTERRUPT;
-	    sigemptyset(&vec.sv_mask);
-	    vec.sv_handler = __signalTimerInterrupt;
-	    sigvec(SIGALRM, &vec, NULL);
+            struct sigvec vec;
+
+            vec.sv_flags = SV_INTERRUPT;
+            sigemptyset(&vec.sv_mask);
+            vec.sv_handler = __signalTimerInterrupt;
+            sigvec(SIGALRM, &vec, NULL);
 #   else /* neither SIGACTION nor SIGVEC */
-	    signal(SIGALRM, __signalTimerInterrupt);
+            signal(SIGALRM, __signalTimerInterrupt);
 #   endif /* stupid system  */
 #  endif
-	    firstCall = 0;
-	}
+            firstCall = 0;
+        }
     }
 # endif /* SIGALRM */
 
 
 # if defined(ITIMER_REAL) && !defined(NO_SETITIMER)
     {
-	struct itimerval dt;
-
-	dt.it_interval.tv_sec = 0;
-	dt.it_interval.tv_usec = 0;
-	dt.it_value.tv_sec = millis / 1000;
-	dt.it_value.tv_usec = (millis % 1000) * 1000;
-	setitimer(ITIMER_REAL, &dt, 0);
-	RETURN (true);
+        struct itimerval dt;
+
+        dt.it_interval.tv_sec = 0;
+        dt.it_interval.tv_usec = 0;
+        dt.it_value.tv_sec = millis / 1000;
+        dt.it_value.tv_usec = (millis % 1000) * 1000;
+        setitimer(ITIMER_REAL, &dt, 0);
+        RETURN (true);
     }
 # else /* no ITIMER_REAL */
 
 #  ifdef USE_SLOW_ALARM
     {
-	/*
-	 * last fallback - use alarm (which only gives 1 second resolution).
-	 * If the system does not support any of the above, you have to life
-	 * with this. The consequence is that pressing CTRL-C processing and
-	 * thread switching will take place much delayed.
-	 */
-	alarm(1);
-	RETURN(true);
+        /*
+         * last fallback - use alarm (which only gives 1 second resolution).
+         * If the system does not support any of the above, you have to life
+         * with this. The consequence is that pressing CTRL-C processing and
+         * thread switching will take place much delayed.
+         */
+        alarm(1);
+        RETURN(true);
     }
 #  endif
 # endif /* ITIMER_REAL */
@@ -6568,8 +6568,8 @@
      The process has a no chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-	      you may have to fetch the processes exitstatus with
-	      OperatingSystem>>getStatusOfProcess:aProcessId."
+              you may have to fetch the processes exitstatus with
+              OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self sendSignal:(self sigKILL) to:processId toGroup:false toAll:false.
 
@@ -6581,8 +6581,8 @@
      The process has a no chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-	      you may have to fetch the processes exitstatus with
-	      OperatingSystem>>getStatusOfProcess:aProcessId."
+              you may have to fetch the processes exitstatus with
+              OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self sendSignal:(self sigKILL) to:processGroupId toGroup:false toAll:true.
 
@@ -6596,9 +6596,9 @@
      Do not confuse UNIX signals with Smalltalk-Signals.
 
      WARNING: in order to avoid zombie processes (on unix),
-	      you may have to fetch the processes exitstatus with
-	      OperatingSystem>>getStatusOfProcess:aProcessId
-	      if the signal terminates that process."
+              you may have to fetch the processes exitstatus with
+              OperatingSystem>>getStatusOfProcess:aProcessId
+              if the signal terminates that process."
 
     ^ self sendSignal:signalNumber to:processId toGroup:false toAll:false
 !
@@ -6610,42 +6610,42 @@
      toAll:   sends the signal with pid negated
 
      From Unix man page:
-	 If pid is greater than zero:
-	     Sig is sent to the process whose ID is equal to pid.
-
-	 If pid is zero:
-	     Sig is sent to all processes whose group ID is equal to the process group ID of the
-	     sender, and for which the process has permission; this is a variant of killpg(2).
-
-	 If pid is -1:
-	     If the user has super-user privileges, the signal is sent to all processes excluding
-	     system processes and the process sending the signal.  If the user is not the super user,
-	     the signal is sent to all processes with the same uid as the user, excluding the process
-	     sending the signal.  No error is returned if any process could be signaled.
+         If pid is greater than zero:
+             Sig is sent to the process whose ID is equal to pid.
+
+         If pid is zero:
+             Sig is sent to all processes whose group ID is equal to the process group ID of the
+             sender, and for which the process has permission; this is a variant of killpg(2).
+
+         If pid is -1:
+             If the user has super-user privileges, the signal is sent to all processes excluding
+             system processes and the process sending the signal.  If the user is not the super user,
+             the signal is sent to all processes with the same uid as the user, excluding the process
+             sending the signal.  No error is returned if any process could be signaled.
 
      Do not confuse UNIX signals with Smalltalk-Signals.
 
      WARNING: in order to avoid zombie processes (on unix),
-	      you may have to fetch the processes exitstatus with
-	      OperatingSystem>>getStatusOfProcess:aProcessId
-	      if the signal terminates that process."
+              you may have to fetch the processes exitstatus with
+              OperatingSystem>>getStatusOfProcess:aProcessId
+              if the signal terminates that process."
 
 %{
     if (__bothSmallInteger(signalNumber, processId)) {
-	int sigNo, pid;
-
-	sigNo = __intVal(signalNumber);
-	pid = __intVal(processId);
-	if (toAllBoolean == true) {
-	    pid = -pid;
-	} else if (toGroupBoolean == true) {
-	    pid = 0;
-	}
-	if (kill(pid, sigNo) < 0) {
-	    @global(LastErrorNumber) = __mkSmallInteger(errno);
-	    RETURN ( false );
-	}
-	RETURN ( true );
+        int sigNo, pid;
+
+        sigNo = __intVal(signalNumber);
+        pid = __intVal(processId);
+        if (toAllBoolean == true) {
+            pid = -pid;
+        } else if (toGroupBoolean == true) {
+            pid = 0;
+        }
+        if (kill(pid, sigNo) < 0) {
+            @global(LastErrorNumber) = __mkSmallInteger(errno);
+            RETURN ( false );
+        }
+        RETURN ( true );
     }
 %}.
     "/
@@ -6662,7 +6662,7 @@
      On systems, where no virtual timer is available, use the real timer
      (which is of course less correct).
      OBSOLETE: the new messageTally runs as a high prio process, not using
-	       spy interrupts."
+               spy interrupts."
 
 %{  /* NOCONTEXT */
 
@@ -6701,7 +6701,7 @@
 stopSpyTimer
     "stop spy timing - disable spy timer.
      OBSOLETE: the new messageTally runs as a high prio process, not using
-	       spy interrupts."
+               spy interrupts."
 
 %{  /* NOCONTEXT */
 
@@ -6724,8 +6724,8 @@
      The process has a chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-	      you may have to fetch the processes exitstatus with
-	      OperatingSystem>>getStatusOfProcess:aProcessId."
+              you may have to fetch the processes exitstatus with
+              OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self sendSignal:(self sigTERM) to:processId toGroup:false toAll:false.
 
@@ -6738,8 +6738,8 @@
      The process has a chance to do some cleanup.
 
      WARNING: in order to avoid zombie processes (on unix),
-	      you may have to fetch the processes exitstatus with
-	      OperatingSystem>>getStatusOfProcess:aProcessId."
+              you may have to fetch the processes exitstatus with
+              OperatingSystem>>getStatusOfProcess:aProcessId."
 
     self sendSignal:(self sigTERM) to:processGroupId toGroup:false toAll:true.
 
@@ -6762,8 +6762,8 @@
      int fds[2];
 
      if (socketpair(AF_UNIX, SOCK_STREAM, 0, fds) == -1) {
-	@global(LastErrorNumber) = __mkSmallInteger(errno);
-	RETURN ( nil );
+        @global(LastErrorNumber) = __mkSmallInteger(errno);
+        RETURN ( nil );
      }
 
      fd1 = __mkSmallInteger(fds[0]);
@@ -6771,7 +6771,7 @@
 #endif
 %}.
     fd1 notNil ifTrue:[
-	^ Array with:fd1 with:fd2.
+        ^ Array with:fd1 with:fd2.
     ].
     ^ nil
 !
@@ -6798,18 +6798,18 @@
 
     slaveName = _getpty(&_fdM, O_RDWR|O_NDELAY, 0600, 0);
     if ((slaveName != 0) && (_fdM >= 0)) {
-	_fdS = open(slaveName, O_RDWR);
-	if (_fdS < 0) {
-	    (void)close(_fdM);
-	    _fdS = _fdM = -1;
-	}
+        _fdS = open(slaveName, O_RDWR);
+        if (_fdS < 0) {
+            (void)close(_fdM);
+            _fdS = _fdM = -1;
+        }
     } else {
-	_fdM -1;
+        _fdM -1;
     }
     if ((_fdM >= 0) && (_fdS >= 0)) {
-	fdM = __mkSmallInteger(_fdM);
-	fdS = __mkSmallInteger(_fdS);
-	ptyName = __MKSTRING(slaveName);
+        fdM = __mkSmallInteger(_fdM);
+        fdS = __mkSmallInteger(_fdS);
+        ptyName = __MKSTRING(slaveName);
     }
 #   define PTY_IS_IMPLEMENTED 1
 #endif /* IRIX5 */
@@ -6825,37 +6825,37 @@
     _fdM = open("/dev/ptmx", O_RDWR | O_NOCTTY);
 
     if (_fdM >= 0) {
-	/*
-	** grantpt() changes owner, group and mode of the pseudo-tty
-	*/
-	grantpt(_fdM);
-	unlockpt(_fdM);
-	slaveName = ptsname(_fdM);
-
-	if (slaveName != NULL) {
-	    /* printf("slave is: %s\n", slaveName); */
-	    _fdS = open(slaveName, O_RDWR);
-	    if (_fdS < 0) {
-		(void)close(_fdM);
-		_fdS = _fdM = -1;
-	    }
+        /*
+        ** grantpt() changes owner, group and mode of the pseudo-tty
+        */
+        grantpt(_fdM);
+        unlockpt(_fdM);
+        slaveName = ptsname(_fdM);
+
+        if (slaveName != NULL) {
+            /* printf("slave is: %s\n", slaveName); */
+            _fdS = open(slaveName, O_RDWR);
+            if (_fdS < 0) {
+                (void)close(_fdM);
+                _fdS = _fdM = -1;
+            }
 #if defined(UNIXWARE) || defined(solaris)
-	    else {
-		/* push terminal modules on stream */
-		ioctl(_fdS, I_PUSH, "ptem");
-		ioctl(_fdS, I_PUSH, "ldterm");
-	    }
-#endif
-	} else {
-	    (void)close(_fdM);
-	    _fdS = _fdM = -1;
-	}
+            else {
+                /* push terminal modules on stream */
+                ioctl(_fdS, I_PUSH, "ptem");
+                ioctl(_fdS, I_PUSH, "ldterm");
+            }
+#endif
+        } else {
+            (void)close(_fdM);
+            _fdS = _fdM = -1;
+        }
     }
 
     if ((_fdM >= 0) && (_fdS >= 0)) {
-	fdM = __mkSmallInteger(_fdM);
-	fdS = __mkSmallInteger(_fdS);
-	ptyName = __MKSTRING(slaveName);
+        fdM = __mkSmallInteger(_fdM);
+        fdS = __mkSmallInteger(_fdS);
+        ptyName = __MKSTRING(slaveName);
     }
 #   define PTY_IS_IMPLEMENTED 1
 #endif /* HAS_UNIX98_PTY */
@@ -6923,57 +6923,57 @@
     strncpy(line, PTY_TEMPL, sizeof(PTY_TEMPL));
 
     if (ttygid == -2) {
-	struct group *gr;
-
-	if ((gr = getgrnam("tty")) != NULL)
-	    ttygid = gr->gr_gid;
-	else
-	    ttygid = -1;
+        struct group *gr;
+
+        if ((gr = getgrnam("tty")) != NULL)
+            ttygid = gr->gr_gid;
+        else
+            ttygid = -1;
     }
 
     for (cp1 = PTY_1_CHARS; *cp1; cp1++) {
-	line[len-2] = * cp1;
-
-	for( cp2 = PTY_2_CHARS; *cp2; cp2++ ) {
-	    line[PT_INDEX] = 'p';
-	    line[len-1] = *cp2;
-
-	    if ((_fdM = open(line, O_RDWR, 0)) < 0) {
-		if (errno == ENOENT) {
-		    _fdM = _fdS = -1;
-		    goto getOutOfHere; /* out of ptys */
-		}
-	    } else {
-		line[PT_INDEX] = 't';
-
-		/*
-		 * try to set owner and mode.
-		 * this works only if running under root
-		 */
-		(void) chown( line, getuid(), ttygid );
-		(void) chmod( line, S_IRUSR | S_IWUSR | S_IWGRP );
-
-		if( (_fdS = open(line, O_RDWR, 0)) >= 0 ) {
-		    slaveName = line;
-		    goto getOutOfHere; /* success */
-		}
-		(void) close(_fdM );
-	    }
-	}
+        line[len-2] = * cp1;
+
+        for( cp2 = PTY_2_CHARS; *cp2; cp2++ ) {
+            line[PT_INDEX] = 'p';
+            line[len-1] = *cp2;
+
+            if ((_fdM = open(line, O_RDWR, 0)) < 0) {
+                if (errno == ENOENT) {
+                    _fdM = _fdS = -1;
+                    goto getOutOfHere; /* out of ptys */
+                }
+            } else {
+                line[PT_INDEX] = 't';
+
+                /*
+                 * try to set owner and mode.
+                 * this works only if running under root
+                 */
+                (void) chown( line, getuid(), ttygid );
+                (void) chmod( line, S_IRUSR | S_IWUSR | S_IWGRP );
+
+                if( (_fdS = open(line, O_RDWR, 0)) >= 0 ) {
+                    slaveName = line;
+                    goto getOutOfHere; /* success */
+                }
+                (void) close(_fdM );
+            }
+        }
     }
   getOutOfHere: ;
 
     if ((_fdM >= 0) && (_fdS >= 0)) {
-	fdM = __mkSmallInteger(_fdM);
-	fdS = __mkSmallInteger(_fdS);
-	ptyName = __MKSTRING(slaveName);
+        fdM = __mkSmallInteger(_fdM);
+        fdS = __mkSmallInteger(_fdS);
+        ptyName = __MKSTRING(slaveName);
     }
 
 #endif /* ! defined(PTY_IS_IMPLEMENTED) */
 %}.
 
     fdM notNil ifTrue:[
-	^ Array with:fdM with:fdS with:ptyName.
+        ^ Array with:fdM with:fdS with:ptyName.
     ].
 
     ^ nil
@@ -7005,15 +7005,15 @@
      int fds[2];
 
      if (pipe(fds) < 0) {
-	@global(LastErrorNumber) = __mkSmallInteger(errno);
-	RETURN ( nil );
+        @global(LastErrorNumber) = __mkSmallInteger(errno);
+        RETURN ( nil );
      }
 
      fd1 = __mkSmallInteger(fds[0]);
      fd2 = __mkSmallInteger(fds[1]);
 %}.
     fd1 notNil ifTrue:[
-	^ Array with:fd1 with:fd2.
+        ^ Array with:fd1 with:fd2.
     ].
     ^ nil
 !
@@ -7025,12 +7025,12 @@
 
     printf("setMappingMaster fd:%d\n", (int)__intVal(fd));
     if (__isSmallInteger(fd)) {
-	if (tcgetattr( __intVal(fd), &switcher) < 0) RETURN (false);
-	switcher.c_iflag = 0;
-	switcher.c_oflag = 0;
-	if (tcsetattr( __intVal(fd), TCSANOW, &switcher) >= 0) {
-	    RETURN (true);
-	}
+        if (tcgetattr( __intVal(fd), &switcher) < 0) RETURN (false);
+        switcher.c_iflag = 0;
+        switcher.c_oflag = 0;
+        if (tcsetattr( __intVal(fd), TCSANOW, &switcher) >= 0) {
+            RETURN (true);
+        }
     }
 %}.
     ^ false
@@ -7045,11 +7045,11 @@
     if (__isSmallInteger(fd)
      && __isSmallInteger(w)
      && __isSmallInteger(h)) {
-	wsize.ws_row = (unsigned short)__intVal(h);
-	wsize.ws_col = (unsigned short)__intVal(w);
-	if (ioctl(__intVal(fd), TIOCSWINSZ, (char *)&wsize) >= 0) {
-	    RETURN (true);
-	}
+        wsize.ws_row = (unsigned short)__intVal(h);
+        wsize.ws_col = (unsigned short)__intVal(w);
+        if (ioctl(__intVal(fd), TIOCSWINSZ, (char *)&wsize) >= 0) {
+            RETURN (true);
+        }
     }
 #endif
 %}.
@@ -7063,8 +7063,8 @@
 %{
 #ifndef NO_SOCKET
     if (__isSmallInteger(fileDescriptor)) {
-	shutdown(__smallIntegerVal(fileDescriptor), 1);
-	RETURN(self);
+        shutdown(__smallIntegerVal(fileDescriptor), 1);
+        RETURN(self);
     }
 #endif
 %}.
@@ -7076,36 +7076,36 @@
 closeLeftOverFiles
     "a bad bad kludge and workaround for a big bug in the linux
      getAddrInfo implementation:
-	if it gets interrupted (via a timer, for example), its domain-name
-	socket remains open and is NEVER closed.
-	These open files collect up and lead to no-more-files eventually.
+        if it gets interrupted (via a timer, for example), its domain-name
+        socket remains open and is NEVER closed.
+        These open files collect up and lead to no-more-files eventually.
      Invoking this method helps in this situation."
 
     |p|
 
     p := PipeStream
-	    readingFrom:('lsof -p ' , (OperatingSystem getProcessId printString)).
+            readingFrom:('lsof -p ' , (OperatingSystem getProcessId printString)).
 
     p linesDo:[:line |
-	|words fd|
-
-	words := line asCollectionOfWords.
-	"/ COMMAND PID USER   FD   TYPE     DEVICE    SIZE    NODE NAME
-	words first = 'stx' ifTrue:[
-	    words second = (OperatingSystem getProcessId printString) ifTrue:[
-		(words fourth endsWith:'u') ifTrue:[
-		    (words fifth = 'IPv4') ifTrue:[
-			(words seventh = 'UDP') ifTrue:[
-			    (words last endsWith:'domain') ifTrue:[
-				fd := Number readFrom:(words fourth copyButLast).
+        |words fd|
+
+        words := line asCollectionOfWords.
+        "/ COMMAND PID USER   FD   TYPE     DEVICE    SIZE    NODE NAME
+        words first = 'stx' ifTrue:[
+            words second = (OperatingSystem getProcessId printString) ifTrue:[
+                (words fourth endsWith:'u') ifTrue:[
+                    (words fifth = 'IPv4') ifTrue:[
+                        (words seventh = 'UDP') ifTrue:[
+                            (words last endsWith:'domain') ifTrue:[
+                                fd := Number readFrom:(words fourth copyButLast).
 Transcript showCR:line.
-				OperatingSystem closeFd:fd.
-			    ]
-			]
-		    ]
-		]
-	    ]
-	]
+                                OperatingSystem closeFd:fd.
+                            ]
+                        ]
+                    ]
+                ]
+            ]
+        ]
     ].
     p close.
 
@@ -7122,10 +7122,10 @@
     int dupFd;
 
     if (__isSmallInteger(aFileDescriptor)) {
-	dupFd = dup(__smallIntegerVal(aFileDescriptor));
-	if (dupFd >= 0) {
-	    RETURN(__mkSmallInteger(dupFd));
-	}
+        dupFd = dup(__smallIntegerVal(aFileDescriptor));
+        if (dupFd >= 0) {
+            RETURN(__mkSmallInteger(dupFd));
+        }
     }
 %}.
     ^ self primitiveFailed.
@@ -7174,49 +7174,49 @@
 getDomainName
     "return the domain this host is in.
      Notice:
-	not all systems support this; on some, #unknown is returned."
+        not all systems support this; on some, #unknown is returned."
 
     |domainName idx hostName primDomainName|
 
     "/ use cached value, if present
     (DomainName notNil and:[DomainName ~~ #unknown]) ifTrue:[
-	^ DomainName
+        ^ DomainName
     ].
 
     primDomainName := domainName := self primGetDomainName.
     domainName = '(none)' ifTrue:[
-	domainName := nil.
+        domainName := nil.
     ].
     domainName isEmptyOrNil ifTrue:[
-	"sometimes, we can extract the domainName from the hostName ..."
-	hostName := self primGetHostName.
-	hostName notNil ifTrue:[
-	    idx := hostName indexOf:$..
-	    idx ~~ 0 ifTrue:[
-		domainName := hostName copyFrom:idx+1.
-	    ]
-	].
-	domainName isEmptyOrNil ifTrue:[
-	    "/ fallBack
-	    domainName := self getEnvironment:'DOMAIN'.
-
-	    "if #primGetDomainName did work, /bin/domainname would return the same result"
-	    (domainName isNil and:[primDomainName isNil]) ifTrue:[
-		domainName := self getCommandOutputFrom:'/bin/domainname'.
-		(domainName isEmptyOrNil or:[ domainName = '(none)' ]) ifTrue:[
-		    domainName := nil.
-		].
-	    ].
-	    domainName isNil ifTrue:[
-		DomainName ~~ #unknown ifTrue:[
-		    "/ only warn once - the warning can be ignored, if you do not use the domain name
-		    ObjectMemory debugPrinting ifTrue:[
-			'UnixOperatingSystem [info]: cannot find out domainname' infoPrintCR.
-		    ].
-		].
-		domainName := #unknown.
-	    ].
-	].
+        "sometimes, we can extract the domainName from the hostName ..."
+        hostName := self primGetHostName.
+        hostName notNil ifTrue:[
+            idx := hostName indexOf:$..
+            idx ~~ 0 ifTrue:[
+                domainName := hostName copyFrom:idx+1.
+            ]
+        ].
+        domainName isEmptyOrNil ifTrue:[
+            "/ fallBack
+            domainName := self getEnvironment:'DOMAIN'.
+
+            "if #primGetDomainName did work, /bin/domainname would return the same result"
+            (domainName isNil and:[primDomainName isNil]) ifTrue:[
+                domainName := self getCommandOutputFrom:'/bin/domainname'.
+                (domainName isEmptyOrNil or:[ domainName = '(none)' ]) ifTrue:[
+                    domainName := nil.
+                ].
+            ].
+            domainName isNil ifTrue:[
+                DomainName ~~ #unknown ifTrue:[
+                    "/ only warn once - the warning can be ignored, if you do not use the domain name
+                    ObjectMemory debugPrinting ifTrue:[
+                        'UnixOperatingSystem [info]: cannot find out domainname' infoPrintCR.
+                    ].
+                ].
+                domainName := #unknown.
+            ].
+        ].
     ].
 
     "cache, because domainName fetching may be expensive;
@@ -7252,9 +7252,9 @@
      * get the size of the environment
      */
     if (environ) {
-	for (env = environ; *env; env++) {
-	    nEnv++;
-	}
+        for (env = environ; *env; env++) {
+            nEnv++;
+        }
     }
 
     /*
@@ -7262,49 +7262,49 @@
      */
     resultArray = __ARRAY_NEW_INT(nEnv * 2);
     if (resultArray == nil) {
-	error = @symbol(allocationFailure);
-	goto bad;
+        error = @symbol(allocationFailure);
+        goto bad;
     }
 
     if (environ) {
-	int envIndex;
-
-	for (env = environ, envIndex = 0; *env; env++) {
-	    OBJ t;
-	    char *separatorPtr;
-
-	    separatorPtr = strchr(*env, '=');
-	    t = __MKSTRING_L(*env, separatorPtr-*env);
-	    __arrayVal(resultArray)[envIndex++] = t;
-	    __STORE(resultArray, t);
-	    if (separatorPtr == 0) {
-		t = nil;
-	    } else {
-		t = __MKSTRING(separatorPtr+1);
-	    }
-	    __arrayVal(resultArray)[envIndex++] = t;
-	    __STORE(resultArray, t);
-	}
+        int envIndex;
+
+        for (env = environ, envIndex = 0; *env; env++) {
+            OBJ t;
+            char *separatorPtr;
+
+            separatorPtr = strchr(*env, '=');
+            t = __MKSTRING_L(*env, separatorPtr-*env);
+            __arrayVal(resultArray)[envIndex++] = t;
+            __STORE(resultArray, t);
+            if (separatorPtr == 0) {
+                t = nil;
+            } else {
+                t = __MKSTRING(separatorPtr+1);
+            }
+            __arrayVal(resultArray)[envIndex++] = t;
+            __STORE(resultArray, t);
+        }
     }
 
 bad:;
 %}.
     error notNil ifTrue:[
-	^ self primitiveFailed:error.
+        ^ self primitiveFailed:error.
     ].
 
     sz := resultArray size.
     dict := Dictionary new:(sz // 2).
     1 to:sz by:2 do:[:i |
-	|key|
-
-	key := resultArray at:i.
-	key notNil ifTrue:[
-	    "same behavior as getenv() - the first entry takes precedence"
-	    (dict includesKey:key) ifFalse:[
-		dict at:key put:(resultArray at:i+1)
-	    ].
-	].
+        |key|
+
+        key := resultArray at:i.
+        key notNil ifTrue:[
+            "same behavior as getenv() - the first entry takes precedence"
+            (dict includesKey:key) ifFalse:[
+                dict at:key put:(resultArray at:i+1)
+            ].
+        ].
     ].
     ^ dict
 
@@ -7319,26 +7319,26 @@
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
     {
-	java.lang.String val = java.lang.System.getenv( aStringOrSymbol.asString() );
-	STObject retVal;
-
-	if (val == null) {
-	    retVal = STObject.Nil;
-	} else {
-	    retVal = new STString( val );
-	}
-	return context._RETURN( retVal );
-	/* NOTREACHED */
+        java.lang.String val = java.lang.System.getenv( aStringOrSymbol.asString() );
+        STObject retVal;
+
+        if (val == null) {
+            retVal = STObject.Nil;
+        } else {
+            retVal = new STString( val );
+        }
+        return context._RETURN( retVal );
+        /* NOTREACHED */
     }
 #else
     extern char *getenv();
 
     if (__isStringLike(aStringOrSymbol)) {
-	char *env =  getenv(__stringVal(aStringOrSymbol));
-	if (env) {
-	    RETURN ( __MKSTRING(env) );
-	}
-	RETURN ( nil );
+        char *env =  getenv(__stringVal(aStringOrSymbol));
+        if (env) {
+            RETURN ( __MKSTRING(env) );
+        }
+        RETURN ( nil );
     }
 #endif /* not SCHTEAM */
 %}.
@@ -7361,22 +7361,22 @@
     |hostName|
 
     (HostName notNil and:[HostName ~~ #unknown]) ifTrue:[
-	^ HostName
+        ^ HostName
     ].
 
     hostName := self primGetHostName.
     hostName isNil ifTrue:[
-	"fallBack - in non-antique systes we never come here"
-	hostName := self getEnvironment:'HOST'.
-	hostName isNil ifTrue:[
-	    hostName := self getCommandOutputFrom:'/bin/hostname'
-	].
-	hostName isNil ifTrue:[
-	    HostName ~~ #unknown ifTrue:[
-		'UnixOperatingSystem [info]: cannot find out hostname' infoPrintCR.
-		hostName := #unknown.
-	    ].
-	].
+        "fallBack - in non-antique systes we never come here"
+        hostName := self getEnvironment:'HOST'.
+        hostName isNil ifTrue:[
+            hostName := self getCommandOutputFrom:'/bin/hostname'
+        ].
+        hostName isNil ifTrue:[
+            HostName ~~ #unknown ifTrue:[
+                'UnixOperatingSystem [info]: cannot find out hostname' infoPrintCR.
+                hostName := #unknown.
+            ].
+        ].
     ].
 
     "cache, because hostname fetching may be expensive;
@@ -7394,42 +7394,42 @@
     "return a dictionary filled with values from the locale information;
      Not all fields may be present, depending on the OS's setup and capabilities.
      Possible fields are:
-	decimalPoint                    <String>
-
-	thousandsSep                    <String>
-
-	internationalCurrencySymbol     <String>
-
-	currencySymbol                  <String>
-
-	monetaryDecimalPoint            <String>
-
-	monetaryThousandsSeparator      <String>
-
-	positiveSign                    <String>
-
-	negativeSign                    <String>
-
-	internationalFractionalDigits   <Integer>
-
-	fractionalDigits                <Integer>
-
-	positiveSignPrecedesCurrencySymbol      <Boolean>
-
-	negativeSignPrecedesCurrencySymbol      <Boolean>
-
-	positiveSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
-
-	negativeSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
-
-	positiveSignPosition                            <Symbol>
-							one of: #parenthesesAround,
-								#signPrecedes,
-								#signSuceeds,
-								#signPrecedesCurrencySymbol,
-								#signSuceedsCurrencySymbol
-
-	negativeSignPosition                            <like above>
+        decimalPoint                    <String>
+
+        thousandsSep                    <String>
+
+        internationalCurrencySymbol     <String>
+
+        currencySymbol                  <String>
+
+        monetaryDecimalPoint            <String>
+
+        monetaryThousandsSeparator      <String>
+
+        positiveSign                    <String>
+
+        negativeSign                    <String>
+
+        internationalFractionalDigits   <Integer>
+
+        fractionalDigits                <Integer>
+
+        positiveSignPrecedesCurrencySymbol      <Boolean>
+
+        negativeSignPrecedesCurrencySymbol      <Boolean>
+
+        positiveSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
+
+        negativeSignSeparatedBySpaceFromCurrencySymbol  <Boolean>
+
+        positiveSignPosition                            <Symbol>
+                                                        one of: #parenthesesAround,
+                                                                #signPrecedes,
+                                                                #signSuceeds,
+                                                                #signPrecedesCurrencySymbol,
+                                                                #signSuceedsCurrencySymbol
+
+        negativeSignPosition                            <like above>
 
      it is up to the application to deal with undefined values.
 
@@ -7440,9 +7440,9 @@
     |info val|
 
     LocaleInfo notNil ifTrue:[
-	"/ return the internal info; useful on systems which do not
-	"/ support this.
-	^ LocaleInfo
+        "/ return the internal info; useful on systems which do not
+        "/ support this.
+        ^ LocaleInfo
     ].
 
     info := IdentityDictionary new.
@@ -7463,31 +7463,31 @@
     int   csNegSepBySpace;      /* money: 1 if currency symbol should be separated by a space from a negative value; 0 if no space */
     int   csPosSignPosition;    /* money: 0: ()'s around the value & currency symbol */
     int   csNegSignPosition;    /*        1: sign precedes the value & currency symbol */
-				/*        2: sign succeeds the value & currency symbol */
-				/*        3: sign immediately precedes the currency symbol */
-				/*        4: sign immediately suceeds the currency symbol */
+                                /*        2: sign succeeds the value & currency symbol */
+                                /*        3: sign immediately precedes the currency symbol */
+                                /*        4: sign immediately suceeds the currency symbol */
 
 #if defined(HAS_LOCALECONV)
     struct lconv *conf;
 
     conf = localeconv();
     if (conf) {
-	decimalPoint = conf->decimal_point;
-	thousandsSep = conf->thousands_sep;
-	intCurrencySymbol = conf->int_curr_symbol;
-	currencySymbol = conf->currency_symbol;
-	monDecimalPoint = conf->mon_decimal_point;
-	monThousandsSep = conf->mon_thousands_sep;
-	positiveSign = conf->positive_sign;
-	negativeSign = conf->negative_sign;
-	intFractDigits = conf->int_frac_digits;
-	fractDigits = conf->frac_digits;
-	csPosPrecedes = conf->p_cs_precedes;
-	csNegPrecedes = conf->n_cs_precedes;
-	csPosSepBySpace = conf->p_sep_by_space;
-	csNegSepBySpace = conf->n_sep_by_space;
-	csPosSignPosition = conf->p_sign_posn;
-	csNegSignPosition = conf->n_sign_posn;
+        decimalPoint = conf->decimal_point;
+        thousandsSep = conf->thousands_sep;
+        intCurrencySymbol = conf->int_curr_symbol;
+        currencySymbol = conf->currency_symbol;
+        monDecimalPoint = conf->mon_decimal_point;
+        monThousandsSep = conf->mon_thousands_sep;
+        positiveSign = conf->positive_sign;
+        negativeSign = conf->negative_sign;
+        intFractDigits = conf->int_frac_digits;
+        fractDigits = conf->frac_digits;
+        csPosPrecedes = conf->p_cs_precedes;
+        csNegPrecedes = conf->n_cs_precedes;
+        csPosSepBySpace = conf->p_sep_by_space;
+        csNegSepBySpace = conf->n_sep_by_space;
+        csPosSignPosition = conf->p_sign_posn;
+        csNegSignPosition = conf->n_sign_posn;
     }
 #else
     decimalPoint = (char *)0;
@@ -7508,129 +7508,129 @@
     csNegSignPosition = -1;
 #endif
     if (decimalPoint) {
-	val = __MKSTRING(decimalPoint);
-	__AT_PUT_(info, @symbol(decimalPoint), val);
+        val = __MKSTRING(decimalPoint);
+        __AT_PUT_(info, @symbol(decimalPoint), val);
     }
     if (thousandsSep) {
-	val = __MKSTRING(thousandsSep);
-	__AT_PUT_(info, @symbol(thousandsSeparator), val);
+        val = __MKSTRING(thousandsSep);
+        __AT_PUT_(info, @symbol(thousandsSeparator), val);
     }
     if (intCurrencySymbol) {
-	val = __MKSTRING(intCurrencySymbol);
-	__AT_PUT_(info, @symbol(internationCurrencySymbol), val);
+        val = __MKSTRING(intCurrencySymbol);
+        __AT_PUT_(info, @symbol(internationCurrencySymbol), val);
     }
     if (currencySymbol) {
-	val = __MKSTRING(currencySymbol);
-	__AT_PUT_(info, @symbol(currencySymbol), val);
+        val = __MKSTRING(currencySymbol);
+        __AT_PUT_(info, @symbol(currencySymbol), val);
     }
     if (monDecimalPoint) {
-	val = __MKSTRING(monDecimalPoint);
-	__AT_PUT_(info, @symbol(monetaryDecimalPoint), val);
+        val = __MKSTRING(monDecimalPoint);
+        __AT_PUT_(info, @symbol(monetaryDecimalPoint), val);
     }
     if (monThousandsSep) {
-	val = __MKSTRING(monThousandsSep);
-	__AT_PUT_(info, @symbol(monetaryThousandsSeparator), val);
+        val = __MKSTRING(monThousandsSep);
+        __AT_PUT_(info, @symbol(monetaryThousandsSeparator), val);
     }
     if (positiveSign) {
-	val = __MKSTRING(positiveSign);
-	__AT_PUT_(info, @symbol(positiveSign), val);
+        val = __MKSTRING(positiveSign);
+        __AT_PUT_(info, @symbol(positiveSign), val);
     }
     if (negativeSign) {
-	val = __MKSTRING(negativeSign);
-	__AT_PUT_(info, @symbol(negativeSign), val);
+        val = __MKSTRING(negativeSign);
+        __AT_PUT_(info, @symbol(negativeSign), val);
     }
     if (intFractDigits >= 0) {
-	__AT_PUT_(info, @symbol(internationalFractionalDigits),  __mkSmallInteger(intFractDigits));
+        __AT_PUT_(info, @symbol(internationalFractionalDigits),  __mkSmallInteger(intFractDigits));
     }
     if (fractDigits >= 0) {
-	__AT_PUT_(info, @symbol(fractionalDigits),  __mkSmallInteger(fractDigits));
+        __AT_PUT_(info, @symbol(fractionalDigits),  __mkSmallInteger(fractDigits));
     }
     if (csPosPrecedes >= 0) {
-	if (csPosPrecedes == 0) {
-	    val = false;
-	} else {
-	    val = true;
-	}
-	__AT_PUT_(info, @symbol(positiveSignPrecedesCurrencySymbol), val );
+        if (csPosPrecedes == 0) {
+            val = false;
+        } else {
+            val = true;
+        }
+        __AT_PUT_(info, @symbol(positiveSignPrecedesCurrencySymbol), val );
     }
     if (csNegPrecedes >= 0) {
-	if (csNegPrecedes == 0) {
-	    val = false;
-	} else {
-	    val = true;
-	}
-	__AT_PUT_(info, @symbol(negativeSignPrecedesCurrencySymbol), val );
+        if (csNegPrecedes == 0) {
+            val = false;
+        } else {
+            val = true;
+        }
+        __AT_PUT_(info, @symbol(negativeSignPrecedesCurrencySymbol), val );
     }
     if (csPosSepBySpace >= 0) {
-	if (csPosSepBySpace == 0) {
-	    val = false;
-	} else {
-	    val = true;
-	}
-	__AT_PUT_(info, @symbol(positiveSignSeparatedBySpaceFromCurrencySymbol), val);
+        if (csPosSepBySpace == 0) {
+            val = false;
+        } else {
+            val = true;
+        }
+        __AT_PUT_(info, @symbol(positiveSignSeparatedBySpaceFromCurrencySymbol), val);
     }
     if (csNegSepBySpace >= 0) {
-	if (csNegSepBySpace == 0) {
-	    val = false;
-	} else {
-	    val = true;
-	}
-	__AT_PUT_(info, @symbol(negativeSignSeparatedBySpaceFromCurrencySymbol), val);
+        if (csNegSepBySpace == 0) {
+            val = false;
+        } else {
+            val = true;
+        }
+        __AT_PUT_(info, @symbol(negativeSignSeparatedBySpaceFromCurrencySymbol), val);
     }
     switch (csPosSignPosition) {
-	case 0:
-	    val = @symbol(parenthesesAround);
-	    break;
-
-	case 1:
-	    val = @symbol(signPrecedes);
-	    break;
-
-	case 2:
-	    val = @symbol(signSuceeds);
-	    break;
-
-	case 3:
-	    val = @symbol(signPrecedesCurrencySymbol);
-	    break;
-
-	case 4:
-	    val = @symbol(signSuceedsCurrencySymbol);
-	    break;
-
-	default:
-	    val = nil;
+        case 0:
+            val = @symbol(parenthesesAround);
+            break;
+
+        case 1:
+            val = @symbol(signPrecedes);
+            break;
+
+        case 2:
+            val = @symbol(signSuceeds);
+            break;
+
+        case 3:
+            val = @symbol(signPrecedesCurrencySymbol);
+            break;
+
+        case 4:
+            val = @symbol(signSuceedsCurrencySymbol);
+            break;
+
+        default:
+            val = nil;
     }
     if (val != nil) {
-	__AT_PUT_(info, @symbol(positiveSignPosition), val);
+        __AT_PUT_(info, @symbol(positiveSignPosition), val);
     }
 
     switch (csNegSignPosition) {
-	case 0:
-	    val = @symbol(parenthesesAround);
-	    break;
-
-	case 1:
-	    val = @symbol(signPrecedes);
-	    break;
-
-	case 2:
-	    val = @symbol(signSuceeds);
-	    break;
-
-	case 3:
-	    val = @symbol(signPrecedesCurrencySymbol);
-	    break;
-
-	case 4:
-	    val = @symbol(signSuceedsCurrencySymbol);
-	    break;
-
-	default:
-	    val = nil;
+        case 0:
+            val = @symbol(parenthesesAround);
+            break;
+
+        case 1:
+            val = @symbol(signPrecedes);
+            break;
+
+        case 2:
+            val = @symbol(signSuceeds);
+            break;
+
+        case 3:
+            val = @symbol(signPrecedesCurrencySymbol);
+            break;
+
+        case 4:
+            val = @symbol(signSuceedsCurrencySymbol);
+            break;
+
+        default:
+            val = nil;
     }
     if (val != nil) {
-	__AT_PUT_(info, @symbol(negativeSignPosition), val);
+        __AT_PUT_(info, @symbol(negativeSignPosition), val);
     }
 %}.
     ^ info
@@ -7644,15 +7644,15 @@
 
 getNetworkAddressInfo
     "return a Dictionary of network interface information.
-	key -> name of interface
-	value -> a Set of network address
-		information for the interface - a dictionaries containing the
-		information about the configuration of each interface in the system.
-		The dictionary keys are:
-		    #address
-		    #netmask
-		    #flags
-		    #destAddress"
+        key -> name of interface
+        value -> a Set of network address
+                information for the interface - a dictionaries containing the
+                information about the configuration of each interface in the system.
+                The dictionary keys are:
+                    #address
+                    #netmask
+                    #flags
+                    #destAddress"
 
     |returnArray addressArray nameArray noOfIf retDictionary error retIndex|
 
@@ -7671,8 +7671,8 @@
     OBJ t;
 
     if (getifaddrs(&ifap) < 0) {
-	error = __MKSTRING("getifaddrs() failed");
-	goto out;
+        error = __MKSTRING("getifaddrs() failed");
+        goto out;
     }
 
     for (ifaLoop = ifap; ifaLoop != 0; ifaLoop = ifaLoop->ifa_next) n_ifa++;
@@ -7681,57 +7681,57 @@
     returnArray = __ARRAY_NEW_INT(n_ifa*6);
 
     if (returnArray == nil) {
-	/* Creating a string wouldn't work here */
-	error = @symbol(allocationFailure);
-	goto bad;
+        /* Creating a string wouldn't work here */
+        error = @symbol(allocationFailure);
+        goto bad;
     }
 
     for (ifaLoop = ifap; ifaLoop != 0; ifaLoop = ifaLoop->ifa_next) {
-	int family, len;
-
-	if (ifaLoop->ifa_addr == 0)
-	       continue;
-	family = ifaLoop->ifa_addr->sa_family;
-	switch (family) {
-	    case AF_INET:
-		len = sizeof(struct sockaddr_in);
-		break;
-	    case AF_INET6:
-		len = sizeof(struct sockaddr_in6);
-		break;
+        int family, len;
+
+        if (ifaLoop->ifa_addr == 0)
+               continue;
+        family = ifaLoop->ifa_addr->sa_family;
+        switch (family) {
+            case AF_INET:
+                len = sizeof(struct sockaddr_in);
+                break;
+            case AF_INET6:
+                len = sizeof(struct sockaddr_in6);
+                break;
 # ifdef WANT__AF_PACKET
-	    case AF_PACKET:
-		len = sizeof(struct sockaddr_ll);
-		break;
+            case AF_PACKET:
+                len = sizeof(struct sockaddr_ll);
+                break;
 #endif
 # ifdef WANT__AF_LINK
-	    case AF_LINK:
-		len = sizeof(struct sockaddr_dl);
-		break;
-#endif
-	    default:
-		/* skip */
-		continue;
-	};
-	t = __MKSTRING(ifaLoop->ifa_name);
-	__arrayVal(returnArray)[retI++] = t; __STORE(returnArray, t);
-	t = __MKUINT(ifaLoop->ifa_flags);
-	__arrayVal(returnArray)[retI++] = t; __STORE(returnArray, t);
-	t = __MKBYTEARRAY((char *)ifaLoop->ifa_addr, len);
-	__arrayVal(returnArray)[retI++] = t; __STORE(returnArray, t);
-	if (ifaLoop->ifa_netmask != 0) {
-	    t = __MKBYTEARRAY((char *)ifaLoop->ifa_netmask, len);
-	    __arrayVal(returnArray)[retI] = t; __STORE(returnArray, t);
-	}
-	retI++;
-	if ((ifaLoop->ifa_flags&IFF_POINTOPOINT) && ifaLoop->ifa_dstaddr != 0) {
-	    t = __MKBYTEARRAY((char *)ifaLoop->ifa_dstaddr, len);
-	    __arrayVal(returnArray)[retI++] = t; __STORE(returnArray, t);
-	} else if (retI++, ifaLoop->ifa_broadaddr != 0) {
-	    t = __MKBYTEARRAY((char *)ifaLoop->ifa_broadaddr, len);
-	    __arrayVal(returnArray)[retI] = t; __STORE(returnArray, t);
-	}
-	retI++;
+            case AF_LINK:
+                len = sizeof(struct sockaddr_dl);
+                break;
+#endif
+            default:
+                /* skip */
+                continue;
+        };
+        t = __MKSTRING(ifaLoop->ifa_name);
+        __arrayVal(returnArray)[retI++] = t; __STORE(returnArray, t);
+        t = __MKUINT(ifaLoop->ifa_flags);
+        __arrayVal(returnArray)[retI++] = t; __STORE(returnArray, t);
+        t = __MKBYTEARRAY((char *)ifaLoop->ifa_addr, len);
+        __arrayVal(returnArray)[retI++] = t; __STORE(returnArray, t);
+        if (ifaLoop->ifa_netmask != 0) {
+            t = __MKBYTEARRAY((char *)ifaLoop->ifa_netmask, len);
+            __arrayVal(returnArray)[retI] = t; __STORE(returnArray, t);
+        }
+        retI++;
+        if ((ifaLoop->ifa_flags&IFF_POINTOPOINT) && ifaLoop->ifa_dstaddr != 0) {
+            t = __MKBYTEARRAY((char *)ifaLoop->ifa_dstaddr, len);
+            __arrayVal(returnArray)[retI++] = t; __STORE(returnArray, t);
+        } else if (retI++, ifaLoop->ifa_broadaddr != 0) {
+            t = __MKBYTEARRAY((char *)ifaLoop->ifa_broadaddr, len);
+            __arrayVal(returnArray)[retI] = t; __STORE(returnArray, t);
+        }
+        retI++;
     }
 
 bad:
@@ -7741,40 +7741,40 @@
 %}.
 
     error notNil ifTrue:[
-	self primitiveFailed:error.
-	"return empty dictionary if proceeding from error"
-	^  Dictionary new.
+        self primitiveFailed:error.
+        "return empty dictionary if proceeding from error"
+        ^  Dictionary new.
     ].
 
     retDictionary := OrderedDictionary new:noOfIf.
     retIndex := 1.
 
     1 to:noOfIf do:[:cnt|
-	|name addressBytes set dict|
-
-	name := returnArray at:retIndex.
-	addressBytes := returnArray at:retIndex+2.
-
-	addressBytes notNil ifTrue:[
-	    set := retDictionary at:name ifAbsentPut:[OrderedCollection new].
-	    dict := Dictionary new:4.
-	    dict at:#flags put:(returnArray at:retIndex+1).
-	    dict at:#address put:(SocketAddress fromBytes:addressBytes).
-	    addressBytes := returnArray at:retIndex+3.
-	    addressBytes notNil ifTrue:[
-		dict at:#netMask put:(SocketAddress fromBytes:addressBytes).
-	    ].
-	    addressBytes := returnArray at:retIndex+4.
-	    addressBytes notNil ifTrue:[
-		dict at:#destAddress put:(SocketAddress fromBytes:addressBytes).
-	    ].
-	    addressBytes := returnArray at:retIndex+5.
-	    addressBytes notNil ifTrue:[
-		dict at:#broadcastAddress put:(SocketAddress fromBytes:addressBytes).
-	    ].
-	    set add:dict.
-	].
-	retIndex := retIndex + 6.
+        |name addressBytes set dict|
+
+        name := returnArray at:retIndex.
+        addressBytes := returnArray at:retIndex+2.
+
+        addressBytes notNil ifTrue:[
+            set := retDictionary at:name ifAbsentPut:[OrderedCollection new].
+            dict := Dictionary new:4.
+            dict at:#flags put:(returnArray at:retIndex+1).
+            dict at:#address put:(SocketAddress fromBytes:addressBytes).
+            addressBytes := returnArray at:retIndex+3.
+            addressBytes notNil ifTrue:[
+                dict at:#netMask put:(SocketAddress fromBytes:addressBytes).
+            ].
+            addressBytes := returnArray at:retIndex+4.
+            addressBytes notNil ifTrue:[
+                dict at:#destAddress put:(SocketAddress fromBytes:addressBytes).
+            ].
+            addressBytes := returnArray at:retIndex+5.
+            addressBytes notNil ifTrue:[
+                dict at:#broadcastAddress put:(SocketAddress fromBytes:addressBytes).
+            ].
+            set add:dict.
+        ].
+        retIndex := retIndex + 6.
     ].
 
     ^ retDictionary
@@ -7786,8 +7786,8 @@
 
 getNetworkAddresses
     "return a dictionary filled with
-	key -> name of interface
-	value -> the first socket address of the interface
+        key -> name of interface
+        value -> the first socket address of the interface
      for each interface"
 
     |addressInfo newDict|
@@ -7796,20 +7796,20 @@
     newDict := OrderedDictionary new:addressInfo size.
 
     addressInfo keysAndValuesDo:[:ifName :infoColl|
-	newDict at:ifName put:(infoColl first at:#address)
+        newDict at:ifName put:(infoColl first at:#address)
     ].
 
     ^ newDict.
 
     "
-	self getNetworkAddresses
+        self getNetworkAddresses
     "
 !
 
 getNetworkMACAddresses
     "return a dictionary filled with
-	key -> name of interface
-	value -> the MAC address (as ByteArray)
+        key -> name of interface
+        value -> the MAC address (as ByteArray)
      for each interface"
 
     |addressArray nameArray noOfIf retDictionary error|
@@ -7832,8 +7832,8 @@
 
     afinet_socket = socket(AF_INET, SOCK_DGRAM, 0);
     if (afinet_socket < 0) {
-	error = __MKSTRING("Cannot open socket");
-	goto bad;
+        error = __MKSTRING("Cannot open socket");
+        goto bad;
     }
 
     /*
@@ -7844,8 +7844,8 @@
     ifc.ifc_buf = (caddr_t) buf;
 
     if (ioctl (afinet_socket, SIOCGIFCONF, (caddr_t) &ifc) < 0) {
-	error = __MKSTRING("ioctl(SIOCGIFCONF) failed");
-	goto bad;
+        error = __MKSTRING("ioctl(SIOCGIFCONF) failed");
+        goto bad;
     }
 
     // get the number of interfaces in the returned structure
@@ -7861,19 +7861,19 @@
     n_ifs = ifc.ifc_len / sizeof (struct ifreq);
 #else
     {
-	unsigned char *cp = buf;
-	unsigned char *limit = buf + ifc.ifc_len;
-
-	n_ifs = 0;
-	while (cp < limit) {
-	    int sz;
-
-	    ifr = (struct ifreq *)cp;
-	    sz = IFNAMSIZ + ifr->ifr_addr.sa_len;
-
-	    cp += sz;
-	    n_ifs++;
-	}
+        unsigned char *cp = buf;
+        unsigned char *limit = buf + ifc.ifc_len;
+
+        n_ifs = 0;
+        while (cp < limit) {
+            int sz;
+
+            ifr = (struct ifreq *)cp;
+            sz = IFNAMSIZ + ifr->ifr_addr.sa_len;
+
+            cp += sz;
+            n_ifs++;
+        }
     }
 #endif
 
@@ -7881,9 +7881,9 @@
     addressArray = __ARRAY_NEW_INT(n_ifs);
 
     if (nameArray == nil || addressArray == nil) {
-	/* Creating a string wouldn/t work here */
-	error = @symbol(allocationFailure);
-	goto bad;
+        /* Creating a string wouldn/t work here */
+        error = @symbol(allocationFailure);
+        goto bad;
     }
 
     /*
@@ -7894,107 +7894,107 @@
     countOfIf = 0;
 
     for (i=0, ifr = ifc.ifc_req; i < n_ifs; i++) {
-	/*
-	** Get Flags for this interface
-	*/
+        /*
+        ** Get Flags for this interface
+        */
 
 # ifndef __osx__ // SIOCGIFFLAGS fails on osx (Q@sv: what is this needed for anyway?)
-	{
-	    struct ifreq ifreq;
-	    memcpy(&ifreq, ifr, sizeof(ifreq));
-	    if (ioctl (afinet_socket, SIOCGIFFLAGS, &ifreq) < 0) {
-		if (@global(InfoPrinting) == true) {
-		    fprintf(stderr, "OS [warning]: ioctl(SIOCGIFFLAGS) failed");
-		}
-	    }
-	}
-# endif
-	{
+        {
+            struct ifreq ifreq;
+            memcpy(&ifreq, ifr, sizeof(ifreq));
+            if (ioctl (afinet_socket, SIOCGIFFLAGS, &ifreq) < 0) {
+                if (@global(InfoPrinting) == true) {
+                    fprintf(stderr, "OS [warning]: ioctl(SIOCGIFFLAGS) failed");
+                }
+            }
+        }
+# endif
+        {
 # ifdef SIOCGIFHWADDR
-	    /*
-	    ** Get Hardware address for this interface
-	    */
-	    {
-		struct ifreq ifreq;
-		memcpy(&ifreq, ifr, sizeof(ifreq));
-		if (ioctl (afinet_socket, SIOCGIFHWADDR, &ifreq) >= 0) {
-		    t = __MKBYTEARRAY(&ifreq.ifr_hwaddr.sa_data, IFHWADDRLEN);
-		    __arrayVal(addressArray)[countOfIf] = t; __STORE(addressArray, t);
-		    t = __MKSTRING(&ifreq.ifr_name);
-		    __arrayVal(nameArray)[countOfIf] = t; __STORE(nameArray, t);
-		    countOfIf += 1;
-		}
-	    }
+            /*
+            ** Get Hardware address for this interface
+            */
+            {
+                struct ifreq ifreq;
+                memcpy(&ifreq, ifr, sizeof(ifreq));
+                if (ioctl (afinet_socket, SIOCGIFHWADDR, &ifreq) >= 0) {
+                    t = __MKBYTEARRAY(&ifreq.ifr_hwaddr.sa_data, IFHWADDRLEN);
+                    __arrayVal(addressArray)[countOfIf] = t; __STORE(addressArray, t);
+                    t = __MKSTRING(&ifreq.ifr_name);
+                    __arrayVal(nameArray)[countOfIf] = t; __STORE(nameArray, t);
+                    countOfIf += 1;
+                }
+            }
 
 #else
-	    // macosx has no SIOCGIFHWADDR
-	    // printf("family: %d\n", ifr->ifr_addr.sa_family);
-	    // printf("name: %s\n", ifr->ifr_name);
-
-	    if (ifr->ifr_addr.sa_family == AF_LINK) {
-		struct sockaddr_dl *sdl;
-		char *adr;
-		extern char *ether_ntoa();
-		unsigned char mac[6];
-		int a,b,c,d,e,f;
-
-		sdl = (struct sockaddr_dl *)&(ifr->ifr_addr);
-		adr = ether_ntoa(LLADDR(sdl));
-		// printf("name: %s adr: %s\n", ifr->ifr_name, adr);
-		sscanf(adr, "%x:%x:%x:%x:%x:%x", &a, &b, &c, &d, &e, &f);
-		mac[0] = a;
-		mac[1] = b;
-		mac[2] = c;
-		mac[3] = d;
-		mac[4] = e;
-		mac[5] = f;
-
-		t = __MKBYTEARRAY(mac, 6);
-		__arrayVal(addressArray)[countOfIf] = t; __STORE(addressArray, t);
-		t = __MKSTRING(ifr->ifr_name);
-		__arrayVal(nameArray)[countOfIf] = t; __STORE(nameArray, t);
-		countOfIf += 1;
-	    }
-#endif
-	}
-
-	// see (sigh) comment above
+            // macosx has no SIOCGIFHWADDR
+            // printf("family: %d\n", ifr->ifr_addr.sa_family);
+            // printf("name: %s\n", ifr->ifr_name);
+
+            if (ifr->ifr_addr.sa_family == AF_LINK) {
+                struct sockaddr_dl *sdl;
+                char *adr;
+                extern char *ether_ntoa();
+                unsigned char mac[6];
+                int a,b,c,d,e,f;
+
+                sdl = (struct sockaddr_dl *)&(ifr->ifr_addr);
+                adr = ether_ntoa(LLADDR(sdl));
+                // printf("name: %s adr: %s\n", ifr->ifr_name, adr);
+                sscanf(adr, "%x:%x:%x:%x:%x:%x", &a, &b, &c, &d, &e, &f);
+                mac[0] = a;
+                mac[1] = b;
+                mac[2] = c;
+                mac[3] = d;
+                mac[4] = e;
+                mac[5] = f;
+
+                t = __MKBYTEARRAY(mac, 6);
+                __arrayVal(addressArray)[countOfIf] = t; __STORE(addressArray, t);
+                t = __MKSTRING(ifr->ifr_name);
+                __arrayVal(nameArray)[countOfIf] = t; __STORE(nameArray, t);
+                countOfIf += 1;
+            }
+#endif
+        }
+
+        // see (sigh) comment above
 #ifndef __osx__
-	ifr++;
+        ifr++;
 #else
-	{
-	    int sz = IFNAMSIZ + ifr->ifr_addr.sa_len;
-
-	    ifr = (struct ifreq *)( ((char *)ifr)+sz );
-	}
+        {
+            int sz = IFNAMSIZ + ifr->ifr_addr.sa_len;
+
+            ifr = (struct ifreq *)( ((char *)ifr)+sz );
+        }
 #endif
     }
 
     noOfIf = __mkSmallInteger(countOfIf);
 bad:
     if (afinet_socket >= 0)
-	close(afinet_socket);
+        close(afinet_socket);
 #else
     error = @symbol(notSupported);
 #endif /* SIOCGIFHWADDR */
 %}.
 
     error notNil ifTrue:[
-	self primitiveFailed:error.
-	"return an empty dictionary if proceed from error"
-	^  Dictionary new.
+        self primitiveFailed:error.
+        "return an empty dictionary if proceed from error"
+        ^  Dictionary new.
     ].
 
     "we prefer OrderedDictionary here, because we want to keep the
      order as defined in the OS."
     retDictionary := OrderedDictionary new:noOfIf.
     1 to:noOfIf do:[:cnt|
-	|macAddress|
-
-	macAddress := addressArray at:cnt.
-	macAddress ~= #[0 0 0 0 0 0] ifTrue:[
-	    retDictionary at:(nameArray at:cnt) put:macAddress.
-	].
+        |macAddress|
+
+        macAddress := addressArray at:cnt.
+        macAddress ~= #[0 0 0 0 0 0] ifTrue:[
+            retDictionary at:(nameArray at:cnt) put:macAddress.
+        ].
     ].
 
     ^ retDictionary
@@ -8053,20 +8053,20 @@
     "if supported by the OS, return the systemID;
      a unique per machine identification.
      WARNING:
-	not all systems support this; on some, #unknown is returned."
+        not all systems support this; on some, #unknown is returned."
 
 %{  /* NOCONTEXT */
 #if defined(HAS_SYSINFO) && defined(SI_HW_SERIAL)
     {
-	char buffer[128];
-
-	buffer[0] = 0;
-	if (sysinfo(SI_HW_SERIAL, buffer, sizeof(buffer))) {
-	    buffer[127] = 0;
-	    if (strlen(buffer) > 0) {
-		RETURN(__MKSTRING(buffer));
-	    }
-	}
+        char buffer[128];
+
+        buffer[0] = 0;
+        if (sysinfo(SI_HW_SERIAL, buffer, sizeof(buffer))) {
+            buffer[127] = 0;
+            if (strlen(buffer) > 0) {
+                RETURN(__MKSTRING(buffer));
+            }
+        }
     }
 #elif defined(HAS_GETHOSTID)
     int runningId;
@@ -8083,9 +8083,9 @@
     OBJ arr;
 
     if ((retVal = syssgi(SGI_SYSID, idBuffer)) == 0) {
-	arr = __BYTEARRAY_UNINITIALIZED_NEW_INT(MAXSYSIDSIZE);
-	bcopy(idBuffer, __byteArrayVal(arr), MAXSYSIDSIZE);
-	RETURN (arr);
+        arr = __BYTEARRAY_UNINITIALIZED_NEW_INT(MAXSYSIDSIZE);
+        bcopy(idBuffer, __byteArrayVal(arr), MAXSYSIDSIZE);
+        RETURN (arr);
     }
 #endif
 %}.
@@ -8109,56 +8109,56 @@
        This method is mainly provided to augment error reports with some system
        information.
        (in case of system/version specific OS errors, conditional workarounds and patches
-	may be based upon this info).
+        may be based upon this info).
        Also, applications could enable/disable buffering or otherwise reduce
        their memory usage depending upon the amount of memory installed.
        Your application may make use of available information for tuning,
        but should NEVER DEPEND upon this in any way.
 
      The returned info may (or may not) contain:
-	#system -> some operating system identification (irix, Linux, nt, win32s ...)
-	#version -> OS version (some os version identification)
-	#release -> OS release (3.5, 1.2.1 ...)
-	#node   -> some host identification (hostname)
-	#domain  -> domain name (hosts domain)
-	#machine -> type of CPU (i586, mips ...)
+        #system -> some operating system identification (irix, Linux, nt, win32s ...)
+        #version -> OS version (some os version identification)
+        #release -> OS release (3.5, 1.2.1 ...)
+        #node   -> some host identification (hostname)
+        #domain  -> domain name (hosts domain)
+        #machine -> type of CPU (i586, mips ...)
 
      those are currently returned on some machines (no warranty)
      linux:
-	#totalRam         -> total amount of memory available
-	#sharedRam        -> amount of memory which is shared among processes
-			     (i.e. shared code)
-	#bufferRam        -> amount used for buffers
-	#swapSize         -> total size of swap space
-	#freeSwap         -> free amount in swapSpace
-	#numberOfCPUs     -> number of cpus in box
-	#extendedInstructions -> extended instruction set info
+        #totalRam         -> total amount of memory available
+        #sharedRam        -> amount of memory which is shared among processes
+                             (i.e. shared code)
+        #bufferRam        -> amount used for buffers
+        #swapSize         -> total size of swap space
+        #freeSwap         -> free amount in swapSpace
+        #numberOfCPUs     -> number of cpus in box
+        #extendedInstructions -> extended instruction set info
 
      osf:
-	#physicalRam      -> total amount of physical memory
-	#cpuType          -> type of cpu (more detailed than machine)
-	#numberOfCPUs     -> number of cpus in box
+        #physicalRam      -> total amount of physical memory
+        #cpuType          -> type of cpu (more detailed than machine)
+        #numberOfCPUs     -> number of cpus in box
 
      osx:
-	#physicalRam      -> total amount of physical memory
+        #physicalRam      -> total amount of physical memory
 
      solaris:
-	#physicalRam      -> total amount of physical memory
-	#availableRam     -> total available amount of physical memory (i.e. unused ram)
-	#freeRam          -> amount of free memory
-	#numberOfCPUs     -> number of cpus in box (online CPUS)
-	[#dCacheSize]     -> bytes in data cache (only available on some solaris versions)
-	[#iCacheSize]     -> bytes in data cache (only available on some solaris versions)
-	[#instructionSets]-> instruction sets available (only available on some solaris versions)
-	[#platform]       -> platform name (only available on some solaris versions)
+        #physicalRam      -> total amount of physical memory
+        #availableRam     -> total available amount of physical memory (i.e. unused ram)
+        #freeRam          -> amount of free memory
+        #numberOfCPUs     -> number of cpus in box (online CPUS)
+        [#dCacheSize]     -> bytes in data cache (only available on some solaris versions)
+        [#iCacheSize]     -> bytes in data cache (only available on some solaris versions)
+        [#instructionSets]-> instruction sets available (only available on some solaris versions)
+        [#platform]       -> platform name (only available on some solaris versions)
 
      hpux:
-	#physicalRam      -> total amount of physical memory in box
-	#activeRealMemory -> ? - read pstat documentation
-	#activeVirtualRam -> ? - read pstat documentation
-	#freeMemory       -> ? - read pstat documentation
-	#realMemory       -> ? (amount of memory left to user programs)
-	#virtualRam       -> ? - read pstat documentation
+        #physicalRam      -> total amount of physical memory in box
+        #activeRealMemory -> ? - read pstat documentation
+        #activeVirtualRam -> ? - read pstat documentation
+        #freeMemory       -> ? - read pstat documentation
+        #realMemory       -> ? (amount of memory left to user programs)
+        #virtualRam       -> ? - read pstat documentation
     "
 
     |sys node rel ver mach dom mtyp brel info arch cpuType cpuSpeed
@@ -8176,11 +8176,11 @@
     struct sysinfo infoBuffer;
 
     if (sysinfo(&infoBuffer) >= 0) {
-	totalRam   = __MKUINT(infoBuffer.totalram);
-	sharedRam = __MKUINT(infoBuffer.sharedram);
-	bufferRam = __MKUINT(infoBuffer.bufferram);
-	swapSize  = __MKUINT(infoBuffer.totalswap);
-	freeSwap  = __MKUINT(infoBuffer.freeswap);
+        totalRam   = __MKUINT(infoBuffer.totalram);
+        sharedRam = __MKUINT(infoBuffer.sharedram);
+        bufferRam = __MKUINT(infoBuffer.bufferram);
+        swapSize  = __MKUINT(infoBuffer.totalswap);
+        freeSwap  = __MKUINT(infoBuffer.freeswap);
     }
 #endif /* LINUX */
 
@@ -8206,18 +8206,18 @@
 
 #if defined(HAS_UNAME)
     {
-	struct utsname ubuff;
-
-	if (uname(&ubuff) >= 0) {
-	    sys  = __MKSTRING(ubuff.sysname);
-	    node = __MKSTRING(ubuff.nodename);
-	    rel  = __MKSTRING(ubuff.release);
-	    ver  = __MKSTRING(ubuff.version);
-	    mach = __MKSTRING(ubuff.machine);
+        struct utsname ubuff;
+
+        if (uname(&ubuff) >= 0) {
+            sys  = __MKSTRING(ubuff.sysname);
+            node = __MKSTRING(ubuff.nodename);
+            rel  = __MKSTRING(ubuff.release);
+            ver  = __MKSTRING(ubuff.version);
+            mach = __MKSTRING(ubuff.machine);
 # if defined(HAS_UTS_DOMAINNAME) || defined(_GNU_SOURCE)
-	    dom  = __MKSTRING(ubuff.domainname);
+            dom  = __MKSTRING(ubuff.domainname);
 # endif /* no HAS_UTS_DOMAINNAME */
-	}
+        }
     }
 
 #else /* no UNAME */
@@ -8230,41 +8230,41 @@
 #if defined(HAS_SYSINFO)
 # if defined(SI_ARCHITECTURE)
     if (arch == nil) {
-	char buffer[128];
-
-	if (sysinfo(SI_ARCHITECTURE, buffer, sizeof(buffer))) {
-	    arch = __MKSTRING(buffer);
-	}
+        char buffer[128];
+
+        if (sysinfo(SI_ARCHITECTURE, buffer, sizeof(buffer))) {
+            arch = __MKSTRING(buffer);
+        }
     }
 # endif /* SI_ARCHITECTURE */
 
 # if defined(SI_ISALIST)
     {
-	char buffer[128];
-
-	if (sysinfo(SI_ISALIST, buffer, sizeof(buffer))) {
-	    instructionSets = __MKSTRING(buffer);
-	}
+        char buffer[128];
+
+        if (sysinfo(SI_ISALIST, buffer, sizeof(buffer))) {
+            instructionSets = __MKSTRING(buffer);
+        }
     }
 # endif /* SI_ISALIST */
 
 # if defined(SI_PLATFORM)
     {
-	char buffer[128];
-
-	if (sysinfo(SI_PLATFORM, buffer, sizeof(buffer))) {
-	    platform = __MKSTRING(buffer);
-	}
+        char buffer[128];
+
+        if (sysinfo(SI_PLATFORM, buffer, sizeof(buffer))) {
+            platform = __MKSTRING(buffer);
+        }
     }
 # endif /* SI_PLATFORM */
 
 # if defined(SI_RELEASE)
     {
-	char buffer[128];
-
-	if (sysinfo(SI_RELEASE, buffer, sizeof(buffer))) {
-	    rel = __MKSTRING(buffer);
-	}
+        char buffer[128];
+
+        if (sysinfo(SI_RELEASE, buffer, sizeof(buffer))) {
+            rel = __MKSTRING(buffer);
+        }
     }
 # endif /* SI_RELEASE */
 #endif /* HAS_SYSINFO */
@@ -8272,426 +8272,426 @@
 #if defined(HAS_SYSCONF)
 # ifdef _SC_NPROCESSORS_ONLN
     {
-	long val;
-
-	val = sysconf(_SC_NPROCESSORS_ONLN);
-	if (val > 0) {
-	    numberOfCPUs = __MKINT(val);
-	}
+        long val;
+
+        val = sysconf(_SC_NPROCESSORS_ONLN);
+        if (val > 0) {
+            numberOfCPUs = __MKINT(val);
+        }
     }
 # endif
 # ifdef _SC_NPROCESSORS_CONF
     {
-	long val;
-
-	val = sysconf(_SC_NPROCESSORS_CONF);
-	if (val > 0) {
-	    numberOfPhysicalCPUs = __MKINT(val);
-	}
+        long val;
+
+        val = sysconf(_SC_NPROCESSORS_CONF);
+        if (val > 0) {
+            numberOfPhysicalCPUs = __MKINT(val);
+        }
     }
 # endif
 
 # if defined(_SC_PAGESIZE)
     {
-	long val;
-
-	val = sysconf(_SC_PAGESIZE);
-	if (val != -1) {
-	    pageSize = __MKUINT(val);
-	}
+        long val;
+
+        val = sysconf(_SC_PAGESIZE);
+        if (val != -1) {
+            pageSize = __MKUINT(val);
+        }
     }
 # endif
 
 # if defined(_SC_PHYS_PAGES)
     {
-	long val;
-
-	val = sysconf(_SC_PHYS_PAGES);
-	if (val != -1) {
-	    physicalPages = __MKUINT(val);
-	}
+        long val;
+
+        val = sysconf(_SC_PHYS_PAGES);
+        if (val != -1) {
+            physicalPages = __MKUINT(val);
+        }
     }
 # endif
 
 # if defined(_SC_AVPHYS_PAGES)
     {
-	long val;
-
-	val = sysconf(_SC_AVPHYS_PAGES);
-	if (val != -1) {
-	    availablePages = __MKUINT(val);
-	}
+        long val;
+
+        val = sysconf(_SC_AVPHYS_PAGES);
+        if (val != -1) {
+            availablePages = __MKUINT(val);
+        }
     }
 # endif
 
 # if defined(_SC_ICACHE_SZ)
     {
-	long val;
-
-	val = sysconf(_SC_ICACHE_SZ);
-	if (val != -1) {
-	    iCacheSize = __MKUINT(val);
-	}
+        long val;
+
+        val = sysconf(_SC_ICACHE_SZ);
+        if (val != -1) {
+            iCacheSize = __MKUINT(val);
+        }
     }
 # endif
 
 # if defined(_SC_DCACHE_SZ)
     {
-	long val;
-
-	val = sysconf(_SC_DCACHE_SZ);
-	if (val != -1) {
-	    dCacheSize = __MKUINT(val);
-	}
+        long val;
+
+        val = sysconf(_SC_DCACHE_SZ);
+        if (val != -1) {
+            dCacheSize = __MKUINT(val);
+        }
     }
 # endif
 #endif /* HAS_SYSCONF */
 
 #if defined(HAS_GETSYSINFO)
     {
-	INT index;
-	int retInt32 = 0;
+        INT index;
+        int retInt32 = 0;
 
 # if defined(GSI_CPU)
-	index = 0;
-	if (getsysinfo(GSI_CPU, &retInt32, sizeof(retInt32), &index, NULL) > 0) {
-	    switch (retInt32) {
+        index = 0;
+        if (getsysinfo(GSI_CPU, &retInt32, sizeof(retInt32), &index, NULL) > 0) {
+            switch (retInt32) {
 #  ifdef VAX_780
-		case VAX_780:
-		    cpuType = __MKSTRING("VAX_780");
-		    break;
+                case VAX_780:
+                    cpuType = __MKSTRING("VAX_780");
+                    break;
 #  endif
 #  ifdef VAX_750
-		case VAX_750:
-		    cpuType = __MKSTRING("VAX_750");
-		    break;
+                case VAX_750:
+                    cpuType = __MKSTRING("VAX_750");
+                    break;
 #  endif
 #  ifdef VAX_730
-		case VAX_730:
-		    cpuType = __MKSTRING("VAX_730");
-		    break;
+                case VAX_730:
+                    cpuType = __MKSTRING("VAX_730");
+                    break;
 #  endif
 #  ifdef VAX_8600
-		case VAX_8600:
-		    cpuType = __MKSTRING("VAX_8600");
-		    break;
+                case VAX_8600:
+                    cpuType = __MKSTRING("VAX_8600");
+                    break;
 #  endif
 #  ifdef VAX_8200
-		case VAX_8200:
-		    cpuType = __MKSTRING("VAX_8200");
-		    break;
+                case VAX_8200:
+                    cpuType = __MKSTRING("VAX_8200");
+                    break;
 #  endif
 #  ifdef VAX_8800
-		case VAX_8800:
-		    cpuType = __MKSTRING("VAX_8800");
-		    break;
+                case VAX_8800:
+                    cpuType = __MKSTRING("VAX_8800");
+                    break;
 #  endif
 #  ifdef MVAX_I
-		case MVAX_I:
-		    cpuType = __MKSTRING("MVAX_I");
-		    break;
+                case MVAX_I:
+                    cpuType = __MKSTRING("MVAX_I");
+                    break;
 #  endif
 #  ifdef MVAX_II
-		case MVAX_II:
-		    cpuType = __MKSTRING("MVAX_II");
-		    break;
+                case MVAX_II:
+                    cpuType = __MKSTRING("MVAX_II");
+                    break;
 #  endif
 #  ifdef V_VAX
-		case V_VAX:
-		    cpuType = __MKSTRING("V_VAX");
-		    break;
+                case V_VAX:
+                    cpuType = __MKSTRING("V_VAX");
+                    break;
 #  endif
 #  ifdef VAX_3600
-		case VAX_3600:
-		    cpuType = __MKSTRING("VAX_3600");
-		    break;
+                case VAX_3600:
+                    cpuType = __MKSTRING("VAX_3600");
+                    break;
 #  endif
 #  ifdef VAX_6200
-		case VAX_6200:
-		    cpuType = __MKSTRING("VAX_6200");
-		    break;
+                case VAX_6200:
+                    cpuType = __MKSTRING("VAX_6200");
+                    break;
 #  endif
 #  ifdef VAX_3400
-		case VAX_3400:
-		    cpuType = __MKSTRING("VAX_3400");
-		    break;
+                case VAX_3400:
+                    cpuType = __MKSTRING("VAX_3400");
+                    break;
 #  endif
 #  ifdef C_VAXSTAR
-		case C_VAXSTAR:
-		    cpuType = __MKSTRING("C_VAXSTAR");
-		    break;
+                case C_VAXSTAR:
+                    cpuType = __MKSTRING("C_VAXSTAR");
+                    break;
 #  endif
 #  ifdef VAX_60
-		case VAX_60:
-		    cpuType = __MKSTRING("VAX_60");
-		    break;
+                case VAX_60:
+                    cpuType = __MKSTRING("VAX_60");
+                    break;
 #  endif
 #  ifdef VAX_3900
-		case VAX_3900:
-		    cpuType = __MKSTRING("VAX_3900");
-		    break;
+                case VAX_3900:
+                    cpuType = __MKSTRING("VAX_3900");
+                    break;
 #  endif
 #  ifdef DS_3100
-		case DS_3100:
-		    cpuType = __MKSTRING("DS_3100");
-		    break;
+                case DS_3100:
+                    cpuType = __MKSTRING("DS_3100");
+                    break;
 #  endif
 #  ifdef VAX_8820
-		case VAX_8820:
-		    cpuType = __MKSTRING("VAX_8820");
-		    break;
+                case VAX_8820:
+                    cpuType = __MKSTRING("VAX_8820");
+                    break;
 #  endif
 #  ifdef DS_5400
-		case DS_5400:
-		    cpuType = __MKSTRING("DS_5400");
-		    break;
+                case DS_5400:
+                    cpuType = __MKSTRING("DS_5400");
+                    break;
 #  endif
 #  ifdef DS_5800
-		case DS_5800:
-		    cpuType = __MKSTRING("DS_5800");
-		    break;
+                case DS_5800:
+                    cpuType = __MKSTRING("DS_5800");
+                    break;
 #  endif
 #  ifdef DS_5000
-		case DS_5000:
-		    cpuType = __MKSTRING("DS_5000");
-		    break;
+                case DS_5000:
+                    cpuType = __MKSTRING("DS_5000");
+                    break;
 #  endif
 #  ifdef DS_CMAX
-		case DS_CMAX:
-		    cpuType = __MKSTRING("DS_CMAX");
-		    break;
+                case DS_CMAX:
+                    cpuType = __MKSTRING("DS_CMAX");
+                    break;
 #  endif
 #  ifdef VAX_6400
-		case VAX_6400:
-		    cpuType = __MKSTRING("VAX_6400");
-		    break;
+                case VAX_6400:
+                    cpuType = __MKSTRING("VAX_6400");
+                    break;
 #  endif
 #  ifdef VAXSTAR
-		case VAXSTAR:
-		    cpuType = __MKSTRING("VAXSTAR");
-		    break;
+                case VAXSTAR:
+                    cpuType = __MKSTRING("VAXSTAR");
+                    break;
 #  endif
 #  ifdef DS_5500
-		case DS_5500:
-		    cpuType = __MKSTRING("DS_5500");
-		    break;
+                case DS_5500:
+                    cpuType = __MKSTRING("DS_5500");
+                    break;
 #  endif
 #  ifdef DS_5100
-		case DS_5100:
-		    cpuType = __MKSTRING("DS_5100");
-		    break;
+                case DS_5100:
+                    cpuType = __MKSTRING("DS_5100");
+                    break;
 #  endif
 #  ifdef VAX_9000
-		case VAX_9000:
-		    cpuType = __MKSTRING("VAX_9000");
-		    break;
+                case VAX_9000:
+                    cpuType = __MKSTRING("VAX_9000");
+                    break;
 #  endif
 #  ifdef DS_500_100
-		case DS_500_100:
-		    cpuType = __MKSTRING("DS_500_100");
-		    break;
+                case DS_500_100:
+                    cpuType = __MKSTRING("DS_500_100");
+                    break;
 #  endif
 
 
 #  ifdef ALPHA_ADU
-		case ALPHA_ADU:
-		    cpuType = __MKSTRING("ALPHA_ADU");
-		    break;
+                case ALPHA_ADU:
+                    cpuType = __MKSTRING("ALPHA_ADU");
+                    break;
 #  endif
 #  ifdef DEC_4000
-		case DEC_4000:
-		    cpuType = __MKSTRING("DEC_4000");
-		    break;
+                case DEC_4000:
+                    cpuType = __MKSTRING("DEC_4000");
+                    break;
 #  endif
 #  ifdef DEC_3000_500
-		case DEC_3000_500:
-		    cpuType = __MKSTRING("DEC_3000_500");
-		    break;
+                case DEC_3000_500:
+                    cpuType = __MKSTRING("DEC_3000_500");
+                    break;
 #  endif
 #  ifdef DEC_7000
-		case DEC_7000:
-		    cpuType = __MKSTRING("DEC_7000");
-		    break;
+                case DEC_7000:
+                    cpuType = __MKSTRING("DEC_7000");
+                    break;
 #  endif
 #  ifdef DS_5000_300
-		case DS_5000_300:
-		    cpuType = __MKSTRING("DS_5000_300");
-		    break;
+                case DS_5000_300:
+                    cpuType = __MKSTRING("DS_5000_300");
+                    break;
 #  endif
 #  ifdef DEC_3000_300
-		case DEC_3000_300:
-		    cpuType = __MKSTRING("DEC_3000_300");
-		    break;
+                case DEC_3000_300:
+                    cpuType = __MKSTRING("DEC_3000_300");
+                    break;
 #  endif
 #  ifdef DEC_2000_300
-		case DEC_2000_300:
-		    cpuType = __MKSTRING("DEC_2000_300");
-		    break;
+                case DEC_2000_300:
+                    cpuType = __MKSTRING("DEC_2000_300");
+                    break;
 #  endif
 #  ifdef DEC_2100_A500
-		case DEC_2100_A500:
-		    cpuType = __MKSTRING("DEC_2100_A500");
-		    break;
+                case DEC_2100_A500:
+                    cpuType = __MKSTRING("DEC_2100_A500");
+                    break;
 #  endif
 #  ifdef DEC_2100_A50
-		case DEC_2100_A50:
-		    cpuType = __MKSTRING("DEC_2100_A50");
-		    break;
+                case DEC_2100_A50:
+                    cpuType = __MKSTRING("DEC_2100_A50");
+                    break;
 #  endif
 #  ifdef ALPHA_KN20AA
-		case ALPHA_KN20AA:
-		    cpuType = __MKSTRING("ALPHA_KN20AA");
-		    break;
+                case ALPHA_KN20AA:
+                    cpuType = __MKSTRING("ALPHA_KN20AA");
+                    break;
 #  endif
 #  ifdef DEC_21000
-		case DEC_21000:
-		    cpuType = __MKSTRING("DEC_21000");
-		    break;
+                case DEC_21000:
+                    cpuType = __MKSTRING("DEC_21000");
+                    break;
 #  endif
 #  ifdef DEC_AXPVME_64
-		case DEC_AXPVME_64:
-		    cpuType = __MKSTRING("DEC_AXPVME_64");
-		    break;
+                case DEC_AXPVME_64:
+                    cpuType = __MKSTRING("DEC_AXPVME_64");
+                    break;
 #  endif
 #  ifdef DEC_2100_C500
-		case DEC_2100_C500:
-		    cpuType = __MKSTRING("DEC_2100_C500");
-		    break;
+                case DEC_2100_C500:
+                    cpuType = __MKSTRING("DEC_2100_C500");
+                    break;
 #  endif
 #  ifdef DEC_AXPPCI_33
-		case DEC_AXPPCI_33:
-		    cpuType = __MKSTRING("DEC_AXPPCI_33");
-		    break;
+                case DEC_AXPPCI_33:
+                    cpuType = __MKSTRING("DEC_AXPPCI_33");
+                    break;
 #  endif
 #  ifdef DEC_1000
-		case DEC_1000:
-		    cpuType = __MKSTRING("DEC_1000");
-		    break;
+                case DEC_1000:
+                    cpuType = __MKSTRING("DEC_1000");
+                    break;
 #  endif
 #  ifdef EB64_PLUS
-		case EB64_PLUS:
-		    cpuType = __MKSTRING("EB64_PLUS");
-		    break;
+                case EB64_PLUS:
+                    cpuType = __MKSTRING("EB64_PLUS");
+                    break;
 #  endif
 #  ifdef LCA_EB66
-		case LCA_EB66:
-		    cpuType = __MKSTRING("LCA_EB66");
-		    break;
+                case LCA_EB66:
+                    cpuType = __MKSTRING("LCA_EB66");
+                    break;
 #  endif
 #  ifdef ALPHA_EB164
-		case ALPHA_EB164:
-		    cpuType = __MKSTRING("ALPHA_EB164");
-		    break;
+                case ALPHA_EB164:
+                    cpuType = __MKSTRING("ALPHA_EB164");
+                    break;
 #  endif
 #  ifdef DEC_EV45_PBP
-		case DEC_EV45_PBP:
-		    cpuType = __MKSTRING("DEC_EV45_PBP");
-		    break;
+                case DEC_EV45_PBP:
+                    cpuType = __MKSTRING("DEC_EV45_PBP");
+                    break;
 #  endif
 #  ifdef DEC_1000A
-		case DEC_1000A:
-		    cpuType = __MKSTRING("DEC_1000A");
-		    break;
+                case DEC_1000A:
+                    cpuType = __MKSTRING("DEC_1000A");
+                    break;
 #  endif
 #  ifdef DEC_4100
-		case DEC_4100:
-		    cpuType = __MKSTRING("DEC_4100");
-		    break;
+                case DEC_4100:
+                    cpuType = __MKSTRING("DEC_4100");
+                    break;
 #  endif
 #  ifdef DEC_ALPHAVME_224
-		case DEC_ALPHAVME_224:
-		    cpuType = __MKSTRING("DEC_ALPHAVME_224");
-		    break;
+                case DEC_ALPHAVME_224:
+                    cpuType = __MKSTRING("DEC_ALPHAVME_224");
+                    break;
 #  endif
 #  ifdef DEC_1000_5
-		case DEC_1000_5:
-		    cpuType = __MKSTRING("DEC_1000_5");
-		    break;
+                case DEC_1000_5:
+                    cpuType = __MKSTRING("DEC_1000_5");
+                    break;
 #  endif
 #  ifdef DEC_1000A_5
-		case DEC_1000A_5:
-		    cpuType = __MKSTRING("DEC_1000A_5");
-		    break;
+                case DEC_1000A_5:
+                    cpuType = __MKSTRING("DEC_1000A_5");
+                    break;
 #  endif
 #  ifdef DEC_EV56_PBP
-		case DEC_EV56_PBP:
-		    cpuType = __MKSTRING("DEC_EV56_PBP");
-		    break;
+                case DEC_EV56_PBP:
+                    cpuType = __MKSTRING("DEC_EV56_PBP");
+                    break;
 #  endif
 #  ifdef ALPHABOOK
-		case ALPHABOOK:
-		    cpuType = __MKSTRING("ALPHABOOK");
-		    break;
+                case ALPHABOOK:
+                    cpuType = __MKSTRING("ALPHABOOK");
+                    break;
 #  endif
 #  ifdef DEC_ALPHAVME_320
-		case DEC_ALPHAVME_320:
-		    cpuType = __MKSTRING("DEC_ALPHAVME_320");
-		    break;
+                case DEC_ALPHAVME_320:
+                    cpuType = __MKSTRING("DEC_ALPHAVME_320");
+                    break;
 #  endif
 #  ifdef DEC_550
-		case DEC_550:
-		    cpuType = __MKSTRING("DEC_550");
-		    break;
+                case DEC_550:
+                    cpuType = __MKSTRING("DEC_550");
+                    break;
 #  endif
 #  ifdef DEC_6600
-		case DEC_6600:
-		    cpuType = __MKSTRING("DEC_6600");
-		    break;
+                case DEC_6600:
+                    cpuType = __MKSTRING("DEC_6600");
+                    break;
 #  endif
 #  ifdef UNKN_SYSTEM
-		case UNKN_SYSTEM:
-		    cpuType = __MKSTRING("UNKN_SYSTEM");
-		    break;
-#  endif
-		default:
-		    cpuType = __MKSTRING("OTHER_DEC_SYSTEM");
-		    break;
-	    }
-	}
+                case UNKN_SYSTEM:
+                    cpuType = __MKSTRING("UNKN_SYSTEM");
+                    break;
+#  endif
+                default:
+                    cpuType = __MKSTRING("OTHER_DEC_SYSTEM");
+                    break;
+            }
+        }
 # endif /* GSI_CPU */
 
 # if defined(GSI_CPU_INFO)
-	/*
-	 * stupid: OSF1 pre V4.0 has no mhz, but V4.0 has it.
-	 * use the GSI_PLATFORM_NAME as a hint - it is only defined in
-	 * V4.0 and higher ... (sigh)
-	 */
+        /*
+         * stupid: OSF1 pre V4.0 has no mhz, but V4.0 has it.
+         * use the GSI_PLATFORM_NAME as a hint - it is only defined in
+         * V4.0 and higher ... (sigh)
+         */
 #  if defined(GSI_PLATFORM_NAME)
-	{
-	    struct cpu_info cpuInfo;
-
-	    index = 0;
-	    if (getsysinfo(GSI_CPU_INFO, &cpuInfo, sizeof(cpuInfo), &index, NULL) > 0) {
-		cpuSpeed   = __MKUINT(cpuInfo.mhz);
-	    }
-	}
+        {
+            struct cpu_info cpuInfo;
+
+            index = 0;
+            if (getsysinfo(GSI_CPU_INFO, &cpuInfo, sizeof(cpuInfo), &index, NULL) > 0) {
+                cpuSpeed   = __MKUINT(cpuInfo.mhz);
+            }
+        }
 #  endif
 # endif /* GSI_CPU_INFO */
 
 # if defined(GSI_CPUS_IN_BOX)
-	index = 0;
-	if (getsysinfo(GSI_CPUS_IN_BOX, &retInt32, sizeof(retInt32), &index, NULL) > 0) {
-	    numberOfCPUs   = __MKUINT(retInt32);
-	}
+        index = 0;
+        if (getsysinfo(GSI_CPUS_IN_BOX, &retInt32, sizeof(retInt32), &index, NULL) > 0) {
+            numberOfCPUs   = __MKUINT(retInt32);
+        }
 # endif /* GSI_CPUS_IN_BOX */
 
 # if defined(GSI_PHYSMEM)
-	index = 0;
-	if (getsysinfo(GSI_PHYSMEM, &retInt32, sizeof(retInt32), &index, NULL) > 0) {
-	    INT bytes = retInt32 * 1024;
-
-	    physicalRam   = __MKUINT(bytes);
-	}
+        index = 0;
+        if (getsysinfo(GSI_PHYSMEM, &retInt32, sizeof(retInt32), &index, NULL) > 0) {
+            INT bytes = retInt32 * 1024;
+
+            physicalRam   = __MKUINT(bytes);
+        }
 # endif /* GSI_PHYSMEM */
 
 # if defined(GSI_PLATFORM_NAME) && (!defined(HAS_SYSINFO) || !defined(SI_PLATFORM))
     {
-	char buffer[128];
-
-	index = 0;
-	if (getsysinfo(GSI_PLATFORM_NAME, buffer, sizeof(buffer), &index, NULL) > 0) {
-	    platform = __MKSTRING(buffer);
-	}
+        char buffer[128];
+
+        index = 0;
+        if (getsysinfo(GSI_PLATFORM_NAME, buffer, sizeof(buffer), &index, NULL) > 0) {
+            platform = __MKSTRING(buffer);
+        }
     }
 # endif /* GSI_PLATFORM_NAME */
 
@@ -8716,25 +8716,25 @@
 
 
     {
-	extern OBJ __getInstructionSetInfo();
-
-	extendedInstructions = __getInstructionSetInfo();
+        extern OBJ __getInstructionSetInfo();
+
+        extendedInstructions = __getInstructionSetInfo();
     }
 %}.
     sys isNil ifTrue:[
-	sys := self getSystemType.
+        sys := self getSystemType.
     ].
     node isNil ifTrue:[
-	node := self getHostName.
+        node := self getHostName.
     ].
     dom isNil ifTrue:[
-	dom := self getDomainName.
+        dom := self getDomainName.
     ].
     mach isNil ifTrue:[
-	mach := self getCPUType.
+        mach := self getCPUType.
     ].
     arch isNil ifTrue:[
-	arch := sys.
+        arch := sys.
     ].
 
     info := IdentityDictionary new.
@@ -8746,12 +8746,12 @@
     arch notNil ifTrue:[info at:#architecture put:arch].
     dom notNil ifTrue:[info at:#domain put:dom].
     (pageSize notNil and:[physicalPages notNil]) ifTrue:[
-	physicalRam := pageSize * physicalPages. "/ done here - could be largeInt.
+        physicalRam := pageSize * physicalPages. "/ done here - could be largeInt.
     ].
     physicalRam notNil ifTrue:[info at:#physicalRam put:physicalRam].
     (pageSize notNil and:[availablePages notNil]) ifTrue:[
-	availableRam := pageSize * availablePages. "/ done here - could be largeInt.
-	availableRam notNil ifTrue:[info at:#availableRam put:availableRam].
+        availableRam := pageSize * availablePages. "/ done here - could be largeInt.
+        availableRam notNil ifTrue:[info at:#availableRam put:availableRam].
     ].
     totalRam notNil ifTrue:[info at:#totalRam put:totalRam].
     sharedRam notNil ifTrue:[info at:#sharedRam put:sharedRam].
@@ -8806,7 +8806,7 @@
 
 %}.
     sys isNil ifTrue:[
-	^ self getOSType
+        ^ self getOSType
     ].
     ^ sys
 
@@ -8879,11 +8879,11 @@
 
 %{
     if (__isSmallInteger(pid)) {
-	/* in UNIX, a kill(pid, 0) is a noop used to check if a pid exists */
-	if (kill(__smallIntegerVal(pid), 0) < 0 && errno != EPERM) {
-	    RETURN ( false );
-	}
-	RETURN ( true );
+        /* in UNIX, a kill(pid, 0) is a noop used to check if a pid exists */
+        if (kill(__smallIntegerVal(pid), 0) < 0 && errno != EPERM) {
+            RETURN ( false );
+        }
+        RETURN ( true );
     }
 %}.
 
@@ -8910,11 +8910,11 @@
 maxFileNameLength
     "return the max number of characters in a filename.
      CAVEAT:
-	 Actually, the following is somewhat wrong - some systems
-	 support different sizes, depending on the volume.
-	 We return a somewhat conservative number here.
-	 Another entry, to query for volume specific max
-	 will be added in the future."
+         Actually, the following is somewhat wrong - some systems
+         support different sizes, depending on the volume.
+         We return a somewhat conservative number here.
+         Another entry, to query for volume specific max
+         will be added in the future."
 
 %{  /* NOCONTEXT */
 
@@ -8953,7 +8953,7 @@
 
      l = sysconf(_SC_OPEN_MAX);
      if (l >= 0) {
-	 RETURN(__mkSmallInteger(l));
+         RETURN(__mkSmallInteger(l));
      }
 %}.
      self primitiveFailed
@@ -8986,21 +8986,21 @@
 primGetDomainName
     "return the domain this host is in.
      Notice:
-	not all systems support this; on some, nil is returned."
+        not all systems support this; on some, nil is returned."
 
 %{  /* STACK: 2048 */
 #if defined(HAS_GETDOMAINNAME)
     char buffer[256];
 
     if (getdomainname(buffer, sizeof(buffer)) == 0) {
-	RETURN (__MKSTRING(buffer));
+        RETURN (__MKSTRING(buffer));
     }
 #else
 # if defined(HAS_UNAME) && defined(HAS_UTS_DOMAINNAME)
     struct utsname ubuff;
 
     if (uname(&ubuff) >= 0) {
-	RETURN (__MKSTRING(ubuff.domainname));
+        RETURN (__MKSTRING(ubuff.domainname));
     }
 # else
 #  if defined(HAS_SYSINFO) && defined(SI_SRPC_DOMAIN)
@@ -9008,7 +9008,7 @@
     int ret;
 
     if ((ret = sysinfo(SI_SRPC_DOMAIN, buffer, sizeof(buffer))) >= 0 && ret <= sizeof(buffer)) {
-	RETURN (__MKSTRING(buffer));
+        RETURN (__MKSTRING(buffer));
     }
 #  endif
 # endif
@@ -9027,7 +9027,7 @@
     "return the hostname we are running on - if there is
      a HOST environment variable, we are much faster here ...
      Notice:
-	not all systems support this; on some, nil is returned."
+        not all systems support this; on some, nil is returned."
 
 %{  /* STACK: 100000 */
 
@@ -9038,14 +9038,14 @@
     char buffer[256];
 
     if (gethostname(buffer, sizeof(buffer)) == 0) {
-	RETURN (__MKSTRING(buffer));
+        RETURN (__MKSTRING(buffer));
     }
 #else
 # if defined(HAS_UNAME)
     struct utsname ubuff;
 
     if (uname(&ubuff) >= 0) {
-	RETURN (__MKSTRING(ubuff.nodename));
+        RETURN (__MKSTRING(ubuff.nodename));
     }
 # else
 #  if defined(HAS_SYSINFO) && defined(SI_HOSTNAME)
@@ -9053,7 +9053,7 @@
     int ret;
 
     if ((ret = sysinfo(SI_HOSTNAME, buffer, sizeof(buffer))) >= 0 && ret <= sizeof(buffer)) {
-	RETURN (__MKSTRING(buffer));
+        RETURN (__MKSTRING(buffer));
     }
 #  endif
 # endif
@@ -9068,11 +9068,11 @@
 
 randomBytesInto:bufferOrInteger
     "If bufferOrInteger is a String or a ByteArray,
-	fill a given buffer with random bytes from the RtlGenRandom function
-	and answer the buffer.
+        fill a given buffer with random bytes from the RtlGenRandom function
+        and answer the buffer.
 
      If bufferOrInteger is a SmallInteger,
-	return this many bytes (max 4) as a SmallInteger.
+        return this many bytes (max 4) as a SmallInteger.
 
      Return nil on error (may raise PrimitiveFailure, too).
 
@@ -9094,7 +9094,7 @@
 #  endif
 
     inline int getrandom(void *buf, size_t buflen, unsigned int flags) {
-	return syscall(SYS_getrandom|__flag32, buf, buflen, flags);
+        return syscall(SYS_getrandom|__flag32, buf, buflen, flags);
     }
 # endif
 
@@ -9105,35 +9105,35 @@
     int wantInteger = 0;
 
     if (__isSmallInteger(bufferOrInteger)) {
-	wanted = __smallIntegerVal(bufferOrInteger);
-	if (wanted > sizeof(INT)) goto error;
-	buffer = (char *)&intBuffer;
-	wantInteger = 1;
+        wanted = __smallIntegerVal(bufferOrInteger);
+        if (wanted > sizeof(INT)) goto error;
+        buffer = (char *)&intBuffer;
+        wantInteger = 1;
     } else if (__isByteArray(bufferOrInteger)) {
-	wanted = __byteArraySize(bufferOrInteger);
-	buffer = __byteArrayVal(bufferOrInteger);
+        wanted = __byteArraySize(bufferOrInteger);
+        buffer = __byteArrayVal(bufferOrInteger);
     } else if (__isString(bufferOrInteger)) {
-	wanted = __stringSize(bufferOrInteger);
-	buffer = __stringVal(bufferOrInteger);
+        wanted = __stringSize(bufferOrInteger);
+        buffer = __stringVal(bufferOrInteger);
     } else
-	goto error;
+        goto error;
 
     do {
-	cnt = getrandom(buffer + gotSoFar, wanted - gotSoFar, 0);
-	if (cnt < 0) {
-	    if (errno != EINTR && errno != EAGAIN)
-		goto error;
-	    if (!wantInteger) {
-		// re-fetch buffer in case a garbage collect occurred meanwhile
-		buffer = __isByteArray(bufferOrInteger) ?
-			    __byteArrayVal(bufferOrInteger) : __stringVal(bufferOrInteger);
-	    }
-	} else {
-	    gotSoFar = gotSoFar + cnt;
-	}
+        cnt = getrandom(buffer + gotSoFar, wanted - gotSoFar, 0);
+        if (cnt < 0) {
+            if (errno != EINTR && errno != EAGAIN)
+                goto error;
+            if (!wantInteger) {
+                // re-fetch buffer in case a garbage collect occurred meanwhile
+                buffer = __isByteArray(bufferOrInteger) ?
+                            __byteArrayVal(bufferOrInteger) : __stringVal(bufferOrInteger);
+            }
+        } else {
+            gotSoFar = gotSoFar + cnt;
+        }
     } while (gotSoFar < wanted);
     if (wantInteger) {
-	RETURN(__mkSmallInteger(intBuffer & _MAX_INT));
+        RETURN(__mkSmallInteger(intBuffer & _MAX_INT));
     }
     RETURN(bufferOrInteger);
 # endif // SYS_getrandom
@@ -9144,12 +9144,12 @@
     ^ self primitiveFailed.
 
     "
-	self randomBytesInto:1.
-	self randomBytesInto:2.
-	self randomBytesInto:4.
-	self randomBytesInto:8.
-	self randomBytesInto:(ByteArray new:16).
-	self randomBytesInto:(String new:16).
+        self randomBytesInto:1.
+        self randomBytesInto:2.
+        self randomBytesInto:4.
+        self randomBytesInto:8.
+        self randomBytesInto:(ByteArray new:16).
+        self randomBytesInto:(String new:16).
     "
 !
 
@@ -9166,30 +9166,30 @@
     int valueSize;
 
     if (__isStringLike(aKeyStringOrSymbol)) {
-	if (aString == nil) {
-	    /* env used only temporary for deregistration */
-	    valueSize = 0;
-	    env = __stringVal(aKeyStringOrSymbol);
-	} else if (__isStringLike(aString)) {
-	    /* have to use stable memory for env */
-	    valueSize = __stringSize(aString);
-	    env = (char *)malloc(__stringSize(aKeyStringOrSymbol) + valueSize + 2);
-	    if (env == 0)
-		goto err;
-	    strcpy(env, __stringVal(aKeyStringOrSymbol));
-	    strcat(env, "=");
-	    strncat(env, __stringVal(aString), valueSize);
-	} else
-	    goto err;
-
-	if (putenv(env) == 0) {
-	    RETURN(self);
-	}
-
-	if (valueSize > 0) {
-	    /* could not register, free */
-	    free(env);
-	}
+        if (aString == nil) {
+            /* env used only temporary for deregistration */
+            valueSize = 0;
+            env = __stringVal(aKeyStringOrSymbol);
+        } else if (__isStringLike(aString)) {
+            /* have to use stable memory for env */
+            valueSize = __stringSize(aString);
+            env = (char *)malloc(__stringSize(aKeyStringOrSymbol) + valueSize + 2);
+            if (env == 0)
+                goto err;
+            strcpy(env, __stringVal(aKeyStringOrSymbol));
+            strcat(env, "=");
+            strncat(env, __stringVal(aString), valueSize);
+        } else
+            goto err;
+
+        if (putenv(env) == 0) {
+            RETURN(self);
+        }
+
+        if (valueSize > 0) {
+            /* could not register, free */
+            free(env);
+        }
 err:;
     }
 %}.
@@ -9435,72 +9435,72 @@
 
     sysPath := super defaultSystemPath.
     places :=
-	#(
-	    '/usr/local/lib/stx'
-	    '/usr/local/lib/smalltalk'
-	    '/usr/local/lib/smalltalk-x'
-	    '/usr/lib/stx'
-	    '/usr/lib/smalltalk'
-	    '/usr/lib/smalltalk-x'
-	    '/lib/stx'
-	    '/lib/smalltalk'
-	    '/lib/smalltalk-x'
-	    '/opt/stx'
-	    '/opt/smalltalk'
-	    '/opt/smalltalk-x'
-	).
+        #(
+            '/usr/local/lib/stx'
+            '/usr/local/lib/smalltalk'
+            '/usr/local/lib/smalltalk-x'
+            '/usr/lib/stx'
+            '/usr/lib/smalltalk'
+            '/usr/lib/smalltalk-x'
+            '/lib/stx'
+            '/lib/smalltalk'
+            '/lib/smalltalk-x'
+            '/opt/stx'
+            '/opt/smalltalk'
+            '/opt/smalltalk-x'
+        ).
 
     self isOSXlike ifTrue:[
-	|pathOfSTX|
-
-	 places :=
-		{
-		    '/Library/Smalltalk' .
-		    '/Library/Smalltalk-x' .
-		    '~/Library/Smalltalk' .
-		    '~/Library/Smalltalk-x' .
-		} , places.
-
-	pathOfSTX := OperatingSystem pathOfSTXExecutable.
-	pathOfSTX notNil ifTrue:[
-	    places :=
-		{
-		    (pathOfSTX asFilename / '../Packages') name .
-		    (pathOfSTX asFilename / '../../Packages') name .
-		} , places.
-	]
+        |pathOfSTX|
+
+         places :=
+                {
+                    '/Library/Smalltalk' .
+                    '/Library/Smalltalk-x' .
+                    '~/Library/Smalltalk' .
+                    '~/Library/Smalltalk-x' .
+                } , places.
+
+        pathOfSTX := OperatingSystem pathOfSTXExecutable.
+        pathOfSTX notNil ifTrue:[
+            places :=
+                {
+                    (pathOfSTX asFilename / '../Packages') name .
+                    (pathOfSTX asFilename / '../../Packages') name .
+                } , places.
+        ]
     ].
     places do:[:dirName |
-	|dir vsnDir|
-
-	dir := dirName asFilename.
-	(dir isDirectory) ifTrue:[
-	    "/ try to guess a gnu-smalltalk; skip it
-	    (dir construct:'initialize.st') exists ifFalse:[
-		vsnDir := dir / vsnDirName.
-		vsnDir exists ifTrue:[
-		    "/ new style: look for a major.minor directory there
-		    sysPath add:vsnDir.
-		] ifFalse:[
-		    "/ old style: look for a RELEASE file there and check if it matches
-		    releaseFile := dir construct:'RELEASE'.
-		    releaseFile exists ifTrue:[
-			s := releaseFile readStreamOrNil.
-			s notNil ifTrue:[
-			    v := Integer readFrom:s onError:-1.
-			    s close.
-			    v == majorVersionNr ifTrue:[
-				sysPath add:dirName
-			    ] ifFalse:[
-				('UnixOperatingSystem [info]: ignore files in ' , dir pathName , ' (RELEASE mismatch)') infoPrintCR.
-			    ]
-			] ifFalse:[
-			    ('UnixOperatingSystem [info]: ignore files in ' , dir pathName , ' (RELEASE missing)') infoPrintCR.
-			]
-		    ]
-		]
-	    ]
-	]
+        |dir vsnDir|
+
+        dir := dirName asFilename.
+        (dir isDirectory) ifTrue:[
+            "/ try to guess a gnu-smalltalk; skip it
+            (dir construct:'initialize.st') exists ifFalse:[
+                vsnDir := dir / vsnDirName.
+                vsnDir exists ifTrue:[
+                    "/ new style: look for a major.minor directory there
+                    sysPath add:vsnDir.
+                ] ifFalse:[
+                    "/ old style: look for a RELEASE file there and check if it matches
+                    releaseFile := dir construct:'RELEASE'.
+                    releaseFile exists ifTrue:[
+                        s := releaseFile readStreamOrNil.
+                        s notNil ifTrue:[
+                            v := Integer readFrom:s onError:-1.
+                            s close.
+                            v == majorVersionNr ifTrue:[
+                                sysPath add:dirName
+                            ] ifFalse:[
+                                ('UnixOperatingSystem [info]: ignore files in ' , dir pathName , ' (RELEASE mismatch)') infoPrintCR.
+                            ]
+                        ] ifFalse:[
+                            ('UnixOperatingSystem [info]: ignore files in ' , dir pathName , ' (RELEASE missing)') infoPrintCR.
+                        ]
+                    ]
+                ]
+            ]
+        ]
     ].
     ^ sysPath
 
@@ -9509,10 +9509,10 @@
     "
 !
 
-encodePath:pathName
-    "encode the pathName for use with system calls.
+encodePathOrCommandInput:pathNameOrCommandInput
+    "encode the pathNameOrCommandInput for use with system calls or to be sent to stdin of a command.
      E.g. linux system calls accept single byte strings only,
-     so the pathName has been UTF-8 encoded, before using it in a system call
+     so the pathName has to be UTF-8 encoded, before using it in a system call
      (actually, on a mac, it has to be utf8-mac encoded)."
 
     (pathName isNil or:[CodesetEncoder isNil]) ifTrue:[
@@ -9547,15 +9547,15 @@
 
     entries := OrderedCollection new.
     ('/proc/mounts' asFilename) readingLinesDo:[:eachLine |
-	|items mountInfo|
-
-	items := eachLine asCollectionOfWords.
-	mountInfo := (MountInfo new
-	    mountPointPath:(items at:2)
-	    deviceOrRemotePath:(items at:1)
-	    fsType:(items at:3)
-	    attributeString:(items at:4)).
-	entries add:mountInfo
+        |items mountInfo|
+
+        items := eachLine asCollectionOfWords.
+        mountInfo := (MountInfo new
+            mountPointPath:(items at:2)
+            deviceOrRemotePath:(items at:1)
+            fsType:(items at:3)
+            attributeString:(items at:4)).
+        entries add:mountInfo
     ].
     ^ entries
 
@@ -9583,16 +9583,16 @@
 
     if (__isSmallInteger(addr)
      && __bothSmallInteger(flags, id)) {
-	shmaddr = (void *) __intVal(addr);
-	shmflg = __intVal(flags);
-	shmid = __intVal(id);
-
-	address = shmat(shmid, shmaddr, shmflg);
-	if (address != (void *)-1) {
-	    RETURN (__MKEXTERNALBYTES(addr));
-	}
-	@global(LastErrorNumber) = __mkSmallInteger(errno);
-	RETURN (nil);
+        shmaddr = (void *) __intVal(addr);
+        shmflg = __intVal(flags);
+        shmid = __intVal(id);
+
+        address = shmat(shmid, shmaddr, shmflg);
+        if (address != (void *)-1) {
+            RETURN (__MKEXTERNALBYTES(addr));
+        }
+        @global(LastErrorNumber) = __mkSmallInteger(errno);
+        RETURN (nil);
     }
 #endif
 %}.
@@ -9611,14 +9611,14 @@
     int rslt;
 
     if (__isSmallInteger(addr)) {
-	shmaddr = (void *) __intVal(addr);
-
-	rslt = shmdt(shmaddr);
-	if (rslt != -1) {
-	    RETURN (true);
-	}
-	@global(LastErrorNumber) = __mkSmallInteger(errno);
-	RETURN (false);
+        shmaddr = (void *) __intVal(addr);
+
+        rslt = shmdt(shmaddr);
+        if (rslt != -1) {
+            RETURN (true);
+        }
+        @global(LastErrorNumber) = __mkSmallInteger(errno);
+        RETURN (false);
     }
 #endif
 %}.
@@ -9636,14 +9636,14 @@
 #ifdef WANT_SHM
     if (__bothSmallInteger(key, size)
      && __isSmallInteger(flags)) {
-	int rslt;
-
-	rslt = shmget(__intVal(key), __intVal(size), __intVal(flags));
-	if (rslt != -1) {
-	    RETURN (__mkSmallInteger(rslt));
-	}
-	@global(LastErrorNumber) = __mkSmallInteger(errno);
-	RETURN (nil);
+        int rslt;
+
+        rslt = shmget(__intVal(key), __intVal(size), __intVal(flags));
+        if (rslt != -1) {
+            RETURN (__mkSmallInteger(rslt));
+        }
+        @global(LastErrorNumber) = __mkSmallInteger(errno);
+        RETURN (nil);
     }
 #endif
 %}.
@@ -9688,67 +9688,67 @@
     if (__bothSmallInteger(y, m)
      && __bothSmallInteger(d, h)
      && __bothSmallInteger(min, s)) {
-	tm.tm_hour = __intVal(h);
-	tm.tm_min = __intVal(min);
-	tm.tm_sec = __intVal(s);
-
-	tm.tm_year = __intVal(y) - 1900;
-	tm.tm_mon = __intVal(m) - 1;
-	tm.tm_mday = __intVal(d);
-	tm.tm_isdst = -1;
+        tm.tm_hour = __intVal(h);
+        tm.tm_min = __intVal(min);
+        tm.tm_sec = __intVal(s);
+
+        tm.tm_year = __intVal(y) - 1900;
+        tm.tm_mon = __intVal(m) - 1;
+        tm.tm_mday = __intVal(d);
+        tm.tm_isdst = -1;
 
 #if __POINTER_SIZE__ < 8 && !defined(HAS_MKTIME64)
-	if (__intVal(y) > 2038) goto outOfRange;
-	if (__intVal(y) == 2038) {
-	    if (__intVal(m) > 1) goto outOfRange;
-	    if (__intVal(d) > 19) goto outOfRange;
-	    if (__intVal(d) == 19) {
-		if (__intVal(h) > 3) goto outOfRange;
-		if (__intVal(h) == 3) {
-		    if (__intVal(min) > 14) goto outOfRange;
-		    if (__intVal(min) == 14) {
-			if (__intVal(s) > 7) goto outOfRange;
-		    }
-		}
-	    }
-	}
+        if (__intVal(y) > 2038) goto outOfRange;
+        if (__intVal(y) == 2038) {
+            if (__intVal(m) > 1) goto outOfRange;
+            if (__intVal(d) > 19) goto outOfRange;
+            if (__intVal(d) == 19) {
+                if (__intVal(h) > 3) goto outOfRange;
+                if (__intVal(h) == 3) {
+                    if (__intVal(min) > 14) goto outOfRange;
+                    if (__intVal(min) == 14) {
+                        if (__intVal(s) > 7) goto outOfRange;
+                    }
+                }
+            }
+        }
 #endif
 
 #ifdef HAS_TIMEGM
-	if (utcBoolean == true) {               /* convert to utc time */
+        if (utcBoolean == true) {               /* convert to utc time */
 # ifdef HAS_MKTIME64
-	    t = timegm64(&tm);                  /* timegm() interprets tm as utc time */
+            t = timegm64(&tm);                  /* timegm() interprets tm as utc time */
 # else
-	    t = timegm(&tm);                    /* timegm() interprets tm as utc time */
-# endif
-	} else
-#endif
-	{
+            t = timegm(&tm);                    /* timegm() interprets tm as utc time */
+# endif
+        } else
+#endif
+        {
 #ifdef HAS_MKTIME64
-	    t = mktime64(&tm);                  /* mktime() interprets tm as localtime */
+            t = mktime64(&tm);                  /* mktime() interprets tm as localtime */
 #else
-	    t = mktime(&tm);                    /* mktime() interprets tm as localtime */
-#endif
-	}
-	if (t != (TIME_T)-1) {
+            t = mktime(&tm);                    /* mktime() interprets tm as localtime */
+#endif
+        }
+        if (t != (TIME_T)-1) {
 #ifndef HAS_TIMEGM
-	    if (utcBoolean == true) {           /* convert to utc time */
-		// printf("tz=%d\n", TIMEZONE(&tm));
-		t = t - TIMEZONE(&tm);          /* TIMZONE = seconds westward from 0 */
-	    }
+            if (utcBoolean == true) {           /* convert to utc time */
+                // printf("tz=%d\n", TIMEZONE(&tm));
+                t = t - TIMEZONE(&tm);          /* TIMZONE = seconds westward from 0 */
+            }
 #endif
 #ifdef HAS_MKTIME64
-	    osSeconds = __MKLARGEINT64(1, (t & 0xFFFFFFFF), (t>>32)& 0xFFFFFFFF);
+            osSeconds = __MKLARGEINT64(1, (t & 0xFFFFFFFF), (t>>32)& 0xFFFFFFFF);
 #else
-	    /* be careful, t can be negative at the start of the epoch ! */
-	    osSeconds = __MKINT((INT)t);
-#endif
-	}
+            /* be careful, t can be negative at the start of the epoch ! */
+            osSeconds = __MKINT((INT)t);
+#endif
+        }
     }
   outOfRange: ;
 %}.
     osSeconds notNil ifTrue:[
-	^ osSeconds * 1000 + millis
+        ^ osSeconds * 1000 + millis
     ].
     ^ TimeConversionError raiseRequest.
 
@@ -9782,9 +9782,9 @@
 %{
 #ifdef __SCHTEAM__
     {
-	long nanos = java.lang.System.nanoTime();
-
-	return context._RETURN( STInteger._new(nanos / 1000) );
+        long nanos = java.lang.System.nanoTime();
+
+        return context._RETURN( STInteger._new(nanos / 1000) );
     }
     /* NOTREACHED */
 #else
@@ -9795,17 +9795,17 @@
     static int has_clock_gettime = 1;
 
     if (has_clock_gettime) {
-	if (clock_gettime(CLOCK_MONOTONIC, &ts) != -1) {
-	    _secs = ts.tv_sec;
-	    _micros  = ts.tv_nsec / 1000;
-	    goto out;
-	} else {
-	    /*
-	     * clock_gettime is not implemented in the kernel
-	     * fall through to alternative implementation
-	     */
-	    has_clock_gettime = 0;
-	}
+        if (clock_gettime(CLOCK_MONOTONIC, &ts) != -1) {
+            _secs = ts.tv_sec;
+            _micros  = ts.tv_nsec / 1000;
+            goto out;
+        } else {
+            /*
+             * clock_gettime is not implemented in the kernel
+             * fall through to alternative implementation
+             */
+            has_clock_gettime = 0;
+        }
     }
 # endif
 
@@ -9814,8 +9814,8 @@
 
     gettimeofday(&tb, NULL /* &tzb */);
     if (tb.tv_usec >= (1000000)) {
-	error = @symbol(bad);
-	goto err;
+        error = @symbol(bad);
+        goto err;
     }
 
     _secs = tb.tv_sec;
@@ -9826,18 +9826,18 @@
 
 # if __POINTER_SIZE__ == 8
     {
-	unsigned INT rslt;
-
-	rslt = (unsigned INT)_secs * 1000000 + _micros;
-	RETURN (__MKUINT(rslt));
+        unsigned INT rslt;
+
+        rslt = (unsigned INT)_secs * 1000000 + _micros;
+        RETURN (__MKUINT(rslt));
     }
 # else
 #  ifdef HAS_LONGLONG
     {
-	unsigned long long rslt;
-
-	rslt = (unsigned long long)_secs * 1000000 + _micros;
-	RETURN (__MKLARGEINT64(1, (unsigned INT)(rslt & 0xFFFFFFFF), (unsigned INT)(rslt >> 32)));
+        unsigned long long rslt;
+
+        rslt = (unsigned long long)_secs * 1000000 + _micros;
+        RETURN (__MKLARGEINT64(1, (unsigned INT)(rslt & 0xFFFFFFFF), (unsigned INT)(rslt >> 32)));
     }
 #  else
     seconds = __MKUINT(_secs);
@@ -9849,10 +9849,10 @@
 %}.
 
     seconds notNil ifTrue:[
-	^ (seconds * 1000000) + micros
+        ^ (seconds * 1000000) + micros
     ].
     error isNil ifTrue:[
-	^ self getMillisecondTime * 1000
+        ^ self getMillisecondTime * 1000
     ].
     self primitiveFailed:error.
 
@@ -9871,8 +9871,8 @@
      Use the XXXmillisecondTime:-methods to compare and add time deltas - these know about the wrap.
 
      BAD DESIGN:
-	This should be changed to return some instance of RelativeTime,
-	and these computations moved there.
+        This should be changed to return some instance of RelativeTime,
+        and these computations moved there.
 
      Don't use this method in application code since it is an internal (private)
      interface. For compatibility with ST-80, use Time millisecondClockValue.
@@ -9881,8 +9881,8 @@
 %{  /* NOCONTEXT */
 #ifdef __SCHTEAM__
     {
-	long millis = java.lang.System.currentTimeMillis();
-	return context._RETURN( STInteger._new(millis) );
+        long millis = java.lang.System.currentTimeMillis();
+        return context._RETURN( STInteger._new(millis) );
     }
     /* NOTREACHED */
 #else
@@ -9893,16 +9893,16 @@
     struct timespec ts;
 
     if (has_clock_gettime) {
-	if (clock_gettime(CLOCK_MONOTONIC, &ts) != -1) {
-	    t = ts.tv_sec*1000 + ts.tv_nsec/1000000;
-	    goto out;
-	} else {
-	    /*
-	     * clock_gettime is not implemented in the kernel
-	     * fall through to alternative implementation
-	     */
-	    has_clock_gettime = 0;
-	}
+        if (clock_gettime(CLOCK_MONOTONIC, &ts) != -1) {
+            t = ts.tv_sec*1000 + ts.tv_nsec/1000000;
+            goto out;
+        } else {
+            /*
+             * clock_gettime is not implemented in the kernel
+             * fall through to alternative implementation
+             */
+            has_clock_gettime = 0;
+        }
     }
 # endif /*  _POSIX_MONOTONIC_CLOCK */
 
@@ -9918,12 +9918,12 @@
     struct tms tb;
 
     if (!millisecondsPerTick) {
-	int ticksPerSecond = sysconf(_SC_CLK_TCK);
-	if (ticksPerSecond <= 0)
-	    goto err;
-	if (ticksPerSecond > 1000)
-	    goto err;
-	millisecondsPerTick = 1000 / ticksPerSecond;
+        int ticksPerSecond = sysconf(_SC_CLK_TCK);
+        if (ticksPerSecond <= 0)
+            goto err;
+        if (ticksPerSecond > 1000)
+            goto err;
+        millisecondsPerTick = 1000 / ticksPerSecond;
 /*
 printf("milliSecondsPerTick: %d\n", millisecondsPerTick);
 */
@@ -9931,7 +9931,7 @@
 
     ticks = times(&tb);
     if (ticks == -1)
-	goto err;
+        goto err;
 
     t = ticks * millisecondsPerTick;
 
@@ -9981,8 +9981,8 @@
 %{
 #ifdef __SCHTEAM__
     {
-	long millisSince1970 = java.lang.System.currentTimeMillis();
-	return context._RETURN( STInteger._new(millisSince1970));
+        long millisSince1970 = java.lang.System.currentTimeMillis();
+        return context._RETURN( STInteger._new(millisSince1970));
     }
     /* NOTREACHED */
 #else
@@ -9991,11 +9991,11 @@
 # if !defined(HAS_GETTIMEOFDAY)
 #  if defined(HAS_FTIME)
     {
-	struct timeb timebuffer;
-
-	ftime(&timebuffer);
-	_secs = timebuffer.time;
-	_millis = timebuffer.millitm;
+        struct timeb timebuffer;
+
+        ftime(&timebuffer);
+        _secs = timebuffer.time;
+        _millis = timebuffer.millitm;
     }
 #    define HAVE_TIME
 #  endif /* HAS_FTIME */
@@ -10008,33 +10008,33 @@
      */
 
     {
-	/*
-	 * bsd time
-	 */
-	struct timeval tb;
-	/* struct timezone tzb; */
-
-	gettimeofday(&tb, NULL /* &tzb */);
-
-	_secs = tb.tv_sec;
-	_millis = tb.tv_usec / 1000;
+        /*
+         * bsd time
+         */
+        struct timeval tb;
+        /* struct timezone tzb; */
+
+        gettimeofday(&tb, NULL /* &tzb */);
+
+        _secs = tb.tv_sec;
+        _millis = tb.tv_usec / 1000;
     }
 # endif
 
 # if __POINTER_SIZE__ == 8
     {
-	unsigned INT rslt;
-
-	rslt = (unsigned INT)_secs * 1000 + _millis;
-	RETURN (__MKUINT(rslt));
+        unsigned INT rslt;
+
+        rslt = (unsigned INT)_secs * 1000 + _millis;
+        RETURN (__MKUINT(rslt));
     }
 # else
 #  ifdef HAS_LONGLONG
     {
-	unsigned long long rslt;
-
-	rslt = (unsigned long long)_secs * 1000 + _millis;
-	RETURN (__MKLARGEINT64(1, (unsigned INT)(rslt & 0xFFFFFFFF), (unsigned INT)(rslt >> 32)));
+        unsigned long long rslt;
+
+        rslt = (unsigned long long)_secs * 1000 + _millis;
+        RETURN (__MKLARGEINT64(1, (unsigned INT)(rslt & 0xFFFFFFFF), (unsigned INT)(rslt >> 32)));
     }
 #  else
     seconds = __MKUINT(_secs);
@@ -10044,7 +10044,7 @@
 #endif /* SCHTEAM */
 %}.
     seconds notNil ifTrue:[
-	^ (seconds * 1000) + millis
+        ^ (seconds * 1000) + millis
     ].
 
     self primitiveFailed.
@@ -10077,7 +10077,7 @@
     secs = __intVal(uLow);
     usecs = __intVal(uHigh);
     if (secs > 0) {
-	sleep(secs);
+        sleep(secs);
     }
     usleep(usecs);
     RETURN (true);
@@ -10121,8 +10121,8 @@
 %{  /* NOCONTEXT */
 
     if (__isSmallInteger(numberOfSeconds)) {
-	sleep(__intVal(numberOfSeconds));
-	RETURN ( self );
+        sleep(__intVal(numberOfSeconds));
+        RETURN ( self );
     }
 %}.
     "
@@ -10147,104 +10147,104 @@
 #ifdef __SCHTEAM__
     if (osSeconds.isSmallInteger()
      && osMilliseconds.isSmallInteger()) {
-	long _seconds = osSeconds.longValue();
-	long _millis = osMilliseconds.longValue();
-	long _millisSinceEpoch = _seconds * 1000 + _millis;
-	java.util.TimeZone _tz;
-	java.util.Calendar _calendar;
-	int _wDay;
-
-	if (isLocalTime == STObject.True) {
-	    _tz = java.util.TimeZone.getDefault();
-	} else {
-	    _tz = java.util.TimeZone.getTimeZone("UTC");
-	}
-	_calendar = java.util.Calendar.getInstance(_tz);
-	_calendar.setTimeInMillis(_millisSinceEpoch);
-
-	year = STInteger._new( _calendar.get(java.util.Calendar.YEAR) );
-	month = STInteger._new( _calendar.get(java.util.Calendar.MONTH) + 1 );
-	day = STInteger._new( _calendar.get(java.util.Calendar.DAY_OF_MONTH) );
-	hours = STInteger._new( _calendar.get(java.util.Calendar.HOUR_OF_DAY) );
-	minutes = STInteger._new( _calendar.get(java.util.Calendar.MINUTE) );
-	seconds = STInteger._new( _calendar.get(java.util.Calendar.SECOND) );
-	yDay = STInteger._new( _calendar.get(java.util.Calendar.DAY_OF_YEAR) );
-	_wDay = _calendar.get(java.util.Calendar.DAY_OF_WEEK);
-	// convert from 1=SUN, 2=MON,...
-	// to 1=MON, 2=TUE,...
-	_wDay = _wDay - 1; if (_wDay < 1) _wDay += 7;
-	wDay = STInteger._new( _wDay );
-	utcOffset = STInteger._new( (_calendar.get(java.util.Calendar.ZONE_OFFSET)) / 1000 );
-	dstOffset = STInteger._new( (_calendar.get(java.util.Calendar.DST_OFFSET)) / 1000 );
+        long _seconds = osSeconds.longValue();
+        long _millis = osMilliseconds.longValue();
+        long _millisSinceEpoch = _seconds * 1000 + _millis;
+        java.util.TimeZone _tz;
+        java.util.Calendar _calendar;
+        int _wDay;
+
+        if (isLocalTime == STObject.True) {
+            _tz = java.util.TimeZone.getDefault();
+        } else {
+            _tz = java.util.TimeZone.getTimeZone("UTC");
+        }
+        _calendar = java.util.Calendar.getInstance(_tz);
+        _calendar.setTimeInMillis(_millisSinceEpoch);
+
+        year = STInteger._new( _calendar.get(java.util.Calendar.YEAR) );
+        month = STInteger._new( _calendar.get(java.util.Calendar.MONTH) + 1 );
+        day = STInteger._new( _calendar.get(java.util.Calendar.DAY_OF_MONTH) );
+        hours = STInteger._new( _calendar.get(java.util.Calendar.HOUR_OF_DAY) );
+        minutes = STInteger._new( _calendar.get(java.util.Calendar.MINUTE) );
+        seconds = STInteger._new( _calendar.get(java.util.Calendar.SECOND) );
+        yDay = STInteger._new( _calendar.get(java.util.Calendar.DAY_OF_YEAR) );
+        _wDay = _calendar.get(java.util.Calendar.DAY_OF_WEEK);
+        // convert from 1=SUN, 2=MON,...
+        // to 1=MON, 2=TUE,...
+        _wDay = _wDay - 1; if (_wDay < 1) _wDay += 7;
+        wDay = STInteger._new( _wDay );
+        utcOffset = STInteger._new( (_calendar.get(java.util.Calendar.ZONE_OFFSET)) / 1000 );
+        dstOffset = STInteger._new( (_calendar.get(java.util.Calendar.DST_OFFSET)) / 1000 );
     }
 #else
     struct tm tmValue, *result;
     time_t tt = __signedLongIntVal(osSeconds);
 
     if (tt == 0 && !__isSmallInteger(osSeconds))
-	goto out;             // __singedLongIntVal() returns 0 on failure
+        goto out;             // __singedLongIntVal() returns 0 on failure
 
     /* try cache */
     {
-	OBJ lastSeconds = @global(LastTimeInfoSeconds);
-
-	if (__isInteger(lastSeconds)
-	     && (__signedLongIntVal(lastSeconds) == tt)
-	     && (@global(LastTimeInfoIsLocal) == isLocalTime)
-	) {
-	    OBJ lastTimeInfo = @global(LastTimeInfo);
-	    if (lastTimeInfo != nil) {
-		info = lastTimeInfo;
-		goto out;
-	    }
-	}
+        OBJ lastSeconds = @global(LastTimeInfoSeconds);
+
+        if (__isInteger(lastSeconds)
+             && (__signedLongIntVal(lastSeconds) == tt)
+             && (@global(LastTimeInfoIsLocal) == isLocalTime)
+        ) {
+            OBJ lastTimeInfo = @global(LastTimeInfo);
+            if (lastTimeInfo != nil) {
+                info = lastTimeInfo;
+                goto out;
+            }
+        }
     }
 
     result = (isLocalTime == true) ? localtime_r(&tt, &tmValue) :  gmtime_r(&tt, &tmValue);
     if (result != NULL) {
-	hours = __mkSmallInteger(tmValue.tm_hour);
-	minutes = __mkSmallInteger(tmValue.tm_min);
-	seconds = __mkSmallInteger(tmValue.tm_sec);
-
-	year = __mkSmallInteger(tmValue.tm_year + 1900);
-	month = __mkSmallInteger(tmValue.tm_mon + 1);
-	day = __mkSmallInteger(tmValue.tm_mday);
-
-	yDay = __mkSmallInteger(tmValue.tm_yday+1);
-	wDay = __mkSmallInteger(tmValue.tm_wday == 0 ? 7 : tmValue.tm_wday);
-	utcOffset = __mkSmallInteger(TIMEZONE(&tmValue));
-	dst = (tmValue.tm_isdst == 0 ? false : true);
+        hours = __mkSmallInteger(tmValue.tm_hour);
+        minutes = __mkSmallInteger(tmValue.tm_min);
+        seconds = __mkSmallInteger(tmValue.tm_sec);
+
+        year = __mkSmallInteger(tmValue.tm_year + 1900);
+        month = __mkSmallInteger(tmValue.tm_mon + 1);
+        day = __mkSmallInteger(tmValue.tm_mday);
+
+        yDay = __mkSmallInteger(tmValue.tm_yday+1);
+        wDay = __mkSmallInteger(tmValue.tm_wday == 0 ? 7 : tmValue.tm_wday);
+        utcOffset = __mkSmallInteger(TIMEZONE(&tmValue));
+        dst = (tmValue.tm_isdst == 0 ? false : true);
     }
 out:;
 #endif
 %}.
     info notNil ifTrue:[
-	"there is a matching cached value"
-	LastTimeInfoMilliseconds == osMilliseconds ifTrue:[
-	    ^ info.
-	].
-	info := info copy.
-	info milliseconds:osMilliseconds.
+        "there is a matching cached value"
+        LastTimeInfoMilliseconds == osMilliseconds ifTrue:[
+            ^ info.
+        ].
+        info := info copy.
+        info milliseconds:osMilliseconds.
     ] ifFalse:[
-	year isNil ifTrue:[
-	    TimeConversionError raiseErrorString:' - out of range'.
-	].
-	dst isNil ifTrue:[
-	    dst := (dstOffset ~= 0)
-	].
-	info := self timeInfoClass new.
-	info
-	    year:year
-	    month:month
-	    day:day
-	    hours:hours
-	    minutes:minutes
-	    seconds:seconds
-	    milliseconds:osMilliseconds
-	    utcOffset:utcOffset
-	    dst:dst
-	    dayInYear:yDay
-	    dayInWeek:wDay.
+        year isNil ifTrue:[
+            TimeConversionError raiseErrorString:' - out of range'.
+        ].
+        dst isNil ifTrue:[
+            dst := (dstOffset ~= 0)
+        ].
+        info := self timeInfoClass new.
+        info
+            year:year
+            month:month
+            day:day
+            hours:hours
+            minutes:minutes
+            seconds:seconds
+            milliseconds:osMilliseconds
+            utcOffset:utcOffset
+            dst:dst
+            dayInYear:yDay
+            dayInWeek:wDay.
     ].
 
 %{
@@ -10341,11 +10341,11 @@
     info := self userInfoOf:userID.
     (info notNil
     and:[info includesKey:#gecos]) ifTrue:[
-	gecos := info at:#gecos.
-	(gecos includes:$,) ifTrue:[
-	    ^ gecos copyTo:(gecos indexOf:$,) - 1
-	].
-	^ gecos
+        gecos := info at:#gecos.
+        (gecos includes:$,) ifTrue:[
+            ^ gecos copyTo:(gecos indexOf:$,) - 1
+        ].
+        ^ gecos
     ].
     ^ self getUserNameFromID:userID
 
@@ -10384,10 +10384,10 @@
     struct group *g;
 
     if (__isSmallInteger(aNumber)) {
-	g = getgrgid(__intVal(aNumber));
-	if (g) {
-	    RETURN ( __MKSTRING(g->gr_name) );
-	}
+        g = getgrgid(__intVal(aNumber));
+        if (g) {
+            RETURN ( __MKSTRING(g->gr_name) );
+        }
     }
 %}.
     ^ '???'
@@ -10407,10 +10407,10 @@
 
     homeDir := self getEnvironment:'HOME'.
     homeDir isNil ifTrue:[
-	"/ mhmh - can only happen if started via some uncorrectly
-	"/ initialized subprocess...
-	'UnixOperatingSystem [warning]: cannot figure out home directory' errorPrintCR.
-	homeDir := '/tmp'.
+        "/ mhmh - can only happen if started via some uncorrectly
+        "/ initialized subprocess...
+        'UnixOperatingSystem [warning]: cannot figure out home directory' errorPrintCR.
+        homeDir := '/tmp'.
     ].
     ^ self decodePath:homeDir
 
@@ -10435,32 +10435,32 @@
     char *name = (char *)0;
 
     if (firstCall) {
-	/*
-	 * try a few common environment variables ...
-	 */
-	name = getenv("LOGNAME");
-	if (! name || (name[0] == 0)) {
-	    name = getlogin();
-	    if (! name || (name[0] == 0) ) {
-		name = getenv("LOGIN");
-		if (! name || (name[0] == 0) ) {
-		    name = getenv("USER");
-		}
-	    }
-	}
-	if (name && (strlen(name) < sizeof(cachedName))) {
-	    strcpy(cachedName, name);
-	    firstCall = 0;
-	}
+        /*
+         * try a few common environment variables ...
+         */
+        name = getenv("LOGNAME");
+        if (! name || (name[0] == 0)) {
+            name = getlogin();
+            if (! name || (name[0] == 0) ) {
+                name = getenv("LOGIN");
+                if (! name || (name[0] == 0) ) {
+                    name = getenv("USER");
+                }
+            }
+        }
+        if (name && (strlen(name) < sizeof(cachedName))) {
+            strcpy(cachedName, name);
+            firstCall = 0;
+        }
     } else {
-	name = cachedName;
+        name = cachedName;
     }
 
     /*
      * nope - I really don't know who you are.
      */
     if (! name || (name[0] == 0) ) {
-	name = "you";
+        name = "you";
     }
 
     RETURN ( __MKSTRING(name) );
@@ -10497,10 +10497,10 @@
     struct passwd *p;
 
     if (__isSmallInteger(aNumber)) {
-	p = getpwuid(__intVal(aNumber));
-	if (p && p->pw_name && (strlen(p->pw_name) > 0)) {
-	    RETURN ( __MKSTRING(p->pw_name) );
-	}
+        p = getpwuid(__intVal(aNumber));
+        if (p && p->pw_name && (strlen(p->pw_name) > 0)) {
+            RETURN ( __MKSTRING(p->pw_name) );
+        }
     }
 #endif /* unix-like */
 %}.
@@ -10558,68 +10558,68 @@
     struct passwd pwd;
 
     if (__isStringLike(aNameOrID)) {
-	getpwnam_r(__stringVal(aNameOrID), &pwd, buf, sizeof(buf), &result);
+        getpwnam_r(__stringVal(aNameOrID), &pwd, buf, sizeof(buf), &result);
     } else if (__isSmallInteger(aNameOrID)) {
-	getpwuid_r(__intVal(aNameOrID), &pwd, buf, sizeof(buf), &result);
+        getpwuid_r(__intVal(aNameOrID), &pwd, buf, sizeof(buf), &result);
     }
 #else
     if (__isStringLike(aNameOrID)) {
-	result = getpwnam(__stringVal(aNameOrID));
+        result = getpwnam(__stringVal(aNameOrID));
     } else if (__isSmallInteger(aNameOrID)) {
-	result = getpwuid(__intVal(aNameOrID));
+        result = getpwuid(__intVal(aNameOrID));
     }
 #endif /* ! _POSIX_SOURCE */
 
     if (result) {
-	returnArray = __ARRAY_NEW_INT(20);
-	__PROTECT__(returnArray);
-	tmp = __MKSTRING(result->pw_name);
-	__UNPROTECT__(returnArray);
-	__arrayVal(returnArray)[idx++] = @symbol(name);
-	__arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
+        returnArray = __ARRAY_NEW_INT(20);
+        __PROTECT__(returnArray);
+        tmp = __MKSTRING(result->pw_name);
+        __UNPROTECT__(returnArray);
+        __arrayVal(returnArray)[idx++] = @symbol(name);
+        __arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
 #  ifndef NO_PWD_PASSWD
-	__PROTECT__(returnArray);
-	tmp = __MKSTRING(result->pw_passwd);
-	__UNPROTECT__(returnArray);
-	__arrayVal(returnArray)[idx++] = @symbol(passwd);
-	__arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
+        __PROTECT__(returnArray);
+        tmp = __MKSTRING(result->pw_passwd);
+        __UNPROTECT__(returnArray);
+        __arrayVal(returnArray)[idx++] = @symbol(passwd);
+        __arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
 #  endif
 #  ifdef SYSV4
-	__PROTECT__(returnArray);
-	tmp = __MKSTRING(result->pw_age);
-	__UNPROTECT__(returnArray);
-	__arrayVal(returnArray)[idx++] = @symbol(age);
-	__arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
-	__PROTECT__(returnArray);
-	tmp = __MKSTRING(result->pw_comment);
-	__UNPROTECT__(returnArray);
-	__arrayVal(returnArray)[idx++] = @symbol(comment);
-	__arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
-#  endif
-	__PROTECT__(returnArray);
-	tmp = __MKSTRING(result->pw_dir);
-	__UNPROTECT__(returnArray);
-	__arrayVal(returnArray)[idx++] = @symbol(dir);
-	__arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
+        __PROTECT__(returnArray);
+        tmp = __MKSTRING(result->pw_age);
+        __UNPROTECT__(returnArray);
+        __arrayVal(returnArray)[idx++] = @symbol(age);
+        __arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
+        __PROTECT__(returnArray);
+        tmp = __MKSTRING(result->pw_comment);
+        __UNPROTECT__(returnArray);
+        __arrayVal(returnArray)[idx++] = @symbol(comment);
+        __arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
+#  endif
+        __PROTECT__(returnArray);
+        tmp = __MKSTRING(result->pw_dir);
+        __UNPROTECT__(returnArray);
+        __arrayVal(returnArray)[idx++] = @symbol(dir);
+        __arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
 #  ifndef NO_PWD_GECOS
-	__PROTECT__(returnArray);
-	tmp = __MKSTRING(result->pw_gecos);
-	__UNPROTECT__(returnArray);
-	__arrayVal(returnArray)[idx++] = @symbol(gecos);
-	__arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
-#  endif
-	__PROTECT__(returnArray);
-	tmp = __MKSTRING(result->pw_shell);
-	 __UNPROTECT__(returnArray);
-	__arrayVal(returnArray)[idx++] = @symbol(shell);
-	__arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
-
-	__arrayVal(returnArray)[idx++] = @symbol(uid);
-	__arrayVal(returnArray)[idx++] = __mkSmallInteger(result->pw_uid);
-
-	__arrayVal(returnArray)[idx++] = @symbol(gid);
-	__arrayVal(returnArray)[idx++] = __mkSmallInteger(result->pw_gid);
-	RETURN(returnArray);
+        __PROTECT__(returnArray);
+        tmp = __MKSTRING(result->pw_gecos);
+        __UNPROTECT__(returnArray);
+        __arrayVal(returnArray)[idx++] = @symbol(gecos);
+        __arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
+#  endif
+        __PROTECT__(returnArray);
+        tmp = __MKSTRING(result->pw_shell);
+         __UNPROTECT__(returnArray);
+        __arrayVal(returnArray)[idx++] = @symbol(shell);
+        __arrayVal(returnArray)[idx++] = tmp; __STORE(returnArray, tmp);
+
+        __arrayVal(returnArray)[idx++] = @symbol(uid);
+        __arrayVal(returnArray)[idx++] = __mkSmallInteger(result->pw_uid);
+
+        __arrayVal(returnArray)[idx++] = @symbol(gid);
+        __arrayVal(returnArray)[idx++] = __mkSmallInteger(result->pw_gid);
+        RETURN(returnArray);
     }
 # endif /* ! NO_PWD */
 %}.
@@ -10654,22 +10654,22 @@
     info := IdentityDictionary new.
 
     infoArray notNil ifTrue:[
-	infoArray pairWiseDo:[:key :value|
-	    key notNil ifTrue:[
-		info at:key put:value.
-		key == #name ifTrue:[name := value].
-		key == #dir  ifTrue:[dir := value].
-	    ].
-	].
+        infoArray pairWiseDo:[:key :value|
+            key notNil ifTrue:[
+                info at:key put:value.
+                key == #name ifTrue:[name := value].
+                key == #dir  ifTrue:[dir := value].
+            ].
+        ].
     ].
 
     name isNil ifTrue:[
-	info at:#name put:#unknown
+        info at:#name put:#unknown
     ].
     dir isNil ifTrue:[
-	aNameOrID == self getUserID ifTrue:[
-	    info at:#dir put:self getHomeDirectory
-	]
+        aNameOrID == self getUserID ifTrue:[
+            info at:#dir put:self getHomeDirectory
+        ]
     ].
 
     ^ info
@@ -10721,11 +10721,11 @@
 #   define __BLOCKING_WAIT__ 1
 
     if (blocking != true) {
-	/*
-	 * We do not support nonBlocking waits, so signal an error
-	 * Sorry about the goto, but with all these ifdefs ...
-	 */
-	goto done;
+        /*
+         * We do not support nonBlocking waits, so signal an error
+         * Sorry about the goto, but with all these ifdefs ...
+         */
+        goto done;
     }
 # endif /* !HAS_WAIT3 */
 #endif  /* !HAS_WAITPID */
@@ -10756,7 +10756,7 @@
 #endif
 
     do {
-	p = __WAIT;
+        p = __WAIT;
     } while (p == -1 && errno == EINTR);
 
 #if __BLOCKING_WAIT__
@@ -10767,35 +10767,35 @@
 #undef __WAIT
 
     if (p == 0)
-	RETURN(nil)
+        RETURN(nil)
 
     if (p == -1) {
-	if (errno == ECHILD)
-	    RETURN(nil);
+        if (errno == ECHILD)
+            RETURN(nil);
     } else {
-	pid = __mkSmallInteger(p);
-	if (WIFEXITED(s)) {
-	    status = @symbol(exit);
-	    code = __mkSmallInteger(WEXITSTATUS(s));
-	    core = WCOREDUMP(s) ? true : false;
-	} else if (WIFSIGNALED(s)) {
-	    status = @symbol(signal);
-	    code = __mkSmallInteger(WTERMSIG(s));
-	} else if (WIFSTOPPED(s)) {
-	    status = @symbol(stop);
-	    code = __mkSmallInteger(WSTOPSIG(s));
-	}
+        pid = __mkSmallInteger(p);
+        if (WIFEXITED(s)) {
+            status = @symbol(exit);
+            code = __mkSmallInteger(WEXITSTATUS(s));
+            core = WCOREDUMP(s) ? true : false;
+        } else if (WIFSIGNALED(s)) {
+            status = @symbol(signal);
+            code = __mkSmallInteger(WTERMSIG(s));
+        } else if (WIFSTOPPED(s)) {
+            status = @symbol(stop);
+            code = __mkSmallInteger(WSTOPSIG(s));
+        }
 #if defined(WIFCONTINUED)
-	else if (WIFCONTINUED(s)) {
-	    status = @symbol(continue);
-	}
+        else if (WIFCONTINUED(s)) {
+            status = @symbol(continue);
+        }
 #endif
     }
 done: ;
 %}.
 
     (status isNil or:[pid isNil]) ifTrue:[
-	^ self primitiveFailed
+        ^ self primitiveFailed
     ].
 
 "/ Transcript show:'pid: '; show:pid; show:' status: '; show:status;
@@ -10834,10 +10834,10 @@
 # endif
 # if defined(DELAY_FLAG)
     if (__isSmallInteger(fd)) {
-	int f = __intVal(fd);
-
-	flags = fcntl(f, F_GETFL, 0);
-	RETURN ((flags & DELAY_FLAG) ? false : true );
+        int f = __intVal(fd);
+
+        flags = fcntl(f, F_GETFL, 0);
+        RETURN ((flags & DELAY_FLAG) ? false : true );
     }
 #  undef DELAY_FLAG
 # endif
@@ -10869,13 +10869,13 @@
 %{
 #if defined(FIONREAD)
     {
-	int n = 0;
-
-	if (__isSmallInteger(fd)) {
-	    if (ioctl(__intVal(fd), FIONREAD, &n) >= 0) {
-		RETURN (__MKINT(n));
-	    }
-	}
+        int n = 0;
+
+        if (__isSmallInteger(fd)) {
+            if (ioctl(__intVal(fd), FIONREAD, &n) >= 0) {
+                RETURN (__MKINT(n));
+            }
+        }
     }
 #endif /* FIONREAD */
 %}.
@@ -10890,8 +10890,8 @@
 %{
 #ifdef __SCHTEAM__
     {
-	int avail = fd.streamAvailable();
-	return __c__._RETURN (avail > 0 ? STObject.True : STObject.False);
+        int avail = fd.streamAvailable();
+        return __c__._RETURN (avail > 0 ? STObject.True : STObject.False);
     }
     /* NOTREACHED */
 #else
@@ -10900,11 +10900,11 @@
      */
 # if 0 && defined(FIONREAD)
     if (__isSmallInteger(fd)) {
-	int result = 0;
-
-	if (ioctl(__smallIntegerVal(fd), FIONREAD, &result) >= 0) {
-	    RETURN(result > 0 ? true : false);
-	}
+        int result = 0;
+
+        if (ioctl(__smallIntegerVal(fd), FIONREAD, &result) >= 0) {
+            RETURN(result > 0 ? true : false);
+        }
     }
 # endif /* FIONREAD */
 #endif
@@ -10914,9 +10914,9 @@
 !
 
 selectOnAnyReadable:readFdArray writable:writeFdArray exception:exceptFdArray
-	readableInto:readableResultFdArray writableInto:writableResultFdArray
-	exceptionInto:exceptionResultFdArray
-	withTimeOut:millis
+        readableInto:readableResultFdArray writableInto:writableResultFdArray
+        exceptionInto:exceptionResultFdArray
+        withTimeOut:millis
 
     "wait for any fd in readFdArray (an Array of integers) to become ready for reading,
      writeFdArray to become ready for writing,
@@ -10946,32 +10946,32 @@
     int numFds = 0;
 
     if (readableResultFdArray != nil) {
-	if (! __isArrayLike(readableResultFdArray)) {
-	    goto fail;
-	}
-	resultSizeReadable = __arraySize(readableResultFdArray);
+        if (! __isArrayLike(readableResultFdArray)) {
+            goto fail;
+        }
+        resultSizeReadable = __arraySize(readableResultFdArray);
     }
     if (writableResultFdArray != nil) {
-	if (! __isArrayLike(writableResultFdArray)) {
-	    goto fail;
-	}
-	resultSizeWritable = __arraySize(writableResultFdArray);
-	if (readableResultFdArray == writableResultFdArray) {
-	    // allow common result set for read/write/except
-	    pcntW = &cntR;
-	}
+        if (! __isArrayLike(writableResultFdArray)) {
+            goto fail;
+        }
+        resultSizeWritable = __arraySize(writableResultFdArray);
+        if (readableResultFdArray == writableResultFdArray) {
+            // allow common result set for read/write/except
+            pcntW = &cntR;
+        }
     }
     if (exceptionResultFdArray != nil) {
-	if (! __isArrayLike(exceptionResultFdArray)) {
-	    goto fail;
-	}
-	resultSizeException = __arraySize(exceptionResultFdArray);
-	if (exceptionResultFdArray == readableResultFdArray) {
-	    // allow common result set for read/write/except
-	    pcntE = &cntR;
-	} else if (exceptionResultFdArray == writableResultFdArray) {
-	    pcntE = &cntW;
-	}
+        if (! __isArrayLike(exceptionResultFdArray)) {
+            goto fail;
+        }
+        resultSizeException = __arraySize(exceptionResultFdArray);
+        if (exceptionResultFdArray == readableResultFdArray) {
+            // allow common result set for read/write/except
+            pcntE = &cntR;
+        } else if (exceptionResultFdArray == writableResultFdArray) {
+            pcntE = &cntW;
+        }
     }
 
     FD_ZERO(&rset);
@@ -10980,121 +10980,121 @@
 
     maxF = -1;
     if (readFdArray != nil) {
-	int i, count;
-
-	if (! __isArrayLike(readFdArray)) {
-	    goto fail;
-	}
-	count = __arraySize(readFdArray);
-
-	for (i=0; i<count;i++) {
-	    OBJ fd;
-
-	    fd = __arrayVal(readFdArray)[i];
-	    if (fd != nil) {
-		if (! __isSmallInteger(fd)) {
-		    if (@global(InfoPrinting) == true) {
-			fprintf(stderr, "OS [warning]: funny read-fd (0x%lx) given to select\n", (unsigned long)fd);
-		    }
-		} else {
-		    int f;
-
-		    f = __intVal(fd);
-		    if ((unsigned)f < FD_SETSIZE) {
-			FD_SET(f, &rset);
-			if (f > maxF) maxF = f;
-			numFds++;
-		    } else {
-			if (@global(InfoPrinting) == true) {
-			    fprintf(stderr, "OS [warning]: huge read-fd (0x%lx) given to select\n", (unsigned long)fd);
-			}
-		    }
-		}
-	    }
-	}
+        int i, count;
+
+        if (! __isArrayLike(readFdArray)) {
+            goto fail;
+        }
+        count = __arraySize(readFdArray);
+
+        for (i=0; i<count;i++) {
+            OBJ fd;
+
+            fd = __arrayVal(readFdArray)[i];
+            if (fd != nil) {
+                if (! __isSmallInteger(fd)) {
+                    if (@global(InfoPrinting) == true) {
+                        fprintf(stderr, "OS [warning]: funny read-fd (0x%lx) given to select\n", (unsigned long)fd);
+                    }
+                } else {
+                    int f;
+
+                    f = __intVal(fd);
+                    if ((unsigned)f < FD_SETSIZE) {
+                        FD_SET(f, &rset);
+                        if (f > maxF) maxF = f;
+                        numFds++;
+                    } else {
+                        if (@global(InfoPrinting) == true) {
+                            fprintf(stderr, "OS [warning]: huge read-fd (0x%lx) given to select\n", (unsigned long)fd);
+                        }
+                    }
+                }
+            }
+        }
     }
 
     if (writeFdArray != nil) {
-	int i, count;
-
-	if (! __isArrayLike(writeFdArray)) {
-	    goto fail;
-	}
-	count = __arraySize(writeFdArray);
-	for (i=0; i<count;i++) {
-	    OBJ fd;
-
-	    fd = __arrayVal(writeFdArray)[i];
-	    if (fd != nil) {
-		if (! __isSmallInteger(fd)) {
-		    if (@global(InfoPrinting) == true) {
-			fprintf(stderr, "OS [warning]: funny write-fd (0x%lx) given to select\n", (unsigned long)fd);
-		    }
-		} else {
-		    int f;
-
-		    f = __intVal(fd);
-		    if ((unsigned)f < FD_SETSIZE) {
-			FD_SET(f, &wset);
-			if (f > maxF) maxF = f;
-			numFds++;
-		    } else {
-			if (@global(InfoPrinting) == true) {
-			    fprintf(stderr, "OS [warning]: huge write-fd (0x%lx) given to select\n", (unsigned long)fd);
-			}
-		    }
-		}
-	    }
-	}
+        int i, count;
+
+        if (! __isArrayLike(writeFdArray)) {
+            goto fail;
+        }
+        count = __arraySize(writeFdArray);
+        for (i=0; i<count;i++) {
+            OBJ fd;
+
+            fd = __arrayVal(writeFdArray)[i];
+            if (fd != nil) {
+                if (! __isSmallInteger(fd)) {
+                    if (@global(InfoPrinting) == true) {
+                        fprintf(stderr, "OS [warning]: funny write-fd (0x%lx) given to select\n", (unsigned long)fd);
+                    }
+                } else {
+                    int f;
+
+                    f = __intVal(fd);
+                    if ((unsigned)f < FD_SETSIZE) {
+                        FD_SET(f, &wset);
+                        if (f > maxF) maxF = f;
+                        numFds++;
+                    } else {
+                        if (@global(InfoPrinting) == true) {
+                            fprintf(stderr, "OS [warning]: huge write-fd (0x%lx) given to select\n", (unsigned long)fd);
+                        }
+                    }
+                }
+            }
+        }
     }
 
     if (exceptFdArray != nil) {
-	int i, count;
-
-	if (! __isArrayLike(exceptFdArray)) {
-	    goto fail;
-	}
-	count = __arraySize(exceptFdArray);
-	for (i=0; i<count;i++) {
-	    OBJ fd;
-
-	    fd = __arrayVal(exceptFdArray)[i];
-	    if (fd != nil) {
-		if (! __isSmallInteger(fd)) {
-		    if (@global(InfoPrinting) == true) {
-			fprintf(stderr, "OS [warning]: funny except-fd (0x%lx) given to select\n", (unsigned long)fd);
-		    }
-		} else {
-		    int f;
-
-		    f = __intVal(fd);
-		    if ((unsigned)f < FD_SETSIZE) {
-			FD_SET(f, &eset);
-			if (f > maxF) maxF = f;
-			numFds++;
-		    } else {
-			if (@global(InfoPrinting) == true) {
-			    fprintf(stderr, "OS [warning]: huge except-fd (0x%lx) given to select\n", (unsigned long)fd);
-			}
-		    }
-		}
-	    }
-	}
+        int i, count;
+
+        if (! __isArrayLike(exceptFdArray)) {
+            goto fail;
+        }
+        count = __arraySize(exceptFdArray);
+        for (i=0; i<count;i++) {
+            OBJ fd;
+
+            fd = __arrayVal(exceptFdArray)[i];
+            if (fd != nil) {
+                if (! __isSmallInteger(fd)) {
+                    if (@global(InfoPrinting) == true) {
+                        fprintf(stderr, "OS [warning]: funny except-fd (0x%lx) given to select\n", (unsigned long)fd);
+                    }
+                } else {
+                    int f;
+
+                    f = __intVal(fd);
+                    if ((unsigned)f < FD_SETSIZE) {
+                        FD_SET(f, &eset);
+                        if (f > maxF) maxF = f;
+                        numFds++;
+                    } else {
+                        if (@global(InfoPrinting) == true) {
+                            fprintf(stderr, "OS [warning]: huge except-fd (0x%lx) given to select\n", (unsigned long)fd);
+                        }
+                    }
+                }
+            }
+        }
     }
 
     if (millis == nil) {
-	wtp = NULL;         // wait forever
+        wtp = NULL;         // wait forever
     } else if (__isSmallInteger(millis)) {
-	__millis = __intVal(millis);
-	if (__millis > 0) {
-	    wt.tv_sec = __millis / 1000;
-	    wt.tv_usec = (__millis % 1000) * 1000;
-	} else {
-	    wt.tv_sec = wt.tv_usec = 0;
-	}
-	wtp = &wt;
+        __millis = __intVal(millis);
+        if (__millis > 0) {
+            wt.tv_sec = __millis / 1000;
+            wt.tv_usec = (__millis % 1000) * 1000;
+        } else {
+            wt.tv_sec = wt.tv_usec = 0;
+        }
+        wtp = &wt;
     } else {
-	goto fail;
+        goto fail;
     }
 
     /*
@@ -11104,74 +11104,74 @@
     __BEGIN_INTERRUPTABLE__
 
     if (__millis == 0) {
-	/*
-	 * if there is no timeout time, we can stay here interruptable.
-	 */
-	do {
-	    ret = select(maxF+1, &rset, &wset, &eset, wtp);
-	} while ((ret < 0) && (errno == EINTR));
+        /*
+         * if there is no timeout time, we can stay here interruptable.
+         */
+        do {
+            ret = select(maxF+1, &rset, &wset, &eset, wtp);
+        } while ((ret < 0) && (errno == EINTR));
     } else {
-	do {
-	    ret = select(maxF+1, &rset, &wset, &eset, wtp);
-	    /*
-	     * for now: don't loop; if we did, we had to adjust the vt-timeval;
-	     * could otherwise stay in this loop forever ...
-	     * Premature ret (before the time expired) must be handled by the caller.
-	     * A good solution is to update the wt-timeval and redo the select.
-	     */
-	} while (0 /* (ret < 0) && (errno == EINTR) */ );
+        do {
+            ret = select(maxF+1, &rset, &wset, &eset, wtp);
+            /*
+             * for now: don't loop; if we did, we had to adjust the vt-timeval;
+             * could otherwise stay in this loop forever ...
+             * Premature ret (before the time expired) must be handled by the caller.
+             * A good solution is to update the wt-timeval and redo the select.
+             */
+        } while (0 /* (ret < 0) && (errno == EINTR) */ );
     }
     __END_INTERRUPTABLE__
 
     if (ret > 0) {
-	OBJ *__resultR = __arrayVal(readableResultFdArray);
-	OBJ *__resultW = __arrayVal(writableResultFdArray);
-	OBJ *__resultE = __arrayVal(exceptionResultFdArray);
-	int i;
-
-	for (i=0; i <= maxF; i++) {
-	    if (FD_ISSET(i, &rset)) {
-		if (*pcntR < resultSizeReadable) {
-		    __resultR[*pcntR] = __mkSmallInteger(i);
-		}
-		(*pcntR)++; cntAll++;
-	    }
-
-	    if (FD_ISSET(i, &wset)) {
-		if (*pcntW < resultSizeWritable) {
-		    __resultW[*pcntW] = __mkSmallInteger(i);
-		}
-		(*pcntW)++; cntAll++;
-	    }
-
-	    if (FD_ISSET(i, &eset)) {
-		if (*pcntE < resultSizeException) {
-		    __resultE[*pcntE] = __mkSmallInteger(i);
-		}
-		(*pcntE)++;  cntAll++;
-	    }
-	}
-	/* add a delimiter */
-	if (*pcntR < resultSizeReadable) {
-	    __resultR[*pcntR] = nil;
-	}
-	if (*pcntW < resultSizeWritable) {
-	    __resultW[*pcntW] = nil;
-	}
-	if (*pcntE < resultSizeException) {
-	    __resultE[*pcntE] = nil;
-	}
-
-	RETURN (__mkSmallInteger(cntAll));
+        OBJ *__resultR = __arrayVal(readableResultFdArray);
+        OBJ *__resultW = __arrayVal(writableResultFdArray);
+        OBJ *__resultE = __arrayVal(exceptionResultFdArray);
+        int i;
+
+        for (i=0; i <= maxF; i++) {
+            if (FD_ISSET(i, &rset)) {
+                if (*pcntR < resultSizeReadable) {
+                    __resultR[*pcntR] = __mkSmallInteger(i);
+                }
+                (*pcntR)++; cntAll++;
+            }
+
+            if (FD_ISSET(i, &wset)) {
+                if (*pcntW < resultSizeWritable) {
+                    __resultW[*pcntW] = __mkSmallInteger(i);
+                }
+                (*pcntW)++; cntAll++;
+            }
+
+            if (FD_ISSET(i, &eset)) {
+                if (*pcntE < resultSizeException) {
+                    __resultE[*pcntE] = __mkSmallInteger(i);
+                }
+                (*pcntE)++;  cntAll++;
+            }
+        }
+        /* add a delimiter */
+        if (*pcntR < resultSizeReadable) {
+            __resultR[*pcntR] = nil;
+        }
+        if (*pcntW < resultSizeWritable) {
+            __resultW[*pcntW] = nil;
+        }
+        if (*pcntE < resultSizeException) {
+            __resultE[*pcntE] = nil;
+        }
+
+        RETURN (__mkSmallInteger(cntAll));
     } else if (ret < 0 && errno != EINTR) {
-	/*
-	 * Error: Return -1
-	 */
-	if (@global(InfoPrinting) == true) {
-	    fprintf(stderr, "OS [info]: select errno = %d\n", errno);
-	}
-	@global(LastErrorNumber) = __mkSmallInteger(errno);
-	RETURN (__mkSmallInteger(-1));
+        /*
+         * Error: Return -1
+         */
+        if (@global(InfoPrinting) == true) {
+            fprintf(stderr, "OS [info]: select errno = %d\n", errno);
+        }
+        @global(LastErrorNumber) = __mkSmallInteger(errno);
+        RETURN (__mkSmallInteger(-1));
     }
 
     /*
@@ -11218,17 +11218,17 @@
 #  endif
 #  if defined(DELAY_FLAG)
     if (__isSmallInteger(fd)) {
-	int f = __intVal(fd);
-
-	flags = fcntl(f, F_GETFL, 0);
-	if (aBoolean == true) {
-	    ret = fcntl(f, F_SETFL, flags & ~DELAY_FLAG);
-	} else if (aBoolean == false) {
-	    ret = fcntl(f, F_SETFL, flags | DELAY_FLAG);
-	}
-	if (ret >= 0) {
-	    RETURN ((flags & DELAY_FLAG) ? false : true );
-	}
+        int f = __intVal(fd);
+
+        flags = fcntl(f, F_GETFL, 0);
+        if (aBoolean == true) {
+            ret = fcntl(f, F_SETFL, flags & ~DELAY_FLAG);
+        } else if (aBoolean == false) {
+            ret = fcntl(f, F_SETFL, flags | DELAY_FLAG);
+        }
+        if (ret >= 0) {
+            RETURN ((flags & DELAY_FLAG) ? false : true );
+        }
     }
 #   undef DELAY_FLAG
 #  endif
@@ -11272,7 +11272,7 @@
     DEFCONST(ELFDATANUM)
 
     DEFCONST(EI_VERSION)        /* File version byte index */
-				/* Value must be EV_CURRENT */
+                                /* Value must be EV_CURRENT */
 
     DEFCONST(EI_OSABI)          /* OS ABI identification */
     DEFCONST(ELFOSABI_NONE)     /* UNIX System V ABI */
@@ -11454,29 +11454,29 @@
 initializeOnFile: aStringOrFilename
     file := aStringOrFilename asFilename.
     file exists ifFalse:[
-	self error:'Given file does not exist'.
-	^ nil
+        self error:'Given file does not exist'.
+        ^ nil
     ].
     file isRegularFile ifFalse:[
-	self error:'Given file is not a regular file'.
-	^ nil
+        self error:'Given file is not a regular file'.
+        ^ nil
     ].
     file readingFileDo:[ :s |
-	s binary.
-	data := s next: 16r18.
-	(data at: 1 + EI_MAG0) ~~ ELFMAG0 ifTrue:[
-	    self error:'Given file is not a valid ELF file (magic not found)'.
-	].
-	(data at: 1 + EI_MAG1) ~~ ELFMAG1 ifTrue:[
-	    self error:'Given file is not a valid ELF file (magic not found)'.
-	].
-	(data at: 1 + EI_MAG2) ~~ ELFMAG2 ifTrue:[
-	    self error:'Given file is not a valid ELF file (magic not found)'.
-	].
-	(data at: 1 + EI_MAG3) ~~ ELFMAG3 ifTrue:[
-	    self error:'Given file is not a valid ELF file (magic not found)'.
-	].
-	msb := (data at: 1 + EI_DATA) == ELFDATA2MSB
+        s binary.
+        data := s next: 16r18.
+        (data at: 1 + EI_MAG0) ~~ ELFMAG0 ifTrue:[
+            self error:'Given file is not a valid ELF file (magic not found)'.
+        ].
+        (data at: 1 + EI_MAG1) ~~ ELFMAG1 ifTrue:[
+            self error:'Given file is not a valid ELF file (magic not found)'.
+        ].
+        (data at: 1 + EI_MAG2) ~~ ELFMAG2 ifTrue:[
+            self error:'Given file is not a valid ELF file (magic not found)'.
+        ].
+        (data at: 1 + EI_MAG3) ~~ ELFMAG3 ifTrue:[
+            self error:'Given file is not a valid ELF file (magic not found)'.
+        ].
+        msb := (data at: 1 + EI_DATA) == ELFDATA2MSB
     ].
 
     "Created: / 16-03-2015 / 16:13:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -11502,14 +11502,14 @@
     "one of our registered handles has been collected"
 
     aspect == #ElementExpired ifTrue:[
-	OpenFiles keysAndValuesDo:[:fd :handle |
-	    handle class == SmallInteger ifTrue:[
-		"Have to close the file descriptor"
-
-		OperatingSystem closeFd:fd.
-		OpenFiles at:fd put:nil.
-	    ].
-	].
+        OpenFiles keysAndValuesDo:[:fd :handle |
+            handle class == SmallInteger ifTrue:[
+                "Have to close the file descriptor"
+
+                OperatingSystem closeFd:fd.
+                OpenFiles at:fd put:nil.
+            ].
+        ].
     ].
 
     "Created: 30.9.1997 / 12:57:35 / stefan"
@@ -11522,7 +11522,7 @@
     OpenFiles addDependent:self.
 
     "
-	self initialize
+        self initialize
     "
 
     "Created: 26.9.1997 / 17:15:50 / stefan"
@@ -11546,7 +11546,7 @@
      or the error number as returned by the OperatingSystem"
 
     anErrorSymbolOrErrno isInteger ifTrue:[
-	(UnixOperatingSystem errorHolderForNumber:anErrorSymbolOrErrno) reportError
+        (UnixOperatingSystem errorHolderForNumber:anErrorSymbolOrErrno) reportError
     ].
     self primitiveFailed:anErrorSymbolOrErrno.
 ! !
@@ -11581,7 +11581,7 @@
     "/ the 0 is possible, if an fd was open when saving a snapshot image,
     "/ and we come up in the new image with no one referring to it.
     (oldHandle notNil and:[oldHandle class ~~ SmallInteger and:[ oldHandle ~~ self]]) ifTrue:[
-	oldHandle invalidate.
+        oldHandle invalidate.
     ].
     self register.
 
@@ -11610,110 +11610,110 @@
     int nInstBytes, objSize;
 
     if (! __isSmallInteger(__INST(fd))) {
-	error = @symbol(errorNotOpen);
-	goto bad;
+        error = @symbol(errorNotOpen);
+        goto bad;
     }
     if (! __bothSmallInteger(count, firstIndex)) {
-	error = @symbol(badArgument);
-	goto bad;
+        error = @symbol(badArgument);
+        goto bad;
     }
     fd = __smallIntegerVal(__INST(fd));
     cnt = __smallIntegerVal(count);
     offs = __smallIntegerVal(firstIndex) - 1;
 
     if (fd < 0) {
-	error = @symbol(internalError);
-	goto bad;
+        error = @symbol(internalError);
+        goto bad;
     }
     if (__isExternalBytesLike(aByteBuffer)) {
-	OBJ sz;
-
-	nInstBytes = 0;
-	extPtr = (char *)(__externalBytesAddress(aByteBuffer));
-	if (extPtr == NULL) goto bad;
-	sz = __externalBytesSize(aByteBuffer);
-	if (__isSmallInteger(sz)) {
-	    objSize = __smallIntegerVal(sz);
-	} else {
-	    objSize = -1; /* unknown */
-	}
+        OBJ sz;
+
+        nInstBytes = 0;
+        extPtr = (char *)(__externalBytesAddress(aByteBuffer));
+        if (extPtr == NULL) goto bad;
+        sz = __externalBytesSize(aByteBuffer);
+        if (__isSmallInteger(sz)) {
+            objSize = __smallIntegerVal(sz);
+        } else {
+            objSize = -1; /* unknown */
+        }
     } else {
-	OBJ oClass = __Class(aByteBuffer);
-	int nInstVars = __intVal(__ClassInstPtr(oClass)->c_ninstvars);
-
-	nInstBytes = OHDR_SIZE + __OBJS2BYTES__(nInstVars);
-	switch (__intVal(__ClassInstPtr(oClass)->c_flags) & ARRAYMASK) {
-	    case BYTEARRAY:
-	    case WORDARRAY:
-	    case LONGARRAY:
-	    case SWORDARRAY:
-	    case SLONGARRAY:
-	    case FLOATARRAY:
-		break;
-	    case DOUBLEARRAY:
+        OBJ oClass = __Class(aByteBuffer);
+        int nInstVars = __intVal(__ClassInstPtr(oClass)->c_ninstvars);
+
+        nInstBytes = OHDR_SIZE + __OBJS2BYTES__(nInstVars);
+        switch (__intVal(__ClassInstPtr(oClass)->c_flags) & ARRAYMASK) {
+            case BYTEARRAY:
+            case WORDARRAY:
+            case LONGARRAY:
+            case SWORDARRAY:
+            case SLONGARRAY:
+            case FLOATARRAY:
+                break;
+            case DOUBLEARRAY:
 #ifdef __NEED_DOUBLE_ALIGN
-		nInstBytes = (nInstBytes-1+__DOUBLE_ALIGN) &~ (__DOUBLE_ALIGN-1);
-#endif
-		break;
-	    case LONGLONGARRAY:
-	    case SLONGLONGARRAY:
+                nInstBytes = (nInstBytes-1+__DOUBLE_ALIGN) &~ (__DOUBLE_ALIGN-1);
+#endif
+                break;
+            case LONGLONGARRAY:
+            case SLONGLONGARRAY:
 #ifdef __NEED_LONGLONG_ALIGN
-		nInstBytes = (nInstBytes-1+__LONGLONG_ALIGN) &~ (__LONGLONG_ALIGN-1);
-#endif
-		break;
-	    default:
-		goto bad;
-	}
-	extPtr = (char *)0;
-	objSize = __Size(aByteBuffer) - nInstBytes;
+                nInstBytes = (nInstBytes-1+__LONGLONG_ALIGN) &~ (__LONGLONG_ALIGN-1);
+#endif
+                break;
+            default:
+                goto bad;
+        }
+        extPtr = (char *)0;
+        objSize = __Size(aByteBuffer) - nInstBytes;
     }
     if ((offs >= 0)
-	&& (cnt >= 0)
-	&& ((objSize == -1) || (objSize >= (cnt + offs)))) {
-	nRead = 0;
-
-	do {
-	    int n;
-
-	    if (extPtr) {
-		n = read(fd, extPtr+offs, cnt);
-	    } else {
-		char *bp;
-
-		/*
-		 * on interrupt, anObject may be moved to another location.
-		 * So we recompute the byte-address here.
-		 */
-		bp = __byteArrayVal(aByteBuffer) + nInstBytes;
-
-		n = read(fd, bp + offs, cnt);
-	    }
-	    if (n > 0) {
-		cnt -= n;
-		offs += n;
-		nRead += n;
-	    } else if (n == 0) {
-		break;
-	    } else if (n < 0) {
-		if (0
+        && (cnt >= 0)
+        && ((objSize == -1) || (objSize >= (cnt + offs)))) {
+        nRead = 0;
+
+        do {
+            int n;
+
+            if (extPtr) {
+                n = read(fd, extPtr+offs, cnt);
+            } else {
+                char *bp;
+
+                /*
+                 * on interrupt, anObject may be moved to another location.
+                 * So we recompute the byte-address here.
+                 */
+                bp = __byteArrayVal(aByteBuffer) + nInstBytes;
+
+                n = read(fd, bp + offs, cnt);
+            }
+            if (n > 0) {
+                cnt -= n;
+                offs += n;
+                nRead += n;
+            } else if (n == 0) {
+                break;
+            } else if (n < 0) {
+                if (0
 #ifdef EWOULDBLOCK
-		    || errno == EWOULDBLOCK
+                    || errno == EWOULDBLOCK
 #endif
 #ifdef EAGAIN
-		    || errno == EAGAIN
-#endif
-		) {
-		     RETURN(nil);
-		}
-		if (errno != EINTR) {
-		     error = __mkSmallInteger(errno);
-		     goto bad;
-		}
-		__HANDLE_INTERRUPTS__;
-	    }
-	} while (cnt > 0);
-
-	RETURN (__mkSmallInteger(nRead));
+                    || errno == EAGAIN
+#endif
+                ) {
+                     RETURN(nil);
+                }
+                if (errno != EINTR) {
+                     error = __mkSmallInteger(errno);
+                     goto bad;
+                }
+                __HANDLE_INTERRUPTS__;
+            }
+        } while (cnt > 0);
+
+        RETURN (__mkSmallInteger(nRead));
     }
 bad: ;
 %}.
@@ -11752,110 +11752,110 @@
     int nInstBytes, objSize;
 
     if (! __isSmallInteger(__INST(fd))) {
-	error = @symbol(errorNotOpen);
-	goto bad;
+        error = @symbol(errorNotOpen);
+        goto bad;
     }
     if (! __bothSmallInteger(count, firstIndex)) {
-	error = @symbol(badArgument);
-	goto bad;
+        error = @symbol(badArgument);
+        goto bad;
     }
     fd = __smallIntegerVal(__INST(fd));
     cnt = __smallIntegerVal(count);
     offs = __smallIntegerVal(firstIndex) - 1;
 
     if (fd < 0) {
-	error = @symbol(internalError);
-	goto bad;
+        error = @symbol(internalError);
+        goto bad;
     }
     if (__isExternalBytesLike(aByteBuffer)) {
-	OBJ sz;
-
-	nInstBytes = 0;
-	extPtr = (char *)(__externalBytesAddress(aByteBuffer));
-	if (extPtr == NULL) goto bad;
-	sz = __externalBytesSize(aByteBuffer);
-	if (__isSmallInteger(sz)) {
-	    objSize = __smallIntegerVal(sz);
-	} else {
-	    objSize = -1; /* unknown */
-	}
+        OBJ sz;
+
+        nInstBytes = 0;
+        extPtr = (char *)(__externalBytesAddress(aByteBuffer));
+        if (extPtr == NULL) goto bad;
+        sz = __externalBytesSize(aByteBuffer);
+        if (__isSmallInteger(sz)) {
+            objSize = __smallIntegerVal(sz);
+        } else {
+            objSize = -1; /* unknown */
+        }
     } else {
-	OBJ oClass = __Class(aByteBuffer);
-	int nInstVars = __intVal(__ClassInstPtr(oClass)->c_ninstvars);
-
-	nInstBytes = OHDR_SIZE + __OBJS2BYTES__(nInstVars);
-	switch (__intVal(__ClassInstPtr(oClass)->c_flags) & ARRAYMASK) {
-	    case BYTEARRAY:
-	    case WORDARRAY:
-	    case LONGARRAY:
-	    case SWORDARRAY:
-	    case SLONGARRAY:
-	    case FLOATARRAY:
-		break;
-	    case DOUBLEARRAY:
+        OBJ oClass = __Class(aByteBuffer);
+        int nInstVars = __intVal(__ClassInstPtr(oClass)->c_ninstvars);
+
+        nInstBytes = OHDR_SIZE + __OBJS2BYTES__(nInstVars);
+        switch (__intVal(__ClassInstPtr(oClass)->c_flags) & ARRAYMASK) {
+            case BYTEARRAY:
+            case WORDARRAY:
+            case LONGARRAY:
+            case SWORDARRAY:
+            case SLONGARRAY:
+            case FLOATARRAY:
+                break;
+            case DOUBLEARRAY:
 #ifdef __NEED_DOUBLE_ALIGN
-		nInstBytes = (nInstBytes-1+__DOUBLE_ALIGN) &~ (__DOUBLE_ALIGN-1);
-#endif
-		break;
-	    case LONGLONGARRAY:
-	    case SLONGLONGARRAY:
+                nInstBytes = (nInstBytes-1+__DOUBLE_ALIGN) &~ (__DOUBLE_ALIGN-1);
+#endif
+                break;
+            case LONGLONGARRAY:
+            case SLONGLONGARRAY:
 #ifdef __NEED_LONGLONG_ALIGN
-		nInstBytes = (nInstBytes-1+__LONGLONG_ALIGN) &~ (__LONGLONG_ALIGN-1);
-#endif
-		break;
-	    default:
-		goto bad;
-	}
-	extPtr = (char *)0;
-	objSize = __Size(aByteBuffer) - nInstBytes;
+                nInstBytes = (nInstBytes-1+__LONGLONG_ALIGN) &~ (__LONGLONG_ALIGN-1);
+#endif
+                break;
+            default:
+                goto bad;
+        }
+        extPtr = (char *)0;
+        objSize = __Size(aByteBuffer) - nInstBytes;
     }
     if ((offs >= 0)
-	&& (cnt >= 0)
-	&& ((objSize == -1) || (objSize >= (cnt + offs)))) {
-	nWritten = 0;
-
-	do {
-	    int n;
-
-	    if (extPtr) {
-		n = write(fd, extPtr+offs, cnt);
-	    } else {
-		char *bp;
-
-		/*
-		 * on interrupt, anObject may be moved to another location.
-		 * So we recompute the byte-address here.
-		 */
-		bp = __byteArrayVal(aByteBuffer) + nInstBytes;
-
-		n = write(fd, bp + offs, cnt);
-	    }
-	    if (n > 0) {
-		cnt -= n;
-		offs += n;
-		nWritten += n;
-	    } else if (n == 0) {
-		break;
-	    } else if (n < 0) {
-		if (0
+        && (cnt >= 0)
+        && ((objSize == -1) || (objSize >= (cnt + offs)))) {
+        nWritten = 0;
+
+        do {
+            int n;
+
+            if (extPtr) {
+                n = write(fd, extPtr+offs, cnt);
+            } else {
+                char *bp;
+
+                /*
+                 * on interrupt, anObject may be moved to another location.
+                 * So we recompute the byte-address here.
+                 */
+                bp = __byteArrayVal(aByteBuffer) + nInstBytes;
+
+                n = write(fd, bp + offs, cnt);
+            }
+            if (n > 0) {
+                cnt -= n;
+                offs += n;
+                nWritten += n;
+            } else if (n == 0) {
+                break;
+            } else if (n < 0) {
+                if (0
 #ifdef EWOULDBLOCK
-		    || errno == EWOULDBLOCK
+                    || errno == EWOULDBLOCK
 #endif
 #ifdef EAGAIN
-		    || errno == EAGAIN
-#endif
-		) {
-		     RETURN(nil);
-		}
-		if (errno != EINTR) {
-		     error = __mkSmallInteger(errno);
-		     goto bad;
-		}
-		__HANDLE_INTERRUPTS__;
-	    }
-	} while (cnt > 0);
-
-	RETURN (__mkSmallInteger(nWritten));
+                    || errno == EAGAIN
+#endif
+                ) {
+                     RETURN(nil);
+                }
+                if (errno != EINTR) {
+                     error = __mkSmallInteger(errno);
+                     goto bad;
+                }
+                __HANDLE_INTERRUPTS__;
+            }
+        } while (cnt > 0);
+
+        RETURN (__mkSmallInteger(nWritten));
     }
 bad: ;
 %}.
@@ -11906,50 +11906,50 @@
     OBJ rslt;
 
     if (! __isSmallInteger(__INST(fd))) {
-	error = @symbol(errorNotOpen);
-	goto bad;
+        error = @symbol(errorNotOpen);
+        goto bad;
     }
     if (__isSmallInteger(newPosition)) {
-	pos = __smallIntegerVal(newPosition);
+        pos = __smallIntegerVal(newPosition);
     } else {
-	pos = __signedLongIntVal(newPosition);
-	if (pos < 0 && (sizeof(pos) < 8 || __signedLong64IntVal(newPosition, &pos) == 0)) {
-	    error = @symbol(badArgument1);
-	    goto bad;
-	}
+        pos = __signedLongIntVal(newPosition);
+        if (pos < 0 && (sizeof(pos) < 8 || __signedLong64IntVal(newPosition, &pos) == 0)) {
+            error = @symbol(badArgument1);
+            goto bad;
+        }
     }
 
     fd = __smallIntegerVal(__INST(fd));
     if (fd < 0) {
-	error = @symbol(internalError);
-	goto bad;
+        error = @symbol(internalError);
+        goto bad;
     }
     if (whence == @symbol(begin)) {
-	__whence = SEEK_SET;
+        __whence = SEEK_SET;
     } else if (whence == @symbol(current)) {
-	__whence = SEEK_CUR;
+        __whence = SEEK_CUR;
     } else if (whence == @symbol(end)) {
-	__whence = SEEK_END;
+        __whence = SEEK_END;
     } else {
-	error = @symbol(badArgument2);
-	goto bad;
+        error = @symbol(badArgument2);
+        goto bad;
     }
 
 again:
     ret = lseek(fd, pos, __whence);
     if (ret < 0) {
-	if (errno == EINTR) {
-	    __HANDLE_INTERRUPTS__;
-	    goto again;
-	}
-	error = __mkSmallInteger(errno);
-	goto bad;
+        if (errno == EINTR) {
+            __HANDLE_INTERRUPTS__;
+            goto again;
+        }
+        error = __mkSmallInteger(errno);
+        goto bad;
     }
 
     if (sizeof(ret) == 8) {
-	rslt = __MKINT64 (&ret);
+        rslt = __MKINT64 (&ret);
     } else {
-	rslt = __MKINT(ret);
+        rslt = __MKINT(ret);
     }
     RETURN (rslt);
 
@@ -11976,9 +11976,9 @@
      Experimental."
 
     ^ OperatingSystem selectOnAnyReadable:(Array with:fd)
-		      writable:(Array with:fd)
-		     exception:nil
-		   withTimeOut:millis
+                      writable:(Array with:fd)
+                     exception:nil
+                   withTimeOut:millis
 
     "Created: 1.10.1997 / 08:51:11 / stefan"
 !
@@ -12009,19 +12009,19 @@
 #  endif
 #  if defined(DELAY_FLAG)
     if (__isSmallInteger(__INST(fd))) {
-	int f = __intVal(__INST(fd));
-
-	flags = fcntl(f, F_GETFL, 0);
-	if (aBoolean == true) {
-	    ret = fcntl(f, F_SETFL, flags & ~DELAY_FLAG);
-	} else {
-	    ret = fcntl(f, F_SETFL, flags | DELAY_FLAG);
-	}
-	if (ret >= 0) {
-	    RETURN(__mkSmallInteger(flags));
-	} else {
-	    err = __mkSmallInteger(errno);
-	}
+        int f = __intVal(__INST(fd));
+
+        flags = fcntl(f, F_GETFL, 0);
+        if (aBoolean == true) {
+            ret = fcntl(f, F_SETFL, flags & ~DELAY_FLAG);
+        } else {
+            ret = fcntl(f, F_SETFL, flags | DELAY_FLAG);
+        }
+        if (ret >= 0) {
+            RETURN(__mkSmallInteger(flags));
+        } else {
+            err = __mkSmallInteger(errno);
+        }
     }
 #  undef DELAY_FLAG
 #  endif /* DELAY_FLAG */
@@ -12029,7 +12029,7 @@
 #endif /* not SCHTEAM */
 %}.
     err notNil ifTrue:[
-	self error:err
+        self error:err
     ].
 
     "
@@ -12049,7 +12049,7 @@
     OBJ handle = __externalAddressVal(self);
 
     if (__isSmallInteger(handle)) {
-	RETURN (handle);
+        RETURN (handle);
     }
 %}.
     ^ nil
@@ -12059,7 +12059,7 @@
 
 %{
     if (__isSmallInteger(anInteger)) {
-	__externalAddressVal(self) = (OBJ)(__smallIntegerVal(anInteger));
+        __externalAddressVal(self) = (OBJ)(__smallIntegerVal(anInteger));
     }
 %}
 
@@ -12077,37 +12077,37 @@
     int fd;
 
     if (__isSmallInteger(__INST(fd))) {
-	fd = __smallIntegerVal(__INST(fd));
-
-	/*
-	 * if available, try FIONREAD first, which is usually done faster.
-	 */
+        fd = __smallIntegerVal(__INST(fd));
+
+        /*
+         * if available, try FIONREAD first, which is usually done faster.
+         */
 # ifdef FIONREAD
-	{
-	    int result = 0;
-
-	    if (ioctl(fd, FIONREAD, &result) >= 0) {
-		RETURN(result > 0 ? true : false);
-	    }
-	}
+        {
+            int result = 0;
+
+            if (ioctl(fd, FIONREAD, &result) >= 0) {
+                RETURN(result > 0 ? true : false);
+            }
+        }
 # endif /* FIONREAD */
     }
 %}.
 
     OperatingSystem supportsSelect ifFalse:[
-	"/ mhmh - what should we do then ?
-	"/ For now, return true as if data was present,
-	"/ and let the thread fall into the read.
-	"/ It will then (hopefully) be desceduled there and
-	"/ effectively polling for input.
-
-	^ true
+        "/ mhmh - what should we do then ?
+        "/ For now, return true as if data was present,
+        "/ and let the thread fall into the read.
+        "/ It will then (hopefully) be desceduled there and
+        "/ effectively polling for input.
+
+        ^ true
     ].
 
     ^ (OperatingSystem selectOnAnyReadable:(Array with:fd)
-		       writable:nil
-		       exception:nil
-		       withTimeOut:0) == fd
+                       writable:nil
+                       exception:nil
+                       withTimeOut:0) == fd
 
     "
      |h n|
@@ -12130,18 +12130,18 @@
     "return true, if filedescriptor can be written without blocking"
 
     OperatingSystem supportsSelect ifFalse:[
-	"/ mhmh - what should we do then ?
-	"/ For now, return true as if data was present,
-	"/ and let the thread fall into the write.
-	"/ It will then (hopefully) be desceduled there and
-	"/ effectively polling for output.
-	^ true
+        "/ mhmh - what should we do then ?
+        "/ For now, return true as if data was present,
+        "/ and let the thread fall into the write.
+        "/ It will then (hopefully) be desceduled there and
+        "/ effectively polling for output.
+        ^ true
     ].
 
     ^ (OperatingSystem selectOnAnyReadable:nil
-		       writable:(Array with:fd)
-		       exception:nil
-		       withTimeOut:0) == fd
+                       writable:(Array with:fd)
+                       exception:nil
+                       withTimeOut:0) == fd
 !
 
 isValid
@@ -12160,13 +12160,13 @@
      */
 # if defined(FIONREAD)
     {
-	int n = 0;
-
-	if (__isSmallInteger(__INST(fd))) {
-	    if (ioctl(__smallIntegerVal(__INST(fd)), FIONREAD, &n) >= 0) {
-		RETURN (__MKINT(n));
-	    }
-	}
+        int n = 0;
+
+        if (__isSmallInteger(__INST(fd))) {
+            if (ioctl(__smallIntegerVal(__INST(fd)), FIONREAD, &n) >= 0) {
+                RETURN (__MKINT(n));
+            }
+        }
     }
 # endif /* FIONREAD */
 %}.
@@ -12190,21 +12190,21 @@
 
     sz := OpenFiles size.
     fd > sz ifTrue:[
-	"grow for more descriptors"
-	old := OpenFiles.
-
-	"JV@2013-03-15: It may happen that OS returns a filedescriptor whose value
-	 is larger than twice the lenght of the weakarray. Care for this.
-	 Spotted by Martin Kobetic."
-	OpenFiles := WeakArray new:((sz * 2) max:fd).
-	old removeDependent:(self class).
-	OpenFiles addDependent:(self class).
-	old keysAndValuesDo:[:index :elem|
-	    "be careful to not overwrite new entries in OpenFiles"
-	    elem notNil ifTrue:[
-		OpenFiles at:index put:elem.
-	    ].
-	].
+        "grow for more descriptors"
+        old := OpenFiles.
+
+        "JV@2013-03-15: It may happen that OS returns a filedescriptor whose value
+         is larger than twice the lenght of the weakarray. Care for this.
+         Spotted by Martin Kobetic."
+        OpenFiles := WeakArray new:((sz * 2) max:fd).
+        old removeDependent:(self class).
+        OpenFiles addDependent:(self class).
+        old keysAndValuesDo:[:index :elem|
+            "be careful to not overwrite new entries in OpenFiles"
+            elem notNil ifTrue:[
+                OpenFiles at:index put:elem.
+            ].
+        ].
     ].
     OpenFiles at:fd put:self.
 
@@ -12238,25 +12238,25 @@
 
     fd isNil ifTrue:[^ self error:#errorNotOpen].
     self canReadWithoutBlocking ifTrue:[
-	^ false.
+        ^ false.
     ].
 
     wasBlocked := OperatingSystem blockInterrupts.
     inputSema := Semaphore new name:'readWait'.
     [
-	timeout notNil ifTrue:[
-	    Processor signal:inputSema afterMilliseconds:timeout
-	].
-	Processor signal:inputSema onInput:fd.
-	Processor activeProcess state:#ioWait.
-	inputSema wait.
-	hasData := self canReadWithoutBlocking.
+        timeout notNil ifTrue:[
+            Processor signal:inputSema afterMilliseconds:timeout
+        ].
+        Processor signal:inputSema onInput:fd.
+        Processor activeProcess state:#ioWait.
+        inputSema wait.
+        hasData := self canReadWithoutBlocking.
     ] ifCurtailed:[
-	Processor disableSemaphore:inputSema.
-	wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
+        Processor disableSemaphore:inputSema.
+        wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
     ].
     timeout notNil ifTrue:[
-	Processor disableSemaphore:inputSema.
+        Processor disableSemaphore:inputSema.
     ].
     wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
     ^ hasData not
@@ -12273,25 +12273,25 @@
 
     fd isNil ifTrue:[^ self error:#errorNotOpen].
     self canWriteWithoutBlocking ifTrue:[
-	^ false.
+        ^ false.
     ].
 
     wasBlocked := OperatingSystem blockInterrupts.
     outputSema := Semaphore new name:'writeWait'.
     [
-	timeout notNil ifTrue:[
-	    Processor signal:outputSema afterMilliseconds:timeout
-	].
-	Processor signal:outputSema onOutput:fd.
-	Processor activeProcess state:#ioWait.
-	outputSema wait.
-	canWrite := self canWriteWithoutBlocking.
+        timeout notNil ifTrue:[
+            Processor signal:outputSema afterMilliseconds:timeout
+        ].
+        Processor signal:outputSema onOutput:fd.
+        Processor activeProcess state:#ioWait.
+        outputSema wait.
+        canWrite := self canWriteWithoutBlocking.
     ] ifCurtailed:[
-	Processor disableSemaphore:outputSema.
-	wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
+        Processor disableSemaphore:outputSema.
+        wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
     ].
     timeout notNil ifTrue:[
-	Processor disableSemaphore:outputSema.
+        Processor disableSemaphore:outputSema.
     ].
     wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
     ^ canWrite not
@@ -12306,8 +12306,8 @@
     FILE *f = (FILE *)(__externalAddressVal(self));
 
     if (f) {
-	__externalAddressVal(self) = NULL;
-	fclose(f);
+        __externalAddressVal(self) = NULL;
+        fclose(f);
     }
 %}
 
@@ -12317,12 +12317,12 @@
 
 type:t mode:m uid:u gid:g size:s id:i accessed:aT modified:mT statusChanged:sT path:lP numLinks:nL
     ^ self basicNew
-	type:t mode:m uid:u gid:g size:s id:i accessed:aT modified:mT statusChanged:sT path:lP numLinks:nL
+        type:t mode:m uid:u gid:g size:s id:i accessed:aT modified:mT statusChanged:sT path:lP numLinks:nL
 !
 
 type:t mode:m uid:u gid:g size:s id:i accessed:aT modified:mT statusChanged:sT sourcePath:sP targetPath:tP numLinks:nL
     ^ self basicNew
-	type:t mode:m uid:u gid:g size:s id:i accessed:aT modified:mT statusChanged:sT sourcePath:sP targetPath:tP numLinks:nL
+        type:t mode:m uid:u gid:g size:s id:i accessed:aT modified:mT statusChanged:sT sourcePath:sP targetPath:tP numLinks:nL
 ! !
 
 !UnixOperatingSystem::FileStatusInfo methodsFor:'accessing'!
@@ -12331,8 +12331,8 @@
     "return accessed"
 
     accessed isInteger ifTrue:[
-	"/ lazy time conversion
-	accessed := Timestamp fromOSTime:(accessed * 1000).
+        "/ lazy time conversion
+        accessed := Timestamp fromOSTime:(accessed * 1000).
     ].
     ^ accessed
 !
@@ -12382,8 +12382,8 @@
     "return modified"
 
     modified isInteger ifTrue:[
-	"/ lazy time conversion
-	modified := Timestamp fromOSTime:(modified * 1000).
+        "/ lazy time conversion
+        modified := Timestamp fromOSTime:(modified * 1000).
     ].
     ^ modified
 !
@@ -12406,8 +12406,8 @@
 
 statusChangeTime
     statusChanged isInteger ifTrue:[
-	"/ lazy time conversion
-	statusChanged := Timestamp fromOSTime:(statusChanged * 1000).
+        "/ lazy time conversion
+        statusChanged := Timestamp fromOSTime:(statusChanged * 1000).
     ].
     ^ statusChanged
 !
@@ -12630,9 +12630,9 @@
 
 isSpecialFile
     ^ (type ~~ #directory
-	and:[type ~~ #remoteDirectory
-	and:[type ~~ #regular
-	and:[type ~~ #symbolicLink
+        and:[type ~~ #remoteDirectory
+        and:[type ~~ #regular
+        and:[type ~~ #symbolicLink
     ]]])
 !
 
@@ -12675,8 +12675,8 @@
 
 printOn:aStream
     aStream
-	nextPutAll:'MountInfo for ';
-	nextPutAll:mountPointPath.
+        nextPutAll:'MountInfo for ';
+        nextPutAll:mountPointPath.
 ! !
 
 !UnixOperatingSystem::MountInfo methodsFor:'queries'!
@@ -12694,20 +12694,20 @@
 
     [Instance variables:]
 
-	pid     <Integer>       OS-Process identifier
-
-	status  <Symbol>        either #exit #signal #stop #continue
-
-	code    <Integer>       either exitcode or signalnumber
-
-	core    <Boolean>       true if core has been dumped
+        pid     <Integer>       OS-Process identifier
+
+        status  <Symbol>        either #exit #signal #stop #continue
+
+        code    <Integer>       either exitcode or signalnumber
+
+        core    <Boolean>       true if core has been dumped
 
 
     [author:]
-	Stefan Vogel
+        Stefan Vogel
 
     [see also:]
-	OperatingSystem
+        OperatingSystem
 "
 ! !
 
@@ -12869,15 +12869,15 @@
 
 %{
     if (__isSmallInteger(aNameOrNumber) || aNameOrNumber == nil) {
-	RETURN(aNameOrNumber);
+        RETURN(aNameOrNumber);
     }
 %}.
 
     ProtocolCache notNil ifTrue:[
-	protocolCode := ProtocolCache at:(aNameOrNumber asSymbol) ifAbsent:[].
-	protocolCode notNil ifTrue:[
-	    ^ protocolCode.
-	].
+        protocolCode := ProtocolCache at:(aNameOrNumber asSymbol) ifAbsent:[].
+        protocolCode notNil ifTrue:[
+            ^ protocolCode.
+        ].
     ].
 
 %{
@@ -12885,21 +12885,21 @@
     struct protoent *protoent = 0;
 
     if (__isStringLike(aNameOrNumber)) {
-	protoent = getprotobyname((char *) __stringVal(aNameOrNumber));
-	if (protoent) {
-	    protocolCode = __mkSmallInteger(protoent->p_proto);
-	    protocolSymbol = __MKSYMBOL(protoent->p_name, 0);
-	}
+        protoent = getprotobyname((char *) __stringVal(aNameOrNumber));
+        if (protoent) {
+            protocolCode = __mkSmallInteger(protoent->p_proto);
+            protocolSymbol = __MKSYMBOL(protoent->p_name, 0);
+        }
     }
 #endif /*NO_SOCKET*/
 %}.
 
     protocolSymbol notNil ifTrue:[
-	ProtocolCache isNil ifTrue:[
-	    ProtocolCache := IdentityDictionary new.
-	].
-	"beware of polluting the protocol cache with aliases"
-	ProtocolCache at:protocolSymbol put:protocolCode.
+        ProtocolCache isNil ifTrue:[
+            ProtocolCache := IdentityDictionary new.
+        ].
+        "beware of polluting the protocol cache with aliases"
+        ProtocolCache at:protocolSymbol put:protocolCode.
     ].
     ^ protocolCode
 
@@ -12916,10 +12916,10 @@
     |protocolSymbol|
 
     ProtocolCache notNil ifTrue:[
-	protocolSymbol := ProtocolCache keyAtIdentityValue:anInteger ifAbsent:[].
-	protocolSymbol notNil ifTrue:[
-	    ^ protocolSymbol.
-	].
+        protocolSymbol := ProtocolCache keyAtIdentityValue:anInteger ifAbsent:[].
+        protocolSymbol notNil ifTrue:[
+            ^ protocolSymbol.
+        ].
     ].
 
 %{
@@ -12927,19 +12927,19 @@
     struct protoent *protoent = 0;
 
     if (__isSmallInteger(anInteger)) {
-	protoent = getprotobynumber(__intVal(anInteger));
-	if (protoent) {
-	    protocolSymbol = __MKSYMBOL(protoent->p_name, 0);
-	}
+        protoent = getprotobynumber(__intVal(anInteger));
+        if (protoent) {
+            protocolSymbol = __MKSYMBOL(protoent->p_name, 0);
+        }
     }
 #endif /*NO_SOCKET*/
 %}.
 
     protocolSymbol notNil ifTrue:[
-	ProtocolCache isNil ifTrue:[
-	    ProtocolCache := IdentityDictionary new.
-	].
-	ProtocolCache at:protocolSymbol put:anInteger.
+        ProtocolCache isNil ifTrue:[
+            ProtocolCache := IdentityDictionary new.
+        ].
+        ProtocolCache at:protocolSymbol put:anInteger.
     ].
     ^ protocolSymbol
 
@@ -12972,101 +12972,101 @@
     |result domain type proto encodedHostName|
 
     domainArg notNil ifTrue:[
-	domain := OperatingSystem domainCodeOf:domainArg.
+        domain := OperatingSystem domainCodeOf:domainArg.
     ].
     typeArg notNil ifTrue:[
-	type := OperatingSystem socketTypeCodeOf:typeArg.
+        type := OperatingSystem socketTypeCodeOf:typeArg.
     ].
     protoArg notNil ifTrue:[
-	proto := self protocolCodeOf:protoArg.
+        proto := self protocolCodeOf:protoArg.
     ].
 
     hostName isNil ifTrue:[
-	encodedHostName := nil.
+        encodedHostName := nil.
     ] ifFalse:[
-	encodedHostName := hostName utf8Encoded.
+        encodedHostName := hostName utf8Encoded.
     ].
     (encodedHostName ~~ hostName and:[OperatingSystem getCodeset ~~ #utf8]) ifTrue:[
-	"hostName is not plain ASCII - so this is an IDN domain name. Have to ensure, that the locale is UTF-8.
-	 Block interrupt to not affect other ST/X processes while the locale is changed."
-	|interruptsBlocked oldLocale|
-
-	interruptsBlocked := OperatingSystem blockInterrupts.
-	oldLocale := OperatingSystem setLocale:#'LC_CTYPE' to:nil.
-	OperatingSystem setLocale:#'LC_CTYPE' to:'en_US.UTF-8'.
-	result := self primGetAddressInfo:encodedHostName serviceName:serviceName domainCode:domain socketTypeCode:type protocolCode:proto flags:flags.
-	OperatingSystem setLocale:#'LC_CTYPE' to:oldLocale.
-	interruptsBlocked ifFalse:[
-	    OperatingSystem unblockInterrupts.
-	].
+        "hostName is not plain ASCII - so this is an IDN domain name. Have to ensure, that the locale is UTF-8.
+         Block interrupt to not affect other ST/X processes while the locale is changed."
+        |interruptsBlocked oldLocale|
+
+        interruptsBlocked := OperatingSystem blockInterrupts.
+        oldLocale := OperatingSystem setLocale:#'LC_CTYPE' to:nil.
+        OperatingSystem setLocale:#'LC_CTYPE' to:'en_US.UTF-8'.
+        result := self primGetAddressInfo:encodedHostName serviceName:serviceName domainCode:domain socketTypeCode:type protocolCode:proto flags:flags.
+        OperatingSystem setLocale:#'LC_CTYPE' to:oldLocale.
+        interruptsBlocked ifFalse:[
+            OperatingSystem unblockInterrupts.
+        ].
     ] ifFalse:[
-	result := self primGetAddressInfo:encodedHostName serviceName:serviceName domainCode:domain socketTypeCode:type protocolCode:proto flags:flags.
+        result := self primGetAddressInfo:encodedHostName serviceName:serviceName domainCode:domain socketTypeCode:type protocolCode:proto flags:flags.
     ].
     result isArray ifFalse:[
-	|request|
-	request := SocketAddressInfo new
-	    domain:domainArg;
-	    type:typeArg;
-	    protocol:protoArg;
-	    canonicalName:hostName;
-	    serviceName:serviceName.
-	^ (HostNameLookupError new
-		parameter:result;
-		messageText:' - ', (result printString);
-		request:request) raiseRequest.
+        |request|
+        request := SocketAddressInfo new
+            domain:domainArg;
+            type:typeArg;
+            protocol:protoArg;
+            canonicalName:hostName;
+            serviceName:serviceName.
+        ^ (HostNameLookupError new
+                parameter:result;
+                messageText:' - ', (result printString);
+                request:request) raiseRequest.
     ].
     1 to:result size do:[:i |
-	|entry dom info|
-
-	entry := result at:i.
-
-	info := SocketAddressInfo new.
-	info
-	    flags:(entry at:1);
-	    domain:(dom := OperatingSystem domainSymbolOf:(entry at:2));
-	    type:(OperatingSystem socketTypeSymbolOf:(entry at:3));
-	    protocol:(self protocolSymbolOf:(entry at:4));
-	    socketAddress:((SocketAddress newDomain:dom) fromBytes:(entry at:5));
-	    canonicalName:(entry at:6).
-
-	result at:i put:info.
+        |entry dom info|
+
+        entry := result at:i.
+
+        info := SocketAddressInfo new.
+        info
+            flags:(entry at:1);
+            domain:(dom := OperatingSystem domainSymbolOf:(entry at:2));
+            type:(OperatingSystem socketTypeSymbolOf:(entry at:3));
+            protocol:(self protocolSymbolOf:(entry at:4));
+            socketAddress:((SocketAddress newDomain:dom) fromBytes:(entry at:5));
+            canonicalName:(entry at:6).
+
+        result at:i put:info.
     ].
     ^ result.
 
 
     "
      self getAddressInfo:'localhost' serviceName:nil
-	    domain:nil type:nil protocol:nil flags:nil
+            domain:nil type:nil protocol:nil flags:nil
      self getAddressInfo:nil serviceName:22
-	    domain:nil type:nil protocol:nil flags:nil
+            domain:nil type:nil protocol:nil flags:nil
      self getAddressInfo:'' serviceName:22
-	    domain:nil type:nil protocol:nil flags:nil
+            domain:nil type:nil protocol:nil flags:nil
      self getAddressInfo:'localhost' serviceName:nil
-	    domain:nil type:#stream protocol:nil flags:nil
+            domain:nil type:#stream protocol:nil flags:nil
      self getAddressInfo:'localhost' serviceName:nil
-	    domain:#inet type:#stream protocol:#tcp flags:nil
+            domain:#inet type:#stream protocol:#tcp flags:nil
      self getAddressInfo:'blurb.exept.de' serviceName:nil
-	    domain:#inet type:nil protocol:nil flags:nil
+            domain:#inet type:nil protocol:nil flags:nil
      self getAddressInfo:'1.2.3.4' serviceName:'bla'
-	    domain:#inet type:nil protocol:nil flags:nil
+            domain:#inet type:nil protocol:nil flags:nil
      self getAddressInfo:'localhost' serviceName:'echo'
-	    domain:#inet type:nil protocol:nil flags:nil
+            domain:#inet type:nil protocol:nil flags:nil
      self getAddressInfo:nil serviceName:'echo'
-	    domain:#inet type:nil protocol:nil flags:nil
+            domain:#inet type:nil protocol:nil flags:nil
      self getAddressInfo:nil serviceName:nil
-	    domain:#inet type:nil protocol:nil flags:nil
+            domain:#inet type:nil protocol:nil flags:nil
      self getAddressInfo:'www.google.de' serviceName:80
-	    domain:nil type:nil protocol:nil flags:nil
+            domain:nil type:nil protocol:nil flags:nil
      self getAddressInfo:'www.exept.de' serviceName:nil
-	    domain:nil type:nil protocol:nil flags:nil
+            domain:nil type:nil protocol:nil flags:nil
      self getAddressInfo:'www.exept.de' serviceName:'https'
-	    domain:#'AF_INET' type:nil protocol:nil flags:nil
+            domain:#'AF_INET' type:nil protocol:nil flags:nil
      self getAddressInfo:'www.exept.de' serviceName:nil
-	    domain:#'AF_INET6' type:nil protocol:nil flags:nil
+            domain:#'AF_INET6' type:nil protocol:nil flags:nil
      self getAddressInfo:'www.baden-württemberg.de' serviceName:nil
-	    domain:#'AF_INET' type:#stream protocol:nil flags:nil
+            domain:#'AF_INET' type:#stream protocol:nil flags:nil
      self getAddressInfo:'www.baden-württemberg.de' serviceName:nil
-	    domain:#'AF_INET6' type:#stream protocol:nil flags:nil
+            domain:#'AF_INET6' type:#stream protocol:nil flags:nil
     "
 !
 
@@ -13098,20 +13098,20 @@
     int nInstBytes, sockAddrSize;
 
     if (wantHostName == true) {
-	hp = host;
-	hsz = sizeof(host);
+        hp = host;
+        hsz = sizeof(host);
     }
     if (wantServiceName == true) {
-	sp = service;
-	ssz = sizeof(service);
+        sp = service;
+        ssz = sizeof(service);
     }
     if (hp == 0 && sp == 0) {
-	error = @symbol(badArgument);
-	goto err;
+        error = @symbol(badArgument);
+        goto err;
     }
     if (!__isBytes(socketAddress)) {
-	error = @symbol(badArgument1);
-	goto err;
+        error = @symbol(badArgument1);
+        goto err;
     }
 
     nInstBytes = __OBJS2BYTES__(__intVal(__ClassInstPtr(__qClass(socketAddress))->c_ninstvars));
@@ -13119,187 +13119,187 @@
     sockAddrSize -= nInstBytes;
 
     if (!__isSmallInteger(flags)) {
-	error = @symbol(badArgument5);
-	goto err;
+        error = @symbol(badArgument5);
+        goto err;
     }
     __flags = __intVal(flags);
 
 #if defined(NI_NUMERICHOST)
     if (useDatagram == true) {
-	__flags |= NI_DGRAM;
+        __flags |= NI_DGRAM;
     }
 
     {
-	bp = (char *)(__byteArrayVal(socketAddress));
-	bp += nInstBytes;
-	__BEGIN_INTERRUPTABLE__
-	ret = getnameinfo((struct sockaddr *)bp, sockAddrSize,
-			  hp, hsz, sp, ssz, __flags);
-	__END_INTERRUPTABLE__
+        bp = (char *)(__byteArrayVal(socketAddress));
+        bp += nInstBytes;
+        __BEGIN_INTERRUPTABLE__
+        ret = getnameinfo((struct sockaddr *)bp, sockAddrSize,
+                          hp, hsz, sp, ssz, __flags);
+        __END_INTERRUPTABLE__
     } while (ret == EAI_SYSTEM && errno == EINTR);
     if (ret != 0) {
-	switch (ret) {
-	case EAI_FAMILY:
-	    error = @symbol(badProtocol);
-	    break;
-	case EAI_SOCKTYPE:
-	    error = @symbol(badSocketType);
-	    break;
-	case EAI_BADFLAGS:
-	    error = @symbol(badFlags);
-	    break;
-	case EAI_NONAME:
-	    error = @symbol(unknownHost);
-	    break;
-	case EAI_SERVICE:
-	    error = @symbol(unknownService);
-	    break;
+        switch (ret) {
+        case EAI_FAMILY:
+            error = @symbol(badProtocol);
+            break;
+        case EAI_SOCKTYPE:
+            error = @symbol(badSocketType);
+            break;
+        case EAI_BADFLAGS:
+            error = @symbol(badFlags);
+            break;
+        case EAI_NONAME:
+            error = @symbol(unknownHost);
+            break;
+        case EAI_SERVICE:
+            error = @symbol(unknownService);
+            break;
 #ifdef EAI_ADDRFAMILY
-	case EAI_ADDRFAMILY :
-	    error = @symbol(unknownHostForProtocol);
-	    break;
+        case EAI_ADDRFAMILY :
+            error = @symbol(unknownHostForProtocol);
+            break;
 #endif
 #ifdef EAI_NODATA
-	case EAI_NODATA:
-	    error = @symbol(noAddress);
-	    break;
-#endif
-	case EAI_MEMORY:
-	    error = @symbol(allocationFailure);
-	    break;
-	case EAI_FAIL:
-	    error = @symbol(permanentFailure);
-	    break;
-	case EAI_AGAIN:
-	    error = @symbol(tryAgain);
-	    break;
-	case EAI_SYSTEM:
-	    error = @symbol(systemError);
-	    break;
-	default:
-	    error = @symbol(unknownError);
-	}
-	errorString = __MKSTRING(gai_strerror(ret));
-	goto err;
+        case EAI_NODATA:
+            error = @symbol(noAddress);
+            break;
+#endif
+        case EAI_MEMORY:
+            error = @symbol(allocationFailure);
+            break;
+        case EAI_FAIL:
+            error = @symbol(permanentFailure);
+            break;
+        case EAI_AGAIN:
+            error = @symbol(tryAgain);
+            break;
+        case EAI_SYSTEM:
+            error = @symbol(systemError);
+            break;
+        default:
+            error = @symbol(unknownError);
+        }
+        errorString = __MKSTRING(gai_strerror(ret));
+        goto err;
     }
 # else /* ! NI_NUMERICHOST */
     {
-	/*
-	 * Do it using gethostbyaddr()
-	 */
-	struct sockaddr_in *sa;
-
-	if (sockAddrSize < sizeof(*sa)) {
-	    error = @symbol(badArgument1);
-	    goto err;
-	}
-	bp = (char *)(__byteArrayVal(socketAddress));
-	bp += nInstBytes;
-	sa = (struct sockaddr_in *)bp;
-
-	if (sp) {
-	    struct servent *servp;
-	    char *__proto = 0;
-
-	    __proto = (useDatagram == true ? "udp" : "tcp");
-
-	    servp = getservbyport(sa->sin_port, __proto);
-	    if (servp) {
-		sp = servp->s_name;
-	    }
-	}
-	if (hp) {
-	    struct hostent *hostp;
+        /*
+         * Do it using gethostbyaddr()
+         */
+        struct sockaddr_in *sa;
+
+        if (sockAddrSize < sizeof(*sa)) {
+            error = @symbol(badArgument1);
+            goto err;
+        }
+        bp = (char *)(__byteArrayVal(socketAddress));
+        bp += nInstBytes;
+        sa = (struct sockaddr_in *)bp;
+
+        if (sp) {
+            struct servent *servp;
+            char *__proto = 0;
+
+            __proto = (useDatagram == true ? "udp" : "tcp");
+
+            servp = getservbyport(sa->sin_port, __proto);
+            if (servp) {
+                sp = servp->s_name;
+            }
+        }
+        if (hp) {
+            struct hostent *hostp;
 #  ifdef USE_H_ERRNO
-	    do {
-		bp = (char *)(__byteArrayVal(socketAddress));
-		bp += nInstBytes;
-		sa = (struct sockaddr_in *)bp;
-
-		/* __BEGIN_INTERRUPTABLE__ is dangerous, because gethostbyname uses a static data area
-		 */
-		hostp = gethostbyaddr((char *)&sa->sin_addr, sockAddrSize, sa->sin_family);
-		/* __END_INTERRUPTABLE__ */
-	    } while ((hostp == NULL)
-		      && ((h_errno == TRY_AGAIN)
-			  || errno == EINTR
+            do {
+                bp = (char *)(__byteArrayVal(socketAddress));
+                bp += nInstBytes;
+                sa = (struct sockaddr_in *)bp;
+
+                /* __BEGIN_INTERRUPTABLE__ is dangerous, because gethostbyname uses a static data area
+                 */
+                hostp = gethostbyaddr((char *)&sa->sin_addr, sockAddrSize, sa->sin_family);
+                /* __END_INTERRUPTABLE__ */
+            } while ((hostp == NULL)
+                      && ((h_errno == TRY_AGAIN)
+                          || errno == EINTR
 #   ifdef IRIX5_3
-			  || (errno == ECONNREFUSED)
+                          || (errno == ECONNREFUSED)
 #   endif
-			 )
-	    );
-	    if (hostp == 0) {
-		switch (h_errno) {
-		case HOST_NOT_FOUND:
-		    errorString = @symbol(unknownHost);
-		    break;
-		case NO_ADDRESS:
-		    errorString = @symbol(noAddress);
-		    break;
-		case NO_RECOVERY:
-		    errorString = @symbol(permanentFailure);
-		    break;
-		case TRY_AGAIN:
-		    errorString = @symbol(tryAgain);
-		    break;
-		default:
-		    errorString = @symbol(unknownError);
-		    break;
-		}
-		error = __mkSmallInteger(h_errno);
-		goto err;
-	    }
+                         )
+            );
+            if (hostp == 0) {
+                switch (h_errno) {
+                case HOST_NOT_FOUND:
+                    errorString = @symbol(unknownHost);
+                    break;
+                case NO_ADDRESS:
+                    errorString = @symbol(noAddress);
+                    break;
+                case NO_RECOVERY:
+                    errorString = @symbol(permanentFailure);
+                    break;
+                case TRY_AGAIN:
+                    errorString = @symbol(tryAgain);
+                    break;
+                default:
+                    errorString = @symbol(unknownError);
+                    break;
+                }
+                error = __mkSmallInteger(h_errno);
+                goto err;
+            }
 #  else /* !USE_H_ERRNO */
-	    hostp = gethostbyaddr(sa->sin_addr, sockAddrSize, sa->sin_family);
-	    if (hostp == 0) {
-		errorString = @symbol(unknownHost);
-		error = __mkSmallInteger(-1);
-		goto err;
-	    }
+            hostp = gethostbyaddr(sa->sin_addr, sockAddrSize, sa->sin_family);
+            if (hostp == 0) {
+                errorString = @symbol(unknownHost);
+                error = __mkSmallInteger(-1);
+                goto err;
+            }
 #  endif /* !USE_H_ERRNO*/
-	    hp = hostp->h_name;
-	}
+            hp = hostp->h_name;
+        }
     }
 # endif /* ! NI_NUMERICHOST */
 
     if (hp)
-	hostName = __MKSTRING(hp);
+        hostName = __MKSTRING(hp);
     if (sp)
-	serviceName = __MKSTRING(sp);
+        serviceName = __MKSTRING(sp);
 err:;
 #else
     error = @symbol(notImplemented);
 #endif
 %}.
     error notNil ifTrue:[
-	^ (HostAddressLookupError new
-		parameter:error;
-		messageText:' - ', errorString;
-		request:thisContext message) raiseRequest.
+        ^ (HostAddressLookupError new
+                parameter:error;
+                messageText:' - ', errorString;
+                request:thisContext message) raiseRequest.
     ].
 
     ^ Array with:hostName with:serviceName
 
     "
      self getNameInfo:
-	(self getAddressInfo:'localhost' serviceName:'echo'
-		domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
-	 wantHostName:true wantServiceName:true datagram:false flags:0
+        (self getAddressInfo:'localhost' serviceName:'echo'
+                domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
+         wantHostName:true wantServiceName:true datagram:false flags:0
 
      self getNameInfo:
-	(self getAddressInfo:'exept.de' serviceName:'echo'
-		domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
-	 wantHostName:true wantServiceName:true datagram:false flags:0
+        (self getAddressInfo:'exept.de' serviceName:'echo'
+                domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
+         wantHostName:true wantServiceName:true datagram:false flags:0
 
      self getNameInfo:
-	(self getAddressInfo:'217.172.183.25' serviceName:'22'
-		domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
-	 wantHostName:true wantServiceName:true datagram:false flags:0
+        (self getAddressInfo:'217.172.183.25' serviceName:'22'
+                domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
+         wantHostName:true wantServiceName:true datagram:false flags:0
 
      self getNameInfo:
-	(self getAddressInfo:'1.2.3.4' serviceName:'22'
-		domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
-	 wantHostName:true wantServiceName:true datagram:false flags:0
+        (self getAddressInfo:'1.2.3.4' serviceName:'22'
+                domain:#inet type:#stream protocol:nil flags:nil) first socketAddress
+         wantHostName:true wantServiceName:true datagram:false flags:0
     "
 !
 
@@ -13321,23 +13321,23 @@
     int ret, cnt = 0;
 
     if (hostName == nil) {
-	__hostName = 0;
+        __hostName = 0;
     } else if (__isStringLike(hostName)) {
-	__hostName = __stringVal(hostName);
+        __hostName = __stringVal(hostName);
     } else {
-	error = @symbol(badArgument1);
-	goto out;
+        error = @symbol(badArgument1);
+        goto out;
     }
     if (serviceName == nil) {
-	__serviceName = 0;
+        __serviceName = 0;
     } else if (__isStringLike(serviceName)) {
-	__serviceName = __stringVal(serviceName);
+        __serviceName = __stringVal(serviceName);
     } else if (__isSmallInteger(serviceName)) {
-	__serviceName = intServiceName;
-	snprintf(intServiceName, sizeof(intServiceName), "%d", (int)(__intVal(serviceName)));
+        __serviceName = intServiceName;
+        snprintf(intServiceName, sizeof(intServiceName), "%d", (int)(__intVal(serviceName)));
     } else {
-	error = @symbol(badArgument2);
-	goto out;
+        error = @symbol(badArgument2);
+        goto out;
     }
 
 {
@@ -13349,130 +13349,130 @@
     struct addrinfo *info = NULL, *infop;
 
     hints.ai_flags = AI_ADDRCONFIG      // only return IPv6 or IPv4 addresses if there is at least on interface where this address type is configured
-		    | AI_V4MAPPED;
+                    | AI_V4MAPPED;
     if (__isSmallInteger(serviceName))
-	hints.ai_flags |= AI_NUMERICSERV;
+        hints.ai_flags |= AI_NUMERICSERV;
 
     if (__hostName && __stringSize(hostName) == 0) {
-	// empty string, this is a listening host - bound to INADDR_ANY
-	__hostName = 0;
-	hints.ai_flags |= AI_PASSIVE;
+        // empty string, this is a listening host - bound to INADDR_ANY
+        __hostName = 0;
+        hints.ai_flags |= AI_PASSIVE;
     }
 
 #if defined(AI_IDN)
     hints.ai_flags |= AI_IDN | AI_CANONIDN;     // map non-ascii domain names to IDN format
 #endif
     if (__isSmallInteger(domain))
-	hints.ai_family = __intVal(domain);
+        hints.ai_family = __intVal(domain);
     if (__isSmallInteger(type))
-	hints.ai_socktype = __intVal(type);
+        hints.ai_socktype = __intVal(type);
     if (__isSmallInteger(proto))
-	hints.ai_protocol = __intVal(proto);
+        hints.ai_protocol = __intVal(proto);
     if (__isSmallInteger(flags))
-	hints.ai_flags |= __intVal(flags);
+        hints.ai_flags |= __intVal(flags);
 
     do {
-	/* reload */
-	if (__hostName) {
-	    __hostName = __stringVal(hostName);
-	}
-	if (__isStringLike(serviceName)) {
-	    __serviceName = __stringVal(serviceName);
-	}
+        /* reload */
+        if (__hostName) {
+            __hostName = __stringVal(hostName);
+        }
+        if (__isStringLike(serviceName)) {
+            __serviceName = __stringVal(serviceName);
+        }
 
 //        __BEGIN_INTERRUPTABLE__
-	ret = getaddrinfo(__hostName, __serviceName, &hints, &info);
+        ret = getaddrinfo(__hostName, __serviceName, &hints, &info);
 //        __END_INTERRUPTABLE__
     } while (ret == EAI_SYSTEM && errno == EINTR);
     if (ret != 0) {
-	switch (ret) {
-	case EAI_FAMILY:
-	    error = @symbol(badProtocol);
-	    break;
-	case EAI_SOCKTYPE:
-	    error = @symbol(badSocketType);
-	    break;
-	case EAI_BADFLAGS:
-	    error = @symbol(badFlags);
-	    break;
-	case EAI_NONAME:
-	    error = @symbol(unknownHost);
-	    break;
-	case EAI_SERVICE:
-	    error = @symbol(unknownService);
-	    break;
+        switch (ret) {
+        case EAI_FAMILY:
+            error = @symbol(badProtocol);
+            break;
+        case EAI_SOCKTYPE:
+            error = @symbol(badSocketType);
+            break;
+        case EAI_BADFLAGS:
+            error = @symbol(badFlags);
+            break;
+        case EAI_NONAME:
+            error = @symbol(unknownHost);
+            break;
+        case EAI_SERVICE:
+            error = @symbol(unknownService);
+            break;
 #ifdef EAI_ADDRFAMILY
-	case EAI_ADDRFAMILY :
-	    error = @symbol(unknownHostForProtocol);
-	    break;
+        case EAI_ADDRFAMILY :
+            error = @symbol(unknownHostForProtocol);
+            break;
 #endif
 #ifdef EAI_NODATA
-	case EAI_NODATA:
-	    error = @symbol(noAddress);
-	    break;
-#endif
-	case EAI_MEMORY:
-	    error = @symbol(allocationFailure);
-	    break;
-	case EAI_FAIL:
-	    error = @symbol(permanentFailure);
-	    break;
-	case EAI_AGAIN:
-	    error = @symbol(tryAgain);
-	    break;
-	case EAI_SYSTEM:
-	    error = @symbol(systemError);
-	    break;
-	default:
-	    error = @symbol(unknownError);
-	}
-	errorString = __MKSTRING(gai_strerror(ret));
-	goto ai_out;
+        case EAI_NODATA:
+            error = @symbol(noAddress);
+            break;
+#endif
+        case EAI_MEMORY:
+            error = @symbol(allocationFailure);
+            break;
+        case EAI_FAIL:
+            error = @symbol(permanentFailure);
+            break;
+        case EAI_AGAIN:
+            error = @symbol(tryAgain);
+            break;
+        case EAI_SYSTEM:
+            error = @symbol(systemError);
+            break;
+        default:
+            error = @symbol(unknownError);
+        }
+        errorString = __MKSTRING(gai_strerror(ret));
+        goto ai_out;
     }
     for (cnt=0, infop=info; infop; infop=infop->ai_next)
-	cnt++;
+        cnt++;
 
     result = __ARRAY_NEW_INT(cnt);
     if (result == nil) {
-	error = @symbol(allocationFailure);
-	goto ai_out;
+        error = @symbol(allocationFailure);
+        goto ai_out;
     }
     for (infop=info, cnt=0; infop; infop=infop->ai_next, cnt++) {
-	OBJ o, resp;
-
-	resp = __ARRAY_NEW_INT(6);
-	if (resp == nil) {
-	    error = @symbol(allocationFailure);
-	    goto ai_out;
-	}
-
-	__ArrayInstPtr(result)->a_element[cnt] = resp; __STORE(result, resp);
-
-	__ArrayInstPtr(resp)->a_element[0] = __mkSmallInteger(infop->ai_flags);
-	__ArrayInstPtr(resp)->a_element[1] = __mkSmallInteger(infop->ai_family);
-	__ArrayInstPtr(resp)->a_element[2] = __mkSmallInteger(infop->ai_socktype);
-	__ArrayInstPtr(resp)->a_element[3] = __mkSmallInteger(infop->ai_protocol);
-
-	__PROTECT__(resp);
-	o = __BYTEARRAY_NEW_INT(infop->ai_addrlen);
-	__UNPROTECT__(resp);
-	if (o == nil) {
-	    error = @symbol(allocationFailure);
-	    goto ai_out;
-	}
-	memcpy(__byteArrayVal(o), infop->ai_addr, infop->ai_addrlen);
+        OBJ o, resp;
+
+        resp = __ARRAY_NEW_INT(6);
+        if (resp == nil) {
+            error = @symbol(allocationFailure);
+            goto ai_out;
+        }
+
+        __ArrayInstPtr(result)->a_element[cnt] = resp; __STORE(result, resp);
+
+        __ArrayInstPtr(resp)->a_element[0] = __mkSmallInteger(infop->ai_flags);
+        __ArrayInstPtr(resp)->a_element[1] = __mkSmallInteger(infop->ai_family);
+        __ArrayInstPtr(resp)->a_element[2] = __mkSmallInteger(infop->ai_socktype);
+        __ArrayInstPtr(resp)->a_element[3] = __mkSmallInteger(infop->ai_protocol);
+
+        __PROTECT__(resp);
+        o = __BYTEARRAY_NEW_INT(infop->ai_addrlen);
+        __UNPROTECT__(resp);
+        if (o == nil) {
+            error = @symbol(allocationFailure);
+            goto ai_out;
+        }
+        memcpy(__byteArrayVal(o), infop->ai_addr, infop->ai_addrlen);
        __ArrayInstPtr(resp)->a_element[4] = o; __STORE(resp, o);
 
-	if (infop->ai_canonname) {
-	    __PROTECT__(resp);
-	    o = __MKSTRING(infop->ai_canonname);
-	    __UNPROTECT__(resp);
-	    if (o == nil) {
-		error = @symbol(allocationFailure);
-		goto ai_out;
-	    }
-	    __ArrayInstPtr(resp)->a_element[5] = o; __STORE(resp, o);
-	}
+        if (infop->ai_canonname) {
+            __PROTECT__(resp);
+            o = __MKSTRING(infop->ai_canonname);
+            __UNPROTECT__(resp);
+            if (o == nil) {
+                error = @symbol(allocationFailure);
+                goto ai_out;
+            }
+            __ArrayInstPtr(resp)->a_element[5] = o; __STORE(resp, o);
+        }
     }
 
 ai_out:
@@ -13489,136 +13489,136 @@
     int i;
 
     if (__serviceName) {
-	struct servent *sp;
-	char *__proto = 0;
-
-	if (__isStringLike(protoArg))
-	    __proto = __stringVal(protoArg);
-
-	sp = getservbyname(__serviceName, __proto);
-	if (sp == NULL) {
-	    errorString = @symbol(unknownService);
-	    error = __mkSmallInteger(-3);
-	    goto out;
-	}
-	port = sp->s_port;
+        struct servent *sp;
+        char *__proto = 0;
+
+        if (__isStringLike(protoArg))
+            __proto = __stringVal(protoArg);
+
+        sp = getservbyname(__serviceName, __proto);
+        if (sp == NULL) {
+            errorString = @symbol(unknownService);
+            error = __mkSmallInteger(-3);
+            goto out;
+        }
+        port = sp->s_port;
     }
 
     if (__hostName) {
 #  ifdef USE_H_ERRNO
-	do {
-	    if (hostName == nil) {
-		__hostName = 0;
-	    } else if (__isStringLike(hostName)) {
-		__hostName = __stringVal(hostName);
-	    }
-	    /* __BEGIN_INTERRUPTABLE__ is dangerous, because gethostbyname
-	     * uses a static data area
-	     */
-	    __BEGIN_INTERRUPTABLE__
-	    hp = gethostbyname(__hostName);
-	    __END_INTERRUPTABLE__
-	} while ((hp == NULL)
-		  && (
-			(h_errno == TRY_AGAIN)
-		      || errno == EINTR
+        do {
+            if (hostName == nil) {
+                __hostName = 0;
+            } else if (__isStringLike(hostName)) {
+                __hostName = __stringVal(hostName);
+            }
+            /* __BEGIN_INTERRUPTABLE__ is dangerous, because gethostbyname
+             * uses a static data area
+             */
+            __BEGIN_INTERRUPTABLE__
+            hp = gethostbyname(__hostName);
+            __END_INTERRUPTABLE__
+        } while ((hp == NULL)
+                  && (
+                        (h_errno == TRY_AGAIN)
+                      || errno == EINTR
 #   ifdef IRIX5_3
-		      || (errno == ECONNREFUSED)
+                      || (errno == ECONNREFUSED)
 #   endif
-		     )
-	);
-	if (hp == 0) {
-	    switch (h_errno) {
-	    case HOST_NOT_FOUND:
-		errorString = @symbol(unknownHost);
-		break;
-	    case NO_ADDRESS:
-		errorString = @symbol(noAddress);
-		break;
-	    case NO_RECOVERY:
-		errorString = @symbol(permanentFailure);
-		break;
-	    case TRY_AGAIN:
-		errorString = @symbol(tryAgain);
-		break;
-	    default:
-		errorString = @symbol(unknownError);
-		break;
-	    }
-	    error = __mkSmallInteger(h_errno);
-	    goto out;
-	}
+                     )
+        );
+        if (hp == 0) {
+            switch (h_errno) {
+            case HOST_NOT_FOUND:
+                errorString = @symbol(unknownHost);
+                break;
+            case NO_ADDRESS:
+                errorString = @symbol(noAddress);
+                break;
+            case NO_RECOVERY:
+                errorString = @symbol(permanentFailure);
+                break;
+            case TRY_AGAIN:
+                errorString = @symbol(tryAgain);
+                break;
+            default:
+                errorString = @symbol(unknownError);
+                break;
+            }
+            error = __mkSmallInteger(h_errno);
+            goto out;
+        }
 #  else /* !USE_H_ERRNO */
-	hp = gethostbyname(__hostName);
-	if (hp == 0) {
-	    errorString = @symbol(unknownHost);
-	    error = __mkSmallInteger(-1);
-	    goto out;
-	}
+        hp = gethostbyname(__hostName);
+        if (hp == 0) {
+            errorString = @symbol(unknownHost);
+            error = __mkSmallInteger(-1);
+            goto out;
+        }
 #  endif /* !USE_H_ERRNO*/
 
-	if (__isSmallInteger(domain) && hp->h_addrtype != __smallIntegerVal(domain)) {
-	    errorString = @symbol(unknownHost);
-	    error = __mkSmallInteger(-2);
-	    goto out;
-	}
-
-	for (cnt = 0, addrpp = hp->h_addr_list; *addrpp; addrpp++)
-	    cnt++;
-	addrpp = hp->h_addr_list;
+        if (__isSmallInteger(domain) && hp->h_addrtype != __smallIntegerVal(domain)) {
+            errorString = @symbol(unknownHost);
+            error = __mkSmallInteger(-2);
+            goto out;
+        }
+
+        for (cnt = 0, addrpp = hp->h_addr_list; *addrpp; addrpp++)
+            cnt++;
+        addrpp = hp->h_addr_list;
     } else {
-	cnt = 1;
+        cnt = 1;
     }
 
     result = __ARRAY_NEW_INT(cnt);
     if (result == nil) {
-	error = @symbol(allocationFailure);
-	goto out;
+        error = @symbol(allocationFailure);
+        goto out;
     }
 
     for (i = 0; i < cnt; i++) {
-	OBJ o, resp;
-	struct sockaddr_in *sa;
-
-	resp = __ARRAY_NEW_INT(6);
-	if (resp == nil) {
-	    error = @symbol(allocationFailure);
-	    goto out;
-	}
-
-	__ArrayInstPtr(result)->a_element[i] = resp; __STORE(result, resp);
-	__ArrayInstPtr(resp)->a_element[0] = __mkSmallInteger(0);
-	__ArrayInstPtr(resp)->a_element[2] = type; __STORE(result, type);
-	__ArrayInstPtr(resp)->a_element[3] = proto; __STORE(result, proto);
-	__PROTECT__(resp);
-	o = __BYTEARRAY_NEW_INT(sizeof(*sa));
-	__UNPROTECT__(resp);
-	if (o == nil) {
-	    error = @symbol(allocationFailure);
-	    goto out;
-	}
-	__ArrayInstPtr(resp)->a_element[4] = o; __STORE(resp, o);
-	sa = (struct sockaddr_in *)__byteArrayVal(o);
-	sa->sin_port = port;
-
-	if (__hostName) {
-	    sa->sin_family = hp->h_addrtype;
-	    memcpy(&sa->sin_addr, *addrpp, hp->h_length);
-	    __ArrayInstPtr(resp)->a_element[1] = __mkSmallInteger(hp->h_addrtype);
-	    if (hp->h_name) {
-		__PROTECT__(resp);
-		o = __MKSTRING(hp->h_name);
-		__UNPROTECT__(resp);
-		if (o == nil) {
-		    error = @symbol(allocationFailure);
-		    goto out;
-		}
-		__ArrayInstPtr(resp)->a_element[5] = o; __STORE(resp, o);
-	    }
-	    addrpp++;
-	} else{
-	    __ArrayInstPtr(resp)->a_element[1] = domain; __STORE(resp, domain);
-	}
+        OBJ o, resp;
+        struct sockaddr_in *sa;
+
+        resp = __ARRAY_NEW_INT(6);
+        if (resp == nil) {
+            error = @symbol(allocationFailure);
+            goto out;
+        }
+
+        __ArrayInstPtr(result)->a_element[i] = resp; __STORE(result, resp);
+        __ArrayInstPtr(resp)->a_element[0] = __mkSmallInteger(0);
+        __ArrayInstPtr(resp)->a_element[2] = type; __STORE(result, type);
+        __ArrayInstPtr(resp)->a_element[3] = proto; __STORE(result, proto);
+        __PROTECT__(resp);
+        o = __BYTEARRAY_NEW_INT(sizeof(*sa));
+        __UNPROTECT__(resp);
+        if (o == nil) {
+            error = @symbol(allocationFailure);
+            goto out;
+        }
+        __ArrayInstPtr(resp)->a_element[4] = o; __STORE(resp, o);
+        sa = (struct sockaddr_in *)__byteArrayVal(o);
+        sa->sin_port = port;
+
+        if (__hostName) {
+            sa->sin_family = hp->h_addrtype;
+            memcpy(&sa->sin_addr, *addrpp, hp->h_length);
+            __ArrayInstPtr(resp)->a_element[1] = __mkSmallInteger(hp->h_addrtype);
+            if (hp->h_name) {
+                __PROTECT__(resp);
+                o = __MKSTRING(hp->h_name);
+                __UNPROTECT__(resp);
+                if (o == nil) {
+                    error = @symbol(allocationFailure);
+                    goto out;
+                }
+                __ArrayInstPtr(resp)->a_element[5] = o; __STORE(resp, o);
+            }
+            addrpp++;
+        } else{
+            __ArrayInstPtr(resp)->a_element[1] = domain; __STORE(resp, domain);
+        }
     }
 # endif /* ! AI_NUMERICHOST */
 }
@@ -13628,10 +13628,10 @@
 out:;
 %}.
     error notNil ifTrue:[
-	errorString notNil ifTrue:[
-	    ^ errorString.
-	].
-	^ error.
+        errorString notNil ifTrue:[
+            ^ errorString.
+        ].
+        ^ error.
     ].
     ^ result.
 ! !
@@ -13654,49 +13654,49 @@
     int alen;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     if (peerOrNil != nil &&
-	(!__isNonNilObject(peerOrNil) ||
-	 (__intVal(__ClassInstPtr(__qClass(peerOrNil))->c_flags) & ARRAYMASK) != BYTEARRAY)) {
-	error = @symbol(badArgument2);
-	goto err;
+        (!__isNonNilObject(peerOrNil) ||
+         (__intVal(__ClassInstPtr(__qClass(peerOrNil))->c_flags) & ARRAYMASK) != BYTEARRAY)) {
+        error = @symbol(badArgument2);
+        goto err;
     }
 
     sock = __smallIntegerVal(__INST(fd));
 
 again:
     if (peerOrNil == nil) {
-	alen = 0;
-	sap = 0;
+        alen = 0;
+        sap = 0;
     } else {
-	alen =  __byteArraySize(peerOrNil);
-	sap = (struct sockaddr *)__byteArrayVal(peerOrNil);
+        alen =  __byteArraySize(peerOrNil);
+        sap = (struct sockaddr *)__byteArrayVal(peerOrNil);
     }
     newSock = accept(sock, sap, &alen);
     if (newSock < 0) {
-	switch (errno) {
-	case EINTR:
-	    __HANDLE_INTERRUPTS__;
-	    goto again;
+        switch (errno) {
+        case EINTR:
+            __HANDLE_INTERRUPTS__;
+            goto again;
 
 #ifdef EWOULDBLOCK
-	case EWOULDBLOCK:
+        case EWOULDBLOCK:
 # if defined(EAGAIN) && (EAGAIN != EWOULDBLOCK)
-	case EAGAIN:
+        case EAGAIN:
 # endif
 #else
 # ifdef EAGAIN
-	case EAGAIN:
-# endif
-#endif
-	    RETURN(nil);
-
-	default:
-	    error = __mkSmallInteger(errno);
-	    goto err;
-	}
+        case EAGAIN:
+# endif
+#endif
+            RETURN(nil);
+
+        default:
+            error = __mkSmallInteger(errno);
+            goto err;
+        }
     }
     newFd = __mkSmallInteger(newSock);
 
@@ -13704,7 +13704,7 @@
 #endif /* not NO_SOCKET */
 %}.
     error notNil ifTrue:[
-	^ self error:error.
+        ^ self error:error.
     ].
     ^ self class for:newFd
 ! !
@@ -13724,13 +13724,13 @@
     int ret;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     if (!__isNonNilObject(socketAddress) ||
-	(__intVal(__ClassInstPtr(__qClass(socketAddress))->c_flags) & ARRAYMASK) != BYTEARRAY) {
-	error = @symbol(badArgument1);
-	goto err;
+        (__intVal(__ClassInstPtr(__qClass(socketAddress))->c_flags) & ARRAYMASK) != BYTEARRAY) {
+        error = @symbol(badArgument1);
+        goto err;
     }
     sockaddr_size = __byteArraySize(socketAddress);
     sock = __smallIntegerVal(__INST(fd));
@@ -13738,27 +13738,27 @@
 again:
     ret = bind(sock, (struct sockaddr *)__byteArrayVal(socketAddress), sockaddr_size);
     if (ret < 0) {
-	if (errno == EINTR) {
-	    __HANDLE_INTERRUPTS__;
-	    goto again;
-	} else {
-	    error = __mkSmallInteger(errno);
-	    goto err;
-	}
+        if (errno == EINTR) {
+            __HANDLE_INTERRUPTS__;
+            goto again;
+        } else {
+            error = __mkSmallInteger(errno);
+            goto err;
+        }
     }
 
     err:;
 #endif /* NO_SOCKET */
 %}.
     error notNil ifTrue:[
-	^ self error:error.
+        ^ self error:error.
     ].
     ^ nil
 
     "
      (Socket domain:#inet type:#stream)
-	 bindTo:(IPSocketAddress hostAddress:IPSocketAddress anyAddress port:9999)
-	 reuseAddress:false ;
+         bindTo:(IPSocketAddress hostAddress:IPSocketAddress anyAddress port:9999)
+         reuseAddress:false ;
      yourself
     "
 ! !
@@ -13777,8 +13777,8 @@
     struct sockaddr sockaddr;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     sock = __smallIntegerVal(__INST(fd));
 
@@ -13790,17 +13790,17 @@
     ret = connect(sock, &sockaddr, sizeof(sockaddr));
     if (ret < 0) {
        switch(errno) {
-	   case EINTR:
+           case EINTR:
 # ifdef EAGAIN
-	    case EAGAIN:
-# endif
-		__HANDLE_INTERRUPTS__;
-		goto again;
-
-	    default:
-		error = __mkSmallInteger(errno);
-		break;
-	}
+            case EAGAIN:
+# endif
+                __HANDLE_INTERRUPTS__;
+                goto again;
+
+            default:
+                error = __mkSmallInteger(errno);
+                break;
+        }
     }
 
 err:;
@@ -13808,7 +13808,7 @@
 %}.
 
     error notNil ifTrue:[
-	^ self error:error.
+        ^ self error:error.
     ].
 !
 
@@ -13827,13 +13827,13 @@
     int sockaddr_size;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     if (!__isNonNilObject(socketAddress) ||
-	(__intVal(__ClassInstPtr(__qClass(socketAddress))->c_flags) & ARRAYMASK) != BYTEARRAY) {
-	error = @symbol(badArgument1);
-	goto err;
+        (__intVal(__ClassInstPtr(__qClass(socketAddress))->c_flags) & ARRAYMASK) != BYTEARRAY) {
+        error = @symbol(badArgument1);
+        goto err;
     }
     sock = __smallIntegerVal(__INST(fd));
     sockaddr_size = __qSize(socketAddress);
@@ -13841,47 +13841,47 @@
 again:
     ret = connect(sock, (struct sockaddr *)__byteArrayVal(socketAddress), sockaddr_size);
     if (ret >= 0) {
-	RETURN(true)
+        RETURN(true)
     }
 
     switch(errno) {
-	case EINTR:
+        case EINTR:
 # ifdef EAGAIN
-	case EAGAIN:
-# endif
-	    __HANDLE_INTERRUPTS__;
-	    goto again;
+        case EAGAIN:
+# endif
+            __HANDLE_INTERRUPTS__;
+            goto again;
 
 # if defined(EINPROGRESS) || defined(EALREADY)
 #  ifdef EINPROGRESS
-	case EINPROGRESS:
+        case EINPROGRESS:
 #  endif
 #  ifdef EALREADY
-	case EALREADY:
-#  endif
-	    RETURN(false);
+        case EALREADY:
+#  endif
+            RETURN(false);
 # endif
 
     default:
-	error = __mkSmallInteger(errno);
-	break;
+        error = __mkSmallInteger(errno);
+        break;
     }
 
 err:;
 #endif /* NO_SOCKET */
 %}.
     error notNil ifTrue:[
-	 ^ self error:error.
+         ^ self error:error.
     ].
     ^ true
 
     "
      Socket newTCP connectTo:(IPSocketAddress hostAddress:IPSocketAddress local port:7)
-		   withTimeout:nil.
+                   withTimeout:nil.
      Socket newTCP connectTo:(IPSocketAddress hostAddress:IPSocketAddress local port:5768)
-		   withTimeout:nil.
+                   withTimeout:nil.
      Socket newTCP connectTo:(IPSocketAddress hostAddress:#[1 2 3 4] port:7)
-		   withTimeout:nil.
+                   withTimeout:nil.
     "
 ! !
 
@@ -13911,46 +13911,46 @@
     int __flags, __startIndex, __nBytes;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     if (!__isSmallInteger(startIndex) ||
-	(__startIndex = __intVal(startIndex)-1) < 0) {
-	if (startIndex == nil) {
-	    __startIndex = 0;
-	} else {
-	    error = @symbol(badArgument3);
-	    goto err;
-	}
+        (__startIndex = __intVal(startIndex)-1) < 0) {
+        if (startIndex == nil) {
+            __startIndex = 0;
+        } else {
+            error = @symbol(badArgument3);
+            goto err;
+        }
     }
     if (__isSmallInteger(nBytes)) {
-	__nBytes = __intVal(nBytes);
+        __nBytes = __intVal(nBytes);
     } else if (nBytes == nil) {
-	__nBytes = -1;
+        __nBytes = -1;
     } else {
-	error = @symbol(badArgument4);
-	goto err;
+        error = @symbol(badArgument4);
+        goto err;
     }
     if (!__isInteger(flags)) {
-	error = @symbol(badArgument5);
-	goto err;
+        error = @symbol(badArgument5);
+        goto err;
     }
     __flags = __longIntVal(flags);
     sock = __smallIntegerVal(__INST(fd));
 
     oClass = __Class(aDataBuffer);
     switch (__intVal(__ClassInstPtr(oClass)->c_flags) & ARRAYMASK) {
-	case BYTEARRAY:
-	case WORDARRAY:
-	case SWORDARRAY:
-	case LONGARRAY:
-	case SLONGARRAY:
-	case FLOATARRAY:
-	case DOUBLEARRAY:
-	    break;
-	default:
-	    error = @symbol(badArgument2);
-	    goto err;
+        case BYTEARRAY:
+        case WORDARRAY:
+        case SWORDARRAY:
+        case LONGARRAY:
+        case SLONGARRAY:
+        case FLOATARRAY:
+        case DOUBLEARRAY:
+            break;
+        default:
+            error = @symbol(badArgument2);
+            goto err;
     }
 
     nInstVars = __intVal(__ClassInstPtr(oClass)->c_ninstvars);
@@ -13960,35 +13960,35 @@
     objSize -= __startIndex;
 
     if (__nBytes >= 0 &&__nBytes < objSize) {
-	objSize = __nBytes;
+        objSize = __nBytes;
     }
 
     if (socketAddress == nil) {
-	alen0 = 0;
+        alen0 = 0;
     } else {
-	if (!__isNonNilObject(socketAddress) ||
-	    (__intVal(__ClassInstPtr(__qClass(socketAddress))->c_flags) & ARRAYMASK) != BYTEARRAY) {
-	    error = @symbol(badArgument1);
-	    goto err;
-	}
-	alen0 = __byteArraySize(socketAddress);
+        if (!__isNonNilObject(socketAddress) ||
+            (__intVal(__ClassInstPtr(__qClass(socketAddress))->c_flags) & ARRAYMASK) != BYTEARRAY) {
+            error = @symbol(badArgument1);
+            goto err;
+        }
+        alen0 = __byteArraySize(socketAddress);
     }
     saPtr = (struct sockaddr *)0;
 
 again:
     alen = alen0;
     if (alen)
-	saPtr = (struct sockaddr *)__byteArrayVal(socketAddress);
+        saPtr = (struct sockaddr *)__byteArrayVal(socketAddress);
     cp = (char *)__InstPtr(aDataBuffer) + nInstBytes;
     n = recvfrom(sock, cp, objSize, __flags, saPtr, &alen);
     if (n < 0) {
-	if (errno == EINTR) {
-	    __HANDLE_INTERRUPTS__;
-	    goto again;
-	} else {
-	    error = __mkSmallInteger(errno);
-	    goto err;
-	}
+        if (errno == EINTR) {
+            __HANDLE_INTERRUPTS__;
+            goto again;
+        } else {
+            error = __mkSmallInteger(errno);
+            goto err;
+        }
     }
     RETURN (__mkSmallInteger(n));
 #endif
@@ -14018,65 +14018,65 @@
     int offs, __startIndex, __maxBytes;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     if (!__isSmallInteger(startIndex) ||
-	(__startIndex = __intVal(startIndex)-1) < 0) {
-	if (startIndex == nil) {
-	    __startIndex = 0;
-	} else {
-	    error = @symbol(badArgument3);
-	    goto err;
-	}
+        (__startIndex = __intVal(startIndex)-1) < 0) {
+        if (startIndex == nil) {
+            __startIndex = 0;
+        } else {
+            error = @symbol(badArgument3);
+            goto err;
+        }
     }
     if (__isSmallInteger(maxBytes)) {
-	__maxBytes = __intVal(maxBytes);
+        __maxBytes = __intVal(maxBytes);
     } else if (maxBytes == nil) {
-	__maxBytes = -1;
+        __maxBytes = -1;
     } else {
-	error = @symbol(badArgument4);
-	goto err;
+        error = @symbol(badArgument4);
+        goto err;
     }
     if (!__isInteger(flags)) {
-	error = @symbol(badArgument5);
-	goto err;
+        error = @symbol(badArgument5);
+        goto err;
     }
     __flags = __longIntVal(flags);
     sock = __smallIntegerVal(__INST(fd));
 
     oClass = __Class(aDataBuffer);
     switch (__intVal(__ClassInstPtr(oClass)->c_flags) & ARRAYMASK) {
-	case BYTEARRAY:
-	    offs = __startIndex;
-	    break;
-	case WORDARRAY:
-	case SWORDARRAY:
-	    offs = __startIndex * 2;
-	    break;
-	case LONGARRAY:
-	case SLONGARRAY:
-	    offs = __startIndex * 4;
-	    break;
-	case LONGLONGARRAY:
-	case SLONGLONGARRAY:
-	    offs = __startIndex * 8;
+        case BYTEARRAY:
+            offs = __startIndex;
+            break;
+        case WORDARRAY:
+        case SWORDARRAY:
+            offs = __startIndex * 2;
+            break;
+        case LONGARRAY:
+        case SLONGARRAY:
+            offs = __startIndex * 4;
+            break;
+        case LONGLONGARRAY:
+        case SLONGLONGARRAY:
+            offs = __startIndex * 8;
 # ifdef __NEED_LONGLONG_ALIGN
-	    offs += 4;
-# endif
-	    break;
-	case FLOATARRAY:
-	    offs = __startIndex * sizeof(float);
-	    break;
-	case DOUBLEARRAY:
-	    offs = __startIndex * sizeof(double);
+            offs += 4;
+# endif
+            break;
+        case FLOATARRAY:
+            offs = __startIndex * sizeof(float);
+            break;
+        case DOUBLEARRAY:
+            offs = __startIndex * sizeof(double);
 # ifdef __NEED_DOUBLE_ALIGN
-	    offs += 4;
-# endif
-	    break;
-	default:
-	    error = @symbol(badArgument2);
-	    goto err;
+            offs += 4;
+# endif
+            break;
+        default:
+            error = @symbol(badArgument2);
+            goto err;
     }
 
     nInstVars = __smallIntegerVal(__ClassInstPtr(oClass)->c_ninstvars);
@@ -14085,35 +14085,35 @@
 
     if (__maxBytes >= 0 && __maxBytes < objSize) {
 # ifdef DGRAM_DEBUG
-	printf("cut off ...\n");
-# endif
-	objSize = __maxBytes;
+        printf("cut off ...\n");
+# endif
+        objSize = __maxBytes;
     }
 
     if (socketAddress == nil) {
-	alen = 0;
+        alen = 0;
     } else {
-	if (! __isByteArrayLike(socketAddress)) {
-	    error = @symbol(badArgument1);
-	    goto err;
-	}
-	alen = __byteArraySize(socketAddress);
+        if (! __isByteArrayLike(socketAddress)) {
+            error = @symbol(badArgument1);
+            goto err;
+        }
+        alen = __byteArraySize(socketAddress);
     }
     saPtr = (struct sockaddr *)0;
 
 again:
     if (alen)
-	saPtr = (struct sockaddr *)__byteArrayVal(socketAddress);
+        saPtr = (struct sockaddr *)__byteArrayVal(socketAddress);
     cp = (char *)__InstPtr(aDataBuffer) + nInstBytes + offs;
     n = sendto(sock, cp, objSize, __flags, saPtr, alen);
     if (n < 0) {
-	if (errno == EINTR) {
-	    __HANDLE_INTERRUPTS__;
-	    goto again;
-	} else {
-	    error = __mkSmallInteger(errno);
-	    goto err;
-	}
+        if (errno == EINTR) {
+            __HANDLE_INTERRUPTS__;
+            goto again;
+        } else {
+            error = __mkSmallInteger(errno);
+            goto err;
+        }
     }
     RETURN (__mkSmallInteger(n));
 #endif
@@ -14138,7 +14138,7 @@
     domainCode := OperatingSystem domainCodeOf:domainArg.
     typeCode := OperatingSystem socketTypeCodeOf:typeArg.
     protocolArg notNil ifTrue:[
-	protocolNumber := self class protocolCodeOf:protocolArg
+        protocolNumber := self class protocolCodeOf:protocolArg
     ].
 
 %{
@@ -14147,23 +14147,23 @@
     int on = 1;
 
     if (__INST(fd) != nil) {
-	error = @symbol(internalError);
-	goto err;
+        error = @symbol(internalError);
+        goto err;
     }
     if (! __isSmallInteger(domainCode)) {
-	error = @symbol(badArgument1);
-	goto err;
+        error = @symbol(badArgument1);
+        goto err;
     }
     if (! __isSmallInteger(typeArg)) {
-	error = @symbol(badArgument2);
-	goto err;
+        error = @symbol(badArgument2);
+        goto err;
     }
     if (protocolNumber != nil) {
-	if (!__isSmallInteger(protocolNumber)) {
-	    error = @symbol(badArgument3);
-	    goto err;
-	}
-	proto = __smallIntegerVal(protocolNumber);
+        if (!__isSmallInteger(protocolNumber)) {
+            error = @symbol(badArgument3);
+            goto err;
+        }
+        proto = __smallIntegerVal(protocolNumber);
     }
     dom = __smallIntegerVal(domainCode);
 
@@ -14175,20 +14175,20 @@
 againSocket:
     sock = socket(dom, typ, proto);
     if (sock < 0) {
-	if (errno == EINTR) {
-	    __HANDLE_INTERRUPTS__;
-	    goto againSocket;
-	} else
+        if (errno == EINTR) {
+            __HANDLE_INTERRUPTS__;
+            goto againSocket;
+        } else
 # if defined(EPROTONOSUPPORT) /* for SGI */
-	if (errno == EPROTONOSUPPORT && proto != 0) {
-	    proto = 0;
-	    goto againSocket;
-	} else
-# endif
-	{
-	    error = __mkSmallInteger(errno);
-	    goto err;
-	}
+        if (errno == EPROTONOSUPPORT && proto != 0) {
+            proto = 0;
+            goto againSocket;
+        } else
+# endif
+        {
+            error = __mkSmallInteger(errno);
+            goto err;
+        }
     }
     __INST(fd) = __mkSmallInteger(sock);
 
@@ -14198,7 +14198,7 @@
 # endif /* NOSOCKET */
 %}.
     error notNil ifTrue:[
-	^ self error:error.
+        ^ self error:error.
     ].
     self register.
 
@@ -14224,23 +14224,23 @@
     char *p;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     if (!__bothSmallInteger(level, name)) {
-	error = @symbol(badArgument);
-	goto err;
+        error = @symbol(badArgument);
+        goto err;
     }
     if (!__isByteArray(bytes)) {
-	error = @symbol(internalError);
-	goto err;
+        error = @symbol(internalError);
+        goto err;
     }
     p = __byteArrayVal(bytes);
     sz = __byteArraySize(bytes);
 
     sock = __smallIntegerVal(__INST(fd));
     if (getsockopt(sock, __smallIntegerVal(level), __smallIntegerVal(name), p, &sz) < 0) {
-	error = __mkSmallInteger(errno);
+        error = __mkSmallInteger(errno);
     }
     size = __mkSmallInteger(sz);
 
@@ -14248,7 +14248,7 @@
 #endif
 %}.
     error notNil ifTrue:[
-	^ self error:error
+        ^ self error:error
     ].
     ^ bytes copyTo:size
 !
@@ -14265,12 +14265,12 @@
     int sock, ret;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     if (!__isSmallInteger(aNumber)) {
-	error = @symbol(badArgument1);
-	goto err;
+        error = @symbol(badArgument1);
+        goto err;
     }
 
     sock = __smallIntegerVal(__INST(fd));
@@ -14278,19 +14278,19 @@
 again:
     ret = listen(sock, __smallIntegerVal(aNumber));
     if (ret < 0) {
-	if (errno == EINTR) {
-	    __HANDLE_INTERRUPTS__;
-	    goto again;
-	} else {
-	    error = __mkSmallInteger(errno);
-	}
+        if (errno == EINTR) {
+            __HANDLE_INTERRUPTS__;
+            goto again;
+        } else {
+            error = __mkSmallInteger(errno);
+        }
     }
 
 err:;
 #endif
 %}.
     error notNil ifTrue:[
-	^ self error:error.
+        ^ self error:error.
     ].
     ^ nil
 !
@@ -14308,48 +14308,48 @@
     char *p;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     if (__isSmallInteger(level)) {
-	__level = __smallIntegerVal(level);
+        __level = __smallIntegerVal(level);
     } else if (level == @symbol(SOL_SOCKET)) {
-	__level = SOL_SOCKET;
+        __level = SOL_SOCKET;
     } else {
-	error = @symbol(badArgument1);
-	goto err;
+        error = @symbol(badArgument1);
+        goto err;
     }
 
     if (__isSmallInteger(name)) {
-	__name = __smallIntegerVal(name);
+        __name = __smallIntegerVal(name);
     } else if (name == @symbol(SO_REUSEADDR)) {
-	__name = SO_REUSEADDR;
+        __name = SO_REUSEADDR;
     } else {
-	error = @symbol(badArgument2);
-	goto err;
+        error = @symbol(badArgument2);
+        goto err;
     }
 
     if (__isSmallInteger(value)) {
-	intval = __intVal(value);
-	p = (char *) &intval;
-	sz = sizeof(intval);
+        intval = __intVal(value);
+        p = (char *) &intval;
+        sz = sizeof(intval);
     } else if (__isByteArrayLike(value)) {
-	p = __byteArrayVal(value);
-	sz = __byteArraySize(value);
+        p = __byteArrayVal(value);
+        sz = __byteArraySize(value);
     } else {
-	error = @symbol(badArgument3);
-	goto err;
+        error = @symbol(badArgument3);
+        goto err;
     }
 
     sock = __smallIntegerVal(__INST(fd));
     if (setsockopt(sock, __level, __name, p, sz) < 0) {
-	error = __mkSmallInteger(errno);
+        error = __mkSmallInteger(errno);
     }
 err:;
 #endif
 %}.
     error notNil ifTrue:[
-	^ self error:error
+        ^ self error:error
     ].
     ^ nil.
 !
@@ -14359,9 +14359,9 @@
      anInteger == 0   no reads will be performed
      anInteger == 1   no writes will be performed
      anInteger == 2   neither reads nor writes will be performed.
-		      Pending data is discarded. This is faster tha
-		      close, which may wait until pending (written)
-		      data has been read by the other side"
+                      Pending data is discarded. This is faster tha
+                      close, which may wait until pending (written)
+                      data has been read by the other side"
 
     |error|
 
@@ -14370,30 +14370,30 @@
     int ret;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     if (!__isSmallInteger(anInteger)) {
-	error = @symbol(badArgument1);
-	goto err;
+        error = @symbol(badArgument1);
+        goto err;
     }
 
 again:
     ret = shutdown(__smallIntegerVal(__INST(fd)), __smallIntegerVal(anInteger));
     if (ret < 0) {
-	if (errno == EINTR) {
-	    __HANDLE_INTERRUPTS__;
-	    goto again;
-	} else {
-	    error = __mkSmallInteger(errno);
-	}
+        if (errno == EINTR) {
+            __HANDLE_INTERRUPTS__;
+            goto again;
+        } else {
+            error = __mkSmallInteger(errno);
+        }
     }
 
 err:;
 #endif /*NO_SOCKET*/
 %}.
     error notNil ifTrue:[
-	^ self error:error
+        ^ self error:error
     ].
     ^ nil.
 ! !
@@ -14413,26 +14413,26 @@
     int ret;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     if (!__isNonNilObject(socketAddress) ||
-	(__intVal(__ClassInstPtr(__qClass(socketAddress))->c_flags) & ARRAYMASK) != BYTEARRAY) {
-	error = @symbol(badArgument1);
-	goto err;
+        (__intVal(__ClassInstPtr(__qClass(socketAddress))->c_flags) & ARRAYMASK) != BYTEARRAY) {
+        error = @symbol(badArgument1);
+        goto err;
     }
     sockaddr_size = __byteArraySize(socketAddress);
 
     sock = __smallIntegerVal(__INST(fd));
     ret = getsockname(sock, (struct sockaddr *)__byteArrayVal(socketAddress), &sockaddr_size);
     if (ret < 0) {
-	error = __mkSmallInteger(errno);
+        error = __mkSmallInteger(errno);
     }
 err:;
 #endif /* NO_SOCKET */
 %}.
     error notNil ifTrue:[
-	^ self error:error
+        ^ self error:error
     ].
     ^ nil.
 !
@@ -14450,27 +14450,27 @@
     int __ret;
 
     if (!__isSmallInteger(__INST(fd))) {
-	error = @symbol(badFd);
-	goto err;
+        error = @symbol(badFd);
+        goto err;
     }
     if (!__isNonNilObject(socketAddress) ||
-	(__intVal(__ClassInstPtr(__qClass(socketAddress))->c_flags) & ARRAYMASK) != BYTEARRAY) {
-	error = @symbol(badArgument1);
-	goto err;
+        (__intVal(__ClassInstPtr(__qClass(socketAddress))->c_flags) & ARRAYMASK) != BYTEARRAY) {
+        error = @symbol(badArgument1);
+        goto err;
     }
     __sockaddr_size = __byteArraySize(socketAddress);
 
     __sock = __smallIntegerVal(__INST(fd));
     __ret = getpeername(__sock, (struct sockaddr *)__byteArrayVal(socketAddress),
-				&__sockaddr_size);
+                                &__sockaddr_size);
     if (__ret < 0) {
-	error = __mkSmallInteger(errno);
+        error = __mkSmallInteger(errno);
     }
 err:;
 #endif /* NO_SOCKET */
 %}.
     error notNil ifTrue:[
-	^ self error:error
+        ^ self error:error
     ].
     ^ nil
 ! !