aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--node.h2
-rw-r--r--parse.y3
2 files changed, 5 insertions, 0 deletions
diff --git a/node.h b/node.h
index 334c221f2d..f725a38df4 100644
--- a/node.h
+++ b/node.h
@@ -192,6 +192,8 @@ typedef struct RNode {
#define nd_set_first_column(n, v) ((n)->nd_loc.beg_pos.column = (v))
#define nd_first_lineno(n) ((int)((n)->nd_loc.beg_pos.lineno))
#define nd_set_first_lineno(n, v) ((n)->nd_loc.beg_pos.lineno = (v))
+#define nd_first_loc(n) ((n)->nd_loc.beg_pos)
+#define nd_set_first_loc(n, v) (nd_first_loc(n) = (v))
#define nd_last_column(n) ((int)((n)->nd_loc.end_pos.column))
#define nd_set_last_column(n, v) ((n)->nd_loc.end_pos.column = (v))
diff --git a/parse.y b/parse.y
index 9cb94fd644..431ad0118d 100644
--- a/parse.y
+++ b/parse.y
@@ -2443,6 +2443,9 @@ primary : literal
lambda
{
$$ = $3;
+ /*%%%*/
+ nd_set_first_loc($$, @1.beg_pos);
+ /*% %*/
}
| k_if expr_value then
compstmt