From 3404d822c83546b031d47a99e37ae65b887bec94 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Sat, 18 Jun 2022 12:43:01 +0200 Subject: [PATCH 1/7] Merge pull request #1384 from ailin-nemui/meson-system-includes use -isystem instead of -I for include directories (cherry picked from commit 593afc2e40fee9714a44f87f58718f327b68247f) --- meson.build | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/meson.build b/meson.build index 71dacead..d9eb935f 100644 --- a/meson.build +++ b/meson.build @@ -168,7 +168,7 @@ message('*** Or alternatively install your distribution\'s package') message('*** On Debian: sudo apt-get install libglib2.0-dev') message('*** On Redhat: dnf install glib2-devel') if not require_glib_internal - glib_dep = dependency('glib-2.0', version : '>=2.32', required : not want_glib_internal, static : want_static_dependency) + glib_dep = dependency('glib-2.0', version : '>=2.32', required : not want_glib_internal, static : want_static_dependency, include_type : 'system') else glib_dep = dependency('', required : false) endif @@ -250,9 +250,9 @@ if not glib_dep.found() dependencies : glib_internal_dependencies, sources : glib_internal_build_t, compile_args : [ - '-I' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'glib'), - '-I' + (meson.current_source_dir() / 'subprojects' / glib_internal_version), - '-I' + (meson.current_build_dir() / 'build-subprojects' / 'glib' / 'glib'), + '-isystem' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'glib'), + '-isystem' + (meson.current_source_dir() / 'subprojects' / glib_internal_version), + '-isystem' + (meson.current_build_dir() / 'build-subprojects' / 'glib' / 'glib'), ], link_args : [ meson.current_build_dir() / 'build-subprojects' / 'glib' / 'glib' / 'libglib-2.0.a' ], ) @@ -265,12 +265,12 @@ if not glib_dep.found() gmodule_dep = declare_dependency(sources : glib_internal_build_t, dependencies : libdl_dep, compile_args : [ - '-I' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'gmodule'), + '-isystem' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'gmodule'), ], link_args : [ meson.current_build_dir() / 'build-subprojects' / 'glib' / 'gmodule' / 'libgmodule-2.0.a' ], ) else - gmodule_dep = dependency('gmodule-2.0', static : want_static_dependency) + gmodule_dep = dependency('gmodule-2.0', static : want_static_dependency, include_type : 'system') endif dep += glib_dep dep += gmodule_dep @@ -279,7 +279,7 @@ if glib_internal and want_static_dependency and want_fuzzer openssl_proj = subproject('openssl', default_options : ['default_library=static', 'asm=disabled']) openssl_dep = openssl_proj.get_variable('openssl_dep') else - openssl_dep = dependency('openssl', static : want_static_dependency) + openssl_dep = dependency('openssl', static : want_static_dependency, include_type : 'system') endif dep += openssl_dep @@ -338,6 +338,9 @@ if want_perl endif foreach fl : perl_ccopts if fl.startswith('-D') or fl.startswith('-U') or fl.startswith('-I') or fl.startswith('-i') or fl.startswith('-f') or fl.startswith('-m') + if fl.startswith('-I') + fl = '-isystem' + fl.split('-I')[1] + endif perl_cflags += fl endif endforeach @@ -469,8 +472,8 @@ endif have_otr = false if want_otr - libgcrypt = dependency('libgcrypt', version : '>=1.2.0', required : require_otr, static : want_static_dependency) - libotr = dependency('libotr', version : '>=4.1.0', required : require_otr, static : want_static_dependency) + libgcrypt = dependency('libgcrypt', version : '>=1.2.0', required : require_otr, static : want_static_dependency, include_type : 'system') + libotr = dependency('libotr', version : '>=4.1.0', required : require_otr, static : want_static_dependency, include_type : 'system') if libgcrypt.found() and libotr.found() dep += libgcrypt dep += libotr From f17fb682573985656fa26bf10370b9e1d88e3bdf Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Sat, 18 Jun 2022 12:42:47 +0200 Subject: [PATCH 2/7] Merge pull request #1387 from ailin-nemui/textbufferview Textbufferview (cherry picked from commit 783dd375339c1c98be36e277d47afdd6918d6160) --- .github/workflows/clangformat.yml | 6 ++-- src/fe-text/textbuffer-commands.c | 1 + src/fe-text/textbuffer-view.c | 54 +++++++++++++++++++------------ 3 files changed, 37 insertions(+), 24 deletions(-) diff --git a/.github/workflows/clangformat.yml b/.github/workflows/clangformat.yml index 59beb928..9076edc2 100644 --- a/.github/workflows/clangformat.yml +++ b/.github/workflows/clangformat.yml @@ -2,10 +2,10 @@ on: [pull_request] name: clang-format jobs: check-clang-format: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: install clang-format - run: sudo apt install clang-format-11 + run: sudo apt install clang-format-14 - uses: actions/checkout@main - name: fetch target ref run: @@ -20,7 +20,7 @@ jobs: - name: run git-clang-format and Check if no changes are needed run: | - CLANG_FORMAT=clang-format-11 git-clang-format-11 --diff FETCH_HEAD HEAD | tee git-clang-format.diff + CLANG_FORMAT=clang-format-14 git-clang-format-14 --diff FETCH_HEAD HEAD | tee git-clang-format.diff cmp -s <(echo no modified files to format) git-clang-format.diff || cmp -s <(echo -n) git-clang-format.diff - uses: actions/upload-artifact@v1 if: failure() diff --git a/src/fe-text/textbuffer-commands.c b/src/fe-text/textbuffer-commands.c index f30eab0e..6ed7c39c 100644 --- a/src/fe-text/textbuffer-commands.c +++ b/src/fe-text/textbuffer-commands.c @@ -393,6 +393,7 @@ static void cmd_scrollback_redraw(void) term_refresh_freeze(); textbuffer_view_reset_cache(gui->view); + textbuffer_view_resize(gui->view, gui->view->width, gui->view->height); gui_window_redraw(active_win); term_refresh_thaw(); } diff --git a/src/fe-text/textbuffer-view.c b/src/fe-text/textbuffer-view.c index 79f3522c..2cc6ce6d 100644 --- a/src/fe-text/textbuffer-view.c +++ b/src/fe-text/textbuffer-view.c @@ -402,10 +402,9 @@ view_update_line_cache(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line) if (rec->count > 1) { for (pos = 0; lines != NULL; pos++) { - void *data = lines->data; + LINE_CACHE_SUB_REC *data = lines->data; - memcpy(&rec->lines[pos], data, - sizeof(LINE_CACHE_SUB_REC)); + memcpy(&rec->lines[pos], data, sizeof(LINE_CACHE_SUB_REC)); lines = g_slist_remove(lines, data); g_free(data); @@ -427,7 +426,7 @@ static void view_remove_cache(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line, cache = g_hash_table_lookup(view->cache->line_cache, line); if (cache != NULL) { - g_free(cache); + line_cache_destroy(NULL, cache); g_hash_table_remove(view->cache->line_cache, line); } } @@ -438,7 +437,7 @@ static void view_update_cache(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line, view_remove_cache(view, line, update_counter); if (view->buffer->cur_line == line) - view->cache->last_linecount = view_get_linecount(view, line); + view_get_linecount(view, line); } void textbuffer_view_reset_cache(TEXT_BUFFER_VIEW_REC *view) @@ -467,6 +466,7 @@ static int view_line_draw(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line, unichar chr; int xpos, color, drawcount, first, need_move, need_clrtoeol, char_width; unsigned int fg24, bg24; + fg24 = bg24 = UINT_MAX; if (view->dirty) /* don't bother drawing anything - redraw is coming */ return 0; @@ -767,7 +767,6 @@ static void view_unregister_indent_func(TEXT_BUFFER_VIEW_REC *view, /* recreate cache so it won't contain references to the indent function */ textbuffer_view_reset_cache(view); - view->cache = textbuffer_cache_get(view->siblings, view->width); } void textbuffer_views_unregister_indent_func(INDENT_FUNC indent_func) @@ -1033,13 +1032,17 @@ void textbuffer_view_clear(TEXT_BUFFER_VIEW_REC *view) /* Scroll the view up/down */ void textbuffer_view_scroll(TEXT_BUFFER_VIEW_REC *view, int lines) { - int count; + int count, ypos; - g_return_if_fail(view != NULL); + g_return_if_fail(view != NULL); + + count = view_scroll(view, &view->startline, &view->subline, lines, TRUE); + + ypos = view->ypos + (lines < 0 ? count : -count); + textbuffer_view_init_ypos(view); + if (ypos != view->ypos) + textbuffer_view_resize(view, view->width, view->height); - count = view_scroll(view, &view->startline, &view->subline, - lines, TRUE); - view->ypos += lines < 0 ? count : -count; view->bottom = view_is_bottom(view); if (view->bottom) view->more_text = FALSE; @@ -1079,10 +1082,10 @@ LINE_CACHE_REC *textbuffer_view_get_line_cache(TEXT_BUFFER_VIEW_REC *view, cache = g_hash_table_lookup(view->cache->line_cache, line); if (cache == NULL) cache = view_update_line_cache(view, line); - else + else cache->last_access = time(NULL); - return cache; + return cache; } static void view_insert_line(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line) @@ -1263,12 +1266,13 @@ static void view_remove_line(TEXT_BUFFER_VIEW_REC *view, LINE_REC *line, view_bookmarks_check(view, line); if (view->buffer->cur_line == line) { - /* the last line is being removed */ + /* the last line is being removed */ LINE_REC *prevline; - prevline = view->buffer->first_line == line ? NULL : - textbuffer_line_last(view->buffer)->prev; - view->cache->last_linecount = prevline == NULL ? 0 : + prevline = view->buffer->first_line == line ? + NULL : + textbuffer_line_last(view->buffer)->prev; + if (prevline != NULL) view_get_linecount(view, prevline); } @@ -1474,8 +1478,10 @@ void textbuffer_view_set_window(TEXT_BUFFER_VIEW_REC *view, if (view->window != window) { view->window = window; - if (window != NULL) + if (window != NULL) { + textbuffer_view_resize(view, view->width, view->height); view->dirty = TRUE; + } } } @@ -1504,12 +1510,18 @@ static int line_cache_check_remove(void *key, LINE_CACHE_REC *cache, static int sig_check_linecache(void) { GSList *tmp, *caches; - time_t now; + time_t now; - now = time(NULL); caches = NULL; + now = time(NULL); + caches = NULL; for (tmp = views; tmp != NULL; tmp = tmp->next) { TEXT_BUFFER_VIEW_REC *rec = tmp->data; + if (rec->window != NULL) { + /* keep visible lines mapped */ + view_get_lines_height(rec, rec->startline, rec->subline, NULL); + } + if (g_slist_find(caches, rec->cache) != NULL) continue; @@ -1519,7 +1531,7 @@ static int sig_check_linecache(void) &now); } - g_slist_free(caches); + g_slist_free(caches); return 1; } From c6a7f02042f63d01a38e8d522cff8f5d951afd51 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Sun, 12 Jun 2022 18:10:50 +0200 Subject: [PATCH 3/7] Merge pull request #1383 from ailin-nemui/pc-moduledir add irssimoduledir to irssi-1.pc (cherry picked from commit 545d97f8d601e9c1692abba6075bb44a0b4db07c) --- meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index d9eb935f..a928991e 100644 --- a/meson.build +++ b/meson.build @@ -590,7 +590,8 @@ pc.generate(filebase : 'irssi-1', name : 'Irssi', description : 'Irssi chat client', version : package_version, - requires : pc_requires) + requires : pc_requires, + variables : ['irssimoduledir=${libdir}' / incdir / 'modules']) ########### # irssi.1 # From 730c3c1a12f782b92d710883f52a106e37f148e4 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Sun, 12 Jun 2022 05:33:41 +0200 Subject: [PATCH 4/7] Merge pull request #1377 from ailin-nemui/meson fix yet another meson regression (cherry picked from commit 07aa061b6d51a7c246047053e734a2fba8e31a83) --- meson.build | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/meson.build b/meson.build index a928991e..9aa3b8c9 100644 --- a/meson.build +++ b/meson.build @@ -55,6 +55,9 @@ want_static_dependency = get_option('static-dependency') == 'yes' package_version = get_option('PACKAGE_VERSION') != '' ? get_option('PACKAGE_VERSION') : meson.project_version() +UNSET = '=INVALID=' +UNSET_ARR = [UNSET] + chat_modules = ['irc'] run_command('mkdir', meson.current_build_dir() / incdir) @@ -331,8 +334,8 @@ if want_perl perl_rpath = '' #### ccopts #### - perl_ccopts = meson.get_cross_property('perl_ccopts', false) - if perl_ccopts == false + perl_ccopts = meson.get_cross_property('perl_ccopts', UNSET_ARR) + if perl_ccopts == UNSET_ARR res = run_command(cross_perl, '-MExtUtils::Embed', '-e', 'ccopts') perl_ccopts = res.stdout().strip().split() endif @@ -348,8 +351,8 @@ if want_perl perl_cflags += cc.get_supported_arguments('-fPIC') #### ldopts #### - perl_ldopts = meson.get_cross_property('perl_ldopts', false) - if perl_ldopts == false + perl_ldopts = meson.get_cross_property('perl_ldopts', UNSET_ARR) + if perl_ldopts == UNSET_ARR res = run_command(cross_perl, '-MExtUtils::Embed', '-e', 'ldopts') perl_ldopts = res.stdout().strip().split() endif @@ -365,8 +368,8 @@ if want_perl endif endforeach - perl_version = meson.get_cross_property('perl_version', false) - if perl_version == false + perl_version = meson.get_cross_property('perl_version', UNSET) + if perl_version == UNSET perl_version = run_command(cross_perl, '-V::version:').stdout().split('\'')[1] endif perl_dep = declare_dependency(compile_args : perl_cflags, link_args : perl_ldflags, @@ -389,8 +392,8 @@ int main() warning('error linking with perl libraries') endif else - xsubpp_file_c = meson.get_cross_property('perl_xsubpp', false) - if xsubpp_file_c == false + xsubpp_file_c = meson.get_cross_property('perl_xsubpp', UNSET) + if xsubpp_file_c == UNSET xsubpp_file_c = run_command(build_perl, '-MExtUtils::ParseXS', '-Eprint $INC{"ExtUtils/ParseXS.pm"} =~ s{ParseXS\\.pm$}{xsubpp}r').stdout() endif xsubpp = generator(build_perl, @@ -418,13 +421,13 @@ int main() set_perl_use_lib = false perl_library_dir = with_perl_lib + ' default' if with_perl_lib in ['site', 'vendor'] - perlmoddir = meson.get_cross_property('perl_install' + with_perl_lib + 'arch', false) - if perlmoddir == false + perlmoddir = meson.get_cross_property('perl_install' + with_perl_lib + 'arch', UNSET) + if perlmoddir == UNSET perlmoddir = run_command(cross_perl, '-V::install' + with_perl_lib + 'arch:').stdout().split('\'')[1] endif elif with_perl_lib == 'module' - perl_archname = meson.get_cross_property('perl_archname', false) - if perl_archname == false + perl_archname = meson.get_cross_property('perl_archname', UNSET) + if perl_archname == UNSET perl_archname = run_command(cross_perl, '-V::archname:').stdout().split('\'')[1] endif perlmoddir = perl_install_base / 'lib' / 'perl5' / perl_archname @@ -444,8 +447,8 @@ int main() perl_use_lib = get_option('prefix') / perlmoddir if set_perl_use_lib - perl_inc = meson.get_cross_property('perl_inc', false) - if perl_inc == false + perl_inc = meson.get_cross_property('perl_inc', UNSET_ARR) + if perl_inc == UNSET_ARR set_perl_use_lib = run_command(cross_perl, '-e', 'exit ! grep $_ eq $ARGV[0], grep /^\\//, @INC', perl_use_lib).returncode() != 0 else set_perl_use_lib = not perl_inc.contains(perl_use_lib) From 1b6b92ffff6950ee28c1b7936f53d83988843ed4 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Mon, 13 Jun 2022 07:39:29 +0200 Subject: [PATCH 5/7] Merge pull request #1388 from ailin-nemui/default-hash-chan default to hash channels (cherry picked from commit a5f5ea7d79274fcf547ef81f019b0c38c6863051) --- src/irc/core/irc-channels.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/irc/core/irc-channels.c b/src/irc/core/irc-channels.c index b0fba9b1..24f57f8d 100644 --- a/src/irc/core/irc-channels.c +++ b/src/irc/core/irc-channels.c @@ -71,7 +71,7 @@ static char *force_channel_name(IRC_SERVER_REC *server, const char *name) return g_strdup(name); chantypes = g_hash_table_lookup(server->isupport, "chantypes"); - if (chantypes == NULL || *chantypes == '\0') + if (chantypes == NULL || *chantypes == '\0' || strchr(chantypes, '#') != NULL) chantypes = "#"; return g_strdup_printf("%c%s", *chantypes, name); From 476774662add0af498a392bb96d6a797582d774b Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Wed, 13 Jul 2022 19:10:50 +0200 Subject: [PATCH 6/7] Merge pull request #1398 from ailin-nemui/lastlog-crash get line texts before printing lastlog (cherry picked from commit a57cc1c55e7a3e9d76964ccf0697431b9f521dc5) --- src/fe-text/lastlog.c | 99 +++++++++++++++++++++++++------------------ 1 file changed, 57 insertions(+), 42 deletions(-) diff --git a/src/fe-text/lastlog.c b/src/fe-text/lastlog.c index 54321832..b93b8361 100644 --- a/src/fe-text/lastlog.c +++ b/src/fe-text/lastlog.c @@ -87,17 +87,20 @@ static void show_lastlog(const char *searchtext, GHashTable *optlist, { WINDOW_REC *window; LINE_REC *startline; - GList *list, *tmp; - GString *line; - char *str; + TEXT_BUFFER_VIEW_REC *view; + TEXT_BUFFER_REC *buffer; + GSList *texts, *tmp; + GList *list, *tmp2; + char *str; int level, before, after, len, date = FALSE; level = cmd_options_get_level("lastlog", optlist); if (level == -1) return; /* error in options */ if (level == 0) level = MSGLEVEL_ALL; + view = WINDOW_GUI(active_win)->view; if (g_hash_table_lookup(optlist, "clear") != NULL) { - textbuffer_view_remove_lines_by_level(WINDOW_GUI(active_win)->view, MSGLEVEL_LASTLOG); + textbuffer_view_remove_lines_by_level(view, MSGLEVEL_LASTLOG); if (*searchtext == '\0') return; } @@ -117,14 +120,14 @@ static void show_lastlog(const char *searchtext, GHashTable *optlist, } if (g_hash_table_lookup(optlist, "new") != NULL) - startline = textbuffer_view_get_bookmark(WINDOW_GUI(window)->view, "lastlog_last_check"); + startline = textbuffer_view_get_bookmark(view, "lastlog_last_check"); else if (g_hash_table_lookup(optlist, "away") != NULL) - startline = textbuffer_view_get_bookmark(WINDOW_GUI(window)->view, "lastlog_last_away"); + startline = textbuffer_view_get_bookmark(view, "lastlog_last_away"); else startline = NULL; if (startline == NULL) - startline = textbuffer_view_get_lines(WINDOW_GUI(window)->view); + startline = textbuffer_view_get_lines(view); str = g_hash_table_lookup(optlist, "#"); if (str != NULL) { @@ -143,22 +146,21 @@ static void show_lastlog(const char *searchtext, GHashTable *optlist, if (g_hash_table_lookup(optlist, "date") != NULL) date = TRUE; - list = textbuffer_find_text(WINDOW_GUI(window)->view->buffer, startline, - level, MSGLEVEL_LASTLOG, - searchtext, before, after, - g_hash_table_lookup(optlist, "regexp") != NULL, - g_hash_table_lookup(optlist, "word") != NULL, - g_hash_table_lookup(optlist, "case") != NULL); + buffer = view->buffer; + list = textbuffer_find_text(buffer, startline, level, MSGLEVEL_LASTLOG, searchtext, before, + after, g_hash_table_lookup(optlist, "regexp") != NULL, + g_hash_table_lookup(optlist, "word") != NULL, + g_hash_table_lookup(optlist, "case") != NULL); - len = g_list_length(list); + len = g_list_length(list); if (count <= 0) - tmp = list; + tmp2 = list; else { int pos = len-count-start; if (pos < 0) pos = 0; - tmp = pos > len ? NULL : g_list_nth(list, pos); - len = g_list_length(tmp); + tmp2 = pos > len ? NULL : g_list_nth(list, pos); + len = g_list_length(tmp2); } if (g_hash_table_lookup(optlist, "count") != NULL) { @@ -177,29 +179,21 @@ static void show_lastlog(const char *searchtext, GHashTable *optlist, return; } - if (fhandle == NULL && g_hash_table_lookup(optlist, "-") == NULL) - printformat(NULL, NULL, MSGLEVEL_LASTLOG, TXT_LASTLOG_START); - - line = g_string_new(NULL); - while (tmp != NULL && (count < 0 || count > 0)) { - LINE_REC *rec = tmp->data; + /* collect the line texts */ + texts = NULL; + for (; tmp2 != NULL && (count < 0 || count > 0); tmp2 = tmp2->next) { + GString *line; + LINE_REC *rec = tmp2->data; if (rec == NULL) { - if (tmp->next == NULL) - break; - if (fhandle != NULL) { - fwrite("--\n", 3, 1, fhandle); - } else { - printformat_window(active_win, - MSGLEVEL_LASTLOG, - TXT_LASTLOG_SEPARATOR); - } - tmp = tmp->next; + if (tmp2->next == NULL) + break; + texts = g_slist_prepend(texts, NULL); continue; } - /* get the line text */ - textbuffer_line2text(WINDOW_GUI(window)->view->buffer, rec, fhandle == NULL, line); + line = g_string_new(NULL); + textbuffer_line2text(buffer, rec, fhandle == NULL, line); if (!settings_get_bool("timestamps")) { struct tm *tm = localtime(&rec->info.time); char timestamp[10]; @@ -213,7 +207,31 @@ static void show_lastlog(const char *searchtext, GHashTable *optlist, if (date == TRUE) prepend_date(window, rec, line); - /* write to file/window */ + texts = g_slist_prepend(texts, line); + + count--; + } + texts = g_slist_reverse(texts); + + if (fhandle == NULL && g_hash_table_lookup(optlist, "-") == NULL) + printformat(NULL, NULL, MSGLEVEL_LASTLOG, TXT_LASTLOG_START); + + for (tmp = texts; tmp != NULL; tmp = tmp->next) { + GString *line = tmp->data; + + if (line == NULL) { + if (tmp->next == NULL) + break; + if (fhandle != NULL) { + fwrite("--\n", 3, 1, fhandle); + } else { + printformat_window(active_win, MSGLEVEL_LASTLOG, + TXT_LASTLOG_SEPARATOR); + } + continue; + } + + /* write to file/window */ if (fhandle != NULL) { fwrite(line->str, line->len, 1, fhandle); fputc('\n', fhandle); @@ -221,18 +239,15 @@ static void show_lastlog(const char *searchtext, GHashTable *optlist, printtext_window(active_win, MSGLEVEL_LASTLOG, "%s", line->str); } - - count--; - tmp = tmp->next; + g_string_free(line, TRUE); } - g_string_free(line, TRUE); if (fhandle == NULL && g_hash_table_lookup(optlist, "-") == NULL) printformat(NULL, NULL, MSGLEVEL_LASTLOG, TXT_LASTLOG_END); - textbuffer_view_set_bookmark_bottom(WINDOW_GUI(window)->view, - "lastlog_last_check"); + textbuffer_view_set_bookmark_bottom(view, "lastlog_last_check"); + g_slist_free(texts); g_list_free(list); } From bc805f9bcdbba0814ebf94ff6c91c2666a73dbbe Mon Sep 17 00:00:00 2001 From: Ailin Nemui Date: Wed, 13 Jul 2022 20:08:52 +0200 Subject: [PATCH 7/7] tag as 1.4.2 --- NEWS | 38 ++++++++++++++++++++++++++------------ configure.ac | 2 +- meson.build | 2 +- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/NEWS b/NEWS index 501ef0ba..97c57e44 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,18 @@ -v1.4.1 2022-06-12 The Irssi team +v1.4.2 2022-07-17 The Irssi team + * Add irssimoduledir to irssi-1.pc in the Meson build (#1383, + #1378) + - Use -isystem includes, limiting warnings to Irssi + code. Fixes compilation with Perl 5.36 (#1381, + gentoo#851522, #1384) + - Fix missing lines when changing dynamic textbuffer contents + (#1382, #1387). Reported by externalserver15 + - Fix Perl cross compilation with Meson 0.60.0 (#1377) + - Fix default channel prefix used for /JOIN to default to `#' + (#1385, #1388) + - Fix crash in /LASTLOG by getting line texts before printing + (#1367, #1398) + +v1.4.1 2022-06-12 The Irssi team ! Note: botti no longer compiles; get in touch if you use it * Format the output of /QUOTE HELP (#1371, an#82). By Val Lorentz. Add /SHELP as default alias (an#83) @@ -306,7 +320,7 @@ v1.4.1 2022-06-12 The Irssi team - Run abidiff on pull requests (#1179, #1195) - Test CI-Fuzz (#1279, #1304, an#17) -v1.2.3 2021-04-11 The Irssi team +v1.2.3 2021-04-11 The Irssi team - Fix the compilation of utf8proc (#1021) - Fix wrong call to free. By Zero King (#1076) - Fix a colour reset in true colour themes when encountering @@ -344,13 +358,13 @@ v1.2.3 2021-04-11 The Irssi team - Fix memory leak when receiving bogus SASL authentication data. Found and fixed by Sergey Valentey (#1293) -v1.2.2 2019-08-29 The Irssi team +v1.2.2 2019-08-29 The Irssi team - Fix a use after free issue when receiving IRCv3 CAP information from the server (GL#34, GL!35) - Fix a crash during startup when windows weren't fully initialised yet (#1114, bdo#935813) -v1.2.1 2019-06-29 The Irssi team +v1.2.1 2019-06-29 The Irssi team ! Contains all changes from 1.1.3 - Fix a test on big endian machines (#1014) - Fix the compile time conditionality of wcwidth @@ -361,17 +375,17 @@ v1.2.1 2019-06-29 The Irssi team encoding) in the input prompt was broken (#1018, #1057). Initial patch by Артём Курашов -v1.1.3 2019-06-29 The Irssi team +v1.1.3 2019-06-29 The Irssi team ! Contains all changes from 1.0.8 - Fix regression of #779 where autolog_ignore_targets would not matching itemless windows anymore (#1012, #1013) -v1.0.8 2019-06-29 The Irssi team +v1.0.8 2019-06-29 The Irssi team - Fix a use after free issue when sending the SASL login on (automatic and manual) reconnects (#1055, #1058). Reported by ilbelkyr -v1.2.0 2019-02-11 The Irssi team +v1.2.0 2019-02-11 The Irssi team ! Contains all changes from 1.1.2 * Improved the /STATUSBAR commands (#858) * /SET no longer shows `=' between setting and value (#886) @@ -459,7 +473,7 @@ v1.2.0 2019-02-11 The Irssi team - Misc fixes (#840, #839, #843, #953, #962). Tests (#806, #875, #905, #964, #1011). Fuzzing (#929). -v1.1.2 2019-01-09 The Irssi team +v1.1.2 2019-01-09 The Irssi team - Fix the resetting of window hiddenlevel (#861) - Fix clearing of hidelevel in layout (#951) - Fix accessing unallocated text when checking entry position @@ -478,14 +492,14 @@ v1.1.2 2019-01-09 The Irssi team - Fix Perl detection on MacOS. By Dominyk Tiller (#927) - Misc fixes. By Jaroslav Škarvada (#981, #982) -v1.1.1 2018-02-15 The Irssi team +v1.1.1 2018-02-15 The Irssi team ! Contains all changes from 1.0.7 - Restore compatibility with OpenSSL < 1.0.2 (#820, #831) - Fix test compilation on some platforms (#815, #816) - Fix portability and backwards compatibility of test runner (#818, #845) -v1.0.7 2018-02-15 The Irssi team +v1.0.7 2018-02-15 The Irssi team - Prevent use after free error during the execution of some commands. Found by Joseph Bisch (GL#17, GL!24). - Revert netsplit print optimisation due to crashes (#465, #809, @@ -504,7 +518,7 @@ v1.0.7 2018-02-15 The Irssi team resize (GL#25, GL#29, #836). - Minor help correction. By William Jackson (#834). -v1.1.0 2018-01-15 The Irssi team +v1.1.0 2018-01-15 The Irssi team ! Warning. Irssi is broken and will crash with OpenSSL < 1.0.2 due to openssl/openssl commit 5b4b9ce976fce09a7a92e2f25b91a1635cb840fe @@ -586,7 +600,7 @@ v1.1.0 2018-01-15 The Irssi team #738) - Fix space issue in glib-2.0.m4 (#621) -v1.0.6 2018-01-07 The Irssi team +v1.0.6 2018-01-07 The Irssi team ! Note: Code and aliases using `$($'-like constructs are no longer supported due to issue GL#18. Sorry about the inconvenience. diff --git a/configure.ac b/configure.ac index f03569eb..d8969cc2 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(irssi, 1.4.1) +AC_INIT(irssi, 1.4.2) AC_CONFIG_SRCDIR([src]) AC_CONFIG_AUX_DIR(build-aux) AC_PREREQ(2.50) diff --git a/meson.build b/meson.build index 9aa3b8c9..240c5344 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('irssi', 'c', - version : '1.4.1', + version : '1.4.2', meson_version : '>=0.49', default_options : ['warning_level=1'])