• Kim F. Storm's avatar
    (mode_line_noprop_buf, mode_line_noprop_buf_end) · 4c0e4b80
    Kim F. Storm authored
    (mode_line_noprop_ptr): Rename from frame_title_*.
    (store_mode_line_noprop_char): Rename from store_frame_title_char.
    (store_mode_line_noprop): Rename from store_frame_title.
    (mode_line_target): New enum to specify current  output target
    for mode line formatting.
    (display_mode_element): Test it rather than frame_title_ptr and
    mode_line_string_list to determine where output should go.
    (mode_line_proptrans_alist, mode_line_string_alist): Make static.
    (Vmode_line_unwind_vector): New variable.
    (format_mode_line_unwind_data, unwind_format_mode_line): New
    functions for unwind protection in mode line formatting.
    (x_consider_frame_title): Use them and new local var 'title_start'
    to support nested calls to format-mode-line.  Set mode_line_target
    to MODE_LINE_TITLE.
    (Fformat_mode_line): Use them and new local var 'string_start' to
    support nested calls to format-mode-line.  Set mode_line_target to
    MODE_LINE_NOPROP or MODE_LINE_STRING.  Don't trim trailing dashes.
    (decode_mode_spec): Don't make infinite number of trailing dashes
    for MODE_LINE_NOPROP and MODE_LINE_STRING targets.
    (syms_of_xdisp): Initialize and staticpro mode_line_string_face,
    mode_line_string_face_prop, and Vmode_line_unwind_vector.
    (init_xdisp): Initialize mode_line_noprop_ptr to start of _buf.
    Initialize mode_line_target to MODE_LINE_DISPLAY.
    4c0e4b80
xdisp.c 672 KB