Merge from mainline.
[bpt/emacs.git] / lisp / winner.el
index 033876a..bd94381 100644 (file)
@@ -1,19 +1,18 @@
 ;;; winner.el --- Restore old window configurations
 
 ;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007 Free Software Foundation. Inc.
+;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation. Inc.
 
 ;; Author: Ivar Rummelhoff <ivarru@math.uio.no>
 ;; Created: 27 Feb 1997
-;; Time-stamp: <2006-02-06 15:13:57 ttn>
 ;; Keywords: convenience frames
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -21,9 +20,7 @@
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
 
 
 (defmacro winner-active-region ()
-  (if (fboundp 'region-active-p)
-      '(region-active-p)
-    'mark-active))
+  (if (boundp 'mark-active)
+      'mark-active
+    '(region-active-p)))
 
 (defsetf winner-active-region () (store)
-  (if (fboundp 'zmacs-activate-region)
+  (if (featurep 'xemacs)
       `(if ,store (zmacs-activate-region)
         (zmacs-deactivate-region))
     `(setq mark-active ,store)))
 
 (require 'ring)
 
-(unless (fboundp 'defgroup)
-  (defmacro defgroup (&rest rest)))
-
 (defgroup winner nil
   "Restoring window configurations."
   :group 'windows)
 
-(unless (fboundp 'defcustom)
-  (defmacro defcustom (symbol &optional initvalue docs &rest rest)
-    (list 'defvar symbol initvalue docs)))
-
 ;;;###autoload
 (defcustom winner-mode nil
   "Toggle Winner mode.
@@ -286,7 +276,7 @@ You may want to include buffer names such as *Help*, *Apropos*,
 
 (defun winner-get-point (buf win)
   ;; Consult (and possibly extend) `winner-point-alist'.
-  ;; Returns nil iff buf no longer exists.
+  ;; Returns nil if buf no longer exists.
   (when (buffer-name buf)
     (let ((entry (assq buf winner-point-alist)))
       (cond
@@ -306,7 +296,7 @@ You may want to include buffer names such as *Help*, *Apropos*,
 \f
 ;; Make sure point does not end up in the minibuffer and delete
 ;; windows displaying dead or boring buffers
-;; (c.f. `winner-boring-buffers').  Return nil iff all the windows
+;; (c.f. `winner-boring-buffers').  Return nil if all the windows
 ;; should be deleted.  Preserve correct points and marks.
 (defun winner-set (conf)
   ;; For the format of `conf', see `winner-conf'.
@@ -397,7 +387,8 @@ With arg, turn Winner mode on if and only if arg is positive."
       (setq winner-modified-list (frame-list))
       (winner-save-old-configurations)
       (run-hooks 'winner-mode-hook)
-      (when (interactive-p) (message "Winner mode enabled")))
+      (when (called-interactively-p 'interactive)
+       (message "Winner mode enabled")))
      ;; Turn mode off
      (winner-mode
       (setq winner-mode nil)
@@ -406,7 +397,8 @@ With arg, turn Winner mode on if and only if arg is positive."
       (remove-hook 'post-command-hook 'winner-save-conditionally)
       (remove-hook 'minibuffer-setup-hook 'winner-save-unconditionally)
       (run-hooks 'winner-mode-leave-hook)
-      (when (interactive-p) (message "Winner mode disabled"))))))
+      (when (called-interactively-p 'interactive)
+       (message "Winner mode disabled"))))))
 
 ;; Inspired by undo (simple.el)