* viper-cmd.el: use viper-last-command-char instead of
last-command-char/last-command-event.
(viper-prefix-arg-value): do correct conversion of event-char for
XEmacs.
* viper-util.el, viper.el: use viper-last-command-char instead of
last-command-char/last-command-event.
* ediff-init.el, ediff-mult.el, ediff-util.el: relpace
last-command-char and last-command-event with (ediff-last-command-char) everywhere.
* ediff-vers.el (ediff-rcs-get-output-buffer): make sure the buffer is
created in fundamental mode.
* ediff.el (ediff-version): revert the change of interactive-p to
called-interactively-p.
* viper-cmd.el (viper-insert-isearch-string): new function.
(viper-if-string): redefine C-s in the minibuffer to insert the last
incremental search string.
* ediff-init.el (ediff-coding-system): use escape-quoted in case of
XEmacs.
* ediff-merg.el (ediff-merge-region-is-non-clash-to-skip,
ediff-merge-region-is-non-clash,
ediff-skip-merge-region-if-changed-from-default-p): use defun.
Also check if the job is really a merge job.
* ediff.el (ediff-current-file): new function.
* viper.el: date change.
* viper-cmd.el (viper-envelop-ESC-key):
viper-translate-all-ESC-keysequences is now a function.
* viper-init (viper-translate-all-ESC-keysequences): make this variable
* viper-init.el (viper-ESC-keyseq-timeout): Make it into a function
instead of a variable.
* viper-util.el (viper-fast-keysequence-p): Changed to use
viper-ESC-keyseq-timeout as a function.
(viper-get-saved-cursor-color-in-replace-mode): Use defun instead of
defsubst.
* viper-cmd.el: Let line-move-visual to nil when using next-line or
previous-line.
(viper-R-state-post-command-sentinel): Use defun instead of defsubst.
* viper-keym.el (viper-ESC-key): Use (kbd "ESC").
* ediff-util.el (ediff-toggle-multiframe): Check if control window is
live.
(ediff-save-buffer): Let window-min-height to 2.
* ediff-wind.el (ediff-setup-windows-plain-compare): Avoid selecting
the minibuffer.
* viper*.el (viper-search-wrap-around-t): replace with
viper-search-wrap-around.
* ediff*.el: replace 3-argument 'require' statements with 1-argument
ones (wrapped in if's). For compatibility with the current stable
version of XEmacs.
* viper-macs.el (viper-read-fast-keysequence): use viper-read-event
instead of viper-read-key.
* viper.el (viper-mode): move the check for fundamental mode.
* viper-utils.el (viper-get-saved-cursor-color-in-replace-mode)
viper-get-saved-cursor-color-in-insert-mode): get rid of redundant
let-statements.
* viper*.el: replaced load with require in eval-when-compile.
Expand all viper-cond-compile-for-xemacs-or-emacs calls to a featurep test.
Replace obselete frame-local variables with frame-parameters.
(viper-insert-state-post-command-sentinel, viper-R-state-post-command-sentinel)
(viper-replace-state-post-command-sentinel, viper-change-state-to-insert)
(viper-change-state-to-emacs): Use viper-frame-value for
viper-replace-overlay-cursor-color, viper-emacs-state-cursor-color,
viper-insert-state-cursor-color, and viper-vi-state-cursor-color values.
* ediff*.el: commented out declare-function. "make bootstrap"
stops with an error and emacs does not compile with those things in.
Besides, declare-function is not defined in XEmacs.
* ediff-util (eqiff-quit): autoraise minibuffer.
* ediff-diff (ediff-convert-fine-diffs-to-overlays): make it a defin
* viper*.el: commented out declare-function -- not defined in XEmacs.
* viper-ex.el (viper-info-on-file): take care of indiret buffers.
* viper.el (viper-set-hooks, set-cursor-color): set viper-vi-state-cursor-color.
* viper-ex.el (viper-ex): do not ignore the region.
* viper-cmd.el (viper-prev-destructive-command)
(viper-insert-prev-from-insertion-ring): use ring-copy instead of
copy-sequence.
* ediff-util.el (ediff-make-current-diff-overlay): do not use face-name.
Got rid of ediff-copy-list.
* ediff-diff.el (ediff-set-fine-diff-properties-in-one-buffer): do not
use face-name.
(ediff-test-utility,ediff-diff-mandatory-option)
(ediff-reset-diff-options): removed to simplify yhe mandatory option
handling on windows.
(ediff-set-diff-options): added.
(ediff-diff-options): changed.
* ediff-vers.el (ediff-vc-internal): use ediff-vc-revision-other-window.
(ediff-vc-merge-internal): use ediff-vc-revision-other-window and
ediff-vc-working-revision.
Require vc-hooks.
* viper.el (viper-remove-hooks): remove some additional viper hooks
when the user calls viper-go-away.
(viper-go-away): restore the default of default-major-mode.
Save the value of default-major-mode before vaperization.
* viper-cmd.el: Replace error "" with "Viper bell".
* viper-ex.el: Replace error "" with "Viper bell".
* ediff-util.el (ediff-make-temp-file): use the coding system of the
buffer for which file is created.
* ediff-diff.el (ediff-diff-options): clarify docstring.
(ediff-setup-diff-regions): disallow -u in ediff-diff-options.
* viper-cmd.el (viper-post-command-sentinel): protect against errors in
hooks.
(viper-add-newline-at-eob-if-necessary): add newline only if we
actually modify buffer; ignore errors if occur.
changes done in August 2006.
* viper-cmd (viper-next-line-at-bol): make sure button-at, push-button
are defined.
* ediff-util.el (ediff-add-to-history): new function.
* ediff.el: use ediff-add-to-history instead of add-to-history.
* viper-cmd.el (viper-special-read-and-insert-char): convert events to
chars if XEmacs.
(viper-after-change-undo-hook): check if undo-in-progress is bound.
* viper.el (viper-set-hooks): use frame bindings for
viper-vi-state-cursor-color.
(viper-non-hook-settings): don't set default
mode-line-buffer-identification.
* viper-util.el (viper-set-cursor-color-according-to-state): new
function.
(viper-set-cursor-color-according-to-state,
viper-get-saved-cursor-color-in-replace-mode,
viper-get-saved-cursor-color-in-insert-mode): make conditional on
viper-emacs-state-cursor-color.
* viper-cmd.el (viper-envelop-ESC-key): bug fix.
(viper-undo): use point if undo-beg-posn is nil.
(viper-insert-state-post-command-sentinel,viper-change-state-to-emacs,
viper-after-change-undo-hook): don't use
viper-emacs-state-cursor-color by default.
(viper-undo): more sensible positioning after undo.
* viper-ex.el (ex-splice-args-in-1-letr-cmd): got rid of caddr.
(viper-emacs-state-cursor-color): default to nil, since this feature
doesn't work well yet.
* ediff-mult.el (ediff-intersect-directories,
ediff-get-directory-files-under-revision, ediff-dir-diff-copy-file):
always expand filenames.
* viper-cmd.el (viper-special-read-and-insert-char): use
read-key-sequence.
(viper-after-change-undo-hook): enhancements.
(viper-after-change-undo-hook): new hook.
(viper-undo): use viper-after-change-undo-hook.
(viper-add-newline-at-eob-if-necessary): widen before making changes.
(viper-next-line-at-bol): If point is on a widget or a button, simulate
clicking on that widget/button.
* viper.el (viper-mode): allow for a separate cursor color in Emacs
state.
* ediff-diff (ediff-test-patch-utility): catch errors.
(ediff-actual-diff-options, ediff-actual-diff3-options): new variables.
(ediff-set-actual-diff-options): new function.
(ediff-reset-diff-options, ediff-toggle-ignore-case):
use ediff-set-actual-diff-options.
(ediff-extract-diffs): catch errors.
(ediff-whitespace): add nonbreakable space.
(ediff-same-file-contents): catch errors.
* ediff-mult.el (ediff-collect-custom-diffs): save
coding-system-for-read.
* ediff-vers.el (ediff-keep-tmp-versions): new var.
(ediff-vc-internal, ediff-vc-merge-internal): use
ediff-delete-version-file.
(ediff-delete-version-file): new function.
* ediff-wind.el (ediff-control-frame-parameters): set frame fringes.
* ediff.el (ediff-directories, ediff-directory-revisions,
ediff-merge-directories, ediff-merge-directories-with-ancestor,
ediff-directories-internal, ediff-merge-directory-revisions,
ediff-merge-directory-revisions-with-ancestor,
ediff-directories3): use read-directory-name.
* 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.
* ediff-merge.el (ediff-merge-region-is-non-clash): new defsubst.
(ediff-merge-region-is-non-clash-to-skip): previouslu called
ediff-merge-region-is-non-clash.
* ediff-mult.el (ediff-append-custom-diff,ediff-meta-show-patch): use
insert-buffer-substring.
* ediff-ptch.el (ediff-fixup-patch-map): use better heuristics for
selecting files to patch. Also bug fixes.
* ediff-util.el (ediff-setup): bug fix.
(ediff-next-difference): Never skip clashes that differ in white space
only.
* ediff-wind.el (ediff-setup-control-frame,ediff-destroy-control-frame):
check the menubar feature.
* viper-cmd.el (viper-normalize-minor-mode-map-alist,
viper-refresh-mode-line): use make-local-variable to localize some vars
instead of make-variable-buffer-local. Suggested by Stefan Monnier.
* viper-init.el (viper-make-variable-buffer-local): delete alias.
(viper-restore-cursor-type,viper-set-insert-cursor-type): use
make-local-variable instead of make-variable-buffer-local. Suggested by
Stefan Monnier.
* viper.el (viper-mode): don't use viper-make-variable-buffer-local.
(viper-comint-mode-hook): use make-local-variable on
require-final-newline.
(viper-non-hook-settings): don't use make-variable-buffer-local.
* ediff-ptch.el (ediff-file-name-sans-prefix): treat nil as an empty
string.
(ediff-fixup-patch-map): better heuristic for intuiting the file names
to patch.
(ediff-prompt-for-patch-file): more intuitive prompt.
* ediff-util.el: use insert-buffer-substring.
* ediff-vers.el (cvs-run-ediff-on-file-descriptor): bug fix.
* viper-cmd.el (viper-change-state): don't move over the field
boundaries in the minibuffer.
(viper-set-minibuffer-style): add viper-minibuffer-post-command-hook.
(viper-minibuffer-post-command-hook): new hook.
(viper-line): don't move cursor at bolp.
* viper-ex.el (ex-pwd, viper-info-on-file): fixed message
* viper-init.el: add alias to make-variable-buffer-local to avoid
compiler warnings.
* viper-macs.el (ex-map): better messages.
* viper-utils.el (viper-beginning-of-field): new function.
* viper.el: replace make-variable-buffer-local with
viper-make-variable-buffer-local everywhere, to avoid warnings.
* viper-cmd.el (viper-harness-minor-mode,viper-exec-delete,
viper-exec-yank,viper-put-back): don't display modification msg if in
the minibuffer.
* viper-init.el (viper-replace-overlay-cursor-color,
viper-insert-state-cursor-color,viper-vi-state-cursor-color): make
variables frame local.
* viper-util.el (viper-append-filter-alist): use append instead of
nconc.
* viper.el (viper-vi-state-mode-list,viper-emacs-state-mode-list): move
help-mode and completion-list-mode from the first list to the second.
(viper-mode): docstring.
(viper-go-away,viper-non-hook-settings): don't localize
minor-mode-alist in newer emacsen.
Add advice to set-cursor-color.
Don't bind "\C-c\\".
(viper-envelop-ESC-key): changed the definition of fast keysequence so
it'll work with keyboard macros
* ediff.el (ediff-patch-buffer): changed the docstring.
(viper-normalize-minor-mode-map-alist): use viper--key-maps and
emulation-mode-map-alists.
(viper-envelop-ESC-key): use viper-subseq.
(viper-search-forward/backward/next): disable debug-on-error.
* viper-keym.el (viper-toggle-key,viper-quoted-insert-key,
viper-ESC-key): new defcustoms.
* viper-macs.el (ex-map-read-args): use viper-subseq.
* viper-util.el (viper-key-to-emacs-key): use viper-subseq.
(viper-subseq): copy of subseq from cl.el.
* viper.el (viper-go-away,viper-set-hooks): use
emulation-mode-map-alists, advise self-insert-command, add-minor-mode.
* viper-mous.el (viper-current-frame-saved): use defvar.
* viper-init.el: got rid of -face in face names.
* ediff-diff.el (ediff-extract-diffs,ediff-extract-diffs3):
Make it work with longlines mode
* ediff-mult.el (ediff-meta-mode-hook): new variable.
* ediff-ptch.el (ediff-file-name-sans-prefix): quote regexp.
* ediff-init: got rid of -face in face names.
(viper-exec-buffer-search): use regexp-quote to quote the buffer
string.
(viper-minibuffer-setup-sentinel): make some variables buffer-local.
(viper-skip-separators): bug fix.
(viper-set-searchstyle-toggling-macros): allow to unset macros in a
particular major mode.
(viper-del-backward-char-in-replace): don't put deleted char on the
kill ring.
* viper-ex.el (viper-color-display-p): new function.
(viper-has-face-support-p): use viper-color-display-p.
* viper-keym.el (viper-gnus-modifier-map): new keymap.
* viper-macs.el (viper-unrecord-kbd-macro): bug fix.
* viper-util.el (viper-glob-unix-files): fix shell status check.
(viper-file-remote-p): make equivalent to file-remote-p.
* viper.el (viper-major-mode-modifier-list): use
viper-gnus-modifier-map.