Branch: refs/heads/master Author: Dimitar Zhekov dimitar.zhekov@gmail.com Committer: Dimitar Zhekov dimitar.zhekov@gmail.com Date: Sun, 16 Dec 2012 18:28:42 UTC Commit: aef9af98434a81f081b4cc3e078e958185bee6b0 https://github.com/geany/geany-plugins/commit/aef9af98434a81f081b4cc3e078e95...
Log Message: ----------- scope - evaluate expressions with quotes, small changes and fixes
Modified Paths: -------------- scope/ChangeLog scope/TODO scope/docs/scope.html scope/src/break.c scope/src/common.h scope/src/debug.c scope/src/menu.c scope/src/menu.h scope/src/scope.c scope/src/tooltip.c scope/src/tooltip.h scope/src/views.c scope/src/views.h
Modified: scope/ChangeLog 18 files changed, 17 insertions(+), 1 deletions(-) =================================================================== @@ -1,4 +1,20 @@ -2011-12-13 Dimitar Zhekov dimitar.zhekov@gmail.com +2012-12-16 Dimitar Zhekov dimitar.zhekov@gmail.com + + * src/common.h, src/menu.h: + Fixed forward declarations (though my gcc accepts them). + * src/menu.c, src/tooltip.c, src/views.c, src/views.h: + Clear scid_gen on program exit. No real risk of overflow, + but smaller values look better in Debug Console. + * src/menu.c: + Position cursor in modify dialog after " = ". + * src/tooltip.c: + Reset internal variables on program exit. + * src/debug.c: + Escape "\ in evaluate expressions. + * docs/scope.html, src/scope.c: + Increased version to 0.77. + +2012-12-13 Dimitar Zhekov dimitar.zhekov@gmail.com
* data/scope.glade, src/local.c, src/parse.c, src/parse.h, src/stack.c, src/stack.h:
Modified: scope/TODO 2 files changed, 0 insertions(+), 2 deletions(-) =================================================================== @@ -1,7 +1,5 @@ wscript_*
-evaluate expressions with quotes - various tests, source code checks etc.
ask user for terminate debugging on build actions
Modified: scope/docs/scope.html 2 files changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -670,7 +670,7 @@
<b><a name="copyright">Copyright</a></b>
-<p>Scope 0.76, Copyright (C) 2012 Dimitar Toshkov Zhekov</p> +<p>Scope 0.77, Copyright (C) 2012 Dimitar Toshkov Zhekov</p>
<p>The menu and toolbar icons are from <a href="http://netbeans.org">Netbeans</a>, except for BreakPoint.</p>
Modified: scope/src/break.c 2 files changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -237,7 +237,7 @@ static void append_script_command(const ParseNode *node, GString *string) iff (node->type == PT_VALUE, "script: contains array") { gchar *display = utils_get_display_from_7bit((char *) node->value, HB_DEFAULT); - gchar *s; + const gchar *s;
if (string->len) g_string_append_c(string, ' ');
Modified: scope/src/common.h 1 files changed, 0 insertions(+), 1 deletions(-) =================================================================== @@ -24,7 +24,6 @@ extern GeanyFunctions *geany_functions;
typedef struct _MenuItem MenuItem; -typedef enum _ViewIndex ViewIndex;
#include "break.h" #include "conterm.h"
Modified: scope/src/debug.c 14 files changed, 13 insertions(+), 1 deletions(-) =================================================================== @@ -719,7 +719,19 @@ void debug_send_format(gint tf, const char *format, ...) char *debug_send_evaluate(char token, gint scid, const gchar *expr) { char *locale = utils_get_locale_from_utf8(expr); - debug_send_format(F, "0%c%d-data-evaluate-expression "%s"", token, scid, locale); + GString *string = g_string_sized_new(strlen(locale)); + const char *s; + + for (s = locale; *s; s++) + { + if (*s == '"' || *s == '\') + g_string_append_c(string, '\'); + g_string_append_c(string, *s); + } + + debug_send_format(F, "0%c%d-data-evaluate-expression "%s"", token, scid, string->str); + g_string_free(string, TRUE); + return locale; }
Modified: scope/src/menu.c 8 files changed, 8 insertions(+), 0 deletions(-) =================================================================== @@ -334,12 +334,15 @@ static void menu_evaluate_modify(const gchar *expr, const char *value, const gch { gchar *display = parse_get_display_from_7bit(value, hb_mode, mr_mode); gchar *text = g_strdup_printf("%s = %s", expr, display ? display : ""); + GtkTextIter iter;
g_free(display); gtk_window_set_title(GTK_WINDOW(modify_dialog), title); gtk_widget_grab_focus(modify_value); gtk_text_buffer_set_text(modify_text, text, -1); g_free(text); + gtk_text_buffer_get_iter_at_offset(modify_text, &iter, g_utf8_strlen(expr, -1) + 3); + gtk_text_buffer_place_cursor(modify_text, &iter); modify_dialog_update_state(debug_state());
if (gtk_dialog_run(GTK_DIALOG(modify_dialog)) == GTK_RESPONSE_ACCEPT) @@ -493,6 +496,11 @@ void menu_set_popup_keybindings(guint item) } }
+void menu_clear(void) +{ + scid_gen = 0; +} + void menu_update_state(DebugState state) { if (active_menu)
Modified: scope/src/menu.h 5 files changed, 3 insertions(+), 2 deletions(-) =================================================================== @@ -19,14 +19,14 @@
#ifndef MENU_H
-typedef struct _MenuItem +struct _MenuItem { const char *name; void (*callback)(const MenuItem *menu_item); guint state; GtkWidget *widget; /* automatic */ gpointer gdata; -} MenuItem; +};
typedef struct _MenuInfo { @@ -96,6 +96,7 @@ void menu_mber_button_release(GtkTreeSelection *selection, GtkWidget *item, } MenuKey;
void menu_set_popup_keybindings(guint item); +void menu_clear(void); void menu_update_state(DebugState state);
void menu_init(void);
Modified: scope/src/scope.c 2 files changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -32,7 +32,7 @@ PLUGIN_VERSION_CHECK(215)
PLUGIN_SET_TRANSLATABLE_INFO(LOCALEDIR, GETTEXT_PACKAGE, _("Scope Debugger"), - _("Simple GDB front-end."), "0.76" , "Dimitar Toshkov Zhekov dimitar.zhekov@gmail.com") + _("Simple GDB front-end."), "0.77" , "Dimitar Toshkov Zhekov dimitar.zhekov@gmail.com")
/* Keybinding(s) */ enum
Modified: scope/src/tooltip.c 7 files changed, 7 insertions(+), 0 deletions(-) =================================================================== @@ -177,6 +177,13 @@ void tooltip_remove(GeanyEditor *editor) } }
+void tooltip_clear(void) +{ + scid_gen = 0; + last_pos = -1; + peek_pos = -1; +} + gboolean tooltip_update(void) { if (option_editor_tooltips)
Modified: scope/src/tooltip.h 2 files changed, 2 insertions(+), 0 deletions(-) =================================================================== @@ -24,6 +24,8 @@
void tooltip_attach(GeanyEditor *editor); void tooltip_remove(GeanyEditor *editor); + +void tooltip_clear(void); gboolean tooltip_update(void);
void tooltip_finalize(void);
Modified: scope/src/views.c 3 files changed, 2 insertions(+), 1 deletions(-) =================================================================== @@ -42,7 +42,8 @@ { FALSE, watches_clear, watches_update, TRUE, DS_DEBUG }, { FALSE, NULL, dc_update, FALSE, DS_DEBUG }, { FALSE, inspects_clear, inspects_update, FALSE, DS_DEBUG }, - { FALSE, NULL, tooltip_update, FALSE, DS_SENDABLE } + { FALSE, tooltip_clear, tooltip_update, FALSE, DS_SENDABLE }, + { FALSE, menu_clear, NULL, FALSE, 0 } };
void view_dirty(ViewIndex index)
Modified: scope/src/views.h 1 files changed, 1 insertions(+), 0 deletions(-) =================================================================== @@ -30,6 +30,7 @@ VIEW_CONSOLE, VIEW_INSPECT, VIEW_TOOLTIP, + VIEW_POPMENU, VIEW_COUNT } ViewIndex;
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
plugins-commits@lists.geany.org