if (fe_hack_self_inserting_accelerator (widget, closure, call_data)) return;
fe_line_backward_cb (Widget widget, XtPointer closure, XtPointer call_data){  MWContext *context = (MWContext *) closure;  Widget sb = CONTEXT_DATA (context)->vscroll;  XmScrollBarCallbackStruct cb;  int li = 0, v = 0, min = 0;#ifdef EDITOR  if (context->is_editor) return;#endif /* EDITOR */      XP_ASSERT(sb);  if (!sb) return;  fe_UserActivity (context);  if (fe_hack_self_inserting_accelerator (widget, closure, call_data))    return;  XtVaGetValues (sb, XmNincrement, &li, XmNvalue, &v, XmNminimum, &min, 0);  cb.reason = XmCR_INCREMENT;  cb.event = 0;  cb.pixel = 0;  cb.value = v - li;  if (cb.value < min) cb.value = min;  XtCallCallbacks (sb, XmNvalueChangedCallback, &cb);}