diff --git a/pd/src/g_readwrite.c b/pd/src/g_readwrite.c
index 580b1476c638fb9ea1bae83a1b21cdf028b5bf69..02b75d576a91757d379b9f1f8b7a5385441ba6de 100644
--- a/pd/src/g_readwrite.c
+++ b/pd/src/g_readwrite.c
@@ -17,7 +17,6 @@ file format as in the dialog window for data.
 #include "g_canvas.h"
 #include <string.h>
 
-static t_class *declare_class;
 void canvas_savedeclarationsto(t_canvas *x, t_binbuf *b);
 
     /* the following routines read "scalars" from a file into a canvas. */
@@ -25,7 +24,7 @@ void canvas_savedeclarationsto(t_canvas *x, t_binbuf *b);
 static int canvas_scanbinbuf(int natoms, t_atom *vec, int *p_indexout,
     int *p_next)
 {
-    int i, j;
+    int i;
     int indexwas = *p_next;
     *p_indexout = indexwas;
     if (indexwas >= natoms)
@@ -55,7 +54,7 @@ static void canvas_readerror(int natoms, t_atom *vec, int message,
 static void glist_readatoms(t_glist *x, int natoms, t_atom *vec,
     int *p_nextmsg, t_symbol *templatesym, t_word *w, int argc, t_atom *argv)
 {
-    int message, nline, n, i;
+    int message, n, i;
 
     t_template *template = template_findbyname(templatesym);
     if (!template)
@@ -70,7 +69,6 @@ static void glist_readatoms(t_glist *x, int natoms, t_atom *vec,
     {
         if (template->t_vec[i].ds_type == DT_ARRAY)
         {
-            int j;
             t_array *a = w[i].w_array;
             int elemsize = a->a_elemsize, nitems = 0;
             t_symbol *arraytemplatesym = template->t_vec[i].ds_arraytemplate;
@@ -110,7 +108,7 @@ static void glist_readatoms(t_glist *x, int natoms, t_atom *vec,
 int glist_readscalar(t_glist *x, int natoms, t_atom *vec,
     int *p_nextmsg, int selectit)
 {
-    int message, i, j, nline;
+    int message, nline;
     t_template *template;
     t_symbol *templatesym;
     t_scalar *sc;
@@ -165,10 +163,8 @@ int glist_readscalar(t_glist *x, int natoms, t_atom *vec,
 
 void glist_readfrombinbuf(t_glist *x, t_binbuf *b, char *filename, int selectem)
 {
-    t_canvas *canvas = glist_getcanvas(x);
-    int cr = 0, natoms, nline, message, nextmsg = 0, i, j, nitems;
+    int natoms, nline, message, nextmsg = 0;
     t_atom *vec;
-    t_gobj *gobj;
 
     natoms = binbuf_getnatom(b);
     vec = binbuf_getvec(b);
@@ -250,8 +246,7 @@ static void glist_doread(t_glist *x, t_symbol *filename, t_symbol *format,
     t_binbuf *b = binbuf_new();
     t_canvas *canvas = glist_getcanvas(x);
     int wasvis = glist_isvisible(canvas);
-    int cr = 0, natoms, nline, message, nextmsg = 0, i, j;
-    t_atom *vec;
+    int cr = 0;
 
     if (!strcmp(format->s_name, "cr"))
         cr = 1;
@@ -365,7 +360,6 @@ static void glist_writelist(t_gobj *y, t_binbuf *b);
 void canvas_writescalar(t_symbol *templatesym, t_word *w, t_binbuf *b,
     int amarrayelement)
 {
-    t_dataslot *ds;
     t_template *template = template_findbyname(templatesym);
     t_atom *a = (t_atom *)t_getbytes(0);
     int i, n = template->t_n, natom = 0;
@@ -537,12 +531,10 @@ t_binbuf *glist_writetobinbuf(t_glist *x, int wholething)
 
 static void glist_write(t_glist *x, t_symbol *filename, t_symbol *format)
 {
-    int cr = 0, i;
+    int cr = 0;
     t_binbuf *b;
     char buf[MAXPDSTRING];
     t_symbol **templatevec = getbytes(0);
-    int ntemplates = 0;
-    t_gobj *y;
     t_canvas *canvas = glist_getcanvas(x);
     canvas_makefilename(canvas, filename->s_name, buf, MAXPDSTRING);
     if (!strcmp(format->s_name, "cr"))
@@ -659,7 +651,6 @@ static void canvas_savetemplatesto(t_canvas *x, t_binbuf *b, int wholething)
 {
     t_symbol **templatevec = getbytes(0);
     int i, ntemplates = 0;
-    t_gobj *y;
     canvas_collecttemplatesfor(x, &ntemplates, &templatevec, wholething);
     for (i = 0; i < ntemplates; i++)
     {
diff --git a/pd/src/g_traversal.c b/pd/src/g_traversal.c
index de8f23c871e7a81c38872af0e2fe217b63281fc9..731ecbdd0c087af745a4c3062f6873e4ded67965 100644
--- a/pd/src/g_traversal.c
+++ b/pd/src/g_traversal.c
@@ -275,10 +275,6 @@ static void ptrobj_next(t_ptrobj *x)
 }
 static void ptrobj_sendwindow(t_ptrobj *x, t_symbol *s, int argc, t_atom *argv)
 {
-    t_scalar *sc;
-    t_symbol *templatesym;
-    int n;
-    t_typedout *to;
     t_glist *glist;
     t_pd *canvas;
     t_gstub *gs;
@@ -336,12 +332,7 @@ static void ptrobj_pointer(t_ptrobj *x, t_gpointer *gp)
 
 static void ptrobj_rewind(t_ptrobj *x)
 {
-    t_scalar *sc;
-    t_symbol *templatesym;
-    int n;
-    t_typedout *to;
     t_glist *glist;
-    t_pd *canvas;
     t_gstub *gs;
     if (!gpointer_check(&x->x_gp, 1))
     {
@@ -735,13 +726,12 @@ static void *getsize_new(t_symbol *templatesym, t_symbol *fieldsym)
 
 static void getsize_pointer(t_getsize *x, t_gpointer *gp)
 {
-    int nitems, onset, type;
+    int onset, type;
     t_symbol *templatesym = x->x_templatesym, *fieldsym = x->x_fieldsym,
         *elemtemplatesym;
     t_template *template = template_findbyname(templatesym);
     t_word *w;
     t_array *array;
-    int elemsize;
     t_gstub *gs = gp->gp_stub;
     if (!template)
     {
@@ -816,7 +806,6 @@ static void setsize_float(t_setsize *x, t_float f)
     t_template *template = template_findbyname(templatesym);
     t_template *elemtemplate;
     t_word *w;
-    t_atom at;
     t_array *array;
     int elemsize;
     int newsize = f;
@@ -898,7 +887,7 @@ static void setsize_float(t_setsize *x, t_float f)
     if (newsize > nitems)
     {
         char *newelem = ((char *)array->a_vec) + nitems * elemsize;
-        int i = 0, nnew = newsize - nitems;
+        int nnew = newsize - nitems;
         
         while (nnew--)
         {
@@ -1092,8 +1081,6 @@ static void sublist_pointer(t_sublist *x, t_gpointer *gp)
     t_symbol *templatesym = x->x_templatesym, *dummy;
     t_template *template = template_findbyname(templatesym);
     t_gstub *gs = gp->gp_stub;
-    t_word *vec; 
-    t_getvariable *vp;
     int onset, type;
     t_word *w;
 
diff --git a/pd/src/m_atom.c b/pd/src/m_atom.c
index 35a2c0d22f35be5cb0509f58f87491170513b354..b38fa8d226ac88baee6b3e56e991c35661ef28aa 100644
--- a/pd/src/m_atom.c
+++ b/pd/src/m_atom.c
@@ -23,7 +23,6 @@ t_int atom_getint(t_atom *a)
 
 t_symbol *atom_getsymbol(t_atom *a)  /* LATER think about this more carefully */
 {
-    char buf[30];
     if (a->a_type == A_SYMBOL) return (a->a_w.w_symbol);
     else return (&s_float);
 }
diff --git a/pd/src/m_binbuf.c b/pd/src/m_binbuf.c
index f7382900a0186de60a9a4361f2831920182ebda6..d0e2c82c9e46e5ef823571130c35542e2921db82 100644
--- a/pd/src/m_binbuf.c
+++ b/pd/src/m_binbuf.c
@@ -1329,7 +1329,7 @@ static t_binbuf *binbuf_convert(t_binbuf *oldb, int maxtopd)
                     if (!strcmp(third, "hslider"))
                     {
                         t_float range = atom_getfloatarg(7, natom, nextmess);
-                        t_float multiplier = atom_getfloatarg(8, natom, nextmess);
+                        //t_float multiplier = atom_getfloatarg(8, natom, nextmess);
                         t_float offset = atom_getfloatarg(9, natom, nextmess);
                         binbuf_addv(newb, "ssffsffffffsssfffffffff;",
                                     gensym("#X"), gensym("obj"),
@@ -1347,7 +1347,7 @@ static t_binbuf *binbuf_convert(t_binbuf *oldb, int maxtopd)
                     else if (!strcmp(third, "uslider"))
                     {
                         t_float range = atom_getfloatarg(7, natom, nextmess);
-                        t_float multiplier = atom_getfloatarg(8, natom, nextmess);
+                        //t_float multiplier = atom_getfloatarg(8, natom, nextmess);
                         t_float offset = atom_getfloatarg(9, natom, nextmess);
                         binbuf_addv(newb, "ssffsffffffsssfffffffff;",
                                     gensym("#X"), gensym("obj"),
diff --git a/pd/src/m_class.c b/pd/src/m_class.c
index a0b2c9bd65116991ceab005d029983acc1d69190..7d1c4779e513a84837b8541c6de6120689f98427 100644
--- a/pd/src/m_class.c
+++ b/pd/src/m_class.c
@@ -715,7 +715,6 @@ extern t_pd *pd_mess_from_responder(t_pd *x);
 
 void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv)
 {
-    t_method *f;
     t_class *c = *x;
     t_methodentry *m;
     t_atomtype *wp, wanttype;
diff --git a/pd/src/m_obj.c b/pd/src/m_obj.c
index 5516663ae49ae302bf3734391de49a2deddcc7aa..8849a53a3591f27b7c6ebd085464814eb5af19e8 100644
--- a/pd/src/m_obj.c
+++ b/pd/src/m_obj.c
@@ -136,7 +136,6 @@ static void inlet_blob(t_inlet *x, t_blob *st) /* MP20061226 blob type */
 
 static void inlet_list(t_inlet *x, t_symbol *s, int argc, t_atom *argv)
 {
-    t_atom at;
     if (x->i_symfrom == &s_list || x->i_symfrom == &s_float
         || x->i_symfrom == &s_symbol || x->i_symfrom == &s_pointer)
             typedmess(x->i_dest, x->i_symto, argc, argv);
@@ -730,9 +729,8 @@ int obj_sigoutletindex(t_object *x, int m)
 
 int obj_issignaloutlet(t_object *x, int m)
 {
-    int n;
     t_outlet *o2;
-    for (o2 = x->ob_outlet, n = 0; o2 && m--; o2 = o2->o_next);
+    for (o2 = x->ob_outlet; o2 && m--; o2 = o2->o_next);
     return (o2 && (o2->o_sym == &s_signal));
 }
 
diff --git a/pd/src/m_pd.c b/pd/src/m_pd.c
index 2b6a54f582b37078acdf557523018c331e32eee8..359f6f0a07650b7817c3df7ee9e70419db3bec52 100644
--- a/pd/src/m_pd.c
+++ b/pd/src/m_pd.c
@@ -20,8 +20,6 @@ extern t_redundant_mem *rm_end;
 t_pd *pd_new(t_class *c)
 {
     t_pd *x = NULL;
-    t_pd *y = NULL;
-
     if (!c) 
         bug ("pd_new: apparently called before setup routine");
 
@@ -322,7 +320,7 @@ t_pd *pd_findbyclass(t_symbol *s, t_class *c)
     if (*s->s_thing == bindlist_class)
     {
         t_bindlist *b = (t_bindlist *)s->s_thing;
-        t_bindelem *e, *e2;
+        t_bindelem *e;
         int warned = 0;
         for (e = b->b_list; e; e = e->e_next)
         {
diff --git a/pd/src/m_sched.c b/pd/src/m_sched.c
index c8269c5f9da27550c80d3d1fc22e95b215de7837..9d6bdff8d539dad0866e541f264887ad4548dd49 100644
--- a/pd/src/m_sched.c
+++ b/pd/src/m_sched.c
@@ -181,7 +181,7 @@ static int sys_histphase;
 
 int sys_addhist(int phase)
 {
-    int i, j, phasewas = sys_histphase;
+    int j, phasewas = sys_histphase;
     double newtime = sys_getrealtime();
     int msec = (newtime - sys_histtime) * 1000.;
     for (j = NBIN-1; j >= 0; j--)
@@ -220,7 +220,7 @@ static char *(oss_errornames[]) = {
 
 void glob_audiostatus(void)
 {
-    int dev, nresync, nresyncphase, i;
+    int nresync, nresyncphase, i;
     nresync = (oss_nresync >= NRESYNC ? NRESYNC : oss_nresync);
     nresyncphase = oss_resyncphase - 1;
     post("audio I/O error history:");
diff --git a/pd/src/s_print.c b/pd/src/s_print.c
index ac03e42b18be4282cbc0672863aaf58d670e7464..c262bd1439a9ec1e2b83fd4e6a5def69bf8250d9 100644
--- a/pd/src/s_print.c
+++ b/pd/src/s_print.c
@@ -97,8 +97,6 @@ void post(const char *fmt, ...)
 {
     char buf[MAXPDSTRING];
     va_list ap;
-    t_int arg[8];
-    int i;
     va_start(ap, fmt);
     vsnprintf(buf, MAXPDSTRING-1, fmt, ap);
     va_end(ap);
@@ -110,8 +108,6 @@ void startpost(const char *fmt, ...)
 {
     char buf[MAXPDSTRING];
     va_list ap;
-    t_int arg[8];
-    int i;
     va_start(ap, fmt);
     vsnprintf(buf, MAXPDSTRING-1, fmt, ap);
     va_end(ap);
@@ -137,7 +133,6 @@ void postatom(int argc, t_atom *argv)
 
 void postfloat(t_float f)
 {
-    char buf[80];
     t_atom a;
     SETFLOAT(&a, f);
     postatom(1, &a);
@@ -152,9 +147,6 @@ void error(const char *fmt, ...)
 {
     char buf[MAXPDSTRING];
     va_list ap;
-    t_int arg[8];
-    int i;
-
     va_start(ap, fmt);
     vsnprintf(buf, MAXPDSTRING-1, fmt, ap);
     va_end(ap);
@@ -167,8 +159,6 @@ void verbose(int level, const char *fmt, ...)
 {
     char buf[MAXPDSTRING];
     va_list ap;
-    t_int arg[8];
-    int i;
     if(level>sys_verbose)return;
     dopost("verbose(");
     postfloat((t_float)level);
@@ -193,8 +183,6 @@ void pd_error(void *object, const char *fmt, ...)
 {
     char buf[MAXPDSTRING];
     va_list ap;
-    t_int arg[8];
-    int i;
     static int saidit;
 
     va_start(ap, fmt);
@@ -241,8 +229,6 @@ void bug(const char *fmt, ...)
 {
     char buf[MAXPDSTRING];
     va_list ap;
-    t_int arg[8];
-    int i;
     dopost("consistency check failed: ");
     va_start(ap, fmt);
     vsnprintf(buf, MAXPDSTRING-1, fmt, ap);