user: You are executing a verification task for the WindowMaker Wayland port. This is a READ-ONLY audit. Do NOT modify any files. Do NOT create branches. # Task: F.4 ## Task Description (from ACTION_PLAN.md) ### F.4 Verify image format loaders are X11-independent - **Files**: `wrlib/load_png.c`, `wrlib/load_jpeg.c`, `wrlib/load_gif.c`, `wrlib/load_tiff.c`, `wrlib/load_webp.c`, `wrlib/load_ppm.c`, `wrlib/load_xpm_normalized.c` - **Operation**: Confirm each loader takes `RContext*` only for error reporting (or not at all) and returns `RImage*` without touching `ctx->dpy`. Grep each file for `->dpy`, `->cmap`, `->visual`. - **Expected result**: All clean except `load_xpm.c` (uses `XParseColor`). - **Blocked by**: nothing ## Procedure (Template 9) **Use for**: F.2, F.3, F.4, G.1, I.1, I.2, C.3, H.5, and any verification task ``` TASK: Verify that {{FILE}} has no X11 dependencies that would break on the Wayland backend. STEPS: 1. Run: `grep -nE '\bX[A-Z][a-z]' {{FILE}}` This finds direct Xlib function calls. EXPECTED: {{EXPECTED_XLIB_COUNT}} matches. 2. Run: `grep -nE '\bDisplay\b|\bXEvent\b|\bXImage\b|\bXColor\b' {{FILE}}` This finds X11 type usage. EXPECTED: {{EXPECTED_TYPE_COUNT}} matches. 3. Run: `grep -n '_x11_raw' {{FILE}}` This finds raw event escape hatches. EXPECTED: 0 matches. 4. Run: `grep -n '#ifdef.*USE_X\|#ifdef.*HAVE_X\|#ifdef.*XINERAMA\|#ifdef.*XSHAPE\|#ifdef.*XDND' {{FILE}}` This finds X11 feature guards. EXPECTED: {{EXPECTED_IFDEF_COUNT}} matches. 5. If any count exceeds expected: - For each unexpected match, report the line number and the X11 reference. - Classify as: (a) actual dependency, (b) comment/string, (c) type used but never passed to Xlib. REPORT FORMAT: ``` FILE: {{FILE}} Xlib calls: N (expected {{EXPECTED_XLIB_COUNT}}) X11 types: N (expected {{EXPECTED_TYPE_COUNT}}) _x11_raw: N (expected 0) #ifdef guards: N (expected {{EXPECTED_IFDEF_COUNT}}) STATUS: CLEAN / NEEDS WORK ISSUES: (list any unexpected findings) ``` CONSTRAINTS: - Do NOT modify the file. This is a read-only verification task. - Report findings exactly. Do not interpret or fix. ``` ## Important Rules 1. Work in the git repository at /home/lkn/src/WindowMaker-0.96.0. 2. Run the verification checks described in the procedure. 3. Report findings using the REPORT FORMAT from the procedure. 4. End with exactly one of: - DONE: verified clean, no issues found. - STOP: found issues that need human decision. List each issue with file:line and a one-line description.