diff options
author | Thomas Bushnell <tb@debian.org> | 2007-12-28 15:56:00 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:38 -0800 |
commit | 967ca9f9b4c42630fb0feb1e5b9186266fa4d854 (patch) | |
tree | 8bbb64f76bd25bf5dc59c856167f46f67cfca2e9 /scm.c | |
parent | 25fbaa7f8700665d5aea046956175a35035f7fd5 (diff) | |
parent | 710a97992705d67c3ded0d4b270c5978ce29b11f (diff) | |
download | scm-967ca9f9b4c42630fb0feb1e5b9186266fa4d854.tar.gz scm-967ca9f9b4c42630fb0feb1e5b9186266fa4d854.zip |
Import Debian changes 5e4-1debian/5e4-1
scm (5e4-1) unstable; urgency=low
* New upstream release.
* debian/control: Require at least version 3a5 of slib.
* debian/postrm: New file to remove /usr/lib/scm/implcat and
/usr/lib/scm/slibcat upon purge. (Closes: #455124). Thanks to Kumar
Appaiah for the fix.
* debian/control (Architecture): Add armel and armeb. (Closes: #408792).
* debian/rules (install): Don't use -s when installing. dh_strip should
be sufficient, and this should make the nostrip build option work.
(Closes: #438004).
* continue.h: Repeat change from 5e1-2.
* xgen.scm: Repeat change from 5e2-4.
* scm.1: Repeat change from 5e2-4.
* build.scm: Repeat change from 5e3-5.
Diffstat (limited to 'scm.c')
-rw-r--r-- | scm.c | 39 |
1 files changed, 19 insertions, 20 deletions
@@ -1,4 +1,4 @@ -/* Copyright (C) 1990-2002 Free Software Foundation, Inc. +/* Copyright (C) 1990-2006 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -51,7 +51,7 @@ #include "patchlvl.h" #ifdef _WIN32 -#include <io.h> +# include <io.h> #endif #ifdef __IBMC__ @@ -111,7 +111,7 @@ void final_repl P((void)); void init_banner() { - fputs("SCM version "SCMVERSION", Copyright (C) 1990-2002 \ + fputs("SCM version "SCMVERSION", Copyright (C) 1990-2006 \ Free Software Foundation.\n\ SCM comes with ABSOLUTELY NO WARRANTY; for details type `(terms)'.\n\ This is free software, and you are welcome to redistribute it\n\ @@ -175,19 +175,22 @@ SCM scm_init_extensions() #endif #define SIGNAL_BASE HUP_SIGNAL -#define NUM_SIGNALS (sizeof(sigdesc)/sizeof(sigdesc[0])) /* PROF_SIGNAL appears below because it is the last signal defined in scm.h and in errmsgs in repl.c */ static struct { int signo; SIGRETTYPE (*osig)(); SIGRETTYPE (*nsig)(); } sigdesc[PROF_SIGNAL - SIGNAL_BASE + 1]; + +#define NUM_SIGNALS (sizeof(sigdesc)/sizeof(sigdesc[0])) + void process_signals() { int i, n; unsigned long mask = 1L; + /* printf("process_signals; output_deferred=%d\n", output_deferred); fflush(stdout); */ if (output_deferred) { output_deferred = 0; - lflush(sys_errp); + /* if (NIMP(sys_errp) && OPOUTPORTP(sys_errp)) lfflush(sys_errp); */ } for (n = 0; SIG_deferred && n < NUM_SIGNALS; n++) { if (SIG_deferred & mask) { @@ -289,11 +292,10 @@ static SIGRETTYPE scmable_signal(sig) if (sig == sigdesc[i].signo) break; ASRTER(i >= 0, MAKINUM(sig), s_unksig, ""); #ifdef WINSIGNALS - if (SIGINT == sig) - signal(sig, win32_sigint); + if (SIGINT == sig) signal(sig, win32_sigint); else #endif - signal(sig, scmable_signal); + signal(sig, scmable_signal); if (ints_disabled) { deferred_proc = process_signals; SIG_deferred |= (1L << i); @@ -503,6 +505,7 @@ SCM lticks(i) static SIGRETTYPE (*oldpipe) (); #endif +int case_sensitize_symbols = 0; /* set to 8 to read case-sensitive symbols */ int dumped = 0; /* Is this an invocation of unexec exe? */ #ifdef SHORT_ALIGN @@ -684,20 +687,16 @@ void scm_init_from_argv(argc, argv, script_arg, iverbose, buf0stdin) int buf0stdin; { long i = 0L; - if ((2 <= argc) && argv[1] && (0==strncmp("-a", argv[1], 2))) { - const char *str = (0==argv[1][2] && 3 <= argc && argv[2]) ?argv[2]:&argv[1][2]; - do { - switch (*str) { - case DIGITS: - i = i * 10 + (*str - '0'); - if (i <= 10000L) continue; /* the size limit should match Init.scm */ - default: - i = 0L; - } + int j = 0; + if ((2 <= argc) && argv[1] && (0==strncmp("-a", argv[1], 2))) + i = atol((0==argv[1][2] && 3 <= argc && argv[2]) ? argv[2] : &argv[1][2]); + init_scm(iverbose, buf0stdin, (0 >= i) ? 0L : 1024L * i); /* size in kB */ + for (j = 0; argv[j]; j++) { + if (0==strcmp(argv[j], "--no-symbol-case-fold")) { + case_sensitize_symbols = 8; break; - } while (* ++str); + } } - init_scm(iverbose, buf0stdin, (0 >= i) ? 0L : 1024L * i); /* size in kB */ progargs = EOL; progargs = makfromstrs(argc, argv); sysintern("*script*", script_arg ? makfrom0str(script_arg) : BOOL_F); |