-(require 'cl)
+;;; jail-windows-mode.el --- Attempt to bring sanity to Emacs windows
+
+;; Jail windows
+;; Copyright (C) 2014 Robert Grimm
+;;
+;; Author: Robert Grimm <grimm dot rob at gmail dot com>
+;; Maintainer: Robert Grimm <grimm dot rob at gmail dot com>
+;; Keywords: windows, display-buffer
+;;
+;; This file is not part of GNU Emacs.
+;;
+;;; Commentary:
+;;
+;; Jail-windows is a mode for attempting to maintain a consistent window layout
+;; while working within Emacs. This does not directly prevent creation of new
+;; windows or deletion of existing windows; instead, it attempts
+;;
+;;; Code:
+
+(eval-when-compile (require 'cl-lib))
 (require 'dash)
 (require 'dash-functional)
 

Functions should use a signature of (fn FRAME WINDOW-GROUP AVAILABLE-WINDOWS
BUFFER ALIST); where the arguments are:

 `FRAME' -- the frame from which the AVAILABLE-WINDOWS have been chosen,
 `WINDOW-GROUP' -- the layout group which matched for the BUFFER,
 `AVAILABLE-WINDOWS' -- a list of windows preselected by jail-windows-mode,
 `BUFFER' -- the buffer that will be displayed, and
 `ALIST' -- as described by `display-buffer'.

Each function should return either a window or nil. Note that a returned window
needn't be one from AVAILABLE-WINDOWS.

                                            (selected-frame))
                         (frame-first-window))
                     'norecord)))
  (jail-windows--update-modeline t))

;;;###autoload
(defun jail-windows/activate-layout (layout-name &optional activate-mode)
