- int do_eob = 1, do_bob = 1;
- Lisp_Object arrows;
-
- if (CONSP (ind))
- arrows = XCDR (ind), ind = XCAR (ind);
+ if (EQ (ind, Qleft) || EQ (ind, Qright))
+ boundary_top = boundary_bot = arrow_top = arrow_bot = ind;
+ else if (CONSP (ind) && CONSP (XCAR (ind)))
+ {
+ Lisp_Object pos;
+ if (pos = Fassq (Qt, ind), !NILP (pos))
+ boundary_top = boundary_bot = arrow_top = arrow_bot = XCDR (pos);
+ if (pos = Fassq (Qtop, ind), !NILP (pos))
+ boundary_top = XCDR (pos);
+ if (pos = Fassq (Qbottom, ind), !NILP (pos))
+ boundary_bot = XCDR (pos);
+ if (pos = Fassq (Qup, ind), !NILP (pos))
+ arrow_top = XCDR (pos);
+ if (pos = Fassq (Qdown, ind), !NILP (pos))
+ arrow_bot = XCDR (pos);
+ }