* 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.
* viper-cmd.el (viper-change-state): Got rid of make-local-hook.
(viper-special-read-and-insert-char): Make C-m work right in the r
comand.
(viper-buffer-search-enable): Fixed format string.
* viper-ex.el (ex-token-alist): Use ex-set-visited-file-name
instead of viper-info-on-file.
(ex-set-visited-file-name): New function.
* viper.el (viper-emacs-state-mode-list): Added mail-mode.
* ediff-mult.el (ediff-meta-mark-equal-files): Added optional
action argument.
* ediff-init.el: Fixed some doc strings.
* ediff-util.el (ediff-after-quit-hook-internal): New variable.
Got rid of make-local-hook.
* ediff-wind.el (ediff-setup-control-frame): Got rid of
make-local-hook.
* viper-ex.el (ex-edit): make checks for modified buffer/file.
(viper-get-ex-address-subr): more precise addr for the $ marker
* viper-cmd.el: Fixed indentation.
* viper.texi: Clarified that viper won't expand special symbols in
search patterns.
* ediff-init.el (ediff-highest-priority): bug fix.
* viper-cmd.el (viper-special-read-and-insert-char): new function
that reads a character and uses the current input method or
iso-accents when appropriate.
* viper.el and all others: corrections to the comment blocks at
the top.
of Scott Bronson.
(ex-cmd-assoc,ex-compile,ex-cmd-one-letr): New functions.
(viper-check-sub,viper-get-ex-command,viper-execute-ex-command):
Deleted functions.
(viper-get-ex-com-subr,viper-ex,ex-mark): Changed to use the new
ex-token-list.
(viper-get-ex-address-subr): convert registers to char data type.
* viper-util.el (viper-int-to-char,viper-char-equal): new
functions.
(viper-memq-char): use viper-int-to-char.
(viper-file-checked-in-p): use vc-locking-user, if vc doesn't have
vc-locking-state.
(viper-read-key): use viper-read-key-sequence.
* viper.el (viper-major-mode-modifier-list): added
inferior-emacs-lisp-mode.
(this-major-mode-requires-vi-state): new function that uses simple
heuristics to decide if vi state is appropriate.
(set-viper-state-in-major-mode): use this-major-mode-requires-vi-state.
(viper-non-hook-settings): don't advise read-key-sequence.
(viper-read-key-sequence): new function that replaces the
previously used advice to read-key-sequence.
* viper-cmd.el (viper-test-com-defun,viper-exec-change,
viper-exec-Change,viper-execute-com,viper-insert,viper-append,
viper-Append,viper-Insert,viper-open-line,viper-Open-line,
viper-open-line-at-point,viper-substitute,viper-overwrite,
viper-replace-char-subr,viper-forward-word,viper-forward-Word):
got rid of the negative character hack.
(viper-escape-to-state,viper-replace-state-exit-cmd):
use viper-read-key-sequence.
(viper-envelop-ESC-key): no need for ad-get-orig-definition.
(viper-minibuffer-standard-hook,viper-read-string-with-history):
don't override existing minibuffer-setup-hook.
(viper-mark-point,viper-goto-mark-subr,viper-brac-function):
convert registers to char data type.
(viper-autoindent): use viper-indent-line.
* viper-keym.el: use viper-exec-key-in-emacs.
* viper.texi: Added credits, new commands, like :make.
* ediff-util.el: Copyright years.
(ediff-choose-syntax-table): New function.
(ediff-setup): Use ediff-choose-syntax-table.
(ediff-file-checked-out-p,ediff-file-checked-in-p): check if
vc-state is available.
(ediff-make-temp-file): use ediff-coding-system-for-write.
* ediff-init.el (ediff-with-syntax-table): New macro, uses
with-syntax-table.
(ediff-coding-system-for-read): from ediff-diff.el
(ediff-coding-system-for-write): new variable.
(ediff-highest-priority): fixed the bug having to do with disappearing
overlays.
(ediff-file-remote-p): use file-remote-p, if available.
(ediff-listable-file): new function.
(ediff-file-attributes): use ediff-listable-file.
* ediff-mult.el (ediff-meta-insert-file-info1): use
ediff-listable-file.
* ediff-ptch.el (ediff-prompt-for-patch-file): use
ediff-coding-system-for-read.
(ediff-patch-file-internal): use ediff-coding-system-for-write.
* ediff-diff.el (ediff-coding-system-for-read): moved to ediff-init.el.
(ediff-match-diff3-line,ediff-get-diff3-group): improved pattern.
* ediff.el: Date of last update, copyright years.
* ediff-wind (ediff-setup-control-frame): Nill->nil.
* ediff.texi: added clarifications, acknowledgements.
normal-erase-is-backspace on a tty. Instead, bind some keys such
as [delete] directly, like pc-select.el did before
normal-erase-is-backspace was invented.
* ediff-util.el: Copyright years.
(ediff-choose-syntax-table): New function.
(ediff-setup): Use ediff-choose-syntax-table.
* ediff-init.el (ediff-with-syntax-table): New macro, uses
with-syntax-table.
* ediff.el: Date of last update, copyright years.
* ediff-wind (ediff-setup-control-frame): Nill->nil.
* viper-ex.el (ex-token-list,ex-cmd-execute): Revamped, courtesy
of Scott Bronson.
(ex-cmd-assoc,ex-cmd-one-letr): New functions.
(viper-check-sub,viper-get-ex-command,viper-execute-ex-command):
Deleted functions.
(viper-get-ex-com-subr,viper-ex,ex-mark): Changed to use the new
ex-token-list.
* viper-util.el: Spaces, indentation.
* viper.el: Changed version, modification time.
* viper.el: call initial-major-mode on startup.
* ediff.el (ediff-patch-file): use better defaults.
* ediff-vers.el: fix for 8+3 DOS file systems
2001-01-19 Colin Walters <walters@cis.ohio-state.edu>
* ediff-util.el (ediff-compare-custom-diffs-maybe): put diff in
diff mode, if available.
2001-01-19 Vin Shelton <acs@xemacs.org>
* ediff-hook.el (ediff-xemacs-init-menus): fixed add-menu-button
2001-01-19 Steve Youngs <youngs@xemacs.org>
* ediff-init.el (subst-char-in-string): Define and use it, unless
it's already defined.
EDT scroll margins at top and bottom of the window. Provide an
emulation of the EDT SUBS command (bound to GOLD-Enter, by
default). Enhance edt-quit, bound to GOLD-q by default, to warn
user when file-related buffer modifications exist. Provide
support for running EDT Emulation in XEmacs. Provide customize
access to some user updatable variables. Add Commentary section
to file header. Fixed a few minor bugs and cleaned up some code.
for detecting a keypress that generates an ASCII key sequence.
(Previously, only a keypress that generates a vector was
recognized.) Embed Window Manager name into name of the generated
EDT Emulation initialization file since the initialization file is
Window Manager specific. Add Commentary section to file header.
* viper-cmd.el (viper-preserve-cursor-color): new test that avoids
rewrawing the screen when changing cursor color.
(viper-insert-state-pre-command-sentinel,
viper-replace-state-pre-command-sentinel,
viper-replace-state-post-command-sentinel): use
viper-preserve-cursor-color.
Many functions changed to use viper= instead of = when comparing
characters.
* viper-util.el (viper-memq-char,viper=): new functions for
working with characters.
(viper-change-cursor-color): fixed buglet.
Many functions changed to use viper= instead of = when comparing
characters.
* viper.el (viper-insert-state-mode-list): added eshell.
* ediff-init.el (ediff-before-setup-hook): new hook.
Several typos fixed in various docstrings.
* ediff-merg.el (ediff-show-clashes-only): docstring typo fixed.
* ediff-nult.el (ediff-before-session-group-setup-hooks): new
hook.
(ediff-show-meta-buffer): run ediff-before-session-group-setup-hooks.
* ediff-util.el (ediff-setup): run ediff-before-setup-hook.
(ediff-other-buffer): use selected buffers if in Buffer-menu buffer.
(ediff-get-selected-buffers): new function.
* ediff-vers.el (ediff-vc-internal,ediff-rcs-internal,
ediff-vc-merge-internal,ediff-rcs-merge-internal): use
save-window-excursion.
* ediff-wind.el (ediff-skip-unsuitable-frames): more robust
termination check in while loop.
* ediff.el (ediff-get-default-file-name): better defaults when in
dired buffer.
(ediff-files,ediff-merge-files,ediff-files3,
ediff-merge-files-with-ancestor): use ediff-get-default-file-name.
* ediff-init.el (ediff-has-face-support-p): make it paint faces on
tty's.
* ediff-diff.el (ediff-exec-process): use --binary for fine
differences whenever apropriate.
* viper-cmd.el (viper-smart-suffix-list): rearranged list members.
* viper.el (find-file,find-file-other-window): get viper to do
wildcards.
* viper-util.el (viper-put-on-search-overlay): New subroutine.
(viper-flash-search-pattern): No operation when using Emacs
doesn't support face.
Use `viper-put-on-search-overlay'.
translate all ESC key sequences.
(viper-goto-mark-subr): restore markers for files for which
they were saved.
* viper-init.el (viper-translate-all-ESC-keysequences): new variable.
* viper-util.el (viper-set-replace-overlay-glyphs,
viper-set-replace-overlay): always check if the replacement
overlay is live.
* viper.el (viper-vi-state-mode-list): added major modes.
* ediff-wind.el: minor comment changes.
* ediff.el: copyright notice date fix.
viper-minibuffer-real-start): new functions.
(viper-read-string-with-history,viper-file-add-suffix,
viper-trim-replace-chars-to-delete-if-necessary): adapt to the
change in the status of the minibuffer prompt.
* ediff*el: replaced old-style backquotes.
* ediff-merge
(ediff-looks-like-combined-merge,ediff-get-combined-region):
changed to support the new format for ediff-combination-pattern.
* ediff-diff (ediff-set-fine-overlays-in-one-buffer):
changed to support the new format for ediff-combination-pattern.
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.
(tpu-search-overlay, tpu-replace-overlay): New variables.
(tpu-search-highlight, tpu-toggle-direction): New functions.
(tpu-lm-replace): Set tpu-replace-overlay.
(tpu-edt-on, tpu-edt-off): Add/remove tpu-search-highlight post command hook.
custom-initialize-default to avoid infinite loop.
(crisp-mode): (defun) Call transient-mark-mode here, not when
loading the file. Run crisp-mode-hook here, and run
crisp-load-hook when loading the file.
Enter it on minor-mode-map-alist.
(crisp-mode): Re-named from `crsip-mode-enabled'. Users changed.
Autoload. Add custom setter.
(crisp-mark-line): Doc fix.
(crisp-mode): Autoload. Re-write not to frob keymaps directly.
(crisp-mode-hook): Define.
(crisp-override-meta-x): Doc fix.
(crisp-last-last-command): Doc fix.
(mark-something): Function deleted.
(crisp-mark-line): Avoid using mark-something.
(crisp-region-active): Renamed from region-active.
(crisp-set-clipboard): Renamed from copy-primary-selection.
(crisp-kill-region): Renamed from kill-primary-selection.
(crisp-yank-clipboard): Renamed from yank-clipboard-selection.
(crisp-unbury-buffer): New function.
Fixed bogus XEmacs/Lucid string-match checking.
Made modeline entry mouse2-able.
(crisp-mode-map): Make this a sparse keymap parented from
current-global-map.
(crisp-mode-original-keymap): Don't copy the keymap.
(crisp-last-last-command): Renamed from last-last-command. defvar it.
(crisp-mode): Honor ARG.
(crisp-kill-line, crisp-copy-line): When a region isn't highlighted,
use the region from point to eol. Honor prefix argument.
(crisp-submit-bug-report): New command, taken from cc-mode.
Shortened the version numbering, removed the release-version tracking
(crisp-version): New function.
New keybindings `C-home', `C-end', `M-home', `M-end', `C-f', `M-l',
`M-m'.
(crisp-copy-line): No need to save point.
Removed S-right and S-left bindings.
Abstract the marking and selection interfaces so that we can be
compatible with both Emacs and XEmacs. And try and make the
behavior as close as possible under both environments so that there
are no surprises.
(vip-c-string): Variable renamed and defvar added.
(vip-save-minibuffer-local-map): Likewise.
(vip-end-with-a-newline-p): Use STRING (the arg) instead of `text'.
(vi-search-forward, vi-search-backward): Use isearch-update-ring.
(vi-repeat-last-search, vi-reverse-last-search):
Get string from the ring.
(vi-mode-old-major-mode, vi-mode-old-mode-name): New defvars.
(vi-mode-old-local-map, vi-mode-old-case-fold): Likewise.
(vi-tilde-map): Move the defvar and bindings to the front.
(scroll-down-mark): Handle pc-select-override-scroll-error,
(scroll-down-nomark): Likewise.
(scroll-up-mark, scroll-up-nomark): Likewise.
(pc-selection-mode): Get rid of the advice on scroll-up, scroll-down.
(pc-selection-mode): Big doc fix. Don't bind f1.
(forward-line-mark): New function.
(forward-line-nomark): New function.
(backward-line-mark): New function.
(backward-line-nomark): New function.
(pc-selection-mode): Add keybindings for those functions.
(pc-select-override-scroll-error): New variable.
* viper.el (vip-auto-indent,vip-electric-mode): are now local
variables.
(vip-open-line,vip-Open-line,vip-autoindent):
are now electrified functions.
(vip-set-hooks): viperized awk, ksh, makefile, and html-helper modes.
(vip-custom-file-name): adapted to non-Unix systems.
(vip-move-minibuffer-overlay): removed.
(vip-read-string-with-history):
now accepts correct defaults when called to
read a shell command.
hook in xemacs.
(vip-read-string-with-history): minibuffer-setup-hook no longer
waits for the user to type, if there are unread events.
Added (vip-leave-region-active) to all simple movement commands.
Harnessed view-minor-mode.
Viper now understands syntactic tables.
(vip-read-string-with-history,vip-search): won't pause inside
macros any more.