Skip to content

Commit

Permalink
scope - evaluate expressions with quotes, small changes and fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
zhekov committed Dec 16, 2012
1 parent 595dd15 commit aef9af9
Show file tree
Hide file tree
Showing 13 changed files with 56 additions and 11 deletions.
18 changes: 17 additions & 1 deletion scope/ChangeLog
@@ -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:
Expand Down
2 changes: 0 additions & 2 deletions scope/TODO
@@ -1,7 +1,5 @@
wscript_*

evaluate expressions with quotes

various tests, source code checks etc.

ask user for terminate debugging on build actions
Expand Down
2 changes: 1 addition & 1 deletion scope/docs/scope.html
Expand Up @@ -670,7 +670,7 @@ <h3><a name="legal_info">Legal information</a></h3>

<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>
Expand Down
2 changes: 1 addition & 1 deletion scope/src/break.c
Expand Up @@ -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, ' ');
Expand Down
1 change: 0 additions & 1 deletion scope/src/common.h
Expand Up @@ -24,7 +24,6 @@ extern GeanyData *geany_data;
extern GeanyFunctions *geany_functions;

typedef struct _MenuItem MenuItem;
typedef enum _ViewIndex ViewIndex;

#include "break.h"
#include "conterm.h"
Expand Down
14 changes: 13 additions & 1 deletion scope/src/debug.c
Expand Up @@ -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;
}

Expand Down
8 changes: 8 additions & 0 deletions scope/src/menu.c
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down
5 changes: 3 additions & 2 deletions scope/src/menu.h
Expand Up @@ -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
{
Expand Down Expand Up @@ -96,6 +96,7 @@ typedef struct _MenuKey
} MenuKey;

void menu_set_popup_keybindings(guint item);
void menu_clear(void);
void menu_update_state(DebugState state);

void menu_init(void);
Expand Down
2 changes: 1 addition & 1 deletion scope/src/scope.c
Expand Up @@ -32,7 +32,7 @@ GeanyFunctions *geany_functions;
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
Expand Down
7 changes: 7 additions & 0 deletions scope/src/tooltip.c
Expand Up @@ -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)
Expand Down
2 changes: 2 additions & 0 deletions scope/src/tooltip.h
Expand Up @@ -24,6 +24,8 @@ void on_tooltip_value(GArray *nodes);

void tooltip_attach(GeanyEditor *editor);
void tooltip_remove(GeanyEditor *editor);

void tooltip_clear(void);
gboolean tooltip_update(void);

void tooltip_finalize(void);
Expand Down
3 changes: 2 additions & 1 deletion scope/src/views.c
Expand Up @@ -42,7 +42,8 @@ static ViewInfo views[VIEW_COUNT] =
{ 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)
Expand Down
1 change: 1 addition & 0 deletions scope/src/views.h
Expand Up @@ -30,6 +30,7 @@ typedef enum _ViewIndex
VIEW_CONSOLE,
VIEW_INSPECT,
VIEW_TOOLTIP,
VIEW_POPMENU,
VIEW_COUNT
} ViewIndex;

Expand Down

0 comments on commit aef9af9

Please sign in to comment.