Commit d2000bb
fix: handle backslash-escaped quotes in column block and keyword scanners
The single-quote state handlers in the column block walker and
`find_top_level_keyword` would exit on any `'` character, including
backslash-escaped ones (`\'`). If `)` appeared after a false quote-close
inside a SOURCE credential, depth tracking became corrupted, causing
incorrect clause boundary detection. Add a `skip_next_single` flag
(matching the approach used in `find_closing_quote`) so `\'` is treated
as an embedded quote rather than a string terminator. Add tests for both
scanners covering escaped-quote + `)` sequences.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent b0d3f66 commit d2000bb
1 file changed
Lines changed: 36 additions & 0 deletions
Lines changed: 36 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
| 223 | + | |
223 | 224 | | |
224 | 225 | | |
225 | 226 | | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
226 | 235 | | |
227 | 236 | | |
228 | 237 | | |
| |||
285 | 294 | | |
286 | 295 | | |
287 | 296 | | |
| 297 | + | |
288 | 298 | | |
289 | 299 | | |
290 | 300 | | |
291 | 301 | | |
292 | 302 | | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
293 | 311 | | |
294 | 312 | | |
295 | 313 | | |
| |||
2439 | 2457 | | |
2440 | 2458 | | |
2441 | 2459 | | |
| 2460 | + | |
| 2461 | + | |
| 2462 | + | |
| 2463 | + | |
| 2464 | + | |
| 2465 | + | |
| 2466 | + | |
| 2467 | + | |
| 2468 | + | |
| 2469 | + | |
| 2470 | + | |
| 2471 | + | |
| 2472 | + | |
| 2473 | + | |
| 2474 | + | |
| 2475 | + | |
| 2476 | + | |
| 2477 | + | |
2442 | 2478 | | |
2443 | 2479 | | |
2444 | 2480 | | |
| |||
0 commit comments