From 513bea4565326a6b68e580dd3dc215bfe0bcde98 Mon Sep 17 00:00:00 2001 From: Michael Kifer Date: Mon, 12 Feb 2001 08:47:13 +0000 Subject: [PATCH] 2001-02-12 Michael Kifer * ediff-diff.el (ediff-make-diff2-buffer): Removed bogus checks for remote files. (ediff-coding-system-for-read): replaced the no-conversion default with raw-text. * ediff-init.el: Removed :version from defcustom vars. * ediff-util.el (ediff-compute-custom-diffs-maybe): Better handling of the diff mode * ediff.texi: Added ediff-coding-system-for-read. * viper.texi: typos --- lisp/ChangeLog | 16 ++++++++++++++++ lisp/ediff-diff.el | 26 ++++++++++++-------------- lisp/ediff-init.el | 2 -- lisp/ediff-util.el | 11 ++++------- man/ChangeLog | 6 ++++++ man/ediff.texi | 11 +++++++++++ man/viper.texi | 6 +++--- 7 files changed, 52 insertions(+), 26 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4f8cca24c0..87eb632dbd 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,19 @@ +2001-02-12 Michael Kifer + + * ediff-diff.el (ediff-make-diff2-buffer): Removed bogus checks + for remote files. + (ediff-coding-system-for-read): replaced the no-conversion default + with raw-text. + + * ediff-init.el: Removed :version from defcustom vars. + + * ediff-util.el (ediff-compute-custom-diffs-maybe): Better + handling of the diff mode + + * ediff.texi: Added ediff-coding-system-for-read. + + * viper.texi: Typos + 2001-02-11 Dave Love * shadowfile.el: Doc fixes. diff --git a/lisp/ediff-diff.el b/lisp/ediff-diff.el index 1ba2b8df80..3bf2277d6b 100644 --- a/lisp/ediff-diff.el +++ b/lisp/ediff-diff.el @@ -55,6 +55,16 @@ Must produce output compatible with Unix's diff3 program." :type 'string :group 'ediff-diff) +(defcustom ediff-coding-system-for-read 'raw-text + "*The coding system for read to use when running the diff program as a subprocess. +In most cases, the default will do. However, under certain circumstances in +Windows NT/98/95 you might need to use something like 'raw-text-dos here. +So, if the output that your diff program sends to Emacs contains extra ^M's, +you might need to experiment here, if the default or 'raw-text-dos doesn't +work." + :type 'symbol + :group 'ediff-diff) + ;; The following functions must precede all defcustom-defined variables. ;; The following functions needed for setting diff/diff3 options @@ -235,6 +245,7 @@ one optional arguments, diff-number to refine.") ;; Run the diff program on FILE1 and FILE2 and put the output in DIFF-BUFFER ;; Return the size of DIFF-BUFFER +;; The return code isn't used in the program at present. (defun ediff-make-diff2-buffer (diff-buffer file1 file2) (let ((file1-size (ediff-file-size file1)) (file2-size (ediff-file-size file2))) @@ -250,19 +261,6 @@ one optional arguments, diff-number to refine.") (sit-for 2) ;; 1 is an error exit code 1) - ((< file1-size 0) - (message "Can't diff remote files: %s" - (ediff-abbreviate-file-name file1)) - (sit-for 2) - ;; 1 is an error exit code - 1) - ((< file2-size 0) - (message "Can't diff remote file: %s" - (ediff-abbreviate-file-name file2)) - (sit-for 2) - (message "") - ;; 1 is an error exit code - 1) (t (message "Computing differences between %s and %s ..." (file-name-nondirectory file1) (file-name-nondirectory file2)) @@ -1133,7 +1131,7 @@ delimiter regions")) ;; args. (defun ediff-exec-process (program buffer synch options &rest files) (let ((data (match-data)) - (coding-system-for-read 'no-conversion) + (coding-system-for-read ediff-coding-system-for-read) args) (setq args (append (split-string options) files)) (setq args (delete "" (delq nil args))) ; delete nil and "" from arguments diff --git a/lisp/ediff-init.el b/lisp/ediff-init.el index bfa77a71fb..f984ac2fa3 100644 --- a/lisp/ediff-init.el +++ b/lisp/ediff-init.el @@ -381,7 +381,6 @@ that Ediff doesn't know about.") This hook can be used to save the previous window config, which can be restored on ediff-quit or ediff-suspend." :type 'hook - :version "21.1" :group 'ediff-hook) (defcustom ediff-before-setup-windows-hook nil "*Hooks to run before Ediff sets its window configuration. @@ -1221,7 +1220,6 @@ as `ediff-merge-directory' or `ediff-merge-directory-revisions'." (defcustom ediff-merge-filename-prefix "merge_" "*Prefix to be attached to saved merge buffers." :type 'string - :version "21.1" :group 'ediff-merge) (defcustom ediff-no-emacs-help-in-control-buffer nil diff --git a/lisp/ediff-util.el b/lisp/ediff-util.el index ef55dbb69a..1e49926e36 100644 --- a/lisp/ediff-util.el +++ b/lisp/ediff-util.el @@ -3113,13 +3113,10 @@ Without an argument, it saves customized diff argument, if available (ediff-exec-process ediff-custom-diff-program ediff-custom-diff-buffer 'synchronize ediff-custom-diff-options file-A file-B) - (condition-case nil - ;; put the diff file in diff-mode, if it is available - (prog - (require 'diff-mode) - (with-current-buffer ediff-custom-diff-buffer - (diff-mode))) - (error)) + ;; put the diff file in diff-mode, if it is available + (if (fboundp 'diff-mode) + (with-current-buffer ediff-custom-diff-buffer + (diff-mode))) (delete-file file-A) (delete-file file-B) )) diff --git a/man/ChangeLog b/man/ChangeLog index 578645409f..d19845e071 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,9 @@ +2001-02-12 Michael Kifer + + * viper.texi: Fixed typos. + + * ediff.texi: Added ediff-coding-system-for-read. + 2001-02-11 ShengHuo ZHU * gnus.texi (Pterodactyl Gnus): Added. diff --git a/man/ediff.texi b/man/ediff.texi index 384e3e8ee1..ce8ed1d14d 100644 --- a/man/ediff.texi +++ b/man/ediff.texi @@ -1725,6 +1725,17 @@ such as @samp{-w} that ignore certain kinds of changes. However, Ediff does not let you use the option @samp{-c}, as it doesn't recognize this format yet. +@item ediff-coding-system-for-read +@itemx ediff-coding-system-for-read +@vindex ediff-coding-system-for-read +This variable specifies the coding system to use when reading the output +that the programs @code{diff3} and @code{diff} send to Emacs. The default +is @code{raw-text}, and this should work fine in Unix and in most +cases under Windows NT/95/98/2000. There are @code{diff} programs +for which the default option doesn't work under Windows. In such cases, +@code{raw-text-dos} might work. If not, you will have to experiment with +other coding systems or use GNU diff. + @item ediff-patch-program The program to use to apply patches. Since there are certain incompatibilities between the different versions of the patch program, the diff --git a/man/viper.texi b/man/viper.texi index e391b144c9..b62f1e097e 100644 --- a/man/viper.texi +++ b/man/viper.texi @@ -559,7 +559,7 @@ function instead. Viper uses @key{ESC} as a switch between Insert and Vi states. Emacs uses @key{ESC} for Meta. The Meta key is very important in Emacs since many -finctions are accessible only via that key as @kbd{M-x function-name}. +functions are accessible only via that key as @kbd{M-x function-name}. Therefore, we need to simulate it somehow. In Viper's Vi, Insert, and Replace states, the meta key is set to be @kbd{C-\}. Thus, to get @kbd{M-x}, you should type @kbd{C-\ x} (if the keyboard has no Meta key). @@ -679,7 +679,7 @@ Having found the appropriate command, it can be then executed by typing To avoid confusing the beginner (at Viper level 1 and 2), Viper makes only the standard Vi keys available in Insert state. The implication is that -Emacs major modes cannot be used Insert state. +Emacs major modes cannot be used in Insert state. It is strongly recommended that as soon as you are comfortable, make the Emacs state bindings visible (by changing your user level to 3 or higher). @xref{Customization}, @@ -4449,7 +4449,7 @@ lindstro@@biostat.wisc.edu (Mary Lindstrom), minakaji@@osaka.email.ne.jp (Mikio Nakajima), Mark.Bordas@@East.Sun.COM (Mark Bordas), meyering@@comco.com (Jim Meyering), -mrb@@Eng.Sun.COM (Martin Buchholz), +martin@@xemacs.org (Martin Buchholz), mveiga@@dit.upm.es (Marcelino Veiga Tuimil), paulk@@summit.esg.apertus.com (Paul Keusemann), pfister@@cs.sunysb.edu (Hanspeter Pfister), -- 2.20.1