(ediff-kill-bottom-toolbar): Place (ediff-use-toolbar-p) test inside
XEmacs test.
(ediff-make-bottom-toolbar): Place whole cond inside XEmacs test,
since it was doing nothing on Emacs.
(ediff-make-bullet-proof-overlay): Use when rather than if.
* 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-util.el (ediff-clone-buffer-for-region-comparison): change text
of message. Activate mark.
(ediff-activate-mark): set transient-mark-mode to t.
* ediff.el (ediff-regions-wordwise,ediff-regions-linewise): changed
docstrings.
* viper-keym.el (viper-insert-basic-map): deleted binding for S-TAB.
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-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): return t, if not
merging.
* ediff-util.el (ediff-previous-difference): don't skip regions that
have merge clashes.
* 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-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.
* ediff-diff.el (ediff-same-contents) Eliminate CL-type functions.
* ediff-mult.el (ediff-intersect-directories) Make sure that ".." and
"." files are deleted from all file lists before comparison
* viper-keym.el
(viper-toggle-key,viper-quoted-insert-key,viper-ESC-key):
Made them customizable.
* viper.el (viper-non-hook-settings): fixed the names of defadvices.
temporary file for buffer already visiting one. This change makes
output likely to be directly usable by patch program.
Suggested by Adrian Aichner <adrian@xemacs.org>
* ediff-mult.el (ediff-default-filtering-regexp): new variable.
* ediff-util.el (ediff-maybe-save-and-delete-merge): change in a
message.
* ediff.el (ediff-directories,ediff-directory-revisions,
ediff-directories3,ediff-merge-directories,
ediff-merge-directories-with-ancestor,ediff-merge-directory-revisions,
ediff-merge-directory-revisions-with-ancestor): make use of the new
ediff-default-filtering-regexp variable.
* ediff-init.el (ediff-frame-char-height): use frame-selected-window.
* ediff-util.el (ediff-file-checked-in-p): changed progn with and
* ediff-wind.el (ediff-skip-unsuitable-frames): distinguish selected
frame from frame of selected window
(ediff-frame-has-dedicated-windows): don't select any frames to avoid
changing selected windows
(ediff-setup-control-frame): make sure auto-rase is properly set for
the control frame
* ediff-hooks.el: Put back the autoloads (for compatibility with XEmacs).
* ediff-init.el: Use defalias instead of fset.
* ediff-util.el: Use defalias instead of fset.
* viper-util.el (viper-chars-in-region): simplification.
* viper.el (viper-emacs-state-mode-list): added modes.
(viper-ex-print-buf-name): New variable.
(viper-ex-print-buf): New variable.
(ex-token-alist): Invoke ex-print on ":print" Ex commands.
(ex-g-marks): New variable.
(ex-print): New function.
(ex-print-display-lines): New function.
* viper.el (viper-set-hooks): add window-setup-hook, which sets
the cursor color.
* ediff-util.el (ediff-cleanup-mess): delete ctl window on exit
when the window is not in its own frame.
(ediff-clone-buffer-for-region-comparison): more robust window
arrangement while prompting for regions to compare.
(ediff-make-cloned-buffer): use generate-new-buffer-name.
(ediff-inferior-compare-regions): deleted unused vars
ctl-buf and quit-now.
the current highlighting style into account.
(ediff-forward-word-function,ediff-whitespace,ediff-word-1,
ediff-word-2,ediff-word-3,ediff-word-4): make them buffer local.
* ediff-init.el (ediff-patch-job): new macro.
* ediff-mult.el (ediff-make-new-meta-list-header): new API function.
(ediff-intersect-directories): use ediff-make-new-meta-list-header.
* ediff-ptch.el (ediff-map-patch-buffer): use
ediff-make-new-meta-list-header.
(ediff-fixup-patch-map): use the meta-list API from ediff-mult.el.
* ediff-util.el (ediff-toggle-hilit): fix toggling of highliting.
(ediff-select-difference): take highlighting style into account.
(ediff-clone-buffer-for-region-comparison): new function.
(ediff-inferior-compare-regions): added comparison of current diff
regions.
* ediff.el (ediff-clone-buffer-for-region-comparison,
ediff-clone-buffer-for-window-comparison): moved to ediff-util.el.
* ediff-hook.el: Got rid of autoloads. Not needed, since the hook
is loaded.
* ediff-mult.el (ediff-intersect-directories,
ediff-prepare-meta-buffer,ediff-get-directory-files-under-revision):
cleanup.
(ediff-draw-dir-diffs): now supports the "C" command in directory
difference buffer.
(ediff-dir-diff-copy-file): new function that implements copying
of files from one Ediff dir to another
(ediff-bury-dir-diffs-buffer): kills the buffer instead.
(ediff-append-custom-diff): better error msgs.
* ediff-util.el (ediff-compute-custom-diffs-maybe): buglet fix.
(ediff-inferior-compare-regions): Use
ediff-clone-buffer-for-region-comparison. Better and simpler interface.
* ediff.el (ediff-directories-internal): Cleanup.
(ediff-clone-buffer-for-region-comparison): Better interface.
* viper-util.el (viper-read-key-sequence): fixed so it'll read
fast key sequences in emacs native mode
(viper-events-to-keys): deleted
* viper.el (describe-key, describe-key-briefly): get rid of
viper-events-to-keys.
* ediff-init.el (ediff-has-gutter-support): Steven Turnbull's patch.
* ediff-wind.el (ediff-setup-control-frame): Use
ediff-has-gutter-support.
* ediff-util.el (ediff-dispose-of-variant-according-to-user):
check if buff is alive.
* ediff.el: typo in comment.
* 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.