]> code.delx.au - gnu-emacs/blobdiff - lisp/frame.el
(derived-mode-run-hooks): Remove.
[gnu-emacs] / lisp / frame.el
index 2aff4860cf3d70e28e248f55b96354e0453aa07d..5496c857af0ca0949d0fc5738904166ad6a07956 100644 (file)
@@ -1,6 +1,6 @@
 ;;; frame.el --- multi-frame management independent of window systems
 
-;; Copyright (C) 1993, 1994, 1996, 1997, 2000, 2001, 2003, 2004
+;; Copyright (C) 1993, 1994, 1996, 1997, 2000, 2001, 2003, 2004, 2005
 ;;   Free Software Foundation, Inc.
 
 ;; Maintainer: FSF
@@ -20,8 +20,8 @@
 
 ;; 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., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
@@ -969,9 +969,9 @@ one frame, otherwise the name is displayed on the frame's caption bar."
 
 (defun frame-current-scroll-bars (&optional frame)
   "Return the current scroll-bar settings in frame FRAME.
-Value is a cons (VERTICAL . HORISONTAL) where VERTICAL specifies the
+Value is a cons (VERTICAL . HORIZ0NTAL) where VERTICAL specifies the
 current location of the vertical scroll-bars (left, right, or nil),
-and HORISONTAL specifies the current location of the horisontal scroll
+and HORIZONTAL specifies the current location of the horizontal scroll
 bars (top, bottom, or nil)."
   (let ((vert (frame-parameter frame 'vertical-scroll-bars))
        (hor nil))
@@ -1207,7 +1207,7 @@ left untouched.  FRAME nil or omitted means use the selected frame."
 This is done in the face `trailing-whitespace'."
   :tag "Highlight trailing whitespace."
   :type 'boolean
-  :group 'font-lock)
+  :group 'whitespace-faces)
 
 
 \f
@@ -1256,35 +1256,7 @@ The function `blink-cursor-start' is called when the timer fires.")
 This timer calls `blink-cursor-timer-function' every
 `blink-cursor-interval' seconds.")
 
-;; The strange sequence below is meant to set both the right temporary
-;; value and the right "standard expression" , according to Custom,
-;; for blink-cursor-mode.  We do not know the standard _evaluated_
-;; value yet, because the standard expression uses values that are not
-;; yet set.  Evaluating it now would yield an error, but we make sure
-;; that it is not evaluated, by ensuring that blink-cursor-mode is set
-;; before the defcustom is evaluated and by using the right :initialize
-;; function.  The correct evaluated standard value will be installed
-;; in startup.el using exactly the same expression as in the defcustom.
-(defvar blink-cursor-mode)
-(unless (boundp 'blink-cursor-mode) (setq blink-cursor-mode nil))
-(defcustom blink-cursor-mode
-  (not (or noninteractive
-          emacs-quick-startup
-          (eq system-type 'ms-dos)
-          (not (memq window-system '(x w32)))))
-  "*Non-nil means Blinking Cursor mode is active."
-  :group 'cursor
-  :tag "Blinking cursor"
-  :type 'boolean
-  :initialize 'custom-initialize-set
-  :set #'(lambda (symbol value)
-          (set-default symbol value)
-          (blink-cursor-mode (or value 0))))
-
-(defvaralias 'blink-cursor 'blink-cursor-mode)
-(make-obsolete-variable 'blink-cursor 'blink-cursor-mode "22.1")
-
-(defun blink-cursor-mode (arg)
+(define-minor-mode blink-cursor-mode
   "Toggle blinking cursor mode.
 With a numeric argument, turn blinking cursor mode on iff ARG is positive.
 When blinking cursor mode is enabled, the cursor of the selected
@@ -1293,27 +1265,29 @@ window blinks.
 Note that this command is effective only when Emacs
 displays through a window system, because then Emacs does its own
 cursor display.  On a text-only terminal, this is not implemented."
-  (interactive "P")
-  (let ((on-p (if (null arg)
-                 (not blink-cursor-mode)
-               (> (prefix-numeric-value arg) 0))))
-    (if blink-cursor-idle-timer
-       (cancel-timer blink-cursor-idle-timer))
-    (if blink-cursor-timer
-       (cancel-timer blink-cursor-timer))
-    (setq blink-cursor-idle-timer nil
-         blink-cursor-timer nil
-         blink-cursor-mode nil)
-    (if on-p
-       (progn
-         ;; Hide the cursor.
-         ;(internal-show-cursor nil nil)
-         (setq blink-cursor-idle-timer
-               (run-with-idle-timer blink-cursor-delay
-                                    blink-cursor-delay
-                                    'blink-cursor-start))
-         (setq blink-cursor-mode t))
-      (internal-show-cursor nil t))))
+  :init-value (not (or noninteractive
+                      no-blinking-cursor
+                      (eq system-type 'ms-dos)
+                      (not (memq window-system '(x w32)))))
+  :initialize 'custom-initialize-safe-default
+  :group 'cursor
+  :global t
+  (if blink-cursor-idle-timer (cancel-timer blink-cursor-idle-timer))
+  (if blink-cursor-timer (cancel-timer blink-cursor-timer))
+  (setq blink-cursor-idle-timer nil
+       blink-cursor-timer nil)
+  (if blink-cursor-mode
+      (progn
+       ;; Hide the cursor.
+       ;;(internal-show-cursor nil nil)
+       (setq blink-cursor-idle-timer
+             (run-with-idle-timer blink-cursor-delay
+                                  blink-cursor-delay
+                                  'blink-cursor-start)))
+    (internal-show-cursor nil t)))
+
+(defvaralias 'blink-cursor 'blink-cursor-mode)
+(make-obsolete-variable 'blink-cursor 'blink-cursor-mode "22.1")
 
 (defun blink-cursor-start ()
   "Timer function called from the timer `blink-cursor-idle-timer'.
@@ -1379,5 +1353,5 @@ Use Custom to set this variable to get the display updated."
 
 (provide 'frame)
 
-;;; arch-tag: 82979c70-b8f2-4306-b2ad-ddbd6b328b56
+;; arch-tag: 82979c70-b8f2-4306-b2ad-ddbd6b328b56
 ;;; frame.el ends here