Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37478935
en ru br
ALT Linux repos
S:3.7-alt2.qa1
5.0: 3.7-alt2
4.1: 3.5-alt2
4.0: 3.5-alt1.0
3.0: 3.3-alt1

Group :: Editors
RPM: joe

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: joe-3.5-time.patch
Download


--- joe-3.5.orig/tty.c
+++ joe-3.5/tty.c
@@ -242,18 +242,19 @@ void ttclose(void)
 }
 
 static int winched = 0;
+int ticked = 0;
 #ifdef SIGWINCH
 /* Window size interrupt handler */
 static RETSIGTYPE winchd(int unused)
 {
 	++winched;
+	ticked = 1;
 	REINSTALL_SIGHANDLER(SIGWINCH, winchd);
 }
 #endif
 
 /* Second ticker */
 
-int ticked = 0;
 static RETSIGTYPE dotick(int unused)
 {
 	ticked = 1;
@@ -277,6 +278,8 @@ void tickon(void)
 {
 #ifdef HAVE_SETITIMER
 	struct itimerval val;
+	struct timeval now;
+	gettimeofday(&now, NULL);
 	val.it_interval.tv_sec = 0;
 	val.it_interval.tv_usec = 0;
 	if (auto_scroll) {
@@ -287,8 +290,8 @@ void tickon(void)
 		val.it_value.tv_sec = 0;
 		val.it_value.tv_usec = tim;
 	} else {
-		val.it_value.tv_sec = 1;
-		val.it_value.tv_usec = 0;
+		val.it_value.tv_sec = 60 - (now.tv_sec % 60);
+		val.it_value.tv_usec = 1000000 - now.tv_usec;
 	}
 	ticked = 0;
 	joe_set_signal(SIGALRM, dotick);
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin