Hello community, here is the log from the commit of package tilde for openSUSE:Factory checked in at 2014-07-29 16:48:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tilde (Old) and /work/SRC/openSUSE:Factory/.tilde.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "tilde" Changes: -------- --- /work/SRC/openSUSE:Factory/tilde/tilde.changes 2013-08-14 22:50:50.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.tilde.new/tilde.changes 2014-07-29 16:48:49.000000000 +0200 @@ -1,0 +2,11 @@ +Mon Jul 21 19:13:05 UTC 2014 - jengelh@inai.de + +- Update to new upstream release 0.3.3 +* This release correctly handle errors in conversion when loading + files. When the converter failed in unexpected ways, Tilde would + previously crash. +* Added warnings about trying to overwrite a read-only file, + improved the warnings about encoding issues when saving and fixed + the setting of the comment-keyword style. + +------------------------------------------------------------------- Old: ---- tilde-0.3.0.tar.bz2 New: ---- tilde-0.3.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tilde.spec ++++++ --- /var/tmp/diff_new_pack.qb7F2y/_old 2014-07-29 16:48:50.000000000 +0200 +++ /var/tmp/diff_new_pack.qb7F2y/_new 2014-07-29 16:48:50.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package tilde # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: tilde -Version: 0.3.0 +Version: 0.3.3 Release: 0 Summary: An intuitive text editor for the terminal License: GPL-3.0 ++++++ tilde-0.3.0.tar.bz2 -> tilde-0.3.3.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/Changelog new/tilde-0.3.3/Changelog --- old/tilde-0.3.0/Changelog 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/Changelog 2014-07-18 08:15:37.000000000 +0200 @@ -1,3 +1,19 @@ +Version 0.3.3: + Bug fixes: + - Warn users about attempting to write a read-only file. + - Improve warnings about encoding problems when saving. + - Correctly set the "Comment keyword" style. + +Version 0.3.2: + Bug fixes: + - Correctly handle errors in conversion when loading files. When the + converter failed in unexpected ways Tilde would crash. + +Version 0.3.1: + Bug fixes: + - Correctly handle non-existent files on load and save. Previous version + accidentally reintroduced the behaviour reported in bug 14. + Version 0.3.0: New features: - Detect instances of Tilde on the same terminal that have been suspended. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/Makefile.in new/tilde-0.3.3/Makefile.in --- old/tilde-0.3.0/Makefile.in 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/Makefile.in 2014-07-18 08:15:37.000000000 +0200 @@ -54,7 +54,7 @@ SILENTCXX=@echo '[CXX]' $< ; SILENTLD=@echo '[LD]' $@ ; -OBJECTS=src/filestate.o src/filebuffer.o src/util.o src/option.o src/log.o src/main.o src/dialogs/optionsdialog.o src/dialogs/attributesdialog.o src/dialogs/selectbufferdialog.o src/filewrapper.o src/dialogs/encodingdialog.o src/fileautocompleter.o src/dialogs/openrecentdialog.o src/dialogs/highlightdialog.o src/fileline.o src/fileeditwindow.o src/openfiles.o +OBJECTS=src/filestate.o src/log.o src/filebuffer.o src/util.o src/option.o src/main.o src/dialogs/optionsdialog.o src/dialogs/attributesdialog.o src/dialogs/selectbufferdialog.o src/filewrapper.o src/dialogs/encodingdialog.o src/openfiles.o src/fileautocompleter.o src/dialogs/openrecentdialog.o src/dialogs/highlightdialog.o src/fileline.o src/fileeditwindow.o all: src/tilde diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/man/tilde.1 new/tilde-0.3.3/man/tilde.1 --- old/tilde-0.3.0/man/tilde.1 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/man/tilde.1 2014-07-18 08:15:37.000000000 +0200 @@ -1,5 +1,5 @@ -.\" Generated by manscript from -o -.TH "TILDE" "1" "2013/06/08" "0.3.0" "An intuitive terminal text editor" +.\" Generated by manscript from tilde.1.txt +.TH "TILDE" "1" "2013/06/08" "0.3.3" "An intuitive terminal text editor" .SH NAME tilde \- an intuitive text editor for the console/terminal .SH SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/ASAN.txt new/tilde-0.3.3/src/ASAN.txt --- old/tilde-0.3.0/src/ASAN.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/tilde-0.3.3/src/ASAN.txt 2014-07-18 08:15:37.000000000 +0200 @@ -0,0 +1,9 @@ +To use ASAN on Tilde, you first need to compile Tilde with the correct flags. +This can be easily accomplished by adding ASAN=1 to the make command line. You +should do this for all its libraries as well. + +When compiled in debug mode (which is the only mode in which the ASAN flags +will be passed to the compiler), Tilde normally sets a virtual memory limit to +prevent memory bugs from causing the machine to become unresponsive due to +paging. However, this makes ASAN fail (it hangs the Tilde binary with clang +3.2). To disable the memory limit, add --L -1 to the command line. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/callgrind.sh new/tilde-0.3.3/src/callgrind.sh --- old/tilde-0.3.0/src/callgrind.sh 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/callgrind.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -#!/bin/bash -# Copyright (C) 2010-2012 G.P. Halkes -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3, as -# published by the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. - -DIR="`dirname \"$0\"`" - -if ! [ -x "$DIR/.objects/edit" ] ; then - echo "Could not find edit executable" - exit -fi - -export LD_LIBRARY_PATH="`sed 's/#.*//' Makefile | egrep -o -- '-L[^[:space:]]+' | sed -r \"s%-L%$DIR/%g\" | tr '\n' ':' | sed -r 's/:$//'`" -valgrind --tool=callgrind "$DIR/.objects/edit" --L=512 -Cconfig "$@" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/create_debug_replay new/tilde-0.3.3/src/create_debug_replay --- old/tilde-0.3.0/src/create_debug_replay 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/create_debug_replay 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -#!/bin/bash -# Copyright (C) 2011 G.P. Halkes -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3, as -# published by the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. - -if [ $# -ne 2 ] ; then - echo "Usage: create_debug_replay <input> <output>" - exit 1 -fi - -tdrerecord -o "$2" <( sed -r 's/(start.*)/\1 "--W"/;/[[:space:]]*start/a \ -expect "foo"\ -send 5000 "\\n"' "$1" ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/debug new/tilde-0.3.3/src/debug --- old/tilde-0.3.0/src/debug 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/debug 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -#!/bin/bash -# Copyright (C) 2011-2012 G.P. Halkes -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3, as -# published by the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. - -DIR="`dirname \"$0\"`" - -make -q -C "$DIR" || make -C "$DIR" || exit 1 - -{ sleep 1 ; sh -c "ddd \"$DIR/.objects/edit\" \"`pgrep -x edit | tail -n1`\"" ; } & -"$DIR/tedit" --W -Cconfig "$@" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/debug_replay new/tilde-0.3.3/src/debug_replay --- old/tilde-0.3.0/src/debug_replay 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/debug_replay 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ -#!/bin/bash -# Copyright (C) 2011 G.P. Halkes -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3, as -# published by the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. - -if [ $# -ne 1 ] ; then - echo "Usage: debug_replay <recording>" - exit 1 -fi - -{ sleep 1 ; sh -c "ddd \"$DIR/.objects/edit\" \"`pgrep -x edit`\"" ; } & -tdreplay -d "$1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/dialogs/attributesdialog.cc new/tilde-0.3.3/src/dialogs/attributesdialog.cc --- old/tilde-0.3.0/src/dialogs/attributesdialog.cc 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/dialogs/attributesdialog.cc 2014-07-18 08:15:37.000000000 +0200 @@ -238,7 +238,7 @@ brace_highlight = term_specific_option.brace_highlight; comment = term_specific_option.highlights[map_highlight(NULL, "comment")]; - comment_keyword = term_specific_option.highlights[map_highlight(NULL, "comment_keyword")]; + comment_keyword = term_specific_option.highlights[map_highlight(NULL, "comment-keyword")]; keyword = term_specific_option.highlights[map_highlight(NULL, "keyword")]; number = term_specific_option.highlights[map_highlight(NULL, "number")]; string = term_specific_option.highlights[map_highlight(NULL, "string")]; @@ -287,7 +287,11 @@ option.highlights[highlight_idx] = name.is_valid() ? name() : get_default_attr(attr); \ } while (0) SET_WITH_DEFAULT(comment, COMMENT); - SET_WITH_DEFAULT(comment_keyword, COMMENT_KEYWORD); + { + int highlight_idx = map_highlight(NULL, "comment-keyword"); + term_specific_option.highlights[highlight_idx] = comment_keyword; + option.highlights[highlight_idx] = comment_keyword.is_valid() ? comment_keyword() : get_default_attr(COMMENT_KEYWORD); + } SET_WITH_DEFAULT(keyword, KEYWORD); SET_WITH_DEFAULT(number, NUMBER); SET_WITH_DEFAULT(string, STRING); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/filebuffer.cc new/tilde-0.3.3/src/filebuffer.cc --- old/tilde-0.3.0/src/filebuffer.cc 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/filebuffer.cc 2014-07-18 08:15:37.000000000 +0200 @@ -84,8 +84,11 @@ transcript_t *handle; transcript_error_t error; - if ((_name = canonicalize_path(name)) == NULL) + if ((_name = canonicalize_path(name)) == NULL) { + if (errno == ENOENT && state->state == load_process_t::INITIAL_MISSING_OK) + break; return rw_result_t(rw_result_t::ERRNO_ERROR, errno); + } /* name is a cleanup ptr. */ name = _name; @@ -195,7 +198,6 @@ /* FIXME: try to prevent as many race conditions as possible here. */ rw_result_t file_buffer_t::save(save_as_process_t *state) { size_t idx; - const char *save_name; if (state->file != this) PANIC(); @@ -205,18 +207,20 @@ if (state->name.empty()) { if (name == NULL) PANIC(); - save_name = name; + state->save_name = name; } else { - save_name = state->name.c_str(); + state->save_name = state->name.c_str(); } -lprintf("canonicalize_path\n"); - if ((state->real_name = canonicalize_path(save_name)) == NULL) - return rw_result_t(rw_result_t::ERRNO_ERROR, errno); -lprintf("stat %s\n", state->real_name); + + if ((state->real_name = canonicalize_path(state->save_name)) == NULL) { + if (errno != ENOENT) + return rw_result_t(rw_result_t::ERRNO_ERROR, errno); + state->real_name = strdup_impl(state->save_name); + } + /* FIXME: to avoid race conditions, it is probably better to try open with O_CREAT|O_EXCL However, this may cause issues with NFS, which is known to have isues with this. */ if (stat(state->real_name, &state->file_info) < 0) { -lprintf("stat failed! %m\n"); if (errno == ENOENT) { if ((state->fd = creat(state->real_name, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)) < 0) return rw_result_t(rw_result_t::ERRNO_ERROR, errno); @@ -231,7 +235,11 @@ here. It is an ugly hack, but it does prevent a lot of code duplication and other hacks. */ case save_as_process_t::ALLOW_OVERWRITE: - string temp_name_str = state->real_name; + state->state = save_as_process_t::ALLOW_OVERWRITE_READONLY; + if (access(state->save_name, W_OK) != 0) + return rw_result_t(rw_result_t::FILE_EXISTS_READONLY); + case save_as_process_t::ALLOW_OVERWRITE_READONLY: + string temp_name_str = state->real_name.get(); if ((idx = temp_name_str.rfind('/')) == string::npos) idx = 0; @@ -249,7 +257,6 @@ to change that string. So we'll just have to strdup it :-( */ if ((state->temp_name = strdup_impl(temp_name_str.c_str())) == NULL) return rw_result_t(rw_result_t::ERRNO_ERROR, errno); -lprintf("mkstemp\n"); if ((state->fd = mkstemp(state->temp_name)) < 0) return rw_result_t(rw_result_t::ERRNO_ERROR, errno); @@ -305,12 +312,11 @@ state->fd = -1; if (state->temp_name != NULL) { if (option.make_backup) { - string backup_name = state->real_name; + string backup_name = state->real_name.get(); backup_name += '~'; unlink(backup_name.c_str()); link(state->real_name, backup_name.c_str()); } -lprintf("rename\n"); if (rename(state->temp_name, state->real_name) < 0) return rw_result_t(rw_result_t::ERRNO_ERROR, errno); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/filestate.cc new/tilde-0.3.3/src/filestate.cc --- old/tilde-0.3.0/src/filestate.cc 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/filestate.cc 2014-07-18 08:15:37.000000000 +0200 @@ -61,11 +61,15 @@ case rw_result_t::CONVERSION_OPEN_ERROR: printf_into(&message, "Could not find a converter for selected encoding: %s", transcript_strerror(rw_result.get_transcript_error())); + delete file; + file = NULL; error_dialog->set_message(&message); error_dialog->show(); break; case rw_result_t::CONVERSION_ERROR: printf_into(&message, "Could not load file in encoding %s: %s", file->get_encoding(), transcript_strerror(rw_result.get_transcript_error())); + delete file; + file = NULL; error_dialog->set_message(&message); error_dialog->show(); break; @@ -124,8 +128,9 @@ } load_process_t::~load_process_t(void) { - if (!result && file != NULL) - delete file; +#ifdef DEBUG + ASSERT(result || file == NULL); +#endif delete wrapper; if (fd >= 0) close(fd); @@ -151,7 +156,7 @@ } save_as_process_t::save_as_process_t(const callback_t &cb, file_buffer_t *_file) : stepped_process_t(cb), state(SELECT_FILE), - file(_file), real_name(NULL), temp_name(NULL), fd(-1), wrapper(NULL) + file(_file), save_name(NULL), real_name(NULL), temp_name(NULL), fd(-1), wrapper(NULL) {} bool save_as_process_t::step(void) { @@ -183,19 +188,30 @@ continue_abort_dialog->set_message(&message); continue_abort_dialog->show(); return false; + case rw_result_t::FILE_EXISTS_READONLY: + printf_into(&message, "File '%s' is readonly", save_name); + connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &save_as_process_t::run), 0)); + connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &save_as_process_t::abort), 1)); + continue_abort_dialog->set_message(&message); + continue_abort_dialog->show(); + return false; case rw_result_t::ERRNO_ERROR: printf_into(&message, "Could not save file: %s", strerror(rw_result.get_errno_error())); error_dialog->set_message(&message); error_dialog->show(); break; case rw_result_t::CONVERSION_ERROR: - printf_into(&message, "Could not save file in encoding FIXME: %s", transcript_strerror(rw_result.get_transcript_error())); + if (encoding.empty()) + encoding = file->get_encoding(); + printf_into(&message, "Could not save file in encoding %s: %s", encoding.c_str(), transcript_strerror(rw_result.get_transcript_error())); error_dialog->set_message(&message); error_dialog->show(); break; case rw_result_t::CONVERSION_IMPRECISE: + if (encoding.empty()) + encoding = file->get_encoding(); i++; - printf_into(&message, "Conversion into encoding FIXME is irreversible"); + printf_into(&message, "Conversion into encoding %s is irreversible", encoding.c_str()); connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &save_as_process_t::run), 0)); connections.push_back(continue_abort_dialog->connect_activate(sigc::mem_fun(this, &save_as_process_t::abort), 1)); continue_abort_dialog->set_message(&message); @@ -220,8 +236,6 @@ } save_as_process_t::~save_as_process_t(void) { - free(real_name); - if (fd >= 0) { close(fd); if (temp_name != NULL) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/filestate.h new/tilde-0.3.3/src/filestate.h --- old/tilde-0.3.0/src/filestate.h 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/filestate.h 2014-07-18 08:15:37.000000000 +0200 @@ -32,6 +32,7 @@ enum stop_reason_t { SUCCESS, FILE_EXISTS, + FILE_EXISTS_READONLY, ERRNO_ERROR, CONVERSION_OPEN_ERROR, CONVERSION_IMPRECISE, @@ -106,6 +107,7 @@ SELECT_FILE, INITIAL, ALLOW_OVERWRITE, + ALLOW_OVERWRITE_READONLY, WRITING }; int state; @@ -115,7 +117,8 @@ std::string encoding; // State for save file_buffer_t::save function - char *real_name; + const char *save_name; + cleanup_free_ptr<char>::t real_name; char *temp_name; int fd; int i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/filewrapper.cc new/tilde-0.3.3/src/filewrapper.cc --- old/tilde-0.3.0/src/filewrapper.cc 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/filewrapper.cc 2014-07-18 08:15:37.000000000 +0200 @@ -104,7 +104,7 @@ delete wrapped_buffer; } -file_read_wrapper_t::file_read_wrapper_t(int fd, transcript_t *handle) : buffer_index(0), at_eof(false), accumulated(NULL) { +file_read_wrapper_t::file_read_wrapper_t(int fd, transcript_t *handle) { buffer = new read_buffer_t(fd); if (handle != NULL) { buffer_t *transcript_buffer = new transcript_buffer_t(buffer, handle); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/filewrapper.h new/tilde-0.3.3/src/filewrapper.h --- old/tilde-0.3.0/src/filewrapper.h 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/filewrapper.h 2014-07-18 08:15:37.000000000 +0200 @@ -64,9 +64,6 @@ class file_read_wrapper_t { private: buffer_t *buffer; - int buffer_index; - bool at_eof; - string *accumulated; public: file_read_wrapper_t(int fd, transcript_t *handle = NULL); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/helgrind.sh new/tilde-0.3.3/src/helgrind.sh --- old/tilde-0.3.0/src/helgrind.sh 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/helgrind.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,25 +0,0 @@ -#!/bin/bash -# Copyright (C) 2010,2012 G.P. Halkes -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3, as -# published by the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. - -DIR="`dirname \"$0\"`" - -make -q -C "$DIR" || make -C "$DIR" || exit 1 - -if ! [ -x "$DIR/.objects/edit" ] ; then - echo "Could not find edit executable" - exit -fi - -export LD_LIBRARY_PATH="`sed 's/#.*//' $DIR/Makefile | egrep -o -- '-L[^[:space:]]+' | sed -r \"s%-L%$DIR/%g\" | tr '\n' ':' | sed -r 's/:$//'`" -valgrind --tool=helgrind --log-file="$DIR/helgrind.log" "$DIR/.objects/edit" --L=500 -Cconfig "$@" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/main.cc new/tilde-0.3.3/src/main.cc --- old/tilde-0.3.0/src/main.cc 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/main.cc 2014-07-18 08:15:37.000000000 +0200 @@ -58,7 +58,6 @@ private: menu_bar_t *menu; menu_panel_t *panel; - menu_item_base_t *remove; split_t *split; select_buffer_dialog_t *select_buffer_dialog; @@ -209,7 +208,7 @@ about_dialog = new message_dialog_t(45, "About", "Close", NULL); about_dialog->center_over(this); about_dialog->set_max_text_height(13); - about_dialog->set_message("Tilde - The intuitive text editor\n\nVersion 0.3.0\nCopyright (c) 2011-2012 G.P. Halkes\n\n" // @copyright + about_dialog->set_message("Tilde - The intuitive text editor\n\nVersion 0.3.3\nCopyright (c) 2011-2012 G.P. Halkes\n\n" // @copyright "The Tilde text editor is licensed under the GNU General Public License version 3. " "You should have received a copy of the GNU General Public License along with this program. " "If not, see http://www.gnu.org/licenses/."); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/option.cc new/tilde-0.3.3/src/option.cc --- old/tilde-0.3.0/src/option.cc 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/option.cc 2014-07-18 08:15:37.000000000 +0200 @@ -331,7 +331,7 @@ } static void print_version(void) { - printf("Tilde version 0.3.0\n" + printf("Tilde version 0.3.3\n" "Copyright (c) 2011-2012 G.P. Halkes\n" // @copyright "Tilde is licensed under the GNU General Public License version 3\n"); printf("Library versions:\n" @@ -385,7 +385,7 @@ cli_option.wait = true; END_OPTION LONG_OPTION("L", REQUIRED_ARG) - PARSE_INT(cli_option.vm_limit, 1, INT_MAX / (1024 * 1024)); + PARSE_INT(cli_option.vm_limit, -1, INT_MAX / (1024 * 1024)); END_OPTION LONG_OPTION("D", NO_ARG) cli_option.start_debugger_on_segfault = true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/save_recording new/tilde-0.3.3/src/save_recording --- old/tilde-0.3.0/src/save_recording 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/save_recording 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -#!/bin/bash -# Copyright (C) 2011 G.P. Halkes -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3, as -# published by the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. - -if [ $# -ne 1 ] ; then - echo "Usage: save_recording <name>" - exit 1 -fi - -DIR="`dirname \"$0\"`" - -cp -i "$DIR/.recordings/last" "$1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/tedit new/tilde-0.3.3/src/tedit --- old/tilde-0.3.0/src/tedit 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/tedit 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -#!/bin/bash -# Copyright (C) 2011,2013 G.P. Halkes -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3, as -# published by the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. - -DIR="`dirname \"$0\"`" - -make -q -C "$DIR" || make -C "$DIR" || exit 1 - -if ! [ -x "$DIR/.objects/edit" ] ; then - echo "Could not find edit executable" - exit -fi - -[ -d .recordings ] || mkdir .recordings - -DATE="`date +%F@%T`" -rm "$DIR/.recordings/last" "$DIR/log.txt" "$DIR/libt3widgetlog.txt" "$DIR/libt3windowlog.txt" 2>/dev/null -tdrecord -o "$DIR/.recordings/last" -X "$DIR/.objects/edit" --D -Cconfig "$@" - -ln "$DIR/.recordings/last" "$DIR/.recordings/record-$DATE" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/util.cc new/tilde-0.3.3/src/util.cc --- old/tilde-0.3.0/src/util.cc 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/util.cc 2014-07-18 08:15:37.000000000 +0200 @@ -100,6 +100,9 @@ } void set_limits() { + if (cli_option.vm_limit < 0) + return; + int mb = cli_option.vm_limit == 0 ? 250 : cli_option.vm_limit; struct rlimit vm_limit; printf("Debug mode: Setting VM limit\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/valgrind.sh new/tilde-0.3.3/src/valgrind.sh --- old/tilde-0.3.0/src/valgrind.sh 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/valgrind.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -#!/bin/bash -# Copyright (C) 2010-2012 G.P. Halkes -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 3, as -# published by the Free Software Foundation. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. - -DIR="`dirname \"$0\"`" - -make -q -C "$DIR" || make -C "$DIR" || exit 1 - -if ! [ -x "$DIR/.objects/edit" ] ; then - echo "Could not find edit executable" - exit -fi - -export LD_LIBRARY_PATH="`sed 's/#.*//' $DIR/Makefile | egrep -o -- '-L[^[:space:]]+' | sed -r \"s%-L%$DIR/%g\" | tr '\n' ':' | sed -r 's/:$//'`" -valgrind --tool=memcheck --leak-check=full --show-reachable=yes --num-callers=32 --suppressions=valgrind.supp \ - --log-file="$DIR/valgrind.log" "$DIR/.objects/edit" --L=250 -Cconfig "$@" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tilde-0.3.0/src/valgrind.supp new/tilde-0.3.3/src/valgrind.supp --- old/tilde-0.3.0/src/valgrind.supp 2013-06-09 15:03:31.000000000 +0200 +++ new/tilde-0.3.3/src/valgrind.supp 1970-01-01 01:00:00.000000000 +0100 @@ -1,54 +0,0 @@ -{ - lt_dladvise leak - Memcheck:Leak - fun:malloc - fun:lt__malloc - fun:lt__zalloc - fun:lt_dladvise_init -} -{ - ncurses leaks - Memcheck:Leak - fun:*alloc - ... - fun:_nc_* -} -{ - pthread_cancel leak - Memcheck:Leak - fun:malloc - ... - fun:pthread_cancel -} -{ - XOpenDisplay leak - Memcheck:Leak - fun:malloc - obj:* - obj:* - obj:* - obj:* - obj:* - obj:* - fun:_ZN9t3_widgetL23init_external_clipboardEb -} -{ - dlopen error leak - Memcheck:Leak - fun:calloc - fun:_dlerror_run - fun:dlopen@@GLIBC_2.2.5 - fun:do_dlopen - fun:db_open -} - -{ - xcb_connect leak - Memcheck:Leak - fun:malloc - obj:* - obj:* - obj:* - obj:* - fun:_ZN9t3_widgetL23init_external_clipboardEb -} -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org