diff options
author | axel <axel@liljencrantz.se> | 2006-02-02 01:49:11 +1000 |
---|---|---|
committer | axel <axel@liljencrantz.se> | 2006-02-02 01:49:11 +1000 |
commit | feabc032f62cc2a2dd4c2626b1c6806a22d5988d (patch) | |
tree | 88773f269100dad40fff31376f81470d7f62a2cc /parser.h | |
parent | 9f9f7bf95aa56f266994647b008116721f95132a (diff) |
Generalize the stack tracing code, add support for showing events and command substitutions in stack traces
darcs-hash:20060201154911-ac50b-707358ea50231661c05a92b40ca109ec801081e6.gz
Diffstat (limited to 'parser.h')
-rw-r--r-- | parser.h | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -10,6 +10,7 @@ #include "proc.h" #include "util.h" #include "parser.h" +#include "event.h" /** event_block_t represents a block on events of the specified type @@ -65,6 +66,7 @@ typedef struct block wchar_t *switch_value; /**< The value to test in a switch block */ wchar_t *function_name; /**< The name of the function to define or the function called*/ wchar_t *source_dest; /**< The name of the file to source*/ + event_t *event; /**<The event that triggered this block */ } param1; /** @@ -75,7 +77,7 @@ typedef struct block array_list_t for_vars; /**< List of values for a for block */ int switch_taken; /**< Whether a switch match has already been found */ wchar_t *function_description; /**< The description of the function to define */ - array_list_t function_vars; /**< List of arguments for a function call */ + process_t *function_call_process; /**< The process representing this function call */ } param2; /** @@ -84,7 +86,6 @@ typedef struct block union { int function_is_binding; /**< Whether a function is a keybinding */ - int call_lineno; /**< Function invocation line number */ } param3; /** @@ -93,8 +94,17 @@ typedef struct block union { array_list_t *function_events; - wchar_t *call_filename; } param4; + + /** + Name of file that created this block + */ + wchar_t *src_filename; + + /** + Line number where this block was created + */ + int src_lineno; /** Some naming confusion. This is a pointer to the first element in the list of all event blocks. @@ -123,6 +133,7 @@ enum block_type TOP, /**< Outermost block */ BEGIN, /**< Unconditional block */ SOURCE, /**< Block created by the . (source) builtin */ + EVENT, /**< Block created on event notifier invocation */ } ; |