2021-03-06 13:03:12 -05:00
|
|
|
|
;;; viper-init.el --- some common definitions for Viper -*- lexical-binding: t; -*-
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
2022-01-01 02:45:51 -05:00
|
|
|
|
;; Copyright (C) 1997-2022 Free Software Foundation, Inc.
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
2002-01-07 Michael Kifer <kifer@cs.stonybrook.edu>
* viper-init.el (viper-cond-compile-for-xemacs-or-emacs):
new macro that replaces viper-emacs-p and viper-xemacs-p in many
cases. Used to reduce the number of warnings.
* viper-cmd.el: use viper-cond-compile-for-xemacs-or-emacs.
(viper-standard-value): moved here from viper.el.
(viper-set-unread-command-events): moved to viper-util.el
(viper-check-minibuffer-overlay): make sure
viper-minibuffer-overlay is moved to cover the entire input field.
* viper-util.el: use viper-cond-compile-for-xemacs-or-emacs.
(viper-read-key-sequence, viper-set-unread-command-events,
viper-char-symbol-sequence-p, viper-char-array-p): moved here.
* viper-ex.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-keym.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-mous.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-macs.el (viper-char-array-p, viper-char-symbol-sequence-p,
viper-event-vector-p): moved to viper-util.el
* viper.el (viper-standard-value): moved to viper-cmd.el.
Use viper-cond-compile-for-xemacs-or-emacs.
* ediff-help.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-hook.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-init.el (ediff-cond-compile-for-xemacs-or-emacs): new
macro designed to be used in many places where ediff-emacs-p or
ediff-xemacs-p was previously used. Reduces the number of
warnings.
Use ediff-cond-compile-for-xemacs-or-emacs in many places in lieue
of ediff-xemacs-p.
(ediff-make-current-diff-overlay, ediff-highlight-diff-in-one-buffer,
ediff-convert-fine-diffs-to-overlays, ediff-empty-diff-region-p,
ediff-whitespace-diff-region-p, ediff-get-region-contents):
moved to ediff-util.el.
(ediff-event-key): moved here.
* ediff-merge.el: got rid of unreferenced variables.
* ediff-mult.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-util.el: use ediff-cond-compile-for-xemacs-or-emacs.
(ediff-cleanup-mess): improved the way windows are set up after
quitting ediff.
(ediff-janitor): use ediff-dispose-of-variant-according-to-user.
(ediff-dispose-of-variant-according-to-user): new function
designed to be smarter and also understands indirect buffers.
(ediff-highlight-diff-in-one-buffer,
ediff-unhighlight-diff-in-one-buffer,
ediff-unhighlight-diffs-totally-in-one-buffer,
ediff-highlight-diff, ediff-highlight-diff,
ediff-unhighlight-diff, ediff-unhighlight-diffs-totally,
ediff-empty-diff-region-p, ediff-whitespace-diff-region-p,
ediff-get-region-contents, ediff-make-current-diff-overlay):
moved here.
(ediff-format-bindings-of): new function by Hannu Koivisto
<azure@iki.fi>.
(ediff-setup): make sure the merge buffer is always widened and
modifiable.
(ediff-write-merge-buffer-and-maybe-kill): refuse to write the
result of a merge into a file visited by another buffer.
(ediff-arrange-autosave-in-merge-jobs): check if the merge file
is visited by another buffer and ask to save/delete that buffer.
(ediff-verify-file-merge-buffer): new function to do the above.
* ediff-vers.el: load ediff-init.el at compile time.
* ediff-wind.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff.el (ediff-windows, ediff-regions-wordwise,
ediff-regions-linewise): use indirect buffers to improve
robustness and make it possible to compare regions of the same
buffer (even overlapping regions).
(ediff-clone-buffer-for-region-comparison,
ediff-clone-buffer-for-window-comparison): new functions.
(ediff-files-internal): refuse to compare identical files.
(ediff-regions-internal): get rid of the warning about comparing
regions of the same buffer.
* ediff-diff.el (ediff-convert-fine-diffs-to-overlays): moved here.
Plus the following fixes courtesy of Dave Love:
Doc fixes.
(ediff-word-1): Use word class and move - to the
front per regexp documentation.
(ediff-wordify): Bind forward-word-function outside loop.
(ediff-copy-to-buffer): Use insert-buffer-substring rather than
consing buffer contents.
(ediff-goto-word): Move syntax table setting outside loop.
2002-01-08 04:36:01 +00:00
|
|
|
|
;; Author: Michael Kifer <kifer@cs.stonybrook.edu>
|
2010-08-29 12:17:13 -04:00
|
|
|
|
;; Package: viper
|
2001-09-09 22:33:38 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; This file is part of GNU Emacs.
|
|
|
|
|
|
2008-05-06 03:28:01 +00:00
|
|
|
|
;; GNU Emacs is free software: you can redistribute it and/or modify
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; it under the terms of the GNU General Public License as published by
|
2008-05-06 03:28:01 +00:00
|
|
|
|
;; the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
;; (at your option) any later version.
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; GNU Emacs is distributed in the hope that it will be useful,
|
|
|
|
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
;; GNU General Public License for more details.
|
|
|
|
|
|
|
|
|
|
;; You should have received a copy of the GNU General Public License
|
2017-09-13 15:52:52 -07:00
|
|
|
|
;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
2001-07-15 19:53:53 +00:00
|
|
|
|
;;; Commentary:
|
|
|
|
|
|
|
|
|
|
;;; Code:
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; compiler pacifier
|
1997-08-22 03:15:57 +00:00
|
|
|
|
(defvar iso-accents-mode)
|
|
|
|
|
(defvar viper-current-state)
|
1997-06-09 04:00:50 +00:00
|
|
|
|
(defvar viper-version)
|
1997-07-17 19:37:07 +00:00
|
|
|
|
(defvar viper-expert-level)
|
1998-05-04 22:42:59 +00:00
|
|
|
|
(defvar current-input-method)
|
|
|
|
|
(defvar default-input-method)
|
2002-01-07 Michael Kifer <kifer@cs.stonybrook.edu>
* viper-init.el (viper-cond-compile-for-xemacs-or-emacs):
new macro that replaces viper-emacs-p and viper-xemacs-p in many
cases. Used to reduce the number of warnings.
* viper-cmd.el: use viper-cond-compile-for-xemacs-or-emacs.
(viper-standard-value): moved here from viper.el.
(viper-set-unread-command-events): moved to viper-util.el
(viper-check-minibuffer-overlay): make sure
viper-minibuffer-overlay is moved to cover the entire input field.
* viper-util.el: use viper-cond-compile-for-xemacs-or-emacs.
(viper-read-key-sequence, viper-set-unread-command-events,
viper-char-symbol-sequence-p, viper-char-array-p): moved here.
* viper-ex.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-keym.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-mous.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-macs.el (viper-char-array-p, viper-char-symbol-sequence-p,
viper-event-vector-p): moved to viper-util.el
* viper.el (viper-standard-value): moved to viper-cmd.el.
Use viper-cond-compile-for-xemacs-or-emacs.
* ediff-help.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-hook.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-init.el (ediff-cond-compile-for-xemacs-or-emacs): new
macro designed to be used in many places where ediff-emacs-p or
ediff-xemacs-p was previously used. Reduces the number of
warnings.
Use ediff-cond-compile-for-xemacs-or-emacs in many places in lieue
of ediff-xemacs-p.
(ediff-make-current-diff-overlay, ediff-highlight-diff-in-one-buffer,
ediff-convert-fine-diffs-to-overlays, ediff-empty-diff-region-p,
ediff-whitespace-diff-region-p, ediff-get-region-contents):
moved to ediff-util.el.
(ediff-event-key): moved here.
* ediff-merge.el: got rid of unreferenced variables.
* ediff-mult.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-util.el: use ediff-cond-compile-for-xemacs-or-emacs.
(ediff-cleanup-mess): improved the way windows are set up after
quitting ediff.
(ediff-janitor): use ediff-dispose-of-variant-according-to-user.
(ediff-dispose-of-variant-according-to-user): new function
designed to be smarter and also understands indirect buffers.
(ediff-highlight-diff-in-one-buffer,
ediff-unhighlight-diff-in-one-buffer,
ediff-unhighlight-diffs-totally-in-one-buffer,
ediff-highlight-diff, ediff-highlight-diff,
ediff-unhighlight-diff, ediff-unhighlight-diffs-totally,
ediff-empty-diff-region-p, ediff-whitespace-diff-region-p,
ediff-get-region-contents, ediff-make-current-diff-overlay):
moved here.
(ediff-format-bindings-of): new function by Hannu Koivisto
<azure@iki.fi>.
(ediff-setup): make sure the merge buffer is always widened and
modifiable.
(ediff-write-merge-buffer-and-maybe-kill): refuse to write the
result of a merge into a file visited by another buffer.
(ediff-arrange-autosave-in-merge-jobs): check if the merge file
is visited by another buffer and ask to save/delete that buffer.
(ediff-verify-file-merge-buffer): new function to do the above.
* ediff-vers.el: load ediff-init.el at compile time.
* ediff-wind.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff.el (ediff-windows, ediff-regions-wordwise,
ediff-regions-linewise): use indirect buffers to improve
robustness and make it possible to compare regions of the same
buffer (even overlapping regions).
(ediff-clone-buffer-for-region-comparison,
ediff-clone-buffer-for-window-comparison): new functions.
(ediff-files-internal): refuse to compare identical files.
(ediff-regions-internal): get rid of the warning about comparing
regions of the same buffer.
* ediff-diff.el (ediff-convert-fine-diffs-to-overlays): moved here.
Plus the following fixes courtesy of Dave Love:
Doc fixes.
(ediff-word-1): Use word class and move - to the
front per regexp documentation.
(ediff-wordify): Bind forward-word-function outside loop.
(ediff-copy-to-buffer): Use insert-buffer-substring rather than
consing buffer contents.
(ediff-goto-word): Move syntax table setting outside loop.
2002-01-08 04:36:01 +00:00
|
|
|
|
(defvar cursor-type)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; end pacifier
|
|
|
|
|
|
1997-06-09 04:00:50 +00:00
|
|
|
|
|
|
|
|
|
;; Viper version
|
|
|
|
|
(defun viper-version ()
|
|
|
|
|
(interactive)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
(message "Viper version is %s" viper-version))
|
1997-06-09 04:00:50 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; Tell whether we are running as a window application or on a TTY
|
2002-01-07 Michael Kifer <kifer@cs.stonybrook.edu>
* viper-init.el (viper-cond-compile-for-xemacs-or-emacs):
new macro that replaces viper-emacs-p and viper-xemacs-p in many
cases. Used to reduce the number of warnings.
* viper-cmd.el: use viper-cond-compile-for-xemacs-or-emacs.
(viper-standard-value): moved here from viper.el.
(viper-set-unread-command-events): moved to viper-util.el
(viper-check-minibuffer-overlay): make sure
viper-minibuffer-overlay is moved to cover the entire input field.
* viper-util.el: use viper-cond-compile-for-xemacs-or-emacs.
(viper-read-key-sequence, viper-set-unread-command-events,
viper-char-symbol-sequence-p, viper-char-array-p): moved here.
* viper-ex.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-keym.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-mous.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-macs.el (viper-char-array-p, viper-char-symbol-sequence-p,
viper-event-vector-p): moved to viper-util.el
* viper.el (viper-standard-value): moved to viper-cmd.el.
Use viper-cond-compile-for-xemacs-or-emacs.
* ediff-help.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-hook.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-init.el (ediff-cond-compile-for-xemacs-or-emacs): new
macro designed to be used in many places where ediff-emacs-p or
ediff-xemacs-p was previously used. Reduces the number of
warnings.
Use ediff-cond-compile-for-xemacs-or-emacs in many places in lieue
of ediff-xemacs-p.
(ediff-make-current-diff-overlay, ediff-highlight-diff-in-one-buffer,
ediff-convert-fine-diffs-to-overlays, ediff-empty-diff-region-p,
ediff-whitespace-diff-region-p, ediff-get-region-contents):
moved to ediff-util.el.
(ediff-event-key): moved here.
* ediff-merge.el: got rid of unreferenced variables.
* ediff-mult.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-util.el: use ediff-cond-compile-for-xemacs-or-emacs.
(ediff-cleanup-mess): improved the way windows are set up after
quitting ediff.
(ediff-janitor): use ediff-dispose-of-variant-according-to-user.
(ediff-dispose-of-variant-according-to-user): new function
designed to be smarter and also understands indirect buffers.
(ediff-highlight-diff-in-one-buffer,
ediff-unhighlight-diff-in-one-buffer,
ediff-unhighlight-diffs-totally-in-one-buffer,
ediff-highlight-diff, ediff-highlight-diff,
ediff-unhighlight-diff, ediff-unhighlight-diffs-totally,
ediff-empty-diff-region-p, ediff-whitespace-diff-region-p,
ediff-get-region-contents, ediff-make-current-diff-overlay):
moved here.
(ediff-format-bindings-of): new function by Hannu Koivisto
<azure@iki.fi>.
(ediff-setup): make sure the merge buffer is always widened and
modifiable.
(ediff-write-merge-buffer-and-maybe-kill): refuse to write the
result of a merge into a file visited by another buffer.
(ediff-arrange-autosave-in-merge-jobs): check if the merge file
is visited by another buffer and ask to save/delete that buffer.
(ediff-verify-file-merge-buffer): new function to do the above.
* ediff-vers.el: load ediff-init.el at compile time.
* ediff-wind.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff.el (ediff-windows, ediff-regions-wordwise,
ediff-regions-linewise): use indirect buffers to improve
robustness and make it possible to compare regions of the same
buffer (even overlapping regions).
(ediff-clone-buffer-for-region-comparison,
ediff-clone-buffer-for-window-comparison): new functions.
(ediff-files-internal): refuse to compare identical files.
(ediff-regions-internal): get rid of the warning about comparing
regions of the same buffer.
* ediff-diff.el (ediff-convert-fine-diffs-to-overlays): moved here.
Plus the following fixes courtesy of Dave Love:
Doc fixes.
(ediff-word-1): Use word class and move - to the
front per regexp documentation.
(ediff-wordify): Bind forward-word-function outside loop.
(ediff-copy-to-buffer): Use insert-buffer-substring rather than
consing buffer contents.
(ediff-goto-word): Move syntax table setting outside loop.
2002-01-08 04:36:01 +00:00
|
|
|
|
|
2021-03-06 13:03:12 -05:00
|
|
|
|
(define-obsolete-function-alias 'viper-device-type #'window-system "27.1")
|
2002-01-07 Michael Kifer <kifer@cs.stonybrook.edu>
* viper-init.el (viper-cond-compile-for-xemacs-or-emacs):
new macro that replaces viper-emacs-p and viper-xemacs-p in many
cases. Used to reduce the number of warnings.
* viper-cmd.el: use viper-cond-compile-for-xemacs-or-emacs.
(viper-standard-value): moved here from viper.el.
(viper-set-unread-command-events): moved to viper-util.el
(viper-check-minibuffer-overlay): make sure
viper-minibuffer-overlay is moved to cover the entire input field.
* viper-util.el: use viper-cond-compile-for-xemacs-or-emacs.
(viper-read-key-sequence, viper-set-unread-command-events,
viper-char-symbol-sequence-p, viper-char-array-p): moved here.
* viper-ex.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-keym.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-mous.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-macs.el (viper-char-array-p, viper-char-symbol-sequence-p,
viper-event-vector-p): moved to viper-util.el
* viper.el (viper-standard-value): moved to viper-cmd.el.
Use viper-cond-compile-for-xemacs-or-emacs.
* ediff-help.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-hook.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-init.el (ediff-cond-compile-for-xemacs-or-emacs): new
macro designed to be used in many places where ediff-emacs-p or
ediff-xemacs-p was previously used. Reduces the number of
warnings.
Use ediff-cond-compile-for-xemacs-or-emacs in many places in lieue
of ediff-xemacs-p.
(ediff-make-current-diff-overlay, ediff-highlight-diff-in-one-buffer,
ediff-convert-fine-diffs-to-overlays, ediff-empty-diff-region-p,
ediff-whitespace-diff-region-p, ediff-get-region-contents):
moved to ediff-util.el.
(ediff-event-key): moved here.
* ediff-merge.el: got rid of unreferenced variables.
* ediff-mult.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-util.el: use ediff-cond-compile-for-xemacs-or-emacs.
(ediff-cleanup-mess): improved the way windows are set up after
quitting ediff.
(ediff-janitor): use ediff-dispose-of-variant-according-to-user.
(ediff-dispose-of-variant-according-to-user): new function
designed to be smarter and also understands indirect buffers.
(ediff-highlight-diff-in-one-buffer,
ediff-unhighlight-diff-in-one-buffer,
ediff-unhighlight-diffs-totally-in-one-buffer,
ediff-highlight-diff, ediff-highlight-diff,
ediff-unhighlight-diff, ediff-unhighlight-diffs-totally,
ediff-empty-diff-region-p, ediff-whitespace-diff-region-p,
ediff-get-region-contents, ediff-make-current-diff-overlay):
moved here.
(ediff-format-bindings-of): new function by Hannu Koivisto
<azure@iki.fi>.
(ediff-setup): make sure the merge buffer is always widened and
modifiable.
(ediff-write-merge-buffer-and-maybe-kill): refuse to write the
result of a merge into a file visited by another buffer.
(ediff-arrange-autosave-in-merge-jobs): check if the merge file
is visited by another buffer and ask to save/delete that buffer.
(ediff-verify-file-merge-buffer): new function to do the above.
* ediff-vers.el: load ediff-init.el at compile time.
* ediff-wind.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff.el (ediff-windows, ediff-regions-wordwise,
ediff-regions-linewise): use indirect buffers to improve
robustness and make it possible to compare regions of the same
buffer (even overlapping regions).
(ediff-clone-buffer-for-region-comparison,
ediff-clone-buffer-for-window-comparison): new functions.
(ediff-files-internal): refuse to compare identical files.
(ediff-regions-internal): get rid of the warning about comparing
regions of the same buffer.
* ediff-diff.el (ediff-convert-fine-diffs-to-overlays): moved here.
Plus the following fixes courtesy of Dave Love:
Doc fixes.
(ediff-word-1): Use word class and move - to the
front per regexp documentation.
(ediff-wordify): Bind forward-word-function outside loop.
(ediff-copy-to-buffer): Use insert-buffer-substring rather than
consing buffer contents.
(ediff-goto-word): Move syntax table setting outside loop.
2002-01-08 04:36:01 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defun viper-window-display-p ()
|
2019-10-21 21:19:25 +02:00
|
|
|
|
(and window-system (not (memq window-system '(tty stream pc)))))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
2019-10-04 14:44:34 +02:00
|
|
|
|
(defcustom viper-ms-style-os-p (memq system-type '(ms-dos windows-nt))
|
2010-11-09 20:24:47 -08:00
|
|
|
|
"Non-nil if Emacs is running under an MS-style OS: MS-DOS, or MS-Windows."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:tag "Is it Microsoft-made OS?"
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-misc)
|
1997-07-17 19:37:07 +00:00
|
|
|
|
|
2007-06-12 19:20:25 +00:00
|
|
|
|
(defcustom viper-suppress-input-method-change-message nil
|
|
|
|
|
"If t, the message notifying about changes in the input method is not displayed.
|
|
|
|
|
Normally, a message is displayed each time on enters the vi, insert or replace
|
|
|
|
|
state."
|
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'viper-misc)
|
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-force-faces nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"If t, Viper will think that it is running on a display that supports faces.
|
1997-07-17 19:37:07 +00:00
|
|
|
|
This is provided as a temporary relief for users of graphics-capable terminals
|
|
|
|
|
that Viper doesn't know about.
|
|
|
|
|
In all likelihood, you don't need to bother with this setting."
|
|
|
|
|
:type 'boolean
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-highlighting)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defun viper-has-face-support-p ()
|
|
|
|
|
(cond ((viper-window-display-p))
|
|
|
|
|
(viper-force-faces)
|
2022-08-09 22:28:08 +02:00
|
|
|
|
((display-color-p))
|
2019-10-21 21:19:25 +02:00
|
|
|
|
(t (memq window-system '(pc)))))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;;; Macros
|
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defmacro viper-deflocalvar (var default-value &optional documentation)
|
2012-08-05 16:51:59 +08:00
|
|
|
|
"Define VAR as a buffer-local variable.
|
|
|
|
|
DEFAULT-VALUE is the default value, and DOCUMENTATION is the
|
|
|
|
|
docstring. The variable becomes buffer-local whenever set."
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(declare (indent defun)
|
|
|
|
|
(obsolete defvar-local "28.1"))
|
|
|
|
|
`(defvar-local ,var ,default-value ,documentation))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-22 03:15:57 +00:00
|
|
|
|
;; (viper-loop COUNT BODY) Execute BODY COUNT times.
|
|
|
|
|
(defmacro viper-loop (count &rest body)
|
2012-08-05 16:51:59 +08:00
|
|
|
|
(declare (indent defun))
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
`(let ((count ,count))
|
|
|
|
|
(while (> count 0)
|
|
|
|
|
,@body
|
|
|
|
|
(setq count (1- count)))))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defmacro viper-buffer-live-p (buf)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
`(and ,buf (get-buffer ,buf) (buffer-name (get-buffer ,buf))))
|
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; return buffer-specific macro definition, given a full macro definition
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defmacro viper-kbd-buf-alist (macro-elt)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
`(nth 1 ,macro-elt))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; get a pair: (curr-buffer . macro-definition)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defmacro viper-kbd-buf-pair (macro-elt)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
`(assoc (buffer-name) (viper-kbd-buf-alist ,macro-elt)))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; get macro definition for current buffer
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defmacro viper-kbd-buf-definition (macro-elt)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
`(cdr (viper-kbd-buf-pair ,macro-elt)))
|
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; return mode-specific macro definitions, given a full macro definition
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defmacro viper-kbd-mode-alist (macro-elt)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
`(nth 2 ,macro-elt))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; get a pair: (major-mode . macro-definition)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defmacro viper-kbd-mode-pair (macro-elt)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
`(assoc major-mode (viper-kbd-mode-alist ,macro-elt)))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; get macro definition for the current major mode
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defmacro viper-kbd-mode-definition (macro-elt)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
`(cdr (viper-kbd-mode-pair ,macro-elt)))
|
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; return global macro definition, given a full macro definition
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defmacro viper-kbd-global-pair (macro-elt)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
`(nth 3 ,macro-elt))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; get global macro definition from an elt of macro-alist
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defmacro viper-kbd-global-definition (macro-elt)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
`(cdr (viper-kbd-global-pair ,macro-elt)))
|
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; last elt of a sequence
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defsubst viper-seq-last-elt (seq)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
(elt seq (1- (length seq))))
|
1997-08-22 03:15:57 +00:00
|
|
|
|
|
|
|
|
|
(defsubst viper-string-to-list (string)
|
|
|
|
|
(append (vconcat string) nil))
|
|
|
|
|
|
|
|
|
|
(defsubst viper-charlist-to-string (list)
|
2021-03-06 13:03:12 -05:00
|
|
|
|
(mapconcat #'char-to-string list ""))
|
1997-08-22 03:15:57 +00:00
|
|
|
|
|
|
|
|
|
;; like char-after/before, but saves typing
|
|
|
|
|
(defun viper-char-at-pos (direction &optional offset)
|
|
|
|
|
(or (integerp offset) (setq offset 0))
|
|
|
|
|
(if (eq direction 'forward)
|
|
|
|
|
(char-after (+ (point) offset))
|
|
|
|
|
(char-before (- (point) offset))))
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-minibuffer-overlay-priority 300)
|
|
|
|
|
(defvar viper-replace-overlay-priority 400)
|
|
|
|
|
(defvar viper-search-overlay-priority 500)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;;; Viper minor modes
|
|
|
|
|
|
|
|
|
|
;; Mode for vital things like \e, C-z.
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-vi-intercept-minor-mode nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-vi-basic-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Viper's minor mode for Vi bindings.")
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-vi-local-user-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Auxiliary minor mode for user-defined local bindings in Vi state.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-vi-global-user-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Auxiliary minor mode for user-defined global bindings in Vi state.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-vi-state-modifier-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode used to make major-mode-specific modification to Vi state.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-vi-diehard-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"This minor mode is in effect when the user wants Viper to be Vi.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-vi-kbd-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode for Ex command macros in Vi state.
|
|
|
|
|
The corresponding keymap stores key bindings of Vi macros defined with
|
|
|
|
|
the Ex command :map.")
|
|
|
|
|
|
|
|
|
|
;; Mode for vital things like \e, C-z.
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-insert-intercept-minor-mode nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-insert-basic-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Viper's minor mode for bindings in Insert mode.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-insert-local-user-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Auxiliary minor mode for buffer-local user-defined bindings in Insert state.
|
|
|
|
|
This is a way to overshadow normal Insert mode bindings locally to certain
|
|
|
|
|
designated buffers.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-insert-global-user-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Auxiliary minor mode for global user-defined bindings in Insert state.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-insert-state-modifier-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode used to make major-mode-specific modification to Insert state.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-insert-diehard-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode that simulates Vi very closely.
|
2011-11-19 23:30:16 -08:00
|
|
|
|
Not recommended, except for the novice user.")
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-insert-kbd-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode for Ex command macros Insert state.
|
|
|
|
|
The corresponding keymap stores key bindings of Vi macros defined with
|
|
|
|
|
the Ex command :map!.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-replace-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode in effect in replace state (cw, C, and the like commands).")
|
|
|
|
|
|
1997-11-01 01:46:51 +00:00
|
|
|
|
;; Mode for vital things like \C-z and \C-x) This is set to t, when viper-mode
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; is invoked. So, any new buffer will have C-z defined as switch to Vi,
|
|
|
|
|
;; unless we switched states in this buffer
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-emacs-intercept-minor-mode nil)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-emacs-local-user-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode for local user bindings effective in Emacs state.
|
|
|
|
|
Users can use it to override Emacs bindings when Viper is in its Emacs
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
state.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-emacs-global-user-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode for global user bindings in effect in Emacs state.
|
|
|
|
|
Users can use it to override Emacs bindings when Viper is in its Emacs
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
state.")
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-emacs-kbd-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode for Vi style macros in Emacs state.
|
|
|
|
|
The corresponding keymap stores key bindings of Vi macros defined with
|
1999-11-01 07:16:15 +00:00
|
|
|
|
`viper-record-kbd-macro' command. There is no Ex-level command to do this
|
1997-05-31 00:02:53 +00:00
|
|
|
|
interactively.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-emacs-state-modifier-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode used to make major-mode-specific modification to Emacs state.
|
|
|
|
|
For instance, a Vi purist may want to bind `dd' in Dired mode to a function
|
|
|
|
|
that deletes a file.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-vi-minibuffer-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode that forces Vi-style when the Minibuffer is in Vi state.")
|
|
|
|
|
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-insert-minibuffer-minor-mode nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Minor mode that forces Vi-style when the Minibuffer is in Insert state.")
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;; Some common error messages
|
|
|
|
|
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defconst viper-SpuriousText "Spurious text after command")
|
|
|
|
|
(defconst viper-BadExCommand "Not an editor command")
|
|
|
|
|
(defconst viper-InvalidCommandArgument "Invalid command argument")
|
|
|
|
|
(defconst viper-NoPrevSearch "No previous search string")
|
|
|
|
|
(defconst viper-EmptyRegister "`%c': Nothing in this register")
|
|
|
|
|
(defconst viper-InvalidRegister "`%c': Invalid register")
|
|
|
|
|
(defconst viper-EmptyTextmarker "`%c': Text marker doesn't point anywhere")
|
|
|
|
|
(defconst viper-InvalidTextmarker "`%c': Invalid text marker")
|
|
|
|
|
(defconst viper-InvalidViCommand "Invalid command")
|
|
|
|
|
(defconst viper-BadAddress "Ill-formed address")
|
|
|
|
|
(defconst viper-FirstAddrExceedsSecond "First address exceeds second")
|
|
|
|
|
(defconst viper-NoFileSpecified "No file specified")
|
|
|
|
|
(defconst viper-ViperBell "Viper bell")
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
;; Is t until viper-mode executes for the very first time.
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; Prevents recursive descend into startup messages.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-first-time t)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-expert-level (if (boundp 'viper-expert-level) viper-expert-level 0)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"User's expert level.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
The minor mode viper-vi-diehard-minor-mode is in effect when
|
|
|
|
|
viper-expert-level is 1 or 2 or when viper-want-emacs-keys-in-vi is t.
|
|
|
|
|
The minor mode viper-insert-diehard-minor-mode is in effect when
|
|
|
|
|
viper-expert-level is 1 or 2 or if viper-want-emacs-keys-in-insert is t.
|
2015-08-21 14:08:47 -07:00
|
|
|
|
Use `\\[viper-set-expert-level]' to change this.")
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; Max expert level supported by Viper. This is NOT a user option.
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; It is here to make it hard for the user from resetting it.
|
1997-07-17 19:37:07 +00:00
|
|
|
|
(defconst viper-max-expert-level 5)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
|
1997-08-22 03:15:57 +00:00
|
|
|
|
;;; ISO characters and MULE
|
|
|
|
|
|
|
|
|
|
;; If non-nil, ISO accents will be turned on in insert/replace emacs states and
|
|
|
|
|
;; turned off in vi-state. For some users, this behavior may be too
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; primitive. In this case, use insert/emacs/vi state hooks.
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-automatic-iso-accents nil)
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; Set iso-accents-mode to ARG. Check if it is bound first
|
1997-08-22 03:15:57 +00:00
|
|
|
|
(defsubst viper-set-iso-accents-mode (arg)
|
|
|
|
|
(if (boundp 'iso-accents-mode)
|
|
|
|
|
(setq iso-accents-mode arg)))
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-08-22 03:15:57 +00:00
|
|
|
|
;; Internal flag used to control when viper mule hooks are run.
|
|
|
|
|
;; Don't change this!
|
|
|
|
|
(defvar viper-mule-hook-flag t)
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; If non-nil, the default intl. input method is turned on.
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-special-input-method nil)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-08-22 03:15:57 +00:00
|
|
|
|
;; viper hook to run on input-method activation
|
|
|
|
|
(defun viper-activate-input-method-action ()
|
|
|
|
|
(if (null viper-mule-hook-flag)
|
|
|
|
|
()
|
|
|
|
|
(setq viper-special-input-method t)
|
|
|
|
|
;; turn off special input methods in vi-state
|
|
|
|
|
(if (eq viper-current-state 'vi-state)
|
|
|
|
|
(viper-set-input-method nil))
|
2007-06-12 19:20:25 +00:00
|
|
|
|
(if (and (memq viper-current-state '(vi-state insert-state replace-state))
|
|
|
|
|
(not viper-suppress-input-method-change-message))
|
1997-08-22 03:15:57 +00:00
|
|
|
|
(message "Viper special input method%s: on"
|
|
|
|
|
(if (or current-input-method default-input-method)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
(format " %S"
|
1997-08-22 03:15:57 +00:00
|
|
|
|
(or current-input-method default-input-method))
|
|
|
|
|
"")))
|
|
|
|
|
))
|
1998-05-04 22:42:59 +00:00
|
|
|
|
|
1997-08-22 03:15:57 +00:00
|
|
|
|
;; viper hook to run on input-method deactivation
|
2012-07-29 00:16:45 -07:00
|
|
|
|
(defun viper-deactivate-input-method-action ()
|
1997-08-22 03:15:57 +00:00
|
|
|
|
(if (null viper-mule-hook-flag)
|
|
|
|
|
()
|
|
|
|
|
(setq viper-special-input-method nil)
|
2007-06-12 19:20:25 +00:00
|
|
|
|
(if (and (memq viper-current-state '(vi-state insert-state replace-state))
|
|
|
|
|
(not viper-suppress-input-method-change-message))
|
1997-08-22 03:15:57 +00:00
|
|
|
|
(message "Viper special input method%s: off"
|
|
|
|
|
(if (or current-input-method default-input-method)
|
|
|
|
|
(format " %S"
|
|
|
|
|
(or current-input-method default-input-method))
|
|
|
|
|
"")))))
|
|
|
|
|
|
2019-10-04 14:44:34 +02:00
|
|
|
|
(define-obsolete-function-alias 'viper-deactivate-input-method
|
|
|
|
|
#'deactivate-input-method "27.1")
|
|
|
|
|
|
1997-08-22 03:15:57 +00:00
|
|
|
|
(defun viper-activate-input-method ()
|
2019-10-04 14:44:34 +02:00
|
|
|
|
(declare (obsolete activate-input-method "27.1"))
|
|
|
|
|
(activate-input-method default-input-method))
|
1997-08-22 03:15:57 +00:00
|
|
|
|
|
|
|
|
|
;; Set quail-mode to ARG
|
|
|
|
|
(defun viper-set-input-method (arg)
|
|
|
|
|
(setq viper-mule-hook-flag t) ; just a precaution
|
2007-06-12 19:20:25 +00:00
|
|
|
|
(let (viper-mule-hook-flag) ; temporarily deactivate viper mule hooks
|
1997-08-22 03:15:57 +00:00
|
|
|
|
(cond ((and arg (> (prefix-numeric-value arg) 0) default-input-method)
|
|
|
|
|
;; activate input method
|
2019-10-04 14:44:34 +02:00
|
|
|
|
(activate-input-method default-input-method))
|
1997-08-22 03:15:57 +00:00
|
|
|
|
(t ; deactivate input method
|
2019-10-04 14:44:34 +02:00
|
|
|
|
(deactivate-input-method)))))
|
1997-08-22 03:15:57 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; VI-style Undo
|
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-keep-point-on-undo nil
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"Non-nil means not to move point while undoing commands.
|
1999-11-01 07:16:15 +00:00
|
|
|
|
This style is different from Emacs and Vi. Try it to see if
|
1997-07-17 19:37:07 +00:00
|
|
|
|
it better fits your working style."
|
|
|
|
|
:type 'boolean
|
|
|
|
|
:tag "Preserve Position of Point After Undo"
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
:group 'viper)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; Replace mode and changing text
|
|
|
|
|
|
1998-05-04 22:42:59 +00:00
|
|
|
|
;; Hack used to pass global states around for short period of time
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-intermediate-command nil)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
|
|
|
|
|
;; This is used to pass the right Vi command key sequence to
|
|
|
|
|
;; viper-set-destructive-command whenever (this-command-keys) doesn't give the
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; right result. For instance, in commands like c/bla<RET>,
|
|
|
|
|
;; (this-command-keys) will return ^M, which invoked exit-minibuffer, while we
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
;; need "c/"
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defconst viper-this-command-keys nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; Indicates that the current destructive command has started in replace mode.
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-began-as-replace nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-allow-multiline-replace-regions t
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"If non-nil, Viper will allow multi-line replace regions.
|
|
|
|
|
This is an extension to standard Vi.
|
|
|
|
|
If nil, commands that attempt to replace text spanning multiple lines first
|
1997-07-17 19:37:07 +00:00
|
|
|
|
delete the text being replaced, as in standard Vi."
|
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'viper)
|
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-replace-overlay-cursor-color "Red"
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"Cursor color when Viper is in Replace state."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'string
|
|
|
|
|
:group 'viper)
|
2005-08-06 16:58:54 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-insert-state-cursor-color "Green"
|
1997-07-17 19:37:07 +00:00
|
|
|
|
"Cursor color when Viper is in insert state."
|
|
|
|
|
:type 'string
|
|
|
|
|
:group 'viper)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
2006-08-25 16:06:57 +00:00
|
|
|
|
;; viper-emacs-state-cursor-color doesn't work well. Causes cursor colors to be
|
|
|
|
|
;; confused in some cases. So, this var is nulled for now.
|
|
|
|
|
;; (defcustom viper-emacs-state-cursor-color "Magenta"
|
|
|
|
|
(defcustom viper-emacs-state-cursor-color nil
|
2006-11-06 02:32:30 +00:00
|
|
|
|
"Cursor color when Viper is in Emacs state."
|
2013-05-08 21:40:20 -04:00
|
|
|
|
:type '(choice (const nil) string)
|
2006-02-19 Michael Kifer <kifer@cs.stonybrook.edu>
* viper-cmd.el (viper-insert-state-post-command-sentinel,
viper-change-state-to-vi, viper-change-state-to-emacs):
made aware of cursor coloring in the emacs state.
(viper-special-read-and-insert-char): use read-char-exclusive.
(viper-minibuffer-trim-tail): workaround for fields in minibuffer.
* viper-init.el (viper-emacs-state-cursor-color): new variable.
* viper-util.el (viper-save-cursor-color,
viper-get-saved-cursor-color-in-replace-mode,
viper-get-saved-cursor-color-in-insert-mode,
viper-restore-cursor-color): make aware of the cursor color in emacs
state.
(viper-get-saved-cursor-color-in-emacs-mode): new function.
* ediff-diff.el (ediff-ignore-case, ediff-ignore-case-option,
ediff-ignore-case-option3, ediff-actual-diff-options,
ediff-actual-diff3-options): new variables to control case sensitivity.
(ediff-make-diff2-buffer, ediff-setup-fine-diff-regions,
ediff-setup-diff-regions3): made aware of case-sensitivity.
(ediff-toggle-ignore-case): new function.
(ediff-extract-diffs, ediff-extract-diffs3): preserve point in buffers.
* ediff-help.el (ediff-long-help-message-narrow2,
ediff-long-help-message-compare2, ediff-long-help-message-compare3,
ediff-long-help-message-word-mode): add ignore-case command.
(ediff-help-for-quick-help): add ignore-case command.
* ediff-merg.el: move provide to the end.
* ediff-ptch.el: move provide to the end.
* ediff-wind.el: move provide to the end.
* ediff-mult.el: move provide to the end.
(ediff-set-meta-overlay): enable follow-link.
* ediff.el: move provide to the end.
Break recursive load cycle in eval-when-compile.
(ediff-patch-buffer): better heuristics.
* ediff-util.el: move provide to the end.
Break recursive load cycle in eval-when-compile.
(ediff-setup-keymap): add binding for #c. Replaced some defsubsts with
defuns.
(ediff-submit-report): pass the values of ediff-diff3-program,
ediff-diff3-options.
2006-02-19 03:16:45 +00:00
|
|
|
|
:group 'viper)
|
|
|
|
|
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; internal var, used to remember the default cursor color of emacs frames
|
|
|
|
|
(defvar viper-vi-state-cursor-color nil)
|
2007-12-04 03:46:45 +00:00
|
|
|
|
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-replace-overlay nil)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(put 'viper-replace-overlay 'permanent-local t)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-replace-region-end-delimiter "$"
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"A string marking the end of replacement regions.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
It is used only with TTYs or if `viper-use-replace-region-delimiters'
|
1997-07-17 19:37:07 +00:00
|
|
|
|
is non-nil."
|
|
|
|
|
:type 'string
|
|
|
|
|
:group 'viper)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-replace-region-start-delimiter ""
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"A string marking the beginning of replacement regions.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
It is used only with TTYs or if `viper-use-replace-region-delimiters'
|
1997-07-17 19:37:07 +00:00
|
|
|
|
is non-nil."
|
|
|
|
|
:type 'string
|
|
|
|
|
:group 'viper)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
(defcustom viper-use-replace-region-delimiters
|
2019-10-21 21:19:25 +02:00
|
|
|
|
(not (viper-has-face-support-p))
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If non-nil, Viper will always use `viper-replace-region-end-delimiter' and
|
1997-08-02 07:40:22 +00:00
|
|
|
|
`viper-replace-region-start-delimiter' to delimit replacement regions, even on
|
1999-11-01 07:16:15 +00:00
|
|
|
|
color displays. By default, the delimiters are used only on TTYs."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'viper)
|
1999-11-01 07:16:15 +00:00
|
|
|
|
|
2015-03-16 14:49:01 -04:00
|
|
|
|
(defcustom viper-read-buffer-function #'read-buffer
|
1999-11-01 07:16:15 +00:00
|
|
|
|
"Function to use for prompting the user for a buffer name."
|
|
|
|
|
:type 'symbol
|
|
|
|
|
:group 'viper)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; These are local marker that must be initialized to nil and moved with
|
1997-08-02 07:40:22 +00:00
|
|
|
|
;; `viper-move-marker-locally'
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;;
|
|
|
|
|
;; Remember the last position inside the replace region.
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-last-posn-in-replace-region nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; Remember the last position while inserting
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-last-posn-while-in-insert-state nil)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(put 'viper-last-posn-in-replace-region 'permanent-local t)
|
|
|
|
|
(put 'viper-last-posn-while-in-insert-state 'permanent-local t)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-sitting-in-replace nil)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(put 'viper-sitting-in-replace 'permanent-local t)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; Remember the number of characters that have to be deleted in replace
|
|
|
|
|
;; mode to compensate for the inserted characters.
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-replace-chars-to-delete 0)
|
1997-08-22 03:15:57 +00:00
|
|
|
|
;; This variable is used internally by the before/after changed functions to
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; determine how many chars were deleted by the change. This can't be
|
1997-08-22 03:15:57 +00:00
|
|
|
|
;; determined inside after-change-functions because those get the length of the
|
|
|
|
|
;; deleted region, not the number of chars deleted (which are two different
|
|
|
|
|
;; things under MULE).
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-replace-region-chars-deleted 0)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; Insertion ring and command ring
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-insertion-ring-size 14
|
1997-07-17 19:37:07 +00:00
|
|
|
|
"The size of history of inserted text.
|
|
|
|
|
This is a list where Viper keeps the history of previously inserted pieces of
|
|
|
|
|
text."
|
|
|
|
|
:type 'integer
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-misc)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; The insertion ring.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-insertion-ring nil)
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; This is temp insertion ring. Used to do rotation for display purposes.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
;; When rotation just started, it is initialized to viper-insertion-ring.
|
|
|
|
|
(defvar viper-temp-insertion-ring nil)
|
|
|
|
|
(defvar viper-last-inserted-string-from-insertion-ring "")
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-command-ring-size 14
|
1997-07-17 19:37:07 +00:00
|
|
|
|
"The size of history of Vi commands repeatable with dot."
|
|
|
|
|
:type 'integer
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-misc)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; The command ring.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-command-ring nil)
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; This is temp command ring. Used to do rotation for display purposes.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
;; When rotation just started, it is initialized to viper-command-ring.
|
|
|
|
|
(defvar viper-temp-command-ring nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-07-17 19:37:07 +00:00
|
|
|
|
;; Fast keyseq and ESC keyseq timeouts
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-fast-keyseq-timeout 200
|
2020-12-19 17:26:58 +01:00
|
|
|
|
"Max milliseconds for a key sequence to be regarded as a Vi-style macro.
|
|
|
|
|
Only regard key sequence as a macro if it is defined.
|
1999-11-01 07:16:15 +00:00
|
|
|
|
Setting this too high may slow down your typing. Setting this value too low
|
2001-02-07 16:30:51 +00:00
|
|
|
|
will make it hard to use Vi-style timeout macros."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'integer
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-misc)
|
1997-07-17 19:37:07 +00:00
|
|
|
|
|
2008-11-22 06:29:09 +00:00
|
|
|
|
;; This function determines if ESC key sequences are to be translated into
|
|
|
|
|
;; commands.
|
|
|
|
|
(defun viper-translate-all-ESC-keysequences ()
|
|
|
|
|
(not (viper-window-display-p)))
|
2000-02-28 06:16:44 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; Modes and related variables
|
|
|
|
|
|
|
|
|
|
;; Current mode. One of: `emacs-state', `vi-state', `insert-state'
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-current-state 'emacs-state)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;; Autoindent in insert
|
|
|
|
|
|
|
|
|
|
;; Variable that keeps track of whether C-t has been pressed.
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-cted nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; Preserve the indent value, used by C-d in insert mode.
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-current-indent 0)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; Whether to preserve the indent, used by C-d in insert mode.
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-preserve-indent nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-auto-indent nil)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-auto-indent nil
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"Enable autoindent, if t.
|
1997-07-17 19:37:07 +00:00
|
|
|
|
This is a buffer-local variable."
|
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'viper)
|
|
|
|
|
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-electric-mode t)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-electric-mode t
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If t, electrify Viper.
|
1997-07-17 19:37:07 +00:00
|
|
|
|
Currently, this only electrifies auto-indentation, making it appropriate to the
|
|
|
|
|
mode of the buffer.
|
|
|
|
|
This means that auto-indentation will depart from standard Vi and will indent
|
1999-11-01 07:16:15 +00:00
|
|
|
|
appropriate to the mode of the buffer. This is especially useful for editing
|
1997-07-17 19:37:07 +00:00
|
|
|
|
programs and LaTeX documents."
|
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'viper)
|
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-shift-width 8
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"The value of the shiftwidth.
|
1998-05-04 22:42:59 +00:00
|
|
|
|
This determines the number of columns by which the Ctl-t moves the cursor in
|
|
|
|
|
the Insert state."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'integer
|
|
|
|
|
:group 'viper)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; Variables for repeating destructive commands
|
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-keep-point-on-repeat t
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If t, don't move point when repeating previous command.
|
Go back to grave quoting in source-code docstrings etc.
This reverts almost all my recent changes to use curved quotes
in docstrings and/or strings used for error diagnostics.
There are a few exceptions, e.g., Bahá’í proper names.
* admin/unidata/unidata-gen.el (unidata-gen-table):
* lisp/abbrev.el (expand-region-abbrevs):
* lisp/align.el (align-region):
* lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
(outlineify-sticky):
* lisp/apropos.el (apropos-library):
* lisp/bookmark.el (bookmark-default-annotation-text):
* lisp/button.el (button-category-symbol, button-put)
(make-text-button):
* lisp/calc/calc-aent.el (math-read-if, math-read-factor):
* lisp/calc/calc-embed.el (calc-do-embedded):
* lisp/calc/calc-ext.el (calc-user-function-list):
* lisp/calc/calc-graph.el (calc-graph-show-dumb):
* lisp/calc/calc-help.el (calc-describe-key)
(calc-describe-thing, calc-full-help):
* lisp/calc/calc-lang.el (calc-c-language)
(math-parse-fortran-vector-end, math-parse-tex-sum)
(math-parse-eqn-matrix, math-parse-eqn-prime)
(calc-yacas-language, calc-maxima-language, calc-giac-language)
(math-read-giac-subscr, math-read-math-subscr)
(math-read-big-rec, math-read-big-balance):
* lisp/calc/calc-misc.el (calc-help, report-calc-bug):
* lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
(calc-auto-recompute):
* lisp/calc/calc-prog.el (calc-fix-token-name)
(calc-read-parse-table-part, calc-user-define-invocation)
(math-do-arg-check):
* lisp/calc/calc-store.el (calc-edit-variable):
* lisp/calc/calc-units.el (math-build-units-table-buffer):
* lisp/calc/calc-vec.el (math-read-brackets):
* lisp/calc/calc-yank.el (calc-edit-mode):
* lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
* lisp/calendar/appt.el (appt-display-message):
* lisp/calendar/diary-lib.el (diary-check-diary-file)
(diary-mail-entries, diary-from-outlook):
* lisp/calendar/icalendar.el (icalendar-export-region)
(icalendar--convert-float-to-ical)
(icalendar--convert-date-to-ical)
(icalendar--convert-ical-to-diary)
(icalendar--convert-recurring-to-diary)
(icalendar--add-diary-entry):
* lisp/calendar/time-date.el (format-seconds):
* lisp/calendar/timeclock.el (timeclock-mode-line-display)
(timeclock-make-hours-explicit, timeclock-log-data):
* lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
(todo-item-mark, todo-check-format)
(todo-insert-item--next-param, todo-edit-item--next-key)
(todo-mode):
* lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
* lisp/cedet/mode-local.el (describe-mode-local-overload)
(mode-local-print-binding, mode-local-describe-bindings-2):
* lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
* lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
* lisp/cus-start.el (standard):
* lisp/cus-theme.el (describe-theme-1):
* lisp/custom.el (custom-add-dependencies, custom-check-theme)
(custom--sort-vars-1, load-theme):
* lisp/descr-text.el (describe-text-properties-1, describe-char):
* lisp/dired-x.el (dired-do-run-mail):
* lisp/dired.el (dired-log):
* lisp/emacs-lisp/advice.el (ad-read-advised-function)
(ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
(ad-disable-advice, ad-remove-advice, ad-set-argument)
(ad-set-arguments, ad--defalias-fset, ad-activate)
(ad-deactivate):
* lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
(byte-compile-unfold-lambda, byte-optimize-form-code-walker)
(byte-optimize-while, byte-optimize-apply):
* lisp/emacs-lisp/byte-run.el (defun, defsubst):
* lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
(byte-compile-log-file, byte-compile-format-warn)
(byte-compile-nogroup-warn, byte-compile-arglist-warn)
(byte-compile-cl-warn)
(byte-compile-warn-about-unresolved-functions)
(byte-compile-file, byte-compile--declare-var)
(byte-compile-file-form-defmumble, byte-compile-form)
(byte-compile-normal-call, byte-compile-check-variable)
(byte-compile-variable-ref, byte-compile-variable-set)
(byte-compile-subr-wrong-args, byte-compile-setq-default)
(byte-compile-negation-optimizer)
(byte-compile-condition-case--old)
(byte-compile-condition-case--new, byte-compile-save-excursion)
(byte-compile-defvar, byte-compile-autoload)
(byte-compile-lambda-form)
(byte-compile-make-variable-buffer-local, display-call-tree)
(batch-byte-compile):
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
* lisp/emacs-lisp/chart.el (chart-space-usage):
* lisp/emacs-lisp/check-declare.el (check-declare-scan)
(check-declare-warn, check-declare-file)
(check-declare-directory):
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
(checkdoc-message-text-engine):
* lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
(cl--describe-class):
* lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
(cl--generic-describe, cl-generic-generalizers):
* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
(cl-symbol-macrolet):
* lisp/emacs-lisp/cl.el (cl-unload-function, flet):
* lisp/emacs-lisp/copyright.el (copyright)
(copyright-update-directory):
* lisp/emacs-lisp/edebug.el (edebug-read-list):
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
* lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
(eieio-oref):
* lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
* lisp/emacs-lisp/eieio-speedbar.el:
(eieio-speedbar-child-make-tag-lines)
(eieio-speedbar-child-description):
* lisp/emacs-lisp/eieio.el (defclass, change-class):
* lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
(elint-init-form, elint-check-defalias-form)
(elint-check-let-form):
* lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
(ert-results-pop-to-backtrace-for-test-at-point)
(ert-results-pop-to-messages-for-test-at-point)
(ert-results-pop-to-should-forms-for-test-at-point)
(ert-describe-test):
* lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
(find-function-library):
* lisp/emacs-lisp/generator.el (iter-yield):
* lisp/emacs-lisp/gv.el (gv-define-simple-setter):
* lisp/emacs-lisp/lisp-mnt.el (lm-verify):
* lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
* lisp/emacs-lisp/nadvice.el (advice--make-docstring)
(advice--make, define-advice):
* lisp/emacs-lisp/package-x.el (package-upload-file):
* lisp/emacs-lisp/package.el (package-version-join)
(package-disabled-p, package-activate-1, package-activate)
(package--download-one-archive)
(package--download-and-read-archives)
(package-compute-transaction, package-install-from-archive)
(package-install, package-install-selected-packages)
(package-delete, package-autoremove, describe-package-1)
(package-install-button-action, package-delete-button-action)
(package-menu-hide-package, package-menu--list-to-prompt)
(package-menu--perform-transaction)
(package-menu--find-and-notify-upgrades):
* lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
* lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
* lisp/emacs-lisp/ring.el (ring-previous, ring-next):
* lisp/emacs-lisp/rx.el (rx-check, rx-anything)
(rx-check-any-string, rx-check-any, rx-check-not, rx-=)
(rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
(rx-form):
* lisp/emacs-lisp/smie.el (smie-config-save):
* lisp/emacs-lisp/subr-x.el (internal--check-binding):
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
* lisp/emacs-lisp/testcover.el (testcover-1value):
* lisp/emacs-lisp/timer.el (timer-event-handler):
* lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
(viper-toggle-search-style, viper-kill-buffer)
(viper-brac-function):
* lisp/emulation/viper-macs.el (viper-record-kbd-macro):
* lisp/env.el (setenv):
* lisp/erc/erc-button.el (erc-nick-popup):
* lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
* lisp/eshell/em-dirs.el (eshell/cd):
* lisp/eshell/em-glob.el (eshell-glob-regexp)
(eshell-glob-entries):
* lisp/eshell/em-pred.el (eshell-parse-modifiers):
* lisp/eshell/esh-opt.el (eshell-show-usage):
* lisp/facemenu.el (facemenu-add-new-face)
(facemenu-add-new-color):
* lisp/faces.el (read-face-name, read-face-font, describe-face)
(x-resolve-font-name):
* lisp/files-x.el (modify-file-local-variable):
* lisp/files.el (locate-user-emacs-file, find-alternate-file)
(set-auto-mode, hack-one-local-variable--obsolete)
(dir-locals-set-directory-class, write-file, basic-save-buffer)
(delete-directory, copy-directory, recover-session)
(recover-session-finish, insert-directory)
(file-modes-char-to-who, file-modes-symbolic-to-number)
(move-file-to-trash):
* lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
* lisp/find-cmd.el (find-generic, find-to-string):
* lisp/finder.el (finder-commentary):
* lisp/font-lock.el (font-lock-fontify-buffer):
* lisp/format.el (format-write-file, format-find-file)
(format-insert-file):
* lisp/frame.el (get-device-terminal, select-frame-by-name):
* lisp/fringe.el (fringe--check-style):
* lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
* lisp/help-fns.el (help-fns--key-bindings)
(help-fns--compiler-macro, help-fns--parent-mode)
(help-fns--obsolete, help-fns--interactive-only)
(describe-function-1, describe-variable):
* lisp/help.el (describe-mode)
(describe-minor-mode-from-indicator):
* lisp/image.el (image-type):
* lisp/international/ccl.el (ccl-dump):
* lisp/international/fontset.el (x-must-resolve-font-name):
* lisp/international/mule-cmds.el (prefer-coding-system)
(select-safe-coding-system-interactively)
(select-safe-coding-system, activate-input-method)
(toggle-input-method, describe-current-input-method)
(describe-language-environment):
* lisp/international/mule-conf.el (code-offset):
* lisp/international/mule-diag.el (describe-character-set)
(list-input-methods-1):
* lisp/mail/feedmail.el (feedmail-run-the-queue):
* lisp/mouse.el (minor-mode-menu-from-indicator):
* lisp/mpc.el (mpc-playlist-rename):
* lisp/msb.el (msb--choose-menu):
* lisp/net/ange-ftp.el (ange-ftp-shell-command):
* lisp/net/imap.el (imap-interactive-login):
* lisp/net/mairix.el (mairix-widget-create-query):
* lisp/net/newst-backend.el (newsticker--sentinel-work):
* lisp/net/newst-treeview.el (newsticker--treeview-load):
* lisp/net/rlogin.el (rlogin):
* lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
* lisp/obsolete/otodo-mode.el (todo-more-important-p):
* lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
* lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
* lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
* lisp/org/ob-core.el (org-babel-goto-named-src-block)
(org-babel-goto-named-result):
* lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
* lisp/org/ob-ref.el (org-babel-ref-resolve):
* lisp/org/org-agenda.el (org-agenda-prepare):
* lisp/org/org-clock.el (org-clock-notify-once-if-expired)
(org-clock-resolve):
* lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
* lisp/org/org-feed.el (org-feed-parse-atom-entry):
* lisp/org/org-habit.el (org-habit-parse-todo):
* lisp/org/org-mouse.el (org-mouse-popup-global-menu)
(org-mouse-context-menu):
* lisp/org/org-table.el (org-table-edit-formulas):
* lisp/org/ox.el (org-export-async-start):
* lisp/proced.el (proced-log):
* lisp/progmodes/ada-mode.el (ada-get-indent-case)
(ada-check-matching-start, ada-goto-matching-start):
* lisp/progmodes/ada-prj.el (ada-prj-display-page):
* lisp/progmodes/ada-xref.el (ada-find-executable):
* lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
* lisp/progmodes/etags.el (etags-tags-apropos-additional):
* lisp/progmodes/flymake.el (flymake-parse-err-lines)
(flymake-start-syntax-check-process):
* lisp/progmodes/python.el (python-shell-get-process-or-error)
(python-define-auxiliary-skeleton):
* lisp/progmodes/sql.el (sql-comint):
* lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
* lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
* lisp/recentf.el (recentf-open-files):
* lisp/replace.el (query-replace-read-from)
(occur-after-change-function, occur-1):
* lisp/scroll-bar.el (scroll-bar-columns):
* lisp/server.el (server-get-auth-key):
* lisp/simple.el (execute-extended-command)
(undo-outer-limit-truncate, list-processes--refresh)
(compose-mail, set-variable, choose-completion-string)
(define-alternatives):
* lisp/startup.el (site-run-file, tty-handle-args, command-line)
(command-line-1):
* lisp/subr.el (noreturn, define-error, add-to-list)
(read-char-choice, version-to-list):
* lisp/term/common-win.el (x-handle-xrm-switch)
(x-handle-name-switch, x-handle-args):
* lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
* lisp/textmodes/reftex-ref.el (reftex-label):
* lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
* lisp/textmodes/two-column.el (2C-split):
* lisp/tutorial.el (tutorial--describe-nonstandard-key)
(tutorial--find-changed-keys):
* lisp/type-break.el (type-break-noninteractive-query):
* lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
(wdired-do-perm-changes):
* lisp/whitespace.el (whitespace-report-region):
Prefer grave quoting in source-code strings used to generate help
and diagnostics.
* lisp/faces.el (face-documentation):
No need to convert quotes, since the result is a docstring.
* lisp/info.el (Info-virtual-index-find-node)
(Info-virtual-index, info-apropos):
Simplify by generating only curved quotes, since info files are
typically that ways nowadays anyway.
* lisp/international/mule-diag.el (list-input-methods):
Don’t assume text quoting style is curved.
* lisp/org/org-bibtex.el (org-bibtex-fields):
Revert my recent changes, going back to the old quoting style.
2015-09-07 08:41:44 -07:00
|
|
|
|
This is useful for doing repeated changes with the `.' key.
|
1997-05-31 00:02:53 +00:00
|
|
|
|
The user can change this to nil, if she likes when the cursor moves
|
1997-07-17 19:37:07 +00:00
|
|
|
|
to a new place after repeating previous Vi command."
|
|
|
|
|
:type 'boolean
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
:group 'viper)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; Remember insert point as a marker. This is a local marker that must be
|
1997-08-02 07:40:22 +00:00
|
|
|
|
;; initialized to nil and moved with `viper-move-marker-locally'.
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-insert-point nil)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(put 'viper-insert-point 'permanent-local t)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; This remembers the point before dabbrev-expand was called.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
;; If viper-insert-point turns out to be bigger than that, it is reset
|
|
|
|
|
;; back to viper-pre-command-point.
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; The reason this is needed is because dabbrev-expand (and possibly
|
|
|
|
|
;; others) may jump to before the insertion point, delete something and
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; then reinsert a bigger piece. For instance: bla^blo
|
2011-11-22 23:03:56 -08:00
|
|
|
|
;; If dabbrev-expand is called after `blo' and ^ indicates viper-insert-point,
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; then point jumps to the beginning of `blo'. If expansion is found, `blablo'
|
|
|
|
|
;; is deleted, and we have |^, where | denotes point. Next, dabbrev-expand
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; will insert the expansion, and we get: blablo^
|
|
|
|
|
;; Whatever we insert next goes before the ^, i.e., before the
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; viper-insert-point marker. So, Viper will think that nothing was
|
|
|
|
|
;; inserted. Remembering the orig position of the marker circumvents the
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; problem.
|
|
|
|
|
;; We don't know of any command, except dabbrev-expand, that has the same
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; problem. However, the same trick can be used if such a command is
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; discovered later.
|
|
|
|
|
;;
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-pre-command-point nil)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(put 'viper-pre-command-point 'permanent-local t) ; this is probably an overkill
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; This is used for saving inserted text.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-last-insertion nil)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; Remembers the last replaced region.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-last-replace-region "")
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; Remember com point as a marker.
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; This is a local marker. Should be moved with `viper-move-marker-locally'
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-com-point nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; If non-nil, the value is a list (M-COM VAL COM REG inserted-text cmd-keys)
|
|
|
|
|
;; It is used to re-execute last destructive command.
|
|
|
|
|
;; M-COM is a Lisp symbol representing the function to be executed.
|
|
|
|
|
;; VAL is the prefix argument that was used with that command.
|
|
|
|
|
;; COM is an internal descriptor, such as ?r, ?c, ?C, which contains
|
|
|
|
|
;; additional information on how the function in M-COM is to be handled.
|
|
|
|
|
;; REG is the register used by command
|
|
|
|
|
;; INSERTED-TEXT is text inserted by that command (in case of o, c, C, i, r
|
|
|
|
|
;; commands).
|
|
|
|
|
;; COMMAND-KEYS are the keys that were typed to invoke the command.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-d-com nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; The character remembered by the Vi `r' command.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-d-char nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; Name of register to store deleted or yanked strings
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-use-register nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
|
1997-08-22 03:15:57 +00:00
|
|
|
|
;;; Variables for Moves and Searches
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-09-30 01:13:53 +00:00
|
|
|
|
(defgroup viper-search nil
|
2021-09-18 23:39:01 +02:00
|
|
|
|
"Variables that define the search and `query-replace' behavior of Viper."
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:prefix "viper-"
|
|
|
|
|
:group 'viper)
|
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; For use by `;' command.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-f-char nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; For use by `.' command.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-F-char nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; For use by `;' command.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-f-forward nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; For use by `;' command.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-f-offset nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; Last search string
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-s-string "")
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-quote-string "> "
|
1997-07-17 19:37:07 +00:00
|
|
|
|
"String inserted at the beginning of quoted region."
|
|
|
|
|
:type 'string
|
|
|
|
|
:group 'viper)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; If t, search is forward.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-s-forward nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-case-fold-search nil
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If not nil, search ignores cases."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'boolean
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-search)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-re-search t
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If not nil, search is regexp search, otherwise vanilla search."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:tag "Regexp Search"
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-search)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-search-scroll-threshold 2
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If search lands within this threshold from the window top/bottom,
|
1997-05-31 00:02:53 +00:00
|
|
|
|
the window will be scrolled up or down appropriately, to reveal context.
|
|
|
|
|
If you want Viper search to behave as usual in Vi, set this variable to a
|
1997-07-17 19:37:07 +00:00
|
|
|
|
negative number."
|
2013-08-13 00:42:51 -07:00
|
|
|
|
:type 'integer
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-search)
|
1997-07-17 19:37:07 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-re-query-replace t
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If t then do regexp replace, if nil then do string replace."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:tag "Regexp Query Replace"
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-search)
|
1997-07-17 19:37:07 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-re-replace t
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If t, do regexp replace. nil means do string replace."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:tag "Regexp Replace"
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-search)
|
1997-07-17 19:37:07 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-parse-sexp-ignore-comments t
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If t, `%' ignores the parentheses that occur inside comments."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'viper)
|
|
|
|
|
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-ex-style-motion t)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-ex-style-motion t
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If t, the commands l,h do not cross lines, etc (Ex-style).
|
1997-07-17 19:37:07 +00:00
|
|
|
|
If nil, these commands cross line boundaries."
|
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'viper)
|
|
|
|
|
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-ex-style-editing t)
|
1997-08-22 03:15:57 +00:00
|
|
|
|
(defcustom viper-ex-style-editing t
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If t, Ex-style behavior while editing in Vi command and insert states.
|
1997-08-22 03:15:57 +00:00
|
|
|
|
`Backspace' and `Delete' don't cross line boundaries in insert.
|
|
|
|
|
`X' and `x' can't delete characters across line boundary in Vi, etc.
|
1997-07-17 19:37:07 +00:00
|
|
|
|
Note: this doesn't preclude `Backspace' and `Delete' from deleting characters
|
1999-11-01 07:16:15 +00:00
|
|
|
|
by moving past the insertion point. This is a feature, not a bug.
|
1997-08-22 03:15:57 +00:00
|
|
|
|
|
|
|
|
|
If nil, the above commands can work across lines."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'viper)
|
|
|
|
|
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-ESC-moves-cursor-back viper-ex-style-editing)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-ESC-moves-cursor-back nil
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If t, ESC moves cursor back when changing from insert to vi state.
|
1997-08-22 03:15:57 +00:00
|
|
|
|
If nil, the cursor stays where it was when ESC was hit."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'viper)
|
|
|
|
|
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-delete-backwards-in-replace nil)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-delete-backwards-in-replace nil
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If t, DEL key will delete characters while moving the cursor backwards.
|
1997-07-17 19:37:07 +00:00
|
|
|
|
If nil, the cursor will move backwards without deleting anything."
|
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'viper)
|
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-buffer-search-char nil
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"Key used for buffer-searching. Must be a character type, e.g., ?g."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type '(choice (const nil) character)
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-search)
|
1997-07-17 19:37:07 +00:00
|
|
|
|
|
2008-04-06 19:26:02 +00:00
|
|
|
|
(defcustom viper-search-wrap-around t
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"If t, search wraps around."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:tag "Search Wraps Around"
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-search)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-related-files-and-buffers-ring nil)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-related-files-and-buffers-ring nil
|
2020-12-19 17:26:58 +01:00
|
|
|
|
"List of file and buffer names to consider related to the current buffer.
|
1997-07-17 19:37:07 +00:00
|
|
|
|
Related buffers can be cycled through via :R and :P commands."
|
|
|
|
|
:type 'boolean
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-misc)
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(put 'viper-related-files-and-buffers-ring 'permanent-local t)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; Used to find out if we are done with searching the current buffer.
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-local-search-start-marker nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; As above, but global
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-search-start-marker (make-marker))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; the search overlay
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-search-overlay nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
(defvar viper-heading-start
|
1997-05-31 00:02:53 +00:00
|
|
|
|
(concat "^\\s-*(\\s-*defun\\s-\\|" ; lisp
|
|
|
|
|
"^{\\s-*$\\|^[_a-zA-Z][^()]*[()].*{\\s-*$\\|" ; C/C++
|
|
|
|
|
"^\\s-*class.*{\\|^\\s-*struct.*{\\|^\\s-*enum.*{\\|"
|
|
|
|
|
"^\\\\[sb][a-z]*{.*}\\s-*$\\|" ; latex
|
|
|
|
|
"^@node\\|@table\\|^@m?enu\\|^@itemize\\|^@if\\|" ; texinfo
|
|
|
|
|
"^.+:-") ; prolog
|
2015-09-17 16:08:20 -07:00
|
|
|
|
"Regexps for Headings. Used by [[ and ]].")
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
(defvar viper-heading-end
|
1997-05-31 00:02:53 +00:00
|
|
|
|
(concat "^}\\|" ; C/C++
|
|
|
|
|
"^\\\\end{\\|" ; latex
|
|
|
|
|
"^@end \\|" ; texinfo
|
|
|
|
|
")\n\n[ \t\n]*\\|" ; lisp
|
|
|
|
|
"\\.\\s-*$") ; prolog
|
Leading "*" in the doc of defvars is long obsolete.
* lisp/plstore.el (plstore-encrypt-to):
* lisp/cedet/semantic/lex-spp.el
(semantic-lex-spp-macro-max-length-to-save):
* lisp/cedet/semantic/symref.el (semantic-symref-tool):
* lisp/cedet/semantic/bovine/el.el
(semantic-elisp-store-documentation-in-tag):
* lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
(wisent-expected-conflicts):
* lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
* lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
* lisp/gnus/gnus-group.el (gnus-group-listing-limit):
* lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
(gnus-browse-menu-hook):
* lisp/gnus/message.el (message-shoot-gnksa-feet):
* lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
* lisp/gnus/mm-util.el (mm-extra-numeric-entities):
* lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
* lisp/gnus/mml.el (mml-generate-multipart-alist):
* lisp/gnus/nndraft.el (nndraft-required-headers):
* lisp/gnus/nnheader.el (nnheader-max-head-length)
(nnheader-head-chop-length, nnheader-file-name-translation-alist)
(nnheader-directory-separator-character)
(nnheader-pathname-coding-system):
* lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
(nnmail-active-file-coding-system):
* lisp/gnus/nnrss.el (nnrss-file-coding-system):
* lisp/gnus/nntp.el (nntp-record-commands):
* lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
(gnus-score-mode-hook, gnus-score-menu-hook):
* lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
(rfc2047-allow-irregular-q-encoded-words)
(rfc2047-allow-incomplete-encoded-text):
* lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
* lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
* lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
* lisp/net/pop3.el (pop3-password):
* lisp/play/animate.el (animate-n-steps):
* lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
Convert from defvar with leading * to defcustom.
; * lisp/cedet/semantic/lex.el: Comments.
* lisp/emulation/viper-init.el (viper-heading-end):
* lisp/gnus/mm-url.el (mm-url-html-entities):
* lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
* lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
* lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
* lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
(message-from-style, message-interactive, message-indentation-spaces)
(message-signature, message-signature-file):
Remove settings that match the defaults.
(message-setup-hook, message-mode-hook, message-default-headers)
(message-send-hook, message-send-mail-function):
Just use setq rather than redefining.
* lisp/gnus/nnrss.el (nnrss):
* lisp/mail/rfc2047.el (rfc2047):
* lisp/play/animate.el (animate): New custom groups.
2016-06-10 00:23:33 -04:00
|
|
|
|
"Regexps to end Headings/Sections. Used by [].")
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;; These two vars control the interaction of jumps performed by ' and `.
|
|
|
|
|
;; In this new version, '' doesn't erase the marks set by ``, so one can
|
2010-11-02 20:40:54 -07:00
|
|
|
|
;; use both kinds of jumps interchangeably and without losing positions
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; inside the lines.
|
|
|
|
|
|
|
|
|
|
;; Remembers position of the last jump done using ``'.
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-last-jump nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; Remembers position of the last jump done using `''.
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-last-jump-ignore 0)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; History variables
|
|
|
|
|
|
|
|
|
|
;; History of search strings.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-search-history (list ""))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; History of query-replace strings used as a source.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-replace1-history nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; History of query-replace strings used as replacement.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-replace2-history nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; History of region quoting strings.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-quote-region-history (list viper-quote-string))
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; History of Ex-style commands.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-ex-history nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; History of shell commands.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-shell-history nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; Last shell command. There are two of these, one for Ex (in viper-ex)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; and one for Vi.
|
|
|
|
|
|
|
|
|
|
;; Last shell command executed with ! command.
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-last-shell-com nil)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-07 04:48:48 +00:00
|
|
|
|
|
|
|
|
|
;;; Face-saving tricks
|
|
|
|
|
|
|
|
|
|
(defgroup viper-highlighting nil
|
2011-12-04 00:02:42 -08:00
|
|
|
|
"Highlighting of replace region, search pattern, minibuffer, etc."
|
1997-08-07 04:48:48 +00:00
|
|
|
|
:prefix "viper-"
|
|
|
|
|
:group 'viper)
|
|
|
|
|
|
|
|
|
|
|
2005-06-10 10:44:34 +00:00
|
|
|
|
(defface viper-search
|
1997-08-07 04:48:48 +00:00
|
|
|
|
'((((class color)) (:foreground "Black" :background "khaki"))
|
1997-08-09 02:23:32 +00:00
|
|
|
|
(t (:underline t :stipple "gray3")))
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"Face used to flash out the search pattern."
|
1997-08-07 04:48:48 +00:00
|
|
|
|
:group 'viper-highlighting)
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; An internal variable. Viper takes the face from here.
|
2005-06-10 10:44:34 +00:00
|
|
|
|
(defvar viper-search-face 'viper-search
|
1997-09-30 01:13:53 +00:00
|
|
|
|
"Face used to flash out the search pattern.
|
1999-11-01 07:16:15 +00:00
|
|
|
|
DO NOT CHANGE this variable. Instead, use the customization widget
|
2005-07-10 18:46:24 +00:00
|
|
|
|
to customize the actual face object `viper-search'
|
1997-09-30 01:13:53 +00:00
|
|
|
|
this variable represents.")
|
1997-08-07 04:48:48 +00:00
|
|
|
|
|
2005-06-10 10:44:34 +00:00
|
|
|
|
(defface viper-replace-overlay
|
1997-08-07 04:48:48 +00:00
|
|
|
|
'((((class color)) (:foreground "Black" :background "darkseagreen2"))
|
1997-08-09 02:23:32 +00:00
|
|
|
|
(t (:underline t :stipple "gray3")))
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"Face for highlighting replace regions on a window display."
|
1997-08-07 04:48:48 +00:00
|
|
|
|
:group 'viper-highlighting)
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; An internal variable. Viper takes the face from here.
|
2005-06-10 10:44:34 +00:00
|
|
|
|
(defvar viper-replace-overlay-face 'viper-replace-overlay
|
1997-09-30 01:13:53 +00:00
|
|
|
|
"Face for highlighting replace regions on a window display.
|
1999-11-01 07:16:15 +00:00
|
|
|
|
DO NOT CHANGE this variable. Instead, use the customization widget
|
2005-07-10 18:46:24 +00:00
|
|
|
|
to customize the actual face object `viper-replace-overlay'
|
1997-09-30 01:13:53 +00:00
|
|
|
|
this variable represents.")
|
1997-08-07 04:48:48 +00:00
|
|
|
|
|
2005-06-10 10:44:34 +00:00
|
|
|
|
(defface viper-minibuffer-emacs
|
1997-08-07 04:48:48 +00:00
|
|
|
|
'((((class color)) (:foreground "Black" :background "darkseagreen2"))
|
2001-12-31 20:32:52 +00:00
|
|
|
|
(t (:weight bold)))
|
1997-08-07 04:48:48 +00:00
|
|
|
|
"Face used in the Minibuffer when it is in Emacs state."
|
|
|
|
|
:group 'viper-highlighting)
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; An internal variable. Viper takes the face from here.
|
2005-06-10 10:44:34 +00:00
|
|
|
|
(defvar viper-minibuffer-emacs-face 'viper-minibuffer-emacs
|
1997-09-30 01:13:53 +00:00
|
|
|
|
"Face used in the Minibuffer when it is in Emacs state.
|
1999-11-01 07:16:15 +00:00
|
|
|
|
DO NOT CHANGE this variable. Instead, use the customization widget
|
2005-07-10 18:46:24 +00:00
|
|
|
|
to customize the actual face object `viper-minibuffer-emacs'
|
1997-09-30 01:13:53 +00:00
|
|
|
|
this variable represents.")
|
1997-08-07 04:48:48 +00:00
|
|
|
|
|
2005-06-10 10:44:34 +00:00
|
|
|
|
(defface viper-minibuffer-insert
|
1997-08-07 04:48:48 +00:00
|
|
|
|
'((((class color)) (:foreground "Black" :background "pink"))
|
2001-12-31 20:32:52 +00:00
|
|
|
|
(t (:slant italic)))
|
1997-08-07 04:48:48 +00:00
|
|
|
|
"Face used in the Minibuffer when it is in Insert state."
|
|
|
|
|
:group 'viper-highlighting)
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; An internal variable. Viper takes the face from here.
|
2005-06-10 10:44:34 +00:00
|
|
|
|
(defvar viper-minibuffer-insert-face 'viper-minibuffer-insert
|
1997-09-30 01:13:53 +00:00
|
|
|
|
"Face used in the Minibuffer when it is in Insert state.
|
1999-11-01 07:16:15 +00:00
|
|
|
|
DO NOT CHANGE this variable. Instead, use the customization widget
|
2005-07-10 18:46:24 +00:00
|
|
|
|
to customize the actual face object `viper-minibuffer-insert'
|
1997-09-30 01:13:53 +00:00
|
|
|
|
this variable represents.")
|
1997-08-07 04:48:48 +00:00
|
|
|
|
|
2005-06-10 10:44:34 +00:00
|
|
|
|
(defface viper-minibuffer-vi
|
1997-08-07 04:48:48 +00:00
|
|
|
|
'((((class color)) (:foreground "DarkGreen" :background "grey"))
|
|
|
|
|
(t (:inverse-video t)))
|
|
|
|
|
"Face used in the Minibuffer when it is in Vi state."
|
|
|
|
|
:group 'viper-highlighting)
|
1999-11-01 07:16:15 +00:00
|
|
|
|
;; An internal variable. Viper takes the face from here.
|
2005-06-10 10:44:34 +00:00
|
|
|
|
(defvar viper-minibuffer-vi-face 'viper-minibuffer-vi
|
1997-09-30 01:13:53 +00:00
|
|
|
|
"Face used in the Minibuffer when it is in Vi state.
|
1999-11-01 07:16:15 +00:00
|
|
|
|
DO NOT CHANGE this variable. Instead, use the customization widget
|
2005-07-10 18:46:24 +00:00
|
|
|
|
to customize the actual face object `viper-minibuffer-vi'
|
1997-09-30 01:13:53 +00:00
|
|
|
|
this variable represents.")
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-08-07 04:48:48 +00:00
|
|
|
|
;; the current face to be used in the minibuffer
|
2021-09-18 23:39:01 +02:00
|
|
|
|
(defvar-local viper-minibuffer-current-face viper-minibuffer-emacs-face)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;;; Miscellaneous
|
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defvar viper-inhibit-startup-message nil
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Whether Viper startup message should be inhibited.")
|
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-spell-function 'ispell-region
|
1997-07-17 19:37:07 +00:00
|
|
|
|
"Spell function used by #s<move> command to spell."
|
|
|
|
|
:type 'function
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-misc)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-tags-file-name "TAGS"
|
1997-07-17 19:37:07 +00:00
|
|
|
|
"The tags file used by Viper."
|
|
|
|
|
:type 'string
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-misc)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
1999-11-01 07:16:15 +00:00
|
|
|
|
(defcustom viper-change-notification-threshold 1
|
|
|
|
|
"Notify the user when this many lines or characters have been deleted/yanked.
|
|
|
|
|
For line-deleting/yanking commands (like `dd', `yy'), the value denotes the
|
|
|
|
|
number of lines. For character-based commands (such as `x', `dw', etc.), the
|
|
|
|
|
value refers to the number of characters affected."
|
|
|
|
|
:type 'integer
|
|
|
|
|
:group 'viper-misc)
|
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; Minibuffer
|
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-vi-style-in-minibuffer t
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"If t, use vi-style editing in minibuffer.
|
2014-01-26 18:02:28 -08:00
|
|
|
|
Should be set in `viper-custom-file-name'."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'boolean
|
|
|
|
|
:group 'viper)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
;; overlay used in the minibuffer to indicate which state it is in
|
Obsolete viper-deflocalvar for defvar-local
* lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete.
Use defvar-local.
* lisp/emulation/viper-cmd.el (viper--undo-change-group-handle):
* lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode)
(viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode)
(viper-vi-global-user-minor-mode)
(viper-vi-state-modifier-minor-mode)
(viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode)
(viper-insert-intercept-minor-mode)
(viper-insert-basic-minor-mode)
(viper-insert-local-user-minor-mode)
(viper-insert-global-user-minor-mode)
(viper-insert-state-modifier-minor-mode)
(viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode)
(viper-replace-minor-mode, viper-emacs-intercept-minor-mode)
(viper-emacs-local-user-minor-mode)
(viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode)
(viper-emacs-state-modifier-minor-mode)
(viper-vi-minibuffer-minor-mode)
(viper-insert-minibuffer-minor-mode)
(viper-automatic-iso-accents, viper-special-input-method)
(viper-intermediate-command, viper-began-as-replace)
(viper-replace-overlay, viper-last-posn-in-replace-region)
(viper-last-posn-while-in-insert-state)
(viper-sitting-in-replace, viper-replace-chars-to-delete)
(viper-replace-region-chars-deleted, viper-current-state)
(viper-cted, viper-current-indent, viper-preserve-indent)
(viper-auto-indent, viper-electric-mode, viper-insert-point)
(viper-pre-command-point, viper-com-point)
(viper-ex-style-motion, viper-ex-style-editing)
(viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace)
(viper-related-files-and-buffers-ring)
(viper-local-search-start-marker, viper-search-overlay)
(viper-last-jump, viper-last-jump-ignore)
(viper-minibuffer-current-face, viper-minibuffer-overlay):
* lisp/emulation/viper-keym.el (viper-vi-local-user-map)
(viper-insert-local-user-map, viper-emacs-local-user-map)
(viper--key-maps, viper-need-new-vi-local-map)
(viper-need-new-insert-local-map)
(viper-need-new-emacs-local-map):
* lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror)
(viper-mouse-click-search-limit):
* lisp/emulation/viper-util.el (viper-non-word-characters)
(viper-ALPHA-char-class):
* lisp/emulation/viper.el: Use defvar-local instead of now obsolete
macro viper-deflocalvar.
2021-01-31 14:10:10 +01:00
|
|
|
|
(defvar-local viper-minibuffer-overlay nil)
|
1999-11-01 07:16:15 +00:00
|
|
|
|
(put 'viper-minibuffer-overlay 'permanent-local t)
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
2022-08-19 17:59:13 +02:00
|
|
|
|
;; Hook, specific to Viper, which is run just *before* exiting the
|
|
|
|
|
;; minibuffer. This is needed because, the standard
|
1998-05-04 22:42:59 +00:00
|
|
|
|
;; `minibuffer-exit-hook' is run *after* exiting the minibuffer
|
|
|
|
|
(defvar viper-minibuffer-exit-hook nil)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-05-31 00:02:53 +00:00
|
|
|
|
|
|
|
|
|
;; Mode line
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defconst viper-vi-state-id "<V> "
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Mode line tag identifying the Vi mode of Viper.")
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defconst viper-emacs-state-id "<E> "
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Mode line tag identifying the Emacs mode of Viper.")
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defconst viper-insert-state-id "<I> "
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Mode line tag identifying the Insert mode of Viper.")
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defconst viper-replace-state-id "<R> "
|
1997-05-31 00:02:53 +00:00
|
|
|
|
"Mode line tag identifying the Replace mode of Viper.")
|
|
|
|
|
|
|
|
|
|
|
1997-09-30 01:13:53 +00:00
|
|
|
|
(defgroup viper-hooks nil
|
|
|
|
|
"Viper hooks."
|
|
|
|
|
:prefix "viper-"
|
|
|
|
|
:group 'viper)
|
|
|
|
|
|
2000-11-24 08:15:11 +00:00
|
|
|
|
(defcustom viper-vi-state-hook 'viper-restore-cursor-type
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"Hooks run just before the switch to Vi mode is completed."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'hook
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-hooks)
|
2000-11-24 08:15:11 +00:00
|
|
|
|
(defcustom viper-insert-state-hook 'viper-set-insert-cursor-type
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"Hooks run just before the switch to Insert mode is completed."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'hook
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-hooks)
|
2000-11-24 08:15:11 +00:00
|
|
|
|
(defcustom viper-replace-state-hook 'viper-restore-cursor-type
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"Hooks run just before the switch to Replace mode is completed."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'hook
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-hooks)
|
2000-11-24 08:15:11 +00:00
|
|
|
|
(defcustom viper-emacs-state-hook 'viper-restore-cursor-type
|
2012-04-09 21:05:48 +08:00
|
|
|
|
"Hooks run just before the switch to Emacs mode is completed."
|
1997-07-17 19:37:07 +00:00
|
|
|
|
:type 'hook
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-hooks)
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
1997-08-02 07:40:22 +00:00
|
|
|
|
(defcustom viper-load-hook nil
|
1997-07-17 19:37:07 +00:00
|
|
|
|
"Hooks run just after loading Viper."
|
|
|
|
|
:type 'hook
|
1997-09-30 01:13:53 +00:00
|
|
|
|
:group 'viper-hooks)
|
2020-01-16 23:06:04 -08:00
|
|
|
|
(make-obsolete-variable 'viper-load-hook
|
|
|
|
|
"use `with-eval-after-load' instead." "28.1")
|
* emulation/viper-init.el (viper-deflocalvar, viper-loop,
viper-buffer-live-p, viper-kbd-buf-alist, viper-kbd-buf-pair,
viper-kbd-buf-definition, viper-kbd-mode-alist,
viper-kbd-mode-pair, viper-kbd-mode-definition,
viper-kbd-global-pair, viper-kbd-global-definition):
Use the new backquote syntax.
* emulation/viper-cmd.el (viper-test-com-defun,
viper-prefix-arg-value, viper-prefix-arg-com):
Use the new backquote syntax.
1999-11-12 18:40:24 +00:00
|
|
|
|
|
2000-11-24 08:15:11 +00:00
|
|
|
|
(defun viper-restore-cursor-type ()
|
2000-12-25 08:02:26 +00:00
|
|
|
|
(condition-case nil
|
2019-10-21 21:19:25 +02:00
|
|
|
|
(setq cursor-type (default-value 'cursor-type))
|
2002-01-07 Michael Kifer <kifer@cs.stonybrook.edu>
* viper-init.el (viper-cond-compile-for-xemacs-or-emacs):
new macro that replaces viper-emacs-p and viper-xemacs-p in many
cases. Used to reduce the number of warnings.
* viper-cmd.el: use viper-cond-compile-for-xemacs-or-emacs.
(viper-standard-value): moved here from viper.el.
(viper-set-unread-command-events): moved to viper-util.el
(viper-check-minibuffer-overlay): make sure
viper-minibuffer-overlay is moved to cover the entire input field.
* viper-util.el: use viper-cond-compile-for-xemacs-or-emacs.
(viper-read-key-sequence, viper-set-unread-command-events,
viper-char-symbol-sequence-p, viper-char-array-p): moved here.
* viper-ex.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-keym.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-mous.el: use viper-cond-compile-for-xemacs-or-emacs.
* viper-macs.el (viper-char-array-p, viper-char-symbol-sequence-p,
viper-event-vector-p): moved to viper-util.el
* viper.el (viper-standard-value): moved to viper-cmd.el.
Use viper-cond-compile-for-xemacs-or-emacs.
* ediff-help.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-hook.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-init.el (ediff-cond-compile-for-xemacs-or-emacs): new
macro designed to be used in many places where ediff-emacs-p or
ediff-xemacs-p was previously used. Reduces the number of
warnings.
Use ediff-cond-compile-for-xemacs-or-emacs in many places in lieue
of ediff-xemacs-p.
(ediff-make-current-diff-overlay, ediff-highlight-diff-in-one-buffer,
ediff-convert-fine-diffs-to-overlays, ediff-empty-diff-region-p,
ediff-whitespace-diff-region-p, ediff-get-region-contents):
moved to ediff-util.el.
(ediff-event-key): moved here.
* ediff-merge.el: got rid of unreferenced variables.
* ediff-mult.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff-util.el: use ediff-cond-compile-for-xemacs-or-emacs.
(ediff-cleanup-mess): improved the way windows are set up after
quitting ediff.
(ediff-janitor): use ediff-dispose-of-variant-according-to-user.
(ediff-dispose-of-variant-according-to-user): new function
designed to be smarter and also understands indirect buffers.
(ediff-highlight-diff-in-one-buffer,
ediff-unhighlight-diff-in-one-buffer,
ediff-unhighlight-diffs-totally-in-one-buffer,
ediff-highlight-diff, ediff-highlight-diff,
ediff-unhighlight-diff, ediff-unhighlight-diffs-totally,
ediff-empty-diff-region-p, ediff-whitespace-diff-region-p,
ediff-get-region-contents, ediff-make-current-diff-overlay):
moved here.
(ediff-format-bindings-of): new function by Hannu Koivisto
<azure@iki.fi>.
(ediff-setup): make sure the merge buffer is always widened and
modifiable.
(ediff-write-merge-buffer-and-maybe-kill): refuse to write the
result of a merge into a file visited by another buffer.
(ediff-arrange-autosave-in-merge-jobs): check if the merge file
is visited by another buffer and ask to save/delete that buffer.
(ediff-verify-file-merge-buffer): new function to do the above.
* ediff-vers.el: load ediff-init.el at compile time.
* ediff-wind.el: use ediff-cond-compile-for-xemacs-or-emacs.
* ediff.el (ediff-windows, ediff-regions-wordwise,
ediff-regions-linewise): use indirect buffers to improve
robustness and make it possible to compare regions of the same
buffer (even overlapping regions).
(ediff-clone-buffer-for-region-comparison,
ediff-clone-buffer-for-window-comparison): new functions.
(ediff-files-internal): refuse to compare identical files.
(ediff-regions-internal): get rid of the warning about comparing
regions of the same buffer.
* ediff-diff.el (ediff-convert-fine-diffs-to-overlays): moved here.
Plus the following fixes courtesy of Dave Love:
Doc fixes.
(ediff-word-1): Use word class and move - to the
front per regexp documentation.
(ediff-wordify): Bind forward-word-function outside loop.
(ediff-copy-to-buffer): Use insert-buffer-substring rather than
consing buffer contents.
(ediff-goto-word): Move syntax table setting outside loop.
2002-01-08 04:36:01 +00:00
|
|
|
|
(error nil)))
|
2000-11-24 08:15:11 +00:00
|
|
|
|
|
|
|
|
|
(defun viper-set-insert-cursor-type ()
|
2019-10-21 21:19:25 +02:00
|
|
|
|
(setq cursor-type '(bar . 2)))
|
2000-11-24 08:15:11 +00:00
|
|
|
|
|
2008-11-16 04:55:45 +00:00
|
|
|
|
(defun viper-ESC-keyseq-timeout ()
|
2021-09-26 16:50:11 +03:00
|
|
|
|
"Return the timeout for considering an ESC sequence to be a function key.
|
|
|
|
|
Sequences of keys beginning with ESC and separated by no more than this many
|
|
|
|
|
milliseconds are considered to be generated by a keyboard function key.
|
2008-11-16 04:55:45 +00:00
|
|
|
|
Setting this too high may slow down switching from insert to vi state. Setting
|
|
|
|
|
this value too low will make it impossible to use function keys in insert mode
|
|
|
|
|
on a dumb terminal."
|
|
|
|
|
(if (viper-window-display-p)
|
|
|
|
|
0 viper-fast-keyseq-timeout))
|
|
|
|
|
|
|
|
|
|
|
1997-07-17 19:37:07 +00:00
|
|
|
|
|
2007-12-02 21:02:25 +00:00
|
|
|
|
(provide 'viper-init)
|
|
|
|
|
|
2001-07-15 19:53:53 +00:00
|
|
|
|
;;; viper-init.el ends here
|