Mercurial > emacs
comparison lisp/emulation/viper-init.el @ 42602:633233bf2bbf
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.
author | Michael Kifer <kifer@cs.stonybrook.edu> |
---|---|
date | Tue, 08 Jan 2002 04:36:01 +0000 |
parents | 0cfd64a10789 |
children | 0d8b17d428b5 |
comparison
equal
deleted
inserted
replaced
42601:ddd4802ff361 | 42602:633233bf2bbf |
---|---|
1 ;;; viper-init.el --- some common definitions for Viper | 1 ;;; viper-init.el --- some common definitions for Viper |
2 | 2 |
3 ;; Copyright (C) 1997 Free Software Foundation, Inc. | 3 ;; Copyright (C) 1997, 98, 99, 2000, 01, 02 Free Software Foundation, Inc. |
4 | 4 |
5 ;; Author: Michael Kifer <kifer@cs.sunysb.edu> | 5 ;; Author: Michael Kifer <kifer@cs.stonybrook.edu> |
6 | 6 |
7 ;; This file is part of GNU Emacs. | 7 ;; This file is part of GNU Emacs. |
8 | 8 |
9 ;; GNU Emacs is free software; you can redistribute it and/or modify | 9 ;; GNU Emacs is free software; you can redistribute it and/or modify |
10 ;; it under the terms of the GNU General Public License as published by | 10 ;; it under the terms of the GNU General Public License as published by |
35 (defvar viper-version) | 35 (defvar viper-version) |
36 (defvar viper-expert-level) | 36 (defvar viper-expert-level) |
37 (defvar current-input-method) | 37 (defvar current-input-method) |
38 (defvar default-input-method) | 38 (defvar default-input-method) |
39 (defvar describe-current-input-method-function) | 39 (defvar describe-current-input-method-function) |
40 (defvar bar-cursor) | |
41 (defvar default-cursor-type) | |
42 (defvar cursor-type) | |
40 ;; end pacifier | 43 ;; end pacifier |
41 | 44 |
42 | 45 |
43 ;; Viper version | 46 ;; Viper version |
44 (defun viper-version () | 47 (defun viper-version () |
48 ;; Is it XEmacs? | 51 ;; Is it XEmacs? |
49 (defconst viper-xemacs-p (string-match "XEmacs" emacs-version)) | 52 (defconst viper-xemacs-p (string-match "XEmacs" emacs-version)) |
50 ;; Is it Emacs? | 53 ;; Is it Emacs? |
51 (defconst viper-emacs-p (not viper-xemacs-p)) | 54 (defconst viper-emacs-p (not viper-xemacs-p)) |
52 ;; Tell whether we are running as a window application or on a TTY | 55 ;; Tell whether we are running as a window application or on a TTY |
56 | |
57 ;; This is used to avoid compilation warnings. When emacs/xemacs forms can | |
58 ;; generate compile time warnings, we use this macro. | |
59 ;; In this case, the macro will expand into the form that is appropriate to the | |
60 ;; compiler at hand. | |
61 ;; Suggested by rms. | |
62 (defmacro viper-cond-compile-for-xemacs-or-emacs (xemacs-form emacs-form) | |
63 (if (string-match "XEmacs" emacs-version) | |
64 xemacs-form emacs-form)) | |
65 | |
66 | |
53 (defsubst viper-device-type () | 67 (defsubst viper-device-type () |
54 (if viper-emacs-p | 68 (viper-cond-compile-for-xemacs-or-emacs |
55 window-system | 69 (device-type (selected-device)) |
56 (device-type (selected-device)))) | 70 window-system |
71 )) | |
72 | |
57 ;; in XEmacs: device-type is tty on tty and stream in batch. | 73 ;; in XEmacs: device-type is tty on tty and stream in batch. |
58 (defun viper-window-display-p () | 74 (defun viper-window-display-p () |
59 (and (viper-device-type) (not (memq (viper-device-type) '(tty stream pc))))) | 75 (and (viper-device-type) (not (memq (viper-device-type) '(tty stream pc))))) |
60 | 76 |
61 (defcustom viper-ms-style-os-p (memq system-type | 77 (defcustom viper-ms-style-os-p (memq system-type |
432 "Function to use for prompting the user for a buffer name." | 448 "Function to use for prompting the user for a buffer name." |
433 :type 'symbol | 449 :type 'symbol |
434 :group 'viper) | 450 :group 'viper) |
435 | 451 |
436 ;; XEmacs requires glyphs | 452 ;; XEmacs requires glyphs |
437 (if viper-xemacs-p | 453 (viper-cond-compile-for-xemacs-or-emacs |
438 (progn | 454 (progn ; xemacs |
439 (or (glyphp viper-replace-region-end-delimiter) | 455 (or (glyphp viper-replace-region-end-delimiter) |
440 (setq viper-replace-region-end-delimiter | 456 (setq viper-replace-region-end-delimiter |
441 (make-glyph viper-replace-region-end-delimiter))) | 457 (make-glyph viper-replace-region-end-delimiter))) |
442 (or (glyphp viper-replace-region-start-delimiter) | 458 (or (glyphp viper-replace-region-start-delimiter) |
443 (setq viper-replace-region-start-delimiter | 459 (setq viper-replace-region-start-delimiter |
444 (make-glyph viper-replace-region-start-delimiter))) | 460 (make-glyph viper-replace-region-start-delimiter))) |
445 )) | 461 ) |
462 nil ; emacs | |
463 ) | |
464 | |
446 | 465 |
447 | 466 |
448 ;; These are local marker that must be initialized to nil and moved with | 467 ;; These are local marker that must be initialized to nil and moved with |
449 ;; `viper-move-marker-locally' | 468 ;; `viper-move-marker-locally' |
450 ;; | 469 ;; |
976 (defun viper-restore-cursor-type () | 995 (defun viper-restore-cursor-type () |
977 (condition-case nil | 996 (condition-case nil |
978 (if viper-xemacs-p | 997 (if viper-xemacs-p |
979 (setq bar-cursor nil) | 998 (setq bar-cursor nil) |
980 (setq cursor-type default-cursor-type)) | 999 (setq cursor-type default-cursor-type)) |
981 (error))) | 1000 (error nil))) |
982 | 1001 |
983 (defun viper-set-insert-cursor-type () | 1002 (defun viper-set-insert-cursor-type () |
984 (if viper-xemacs-p | 1003 (if viper-xemacs-p |
985 (setq bar-cursor 2) | 1004 (setq bar-cursor 2) |
986 (setq cursor-type '(bar . 2)))) | 1005 (setq cursor-type '(bar . 2)))) |