--- /dev/null
+diff -Naur xscreensaver-5.29.orig/driver/demo-Gtk.c xscreensaver-5.29.new/driver/demo-Gtk.c
+--- xscreensaver-5.29.orig/driver/demo-Gtk.c 2014-06-04 05:30:47.000000000 -0400
++++ xscreensaver-5.29.new/driver/demo-Gtk.c 2014-08-16 18:29:28.734987757 -0400
+@@ -5292,20 +5292,6 @@
+ the_network_is_not_the_computer (s);
+
+
+- if (senescent_p())
+- warning_dialog (s->toplevel_widget,
+- _("Warning:\n\n"
+- "This version of xscreensaver is VERY OLD!\n"
+- "Please upgrade!\n"
+- "\n"
+- "http://www.jwz.org/xscreensaver/\n"
+- "\n"
+- "(If this is the latest version that your distro ships, then\n"
+- "your distro is doing you a disservice. Build from source.)\n"
+- ),
+- D_NONE, 7);
+-
+-
+ /* Run the Gtk event loop, and not the Xt event loop. This means that
+ if there were Xt timers or fds registered, they would never get serviced,
+ and if there were any Xt widgets, they would never have events delivered.
+diff -Naur xscreensaver-5.29.orig/driver/lock.c xscreensaver-5.29.new/driver/lock.c
+--- xscreensaver-5.29.orig/driver/lock.c 2014-05-03 16:34:04.000000000 -0400
++++ xscreensaver-5.29.new/driver/lock.c 2014-08-16 18:29:37.033987410 -0400
+@@ -487,11 +487,6 @@
+ * room for the dialog to grow without going off the edge of the screen. */
+ max_string_width_px *= 0.75;
+
+- if (!info_msg && senescent_p())
+- info_msg = ("\n"
+- "This version of XScreenSaver\n"
+- "is very old! Please upgrade!\n");
+-
+ pw->info_label = mlstring_new(info_msg ? info_msg : pw->body_label,
+ pw->label_font, max_string_width_px);
+
+diff -Naur xscreensaver-5.29.orig/driver/prefs.c xscreensaver-5.29.new/driver/prefs.c
+--- xscreensaver-5.29.orig/driver/prefs.c 2014-04-27 00:06:52.000000000 -0400
++++ xscreensaver-5.29.new/driver/prefs.c 2014-08-16 18:27:43.519992157 -0400
+@@ -1651,43 +1651,3 @@
+ if (p->pointer_hysteresis < 0) p->pointer_hysteresis = 0;
+ if (p->pointer_hysteresis > 100) p->pointer_hysteresis = 100;
+ }
+-
+-
+-/* Getting very tired of bug reports of already-fixed bugs due to
+- Linux distros shipping multi-year-old versions.
+- */
+-Bool
+-senescent_p (void)
+-{
+- time_t now = time ((time_t *) 0);
+- struct tm *tm = localtime (&now);
+- const char *s = screensaver_id;
+- char mon[4], year[5];
+- int m, y, months;
+- s = strchr (s, ' '); if (!s) abort(); s++;
+- s = strchr (s, '('); if (!s) abort(); s++;
+- s = strchr (s, '-'); if (!s) abort(); s++;
+- strncpy (mon, s, 3);
+- mon[3] = 0;
+- s = strchr (s, '-'); if (!s) abort(); s++;
+- strncpy (year, s, 4);
+- year[4] = 0;
+- y = atoi (year);
+- if (!strcmp(mon, "Jan")) m = 0;
+- else if (!strcmp(mon, "Feb")) m = 1;
+- else if (!strcmp(mon, "Mar")) m = 2;
+- else if (!strcmp(mon, "Apr")) m = 3;
+- else if (!strcmp(mon, "May")) m = 4;
+- else if (!strcmp(mon, "Jun")) m = 5;
+- else if (!strcmp(mon, "Jul")) m = 6;
+- else if (!strcmp(mon, "Aug")) m = 7;
+- else if (!strcmp(mon, "Sep")) m = 8;
+- else if (!strcmp(mon, "Oct")) m = 9;
+- else if (!strcmp(mon, "Nov")) m = 10;
+- else if (!strcmp(mon, "Dec")) m = 11;
+- else abort();
+- months = ((((tm->tm_year + 1900) * 12) + tm->tm_mon) -
+- (y * 12 + m));
+-
+- return (months > 12);
+-}
+diff -Naur xscreensaver-5.29.orig/driver/prefs.h xscreensaver-5.29.new/driver/prefs.h
+--- xscreensaver-5.29.orig/driver/prefs.h 2014-04-27 00:06:52.000000000 -0400
++++ xscreensaver-5.29.new/driver/prefs.h 2014-08-16 18:27:50.682991858 -0400
+@@ -20,7 +20,6 @@
+ saver_preferences *, const char *version_string,
+ Bool verbose_p);
+ const char *init_file_name (void);
+-extern Bool senescent_p (void);
+
+ extern screenhack *parse_screenhack (const char *line);
+ extern void free_screenhack (screenhack *);
+diff -Naur xscreensaver-5.29.orig/driver/splash.c xscreensaver-5.29.new/driver/splash.c
+--- xscreensaver-5.29.orig/driver/splash.c 2014-05-30 20:42:17.000000000 -0400
++++ xscreensaver-5.29.new/driver/splash.c 2014-08-16 18:28:47.670989474 -0400
+@@ -167,20 +167,6 @@
+ Colormap cmap;
+ char *f;
+
+- Bool whine = senescent_p ();
+-
+- if (whine)
+- {
+- /* If locking is not enabled, make sure they see the message. */
+- if (!p->lock_p)
+- {
+- si->prefs.splash_p = True;
+- if (si->prefs.splash_duration < 5000)
+- si->prefs.splash_duration = 5000;
+- }
+- si->prefs.splash_duration += 3000;
+- }
+-
+ if (si->sp_data)
+ return;
+ if (!si->prefs.splash_p ||
+@@ -218,14 +204,6 @@
+ "splash.help.label",
+ "Dialog.Button.Label");
+
+-
+-
+- if (whine)
+- {
+- sp->body3_label = strdup("WARNING: This version is very old!");
+- sp->body4_label = strdup("Please upgrade!");
+- }
+-
+ if (!sp->heading_label)
+ sp->heading_label = strdup("ERROR: REESOURCES NOT INSTALLED CORRECTLY");
+ if (!sp->body_label)
+diff -Naur xscreensaver-5.29.orig/driver/xscreensaver.c xscreensaver-5.29.new/driver/xscreensaver.c
+--- xscreensaver-5.29.orig/driver/xscreensaver.c 2014-04-27 00:36:47.000000000 -0400
++++ xscreensaver-5.29.new/driver/xscreensaver.c 2014-08-16 18:29:11.327988485 -0400
+@@ -784,17 +784,6 @@
+ "\n",
+ blurb());
+
+- if (p->verbose_p && senescent_p ())
+- fprintf (stderr, "\n"
+- "*************************************"
+- "**************************************\n"
+- "%s: Warning: this version of xscreensaver is VERY OLD!\n"
+- "%s: Please upgrade! http://www.jwz.org/xscreensaver/\n"
+- "*************************************"
+- "**************************************\n"
+- "\n",
+- blurb(), blurb());
+-
+ if (p->verbose_p)
+ {
+ if (!si->uid_message || !*si->uid_message)