diff --git a/src/calcurse.h b/src/calcurse.h index 8b6d492..adb2c1e 100644 --- a/src/calcurse.h +++ b/src/calcurse.h @@ -100,6 +100,9 @@ #define DPID_PATH DIR_NAME DPID_PATH_NAME #define NOTES_DIR DIR_NAME NOTES_DIR_NAME +#define DEFAULT_EDITOR "vi" +#define DEFAULT_PAGER "less" + #define ATTR_FALSE 0 #define ATTR_TRUE 1 #define ATTR_LOWEST 2 diff --git a/src/calendar.c b/src/calendar.c index 160630e..8fea79d 100644 --- a/src/calendar.c +++ b/src/calendar.c @@ -145,7 +145,10 @@ void calendar_stop_date_thread (void) { if (calendar_t_date) - pthread_cancel (calendar_t_date); + { + pthread_cancel (calendar_t_date); + pthread_join (calendar_t_date, NULL); + } } /* Set static variable today to current date */ diff --git a/src/io.c b/src/io.c index 6e3bf38..7b54632 100644 --- a/src/io.c +++ b/src/io.c @@ -2768,6 +2768,9 @@ io_import_data (enum import_type type, struct conf *conf, char *stream_name) ngettext ("%d todo", "%d todos", stats.todos), stats.todos); snprintf (stats_str[3], BUFSIZ, _("%d skipped"), stats.skipped); + /* Update the number of todo items. */ + todo_set_nb (todo_nb () + stats.todos); + if (ui_mode == UI_CURSES && !conf->skip_system_dialogs) { char read[BUFSIZ], stat[BUFSIZ]; @@ -2911,7 +2914,10 @@ void io_stop_psave_thread (void) { if (io_t_psave) - pthread_cancel (io_t_psave); + { + pthread_cancel (io_t_psave); + pthread_join (io_t_psave, NULL); + } } /* diff --git a/src/notify.c b/src/notify.c index ae9bcbe..6529087 100644 --- a/src/notify.c +++ b/src/notify.c @@ -190,7 +190,10 @@ void notify_stop_main_thread (void) { if (notify_t_main) - pthread_cancel (notify_t_main); + { + pthread_cancel (notify_t_main); + pthread_join (notify_t_main, NULL); + } } /* diff --git a/src/vars.c b/src/vars.c index a659336..5155683 100644 --- a/src/vars.c +++ b/src/vars.c @@ -117,8 +117,6 @@ struct dmon_conf dmon; void vars_init (struct conf *conf) { - char *PATH_VI = "/usr/bin/vi"; - char *PATH_LESS = "/usr/bin/less"; char *ed, *pg; /* Variables for user configuration */ @@ -137,12 +135,12 @@ vars_init (struct conf *conf) if (ed == NULL || ed[0] == '\0') ed = getenv ("EDITOR"); if (ed == NULL || ed[0] == '\0') - ed = PATH_VI; + ed = DEFAULT_EDITOR; conf->editor = ed; pg = getenv ("PAGER"); if (pg == NULL || pg[0] == '\0') - pg = PATH_LESS; + pg = DEFAULT_PAGER; conf->pager = pg; wins_set_layout (1);