aboutsummaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorMichael Kifer2001-07-21 05:28:24 +0000
committerMichael Kifer2001-07-21 05:28:24 +0000
commit4960e7572aba4d10ef5f49b4dc27f3cc4a4a7af5 (patch)
tree88083e3fa4569e9e18dad3994d3e7d8809a9c33c /man
parent0582471880ed96258caccd64e4d8bcf3028c610d (diff)
downloademacs-4960e7572aba4d10ef5f49b4dc27f3cc4a4a7af5.tar.gz
emacs-4960e7572aba4d10ef5f49b4dc27f3cc4a4a7af5.zip
* viper-ex.el (ex-token-list,ex-cmd-execute): Revamped, courtesy
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.
Diffstat (limited to 'man')
-rw-r--r--man/ChangeLog6
-rw-r--r--man/ediff.texi74
-rw-r--r--man/viper.texi27
3 files changed, 99 insertions, 8 deletions
diff --git a/man/ChangeLog b/man/ChangeLog
index 717be4fdf65..6af5a433523 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,9 @@
12001-07-21 Michael Kifer <kifer@cs.sunysb.edu>
2
3 * viper.texi: Added credits, new commands, like :make.
4
5 * ediff.texi: added credits.
6
12001-06-08 Carsten Dominik <dominik@astro.uva.nl> 72001-06-08 Carsten Dominik <dominik@astro.uva.nl>
2 8
3 * reftex.texi: Updated to version 4.16 9 * reftex.texi: Updated to version 4.16
diff --git a/man/ediff.texi b/man/ediff.texi
index 3e6a73ca710..8247a8935bf 100644
--- a/man/ediff.texi
+++ b/man/ediff.texi
@@ -13,6 +13,7 @@
13@synindex vr cp 13@synindex vr cp
14@synindex fn cp 14@synindex fn cp
15@synindex pg cp 15@synindex pg cp
16@synindex ky cp
16 17
17@dircategory Emacs 18@dircategory Emacs
18@direntry 19@direntry
@@ -150,6 +151,15 @@ The architecture and the interface are, of course, drastically different.
150@node Major Entry Points, Session Commands, Introduction, Top 151@node Major Entry Points, Session Commands, Introduction, Top
151@chapter Major Entry Points 152@chapter Major Entry Points
152 153
154When Ediff starts up, it displays a small control window, which accepts the
155Ediff commands and two or three windows displaying the files to be compared
156or merged. The control window can be in its own small frame or it can be
157part of a bigger frame that displays other buffers. In any case, it is
158important that the control window be active (i.e., be the one receiving the
159keystrokes) when you use Ediff. You can switch to other Emacs buffers at
160will and even edit the files currently being compared with Ediff and then
161switch back to Ediff at any time by activating the appropriate Emacs windows.
162
153Ediff can be invoked interactively using the following functions, which can 163Ediff can be invoked interactively using the following functions, which can
154be run either from the minibuffer or from the menu bar. In the menu bar, 164be run either from the minibuffer or from the menu bar. In the menu bar,
155all Ediff's entry points belong to three submenus of the Tools menu: 165all Ediff's entry points belong to three submenus of the Tools menu:
@@ -443,27 +453,35 @@ command (see @kbd{ga}, @kbd{gb}, and @kbd{gc}).
443 453
444@table @kbd 454@table @kbd
445@item ? 455@item ?
456@kindex ?
446Toggles the Ediff Quick Help window ON and OFF. 457Toggles the Ediff Quick Help window ON and OFF.
447@item G 458@item G
459@kindex G
448Prepares a mail buffer for sending a praise or a curse to the Ediff maintainer. 460Prepares a mail buffer for sending a praise or a curse to the Ediff maintainer.
449 461
450@item E 462@item E
463@kindex E
451Brings up the top node of this manual, where you can find further 464Brings up the top node of this manual, where you can find further
452information on the various Ediff functions and advanced issues, such as 465information on the various Ediff functions and advanced issues, such as
453customization, session groups, etc. 466customization, session groups, etc.
454 467
455@item v 468@item v
469@kindex v
456Scrolls up buffers A and B (and buffer C where appropriate) in a 470Scrolls up buffers A and B (and buffer C where appropriate) in a
457coordinated fashion. 471coordinated fashion.
458@item V 472@item V
473@kindex V
459Scrolls the buffers down. 474Scrolls the buffers down.
460 475
461@item < 476@item <
477@kindex <
462Scrolls the buffers to the left simultaneously. 478Scrolls the buffers to the left simultaneously.
463@item > 479@item >
480@kindex >
464Scrolls buffers to the right. 481Scrolls buffers to the right.
465 482
466@item wd 483@item wd
484@kindex wd
467Saves the output from the diff utility, for further reference. 485Saves the output from the diff utility, for further reference.
468 486
469With prefix argument, saves the plain output from @code{diff} (see 487With prefix argument, saves the plain output from @code{diff} (see
@@ -473,14 +491,18 @@ argument, it saves customized @code{diff} output (see
473it is available. 491it is available.
474 492
475@item wa 493@item wa
494@kindex wa
476Saves buffer A, if it was modified. 495Saves buffer A, if it was modified.
477@item wb 496@item wb
497@kindex wb
478Saves buffer B, if it was modified. 498Saves buffer B, if it was modified.
479@item wc 499@item wc
500@kindex wc
480Saves buffer C, if it was modified (if you are in a session that 501Saves buffer C, if it was modified (if you are in a session that
481compares three files simultaneously). 502compares three files simultaneously).
482 503
483@item a 504@item a
505@kindex a
484@emph{In comparison sessions:} 506@emph{In comparison sessions:}
485Copies the current difference region (or the region specified as the prefix 507Copies the current difference region (or the region specified as the prefix
486to this command) from buffer A to buffer B. 508to this command) from buffer A to buffer B.
@@ -493,6 +515,7 @@ to this command) from buffer A to the merge buffer. The old contents of
493this region in buffer C can be restored via the command @kbd{r}. 515this region in buffer C can be restored via the command @kbd{r}.
494 516
495@item b 517@item b
518@kindex b
496Works similarly, but copies the current difference region from buffer B to 519Works similarly, but copies the current difference region from buffer B to
497buffer A (in @emph{comparison sessions}) or the merge buffer (in 520buffer A (in @emph{comparison sessions}) or the merge buffer (in
498@emph{merge sessions}). 521@emph{merge sessions}).
@@ -502,39 +525,50 @@ be reinstated via the command @kbd{ra} in comparison sessions and
502@kbd{r} in merge sessions. 525@kbd{r} in merge sessions.
503 526
504@item ab 527@item ab
528@kindex ab
505Copies the current difference region (or the region specified as the prefix 529Copies the current difference region (or the region specified as the prefix
506to this command) from buffer A to buffer B. This (and the next five) 530to this command) from buffer A to buffer B. This (and the next five)
507command is enabled only in sessions that compare three files 531command is enabled only in sessions that compare three files
508simultaneously. The old region in buffer B is saved and can be restored 532simultaneously. The old region in buffer B is saved and can be restored
509via the command @kbd{rb}. 533via the command @kbd{rb}.
510@item ac 534@item ac
535@kindex ac
511Copies the difference region from buffer A to buffer C. 536Copies the difference region from buffer A to buffer C.
512The old region in buffer C is saved and can be restored via the command 537The old region in buffer C is saved and can be restored via the command
513@kbd{rc}. 538@kbd{rc}.
514@item ba 539@item ba
540@kindex ba
515Copies the difference region from buffer B to buffer A. 541Copies the difference region from buffer B to buffer A.
516The old region in buffer A is saved and can be restored via the command 542The old region in buffer A is saved and can be restored via the command
517@kbd{ra}. 543@kbd{ra}.
518@item bc 544@item bc
545@kindex bc
519Copies the difference region from buffer B to buffer C. 546Copies the difference region from buffer B to buffer C.
520The command @kbd{rc} undoes this. 547The command @kbd{rc} undoes this.
521@item ca 548@item ca
549@kindex ca
522Copies the difference region from buffer C to buffer A. 550Copies the difference region from buffer C to buffer A.
523The command @kbd{ra} undoes this. 551The command @kbd{ra} undoes this.
524@item cb 552@item cb
553@kindex cb
525Copies the difference region from buffer C to buffer B. 554Copies the difference region from buffer C to buffer B.
526The command @kbd{rb} undoes this. 555The command @kbd{rb} undoes this.
527 556
528@item p 557@item p
529@itemx DEL 558@itemx DEL
559@kindex p
560@kindex DEL
530Makes the previous difference region current. 561Makes the previous difference region current.
531@item n 562@item n
532@itemx SPC 563@itemx SPC
564@kindex n
565@kindex SPC
533Makes the next difference region current. 566Makes the next difference region current.
534 567
535@item j 568@item j
536@itemx -j 569@itemx -j
537@itemx Nj 570@itemx Nj
571@kindex j
538Makes the very first difference region current. 572Makes the very first difference region current.
539 573
540@kbd{-j} makes the last region current. Typing a number, N, and then `j' 574@kbd{-j} makes the last region current. Typing a number, N, and then `j'
@@ -542,6 +576,7 @@ makes the difference region N current. Typing -N (a negative number) then
542`j' makes current the region Last - N. 576`j' makes current the region Last - N.
543 577
544@item ga 578@item ga
579@kindex ga
545Makes current the difference region closest to the position of the point in 580Makes current the difference region closest to the position of the point in
546buffer A. 581buffer A.
547 582
@@ -553,11 +588,13 @@ region, then it is in an area where all variants agree with each other. In
553this case, the variants will be positioned so that each would display this 588this case, the variants will be positioned so that each would display this
554area (of agreement). 589area (of agreement).
555@item gb 590@item gb
591@kindex gb
556Makes current the difference region closest to the position of the point in 592Makes current the difference region closest to the position of the point in
557buffer B. 593buffer B.
558 594
559With a prefix argument, behaves like @kbd{ga}, but with respect to buffer B. 595With a prefix argument, behaves like @kbd{ga}, but with respect to buffer B.
560@item gc 596@item gc
597@kindex gc
561@emph{In merge sessions:} 598@emph{In merge sessions:}
562makes current the difference region closest to the point in the merge buffer. 599makes current the difference region closest to the point in the merge buffer.
563 600
@@ -567,12 +604,14 @@ makes current the region closest to the point in buffer C.
567With a prefix argument, behaves like @kbd{ga}, but with respect to buffer C. 604With a prefix argument, behaves like @kbd{ga}, but with respect to buffer C.
568 605
569@item ! 606@item !
607@kindex !
570Recomputes the difference regions, bringing them up to date. This is often 608Recomputes the difference regions, bringing them up to date. This is often
571needed because it is common to do all sorts of editing during Ediff 609needed because it is common to do all sorts of editing during Ediff
572sessions, so after a while, the highlighted difference regions may no 610sessions, so after a while, the highlighted difference regions may no
573longer reflect the actual differences among the buffers. 611longer reflect the actual differences among the buffers.
574 612
575@item * 613@item *
614@kindex *
576Forces refinement of the current difference region, which highlights the exact 615Forces refinement of the current difference region, which highlights the exact
577words of disagreement among the buffers. With a negative prefix argument, 616words of disagreement among the buffers. With a negative prefix argument,
578unhighlights the current region. 617unhighlights the current region.
@@ -589,17 +628,20 @@ This command is also useful when the highlighted fine differences are
589no longer current, due to user editing. 628no longer current, due to user editing.
590 629
591@item m 630@item m
631@kindex m
592Displays the current Ediff session in a frame as wide as the physical 632Displays the current Ediff session in a frame as wide as the physical
593display. This is useful when comparing files side-by-side. Typing `m' again 633display. This is useful when comparing files side-by-side. Typing `m' again
594restores the original size of the frame. 634restores the original size of the frame.
595 635
596@item | 636@item |
637@kindex |
597Toggles the horizontal/vertical split of the Ediff display. Horizontal 638Toggles the horizontal/vertical split of the Ediff display. Horizontal
598split is convenient when it is possible to compare files 639split is convenient when it is possible to compare files
599side-by-side. If the frame in which files are displayed is too narrow 640side-by-side. If the frame in which files are displayed is too narrow
600and lines are cut off, typing @kbd{m} may help some. 641and lines are cut off, typing @kbd{m} may help some.
601 642
602@item @@ 643@item @@
644@kindex @@
603Toggles auto-refinement of difference regions (i.e., automatic highlighting 645Toggles auto-refinement of difference regions (i.e., automatic highlighting
604of the exact words that differ among the variants). Auto-refinement is 646of the exact words that differ among the variants). Auto-refinement is
605turned off on devices where Emacs doesn't support highlighting. 647turned off on devices where Emacs doesn't support highlighting.
@@ -609,11 +651,13 @@ user can always forcefully refine specific difference regions by typing
609@kbd{*}. 651@kbd{*}.
610 652
611@item h 653@item h
654@kindex h
612Cycles between full highlighting, the mode where fine differences are not 655Cycles between full highlighting, the mode where fine differences are not
613highlighted (but computed), and the mode where highlighting is done with 656highlighted (but computed), and the mode where highlighting is done with
614ASCII strings. The latter is not really recommended, unless on a dumb TTY. 657ASCII strings. The latter is not really recommended, unless on a dumb TTY.
615 658
616@item r 659@item r
660@kindex r
617Restores the old contents of the region in the merge buffer. 661Restores the old contents of the region in the merge buffer.
618(If you copied a difference region from buffer A or B into the merge buffer 662(If you copied a difference region from buffer A or B into the merge buffer
619using the commands @kbd{a} or @kbd{b}, Ediff saves the old contents of the 663using the commands @kbd{a} or @kbd{b}, Ediff saves the old contents of the
@@ -622,22 +666,26 @@ region in case you change your mind.)
622This command is enabled in merge sessions only. 666This command is enabled in merge sessions only.
623 667
624@item ra 668@item ra
669@kindex ra
625Restores the old contents of the current difference region in buffer A, 670Restores the old contents of the current difference region in buffer A,
626which was previously saved when the user invoked one of these commands: 671which was previously saved when the user invoked one of these commands:
627@kbd{b}, @kbd{ba}, @kbd{ca}, which see. This command is enabled in 672@kbd{b}, @kbd{ba}, @kbd{ca}, which see. This command is enabled in
628comparison sessions only. 673comparison sessions only.
629@item rb 674@item rb
675@kindex rb
630Restores the old contents of the current difference region in buffer B, 676Restores the old contents of the current difference region in buffer B,
631which was previously saved when the user invoked one of these commands: 677which was previously saved when the user invoked one of these commands:
632@kbd{a}, @kbd{ab}, @kbd{cb}, which see. This command is enabled in 678@kbd{a}, @kbd{ab}, @kbd{cb}, which see. This command is enabled in
633comparison sessions only. 679comparison sessions only.
634@item rc 680@item rc
681@kindex rc
635Restores the old contents of the current difference region in buffer C, 682Restores the old contents of the current difference region in buffer C,
636which was previously saved when the user invoked one of these commands: 683which was previously saved when the user invoked one of these commands:
637@kbd{ac}, @kbd{bc}, which see. This command is enabled in 3-file 684@kbd{ac}, @kbd{bc}, which see. This command is enabled in 3-file
638comparison sessions only. 685comparison sessions only.
639 686
640@item ## 687@item ##
688@kindex ##
641Tell Ediff to skip over regions that disagree among themselves only in the 689Tell Ediff to skip over regions that disagree among themselves only in the
642amount of white space and line breaks. 690amount of white space and line breaks.
643 691
@@ -647,6 +695,8 @@ again puts Ediff back in the original state.
647 695
648@item #h 696@item #h
649@itemx #f 697@itemx #f
698@kindex #f
699@kindex #h
650Ediff works hard to ameliorate the effects of boredom in the workplace... 700Ediff works hard to ameliorate the effects of boredom in the workplace...
651 701
652Quite often differences are due to identical replacements (e.g., the word 702Quite often differences are due to identical replacements (e.g., the word
@@ -667,24 +717,30 @@ regular expressions. All other regions will be skipped
667over. @xref{Selective Browsing}, for more. 717over. @xref{Selective Browsing}, for more.
668 718
669@item A 719@item A
720@kindex A
670Toggles the read-only property in buffer A. 721Toggles the read-only property in buffer A.
671If file A is under version control and is checked in, it is checked out 722If file A is under version control and is checked in, it is checked out
672(with your permission). 723(with your permission).
673@item B 724@item B
725@kindex B
674Toggles the read-only property in buffer B. 726Toggles the read-only property in buffer B.
675If file B is under version control and is checked in, it is checked out. 727If file B is under version control and is checked in, it is checked out.
676@item C 728@item C
729@kindex C
677Toggles the read-only property in buffer C (in 3-file comparison sessions). 730Toggles the read-only property in buffer C (in 3-file comparison sessions).
678If file C is under version control and is checked in, it is checked out. 731If file C is under version control and is checked in, it is checked out.
679 732
680@item ~ 733@item ~
734@kindex ~
681Swaps the windows where buffers A and B are displayed. If you are comparing 735Swaps the windows where buffers A and B are displayed. If you are comparing
682three buffers at once, then this command would rotate the windows among 736three buffers at once, then this command would rotate the windows among
683buffers A, B, and C. 737buffers A, B, and C.
684 738
685@item i 739@item i
740@kindex i
686Displays all kinds of useful data about the current Ediff session. 741Displays all kinds of useful data about the current Ediff session.
687@item D 742@item D
743@kindex D
688Runs @code{ediff-custom-diff-program} on the variants and displays the 744Runs @code{ediff-custom-diff-program} on the variants and displays the
689buffer containing the output. This is useful when you must send the output 745buffer containing the output. This is useful when you must send the output
690to your Mom. 746to your Mom.
@@ -693,6 +749,7 @@ With a prefix argument, displays the plain @code{diff} output.
693@xref{Patch and Diff Programs}, for details. 749@xref{Patch and Diff Programs}, for details.
694 750
695@item R 751@item R
752@kindex R
696Displays a list of currently active Ediff sessions---the Ediff Registry. 753Displays a list of currently active Ediff sessions---the Ediff Registry.
697You can then restart any of these sessions by either clicking on a session 754You can then restart any of these sessions by either clicking on a session
698record or by putting the cursor over it and then typing the return key. 755record or by putting the cursor over it and then typing the return key.
@@ -706,10 +763,12 @@ Control Panel. If you don't have a control panel handy, type this in the
706minibuffer: @kbd{M-x eregistry}. @xref{Registry of Ediff Sessions}. 763minibuffer: @kbd{M-x eregistry}. @xref{Registry of Ediff Sessions}.
707 764
708@item M 765@item M
766@kindex M
709Shows the session group buffer that invoked the current Ediff session. 767Shows the session group buffer that invoked the current Ediff session.
710@xref{Session Groups}, for more information on session groups. 768@xref{Session Groups}, for more information on session groups.
711 769
712@item z 770@item z
771@kindex z
713Suspends the current Ediff session. (If you develop a condition known as 772Suspends the current Ediff session. (If you develop a condition known as
714Repetitive Ediff Injury---a serious but curable illness---you must change 773Repetitive Ediff Injury---a serious but curable illness---you must change
715your current activity. This command tries hard to hide all Ediff-related 774your current activity. This command tries hard to hide all Ediff-related
@@ -718,21 +777,25 @@ buffers.)
718The easiest way to resume a suspended Ediff session is through the registry 777The easiest way to resume a suspended Ediff session is through the registry
719of active sessions. @xref{Registry of Ediff Sessions}, for details. 778of active sessions. @xref{Registry of Ediff Sessions}, for details.
720@item q 779@item q
780@kindex q
721Terminates this Ediff session. With a prefix argument (e.g.,@kbd{1q}), asks 781Terminates this Ediff session. With a prefix argument (e.g.,@kbd{1q}), asks
722if you also want to delete the buffers of the variants. 782if you also want to delete the buffers of the variants.
723Modified files and the results of merges are never deleted. 783Modified files and the results of merges are never deleted.
724 784
725@item % 785@item %
786@kindex %
726Toggles narrowing in Ediff buffers. Ediff buffers may be narrowed if you 787Toggles narrowing in Ediff buffers. Ediff buffers may be narrowed if you
727are comparing only parts of these buffers via the commands 788are comparing only parts of these buffers via the commands
728@code{ediff-windows-*} and @code{ediff-regions-*}, which see. 789@code{ediff-windows-*} and @code{ediff-regions-*}, which see.
729 790
730@item C-l 791@item C-l
792@kindex C-l
731Restores the usual Ediff window setup. This is the quickest way to resume 793Restores the usual Ediff window setup. This is the quickest way to resume
732an Ediff session, but it works only if the control panel of that session is 794an Ediff session, but it works only if the control panel of that session is
733visible. 795visible.
734 796
735@item $$ 797@item $$
798@kindex $$
736While merging with an ancestor file, Ediff is determined to reduce user's 799While merging with an ancestor file, Ediff is determined to reduce user's
737wear and tear by saving him and her much of unproductive, repetitive 800wear and tear by saving him and her much of unproductive, repetitive
738typing. If it notices that, say, file A's difference region is identical to 801typing. If it notices that, say, file A's difference region is identical to
@@ -752,6 +815,7 @@ of the variants clashes with the ancestor but the other variant agrees with
752it. Typing @kbd{$$} again undoes this setting. 815it. Typing @kbd{$$} again undoes this setting.
753 816
754@item $* 817@item $*
818@kindex $*
755When merging files with large number of differences, it is sometimes 819When merging files with large number of differences, it is sometimes
756convenient to be able to skip the difference regions for which you already 820convenient to be able to skip the difference regions for which you already
757decided which variant is most appropriate. Typing @kbd{$*} will accomplish 821decided which variant is most appropriate. Typing @kbd{$*} will accomplish
@@ -767,8 +831,10 @@ this region will be skipped if it differs from the current difference
767region in buffer A, etc. 831region in buffer A, etc.
768 832
769@item / 833@item /
834@kindex /
770Displays the ancestor file during merges. 835Displays the ancestor file during merges.
771@item & 836@item &
837@kindex &
772In some situations, such as when one of the files agrees with the ancestor file 838In some situations, such as when one of the files agrees with the ancestor file
773on a difference region and the other doesn't, Ediff knows what to do: it copies 839on a difference region and the other doesn't, Ediff knows what to do: it copies
774the current difference region from the second buffer into the merge buffer. 840the current difference region from the second buffer into the merge buffer.
@@ -788,6 +854,7 @@ region has the status @samp{default-A} then changing the default action to
788corresponding region from buffer B. 854corresponding region from buffer B.
789 855
790@item s 856@item s
857@kindex s
791Causes the merge window shrink to its minimum size, thereby exposing as much 858Causes the merge window shrink to its minimum size, thereby exposing as much
792of the variant buffers as possible. Typing `s' again restores 859of the variant buffers as possible. Typing `s' again restores
793the original size of that window. 860the original size of that window.
@@ -807,12 +874,14 @@ The split between the merge window and the variant windows is controlled by
807the variable @code{ediff-merge-window-share}, which see. 874the variable @code{ediff-merge-window-share}, which see.
808 875
809@item + 876@item +
877@kindex +
810Combines the difference regions from buffers A and B and copies the 878Combines the difference regions from buffers A and B and copies the
811result into the merge buffer. @xref{Merging and diff3}, and the 879result into the merge buffer. @xref{Merging and diff3}, and the
812variables @code{ediff-combine-diffs} and @code{ediff-combination-pattern}. 880variables @code{ediff-combine-diffs} and @code{ediff-combination-pattern}.
813 881
814 882
815@item = 883@item =
884@kindex =
816You may run into situations when a large chunk of text in one file has been 885You may run into situations when a large chunk of text in one file has been
817edited and then moved to a different place in another file. In such a case, 886edited and then moved to a different place in another file. In such a case,
818these two chunks of text are unlikely to belong to the same difference 887these two chunks of text are unlikely to belong to the same difference
@@ -836,6 +905,9 @@ be asked which two of the three buffers to use).
836Ediff would take the current region in the merge buffer and compare 905Ediff would take the current region in the merge buffer and compare
837it to the current region in the buffer of your choice (A or B). 906it to the current region in the buffer of your choice (A or B).
838 907
908@emph{Note: In all these cases you must first switch to the appropriate
909Emacs buffers and manually set the regions that you want to compare.}
910
839Highlighting set by the parent Ediff session is removed, to avoid interference 911Highlighting set by the parent Ediff session is removed, to avoid interference
840with highlighting of the child session. When done with the child session, type 912with highlighting of the child session. When done with the child session, type
841@kbd{C-l} in the parent's control panel to restore the original highlighting. 913@kbd{C-l} in the parent's control panel to restore the original highlighting.
@@ -2329,12 +2401,14 @@ Leigh L Klotz (klotz@@adoc.xerox.com),
2329Fritz Knabe (Fritz.Knabe@@ecrc.de), 2401Fritz Knabe (Fritz.Knabe@@ecrc.de),
2330Heinz Knutzen (hk@@informatik.uni-kiel.d400.de), 2402Heinz Knutzen (hk@@informatik.uni-kiel.d400.de),
2331Andrew Koenig (ark@@research.att.com), 2403Andrew Koenig (ark@@research.att.com),
2404Hannu Koivisto (azure@@iki.fi),
2332Ken Laprade (laprade@@dw3f.ess.harris.com), 2405Ken Laprade (laprade@@dw3f.ess.harris.com),
2333Will C Lauer (wcl@@cadre.com), 2406Will C Lauer (wcl@@cadre.com),
2334Richard Levitte (levitte@@e.kth.se), 2407Richard Levitte (levitte@@e.kth.se),
2335Mike Long (mike.long@@analog.com), 2408Mike Long (mike.long@@analog.com),
2336Martin Maechler (maechler@@stat.math.ethz.ch), 2409Martin Maechler (maechler@@stat.math.ethz.ch),
2337Simon Marshall (simon@@gnu.org), 2410Simon Marshall (simon@@gnu.org),
2411Paul C. Meuse (pmeuse@@delcomsys.com),
2338Richard Mlynarik (mly@@adoc.xerox.com), 2412Richard Mlynarik (mly@@adoc.xerox.com),
2339Stefan Monnier (monnier@@cs.yale.edu), 2413Stefan Monnier (monnier@@cs.yale.edu),
2340Chris Murphy (murphycm@@sun.aston.ac.uk), 2414Chris Murphy (murphycm@@sun.aston.ac.uk),
diff --git a/man/viper.texi b/man/viper.texi
index e0838fdbb7b..674e44111f0 100644
--- a/man/viper.texi
+++ b/man/viper.texi
@@ -168,6 +168,17 @@ with Vi is possible but not desirable. This chapter tells you about the
168Emacs ideas that you should know about, how to use Viper within Emacs and 168Emacs ideas that you should know about, how to use Viper within Emacs and
169some incompatibilities. 169some incompatibilities.
170 170
171This manual is written with the assumption that you are an experienced Vi
172user who wants to switch to Emacs while retaining the ability to edit files
173Vi style. Incredible as it might seem, there are experienced Emacs users
174who use Viper as a backdoor into the superior (as every Vi user already knows)
175world of Vi! These users are well familiar with Emacs bindings and prefer them
176in some cases, especially in the Vi Insert state. John Hawkins
177<jshawkin@@eecs.umich.edu> has provided a set of customizations, which
178enables additional Emacs bindings under Viper. These customizations can be
179included in your @file{~/.viper} file and are found at the following URL:
180@file{http://www.eecs.umich.edu/~jshawkin/viper-sample}.
181
171Viper was formerly known as VIP-19, which was 182Viper was formerly known as VIP-19, which was
172a descendant of VIP 3.5 by Masahiko Sato and VIP 4.4 by Aamod Sane. 183a descendant of VIP 3.5 by Masahiko Sato and VIP 4.4 by Aamod Sane.
173 184
@@ -1850,10 +1861,8 @@ specifying a new face. (Emacs faces are described in the Emacs Lisp
1850reference.) On a color display, the following customization method is 1861reference.) On a color display, the following customization method is
1851usually most effective: 1862usually most effective:
1852@example 1863@example
1853(set-face-foreground viper-replace-overlay-face 1864(set-face-foreground viper-replace-overlay-face "DarkSlateBlue")
1854 "DarkSlateBlue") 1865(set-face-background viper-replace-overlay-face "yellow")
1855(set-face-background viper-replace-overlay-face
1856 "yellow")
1857@end example 1866@end example
1858For a complete list of colors available to you, evaluate the expression 1867For a complete list of colors available to you, evaluate the expression
1859@code{(x-defined-colors)}. (Type it in the buffer @code{*scratch*} and then 1868@code{(x-defined-colors)}. (Type it in the buffer @code{*scratch*} and then
@@ -2059,8 +2068,7 @@ can write this:
2059@noindent 2068@noindent
2060To customize the binding for @kbd{C-h} in Insert state: 2069To customize the binding for @kbd{C-h} in Insert state:
2061@example 2070@example
2062(define-key viper-insert-global-user-map 2071(define-key viper-insert-global-user-map "\C-h" 'my-del-backwards-function)
2063 "\C-h" 'my-del-backwards-function)
2064@end example 2072@end example
2065@noindent 2073@noindent
2066 2074
@@ -2109,8 +2117,7 @@ Dired functions, the trick can be accomplished via the following code:
2109(setq my-dired-vi-purist-map (make-sparse-keymap)) 2117(setq my-dired-vi-purist-map (make-sparse-keymap))
2110(define-key my-dired-vi-purist-map "k" 'viper-previous-line) 2118(define-key my-dired-vi-purist-map "k" 'viper-previous-line)
2111(define-key my-dired-vi-purist-map "l" 'viper-forward-char) 2119(define-key my-dired-vi-purist-map "l" 'viper-forward-char)
2112(viper-modify-major-mode 'dired-mode 2120(viper-modify-major-mode 'dired-mode 'emacs-state my-dired-vi-purist-map)
2113 'emacs-state my-dired-vi-purist-map)
2114@end example 2121@end example
2115 2122
2116Yet another way to customize key bindings in a major mode is to edit the 2123Yet another way to customize key bindings in a major mode is to edit the
@@ -4198,6 +4205,8 @@ Put the output of <cmd> after the line <address> (default current).
4198@item :<address>r <name> 4205@item :<address>r <name>
4199Read the file <name> into the buffer after the line <address> (default 4206Read the file <name> into the buffer after the line <address> (default
4200current). 4207current).
4208@item :make
4209Run the make command in the current directory.
4201@end table 4210@end table
4202@findex @kbd{:<address>r <name>} 4211@findex @kbd{:<address>r <name>}
4203@findex @kbd{:<address>r !<cmd>} 4212@findex @kbd{:<address>r !<cmd>}
@@ -4209,6 +4218,7 @@ current).
4209@findex @kbd{:!!@: <args>} 4218@findex @kbd{:!!@: <args>}
4210@findex @kbd{:!<cmd>} 4219@findex @kbd{:!<cmd>}
4211@findex @kbd{:sh} 4220@findex @kbd{:sh}
4221@findex @kbd{:make}
4212 4222
4213@node Options,Emacs Related Commands,Shell Commands,Commands 4223@node Options,Emacs Related Commands,Shell Commands,Commands
4214@section Options 4224@section Options
@@ -4455,6 +4465,7 @@ minakaji@@osaka.email.ne.jp (Mikio Nakajima),
4455Mark.Bordas@@East.Sun.COM (Mark Bordas), 4465Mark.Bordas@@East.Sun.COM (Mark Bordas),
4456meyering@@comco.com (Jim Meyering), 4466meyering@@comco.com (Jim Meyering),
4457martin@@xemacs.org (Martin Buchholz), 4467martin@@xemacs.org (Martin Buchholz),
4468mbutler@@redfernnetworks.com (Malcolm Butler),
4458mveiga@@dit.upm.es (Marcelino Veiga Tuimil), 4469mveiga@@dit.upm.es (Marcelino Veiga Tuimil),
4459paulk@@summit.esg.apertus.com (Paul Keusemann), 4470paulk@@summit.esg.apertus.com (Paul Keusemann),
4460pfister@@cs.sunysb.edu (Hanspeter Pfister), 4471pfister@@cs.sunysb.edu (Hanspeter Pfister),