mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Merge from emacs--devo--0
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-294
This commit is contained in:
commit
0bd5084171
639 changed files with 54366 additions and 5570 deletions
|
|
@ -286,7 +286,7 @@ enabled."
|
|||
"*If non-nil, only highlight region if marked with S-<move>.
|
||||
When this is non-nil, CUA toggles `transient-mark-mode' on when the region
|
||||
is marked using shifted movement keys, and off when the mark is cleared.
|
||||
But when the mark was set using \\[cua-set-mark], transient-mark-mode
|
||||
But when the mark was set using \\[cua-set-mark], Transient Mark mode
|
||||
is not turned on."
|
||||
:type 'boolean
|
||||
:group 'cua)
|
||||
|
|
@ -406,8 +406,8 @@ and after the region marked by the rectangle to search."
|
|||
"Global key used to toggle the cua rectangle mark."
|
||||
:set #'(lambda (symbol value)
|
||||
(set symbol value)
|
||||
(when (and (boundp 'cua--keymaps-initalized)
|
||||
cua--keymaps-initalized)
|
||||
(when (and (boundp 'cua--keymaps-initialized)
|
||||
cua--keymaps-initialized)
|
||||
(define-key cua-global-keymap value
|
||||
'cua-set-rectangle-mark)
|
||||
(when (boundp 'cua--rectangle-keymap)
|
||||
|
|
@ -583,35 +583,37 @@ a cons (TYPE . COLOR), then both properties are affected."
|
|||
|
||||
;;; Rectangle support is in cua-rect.el
|
||||
|
||||
(autoload 'cua-set-rectangle-mark "cua-rect" nil t nil)
|
||||
(autoload 'cua-set-rectangle-mark "cua-rect"
|
||||
"Start rectangle at mouse click position." t nil)
|
||||
|
||||
;; Stub definitions until it is loaded
|
||||
(defvar cua--rectangle)
|
||||
(defvar cua--last-killed-rectangle)
|
||||
(unless (featurep 'cua-rect)
|
||||
(setq cua--rectangle nil
|
||||
cua--last-killed-rectangle nil))
|
||||
|
||||
(when (not (featurep 'cua-rect))
|
||||
(defvar cua--rectangle)
|
||||
(setq cua--rectangle nil)
|
||||
(defvar cua--last-killed-rectangle)
|
||||
(setq cua--last-killed-rectangle nil))
|
||||
|
||||
|
||||
;; All behind cua--rectangle tests.
|
||||
(declare-function cua-copy-rectangle "cua-rect" (arg))
|
||||
(declare-function cua-cut-rectangle "cua-rect" (arg))
|
||||
(declare-function cua--rectangle-left "cua-rect" (&optional val))
|
||||
(declare-function cua--delete-rectangle "cua-rect" ())
|
||||
(declare-function cua--insert-rectangle "cua-rect"
|
||||
(rect &optional below paste-column line-count))
|
||||
(declare-function cua--rectangle-corner "cua-rect" (&optional advance))
|
||||
(declare-function cua--rectangle-assert "cua-rect" ())
|
||||
|
||||
;;; Global Mark support is in cua-gmrk.el
|
||||
|
||||
(autoload 'cua-toggle-global-mark "cua-gmrk" nil t nil)
|
||||
|
||||
;; Stub definitions until cua-gmrk.el is loaded
|
||||
|
||||
(when (not (featurep 'cua-gmrk))
|
||||
(defvar cua--global-mark-active)
|
||||
(defvar cua--global-mark-active)
|
||||
(unless (featurep 'cua-gmrk)
|
||||
(setq cua--global-mark-active nil))
|
||||
|
||||
|
||||
(provide 'cua-base)
|
||||
|
||||
(eval-when-compile
|
||||
(require 'cua-rect)
|
||||
(require 'cua-gmrk)
|
||||
)
|
||||
(declare-function cua--insert-at-global-mark "cua-gmrk" (str &optional msg))
|
||||
(declare-function cua--global-mark-post-command "cua-gmrk" ())
|
||||
|
||||
|
||||
;;; Low-level Interface
|
||||
|
|
@ -874,6 +876,8 @@ With numeric prefix arg, copy to register 0-9 instead."
|
|||
(if (fboundp 'cua--cancel-rectangle)
|
||||
(cua--cancel-rectangle)))
|
||||
|
||||
(declare-function x-clipboard-yank "../term/x-win" ())
|
||||
|
||||
(defun cua-paste (arg)
|
||||
"Paste last cut or copied region or rectangle.
|
||||
An active region is deleted before executing the command.
|
||||
|
|
@ -918,6 +922,7 @@ If global mark is active, copy from register or one character."
|
|||
(cond
|
||||
(regtxt
|
||||
(cond
|
||||
;; This being a cons implies cua-rect is loaded?
|
||||
((consp regtxt) (cua--insert-rectangle regtxt))
|
||||
((stringp regtxt) (insert-for-yank regtxt))
|
||||
(t (message "Unknown data in register %c" cua--register))))
|
||||
|
|
@ -954,8 +959,8 @@ If global mark is active, copy from register or one character."
|
|||
|
||||
(defun cua-paste-pop (arg)
|
||||
"Replace a just-pasted text or rectangle with a different text.
|
||||
See `yank-pop' for details about the default behaviour. For an alternative
|
||||
behaviour, see `cua-paste-pop-rotate-temporarily'."
|
||||
See `yank-pop' for details about the default behavior. For an alternative
|
||||
behavior, see `cua-paste-pop-rotate-temporarily'."
|
||||
(interactive "P")
|
||||
(cond
|
||||
((eq last-command 'cua--paste-rectangle)
|
||||
|
|
@ -1225,22 +1230,26 @@ If ARG is the atom `-', scroll upward by nearly full screen."
|
|||
|
||||
;; Handle shifted cursor keys and other movement commands.
|
||||
;; If region is not active, region is activated if key is shifted.
|
||||
;; If region is active, region is cancelled if key is unshifted (and region not started with C-SPC).
|
||||
;; If rectangle is active, expand rectangle in specified direction and ignore the movement.
|
||||
;; If region is active, region is cancelled if key is unshifted
|
||||
;; (and region not started with C-SPC).
|
||||
;; If rectangle is active, expand rectangle in specified direction and
|
||||
;; ignore the movement.
|
||||
((if window-system
|
||||
;; Shortcut for window-system, assuming that input-decode-map is empty.
|
||||
(memq 'shift (event-modifiers
|
||||
(aref (this-single-command-raw-keys) 0)))
|
||||
(or
|
||||
;; Check if the final key-sequence was shifted.
|
||||
(memq 'shift (event-modifiers
|
||||
(aref (this-single-command-keys) 0)))
|
||||
;; See if raw escape sequence maps to a shifted event, e.g. S-up or C-S-home.
|
||||
(and (boundp 'local-function-key-map)
|
||||
local-function-key-map
|
||||
(let ((ev (lookup-key local-function-key-map
|
||||
(this-single-command-raw-keys))))
|
||||
(and (vector ev)
|
||||
(symbolp (setq ev (aref ev 0)))
|
||||
(string-match "S-" (symbol-name ev)))))))
|
||||
;; If not, maybe the raw key-sequence was mapped by input-decode-map
|
||||
;; to a shifted key (and then mapped down to its unshifted form).
|
||||
(let* ((keys (this-single-command-raw-keys))
|
||||
(ev (lookup-key input-decode-map keys)))
|
||||
(or (and (vector ev) (memq 'shift (event-modifiers (aref ev 0))))
|
||||
;; Or maybe, the raw key-sequence was not an escape sequence
|
||||
;; and was shifted (and then mapped down to its unshifted form).
|
||||
(memq 'shift (event-modifiers (aref keys 0)))))))
|
||||
(unless mark-active
|
||||
(push-mark-command nil t))
|
||||
(setq cua--last-region-shifted t)
|
||||
|
|
@ -1326,8 +1335,8 @@ If ARG is the atom `-', scroll upward by nearly full screen."
|
|||
(defvar cua--cua-keys-keymap (make-sparse-keymap))
|
||||
(defvar cua--prefix-override-keymap (make-sparse-keymap))
|
||||
(defvar cua--prefix-repeat-keymap (make-sparse-keymap))
|
||||
(defvar cua--global-mark-keymap (make-sparse-keymap)) ; Initalized when cua-gmrk.el is loaded
|
||||
(defvar cua--rectangle-keymap (make-sparse-keymap)) ; Initalized when cua-rect.el is loaded
|
||||
(defvar cua--global-mark-keymap (make-sparse-keymap)) ; Initialized when cua-gmrk.el is loaded
|
||||
(defvar cua--rectangle-keymap (make-sparse-keymap)) ; Initialized when cua-rect.el is loaded
|
||||
(defvar cua--region-keymap (make-sparse-keymap))
|
||||
|
||||
(defvar cua--ena-cua-keys-keymap nil)
|
||||
|
|
@ -1370,7 +1379,7 @@ If ARG is the atom `-', scroll upward by nearly full screen."
|
|||
(and cua--global-mark-active
|
||||
(not (window-minibuffer-p)))))
|
||||
|
||||
(defvar cua--keymaps-initalized nil)
|
||||
(defvar cua--keymaps-initialized nil)
|
||||
|
||||
(defun cua--shift-control-prefix (prefix arg)
|
||||
;; handle S-C-x and S-C-c by emulating the fast double prefix function.
|
||||
|
|
@ -1534,9 +1543,9 @@ shifted movement key, set `cua-highlight-region-shift-only'."
|
|||
(setq mark-even-if-inactive t)
|
||||
(setq highlight-nonselected-windows nil)
|
||||
|
||||
(unless cua--keymaps-initalized
|
||||
(unless cua--keymaps-initialized
|
||||
(cua--init-keymaps)
|
||||
(setq cua--keymaps-initalized t))
|
||||
(setq cua--keymaps-initialized t))
|
||||
|
||||
(if cua-mode
|
||||
(progn
|
||||
|
|
@ -1600,7 +1609,7 @@ shifted movement key, set `cua-highlight-region-shift-only'."
|
|||
(setq cua--debug (not cua--debug)))
|
||||
|
||||
|
||||
(provide 'cua)
|
||||
(provide 'cua-base)
|
||||
|
||||
;;; arch-tag: 21fb6289-ba25-4fee-bfdc-f9fb351acf05
|
||||
;;; cua-base.el ends here
|
||||
|
|
|
|||
|
|
@ -27,8 +27,6 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(provide 'cua-gmrk)
|
||||
|
||||
(eval-when-compile
|
||||
(require 'cua-base)
|
||||
(require 'cua-rect)
|
||||
|
|
@ -386,5 +384,7 @@ With prefix argument, don't jump to global mark when cancelling it."
|
|||
|
||||
(setq cua--global-mark-initialized t))
|
||||
|
||||
(provide 'cua-gmrk)
|
||||
|
||||
;;; arch-tag: 553d8076-a91d-48ae-825d-6cb962a5f67f
|
||||
;;; cua-gmrk.el ends here
|
||||
|
|
|
|||
|
|
@ -33,12 +33,8 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(provide 'cua-rect)
|
||||
|
||||
(eval-when-compile
|
||||
(require 'cua-base)
|
||||
(require 'cua-gmrk)
|
||||
)
|
||||
(require 'cua-base))
|
||||
|
||||
;;; Rectangle support
|
||||
|
||||
|
|
@ -1061,6 +1057,9 @@ The text previously in the rectangle is overwritten by the blanks."
|
|||
;; (setq cua-save-point (point))
|
||||
))))
|
||||
|
||||
(declare-function cua--cut-rectangle-to-global-mark "cua-gmrk" (as-text))
|
||||
(declare-function cua--copy-rectangle-to-global-mark "cua-gmrk" (as-text))
|
||||
|
||||
(defun cua-copy-rectangle-as-text (&optional arg delete)
|
||||
"Copy rectangle, but store as normal text."
|
||||
(interactive "P")
|
||||
|
|
@ -1491,5 +1490,7 @@ With prefix arg, indent to that column."
|
|||
|
||||
(setq cua--rectangle-initialized t))
|
||||
|
||||
(provide 'cua-rect)
|
||||
|
||||
;;; arch-tag: b730df53-17b9-4a89-bd63-4a71ec196731
|
||||
;;; cua-rect.el ends here
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@
|
|||
;; The following functions are called by the EDT screen width commands defined
|
||||
;; in edt.el.
|
||||
|
||||
(declare-function vt100-wide-mode "../term/vt100" (&optional arg))
|
||||
|
||||
(defun edt-set-term-width-80 ()
|
||||
"Set terminal width to 80 columns."
|
||||
(vt100-wide-mode -1))
|
||||
|
|
|
|||
|
|
@ -166,28 +166,23 @@
|
|||
;;;; VARIABLES and CONSTANTS
|
||||
;;;;
|
||||
|
||||
;; For backward compatibility to Emacs 19.
|
||||
(or (fboundp 'defgroup)
|
||||
(defmacro defgroup (&rest rest)))
|
||||
|
||||
(defgroup edt nil
|
||||
"Emacs emulating EDT."
|
||||
:prefix "edt-"
|
||||
:group 'emulations)
|
||||
|
||||
;; To silence the byte-compiler
|
||||
(eval-when-compile
|
||||
(defvar *EDT-keys*)
|
||||
(defvar edt-default-global-map)
|
||||
(defvar edt-last-copied-word)
|
||||
(defvar edt-learn-macro-count)
|
||||
(defvar edt-orig-page-delimiter)
|
||||
(defvar edt-orig-transient-mark-mode)
|
||||
(defvar edt-rect-start-point)
|
||||
(defvar edt-user-global-map)
|
||||
(defvar rect-start-point)
|
||||
(defvar time-string)
|
||||
(defvar zmacs-region-stays))
|
||||
(defvar *EDT-keys*)
|
||||
(defvar edt-default-global-map)
|
||||
(defvar edt-last-copied-word)
|
||||
(defvar edt-learn-macro-count)
|
||||
(defvar edt-orig-page-delimiter)
|
||||
(defvar edt-orig-transient-mark-mode)
|
||||
(defvar edt-rect-start-point)
|
||||
(defvar edt-user-global-map)
|
||||
(defvar rect-start-point)
|
||||
(defvar time-string)
|
||||
(defvar zmacs-region-stays)
|
||||
|
||||
;;;
|
||||
;;; Version Information
|
||||
|
|
@ -198,11 +193,6 @@
|
|||
;;; User Configurable Variables
|
||||
;;;
|
||||
|
||||
;; For backward compatibility to Emacs 19.
|
||||
(or (fboundp 'defcustom)
|
||||
(defmacro defcustom (var value doc &rest ignore)
|
||||
`(defvar ,var ,value ,doc)))
|
||||
|
||||
(defcustom edt-keep-current-page-delimiter nil
|
||||
"*Emacs MUST be restarted for a change in value to take effect!
|
||||
Non-nil leaves Emacs value of `page-delimiter' unchanged within EDT
|
||||
|
|
@ -1628,6 +1618,8 @@ Argument NUM is the percentage into the buffer to move."
|
|||
(indent-region (point) (mark) nil)
|
||||
(fill-region (point) (mark))))
|
||||
|
||||
|
||||
(declare-function c-mark-function "cc-cmds" ())
|
||||
;;;
|
||||
;;; MARK SECTION WISELY
|
||||
;;;
|
||||
|
|
@ -2237,7 +2229,10 @@ Optional argument USER-SETUP non-nil means called from function
|
|||
;; function edt-setup-extra-default-bindings.
|
||||
(define-prefix-command 'edt-user-gold-map)
|
||||
(fset 'edt-user-gold-map (copy-keymap 'edt-default-gold-map))
|
||||
(edt-setup-user-bindings)
|
||||
;; This is a function that the user can define for custom bindings.
|
||||
;; See etc/edt-user.doc.
|
||||
(if (fboundp 'edt-setup-user-bindings)
|
||||
(edt-setup-user-bindings))
|
||||
(edt-select-user-global-map))
|
||||
|
||||
(defun edt-select-default-global-map()
|
||||
|
|
|
|||
|
|
@ -135,8 +135,8 @@ restored to their original values when PC Selection mode is toggled off.")
|
|||
|
||||
(unless pc-select-default-key-bindings
|
||||
(let ((lst
|
||||
;; This is to avoid confusion with the delete-selection-mode
|
||||
;; On simple displays you cant see that a region is active and
|
||||
;; This is to avoid confusion with the delete-selection-mode.
|
||||
;; On simple displays you can't see that a region is active and
|
||||
;; will be deleted on the next keypress IMHO especially for
|
||||
;; copy-region-as-kill this is confusing.
|
||||
;; The same goes for exchange-point-and-mark
|
||||
|
|
@ -182,7 +182,7 @@ restored to their original values when PC Selection mode is toggled off.")
|
|||
([prior] . scroll-down-nomark)
|
||||
|
||||
;; Next four lines are from Pete Forman.
|
||||
([C-down] . forward-paragraph-nomark) ; KNextPara cDn
|
||||
([C-down] . forward-paragraph-nomark) ; KNextPara cDn
|
||||
([C-up] . backward-paragraph-nomark) ; KPrevPara cUp
|
||||
([S-C-down] . forward-paragraph-mark)
|
||||
([S-C-up] . backward-paragraph-mark))))
|
||||
|
|
@ -281,10 +281,17 @@ and `transient-mark-mode'."
|
|||
;;;;
|
||||
;; non-interactive
|
||||
;;;;
|
||||
(defun ensure-mark()
|
||||
(defun pc-select-ensure-mark ()
|
||||
;; make sure mark is active
|
||||
;; test if it is active, if it isn't, set it and activate it
|
||||
(or mark-active (set-mark-command nil)))
|
||||
(or mark-active (set-mark-command nil))
|
||||
;; Remember who activated the mark.
|
||||
(setq mark-active 'pc-select))
|
||||
|
||||
(defun pc-select-maybe-deactivate-mark ()
|
||||
;; maybe switch off mark (only if *we* switched it on)
|
||||
(when (eq mark-active 'pc-select)
|
||||
(deactivate-mark)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;; forward and mark
|
||||
|
|
@ -294,7 +301,7 @@ and `transient-mark-mode'."
|
|||
"Ensure mark is active; move point right ARG characters (left if ARG negative).
|
||||
On reaching end of buffer, stop and signal error."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(forward-char arg))
|
||||
|
||||
(defun forward-word-mark (&optional arg)
|
||||
|
|
@ -303,13 +310,13 @@ Normally returns t.
|
|||
If an edge of the buffer is reached, point is left there
|
||||
and nil is returned."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(forward-word arg))
|
||||
|
||||
(defun forward-line-mark (&optional arg)
|
||||
"Ensure mark is active; move cursor vertically down ARG lines."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(forward-line arg)
|
||||
(setq this-command 'forward-line)
|
||||
)
|
||||
|
|
@ -319,7 +326,7 @@ and nil is returned."
|
|||
With argument, do it that many times. Negative arg -N means
|
||||
move backward across N balanced expressions."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(forward-sexp arg))
|
||||
|
||||
(defun forward-paragraph-mark (&optional arg)
|
||||
|
|
@ -331,7 +338,7 @@ A line which `paragraph-start' matches either separates paragraphs
|
|||
A paragraph end is the beginning of a line which is not part of the paragraph
|
||||
to which the end of the previous line belongs, or the end of the buffer."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(forward-paragraph arg))
|
||||
|
||||
(defun next-line-mark (&optional arg)
|
||||
|
|
@ -350,7 +357,7 @@ a semipermanent goal column to which this command always moves.
|
|||
Then it does not try to move vertically. This goal column is stored
|
||||
in `goal-column', which is nil when there is none."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(with-no-warnings (next-line arg))
|
||||
(setq this-command 'next-line))
|
||||
|
||||
|
|
@ -359,14 +366,14 @@ in `goal-column', which is nil when there is none."
|
|||
With argument ARG not nil or 1, move forward ARG - 1 lines first.
|
||||
If scan reaches end of buffer, stop there without error."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(end-of-line arg)
|
||||
(setq this-command 'end-of-line))
|
||||
|
||||
(defun backward-line-mark (&optional arg)
|
||||
"Ensure mark is active; move cursor vertically up ARG lines."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(if (null arg)
|
||||
(setq arg 1))
|
||||
(forward-line (- arg))
|
||||
|
|
@ -379,7 +386,7 @@ A near full screen is `next-screen-context-lines' less than a full screen.
|
|||
Negative ARG means scroll upward.
|
||||
When calling from a program, supply a number as argument or nil."
|
||||
(interactive "P")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(cond (pc-select-override-scroll-error
|
||||
(condition-case nil (scroll-down arg)
|
||||
(beginning-of-buffer (goto-char (point-min)))))
|
||||
|
|
@ -395,7 +402,7 @@ of the accessible part of the buffer.
|
|||
Don't use this command in Lisp programs!
|
||||
\(goto-char \(point-max)) is faster and avoids clobbering the mark."
|
||||
(interactive "P")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(let ((size (- (point-max) (point-min))))
|
||||
(goto-char (if arg
|
||||
(- (point-max)
|
||||
|
|
@ -427,7 +434,7 @@ Don't use this command in Lisp programs!
|
|||
"Deactivate mark; move point right ARG characters \(left if ARG negative).
|
||||
On reaching end of buffer, stop and signal error."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(forward-char arg))
|
||||
|
||||
(defun forward-word-nomark (&optional arg)
|
||||
|
|
@ -436,13 +443,13 @@ Normally returns t.
|
|||
If an edge of the buffer is reached, point is left there
|
||||
and nil is returned."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(forward-word arg))
|
||||
|
||||
(defun forward-line-nomark (&optional arg)
|
||||
"Deactivate mark; move cursor vertically down ARG lines."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(forward-line arg)
|
||||
(setq this-command 'forward-line)
|
||||
)
|
||||
|
|
@ -452,7 +459,7 @@ and nil is returned."
|
|||
With argument, do it that many times. Negative arg -N means
|
||||
move backward across N balanced expressions."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(forward-sexp arg))
|
||||
|
||||
(defun forward-paragraph-nomark (&optional arg)
|
||||
|
|
@ -464,7 +471,7 @@ A line which `paragraph-start' matches either separates paragraphs
|
|||
A paragraph end is the beginning of a line which is not part of the paragraph
|
||||
to which the end of the previous line belongs, or the end of the buffer."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(forward-paragraph arg))
|
||||
|
||||
(defun next-line-nomark (&optional arg)
|
||||
|
|
@ -483,7 +490,7 @@ a semipermanent goal column to which this command always moves.
|
|||
Then it does not try to move vertically. This goal column is stored
|
||||
in `goal-column', which is nil when there is none."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(with-no-warnings (next-line arg))
|
||||
(setq this-command 'next-line))
|
||||
|
||||
|
|
@ -492,14 +499,14 @@ in `goal-column', which is nil when there is none."
|
|||
With argument ARG not nil or 1, move forward ARG - 1 lines first.
|
||||
If scan reaches end of buffer, stop there without error."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(end-of-line arg)
|
||||
(setq this-command 'end-of-line))
|
||||
|
||||
(defun backward-line-nomark (&optional arg)
|
||||
"Deactivate mark; move cursor vertically up ARG lines."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(if (null arg)
|
||||
(setq arg 1))
|
||||
(forward-line (- arg))
|
||||
|
|
@ -512,7 +519,7 @@ A near full screen is `next-screen-context-lines' less than a full screen.
|
|||
Negative ARG means scroll upward.
|
||||
When calling from a program, supply a number as argument or nil."
|
||||
(interactive "P")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(cond (pc-select-override-scroll-error
|
||||
(condition-case nil (scroll-down arg)
|
||||
(beginning-of-buffer (goto-char (point-min)))))
|
||||
|
|
@ -528,7 +535,7 @@ of the accessible part of the buffer.
|
|||
Don't use this command in Lisp programs!
|
||||
\(goto-char (point-max)) is faster and avoids clobbering the mark."
|
||||
(interactive "P")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(let ((size (- (point-max) (point-min))))
|
||||
(goto-char (if arg
|
||||
(- (point-max)
|
||||
|
|
@ -561,14 +568,14 @@ Don't use this command in Lisp programs!
|
|||
"Ensure mark is active; move point left ARG characters (right if ARG negative).
|
||||
On attempt to pass beginning or end of buffer, stop and signal error."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(backward-char arg))
|
||||
|
||||
(defun backward-word-mark (&optional arg)
|
||||
"Ensure mark is active; move backward until encountering the end of a word.
|
||||
With argument, do this that many times."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(backward-word arg))
|
||||
|
||||
(defun backward-sexp-mark (&optional arg)
|
||||
|
|
@ -576,7 +583,7 @@ With argument, do this that many times."
|
|||
With argument, do it that many times. Negative arg -N means
|
||||
move forward across N balanced expressions."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(backward-sexp arg))
|
||||
|
||||
(defun backward-paragraph-mark (&optional arg)
|
||||
|
|
@ -591,7 +598,7 @@ blank line.
|
|||
|
||||
See `forward-paragraph' for more information."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(backward-paragraph arg))
|
||||
|
||||
(defun previous-line-mark (&optional arg)
|
||||
|
|
@ -608,7 +615,7 @@ If you are thinking of using this in a Lisp program, consider using
|
|||
`forward-line' with a negative argument instead. It is usually easier
|
||||
to use and more reliable (no dependence on goal column, etc.)."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(with-no-warnings (previous-line arg))
|
||||
(setq this-command 'previous-line))
|
||||
|
||||
|
|
@ -617,7 +624,7 @@ to use and more reliable (no dependence on goal column, etc.)."
|
|||
With argument ARG not nil or 1, move forward ARG - 1 lines first.
|
||||
If scan reaches end of buffer, stop there without error."
|
||||
(interactive "p")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(beginning-of-line arg))
|
||||
|
||||
|
||||
|
|
@ -627,7 +634,7 @@ A near full screen is `next-screen-context-lines' less than a full screen.
|
|||
Negative ARG means scroll downward.
|
||||
When calling from a program, supply a number as argument or nil."
|
||||
(interactive "P")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(cond (pc-select-override-scroll-error
|
||||
(condition-case nil (scroll-up arg)
|
||||
(end-of-buffer (goto-char (point-max)))))
|
||||
|
|
@ -643,7 +650,7 @@ of the accessible part of the buffer.
|
|||
Don't use this command in Lisp programs!
|
||||
\(goto-char (p\oint-min)) is faster and avoids clobbering the mark."
|
||||
(interactive "P")
|
||||
(ensure-mark)
|
||||
(pc-select-ensure-mark)
|
||||
(let ((size (- (point-max) (point-min))))
|
||||
(goto-char (if arg
|
||||
(+ (point-min)
|
||||
|
|
@ -663,14 +670,14 @@ Don't use this command in Lisp programs!
|
|||
"Deactivate mark; move point left ARG characters (right if ARG negative).
|
||||
On attempt to pass beginning or end of buffer, stop and signal error."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(backward-char arg))
|
||||
|
||||
(defun backward-word-nomark (&optional arg)
|
||||
"Deactivate mark; move backward until encountering the end of a word.
|
||||
With argument, do this that many times."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(backward-word arg))
|
||||
|
||||
(defun backward-sexp-nomark (&optional arg)
|
||||
|
|
@ -678,7 +685,7 @@ With argument, do this that many times."
|
|||
With argument, do it that many times. Negative arg -N means
|
||||
move forward across N balanced expressions."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(backward-sexp arg))
|
||||
|
||||
(defun backward-paragraph-nomark (&optional arg)
|
||||
|
|
@ -693,7 +700,7 @@ blank line.
|
|||
|
||||
See `forward-paragraph' for more information."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(backward-paragraph arg))
|
||||
|
||||
(defun previous-line-nomark (&optional arg)
|
||||
|
|
@ -706,7 +713,7 @@ The command \\[set-goal-column] can be used to create
|
|||
a semipermanent goal column to which this command always moves.
|
||||
Then it does not try to move vertically."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(with-no-warnings (previous-line arg))
|
||||
(setq this-command 'previous-line))
|
||||
|
||||
|
|
@ -715,7 +722,7 @@ Then it does not try to move vertically."
|
|||
With argument ARG not nil or 1, move forward ARG - 1 lines first.
|
||||
If scan reaches end of buffer, stop there without error."
|
||||
(interactive "p")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(beginning-of-line arg))
|
||||
|
||||
(defun scroll-up-nomark (&optional arg)
|
||||
|
|
@ -724,7 +731,7 @@ A near full screen is `next-screen-context-lines' less than a full screen.
|
|||
Negative ARG means scroll downward.
|
||||
When calling from a program, supply a number as argument or nil."
|
||||
(interactive "P")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(cond (pc-select-override-scroll-error
|
||||
(condition-case nil (scroll-up arg)
|
||||
(end-of-buffer (goto-char (point-max)))))
|
||||
|
|
@ -740,7 +747,7 @@ of the accessible part of the buffer.
|
|||
Don't use this command in Lisp programs!
|
||||
\(goto-char (point-min)) is faster and avoids clobbering the mark."
|
||||
(interactive "P")
|
||||
(setq mark-active nil)
|
||||
(pc-select-maybe-deactivate-mark)
|
||||
(let ((size (- (point-max) (point-min))))
|
||||
(goto-char (if arg
|
||||
(+ (point-min)
|
||||
|
|
@ -968,21 +975,5 @@ but before calling PC Selection mode):
|
|||
(setq pc-select-key-bindings-alist nil
|
||||
pc-select-saved-settings-alist nil))))
|
||||
|
||||
|
||||
;;;###autoload
|
||||
(defcustom pc-selection-mode nil
|
||||
"Toggle PC Selection mode.
|
||||
Change mark behavior to emulate Motif, MAC or MS-Windows cut and paste style,
|
||||
and cursor movement commands.
|
||||
This mode enables Delete Selection mode and Transient Mark mode.
|
||||
Setting this variable directly does not take effect;
|
||||
you must modify it using \\[customize] or \\[pc-selection-mode]."
|
||||
:set (lambda (symbol value)
|
||||
(pc-selection-mode (if value 1 -1)))
|
||||
:initialize 'custom-initialize-default
|
||||
:type 'boolean
|
||||
:group 'pc-select
|
||||
:require 'pc-select)
|
||||
|
||||
;;; arch-tag: 10697b70-ae07-4f3e-ad23-7814a3f418c2
|
||||
;; arch-tag: 10697b70-ae07-4f3e-ad23-7814a3f418c2
|
||||
;;; pc-select.el ends here
|
||||
|
|
|
|||
|
|
@ -273,7 +273,6 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(eval-when-compile (require 'cl))
|
||||
;; we use picture-mode functions
|
||||
(require 'picture)
|
||||
|
||||
|
|
@ -1367,6 +1366,9 @@ The search is performed in the current direction."
|
|||
;; tpu-search-forward (t) tpu-search-reverse (t)
|
||||
;; tpu-search-forward-exit (t) tpu-search-backward-exit (t)
|
||||
|
||||
(declare-function tpu-emacs-search "tpu-edt")
|
||||
(declare-function tpu-emacs-rev-search "tpu-edt")
|
||||
|
||||
(defun tpu-set-search (&optional arg)
|
||||
"Set the search functions and set the search direction to the current
|
||||
direction. If an argument is specified, don't set the search direction."
|
||||
|
|
@ -2432,7 +2434,10 @@ If FILE is nil, try to load a default file. The default file names are
|
|||
(if (eq tpu-global-map parent)
|
||||
(set-keymap-parent map (keymap-parent parent))
|
||||
(setq map parent)))))
|
||||
(ignore-errors (ad-disable-regexp "\\`tpu-"))
|
||||
;; Only has an effect if the advice in tpu-extras has been activated.
|
||||
(condition-case nil
|
||||
(with-no-warnings (ad-disable-regexp "\\`tpu-"))
|
||||
(error nil))
|
||||
(setq tpu-edt-mode nil))
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1375,6 +1375,8 @@ The following CHAR will be the name for the command or macro."
|
|||
(setq char (read-char))
|
||||
(vi-ask-for-info char))))
|
||||
|
||||
(declare-function c-mark-function "cc-cmds" ())
|
||||
|
||||
(defun vi-mark-region (arg region)
|
||||
"Mark region appropriately. The next char REGION is d(efun),s(-exp),b(uffer),
|
||||
p(aragraph), P(age), f(unction in C/Pascal etc.), w(ord), e(nd of sentence),
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
;;; Code:
|
||||
|
||||
(provide 'viper-cmd)
|
||||
(require 'advice)
|
||||
|
||||
;; Compiler pacifier
|
||||
(defvar viper-minibuffer-current-face)
|
||||
|
|
@ -48,23 +47,6 @@
|
|||
(defvar initial)
|
||||
(defvar undo-beg-posn)
|
||||
(defvar undo-end-posn)
|
||||
|
||||
;; loading happens only in non-interactive compilation
|
||||
;; in order to spare non-viperized emacs from being viperized
|
||||
(if noninteractive
|
||||
(eval-when-compile
|
||||
(let ((load-path (cons (expand-file-name ".") load-path)))
|
||||
(or (featurep 'viper-util)
|
||||
(load "viper-util.el" nil nil 'nosuffix))
|
||||
(or (featurep 'viper-keym)
|
||||
(load "viper-keym.el" nil nil 'nosuffix))
|
||||
(or (featurep 'viper-mous)
|
||||
(load "viper-mous.el" nil nil 'nosuffix))
|
||||
(or (featurep 'viper-macs)
|
||||
(load "viper-macs.el" nil nil 'nosuffix))
|
||||
(or (featurep 'viper-ex)
|
||||
(load "viper-ex.el" nil nil 'nosuffix))
|
||||
)))
|
||||
;; end pacifier
|
||||
|
||||
|
||||
|
|
@ -3097,6 +3079,9 @@ On reaching beginning of line, stop and signal error."
|
|||
(setq this-command 'next-line)
|
||||
(if com (viper-execute-com 'viper-next-line val com))))
|
||||
|
||||
(declare-function widget-type "wid-edit" (widget))
|
||||
(declare-function widget-button-press "wid-edit" (pos &optional event))
|
||||
(declare-function viper-set-hooks "viper" ())
|
||||
|
||||
(defun viper-next-line-at-bol (arg)
|
||||
"Next line at beginning of line.
|
||||
|
|
|
|||
|
|
@ -47,12 +47,8 @@
|
|||
(if noninteractive
|
||||
(eval-when-compile
|
||||
(let ((load-path (cons (expand-file-name ".") load-path)))
|
||||
(or (featurep 'viper-util)
|
||||
(load "viper-util.el" nil nil 'nosuffix))
|
||||
(or (featurep 'viper-keym)
|
||||
(load "viper-keym.el" nil nil 'nosuffix))
|
||||
(or (featurep 'viper-cmd)
|
||||
(load "viper-cmd.el" nil nil 'nosuffix))
|
||||
(load "viper-cmd.el" nil t 'nosuffix))
|
||||
)))
|
||||
;; end pacifier
|
||||
|
||||
|
|
|
|||
|
|
@ -26,8 +26,6 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(provide 'viper-init)
|
||||
|
||||
;; compiler pacifier
|
||||
(defvar mark-even-if-inactive)
|
||||
(defvar quail-mode)
|
||||
|
|
@ -429,15 +427,11 @@ delete the text being replaced, as in standard Vi."
|
|||
"*Cursor color when Viper is in Replace state."
|
||||
:type 'string
|
||||
:group 'viper)
|
||||
(if (fboundp 'make-variable-frame-local)
|
||||
(make-variable-frame-local 'viper-replace-overlay-cursor-color))
|
||||
|
||||
(defcustom viper-insert-state-cursor-color "Green"
|
||||
"Cursor color when Viper is in insert state."
|
||||
:type 'string
|
||||
:group 'viper)
|
||||
(if (fboundp 'make-variable-frame-local)
|
||||
(make-variable-frame-local 'viper-insert-state-cursor-color))
|
||||
|
||||
;; 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.
|
||||
|
|
@ -446,13 +440,17 @@ delete the text being replaced, as in standard Vi."
|
|||
"Cursor color when Viper is in Emacs state."
|
||||
:type 'string
|
||||
:group 'viper)
|
||||
(if (fboundp 'make-variable-frame-local)
|
||||
(make-variable-frame-local 'viper-emacs-state-cursor-color))
|
||||
|
||||
;; internal var, used to remember the default cursor color of emacs frames
|
||||
(defvar viper-vi-state-cursor-color nil)
|
||||
|
||||
(if (fboundp 'make-variable-frame-local)
|
||||
(make-variable-frame-local 'viper-vi-state-cursor-color))
|
||||
(mapc 'make-variable-frame-local
|
||||
'(viper-replace-overlay-cursor-color
|
||||
viper-insert-state-cursor-color
|
||||
viper-emacs-state-cursor-color
|
||||
viper-vi-state-cursor-color)))
|
||||
|
||||
|
||||
(viper-deflocalvar viper-replace-overlay nil "")
|
||||
(put 'viper-replace-overlay 'permanent-local t)
|
||||
|
|
@ -1025,6 +1023,9 @@ Should be set in `~/.viper' file."
|
|||
(setq cursor-type '(bar . 2))))
|
||||
|
||||
|
||||
(provide 'viper-init)
|
||||
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
|
||||
;; End:
|
||||
|
|
|
|||
|
|
@ -26,8 +26,6 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(provide 'viper-keym)
|
||||
|
||||
;; compiler pacifier
|
||||
(defvar viper-always)
|
||||
(defvar viper-current-state)
|
||||
|
|
@ -35,19 +33,13 @@
|
|||
(defvar viper-expert-level)
|
||||
(defvar viper-ex-style-editing)
|
||||
(defvar viper-ex-style-motion)
|
||||
|
||||
;; loading happens only in non-interactive compilation
|
||||
;; in order to spare non-viperized emacs from being viperized
|
||||
(if noninteractive
|
||||
(eval-when-compile
|
||||
(let ((load-path (cons (expand-file-name ".") load-path)))
|
||||
(or (featurep 'viper-util)
|
||||
(load "viper-util.el" nil nil 'nosuffix))
|
||||
)))
|
||||
;; end pacifier
|
||||
|
||||
(require 'viper-util)
|
||||
|
||||
(declare-function viper-ex "viper-ex" (arg &optional string))
|
||||
(declare-function viper-normalize-minor-mode-map-alist "viper-cmd" ())
|
||||
(declare-function viper-set-mode-vars-for "viper-cmd" (state))
|
||||
|
||||
;;; Variables
|
||||
|
||||
|
|
@ -702,6 +694,9 @@ form ((key . function) (key . function) ... )."
|
|||
alist))
|
||||
|
||||
|
||||
(provide 'viper-keym)
|
||||
|
||||
|
||||
;;; Local Variables:
|
||||
;;; eval: (put 'viper-deflocalvar 'lisp-indent-hook 'defun)
|
||||
;;; End:
|
||||
|
|
|
|||
|
|
@ -39,14 +39,8 @@
|
|||
(if noninteractive
|
||||
(eval-when-compile
|
||||
(let ((load-path (cons (expand-file-name ".") load-path)))
|
||||
(or (featurep 'viper-util)
|
||||
(load "viper-util.el" nil nil 'nosuffix))
|
||||
(or (featurep 'viper-keym)
|
||||
(load "viper-keym.el" nil nil 'nosuffix))
|
||||
(or (featurep 'viper-mous)
|
||||
(load "viper-mous.el" nil nil 'nosuffix))
|
||||
(or (featurep 'viper-cmd)
|
||||
(load "viper-cmd.el" nil nil 'nosuffix))
|
||||
(load "viper-cmd.el" nil t 'nosuffix))
|
||||
)))
|
||||
;; end pacifier
|
||||
|
||||
|
|
|
|||
|
|
@ -42,10 +42,8 @@
|
|||
(if noninteractive
|
||||
(eval-when-compile
|
||||
(let ((load-path (cons (expand-file-name ".") load-path)))
|
||||
(or (featurep 'viper-util)
|
||||
(load "viper-util.el" nil nil 'nosuffix))
|
||||
(or (featurep 'viper-cmd)
|
||||
(load "viper-cmd.el" nil nil 'nosuffix))
|
||||
(load "viper-cmd.el" nil t 'nosuffix))
|
||||
)))
|
||||
;; end pacifier
|
||||
|
||||
|
|
|
|||
|
|
@ -44,12 +44,6 @@
|
|||
|
||||
(require 'ring)
|
||||
|
||||
(if noninteractive
|
||||
(eval-when-compile
|
||||
(let ((load-path (cons (expand-file-name ".") load-path)))
|
||||
(or (featurep 'viper-init)
|
||||
(load "viper-init.el" nil nil 'nosuffix))
|
||||
)))
|
||||
;; end pacifier
|
||||
|
||||
(require 'viper-init)
|
||||
|
|
@ -380,6 +374,8 @@
|
|||
|
||||
|
||||
|
||||
(declare-function viper-forward-Word "viper-cmd" (arg))
|
||||
|
||||
;;; Support for :e, :r, :w file globbing
|
||||
|
||||
;; Glob the file spec.
|
||||
|
|
|
|||
|
|
@ -297,28 +297,15 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(require 'advice)
|
||||
(require 'ring)
|
||||
|
||||
;; compiler pacifier
|
||||
(defvar mark-even-if-inactive)
|
||||
(defvar quail-mode)
|
||||
(defvar viper-expert-level)
|
||||
(defvar viper-mode-string)
|
||||
(defvar viper-major-mode-modifier-list)
|
||||
|
||||
;; loading happens only in non-interactive compilation
|
||||
;; in order to spare non-viperized emacs from being viperized
|
||||
(if noninteractive
|
||||
(eval-when-compile
|
||||
(let ((load-path (cons (expand-file-name ".") load-path)))
|
||||
(or (featurep 'viper-init)
|
||||
(load "viper-init.el" nil nil 'nosuffix))
|
||||
(or (featurep 'viper-cmd)
|
||||
(load "viper-cmd.el" nil nil 'nosuffix))
|
||||
)))
|
||||
;; end pacifier
|
||||
|
||||
(require 'advice)
|
||||
(require 'viper-init)
|
||||
(require 'viper-keym)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue