Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
485464c4
Commit
485464c4
authored
Feb 21, 2005
by
Stefan Monnier
Browse files
(blink-cursor-mode): Use define-minor-mode.
parent
478a161d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
52 deletions
+28
-52
lisp/frame.el
lisp/frame.el
+28
-52
No files found.
lisp/frame.el
View file @
485464c4
;;; 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
...
...
@@ -1256,35 +1256,11 @@ 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
)
;; We do not know the standard _evaluated_ value yet, because the standard
;; expression uses values that are not yet set. The correct evaluated
;; standard value will be installed in startup.el using exactly the same
;; expression as in the defcustom.
(
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 +1269,27 @@ 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
non
interactive
emacs-quick-startup
(
eq
system-type
'ms-dos
)
(
not
(
memq
window-system
'
(
x
w32
)
))))
: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 +1355,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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment