debian/0000755000000000000000000000000011367635564007206 5ustar debian/sc.dirs0000644000000000000000000000005411367631425010465 0ustar usr/bin usr/share/doc/sc usr/share/man/man1 debian/control0000644000000000000000000000165611367635263010615 0ustar Source: sc Section: math Priority: optional Build-Depends: libncurses5-dev, bison, debhelper (>>7) Maintainer: Adam Majer Standards-Version: 3.8.4 Vcs-Browser: http://git.debian.org/?p=collab-maint/sc.git;a=summary Vcs-Git: git://git.debian.org/collab-maint/sc.git Package: sc Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Text-based spreadsheet with VI-like keybindings "Spreadsheet Calculator" is a much modified version of the public- domain spread sheet sc, which was posted to Usenet several years ago by Mark Weiser as vc, originally by James Gosling. It is based on rectangular table much like a financial spreadsheet. . Its keybindings are familiar to users of 'vi', and it has most features that a pure spreadsheet would, but lacks things like graphing and saving in foreign formats. It's very stable and quite easy to use once you've put a little effort into learning it. debian/compat0000644000000000000000000000000211367633472010400 0ustar 7 debian/changelog0000644000000000000000000001012011367634325011044 0ustar sc (7.16-3) unstable; urgency=low * Changed maintainer to the new email address, recursively. * Fixed old changelog entries' bug closing method * Add patches supplied by Carsten Hey + Stop compressing tutorial.sc file (closes: #514777) + Use default colors (closes: #514775) * Bump Standards to 3.8.4. * Bump dependency of debhelper. -- Adam Majer Mon, 03 May 2010 15:52:17 -0500 sc (7.16-2) unstable; urgency=low * New maintainer (closes: #260000) * Fixed the code to remove most of the warnings during compile. * No longer tries to "redefine" malloc (closes: #259840) * debian/rules now uses debhelper -- Adam Majer Mon, 19 Jul 2004 14:24:48 -0500 sc (7.16-1) unstable; urgency=low * New upstream version. (closes: Bug#131782, Bug#169590) * Doesn't use '#' as backup character. (closes: Bug#127612) * Help page index fixed. (closes: Bug#115456) * Tutorial file location corrected in man page. (closes: Bug#115454) -- Chad Miller Tue, 19 Nov 2002 14:11:52 -0500 sc (7.13-2) unstable; urgency=low * Fixed spelling error in package description. -- Chad Miller Tue, 18 Dec 2001 14:22:47 +0000 sc (7.13-1) unstable; urgency=low * New upstream version; many bugfixes. (closes: Bug#114473) -- Chad Miller Thu, 4 Oct 2001 19:54:46 +0000 sc (6.21-12) unstable; urgency=low * Installed 'tutorial.sc' in doc directory. (closes: Bug:85546) -- Chad Miller Sat, 17 Mar 2001 15:03:21 -0500 sc (6.21-11) unstable; urgency=low * Maintainer change. (closes: Bug#68149) * Put manpages under /usr/share/man, as recent policy says. * Added to CFLAGS, to prevent ``still changing'' bug on some architectures. (closes: Bug#50986) -- Chad Miller Mon, 8 Jan 2001 15:20:02 -0500 sc (6.21-10) unstable; urgency=low * Added support for cursor keys, thanks to D. J. Raymond -- Martin Schulze Sun, 2 Jan 2000 17:35:34 +0100 sc (6.21-9) unstable; urgency=low * Corrected manpage creation (closes: Bug#48133) -- Martin Schulze Fri, 29 Oct 1999 00:32:30 +0200 sc (6.21-8) frozen unstable; urgency=low * Removed external declaration for strcpy() and strcat() from format.c and included instead. (closes: Bug#29540) -- Martin Schulze Tue, 17 Nov 1998 11:19:50 +0100 sc (6.21-7) unstable; urgency=low * Re-compiled against ncurses4 -- Martin Schulze Fri, 30 Oct 1998 11:14:48 +0100 sc (6.21-6) unstable; urgency=low * Applied y2k patch from L J Bayuk . Thanks to Ray for forwarding. -- Martin Schulze Fri, 23 Oct 1998 19:21:05 +0200 sc (6.21-5) unstable; urgency=low * Undebhelpering it * Recompiled against ncurses3.4 to make it work with that lib (closes: Bug#25513, Bug#23241) * This works together with the current ncurses package -- Martin Schulze Sun, 6 Sep 1998 22:22:47 +0000 sc (6.21-4) unstable; urgency=high * Recompiled against ncurses3.4 to make it work with that lib (closes: Bug#22616) * Added Conflicts: ncurses3.4 (<<1.9.9g-8.2) -- Martin Schulze Tue, 19 May 1998 10:30:44 +0200 sc (6.21-3) frozen unstable; urgency=low * Corrected sc.1 manpage (closes: Bug#20915) * Removed dh_du * Added scqref.1 undocumented manpage link -- Martin Schulze Sat, 11 Apr 1998 04:45:23 +0200 sc (6.21-2) unstable; urgency=low * Removed dependency to regex (closes: Bug#20079) * Little code clean ups in pvmtbl.c -- Martin Schulze Mon, 23 Mar 1998 01:56:31 +0100 sc (6.21-1) unstable; urgency=low * First release * Removed references to initkbd(), resetkbd() and kbd_again() * Changed nmgetch() to getch() -- Martin Schulze Thu, 12 Mar 1998 02:58:48 +0100 debian/copyright0000644000000000000000000000126011367631425011130 0ustar This is the Debian GNU/Linux prepackaged version of the public domain spread sheet sc, posted several years ago by Mark Weiser as vc, originally by James Gosling. This package was originally put together by Martin Schulze , and later adopted by Chad Miller . Source was obtained from: http://ibiblio.org/pub/Linux/apps/financial/spreadsheet/sc-7.13.tar.gz Sc is not a product of ProsLink, Inc. It is supplied as is with no warranty, express or implied, as a service to Usenet readers. It is not copyrighted, either. Have at it. Some of the files were originally written by Robert Bond, James Gosling, Bradley Williams or Mark Nagel. debian/rules0000755000000000000000000000356011367634110010254 0ustar #!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # GNU copyright 1997 to 1999 by Joey Hess. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) INSTALL_PROGRAM += -s endif configure: configure-stamp configure-stamp: dh_testdir # Add here commands to configure the package. touch configure-stamp build: build-stamp build-stamp: configure-stamp dh_testdir # Add here commands to compile the package. $(MAKE) all sc.1 psc.1 CC=gcc CFLAGS="-O2 -Wall -DSYSV3 -ffloat-store" #/usr/bin/docbook-to-man debian/sc.sgml > sc.1 touch build-stamp clean: dh_testdir dh_testroot rm -f build-stamp configure-stamp # Add here commands to clean up after the build process. -test -f Makefile && $(MAKE) clean rm -f sc psc scqref find . -name '*~' -exec rm {} \; rm -rf stamp-build *~ dh_clean install: build dh_testdir dh_testroot dh_prep -k dh_installdirs # Add here commands to install the package into debian/sc. # $(MAKE) install DESTDIR=$(CURDIR)/debian/sc # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_installchangelogs CHANGES dh_installdocs # dh_installexamples dh_install # dh_installmenu # dh_installdebconf # dh_installlogrotate # dh_installemacsen # dh_installpam # dh_installmime # dh_installinit # dh_installcron # dh_installinfo dh_installman # dh_link dh_strip dh_compress -X tutorial.sc dh_fixperms # dh_perl # dh_python # dh_makeshlibs dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure debian/sc.docs0000644000000000000000000000002311367631425010450 0ustar README tutorial.sc debian/sc.install0000644000000000000000000000004611367631425011173 0ustar sc usr/bin psc usr/bin scqref usr/bin debian/sc.manpages0000644000000000000000000000001311367631425011312 0ustar psc.1 sc.1 debian/source/0000755000000000000000000000000011367633330010473 5ustar debian/source/format0000644000000000000000000000001411367633330011701 0ustar 3.0 (quilt) debian/patches/0000755000000000000000000000000011367635565010636 5ustar debian/patches/debian-changes-7.16-30000644000000000000000000003252011367635565014144 0ustar Description: Upstream changes introduced in version 7.16-3 This patch has been created by dpkg-source during the package build. Here's the last changelog entry, hopefully it gives details on why those changes were made: . sc (7.16-3) unstable; urgency=low . * Changed maintainer to the new email address, recursively. * Fixed old changelog entries' bug closing method * Add patches supplied by Carsten Hey + Stop compressing tutorial.sc file (closes: #514777) + Use default colors (closes: #514775) * Bump Standards to 3.8.4. * Bump dependency of debhelper. . The person named in the Author field signed this changelog entry. Author: Adam Majer Bug-Debian: http://bugs.debian.org/514775 Bug-Debian: http://bugs.debian.org/514777 --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: , Bug: Bug-Debian: http://bugs.debian.org/ Forwarded: Reviewed-By: Last-Update: --- sc-7.16.orig/abbrev.c +++ sc-7.16/abbrev.c @@ -19,10 +19,15 @@ #include #include #include +#include +#include #include "sc.h" static struct abbrev *abbr_base; +int are_abbrevs(void); + + void add_abbr(char *string) { @@ -87,7 +92,7 @@ add_abbr(char *string) } } - if (expansion == NULL) + if (expansion == NULL){ if ((a = find_abbr(string, strlen(string), &prev))) { error("abbrev \"%s %s\"", a->abbr, a->exp); return; @@ -95,6 +100,7 @@ add_abbr(char *string) error("abreviation \"%s\" doesn't exist", string); return; } + } if (find_abbr(string, strlen(string), &prev)) del_abbr(string); @@ -122,7 +128,7 @@ void del_abbr(char *abbrev) { struct abbrev *a; - struct abbrev **prev; + struct abbrev **prev=0; if (!(a = find_abbr(abbrev, strlen(abbrev), prev))) return; --- sc-7.16.orig/cmds.c +++ sc-7.16/cmds.c @@ -478,7 +478,7 @@ yankrow(int arg) int i, qtmp; char buf[50]; struct frange *fr; - struct ent *obuf; + struct ent *obuf=0; if ((fr = find_frange(currow, curcol))) rs = fr->or_right->row - currow + 1; @@ -535,7 +535,7 @@ yankcol(int arg) int cs = maxcol - curcol + 1; int i, qtmp; char buf[50]; - struct ent *obuf; + struct ent *obuf=0; if (cs - arg < 0) { cs = cs > 0 ? cs : 0; @@ -810,7 +810,7 @@ pullcells(int to_insert) if (to_insert == 'r') { insertrow(numrows, 0); - if (fr = find_frange(currow, curcol)) + if ((fr = find_frange(currow, curcol))) deltac = fr->or_left->col - mincol; else { for (i = 0; i < numrows; i++) @@ -2279,7 +2279,7 @@ copye(register struct enode *e, int Rdel ret->e.r.right.vp = lookat(newrow, newcol); ret->e.r.right.vf = e->e.r.right.vf; } else { - struct enode *temprange; + struct enode *temprange=0; if (freeenodes) { ret = freeenodes; @@ -2337,8 +2337,7 @@ copye(register struct enode *e, int Rdel break; case 'f': case 'F': - if (range && ret->op == 'F' || - !range && ret->op == 'f') + if ((range && ret->op == 'F') || (!range && ret->op == 'f')) Rdelta = Cdelta = 0; ret->e.o.left = copye(e->e.o.left, Rdelta, Cdelta, r1, c1, r2, c2, transpose); @@ -2798,7 +2797,7 @@ void write_cells(register FILE *f, int r0, int c0, int rn, int cn, int dr, int dc) { register struct ent **pp; - int r, c, rs, cs, mf; + int r, c, rs=0, cs=0, mf; char *dpointptr; mf = modflg; @@ -2861,12 +2860,12 @@ writefile(char *fname, int r0, int c0, i if ((plugin = findplugin(p+1, 'w')) != NULL) { if (!plugin_exists(plugin, strlen(plugin), save + 1)) { error("plugin not found"); - return; + return -1; } *save = '|'; if ((strlen(save) + strlen(fname) + 20) > PATHLEN) { error("Path too long"); - return; + return -1; } sprintf(save + strlen(save), " %s%d:", coltoa(c0), r0); sprintf(save + strlen(save), "%s%d \"%s\"", coltoa(cn), rn, fname); @@ -2883,13 +2882,14 @@ writefile(char *fname, int r0, int c0, i } #endif /* VMS */ - if (*fname == '\0') + if (*fname == '\0'){ if (isatty(STDOUT_FILENO) || *curfile != '\0') fname = curfile; else { write_fd(stdout, r0, c0, rn, cn); return (0); } + } #ifdef MSDOS namelen = 12; @@ -2981,12 +2981,12 @@ readfile(char *fname, int eraseflg) if ((plugin = findplugin(p+1, 'r')) != NULL) { if (!(plugin_exists(plugin, strlen(plugin), save + 1))) { error("plugin not found"); - return; + return -1; } *save = '|'; if ((strlen(save) + strlen(fname) + 2) > PATHLEN) { error("Path too long"); - return; + return -1; } sprintf(save + strlen(save), " \"%s\"", fname); eraseflg = 0; --- sc-7.16.orig/color.c +++ sc-7.16/color.c @@ -19,6 +19,7 @@ #include #include +#include #include "sc.h" /* a linked list of free [struct ent]'s, uses .next as the pointer */ @@ -30,6 +31,8 @@ static struct crange *color_base; void initcolor(int colornum) { + use_default_colors(); + if (!colornum) { int i; --- sc-7.16.orig/frame.c +++ sc-7.16/frame.c @@ -18,6 +18,9 @@ #include #include +#include +#include +#include #include "sc.h" static struct frange *frame_base; --- sc-7.16.orig/help.c +++ sc-7.16/help.c @@ -11,6 +11,7 @@ char *header = " Quick Reference"; char *revision = "$Revision: 7.16 $"; #else #include +#include #include "sc.h" #endif /* QREF */ --- sc-7.16.orig/interp.c +++ sc-7.16/interp.c @@ -1572,12 +1572,12 @@ void copy(struct ent *dv1, struct ent *dv2, struct ent *v1, struct ent *v2) { struct ent *p; - struct ent *n; +/* struct ent *n;*/ static int minsr = -1, minsc = -1; static int maxsr = -1, maxsc = -1; int mindr, mindc; int maxdr, maxdc; - int vr, vc; +/* int vr, vc;*/ int r, c; int deltar, deltac; @@ -2066,7 +2066,7 @@ str_search(char *s, int firstrow, int fi *line = '\0'; } } - if (!col_hidden[c]) + if (!col_hidden[c]){ if (gs.g_type == G_STR) { if (p && p->label #if defined(REGCOMP) @@ -2099,6 +2099,7 @@ str_search(char *s, int firstrow, int fi #endif #endif break; + } if (r == endr && c == endc) { error("String not found"); #if defined(REGCOMP) @@ -2471,13 +2472,11 @@ clearent(struct ent *v) int constant(register struct enode *e) { - return ( - e == NULL + return e == NULL || e->op == O_CONST || e->op == O_SCONST - || e->op == 'm' && constant(e->e.o.left) - || ( - e->op != O_VAR + || (e->op == 'm' && constant(e->e.o.left)) + || (e->op != O_VAR && !(e->op & REDUCE) && constant(e->e.o.left) && constant(e->e.o.right) @@ -2491,9 +2490,7 @@ constant(register struct enode *e) && e->op != LASTCOL && e->op != NUMITER && e->op != FILENAME - && optimize - ) - ); + && optimize ); } void --- sc-7.16.orig/lex.c +++ sc-7.16/lex.c @@ -34,6 +34,8 @@ #include #include #include +#include +#include #include "sc.h" #ifdef NONOTIMEOUT @@ -107,7 +109,7 @@ int yylex() { char *p = line + linelim; - int ret; + int ret=0; static int isfunc = 0; static bool isgoto = 0; static bool colstate = 0; @@ -326,7 +328,7 @@ plugin_exists(char *name, int len, char strcpy((char *)path, HomeDir); strcat((char *)path, "/.sc/plugins/"); strncat((char *)path, name, len); - if (fp = fopen((char *)path, "r")) { + if ((fp = fopen((char *)path, "r"))) { fclose(fp); return 1; } @@ -334,7 +336,7 @@ plugin_exists(char *name, int len, char strcpy((char *)path, LIBDIR); strcat((char *)path, "/plugins/"); strncat((char *)path, name, len); - if (fp = fopen((char *)path, "r")) { + if ((fp = fopen((char *)path, "r"))) { fclose(fp); return 1; } --- sc-7.16.orig/Makefile +++ sc-7.16/Makefile @@ -32,7 +32,7 @@ MANMODE=644 # This is where the library file (tutorial) goes. #LIBDIR=/usr/local/share/$(name) # reno -LIBDIR=${prefix}/lib/$(name) +LIBDIR=${prefix}/share/doc/$(name) LIBRARY=-DLIBDIR=\"${LIBDIR}\" # Set SIMPLE for lex.c if you don't want arrow keys or lex.c blows up --- sc-7.16.orig/range.c +++ sc-7.16/range.c @@ -18,6 +18,8 @@ #include #include +#include +#include #include "sc.h" static struct range *rng_base; --- sc-7.16.orig/sc.c +++ sc-7.16/sc.c @@ -212,7 +212,7 @@ flush_saved() if (dbidx < 0) return; - if (p = delbuf[dbidx]) { + if ((p = delbuf[dbidx])) { scxfree(delbuffmt[dbidx]); delbuffmt[dbidx] = NULL; } @@ -845,7 +845,7 @@ main (int argc, char **argv) break; case 'C': color = !color; - if (has_colors()) + if (has_colors()){ if (color) { attron(COLOR_PAIR(1)); bkgd(COLOR_PAIR(1) | ' '); @@ -853,6 +853,7 @@ main (int argc, char **argv) attron(COLOR_PAIR(0)); bkgd(COLOR_PAIR(0) | ' '); } + } error("Color %sabled.", color ? "en" : "dis"); break; case 'N': --- sc-7.16.orig/sc.h +++ sc-7.16/sc.h @@ -612,6 +612,9 @@ extern int pagesize; /* If nonzero, use extern int rowlimit; extern int collimit; +void yankr(struct ent *v1, struct ent *v2); + + #if BSD42 || SYSIII #ifndef cbreak --- sc-7.16.orig/screen.c +++ sc-7.16/screen.c @@ -234,11 +234,12 @@ update(int anychanged) /* did any cell i = stcol; lcols = 0; col = rescol + frcols; - if (fr && stcol >= fr->or_left->col) + if (fr && stcol >= fr->or_left->col){ if (stcol < fr->ir_left->col) i = fr->or_left->col; else col += flcols; + } for (; (col + fwidth[i] < cols-1 || col_hidden[i] || i < curcol) && i < maxcols; i++) { lcols++; @@ -328,11 +329,12 @@ update(int anychanged) /* did any cell i = stcol; lcols = 0; col = rescol + frcols; - if (fr && stcol >= fr->or_left->col) + if (fr && stcol >= fr->or_left->col){ if (stcol < fr->ir_left->col) i = fr->or_left->col; else col += flcols; + } for (; (col + fwidth[i] < cols-1 || col_hidden[i] || i < curcol) && i < maxcols; i++) { lcols++; @@ -377,11 +379,12 @@ update(int anychanged) /* did any cell i = strow; rows = 0; row = RESROW + fbrows; - if (fr && strow >= fr->or_left->row) + if (fr && strow >= fr->or_left->row){ if (strow < fr->ir_left->row) i = fr->or_left->row; else row += ftrows; + } for (; (row < lines || row_hidden[i] || i < currow) && i < maxrows; i++) { rows++; @@ -460,11 +463,12 @@ update(int anychanged) /* did any cell i = strow; rows = 0; row = RESROW + fbrows; - if (fr && strow >= fr->or_left->row) + if (fr && strow >= fr->or_left->row){ if (strow < fr->ir_left->row) i = fr->or_left->row; else row += ftrows; + } for (; (row < lines || row_hidden[i] || i < currow) && i < maxrows; i++) { rows++; --- sc-7.16.orig/sort.c +++ sc-7.16/sort.c @@ -19,6 +19,8 @@ #include #include #include +#include +#include #include "sc.h" int compare(const void *row1, const void *row2); --- sc-7.16.orig/vi.c +++ sc-7.16/vi.c @@ -17,6 +17,8 @@ #include #include #include +#include +#include #include "sc.h" #if defined(REGCOMP) @@ -40,7 +42,7 @@ void gotobottom(); #define istext(a) (isalnum(a) || ((a) == '_')) -#define bool int +/*#define bool int*/ #define true 1 #define false 0 @@ -667,8 +669,10 @@ dotab() static struct range *nextmatch; int len; - if (linelim > 0 && isalnum(line[linelim-1]) || line[linelim-1] == '_' || - (completethis && line[linelim-1] == ' ')) { + if ((linelim > 0 && isalnum(line[linelim-1])) || + line[linelim-1] == '_' || + (completethis && line[linelim-1] == ' ')) { + if (!completethis) { for (completethis = line + linelim - 1; isalnum(*completethis) || *completethis == '_'; completethis--) /* */; @@ -715,7 +719,7 @@ void showdr() { int minsr, minsc, maxsr, maxsc; - char *p; + /*char *p;*/ char r[12]; struct frange *fr = find_frange(currow, curcol); @@ -1566,7 +1570,7 @@ static void search_again(bool reverse) { int prev_match; - int found_it; + int found_it=0; #if !defined(REGCOMP) && !defined(RE_COMP) && !defined(REGCMP) char *look_here; int do_next; @@ -1777,7 +1781,7 @@ to_char(int arg, int n) static void match_paren() { - register int i; + /*register int i;*/ int nest = 1; int tmp = linelim; --- sc-7.16.orig/vmtbl.c +++ sc-7.16/vmtbl.c @@ -16,6 +16,7 @@ # include #endif /* PSC */ +#include #include "sc.h" /* --- sc-7.16.orig/xmalloc.c +++ sc-7.16/xmalloc.c @@ -4,11 +4,12 @@ */ #include +#include #include "sc.h" -extern char *malloc(); +/* extern char *malloc(); extern char *realloc(); -extern void free(); +extern void free(); */ void fatal(); #ifdef SYSV3 debian/patches/series0000644000000000000000000000002611367633746012050 0ustar debian-changes-7.16-3