• Martin Rudalics's avatar
    Further redesign of window change functions · 4e082ce3
    Martin Rudalics authored
    * doc/lispref/windows.texi (Window Hooks): Revise description
    of window change functions.  Add documentation for
    'window-state-change-hook' and window state change flag.
    * etc/NEWS: Update entry for window change functions.
    * src/frame.c (Fframe_window_state_change)
    (Fset_frame_window_state_change): New functions.
    * src/frame.h (struct frame): New boolean window_state_change.
    (FRAME_WINDOW_STATE_CHANGE): New macro.
    * src/window.c (window_change_record_frames): New static
    boolean.
    (window_change_record_frame): Remove function - code moved to
    window_change_record.
    (window_change_record): Record frame changes here taking
    window_change_record_frames into account.
    (run_window_change_functions_1): Set window_change_record_frames
    whenever we run one of our hooks.
    (run_window_change_functions): Run hooks also when
    FRAME_WINDOW_STATE_CHANGE has been set.  Run
    Vwindow_state_change_hook.  Leave decision whether to record
    changes for all frames to window_change_record.
    (Vwindow_state_change_functions): Update doc-string.
    (Vwindow_state_change_hook): New normal hook.
    4e082ce3
frame.c 198 KB