aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaroly Lorentey2004-04-18 01:40:02 +0000
committerKaroly Lorentey2004-04-18 01:40:02 +0000
commitf2e45864d10657552bbc5cda8f10a5dcf1bfe511 (patch)
tree21af8d850cc6b15905949f6b2bc13733bfa7d184
parent9002956fd888928dcca6ba30bbb90c739741377a (diff)
parent06e2fd488e846d50952025d07a5e12cc0cd4ff81 (diff)
downloademacs-f2e45864d10657552bbc5cda8f10a5dcf1bfe511.tar.gz
emacs-f2e45864d10657552bbc5cda8f10a5dcf1bfe511.zip
Merged in changes from CVS trunk.
Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-220 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-221 Restore deleted tagline in etc/TUTORIAL.ru * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-222 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-223 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-224 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-225 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-144
-rw-r--r--ChangeLog5
-rw-r--r--INSTALL25
-rw-r--r--etc/ChangeLog4
-rw-r--r--etc/NEWS1
-rw-r--r--etc/TUTORIAL.fr1
-rw-r--r--etc/TUTORIAL.it4
-rw-r--r--etc/TUTORIAL.nl7
-rw-r--r--etc/TUTORIAL.pl5
-rw-r--r--etc/TUTORIAL.ru443
-rw-r--r--etc/TUTORIAL.sl1
-rw-r--r--etc/TUTORIAL.sv5
-rw-r--r--etc/TUTORIAL.th4
-rw-r--r--lisp/ChangeLog103
-rw-r--r--lisp/allout.el55
-rw-r--r--lisp/diff-mode.el6
-rw-r--r--lisp/files.el25
-rw-r--r--lisp/iswitchb.el45
-rw-r--r--lisp/progmodes/compile.el197
-rw-r--r--lisp/progmodes/gdb-ui.el19
-rw-r--r--lisp/progmodes/python.el98
-rw-r--r--lisp/url/url-dav.el27
-rw-r--r--lisp/url/url-file.el12
-rw-r--r--lisp/url/url-handlers.el4
-rw-r--r--lisp/url/url-http.el9
-rw-r--r--lisp/url/url-https.el48
-rw-r--r--lisp/url/url-nfs.el60
-rw-r--r--lisp/url/url-util.el53
-rw-r--r--lisp/xml.el42
-rw-r--r--lispref/ChangeLog4
-rw-r--r--lispref/keymaps.texi2
-rw-r--r--lispref/lists.texi8
-rw-r--r--lispref/processes.texi2
-rw-r--r--lispref/sequences.texi34
-rw-r--r--lispref/text.texi2
-rw-r--r--src/ChangeLog41
-rw-r--r--src/buffer.c3
-rw-r--r--src/callint.c4
-rw-r--r--src/doc.c2
-rw-r--r--src/image.c31
-rw-r--r--src/keyboard.c4
-rw-r--r--src/keymap.c227
-rw-r--r--src/keymap.h5
-rw-r--r--src/xdisp.c8
43 files changed, 986 insertions, 699 deletions
diff --git a/ChangeLog b/ChangeLog
index db4f7a2aacd..a97a1fa2c26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
12004-04-17 Richard M. Stallman <rms@gnu.org>
2
3 * INSTALL: Move the info about site-lisp dirs,
4 and say uninstalled Emacs looks there too.
5
12004-04-04 Eli Zaretskii <eliz@gnu.org> 62004-04-04 Eli Zaretskii <eliz@gnu.org>
2 7
3 * config.bat (lib-src): Recognize comment lines in Makefile.in 8 * config.bat (lib-src): Recognize comment lines in Makefile.in
diff --git a/INSTALL b/INSTALL
index 255a6bcdc17..b18baaa1efa 100644
--- a/INSTALL
+++ b/INSTALL
@@ -466,17 +466,6 @@ are installed in the following directories:
466 at the same time; in particular, you don't have to 466 at the same time; in particular, you don't have to
467 make Emacs unavailable while installing a new version. 467 make Emacs unavailable while installing a new version.
468 468
469`/usr/local/share/emacs/VERSION/site-lisp' holds the local Emacs Lisp
470 files installed for Emacs version VERSION only.
471
472`/usr/local/share/emacs/site-lisp' holds the local Emacs Lisp
473 files installed for all Emacs versions.
474
475 When Emacs is installed, it searches for its Lisp files
476 in `/usr/local/share/emacs/VERSION/site-lisp', then in
477 `/usr/local/share/emacs/site-lisp', and finally in
478 `/usr/local/share/emacs/VERSION/lisp'.
479
480`/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC 469`/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC
481 file, the `yow' database, and other 470 file, the `yow' database, and other
482 architecture-independent files Emacs might need while 471 architecture-independent files Emacs might need while
@@ -506,6 +495,20 @@ are installed in the following directories:
506`/usr/local/man/man1' holds the man pages for the programs installed 495`/usr/local/man/man1' holds the man pages for the programs installed
507 in `/usr/local/bin'. 496 in `/usr/local/bin'.
508 497
498Any version of Emacs, whether installed or not, also looks for Lisp
499files in these directories.
500
501`/usr/local/share/emacs/VERSION/site-lisp' holds the local Emacs Lisp
502 files installed for Emacs version VERSION only.
503
504`/usr/local/share/emacs/site-lisp' holds the local Emacs Lisp
505 files installed for all Emacs versions.
506
507 When Emacs is installed, it searches for its Lisp files
508 in `/usr/local/share/emacs/VERSION/site-lisp', then in
509 `/usr/local/share/emacs/site-lisp', and finally in
510 `/usr/local/share/emacs/VERSION/lisp'.
511
509If these directories are not what you want, you can specify where to 512If these directories are not what you want, you can specify where to
510install Emacs's libraries and data files or where Emacs should search 513install Emacs's libraries and data files or where Emacs should search
511for its Lisp files by giving values for `make' variables as part of 514for its Lisp files by giving values for `make' variables as part of
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 580c256f12e..bd7ca250615 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,7 @@
12004-04-16 David Kastrup <dak@gnu.org>
2
3 * TUTORIAL.ru: Changes by Alex Ott checked in.
4
12004-04-14 Jan Nieuwenhuizen <janneke@gnu.org> 52004-04-14 Jan Nieuwenhuizen <janneke@gnu.org>
2 6
3 * TUTORIAL.nl: Update Delete/Delback translation. 7 * TUTORIAL.nl: Update Delete/Delback translation.
diff --git a/etc/NEWS b/etc/NEWS
index e7b2355b222..1659cccf12b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -88,6 +88,7 @@ types any more. Add -DUSE_LISP_UNION_TYPE if you want union types.
88 88
89* Changes in Emacs 21.4 89* Changes in Emacs 21.4
90 90
91+++
91** New command line option -Q. 92** New command line option -Q.
92 93
93This is like using -q --no-site-file, but in addition it also disables 94This is like using -q --no-site-file, but in addition it also disables
diff --git a/etc/TUTORIAL.fr b/etc/TUTORIAL.fr
index 953e9edb649..ae88ff4a242 100644
--- a/etc/TUTORIAL.fr
+++ b/etc/TUTORIAL.fr
@@ -1197,6 +1197,7 @@ Cette traduction française a été effectuée par Éric Jacoboni
1197 1197
1198;;; Local Variables: 1198;;; Local Variables:
1199;;; coding: latin-1 1199;;; coding: latin-1
1200;;; sentence-end-double-space: nil
1200;;; End: 1201;;; End:
1201 1202
1202;;; arch-tag: f6c5c2ff-bf24-477c-bd18-32f76f51ba65 1203;;; arch-tag: f6c5c2ff-bf24-477c-bd18-32f76f51ba65
diff --git a/etc/TUTORIAL.it b/etc/TUTORIAL.it
index 7936bbd298f..02a91045d0e 100644
--- a/etc/TUTORIAL.it
+++ b/etc/TUTORIAL.it
@@ -1114,4 +1114,8 @@ copie di GNU Emacs ai vostri amici. Aiutateci a combattere
1114l'ostruzionismo al software ("la proprietà") usando, scrivendo e 1114l'ostruzionismo al software ("la proprietà") usando, scrivendo e
1115condividendo software libero! 1115condividendo software libero!
1116 1116
1117;;; Local Variables:
1118;;; coding: latin-1
1119;;; End:
1120
1117;;; arch-tag: c6f7079d-8032-473d-91d4-36754af15719 1121;;; arch-tag: c6f7079d-8032-473d-91d4-36754af15719
diff --git a/etc/TUTORIAL.nl b/etc/TUTORIAL.nl
index b4f21f1e1c5..989f8334fd1 100644
--- a/etc/TUTORIAL.nl
+++ b/etc/TUTORIAL.nl
@@ -830,8 +830,7 @@ het zoeken.
830 zien wat er met de cursor gebeurt. Je hebt nu eenmaal naar het woord 830 zien wat er met de cursor gebeurt. Je hebt nu eenmaal naar het woord
831 `cursor' gezocht. 831 `cursor' gezocht.
832>> Type nogmaals C-s, om het volgende woord `cursor' te zoeken 832>> Type nogmaals C-s, om het volgende woord `cursor' te zoeken
833 833>> Type nu viermaal <Delback> en let op de cursorbewegingen.
834> Type nu viermaal <Delback> en let op de cursorbewegingen.
835>> Type <RET> om het zoeken te beëindigen. 834>> Type <RET> om het zoeken te beëindigen.
836 835
837Zag je wat er gebeurde? Tijdens incrementeel zoeken probeert Emacs naar 836Zag je wat er gebeurde? Tijdens incrementeel zoeken probeert Emacs naar
@@ -1093,4 +1092,8 @@ same spirit. Please read the file COPYING and then do give copies of
1093GNU Emacs to your friends. Help stamp out software obstructionism 1092GNU Emacs to your friends. Help stamp out software obstructionism
1094("ownership") by using, writing, and sharing free software!) 1093("ownership") by using, writing, and sharing free software!)
1095 1094
1095;;; Local Variables:
1096;;; coding: latin-1
1097;;; End:
1098
1096;;; arch-tag: 3399e308-e605-4125-8fbb-b2fe91ac3149 1099;;; arch-tag: 3399e308-e605-4125-8fbb-b2fe91ac3149
diff --git a/etc/TUTORIAL.pl b/etc/TUTORIAL.pl
index 012cd143c45..501df8f6521 100644
--- a/etc/TUTORIAL.pl
+++ b/etc/TUTORIAL.pl
@@ -1239,13 +1239,10 @@ z t± ide±. Proszê, przeczytaj plik COPYING, po czym rozdaj swoim
1239znajomym kopie Emacsa. Pomó¿ têpiæ obstrukcjonizm w informatyce, 1239znajomym kopie Emacsa. Pomó¿ têpiæ obstrukcjonizm w informatyce,
1240u¿ywaj±c, tworz±c i dziel±c siê oprogramowaniem swobodnym. 1240u¿ywaj±c, tworz±c i dziel±c siê oprogramowaniem swobodnym.
1241 1241
1242
1243;;; Local Variables: 1242;;; Local Variables:
1244;;; mode: fundamental 1243;;; mode: fundamental
1245;;; coding: latin-2 1244;;; coding: latin-2
1245;;; sentence-end-double-space: nil
1246;;; End: 1246;;; End:
1247 1247
1248
1249
1250
1251;;; arch-tag: 6c6b7445-4cd5-44ca-a101-7f4697b92f60 1248;;; arch-tag: 6c6b7445-4cd5-44ca-a101-7f4697b92f60
diff --git a/etc/TUTORIAL.ru b/etc/TUTORIAL.ru
index bb7480d913f..84f4b4c6c82 100644
--- a/etc/TUTORIAL.ru
+++ b/etc/TUTORIAL.ru
@@ -1,43 +1,41 @@
1;; -*- coding: cyrillic-koi8; -*- 1÷Ù ÞÉÔÁÅÔÅ ÕÞÅÂÎÉË Emacs. õÓÌÏ×ÉÑ ËÏÐÉÒÏ×ÁÎÉÑ × ËÏÎÃÅ ÆÁÊÌÁ.
2Copyright (c) 1985, 1996 Free Software Foundation, Inc. See end for conditions. 2Copyright (c) 1985, 1996, 2004 Free Software Foundation, Inc.
3
4÷Ù ÞÉÔÁÅÔÅ ÕÞÅÂÎÉË Emacs.
5 3
6äÌÑ ÕÐÒÁ×ÌÅÎÉÑ Emacs ÏÂÙÞÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ ËÌÀÞ (ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ ËÌÁ×ÉÁÔÕÒÙ 4äÌÑ ÕÐÒÁ×ÌÅÎÉÑ Emacs ÏÂÙÞÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ ËÌÀÞ (ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ ËÌÁ×ÉÁÔÕÒÙ
7É/ÉÌÉ ËÎÏÐÏË ÍÙÛÉ), ×ËÌÀÞÁÀÝÉÊ × ÓÅÂÑ ËÌÁ×ÉÛÕ CONTROL (ÉÎÏÇÄÁ ÏÔÍÅÞÁÅÍÁÑ ËÁË 5É/ÉÌÉ ËÎÏÐÏË ÍÙÛÉ), ×ËÌÀÞÁÀÝÉÊ × ÓÅÂÑ ËÌÁ×ÉÛÕ CONTROL (ÉÎÏÇÄÁ ÏÔÍÅÞÁÅÍÁÑ
8CTRL ÉÌÉ CTL) ÉÌÉ ËÌÁ×ÉÛÕ META (ÉÎÏÇÄÁ ÐÏÍÅÞÅÎÎÕÀ ËÁË ALT ÉÌÉ EDIT). ÷ 6ËÁË CTRL ÉÌÉ CTL) ÉÌÉ ËÌÁ×ÉÛÕ META (ÉÎÏÇÄÁ ÐÏÍÅÞÅÎÎÕÀ ËÁË ALT ÉÌÉ EDIT). ÷
9ÄÁÌØÎÅÊÛÅÍ ×ÍÅÓÔÏ ÔÏÇÏ, ÞÔÏÂÙ ËÁÖÄÙÊ ÒÁÚ ÐÉÓÁÔØ META ÉÌÉ CONTROL ÍÙ ÂÕÄÅÍ 7ÄÁÌØÎÅÊÛÅÍ ×ÍÅÓÔÏ ÔÏÇÏ, ÞÔÏÂÙ ËÁÖÄÙÊ ÒÁÚ ÐÉÓÁÔØ META ÉÌÉ CONTROL, ÍÙ ÂÕÄÅÍ
10ÉÓÐÏÌØÚÏ×ÁÔØ ÓÌÅÄÕÀÝÅÅ ÓÏËÒÁÝÅÎÉÅ: 8ÉÓÐÏÌØÚÏ×ÁÔØ ÓÌÅÄÕÀÝÅÅ ÓÏËÒÁÝÅÎÉÅ:
11 9
12 C-<chr> ÓÌÅÄÕÅÔ ÕÄÅÒÖÉ×ÁÔØ ËÌÁ×ÉÛÕ CONTROL ÐÏËÁ ÎÁÂÉÒÁÅÔÓÑ ÓÉÍ×ÏÌ <chr> 10 C-<chr> ÓÌÅÄÕÅÔ ÕÄÅÒÖÉ×ÁÔØ ËÌÁ×ÉÛÕ CONTROL, ÐÏËÁ ÎÁÂÉÒÁÅÔÓÑ ÓÉÍ×ÏÌ <chr>.
13 ôÁË, C-f ÄÏÌÖÎÏ ÏÚÎÁÞÁÔØ: ÎÁÖÁÔØ ËÌÁ×ÉÛÕ CONTROL É f. 11 ôÁË, C-f ÄÏÌÖÎÏ ÏÚÎÁÞÁÔØ: ÎÁÖÁÔØ ËÌÁ×ÉÛÕ CONTROL É f.
14 M-<chr> ÓÌÅÄÕÅÔ ÕÄÅÒÖÉ×ÁÔØ ËÌÁ×ÉÛÕ META ÐÏËÁ ÎÁÂÉÒÁÅÔÓÑ ÓÉÍ×ÏÌ <chr>. åÓÌÉ 12 M-<chr> ÓÌÅÄÕÅÔ ÕÄÅÒÖÉ×ÁÔØ ËÌÁ×ÉÛÕ META, ÐÏËÁ ÎÁÂÉÒÁÅÔÓÑ ÓÉÍ×ÏÌ <chr>. åÓÌÉ
15 ÎÅÔ ËÌÁ×ÉÛÉ META, ALT ÉÌÉ EDIT, ÔÏ ÎÁÖÍÉÔÅ <ESC>, ÏÔÐÕÓÔÉÔÅ ÅÅ, 13 ÎÅÔ ËÌÁ×ÉÛÉ META, ALT ÉÌÉ EDIT, ÔÏ ÎÁÖÍÉÔÅ <ESC>, ÏÔÐÕÓÔÉÔÅ ÅÅ,
16 Á ÐÏÔÏÍ ÎÁÂÅÒÉÔÅ ÓÉÍ×ÏÌ <chr>. 14 Á ÐÏÔÏÍ ÎÁÂÅÒÉÔÅ ÓÉÍ×ÏÌ <chr>.
17 15
18÷ÁÖÎÏÅ ÚÁÍÅÞÁÎÉÅ: ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ÓÅÁÎÓÁ Emacs, ÎÁÂÅÒÉÔÅ C-x C-c. (ä×Á 16÷ÁÖÎÏÅ ÚÁÍÅÞÁÎÉÅ: ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ÓÅÁÎÓÁ Emacs, ÎÁÂÅÒÉÔÅ C-x C-c. (ä×Á
19ÓÉÍ×ÏÌÁ). óÉÍ×ÏÌÙ ">>" Ó ÌÅ×ÏÊ ÓÔÏÒÏÎÙ ÕËÁÚÙ×ÁÀÔ, ÞÔÏ ×ÁÍ ÎÕÖÎÏ ÄÅÌÁÔØ, 17ÓÉÍ×ÏÌÁ). óÉÍ×ÏÌÙ ">>" Ó ÌÅ×ÏÊ ÓÔÏÒÏÎÙ ÕËÁÚÙ×ÁÀÔ, ÞÔÏ ×ÁÍ ÎÕÖÎÏ ÄÅÌÁÔØ,
20ÞÔÏÂÙ ÐÒÉÍÅÎÉÔØ ËÏÍÁÎÄÕ. îÁÐÒÉÍÅÒ: 18ÞÔÏÂÙ ÐÒÉÍÅÎÉÔØ ËÏÍÁÎÄÕ. îÁÐÒÉÍÅÒ:
21<<óÅÒÅÄÉÎÁ ÓÔÒÁÎÉÃÙ ÏÓÔÁ×ÌÅÎÁ ÐÕÓÔÏÊ ÄÌÑ ÕÞÅÂÎÙÈ ÃÅÌÅÊ. ôÅËÓÔ ÐÒÄÏÌÖÁÅÔÓÑ ÎÉÖÅ>> 19<<óÅÒÅÄÉÎÁ ÓÔÒÁÎÉÃÙ ÏÓÔÁ×ÌÅÎÁ ÐÕÓÔÏÊ ÄÌÑ ÕÞÅÂÎÙÈ ÃÅÌÅÊ. ôÅËÓÔ ÐÒÏÄÏÌÖÁÅÔÓÑ ÎÉÖÅ>>
22>> ôÅÐÅÒØ ÎÁÖÍÉÔÅ C-v (ðÒÏÓÍÏÔÒ ÓÌÅÄÕÀÝÅÇÏ ÜËÒÁÎÁ) ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ÎÁ 20>> ôÅÐÅÒØ ÎÁÖÍÉÔÅ C-v (ðÒÏÓÍÏÔÒ ÓÌÅÄÕÀÝÅÇÏ ÜËÒÁÎÁ) ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ÎÁ
23 ÓÌÅÄÕÀÝÉÊ ÜËÒÁÎ. (÷ÙÐÏÌÎÉÔÅ ÜÔÏ, ÕÄÅÒÖÉ×ÁÑ ËÌÁ×ÉÛÕ CONTROL ÎÁÖÉÍÁÑ v). 21 ÓÌÅÄÕÀÝÉÊ ÜËÒÁÎ. (÷ÙÐÏÌÎÉÔÅ ÜÔÏ, ÕÄÅÒÖÉ×ÁÑ ËÌÁ×ÉÛÕ CONTROL ÎÁÖÉÍÁÑ v).
24 ôÅÐÅÒØ ×Ù ÄÏÌÖÎÙ ÜÔÏ ÓÄÅÌÁÔØ ÅÝÅ ÒÁÚ, ËÏÇÄÁ ÚÁËÏÎÞÉÔÅ ÞÉÔÁÔØ ÜËÒÁÎ. 22 ôÅÐÅÒØ ×Ù ÄÏÌÖÎÙ ÜÔÏ ÓÄÅÌÁÔØ ÅÝÅ ÒÁÚ, ËÏÇÄÁ ÚÁËÏÎÞÉÔÅ ÞÉÔÁÔØ ÜËÒÁÎ.
25 23
26ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ ÎÁ ÔÏ, ÞÔÏ, ÐÏËÁ ×Ù Ä×ÉÖÅÔÅÓØ Ó ÜËÒÁÎÁ ÎÁ ÜËÒÁÎ, 24ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ ÎÁ ÔÏ, ÞÔÏ, ÐÏËÁ ×Ù Ä×ÉÖÅÔÅÓØ Ó ÜËÒÁÎÁ ÎÁ ÜËÒÁÎ,
27ÐÅÒÅËÒÙ×ÁÀÔÓÑ Ä×Å ÓÔÒÏÞËÉ; ÜÔÏ ÏÂÅÓÐÅÞÉ×ÁÅÔ ÎÅËÏÔÏÒÕÀ ÎÅÐÒÅÒÙ×ÎÏÓÔØ, ÔÁË ÞÔÏ 25ÐÅÒÅËÒÙ×ÁÀÔÓÑ Ä×Å ÓÔÒÏÞËÉ; ÜÔÏ ÏÂÅÓÐÅÞÉ×ÁÅÔ ÎÅËÏÔÏÒÕÀ ÎÅÐÒÅÒÙ×ÎÏÓÔØ, ÔÁË
28×Ù ÍÏÖÅÔÅ ÐÒÏÄÏÌÖÉÔØ ÞÉÔÁÔØ ÔÅËÓÔ. 26ÞÔÏ ×Ù ÍÏÖÅÔÅ ÐÒÏÄÏÌÖÉÔØ ÞÉÔÁÔØ ÔÅËÓÔ.
29 27
30ðÅÒ×ÏÅ ÞÔÏ ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÚÎÁÔØ -- ËÁË ÐÅÒÅÄ×ÉÇÁÔØÓÑ ÐÏ ÔÅËÓÔÕ ÉÚ ÏÄÎÏÇÏ 28ðÅÒ×ÏÅ, ÞÔÏ ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÚÎÁÔØ -- ËÁË ÐÅÒÅÄ×ÉÇÁÔØÓÑ ÐÏ ÔÅËÓÔÕ ÉÚ ÏÄÎÏÇÏ
31ÍÅÓÔÁ × ÄÒÕÇÏÅ. ÷Ù ÕÖÅ ÚÎÁÅÔÅ, ËÁË ÐÅÒÅÍÅÓÔÉÔØÓÑ ×ÐÅÒÅÄ ÏÄÉÎ ÜËÒÁÎ, 29ÍÅÓÔÁ × ÄÒÕÇÏÅ. ÷Ù ÕÖÅ ÚÎÁÅÔÅ, ËÁË ÐÅÒÅÍÅÓÔÉÔØÓÑ ×ÐÅÒÅÄ ÏÄÉÎ ÜËÒÁÎ,
32ÉÓÐÏÌØÚÕÑ ËÌÀÞ C-v. äÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ÎÁÚÁÄ ÎÁ ÏÄÉÎ ÜËÒÁÎ, ÎÁÖÍÉÔÅ M-v 30ÉÓÐÏÌØÚÕÑ ËÌÀÞ C-v. äÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ÎÁÚÁÄ ÎÁ ÏÄÉÎ ÜËÒÁÎ, ÎÁÖÍÉÔÅ M-v
33(ÕÄÅÒÖÉ×ÁÊÔÅ ËÌÁ×ÉÛÕ META É ÎÁÂÅÒÉÔÅ v, ÉÌÉ ÎÁÖÍÉÔÅ <ESC>v ÅÓÌÉ Õ ×ÁÓ ÎÅÔ 31(ÕÄÅÒÖÉ×ÁÊÔÅ ËÌÁ×ÉÛÕ META É ÎÁÂÅÒÉÔÅ v, ÉÌÉ ÎÁÖÍÉÔÅ <ESC>v, ÅÓÌÉ Õ ×ÁÓ ÎÅÔ
34ËÌÁ×ÉÛÅ META, EDIT, ÉÌÉ ALT). 32ËÌÁ×ÉÛÙ META, EDIT, ÉÌÉ ALT).
35 33
36>> ÐÏÐÒÏÂÕÊÔÅ ÎÁÂÒÁÔØ M-v É ÐÏÔÏÍ C-v, ÎÅÓËÏÌØËÏ ÒÁÚ. 34>> ÐÏÐÒÏÂÕÊÔÅ ÎÁÂÒÁÔØ M-v É ÐÏÔÏÍ C-v, ÎÅÓËÏÌØËÏ ÒÁÚ.
37 35
38 36
39* ëòáôëáñ ó÷ïäëá 37* ëòáôëáñ ó÷ïäëá
40--------- 38----------------
41 39
42äÌÑ ÐÒÏÓÍÏÔÒÁ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÌÅÄÕÀÝÉÅ ËÏÍÁÎÄÙ: 40äÌÑ ÐÒÏÓÍÏÔÒÁ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÌÅÄÕÀÝÉÅ ËÏÍÁÎÄÙ:
43 41
@@ -47,18 +45,18 @@ CTRL ÉÌÉ CTL) ÉÌÉ ËÌÁ×ÉÛÕ META (ÉÎÏÇÄÁ ÐÏÍÅÞÅÎÎÕÀ ËÁË ALT ÉÌÉ EDIT). ÷
47 ÔÅËÓÔ, ÎÁÈÏÄÑÝÉÊÓÑ ×ÏÚÌÅ ËÕÒÓÏÒÁ, × ÃÅÎÔÒÅ ÜËÒÁÎÁ. 45 ÔÅËÓÔ, ÎÁÈÏÄÑÝÉÊÓÑ ×ÏÚÌÅ ËÕÒÓÏÒÁ, × ÃÅÎÔÒÅ ÜËÒÁÎÁ.
48 (üÔÏ CONTROL-L, Á ÎÅ CONTROL-1.) 46 (üÔÏ CONTROL-L, Á ÎÅ CONTROL-1.)
49 47
50>> îÁÊÄÉÔÅ ËÕÒÓÏÒ, É ÚÁÐÏÍÎÉÔÅ ÔÅËÓÔ ×ÏÚÌÅ ÎÅÇÏ. ðÏÔÏÍ ÎÁÖÍÉÔÅ C-l. 48>> îÁÊÄÉÔÅ ËÕÒÓÏÒ, É ÚÁÐÏÍÎÉÔÅ ÔÅËÓÔ ×ÏÚÌÅ ÎÅÇÏ. ðÏÔÏÍ ÎÁÖÍÉÔÅ C-l.
51 îÁÊÄÉÔÅ ËÕÒÓÏÒ ÓÎÏ×Á É ÕÂÅÄÉÔÅÓØ, ÞÔÏ ×ÏÚÌÅ ÎÅÇÏ ×ÓÅ ÔÏÔ ÖÅ ÔÅËÓÔ. 49 îÁÊÄÉÔÅ ËÕÒÓÏÒ ÓÎÏ×Á É ÕÂÅÄÉÔÅÓØ, ÞÔÏ ×ÏÚÌÅ ÎÅÇÏ ×ÓÅ ÔÏÔ ÖÅ ÔÅËÓÔ.
52 50
53 51
54* âáúï÷ùå ëïíáîäù õðòá÷ìåîéñ ëõòóïòïí 52* âáúï÷ùå ëïíáîäù õðòá÷ìåîéñ ëõòóïòïí
55----------------------------- 53-------------------------------------
56 54
57ä×ÉÖÅÎÉÅ ÏÔ ÜËÒÁÎÁ Ë ÜËÒÁÎÕ ÕÄÏÂÎÏ, ÎÏ ËÁË ÐÅÒÅÍÅÓÔÉÔØÓÑ × ÏÐÒÅÄÅÌÅÎÎÏÅ 55ä×ÉÖÅÎÉÅ ÏÔ ÜËÒÁÎÁ Ë ÜËÒÁÎÕ ÕÄÏÂÎÏ, ÎÏ ËÁË ÐÅÒÅÍÅÓÔÉÔØÓÑ × ÏÐÒÅÄÅÌÅÎÎÏÅ
58ÍÅÓÔÏ ÔÅËÓÔÁ ÎÁ ÜËÒÁÎÅ? 56ÍÅÓÔÏ ÔÅËÓÔÁ ÎÁ ÜËÒÁÎÅ?
59 57
60åÓÔØ ÎÁÓËÏÌØËÏ ÓÐÏÓÏÂÏ× ÓÄÅÌÁÔØ ÜÔÏ. ïÓÎÏ×ÎÏÊ ÓÐÏÓÏ -- ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÙ 58åÓÔØ ÎÅÓËÏÌØËÏ ÓÐÏÓÏÂÏ× ÓÄÅÌÁÔØ ÜÔÏ. ïÓÎÏ×ÎÏÊ ÓÐÏÓÏ -- ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÙ
61C-p, C-b, C-f É C-n. ëÁÖÄÁÑ ÉÚ ÜÔÉÈ ËÏÍÁÎÄ ÐÅÒÅÄ×ÉÇÁÅÔ ËÕÒÓÏÒ ÎÁ ÏÄÎÕ 59C-p, C-b, C-f É C-n. ëÁÖÄÁÑ ÉÚ ÜÔÉÈ ËÏÍÁÎÄ ÐÅÒÅÄ×ÉÇÁÅÔ ËÕÒÓÏÒ ÎÁ ÏÄÎÕ
62ÓÔÒÏËÕ ÉÌÉ ËÏÌÏÎËÕ ÎÁ ÜËÒÁÎÅ × ÏÐÒÅÄÅÌÅÎÎÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ. üÔÁ ÔÁÂÌÉÃÁ 60ÓÔÒÏËÕ ÉÌÉ ËÏÌÏÎËÕ ÎÁ ÜËÒÁÎÅ × ÏÐÒÅÄÅÌÅÎÎÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ. üÔÁ ÔÁÂÌÉÃÁ
63ÐÏËÁÚÙ×ÁÅÔ ÞÅÔÙÒÅ ËÏÍÁÎÄÙ É ÞÅÔÙÒÅ ÎÁÐÒÁ×ÌÅÎÉÑ ÉÈ Ä×ÉÖÅÎÉÑ: 61ÐÏËÁÚÙ×ÁÅÔ ÞÅÔÙÒÅ ËÏÍÁÎÄÙ É ÞÅÔÙÒÅ ÎÁÐÒÁ×ÌÅÎÉÑ ÉÈ Ä×ÉÖÅÎÉÑ:
64 62
@@ -78,7 +76,7 @@ C-p, C-b, C-f É C-n. ëÁÖÄÁÑ ÉÚ ÜÔÉÈ ËÏÍÁÎÄ ÐÅÒÅÄ×ÉÇÁÅÔ ËÕÒÓÏÒ ÎÁ ÏÄÎÕ
78F-×ÐÅÒÅÄ (forward). üÔÏ ÏÓÎÏ×ÎÙÅ ËÏÍÁÎÄÙ ÐÏÚÉÃÉÏÎÉÒÏ×ÁÎÉÑ ËÕÒÓÏÒÁ, ËÏÔÏÒÙÍÉ 76F-×ÐÅÒÅÄ (forward). üÔÏ ÏÓÎÏ×ÎÙÅ ËÏÍÁÎÄÙ ÐÏÚÉÃÉÏÎÉÒÏ×ÁÎÉÑ ËÕÒÓÏÒÁ, ËÏÔÏÒÙÍÉ
79÷Ù ÂÕÄÅÔÅ ÐÏÌØÚÏ×ÁÔØÓÑ ÷óåçäá, ÔÁË ÞÔÏ ÂÕÄÅÔ ÎÅÐÌÏÈÏ ÉÈ ×ÙÕÞÉÔØ. 77÷Ù ÂÕÄÅÔÅ ÐÏÌØÚÏ×ÁÔØÓÑ ÷óåçäá, ÔÁË ÞÔÏ ÂÕÄÅÔ ÎÅÐÌÏÈÏ ÉÈ ×ÙÕÞÉÔØ.
80 78
81>> îÁÖÍÉÔÅ ÎÅÓËÏÌØËÏ ÒÁÚ C-n ÞÔÏ ÏÐÕÓÔÉÔØ ËÕÒÓÏÒ ×ÎÉÚ ÎÁ ÜÔÕ ÓÔÒÏËÕ. 79>> îÁÖÍÉÔÅ ÎÅÓËÏÌØËÏ ÒÁÚ C-n, ÞÔÏÂÙ ÏÐÕÓÔÉÔØ ËÕÒÓÏÒ ×ÎÉÚ ÎÁ ÜÔÕ ÓÔÒÏËÕ.
82 80
83>> ðÅÒÅÍÅÓÔÉÔÅÓØ ÐÏ ÓÔÒÏËÅ, ÉÓÐÏÌØÚÕÑ C-f É ÐÏÔÏÍ ÐÏÄÎÉÍÉÔÅÓØ ××ÅÒÈ Ó 81>> ðÅÒÅÍÅÓÔÉÔÅÓØ ÐÏ ÓÔÒÏËÅ, ÉÓÐÏÌØÚÕÑ C-f É ÐÏÔÏÍ ÐÏÄÎÉÍÉÔÅÓØ ××ÅÒÈ Ó
84 ÐÏÍÏÝØÀ C-p. ðÏÓÍÏÔÒÉÔÅ, ËÁË ÉÚÍÅÎÉÌÏÓØ ÐÏÌÏÖÅÎÉÅ ËÕÒÓÏÒÁ ÐÒÉ ÎÁÖÁÔÉÉ 82 ÐÏÍÏÝØÀ C-p. ðÏÓÍÏÔÒÉÔÅ, ËÁË ÉÚÍÅÎÉÌÏÓØ ÐÏÌÏÖÅÎÉÅ ËÕÒÓÏÒÁ ÐÒÉ ÎÁÖÁÔÉÉ
@@ -95,7 +93,7 @@ character), ËÏÔÏÒÙÊ ÏÔÄÅÌÑÅÔ ÅÅ ÏÔ ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÉ. ðÏÓÌÅÄÎÑÑ ÓÔÒÏËÁ ×
95 93
96C-f ÍÏÖÅÔ ÐÅÒÅÍÅÝÁÔØ ËÕÒÓÏÒ ÞÅÒÅÚ ÓÉÍ×ÏÌ ÐÅÒÅ×ÏÄÁ ÓÔÒÏËÉ ÔÁË ÖÅ, ËÁË É C-b. 94C-f ÍÏÖÅÔ ÐÅÒÅÍÅÝÁÔØ ËÕÒÓÏÒ ÞÅÒÅÚ ÓÉÍ×ÏÌ ÐÅÒÅ×ÏÄÁ ÓÔÒÏËÉ ÔÁË ÖÅ, ËÁË É C-b.
97 95
98>> ðÏÐÒÏÂÕÊÔÅ ÎÅÓËÏÌØËÏ ÒÁÚ ÐÒÉÍÅÎÉÔØ C-b, ÔÁË ÞÔÏÂÙ ÷Ù Õ×ÉÄÅÌÉ, ËÁË 96>> ðÏÐÒÏÂÕÊÔÅ ÎÅÓËÏÌØËÏ ÒÁÚ ÐÒÉÍÅÎÉÔØ C-b ÔÁË, ÞÔÏÂÙ ÷Ù Õ×ÉÄÅÌÉ, ËÁË
99 Ä×ÉÖÅÔÓÑ ËÕÒÓÏÒ. äÁÌÅÅ ÉÓÐÏÌØÚÕÊÔÅ C-f ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÎÁ ËÏÎÅà 97 Ä×ÉÖÅÔÓÑ ËÕÒÓÏÒ. äÁÌÅÅ ÉÓÐÏÌØÚÕÊÔÅ C-f ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÎÁ ËÏÎÅÃ
100 ÓÔÒÏËÉ. îÁÖÍÉÔÅ C-f ÅÝÅ ÒÁÚ, ÞÔÏÂÙ ÐÅÒÅÊÔÉ Ë ÎÁÞÁÌÕ ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÉ. 98 ÓÔÒÏËÉ. îÁÖÍÉÔÅ C-f ÅÝÅ ÒÁÚ, ÞÔÏÂÙ ÐÅÒÅÊÔÉ Ë ÎÁÞÁÌÕ ÓÌÅÄÕÀÝÅÊ ÓÔÒÏËÉ.
101 99
@@ -130,15 +128,16 @@ Control-ÓÉÍ×ÏÌÙ ÒÁÂÏÔÁÀÔ Ó ÏÓÎÏ×ÎÙÍÉ ÅÄÉÎÉÃÁÍÉ, ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÔÏÇÏ, ÞÔÏ ÷Ù
130ÐÅÒÅÍÅÝÁÅÔ ËÕÒÓÏÒ × ÎÁÞÁÌÏ É ËÏÎÅÃ ÓÔÒÏËÉ, Á M-a É M-e ÐÅÒÅÍÅÝÁÅÔ ËÕÒÓÏÒ × 128ÐÅÒÅÍÅÝÁÅÔ ËÕÒÓÏÒ × ÎÁÞÁÌÏ É ËÏÎÅÃ ÓÔÒÏËÉ, Á M-a É M-e ÐÅÒÅÍÅÝÁÅÔ ËÕÒÓÏÒ ×
131ÎÁÞÁÌÏ É ËÏÎÅÃ ÐÒÅÄÌÏÖÅÎÉÑ. 129ÎÁÞÁÌÏ É ËÏÎÅÃ ÐÒÅÄÌÏÖÅÎÉÑ.
132 130
133>> ðÏÐÒÏÂÕÊÔÅ ÎÁÖÁÔØ ÐÁÒÕ ÒÁÚ C-a, É ÐÏÔÏÍ ÐÁÒÕ ÒÁÚ C-e. ðÏÐÒÏÂÕÊÔÅ ÐÁÒÕ 131>> ðÏÐÒÏÂÕÊÔÅ ÎÁÖÁÔØ ÐÁÒÕ ÒÁÚ C-a, É ÐÏÔÏÍ ÐÁÒÕ ÒÁÚ C-e. ðÏÐÒÏÂÕÊÔÅ ÐÁÒÕ
134 ÒÁÚ ÎÁÖÁÔØ M-a, ÐÏÓÌÅ ÜÔÏÇÏ ÐÁÒÕ ÒÁÚ ÎÁÖÁÔØ M-e. 132 ÒÁÚ ÎÁÖÁÔØ M-a, ÐÏÓÌÅ ÜÔÏÇÏ ÐÁÒÕ ÒÁÚ ÎÁÖÁÔØ M-e.
135 133
136ðÏÓÍÏÔÒÉÔÅ, ÞÔÏ ÐÏ×ÔÏÒ C-a ÎÉÞÅÇÏ ÎÅ ÉÚÍÅÎÑÅÔ, Á ÐÏ×ÔÏÒ M-a ÐÒÏÄÏÌÖÁÅÔ 134ðÏÓÍÏÔÒÉÔÅ, ÞÔÏ ÐÏ×ÔÏÒ C-a ÎÉÞÅÇÏ ÎÅ ÉÚÍÅÎÑÅÔ, Á ÐÏ×ÔÏÒ M-a ÐÒÏÄÏÌÖÁÅÔ
137Ä×ÉÖÅÎÉÅ ËÕÒÓÏÒÁ Ë ÓÌÅÄÕÀÝÅÍÕ ÐÒÅÄÌÏÖÅÎÉÀ. üÔÏ ÎÅ ÓÏÈÒÁÎÑÅÔ ÁÎÁÌÏÇÉÀ, ÎÏ 135Ä×ÉÖÅÎÉÅ ËÕÒÓÏÒÁ Ë ÓÌÅÄÕÀÝÅÍÕ ÐÒÅÄÌÏÖÅÎÉÀ. üÔÏ ÎÅ ÓÏÈÒÁÎÑÅÔ ÁÎÁÌÏÇÉÀ, ÎÏ
138×ÙÇÌÑÄÉÔ ÅÓÔÅÓÔ×ÅÎÎÏ. 136×ÙÇÌÑÄÉÔ ÅÓÔÅÓÔ×ÅÎÎÏ.
139 137
140ðÏÌÏÖÅÎÉÅ ËÕÒÓÏÒÁ × ÔÅËÓÔÅ ÔÁËÖÅ ÎÁÚÙ×ÁÀÔ "ÔÏÞËÁ". óËÁÖÅÍ ÉÎÁÞÅ: ËÕÒÓÏÒ 138ðÏÌÏÖÅÎÉÅ ËÕÒÓÏÒÁ × ÔÅËÓÔÅ ÔÁËÖÅ ÎÁÚÙ×ÁÀÔ "ÔÏÞËÏÊ ×ÓÔÁ×ËÉ". óËÁÖÅÍ ÉÎÁÞÅ:
141ÐÏËÁÚÙ×ÁÅÔ ÍÅÓÔÏ ÎÁ ÜËÒÁÎÅ × ËÁËÏÊ ÔÏÞËÅ ÂÕÄÅÔ ÒÁÓÐÏÌÏÖÅÎ ××ÏÄÉÍÙÊ ÔÅËÓÔ. 139ËÕÒÓÏÒ ÐÏËÁÚÙ×ÁÅÔ ÍÅÓÔÏ ÎÁ ÜËÒÁÎÅ × ËÁËÏÊ ÔÏÞËÅ ÂÕÄÅÔ ÒÁÓÐÏÌÏÖÅÎ ××ÏÄÉÍÙÊ
140ÔÅËÓÔ.
142 141
143úÄÅÓØ ÓÏÂÒÁÎÙ ÐÒÏÓÔÙÅ ËÏÍÁÎÄÙ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ, ×ËÌÀÞÁÑ Ä×ÉÖÅÎÉÅ ÐÏ 142úÄÅÓØ ÓÏÂÒÁÎÙ ÐÒÏÓÔÙÅ ËÏÍÁÎÄÙ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ, ×ËÌÀÞÁÑ Ä×ÉÖÅÎÉÅ ÐÏ
144ÓÌÏ×ÁÍ É ÐÒÅÄÌÏÖÅÎÉÑÍ: 143ÓÌÏ×ÁÍ É ÐÒÅÄÌÏÖÅÎÉÑÍ:
@@ -166,22 +165,22 @@ Control-ÓÉÍ×ÏÌÙ ÒÁÂÏÔÁÀÔ Ó ÏÓÎÏ×ÎÙÍÉ ÅÄÉÎÉÃÁÍÉ, ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÔÏÇÏ, ÞÔÏ ÷Ù
166Greater-than {âÏÌØÛÅ-þÅÍ}), ËÏÔÏÒÁÑ ÐÅÒÅÍÅÝÁÅÔ ËÕÒÓÏÒ × ËÏÎÅà ÔÅËÓÔÁ. 165Greater-than {âÏÌØÛÅ-þÅÍ}), ËÏÔÏÒÁÑ ÐÅÒÅÍÅÝÁÅÔ ËÕÒÓÏÒ × ËÏÎÅà ÔÅËÓÔÁ.
167 166
168îÁ ÂÏÌØÛÉÎÓÔ×Å ÔÅÒÍÉÎÁÌÏ× ÚÎÁË "<" ÎÁÈÏÄÉÔÓÑ ÎÁÄ ÚÎÁËÏÍ ÔÏÞËÉ, É ÞÔÏÂÙ 167îÁ ÂÏÌØÛÉÎÓÔ×Å ÔÅÒÍÉÎÁÌÏ× ÚÎÁË "<" ÎÁÈÏÄÉÔÓÑ ÎÁÄ ÚÎÁËÏÍ ÔÏÞËÉ, É ÞÔÏÂÙ
169ÎÁÂÒÁÔØ ÅÇÏ ×Ù ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ËÌÁ×ÉÛÕ Shift. îÁ ÜÔÉÈ ÔÅÒÍÉÎÁÌÁÈ ×Ù ÔÁË 168ÎÁÂÒÁÔØ ÅÇÏ, ×Ù ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ËÌÁ×ÉÛÕ Shift. îÁ ÜÔÉÈ ÔÅÒÍÉÎÁÌÁÈ ×Ù ÔÁË
170ÖÅ ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ Shift ÞÔÏ ÎÁÂÒÁÔØ M-<; âÅÚ ÕÄÅÒÖÁÎÉÑ ËÌÁ×ÉÛÉ Shift 169ÖÅ ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ Shift, ÞÔÏÂÙ ÎÁÂÒÁÔØ M-< ÅÚ ÕÄÅÒÖÁÎÉÑ ËÌÁ×ÉÛÉ Shift
171×Ù ÎÁÂÅÒÅÔÅ M-ÔÏÞËÁ. 170×Ù ÎÁÂÅÒÅÔÅ M-ÔÏÞËÁ).
172 171
173>> óÅÊÞÁÓ ÐÏÐÒÏÂÕÊÔÅ M-<, ÞÔÏ ÐÅÒÅÍÅÓÔÉÔØÓÑ × ÎÁÞÁÌÏ ÕÞÅÂÎÉËÁ. ðÏÔÏÍ 172>> óÅÊÞÁÓ ÐÏÐÒÏÂÕÊÔÅ M-<, ÞÔÏÂÙ ÐÅÒÅÍÅÓÔÉÔØÓÑ × ÎÁÞÁÌÏ ÕÞÅÂÎÉËÁ. ðÏÔÏÍ
174 ÉÓÐÏÌØÚÕÊÔÅ C-v ÞÔÏ ×ÅÒÎÕÔØÓÑ ÎÁÚÁÄ. 173 ÉÓÐÏÌØÚÕÊÔÅ C-v, ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÎÁÚÁÄ.
175 174
176>> óÅÊÞÁÓ ÐÏÐÒÏÂÕÊÔÅ M->, ÞÔÏ ÐÅÒÅÍÅÓÔÉÔØÓÑ Ë ËÏÎÃÕ ÕÞÅÂÎÉËÁ. éÓÐÏÌØÚÕÊÔÅ 175>> óÅÊÞÁÓ ÐÏÐÒÏÂÕÊÔÅ M->, ÞÔÏÂÙ ÐÅÒÅÍÅÓÔÉÔØÓÑ Ë ËÏÎÃÕ ÕÞÅÂÎÉËÁ. éÓÐÏÌØÚÕÊÔÅ
177 M-v ÞÔÏ ×ÅÒÎÕÔØÓÑ ÓÎÏ×Á. 176 M-v, ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÓÎÏ×Á.
178 177
179ëÕÒÓÏÒ ÍÏÖÎÏ ÐÅÒÅÍÅÝÁÔØ ËÌÁ×ÉÛÁÍÉ ÕÐÒÁ×ÌÅÎÉÑ ËÕÒÓÏÒÁ (ÓÔÒÅÌËÁÍÉ), ÅÓÌÉ ×ÁÛ 178ëÕÒÓÏÒ ÍÏÖÎÏ ÐÅÒÅÍÅÝÁÔØ ËÌÁ×ÉÛÁÍÉ ÕÐÒÁ×ÌÅÎÉÑ ËÕÒÓÏÒÁ (ÓÔÒÅÌËÁÍÉ), ÅÓÌÉ ×ÁÛ
180ÔÅÒÍÉÎÁÌ ÏÂÏÒÕÄÏ×ÁÎ ÉÍÉ. íÙ ÒÅËÏÍÅÎÄÕÅÍ ×ÙÕÞÉÔØ C-b, C-f, C-n É C-p ÐÏ ÔÒÅÍ 179ÔÅÒÍÉÎÁÌ ÏÂÏÒÕÄÏ×ÁÎ ÉÍÉ. íÙ ÒÅËÏÍÅÎÄÕÅÍ ×ÙÕÞÉÔØ C-b, C-f, C-n É C-p ÐÏ ÔÒÅÍ
181ÐÒÉÞÉÎÁÍ. ÷Ï ÐÅÒ×ÙÈ, ÏÎÉ ÒÁÂÏÔÁÀÔ ÎÁ ÌÀÂÙÈ ÔÅÒÍÉÎÁÌÁÈ. ÷Ï ×ÔÏÒÙÈ, ÏÄÎÁÖÄÙ 180ÐÒÉÞÉÎÁÍ. ÷Ï-ÐÅÒ×ÙÈ, ÏÎÉ ÒÁÂÏÔÁÀÔ ÎÁ ÌÀÂÙÈ ÔÅÒÍÉÎÁÌÁÈ. ÷Ï-×ÔÏÒÙÈ, ÏÄÎÁÖÄÙ
182ÐÏÌÕÞÉ× ÐÒÁËÔÉËÕ ÉÓÐÏÌØÚÏ×ÁÎÉÑ Emacs, ×Ù ÐÏÊÍÅÔÅ, ÞÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ 181ÐÏÌÕÞÉ× ÐÒÁËÔÉËÕ ÉÓÐÏÌØÚÏ×ÁÎÉÑ Emacs, ×Ù ÐÏÊÍÅÔÅ, ÞÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ
183CTRL-ÓÉÍ×ÏÌÙ ÕÄÏÂÎÅÅ É ÂÙÓÔÒÅÅ, ÞÅÍ ËÎÏÐËÉ ÓÏ ÓÔÒÅÌÏÞËÁÍÉ (ÐÏÔÏÍÕ ÞÔÏ ×Ù ÎÅ 182CTRL-ÓÉÍ×ÏÌÙ ÕÄÏÂÎÅÅ É ÂÙÓÔÒÅÅ, ÞÅÍ ËÎÏÐËÉ ÓÏ ÓÔÒÅÌÏÞËÁÍÉ (ÐÏÔÏÍÕ ÞÔÏ ×Ù ÎÅ
184ÕÂÉÒÁÅÔÅ ÒÕËÉ Ó ÏÂÙÞÎÏÇÏ ÉÈ ÐÏÌÏÖÅÎÉÑ ÐÒÉ ÐÅÞÁÔÉ). ÷ ÔÒÅÔØÉÈ, ËÁË ÔÏÌØËÏ ×Ù 183ÕÂÉÒÁÅÔÅ ÒÕËÉ Ó ÏÂÙÞÎÏÇÏ ÉÈ ÐÏÌÏÖÅÎÉÑ ÐÒÉ ÐÅÞÁÔÉ). ÷-ÔÒÅÔØÉÈ, ËÁË ÔÏÌØËÏ ×Ù
185ÐÒÉ×ÙËÎÉÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ CTRL-ÓÉÍ×ÏÌÙ, ×Ù ÓÍÏÖÅÔÅ ÔÁË ÖÅ ÌÅÇËÏ ×ÙÕÞÉÔØ É 184ÐÒÉ×ÙËÎÉÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ CTRL-ÓÉÍ×ÏÌÙ, ×Ù ÓÍÏÖÅÔÅ ÔÁË ÖÅ ÌÅÇËÏ ×ÙÕÞÉÔØ É
186ÉÓÐÏÌØÚÏ×ÁÔØ ÄÒÕÇÉÅ, ÒÁÓÛÉÒÅÎÎÙÅ ËÏÍÁÎÄÙ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ. 185ÉÓÐÏÌØÚÏ×ÁÔØ ÄÒÕÇÉÅ, ÒÁÓÛÉÒÅÎÎÙÅ ËÏÍÁÎÄÙ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ.
187 186
@@ -192,7 +191,7 @@ CTRL-ÓÉÍ×ÏÌÙ ÕÄÏÂÎÅÅ É ÂÙÓÔÒÅÅ, ÞÅÍ ËÎÏÐËÉ ÓÏ ÓÔÒÅÌÏÞËÁÍÉ (ÐÏÔÏÍÕ ÞÔÏ ×Ù ÎÅ
192ÁÒÇÕÍÅÎÔ ÍÏÖÎÏ ÚÁÄÁÔØ ÄÒÕÇÉÍ ÓÐÏÓÏÂÏÍ: ÎÁÂÅÒÉÔÅ ÃÉÆÒÙ, ÕÄÅÒÖÉ×ÁÑ ËÌÁ×ÉÛÕ 191ÁÒÇÕÍÅÎÔ ÍÏÖÎÏ ÚÁÄÁÔØ ÄÒÕÇÉÍ ÓÐÏÓÏÂÏÍ: ÎÁÂÅÒÉÔÅ ÃÉÆÒÙ, ÕÄÅÒÖÉ×ÁÑ ËÌÁ×ÉÛÕ
193META. íÙ ÒÅËÏÍÅÎÄÕÅÍ ÏÓ×ÏÉÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÅ C-u, ÐÏÓËÏÌØËÕ ÜÔÁ 192META. íÙ ÒÅËÏÍÅÎÄÕÅÍ ÏÓ×ÏÉÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÅ C-u, ÐÏÓËÏÌØËÕ ÜÔÁ
194ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ËÌÁ×ÉÛ ÒÁÂÏÔÁÅÔ ÎÁ ÌÀÂÏÍ ÔÅÒÍÉÎÁÌÅ. þÉÓÌÏ×ÏÊ ÁÒÇÕÍÅÎÔ 193ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ËÌÁ×ÉÛ ÒÁÂÏÔÁÅÔ ÎÁ ÌÀÂÏÍ ÔÅÒÍÉÎÁÌÅ. þÉÓÌÏ×ÏÊ ÁÒÇÕÍÅÎÔ
195ÔÁËÖÅ ÎÁÚÙ×ÁÅÔÓÑ "ÐÒÅÆÉËÓÎÙÍ ÁÒÇÕÍÅÎÔÏÍ" ÐÏÓËÏÌØËÕ ×Ù ÎÁÂÉÒÁÅÔÅ ÁÒÇÕÍÅÎÔ ÄÏ 194ÔÁËÖÅ ÎÁÚÙ×ÁÅÔÓÑ "ÐÒÅÆÉËÓÎÙÍ ÁÒÇÕÍÅÎÔÏÍ", ÐÏÓËÏÌØËÕ ×Ù ÎÁÂÉÒÁÅÔÅ ÁÒÇÕÍÅÎÔ ÄÏ
196×ÙÐÏÌÎÅÎÉÑ ËÏÍÁÎÄÙ. 195×ÙÐÏÌÎÅÎÉÑ ËÏÍÁÎÄÙ.
197 196
198îÁÐÒÉÍÅÒ, C-u 8 C-f ÐÅÒÅÍÅÓÔÉÔ ËÕÒÓÏÒ ÎÁ ×ÏÓÅÍØ ÓÉÍ×ÏÌÏ× ×ÐÅÒÅÄ. 197îÁÐÒÉÍÅÒ, C-u 8 C-f ÐÅÒÅÍÅÓÔÉÔ ËÕÒÓÏÒ ÎÁ ×ÏÓÅÍØ ÓÉÍ×ÏÌÏ× ×ÐÅÒÅÄ.
@@ -217,7 +216,7 @@ META. íÙ ÒÅËÏÍÅÎÄÕÅÍ ÏÓ×ÏÉÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÅ C-u, ÐÏÓËÏÌØËÕ ÜÔÁ
217ÐÒÏËÒÕÔÉÔØ ÅÇÏ ×ÎÉÚ, ÍÏÖÅÔÅ ÚÁÄÁÔØ ÁÒÇÕÍÅÎÔ ÄÌÑ M-v. 216ÐÒÏËÒÕÔÉÔØ ÅÇÏ ×ÎÉÚ, ÍÏÖÅÔÅ ÚÁÄÁÔØ ÁÒÇÕÍÅÎÔ ÄÌÑ M-v.
218 217
219åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ÏËÏÎÎÕÀ ÓÉÓÔÅÍÕ, ÔÁËÕÀ ËÁË X11 ÉÌÉ MS-Windows, ÄÏÌÖÎÁ 218åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ÏËÏÎÎÕÀ ÓÉÓÔÅÍÕ, ÔÁËÕÀ ËÁË X11 ÉÌÉ MS-Windows, ÄÏÌÖÎÁ
220ÂÙÔØ ÐÒÑÍÏÕÇÏÌØÎÁÑ ÏÂÌÁÓÔØ ÉÍÅÎÕÅÍÁÑ ÐÏÌÏÓÏÊ ÐÒÏËÒÕÔËÉ Ó ÌÅ×ÏÊ ÓÔÏÒÏÎÙ ÏËÎÁ 219ÂÙÔØ ÐÒÑÍÏÕÇÏÌØÎÁÑ ÏÂÌÁÓÔØ, ÉÍÅÎÕÅÍÁÑ ÐÏÌÏÓÏÊ ÐÒÏËÒÕÔËÉ Ó ÌÅ×ÏÊ ÓÔÏÒÏÎÙ ÏËÎÁ
221Emacs. ÷Ù ÍÏÖÅÔÅ ÐÒÏËÒÕÞÉ×ÁÔØ ÔÅËÓÔ, ÉÓÐÏÌØÚÕÑ ÍÁÎÉÐÕÌÑÔÏÒ ÍÙÛØ. 220Emacs. ÷Ù ÍÏÖÅÔÅ ÐÒÏËÒÕÞÉ×ÁÔØ ÔÅËÓÔ, ÉÓÐÏÌØÚÕÑ ÍÁÎÉÐÕÌÑÔÏÒ ÍÙÛØ.
222 221
223>> ðÏÐÒÏÂÕÊÔÅ ÐÅÒÅÍÅÝÁÔØ ÍÙÛØ ÐÒÉ ÎÁÖÁÔÏÊ ÓÒÅÄÎÅÊ ËÎÏÐËÅ ÍÙÛÉ. ÷Ù Õ×ÉÄÉÔÅ 222>> ðÏÐÒÏÂÕÊÔÅ ÐÅÒÅÍÅÝÁÔØ ÍÙÛØ ÐÒÉ ÎÁÖÁÔÏÊ ÓÒÅÄÎÅÊ ËÎÏÐËÅ ÍÙÛÉ. ÷Ù Õ×ÉÄÉÔÅ
@@ -232,7 +231,7 @@ Emacs. ÷Ù ÍÏÖÅÔÅ ÐÒÏËÒÕÞÉ×ÁÔØ ÔÅËÓÔ, ÉÓÐÏÌØÚÕÑ ÍÁÎÉÐÕÌÑÔÏÒ ÍÙÛØ.
232×ÌÅ×Ï, ×ÐÒÁ×Ï, ××ÅÒÈ É ×ÎÉÚ ÐÅÒÅÄ×ÉÇÁÀÔ ËÕÒÓÏÒ × ÏÖÉÄÁÅÍÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ; ÏÎÉ 231×ÌÅ×Ï, ×ÐÒÁ×Ï, ××ÅÒÈ É ×ÎÉÚ ÐÅÒÅÄ×ÉÇÁÀÔ ËÕÒÓÏÒ × ÏÖÉÄÁÅÍÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ; ÏÎÉ
233ÒÁÂÏÔÁÀÔ ÔÏÞÎÏ ÔÁËÖÅ ËÁË C-b, C-f, C-p É C-n, ÎÏ ÌÅÇÞÅ × ÎÁÂÏÒÅ É 232ÒÁÂÏÔÁÀÔ ÔÏÞÎÏ ÔÁËÖÅ ËÁË C-b, C-f, C-p É C-n, ÎÏ ÌÅÇÞÅ × ÎÁÂÏÒÅ É
234ÚÁÐÏÍÉÎÁÎÉÉ. ÷Ù ÔÁË ÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÏÞÅÔÁÎÉÑ C-left É C-right ÄÌÑ 233ÚÁÐÏÍÉÎÁÎÉÉ. ÷Ù ÔÁË ÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÏÞÅÔÁÎÉÑ C-left É C-right ÄÌÑ
235ÐÅÒÅÄ×ÉÖÅÎÉÑ ÐÏ ÓÌÏ×ÁÍ, É C-up É C-down ÄÌÑ ÐÅÒÅÄ×ÉÖÅÎÉÑ ÐÏ ÂÌÏËÁÍ (Ô.Å., 234ÐÅÒÅÄ×ÉÖÅÎÉÑ ÐÏ ÓÌÏ×ÁÍ, É C-up É C-down ÄÌÑ ÐÅÒÅÄ×ÉÖÅÎÉÑ ÐÏ ÂÌÏËÁÍ (Ô.Å.
236ÐÁÒÁÇÒÁÆÁÍ, ÅÓÌÉ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÔÅËÓÔ). åÓÌÉ Õ ×ÁÓ ÅÓÔØ ËÎÏÐËÉ ÐÏÍÅÞÅÎÎÙÅ 235ÐÁÒÁÇÒÁÆÁÍ, ÅÓÌÉ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÔÅËÓÔ). åÓÌÉ Õ ×ÁÓ ÅÓÔØ ËÎÏÐËÉ ÐÏÍÅÞÅÎÎÙÅ
237HOME (ÉÌÉ BEGIN) ÉÌÉ END, ÔÏ ÏÎÉ ÂÕÄÕÔ ÐÅÒÅÍÅÝÁÔØ ËÕÒÓÏÒ × ÎÁÞÁÌÏ É ËÏÎÅÃ 236HOME (ÉÌÉ BEGIN) ÉÌÉ END, ÔÏ ÏÎÉ ÂÕÄÕÔ ÐÅÒÅÍÅÝÁÔØ ËÕÒÓÏÒ × ÎÁÞÁÌÏ É ËÏÎÅÃ
238ÓÔÒÏËÉ, ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ, É C-home É C-end ÂÕÄÕÔ ÐÅÒÅÍÅÝÁÔØ × ÎÁÞÁÌÏ É ËÏÎÅà 237ÓÔÒÏËÉ, ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ, É C-home É C-end ÂÕÄÕÔ ÐÅÒÅÍÅÝÁÔØ × ÎÁÞÁÌÏ É ËÏÎÅÃ
@@ -249,14 +248,14 @@ CONTROL ÉÌÉ META É ÎÁÂÅÒÉÔÅ ÞÉÓÌÏ. îÁÐÒÉÍÅÒ, ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ÎÁ 12 ÓÌÏ×
249* åóìé EMACS úá÷éó 248* åóìé EMACS úá÷éó
250------------------ 249------------------
251 250
252åÓÌÉ Emacs ÐÅÒÅÓÔÁÌ ÒÅÁÇÉÒÏ×ÁÔØ ÎÁ ×ÁÛÉ ËÏÍÁÎÄÙ, ×Ù ÍÏÖÅÔÅ ÏÓÔÁÎÏ×ÉÔØ ÜÔÏ 251åÓÌÉ Emacs ÐÅÒÅÓÔÁÌ ÒÅÁÇÉÒÏ×ÁÔØ ÎÁ ×ÁÛÉ ËÏÍÁÎÄÙ, ×Ù ÍÏÖÅÔÅ ÏÓÔÁÎÏ×ÉÔØ ÜÔÏ,
253ÐÒÏÓÔÏ ÎÁÖÁ× C-g. ÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-g ÞÔÏÂÙ ÏÓÔÁÎÏ×ÉÔØ ×ÙÐÏÌÎÅÎÉÅ 252ÐÒÏÓÔÏ ÎÁÖÁ× C-g. ÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-g, ÞÔÏÂÙ ÏÓÔÁÎÏ×ÉÔØ ×ÙÐÏÌÎÅÎÉÅ
254ËÏÍÁÎÄÙ ËÏÔÏÒÁÑ ÓÌÉÛËÏÍ ÄÏÌÇÏ ×ÙÐÏÌÎÑÅÔÓÑ. 253ËÏÍÁÎÄÙ, ËÏÔÏÒÁÑ ÓÌÉÛËÏÍ ÄÏÌÇÏ ×ÙÐÏÌÎÑÅÔÓÑ.
255 254
256÷Ù ÔÁË ÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-g ÄÌÑ ÏÔÍÅÎÙ ÃÉÆÒÏ×ÏÇÏ ÁÒÇÕÍÅÎÔÁ ÉÌÉ ÎÁÞÁÔÏÊ 255÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-g ÄÌÑ ÏÔÍÅÎÙ ÃÉÆÒÏ×ÏÇÏ ÁÒÇÕÍÅÎÔÁ ÉÌÉ ÎÁÞÁÔÏÊ
257ËÏÍÁÎÄÙ, ËÏÔÏÒÕÀ ×Ù ÎÅ ÈÏÔÉÔÅ ÚÁ×ÅÒÛÁÔØ. 256ËÏÍÁÎÄÙ, ËÏÔÏÒÕÀ ×Ù ÎÅ ÈÏÔÉÔÅ ÚÁ×ÅÒÛÁÔØ.
258 257
259>> îÁÂÅÒÉÔÅ C-u 100 ÄÌÑ ÚÁÄÁÎÉÑ ÁÒÇÕÍÅÎÔÁ 100, ÐÏÔÏÍ ÎÁÖÍÉÔÅ C-g. ôÅÐÅÒØ 258>> îÁÂÅÒÉÔÅ C-u 100 ÄÌÑ ÚÁÄÁÎÉÑ ÁÒÇÕÍÅÎÔÁ 100, ÐÏÔÏÍ ÎÁÖÍÉÔÅ C-g. ôÅÐÅÒØ
260 ÎÁÖÍÉÔÅ C-f. ëÕÒÓÏÒ ÄÏÌÖÅÎ ÐÅÒÅÍÅÓÔÉÔØÓÑ ×ÓÅÇÏ ÎÁ ÏÄÉÎ ÓÉÍ×ÏÌ, ÐÏÔÏÍÕ ÞÔÏ 259 ÎÁÖÍÉÔÅ C-f. ëÕÒÓÏÒ ÄÏÌÖÅÎ ÐÅÒÅÍÅÓÔÉÔØÓÑ ×ÓÅÇÏ ÎÁ ÏÄÉÎ ÓÉÍ×ÏÌ, ÐÏÔÏÍÕ ÞÔÏ
261 ×Ù ÏÔÍÅÎÉÌÉ ÁÒÇÕÍÅÎÔ ÎÁÖÁÔÉÅÍ C-g. 260 ×Ù ÏÔÍÅÎÉÌÉ ÁÒÇÕÍÅÎÔ ÎÁÖÁÔÉÅÍ C-g.
262 261
@@ -264,7 +263,7 @@ CONTROL ÉÌÉ META É ÎÁÂÅÒÉÔÅ ÞÉÓÌÏ. îÁÐÒÉÍÅÒ, ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ÎÁ 12 ÓÌÏ×
264ÎÁÖÁÔÉÅÍ C-g. 263ÎÁÖÁÔÉÅÍ C-g.
265 264
266 265
267* úáðòåýåîîùå ëïíáîäù (DISABLED COMMANDS) 266* úáðòåýåîîùå ëïíáîäù (DISABLED COMMANDS)
268----------------------------------------- 267-----------------------------------------
269 268
270îÅËÏÔÏÒÙÅ ËÏÍÁÎÄÙ Emacs "ÚÁÐÒÅÝÅÎÙ", ÐÏÓËÏÌØËÕ ÎÁÞÉÎÁÀÝÉÅ ÐÏÌØÚÏ×ÁÔÅÌÉ ÍÏÇÕÔ 269îÅËÏÔÏÒÙÅ ËÏÍÁÎÄÙ Emacs "ÚÁÐÒÅÝÅÎÙ", ÐÏÓËÏÌØËÕ ÎÁÞÉÎÁÀÝÉÅ ÐÏÌØÚÏ×ÁÔÅÌÉ ÍÏÇÕÔ
@@ -291,7 +290,7 @@ Emacs ÍÏÖÅÔ ÉÍÅÔØ ÎÅÓËÏÌØËÏ ÏËÏÎ, ËÁÖÄÏÅ ÉÚ ËÏÔÏÒÙÈ ÏÔÏÂÒÁÖÁÅÔ Ó×ÏÊ ÔÅËÓÔ.
291 290
292 C-x 1 ïÄÎÏ ÏËÎÏ. (ÚÁËÒÙÔØ ×ÓÅ ÄÒÕÇÉÅ ÏËÎÁ). 291 C-x 1 ïÄÎÏ ÏËÎÏ. (ÚÁËÒÙÔØ ×ÓÅ ÄÒÕÇÉÅ ÏËÎÁ).
293 292
294üÔÏ CONTROL-x ÓÏ ÓÌÅÄÕÀÝÅÊ ÃÉÆÒÏÊ 1. C-x 1 ÒÁÚ×ÅÒÎÅÔ ÏËÎÏ ËÏÔÏÒÏÅ ÓÏÄÅÒÖÉÔ 293üÔÏ CONTROL-x ÓÏ ÓÌÅÄÕÀÝÅÊ ÃÉÆÒÏÊ 1. C-x 1 ÒÁÚ×ÅÒÎÅÔ ÏËÎÏ, ËÏÔÏÒÏÅ ÓÏÄÅÒÖÉÔ
295ËÕÒÓÏÒ, ÔÁË, ÞÔÏÂÙ ÏÎÏ ÚÁÎÑÌÏ ×ÅÓØ ÜËÒÁÎ. ðÒÉ ÜÔÏÍ ÂÕÄÕÔ ÕÄÁÌÅÎÙ ×ÓÅ 294ËÕÒÓÏÒ, ÔÁË, ÞÔÏÂÙ ÏÎÏ ÚÁÎÑÌÏ ×ÅÓØ ÜËÒÁÎ. ðÒÉ ÜÔÏÍ ÂÕÄÕÔ ÕÄÁÌÅÎÙ ×ÓÅ
296ÏÓÔÁÌØÎÙÅ ÏËÎÁ. 295ÏÓÔÁÌØÎÙÅ ÏËÎÁ.
297 296
@@ -301,7 +300,7 @@ Emacs ÍÏÖÅÔ ÉÍÅÔØ ÎÅÓËÏÌØËÏ ÏËÏÎ, ËÁÖÄÏÅ ÉÚ ËÏÔÏÒÙÈ ÏÔÏÂÒÁÖÁÅÔ Ó×ÏÊ ÔÅËÓÔ.
301 ðÏÓÍÏÔÒÉÔÅ, ËÁË ÔÅËÕÝÅÅ ÏËÎÏ ÓÏÖÍÅÔÓÑ, ËÏÇÄÁ ÎÏ×ÏÅ 300 ðÏÓÍÏÔÒÉÔÅ, ËÁË ÔÅËÕÝÅÅ ÏËÎÏ ÓÏÖÍÅÔÓÑ, ËÏÇÄÁ ÎÏ×ÏÅ
302 ÐÏÑ×ÉÔÓÑ É ÏÔÏÂÒÁÚÉÔ ÄÏËÕÍÅÎÔÁÃÉÀ ÎÁ ËÏÍÁÎÄÕ CONTROL-f. 301 ÐÏÑ×ÉÔÓÑ É ÏÔÏÂÒÁÚÉÔ ÄÏËÕÍÅÎÔÁÃÉÀ ÎÁ ËÏÍÁÎÄÕ CONTROL-f.
303 302
304>> îÁÂÅÒÉÔÅ C-x 1 É ÐÏÓÍÏÔÒÉÔÅ ËÁË ÏËÎÏ Ó ÄÏËÕÍÅÎÔÁÃÉÅÊ ÉÓÞÅÚÎÅÔ. 303>> îÁÂÅÒÉÔÅ C-x 1 É ÐÏÓÍÏÔÒÉÔÅ, ËÁË ÏËÎÏ Ó ÄÏËÕÍÅÎÔÁÃÉÅÊ ÉÓÞÅÚÎÅÔ.
305 304
306üÔÁ ËÏÍÁÎÄÁ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ÄÒÕÇÉÈ ËÏÍÁÎÄ, ËÏÔÏÒÙÅ ×Ù ÉÚÕÞÉÌÉ, ÔÅÍ, ÞÔÏ ÏÎÁ 305üÔÁ ËÏÍÁÎÄÁ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ÄÒÕÇÉÈ ËÏÍÁÎÄ, ËÏÔÏÒÙÅ ×Ù ÉÚÕÞÉÌÉ, ÔÅÍ, ÞÔÏ ÏÎÁ
307ÓÏÓÔÏÉÔ ÉÚ Ä×ÕÈ ÓÉÍ×ÏÌÏ×. ïÎÁ ÎÁÞÉÎÁÅÔÓÑ ÓÏ ÚÎÁËÁ CONTROL-x. åÓÔØ ÃÅÌÙÊ 306ÓÏÓÔÏÉÔ ÉÚ Ä×ÕÈ ÓÉÍ×ÏÌÏ×. ïÎÁ ÎÁÞÉÎÁÅÔÓÑ ÓÏ ÚÎÁËÁ CONTROL-x. åÓÔØ ÃÅÌÙÊ
@@ -326,7 +325,7 @@ Emacs ÍÏÖÅÔ ÉÍÅÔØ ÎÅÓËÏÌØËÏ ÏËÏÎ, ËÁÖÄÏÅ ÉÚ ËÏÔÏÒÙÈ ÏÔÏÂÒÁÖÁÅÔ Ó×ÏÊ ÔÅËÓÔ.
326ËÕÒÓÏÒÁ. 325ËÕÒÓÏÒÁ.
327 326
328>> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ ÜÔÏ ÓÅÊÞÁÓ -- ÎÁÂÅÒÉÔÅ ÎÅÓËÏÌØËÏ ÓÉÍ×ÏÌÏ×, ÐÏÔÏÍ 327>> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ ÜÔÏ ÓÅÊÞÁÓ -- ÎÁÂÅÒÉÔÅ ÎÅÓËÏÌØËÏ ÓÉÍ×ÏÌÏ×, ÐÏÔÏÍ
329 ÕÄÁÌÉÔÅ ÉÈ ÎÁÖÉÍÁÑ <Delete> ÎÅÓËÏÌØËÏ ÒÁÚ. îÅ ×ÏÌÎÕÊÔÅÓØ Ï ÉÚÍÅÎÅÎÉÑÈ 328 ÕÄÁÌÉÔÅ ÉÈ ÎÁÖÉÍÁÑ <Delete> ÎÅÓËÏÌØËÏ ÒÁÚ. îÅ ×ÏÌÎÕÊÔÅÓØ Ï ÉÚÍÅÎÅÎÉÑÈ
330 ÜÔÏÇÏ ÆÁÊÌÁ; ×Ù ÎÅ ÉÚÍÅÎÑÅÔÅ ÇÌÁ×ÎÙÊ ÕÞÅÂÎÉË. üÔÏ ×ÁÛÁ ÌÉÞÎÁÑ ËÏÐÉÑ 329 ÜÔÏÇÏ ÆÁÊÌÁ; ×Ù ÎÅ ÉÚÍÅÎÑÅÔÅ ÇÌÁ×ÎÙÊ ÕÞÅÂÎÉË. üÔÏ ×ÁÛÁ ÌÉÞÎÁÑ ËÏÐÉÑ
331 ÕÞÅÂÎÉËÁ. 330 ÕÞÅÂÎÉËÁ.
332 331
@@ -336,7 +335,7 @@ Emacs ÍÏÖÅÔ ÉÍÅÔØ ÎÅÓËÏÌØËÏ ÏËÏÎ, ËÁÖÄÏÅ ÉÚ ËÏÔÏÒÙÈ ÏÔÏÂÒÁÖÁÅÔ Ó×ÏÊ ÔÅËÓÔ.
336ÓÔÒÅÌËÁ) Ó ÐÒÁ×ÏÊ ÇÒÁÎÉÃÙ ÐÏËÁÚÙ×ÁÅÔ, ÞÔÏ ÓÔÒÏËÁ ÂÕÄÅÔ ÐÒÏÄÏÌÖÅÎÁ. 335ÓÔÒÅÌËÁ) Ó ÐÒÁ×ÏÊ ÇÒÁÎÉÃÙ ÐÏËÁÚÙ×ÁÅÔ, ÞÔÏ ÓÔÒÏËÁ ÂÕÄÅÔ ÐÒÏÄÏÌÖÅÎÁ.
337 336
338>> ÷×ÏÄÉÔÅ ÔÅËÓÔ, ÐÏËÁ ÎÅ ÄÏÓÔÉÇÎÉÔÅ ÐÒÁ×ÏÊ ÇÒÁÎÉÃÙ, É ÐÒÏÄÏÌÖÁÊÔÅ 337>> ÷×ÏÄÉÔÅ ÔÅËÓÔ, ÐÏËÁ ÎÅ ÄÏÓÔÉÇÎÉÔÅ ÐÒÁ×ÏÊ ÇÒÁÎÉÃÙ, É ÐÒÏÄÏÌÖÁÊÔÅ
339 ×ÓÔÁ×ËÕ. ÷Ù Õ×ÉÄÉÔÅ, ËÁË ÐÏÑ×ÉÔÓÑ ÓÉÍ×ÏÌ ÐÒÏÄÏÌÖÅÎÉÑ ÓÔÒÏËÉ. 338 ×ÓÔÁ×ËÕ. ÷Ù Õ×ÉÄÉÔÅ, ËÁË ÐÏÑ×ÉÔÓÑ ÓÉÍ×ÏÌ ÐÒÏÄÏÌÖÅÎÉÑ ÓÔÒÏËÉ.
340 339
341>> éÓÐÏÌØÚÕÊÔÅ <Delete> ÄÌÑ ÕÄÁÌÅÎÉÑ ÔÅËÓÔÁ, ÐÏËÁ ÓÔÒÏËÁ ÎÅ ÐÏÍÅÓÔÉÔÓÑ × 340>> éÓÐÏÌØÚÕÊÔÅ <Delete> ÄÌÑ ÕÄÁÌÅÎÉÑ ÔÅËÓÔÁ, ÐÏËÁ ÓÔÒÏËÁ ÎÅ ÐÏÍÅÓÔÉÔÓÑ ×
342 ÜËÒÁÎ ÓÎÏ×Á. óÉÍ×ÏÌ ÐÒÏÄÏÌÖÅÎÉÑ ÓÔÒÏËÉ ÉÓÞÅÚÎÅÔ. 341 ÜËÒÁÎ ÓÎÏ×Á. óÉÍ×ÏÌ ÐÒÏÄÏÌÖÅÎÉÑ ÓÔÒÏËÉ ÉÓÞÅÚÎÅÔ.
@@ -353,13 +352,13 @@ Emacs ÍÏÖÅÔ ÉÍÅÔØ ÎÅÓËÏÌØËÏ ÏËÏÎ, ËÁÖÄÏÅ ÉÚ ËÏÔÏÒÙÈ ÏÔÏÂÒÁÖÁÅÔ Ó×ÏÊ ÔÅËÓÔ.
353 ÕÄÁÌÅÎÎÏÇÏ ×ÁÍÉ. 352 ÕÄÁÌÅÎÎÏÇÏ ×ÁÍÉ.
354 353
355ðÏÍÎÉÔÅ, ÞÔÏ ÍÎÏÇÉÅ ËÏÍÁÎÄÙ Emacs ÍÏÇÕÔ ÐÏÌÕÞÁÔØ ÓÞÅÔÞÉË ÐÏ×ÔÏÒÅÎÉÑ; ÐÒÏÓÔÙÅ 354ðÏÍÎÉÔÅ, ÞÔÏ ÍÎÏÇÉÅ ËÏÍÁÎÄÙ Emacs ÍÏÇÕÔ ÐÏÌÕÞÁÔØ ÓÞÅÔÞÉË ÐÏ×ÔÏÒÅÎÉÑ; ÐÒÏÓÔÙÅ
356ÓÉÍ×ÏÌÙ ÎÅ Ñ×ÌÑÀÔÓÑ ÉÓËÌÀÞÅÎÉÅÍ. îÁÂÉÒÁÊÔÅ ÐÒÏÓÔÙÅ ÓÉÍ×ÏÌÙ ×ÓÔÁ×ÌÑÑ ÉÈ ÐÏ 355ÓÉÍ×ÏÌÙ ÎÅ Ñ×ÌÑÀÔÓÑ ÉÓËÌÀÞÅÎÉÅÍ. îÁÂÉÒÁÊÔÅ ÐÒÏÓÔÙÅ ÓÉÍ×ÏÌÙ, ×ÓÔÁ×ÌÑÑ ÉÈ ÐÏ
357ÎÅÓËÏÌØËÏ ÚÁ ÏÄÉÎ ÒÁÚ. 356ÎÅÓËÏÌØËÏ ÚÁ ÏÄÉÎ ÒÁÚ.
358 357
359>> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ ÜÔÏ -- ÎÁÂÅÒÉÔÅ C-u 8 * ÄÌÑ ×ÓÔÁ×ËÉ ********. 358>> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ ÜÔÏ -- ÎÁÂÅÒÉÔÅ C-u 8 * ÄÌÑ ×ÓÔÁ×ËÉ ********.
360 359
361ôÅÐÅÒØ ×Ù ÎÁÕÞÉÌÉÓØ ÏÓÎÏ×ÎÏÍÕ ÓÐÏÓÏÂÕ ÎÁÂÒÁÔØ ÞÔÏ-ÎÉÂÕÄØ × Emacs É 360ôÅÐÅÒØ ×Ù ÎÁÕÞÉÌÉÓØ ÏÓÎÏ×ÎÏÍÕ ÓÐÏÓÏÂÕ ÎÁÂÒÁÔØ ÞÔÏ-ÎÉÂÕÄØ × Emacs É
362ÉÓÐÒÁ×ÌÑÔØ ÏÛÉÂËÉ. ôÁË ÖÅ ×Ù ÍÏÖÅÔÅ ÕÄÁÌÑÔØ ÓÌÏ×Á É ÓÔÒÏËÉ. úÄÅÓØ ÓÏÂÒÁÎÙ 361ÉÓÐÒÁ×ÌÑÔØ ÏÛÉÂËÉ. ôÁËÖÅ ×Ù ÍÏÖÅÔÅ ÕÄÁÌÑÔØ ÓÌÏ×Á É ÓÔÒÏËÉ. úÄÅÓØ ÓÏÂÒÁÎÙ
363ÏÐÅÒÁÃÉÉ ÕÄÁÌÅÎÉÑ: 362ÏÐÅÒÁÃÉÉ ÕÄÁÌÅÎÉÑ:
364 363
365 <Delete> ÕÄÁÌÉÔØ ÓÉÍ×ÏÌ ÐÅÒÅÄ ËÕÒÓÏÒÏÍ 364 <Delete> ÕÄÁÌÉÔØ ÓÉÍ×ÏÌ ÐÅÒÅÄ ËÕÒÓÏÒÏÍ
@@ -371,8 +370,8 @@ Emacs ÍÏÖÅÔ ÉÍÅÔØ ÎÅÓËÏÌØËÏ ÏËÏÎ, ËÁÖÄÏÅ ÉÚ ËÏÔÏÒÙÈ ÏÔÏÂÒÁÖÁÅÔ Ó×ÏÊ ÔÅËÓÔ.
371 C-k õÂÉÔØ ×ÓÅ ÏÔ ËÕÒÓÏÒÁ ÄÏ ËÏÎÃÁ ÓÔÒÏËÉ 370 C-k õÂÉÔØ ×ÓÅ ÏÔ ËÕÒÓÏÒÁ ÄÏ ËÏÎÃÁ ÓÔÒÏËÉ
372 M-k õÂÉÔØ ×ÓÅ ÄÏ ËÏÎÃÁ ÐÒÅÄÌÏÖÅÎÉÑ 371 M-k õÂÉÔØ ×ÓÅ ÄÏ ËÏÎÃÁ ÐÒÅÄÌÏÖÅÎÉÑ
373 372
374úÁÍÅÔØÔÅ, ÞÔÏ <Delete> É C-d ÐÒÏÔÉ× M-<Delete> É M-d ÒÁÓÛÉÒÑÀÔ ÐÁÒÁÌÌÅÌØ 373úÁÍÅÔØÔÅ, ÞÔÏ <Delete> É C-d ÐÒÏÔÉ× M-<Delete> É M-d ÒÁÓÛÉÒÑÀÔ ÐÁÒÁÌÌÅÌØ,
375ÎÁÞÁÔÕÀ, C-f É M-f (ÄÁ, <Delete> ÜÔÏ ÎÅ ÒÅÁÌØÎÙÊ ÕÐÒÁ×ÌÑÀÝÉÊ ÓÉÍ×ÏÌ, ÎÏ ÎÅ 374ÎÁÞÁÔÕÀ C-f É M-f (ÄÁ, <Delete> ÜÔÏ ÎÅ ÒÅÁÌØÎÙÊ ÕÐÒÁ×ÌÑÀÝÉÊ ÓÉÍ×ÏÌ, ÎÏ ÎÅ
376ÎÕÖÎÏ ×ÏÌÎÏ×ÁÔØÓÑ Ï ÜÔÏÍ). C-k É M-k, ËÁË É C-e É M-e, ÐÒÏ×ÏÄÑÔ ÐÁÒÁÌÌÅÌØ 375ÎÕÖÎÏ ×ÏÌÎÏ×ÁÔØÓÑ Ï ÜÔÏÍ). C-k É M-k, ËÁË É C-e É M-e, ÐÒÏ×ÏÄÑÔ ÐÁÒÁÌÌÅÌØ
377ÍÅÖÄÕ ÓÔÒÏËÁÍÉ É ÐÒÅÄÌÏÖÅÎÉÑÍÉ. 376ÍÅÖÄÕ ÓÔÒÏËÁÍÉ É ÐÒÅÄÌÏÖÅÎÉÑÍÉ.
378 377
@@ -393,13 +392,13 @@ C-SPC (ÏÄÎÕ ÉÚ ÎÉÈ). (SPC ÏÂÏÚÎÁÞÁÅÔ ËÌÁ×ÉÛÕ ÐÒÏÂÅÌÁ). ðÅÒÅÍÅÓÔÉÔÅÓØ ÎÁ
393ïÔÌÉÞÉÅ ÍÅÖÄÕ "ÕÂÉÔØ (killing)" É "ÕÄÁÌÉÔØ (deleting)" ÚÁËÌÀÞÁÅÔÓÑ × ÔÏÍ, 392ïÔÌÉÞÉÅ ÍÅÖÄÕ "ÕÂÉÔØ (killing)" É "ÕÄÁÌÉÔØ (deleting)" ÚÁËÌÀÞÁÅÔÓÑ × ÔÏÍ,
394ÞÔÏ "ÕÂÉÔÙÊ" ÔÅËÓÔ ÍÏÖÅÔ ÂÙÔØ ÚÁÎÏ×Ï ×ÓÔÁ×ÌÅÎ, × ÔÏ ×ÒÅÍÑ ËÁË "ÕÄÁÌÅÎÎÙÅ" 393ÞÔÏ "ÕÂÉÔÙÊ" ÔÅËÓÔ ÍÏÖÅÔ ÂÙÔØ ÚÁÎÏ×Ï ×ÓÔÁ×ÌÅÎ, × ÔÏ ×ÒÅÍÑ ËÁË "ÕÄÁÌÅÎÎÙÅ"
395ÞÁÓÔÉ ÎÅ ÍÏÇÕÔ ÂÙÔØ ×ÓÔÁ×ÌÅÎÙ. ÷ÓÔÁ×ËÁ "ÕÂÉÔÏÇÏ" ÔÅËÓÔÁ ÎÁÚÙ×ÁÅÔÓÑ 394ÞÁÓÔÉ ÎÅ ÍÏÇÕÔ ÂÙÔØ ×ÓÔÁ×ÌÅÎÙ. ÷ÓÔÁ×ËÁ "ÕÂÉÔÏÇÏ" ÔÅËÓÔÁ ÎÁÚÙ×ÁÅÔÓÑ
396"×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ (yanking)". ÷ ÏÂÝÅÍ, ËÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÕÄÁÌÑÔØ ÂÏÌØÛÉÅ 395"×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ (yanking)". ÷ ÏÂÝÅÍ, ËÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÕÂÉÒÁÔØ ÂÏÌØÛÉÅ
397ÞÁÓÔÉ ÔÅËÓÔÁ, ÕÄÁÌÑÀÔ ÜÔÏÔ ÔÅËÓÔ (ÏÎÉ ÔÁË ÎÁÓÔÒÁÉ×ÁÀÔÓÑ ÔÁË, ÞÔÏ ×Ù ÍÏÖÅÔÅ 396ÞÁÓÔÉ ÔÅËÓÔÁ, ÕÂÉ×ÁÀÔ ÜÔÏÔ ÔÅËÓÔ (ÏÎÉ ÔÁË ÎÁÓÔÒÁÉ×ÁÀÔÓÑ ÔÁË, ÞÔÏ ×Ù ÍÏÖÅÔÅ
398×ÏÓÓÔÁÎÏ×ÉÔØ ÔÅËÓÔ), × ÔÏ ×ÒÅÍÑ ËÁË ËÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÕÄÁÌÑÀÔ ÔÏÌØËÏ ÏÄÉÎ 397×ÏÓÓÔÁÎÏ×ÉÔØ ÔÅËÓÔ), × ÔÏ ×ÒÅÍÑ ËÁË ËÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÕÂÉÒÁÀÔ ÔÏÌØËÏ ÏÄÉÎ
399ÓÉÍ×ÏÌ, ÉÌÉ ÔÏÌØËÏ ÐÕÓÔÙÅ ÓÔÒÏËÉ É ÐÒÏÂÅÌØÎÙÅ ÓÉÍ×ÏÌÙ, ×ÙÐÏÌÎÑÀÔ ÕÄÁÌÅÎÉÅ 398ÓÉÍ×ÏÌ, ÉÌÉ ÔÏÌØËÏ ÐÕÓÔÙÅ ÓÔÒÏËÉ É ÐÒÏÂÅÌØÎÙÅ ÓÉÍ×ÏÌÙ, ×ÙÐÏÌÎÑÀÔ ÕÄÁÌÅÎÉÅ
400(ÔÁË ÞÔÏ ×Ù ÎÅ ÍÏÖÅÔÅ ×ÏÓÓÔÁÎÏ×ÉÔØ ÔÅËÓÔ). 399(ÔÁË ÞÔÏ ×Ù ÎÅ ÍÏÖÅÔÅ ×ÏÓÓÔÁÎÏ×ÉÔØ ÔÅËÓÔ).
401 400
402>> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ ÎÁÞÁÌÏ ÎÅÐÕÓÔÏÊ ÓÔÒÏËÉ. ôÅÐÅÒØ ÎÁÖÍÉÔÅ C-k ÞÔÏÂÙ 401>> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ ÎÁÞÁÌÏ ÎÅÐÕÓÔÏÊ ÓÔÒÏËÉ. ôÅÐÅÒØ ÎÁÖÍÉÔÅ C-k, ÞÔÏÂÙ
403 ÕÂÉÔØ ÔÅËÓÔ × ÜÔÏÊ ÓÔÒÏËÅ. 402 ÕÂÉÔØ ÔÅËÓÔ × ÜÔÏÊ ÓÔÒÏËÅ.
404 403
405>> îÁÖÍÉÔÅ C-k ÅÝÅ ÒÁÚ. ÷Ù ×ÉÄÉÔÅ, ÞÔÏ ÜÔÏ ÕÂØÅÔ ÓÉÍ×ÏÌ ÎÏ×ÏÊ ÓÔÒÏËÉ 404>> îÁÖÍÉÔÅ C-k ÅÝÅ ÒÁÚ. ÷Ù ×ÉÄÉÔÅ, ÞÔÏ ÜÔÏ ÕÂØÅÔ ÓÉÍ×ÏÌ ÎÏ×ÏÊ ÓÔÒÏËÉ
@@ -407,7 +406,7 @@ C-SPC (ÏÄÎÕ ÉÚ ÎÉÈ). (SPC ÏÂÏÚÎÁÞÁÅÔ ËÌÁ×ÉÛÕ ÐÒÏÂÅÌÁ). ðÅÒÅÍÅÓÔÉÔÅÓØ ÎÁ
407 406
408úÁÍÅÔØÔÅ, ÞÔÏ ÐÅÒ×ÏÅ C-k ÕÂÉ×ÁÅÔ ÓÏÄÅÒÖÉÍÏÅ ÓÔÒÏËÉ, Á ×ÔÏÒÏÅ C-k ÕÂÉ×ÁÅÔ 407úÁÍÅÔØÔÅ, ÞÔÏ ÐÅÒ×ÏÅ C-k ÕÂÉ×ÁÅÔ ÓÏÄÅÒÖÉÍÏÅ ÓÔÒÏËÉ, Á ×ÔÏÒÏÅ C-k ÕÂÉ×ÁÅÔ
409ÓÁÍÕ ÓÔÒÏËÕ É ÐÏÄÎÉÍÁÅÔ ÄÒÕÇÉÅ ÓÔÒÏËÉ ××ÅÒÈ. C-k ÏÂÒÁÂÁÔÙ×ÁÅÔ ÞÉÓÌÏ×ÏÊ 408ÓÁÍÕ ÓÔÒÏËÕ É ÐÏÄÎÉÍÁÅÔ ÄÒÕÇÉÅ ÓÔÒÏËÉ ××ÅÒÈ. C-k ÏÂÒÁÂÁÔÙ×ÁÅÔ ÞÉÓÌÏ×ÏÊ
410ÁÒÇÕÍÅÎÔ ÓÐÅÃÉÁÌØÎÙÍ ÏÂÒÁÚÏÍ: ÕÂÉ×ÁÅÔ ÍÎÏÇÏ ÓÔÒÏË _é_ ÉÈ ÓÏÄÅÒÖÉÍÏÅ. üÔÏ ÎÅ 409ÁÒÇÕÍÅÎÔ ÓÐÅÃÉÁÌØÎÙÍ ÏÂÒÁÚÏÍ: ÕÂÉ×ÁÅÔ ÓÔÏÌØËÏ ÓÔÒÏË _é_ ÉÈ ÓÏÄÅÒÖÉÍÏÅ. üÔÏ ÎÅ
411ÐÒÏÓÔÏ ÐÏ×ÔÏÒÅÎÉÅ. C-u 2 C-k ÕÄÁÌÉÔ Ä×Å ÓÔÒÏÉ É ÚÁ×ÅÒÛÁÀÝÉÅ ÉÈ ÓÉÍ×ÏÌÙ ÎÏ×ÏÊ 410ÐÒÏÓÔÏ ÐÏ×ÔÏÒÅÎÉÅ. C-u 2 C-k ÕÄÁÌÉÔ Ä×Å ÓÔÒÏÉ É ÚÁ×ÅÒÛÁÀÝÉÅ ÉÈ ÓÉÍ×ÏÌÙ ÎÏ×ÏÊ
412ÓÔÒÏËÉ; ××ÏÄ C-k Ä×Á ÒÁÚÁ ÎÅ ÓÄÅÌÁÅÔ ÜÔÏÇÏ. 411ÓÔÒÏËÉ; ××ÏÄ C-k Ä×Á ÒÁÚÁ ÎÅ ÓÄÅÌÁÅÔ ÜÔÏÇÏ.
413 412
@@ -420,10 +419,10 @@ C-SPC (ÏÄÎÕ ÉÚ ÎÉÈ). (SPC ÏÂÏÚÎÁÞÁÅÔ ËÌÁ×ÉÛÕ ÐÒÏÂÅÌÁ). ðÅÒÅÍÅÓÔÉÔÅÓØ ÎÁ
420ëÏÍÁÎÄÏÊ ÄÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÔÅËÓÔÁ Ñ×ÌÑÅÔÓÑ C-y. ïÎÁ ×ÏÓÓÔÁÎÁ×ÌÉ×ÁÅÔ 419ëÏÍÁÎÄÏÊ ÄÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÔÅËÓÔÁ Ñ×ÌÑÅÔÓÑ C-y. ïÎÁ ×ÏÓÓÔÁÎÁ×ÌÉ×ÁÅÔ
421ÐÏÓÌÅÄÎÉÊ ÕÂÉÔÙÊ ÔÅËÓÔ × ÍÅÓÔÏ ÒÁÓÐÏÌÏÖÅÎÉÅ ËÕÒÓÏÒÁ. 420ÐÏÓÌÅÄÎÉÊ ÕÂÉÔÙÊ ÔÅËÓÔ × ÍÅÓÔÏ ÒÁÓÐÏÌÏÖÅÎÉÅ ËÕÒÓÏÒÁ.
422 421
423>> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ ÜÔÏ; ÎÁÂÅÒÉÔÅ C-y ÞÔÏ ×ÅÒÎÕÔØ ÔÅËÓÔ ÎÁÚÁÄ. 422>> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ ÜÔÏ; ÎÁÂÅÒÉÔÅ C-y, ÞÔÏÂÙ ×ÅÒÎÕÔØ ÔÅËÓÔ ÎÁÚÁÄ.
424 423
425ðÏÍÎÉÔÅ, ÅÓÌÉ ×Ù ÉÓÐÏÌØÚÏ×ÁÌÉ ÎÅÓËÏÌØËÏ ËÏÍÁÎÄ C-k × ÓÔÒÏËÅ, ×ÓÅ ÕÂÉÔÙÅ 424ðÏÍÎÉÔÅ, ÅÓÌÉ ×Ù ÉÓÐÏÌØÚÏ×ÁÌÉ ÎÅÓËÏÌØËÏ ËÏÍÁÎÄ C-k × ÓÔÒÏËÅ, ×ÓÅ ÕÂÉÔÙÅ
426ÓÔÒÏËÉ ÂÕÄÕÔ ÓÏÈÒÁÎÅÎÙ ×ÍÅÓÔÅ, ÔÁË, ÞÔÏ C-y ×ÏÓÓÔÁÎÏ×ÉÔ ÉÈ ×ÍÅÓÔÅ. 425ÓÔÒÏËÉ ÂÕÄÕÔ ÓÏÈÒÁÎÅÎÙ ×ÍÅÓÔÅ ÔÁË, ÞÔÏ C-y ×ÏÓÓÔÁÎÏ×ÉÔ ÉÈ ×ÍÅÓÔÅ.
427 426
428>> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ ÜÔÏ ÓÅÊÞÁÓ, ÎÁÖÍÉÔÅ C-k ÎÅÓËÏÌØËÏ ÒÁÚ. 427>> ðÏÐÒÏÂÕÊÔÅ ×ÙÐÏÌÎÉÔØ ÜÔÏ ÓÅÊÞÁÓ, ÎÁÖÍÉÔÅ C-k ÎÅÓËÏÌØËÏ ÒÁÚ.
429 428
@@ -434,8 +433,8 @@ C-SPC (ÏÄÎÕ ÉÚ ÎÉÈ). (SPC ÏÂÏÚÎÁÞÁÅÔ ËÌÁ×ÉÛÕ ÐÒÏÂÅÌÁ). ðÅÒÅÍÅÓÔÉÔÅÓØ ÎÁ
434 433
435þÔÏ ÄÅÌÁÔØ, ÅÓÌÉ ÅÓÔØ ÎÅËÏÔÏÒÙÊ ÔÅËÓÔ, ËÏÔÏÒÙÊ ×Ù ÈÏÔÉÔÅ ×ÅÒÎÕÔØ ÎÁÚÁÄ É 434þÔÏ ÄÅÌÁÔØ, ÅÓÌÉ ÅÓÔØ ÎÅËÏÔÏÒÙÊ ÔÅËÓÔ, ËÏÔÏÒÙÊ ×Ù ÈÏÔÉÔÅ ×ÅÒÎÕÔØ ÎÁÚÁÄ É
436ÐÏÔÏÍ ÕÂÉÔØ ÞÔÏ-ÔÏ ÅÝÅ? C-y ×ÅÒÎÅÔ ÎÅ ÂÏÌÅÅ ÞÅÍ ÐÏÓÌÅÄÎÉÊ ÕÄÁÌÅÎÎÙÊ ÔÅËÓÔ. 435ÐÏÔÏÍ ÕÂÉÔØ ÞÔÏ-ÔÏ ÅÝÅ? C-y ×ÅÒÎÅÔ ÎÅ ÂÏÌÅÅ ÞÅÍ ÐÏÓÌÅÄÎÉÊ ÕÄÁÌÅÎÎÙÊ ÔÅËÓÔ.
437îÏ ÐÒÅÄÙÄÕÝÉÊ ÔÅËÓÔ ÎÅ ÂÕÄÅÔ ÐÏÔÅÒÑÎ. ÷Ù ÓÍÏÖÅÔÅ ÅÇÏ ×ÅÒÎÕÔØ ÎÁÚÁÄ ÉÓÐÏÌØÚÕÑ 436îÏ ÐÒÅÄÙÄÕÝÉÊ ÔÅËÓÔ ÎÅ ÂÕÄÅÔ ÐÏÔÅÒÑÎ. ÷Ù ÓÍÏÖÅÔÅ ÅÇÏ ×ÅÒÎÕÔØ ÎÁÚÁÄ, ÉÓÐÏÌØÚÕÑ
438ËÏÍÁÎÄÕ M-y. ðÏÓÌÅ ÔÏÇÏ ËÁË ×Ù ×ÅÒÎÕÌÉ ÐÏÓÌÅÄÎÉÊ ÕÄÁÌÅÎÎÙÊ ÔÅËÓÔ, ÎÁÖÍÉÔÅ 437ËÏÍÁÎÄÕ M-y. ðÏÓÌÅ ÔÏÇÏ, ËÁË ×Ù ×ÅÒÎÕÌÉ ÐÏÓÌÅÄÎÉÊ ÕÄÁÌÅÎÎÙÊ ÔÅËÓÔ, ÎÁÖÍÉÔÅ
439M-y, É ÚÁÍÅÎÉÔÅ ÜÔÏÔ ×ÏÓÓÔÁÎÏ×ÌÅÎÎÙÊ ÔÅËÓÔ ÔÅÍ, ËÏÔÏÒÙÊ ÂÙÌ ÕÂÉÔ ÒÁÎÅÅ. 438M-y, É ÚÁÍÅÎÉÔÅ ÜÔÏÔ ×ÏÓÓÔÁÎÏ×ÌÅÎÎÙÊ ÔÅËÓÔ ÔÅÍ, ËÏÔÏÒÙÊ ÂÙÌ ÕÂÉÔ ÒÁÎÅÅ.
440îÁÖÁÔÉÅ M-y ÓÎÏ×Á É ÓÎÏ×Á ÂÕÄÅÔ ×ÏÚ×ÒÁÝÁÔØ ÒÁÎÅÅ ÕÂÉÔÙÊ ÔÅËÓÔ. ëÏÇÄÁ ×Ù 439îÁÖÁÔÉÅ M-y ÓÎÏ×Á É ÓÎÏ×Á ÂÕÄÅÔ ×ÏÚ×ÒÁÝÁÔØ ÒÁÎÅÅ ÕÂÉÔÙÊ ÔÅËÓÔ. ëÏÇÄÁ ×Ù
441ÄÏÓÔÉÇÎÉÔÅ ÉÓËÏÍÏÇÏ ÔÅËÓÔÁ, ×ÁÍ ÎÅ ÎÕÖÎÏ ÄÅÌÁÔØ ÎÉÞÅÇÏ ÂÏÌÅÅ ÞÔÏÂÙ ÓÏÈÒÁÎÉÔØ 440ÄÏÓÔÉÇÎÉÔÅ ÉÓËÏÍÏÇÏ ÔÅËÓÔÁ, ×ÁÍ ÎÅ ÎÕÖÎÏ ÄÅÌÁÔØ ÎÉÞÅÇÏ ÂÏÌÅÅ ÞÔÏÂÙ ÓÏÈÒÁÎÉÔØ
@@ -447,7 +446,7 @@ M-y, É ÚÁÍÅÎÉÔÅ ÜÔÏÔ ×ÏÓÓÔÁÎÏ×ÌÅÎÎÙÊ ÔÅËÓÔ ÔÅÍ, ËÏÔÏÒÙÊ ÂÙÌ ÕÂÉÔ ÒÁÎÅÅ.
447 446
448>> õÂÅÊÔÅ ÓÔÒÏËÕ, ÐÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ×ÏËÒÕÇ ÜÔÏÊ ÔÏÞËÉ, ÐÏÔÏÍ ÕÄÁÌÉÔÅ ÅÝÅ 447>> õÂÅÊÔÅ ÓÔÒÏËÕ, ÐÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ×ÏËÒÕÇ ÜÔÏÊ ÔÏÞËÉ, ÐÏÔÏÍ ÕÄÁÌÉÔÅ ÅÝÅ
449 ÏÄÎÕ ÓÔÒÏËÕ. úÁÔÅÍ ÉÓÐÏÌØÚÕÊÔÅ C-y ÄÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ×ÔÏÒÏÊ ÕÂÉÔÏÊ 448 ÏÄÎÕ ÓÔÒÏËÕ. úÁÔÅÍ ÉÓÐÏÌØÚÕÊÔÅ C-y ÄÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ×ÔÏÒÏÊ ÕÂÉÔÏÊ
450 ÓÔÒÏËÉ. úÁÔÅÍ ÉÓÐÏÌØÚÕÊÔÅ M-y É ÏÎÁ ÂÕÄÅÔ ÚÁÍÅÎÅÎÁ ÐÅÒ×ÏÊ ÕÂÉÔÏÊ 449 ÓÔÒÏËÉ. úÁÔÅÍ ÉÓÐÏÌØÚÕÊÔÅ M-y, É ÏÎÁ ÂÕÄÅÔ ÚÁÍÅÎÅÎÁ ÐÅÒ×ÏÊ ÕÂÉÔÏÊ
451 ÓÔÒÏËÏÊ. îÁÖÍÉÔÅ M-y ÅÝÅ ÎÅÓËÏÌØËÏ ÒÁÚ, ÞÔÏÂÙ Õ×ÉÄÅÔØ ÐÏÌÕÞÅÎÎÙÊ 450 ÓÔÒÏËÏÊ. îÁÖÍÉÔÅ M-y ÅÝÅ ÎÅÓËÏÌØËÏ ÒÁÚ, ÞÔÏÂÙ Õ×ÉÄÅÔØ ÐÏÌÕÞÅÎÎÙÊ
452 ÒÅÚÕÌØÔÁÔ. ðÒÏÄÏÌÖÁÊÔÅ ÄÅÌÁÔØ ÜÔÏ, ÐÏËÁ ×ÔÏÒÁÑ ÕÂÉÔÁÑ ÓÔÒÏËÁ ÎÅ ×ÅÒÎÅÔÓÑ, 451 ÒÅÚÕÌØÔÁÔ. ðÒÏÄÏÌÖÁÊÔÅ ÄÅÌÁÔØ ÜÔÏ, ÐÏËÁ ×ÔÏÒÁÑ ÕÂÉÔÁÑ ÓÔÒÏËÁ ÎÅ ×ÅÒÎÅÔÓÑ,
453 É ÅÝÅ ÞÕÔØ-ÞÕÔØ. åÓÌÉ ×ÁÍ ÈÏÞÅÔÓÑ, ÔÏ ×Ù ÍÏÖÅÔÅ ÚÁÄÁ×ÁÔØ ÄÌÑ M-y 452 É ÅÝÅ ÞÕÔØ-ÞÕÔØ. åÓÌÉ ×ÁÍ ÈÏÞÅÔÓÑ, ÔÏ ×Ù ÍÏÖÅÔÅ ÚÁÄÁ×ÁÔØ ÄÌÑ M-y
@@ -463,7 +462,7 @@ M-y, É ÚÁÍÅÎÉÔÅ ÜÔÏÔ ×ÏÓÓÔÁÎÏ×ÌÅÎÎÙÊ ÔÅËÓÔ ÔÅÍ, ËÏÔÏÒÙÊ ÂÙÌ ÕÂÉÔ ÒÁÎÅÅ.
463ïÂÙÞÎÏ, C-x u ÏÔÍÅÎÑÅÔ ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ ÏÄÎÏÊ ËÏÍÁÎÄÏÊ; ÅÓÌÉ ÐÏ×ÔÏÒÉÔØ 462ïÂÙÞÎÏ, C-x u ÏÔÍÅÎÑÅÔ ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ ÏÄÎÏÊ ËÏÍÁÎÄÏÊ; ÅÓÌÉ ÐÏ×ÔÏÒÉÔØ
464C-x u ÎÅÓËÏÌØËÏ ÒÁÚ ÐÏÄÒÑÄ, ËÁÖÄÙÊ ÒÁÚ ÂÕÄÅÔ ÏÔÍÅÎÑÔØÓÑ ÅÝÅ ÏÄÎÁ ËÏÍÁÎÄÁ. 463C-x u ÎÅÓËÏÌØËÏ ÒÁÚ ÐÏÄÒÑÄ, ËÁÖÄÙÊ ÒÁÚ ÂÕÄÅÔ ÏÔÍÅÎÑÔØÓÑ ÅÝÅ ÏÄÎÁ ËÏÍÁÎÄÁ.
465 464
466îÏ ÅÓÔØ Ä×Á ÉÓËÌÀÞÅÎÉÑ: ËÏÍÁÎÄÙ ËÏÔÏÒÙÅ ÎÅ ÉÚÍÅÎÑÀÔ ÔÅËÓÔ ÎÅ ÕÞÉÔÙ×ÁÀÔÓÑ 465îÏ ÅÓÔØ Ä×Á ÉÓËÌÀÞÅÎÉÑ: ËÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÎÅ ÉÚÍÅÎÑÀÔ ÔÅËÓÔ, ÎÅ ÕÞÉÔÙ×ÁÀÔÓÑ
467(ÜÔÏ ×ËÌÀÞÁÅÔ ËÏÍÁÎÄÙ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ É ÐÒÏËÒÕÔËÉ), É ÓÁÍÏ×ÓÔÁ×ÌÑÀÝÉÅÓÑ 466(ÜÔÏ ×ËÌÀÞÁÅÔ ËÏÍÁÎÄÙ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ É ÐÒÏËÒÕÔËÉ), É ÓÁÍÏ×ÓÔÁ×ÌÑÀÝÉÅÓÑ
468(self-inserting) ÓÉÍ×ÏÌÙ ÏÂÒÁÂÁÔÙ×ÁÀÔÓÑ ÇÒÕÐÐÁÍÉ ÄÏ 20. (üÔÏ ÕÍÅÎØÛÁÅÔ 467(self-inserting) ÓÉÍ×ÏÌÙ ÏÂÒÁÂÁÔÙ×ÁÀÔÓÑ ÇÒÕÐÐÁÍÉ ÄÏ 20. (üÔÏ ÕÍÅÎØÛÁÅÔ
469ÞÉÓÌÏ C-x u ËÏÔÏÒÙÅ ×Ù ÍÏÖÅÔÅ ÎÁÂÒÁÔØ ÄÌÑ ÏÔÍÅÎÙ ××ÏÄÁ ÔÅËÓÔÁ). 468ÞÉÓÌÏ C-x u ËÏÔÏÒÙÅ ×Ù ÍÏÖÅÔÅ ÎÁÂÒÁÔØ ÄÌÑ ÏÔÍÅÎÙ ××ÏÄÁ ÔÅËÓÔÁ).
@@ -472,14 +471,14 @@ C-x u ÎÅÓËÏÌØËÏ ÒÁÚ ÐÏÄÒÑÄ, ËÁÖÄÙÊ ÒÁÚ ÂÕÄÅÔ ÏÔÍÅÎÑÔØÓÑ ÅÝÅ ÏÄÎÁ ËÏÍÁÎÄÁ.
472 ×ÅÒÎÕÔØÓÑ ÎÁÚÁÄ. 471 ×ÅÒÎÕÔØÓÑ ÎÁÚÁÄ.
473 472
474C-_ ÁÌØÔÅÒÎÁÔÉ×ÎÁÑ ËÏÍÁÎÄÁ ÏÔÍÅÎÙ; ÏÎÁ ÒÁÂÏÔÁÅÔ ÔÁËÖÅ ËÁË É C-x u, ÎÏ ÌÅÇÞÅ 473C-_ ÁÌØÔÅÒÎÁÔÉ×ÎÁÑ ËÏÍÁÎÄÁ ÏÔÍÅÎÙ; ÏÎÁ ÒÁÂÏÔÁÅÔ ÔÁËÖÅ ËÁË É C-x u, ÎÏ ÌÅÇÞÅ
475× ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÅÓËÏÌØËÏ ÒÁÚ ÐÏÄÒÑÄ. îÅÕÄÏÂÎÏÅ ÐÏÌÏÖÅÎÉÅ C-_ Á ÎÁ ÎÅËÏÔÏÒÙÈ 474× ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÅÓËÏÌØËÏ ÒÁÚ ÐÏÄÒÑÄ. îÅÕÄÏÂÎÏÅ ÐÏÌÏÖÅÎÉÅ C-_ ÎÁ ÎÅËÏÔÏÒÙÈ
476ËÌÁ×ÉÁÔÕÒÁÈ ÄÅÌÁÅÔ ÎÅÏÞÅ×ÉÄÎÙÍ ÓÐÏÓÏ ÅÅ ÎÁÂÏÒÁ. ðÏÜÔÏÍÕ ÍÙ ÐÒÅÄÌÁÇÁÅÍ 475ËÌÁ×ÉÁÔÕÒÁÈ ÄÅÌÁÅÔ ÎÅÏÞÅ×ÉÄÎÙÍ ÓÐÏÓÏ ÅÅ ÎÁÂÏÒÁ. ðÏÜÔÏÍÕ ÍÙ ÐÒÅÄÌÁÇÁÅÍ
477ÉÓÐÏÌØÚÏ×ÁÔØ C-x u. îÁ ÎÅËÏÔÏÒÙÈ ÔÅÒÍÉÎÁÌÁÈ, ×Ù ÍÏÖÅÔÅ ÎÁÂÉÒÁÔØ C-_ ÎÁÖÉÍÁÑ 476ÉÓÐÏÌØÚÏ×ÁÔØ C-x u. îÁ ÎÅËÏÔÏÒÙÈ ÔÅÒÍÉÎÁÌÁÈ, ×Ù ÍÏÖÅÔÅ ÎÁÂÉÒÁÔØ C-_, ÎÁÖÉÍÁÑ
478/ É ÕÄÅÒÖÉ×ÁÑ ËÌÁ×ÉÛÕ CONTROL. 477/ É ÕÄÅÒÖÉ×ÁÑ ËÌÁ×ÉÛÕ CONTROL.
479 478
480þÉÓÌÏ×ÏÊ ÁÒÇÕÍÅÎÔ ÄÌÑ C-_ ÉÌÉ C-x u ÒÁÂÏÔÁÅÔ ËÁË ÓÞÅÔÞÉË ÐÏ×ÔÏÒÅÎÉÑ. 479þÉÓÌÏ×ÏÊ ÁÒÇÕÍÅÎÔ ÄÌÑ C-_ ÉÌÉ C-x u ÒÁÂÏÔÁÅÔ ËÁË ÓÞÅÔÞÉË ÐÏ×ÔÏÒÅÎÉÑ.
481 480
482÷Ù ÍÏÖÅÔÅ ÏÔÍÅÎÉÔØ ÕÄÁÌÅÎÉÅ ÔÅËÓÔÁ ÔÏÞÎÏ ÔÁËÖÅ ËÁË ÏÔÍÅÎÕ ÕÂÉÔÉÑ 481÷Ù ÍÏÖÅÔÅ ÏÔÍÅÎÉÔØ ÕÄÁÌÅÎÉÅ ÔÅËÓÔÁ ÔÏÞÎÏ ÔÁË ÖÅ, ËÁË ÏÔÍÅÎÕ ÕÂÉÔÉÑ
483ÔÅËÓÔÁ. ïÔÌÉÞÉÅ ÍÅÖÄÕ ÕÂÉÊÓÔ×ÏÍ É ÕÄÁÌÅÎÉÅÍ ÞÅÇÏ-ÌÉÂÏ ÚÁËÌÀÞÁÅÔÓÑ × ÔÏÍ, ÞÔÏ 482ÔÅËÓÔÁ. ïÔÌÉÞÉÅ ÍÅÖÄÕ ÕÂÉÊÓÔ×ÏÍ É ÕÄÁÌÅÎÉÅÍ ÞÅÇÏ-ÌÉÂÏ ÚÁËÌÀÞÁÅÔÓÑ × ÔÏÍ, ÞÔÏ
484×Ù ÍÏÖÅÔÅ ×ÏÓÓÔÁÎÏ×ÉÔØ ÕÂÉÔÙÊ ÔÅËÓÔ Ó ÐÏÍÏÝØÀ C-y; ÎÏ ÜÔÏ ÎÅ ÄÅÌÁÅÔ ÒÁÚÌÉÞÉÊ 483×Ù ÍÏÖÅÔÅ ×ÏÓÓÔÁÎÏ×ÉÔØ ÕÂÉÔÙÊ ÔÅËÓÔ Ó ÐÏÍÏÝØÀ C-y; ÎÏ ÜÔÏ ÎÅ ÄÅÌÁÅÔ ÒÁÚÌÉÞÉÊ
485ÄÌÑ ÏÔÍÅÎÙ. 484ÄÌÑ ÏÔÍÅÎÙ.
@@ -488,27 +487,27 @@ C-_ ÁÌØÔÅÒÎÁÔÉ×ÎÁÑ ËÏÍÁÎÄÁ ÏÔÍÅÎÙ; ÏÎÁ ÒÁÂÏÔÁÅÔ ÔÁËÖÅ ËÁË É C-x u, ÎÏ ÌÅÇÞÅ
488------- 487-------
489 488
490þÔÏÂÙ ÓÏÚÄÁÎÎÙÊ ÔÅËÓÔ ÍÏÖÎÏ ÂÙÌÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÏÚÖÅ, ×Ù ÄÏÌÖÎÙ ÅÇÏ 489þÔÏÂÙ ÓÏÚÄÁÎÎÙÊ ÔÅËÓÔ ÍÏÖÎÏ ÂÙÌÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÏÚÖÅ, ×Ù ÄÏÌÖÎÙ ÅÇÏ
491ÐÏÍÅÓÔÉÔØ × ÆÁÊÌ. éÎÁÞÅ, ÏÎ ÉÓÞÅÚÎÅÔ ËÏÇÄÁ ×Ù ×ÙÊÄÉÔÅ ÉÚ Emacs. ÷Ù ÐÏÍÅÝÁÅÔÅ 490ÐÏÍÅÓÔÉÔØ × ÆÁÊÌ. éÎÁÞÅ, ÏÎ ÉÓÞÅÚÎÅÔ, ËÏÇÄÁ ×Ù ×ÙÊÄÉÔÅ ÉÚ Emacs. ÷Ù ÐÏÍÅÝÁÅÔÅ
492×ÁÛ ÔÅËÓÔ × ÆÁÊÌ "ÏÔËÒÙ×ÁÑ" ÆÁÊÌ. (åÝÅ ÜÔÏ ÎÁÚÙ×ÁÀÔ "ÐÏÓÅÔÉÔØ" ÆÁÊÌ.) 491×ÁÛ ÔÅËÓÔ × ÆÁÊÌ, "ÏÔËÒÙ×ÁÑ" ÆÁÊÌ. (åÝÅ ÜÔÏ ÎÁÚÙ×ÁÀÔ "ÐÏÓÅÔÉÔØ" ÆÁÊÌ.)
493 492
494ïÔËÒÙÔØ ÆÁÊÌ ÏÚÎÁÞÁÅÔ ÐÏÓÍÏÔÒÅÔØ ÅÇÏ ÓÏÄÅÒÖÉÍÏÅ ÉÓÐÏÌØÚÕÑ Emacs. ÷Ï ÍÎÏÇÉÈ 493ïÔËÒÙÔØ ÆÁÊÌ ÏÚÎÁÞÁÅÔ ÐÏÓÍÏÔÒÅÔØ ÅÇÏ ÓÏÄÅÒÖÉÍÏÅ, ÉÓÐÏÌØÚÕÑ Emacs. ÷Ï ÍÎÏÇÉÈ
495ÓÌÕÞÁÑÈ, ÜÔÏ ÐÒÏÉÓÈÏÄÉÔ ËÏÇÄÁ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÆÁÊÌ ÓÁÍÉ. ïÄÎÁËÏ ×ÁÛÉ 494ÓÌÕÞÁÑÈ, ÜÔÏ ÐÒÏÉÓÈÏÄÉÔ, ËÏÇÄÁ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÆÁÊÌ ÓÁÍÉ. ïÄÎÁËÏ ×ÁÛÉ
496ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ Emacs ÎÅ ÂÕÄÕÔ ÚÁÆÉËÓÉÒÏ×ÁÎÙ, ÐÏËÁ ×Ù 495ÉÚÍÅÎÅÎÉÑ, ÓÄÅÌÁÎÎÙÅ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ Emacs ÎÅ ÂÕÄÕÔ ÚÁÆÉËÓÉÒÏ×ÁÎÙ, ÐÏËÁ ×Ù
497ÎÅ ÓÏÈÒÁÎÉÔÅ ÆÁÊÌ. ôÁË ×Ù ÍÏÖÅÔÅ ÎÅ ÏÓÔÁ×ÌÑÔØ ÐÏÌÕÉÚÍÅÎÅÎÎÙÊ ÆÁÊÌ × ÓÉÓÔÅÍÅ, 496ÎÅ ÓÏÈÒÁÎÉÔÅ ÆÁÊÌ. ôÁË ×Ù ÍÏÖÅÔÅ ÎÅ ÏÓÔÁ×ÌÑÔØ ÐÏÌÕÉÚÍÅÎÅÎÎÙÊ ÆÁÊÌ × ÓÉÓÔÅÍÅ,
498ÅÓÌÉ ×Ù ÎÅ ÈÏÔÉÔÅ ÜÔÏÇÏ. äÁÖÅ ËÏÇÄÁ ×Ù ÓÏÈÒÁÎÑÅÔÅ ÆÁÊÌ, Emacs ÏÓÔÁ×ÌÑÅÔ 497ÅÓÌÉ ×Ù ÎÅ ÈÏÔÉÔÅ ÜÔÏÇÏ. äÁÖÅ ËÏÇÄÁ ×Ù ÓÏÈÒÁÎÑÅÔÅ ÆÁÊÌ, Emacs ÏÓÔÁ×ÌÑÅÔ
499ÏÒÉÇÉÎÁÌØÎÙÊ ÆÁÊÌ Ó ÉÚÍÅÎÅÎÎÙÍ ÉÍÅÎÅÍ, ÞÔÏ ×Ù ÍÏÇÌÉ ÐÏÚÖÅ ÒÅÛÉÔØ, ÞÔÏ ×ÁÛÉ 498ÏÒÉÇÉÎÁÌØÎÙÊ ÆÁÊÌ Ó ÉÚÍÅÎÅÎÎÙÍ ÉÍÅÎÅÍ, ÞÔÏÂÙ ×Ù ÍÏÇÌÉ ÐÏÚÖÅ ÒÅÛÉÔØ, ÞÔÏ ×ÁÛÉ
500ÉÚÍÅÎÅÎÉÑ ÂÙÌÉ ÏÛÉÂÏÞÎÙ. 499ÉÚÍÅÎÅÎÉÑ ÂÙÌÉ ÏÛÉÂÏÞÎÙ.
501 500
502åÓÌÉ ×Ù ÐÏÓÍÏÔÒÉÔÅ × ÎÉÖÎÀÀ ÞÁÓÔØ ÜËÒÁÎÁ, ÔÏ ×Ù Õ×ÉÄÉÔÅ ÓÔÒÏËÕ, ËÏÔÏÒÁÑ 501åÓÌÉ ×Ù ÐÏÓÍÏÔÒÉÔÅ × ÎÉÖÎÀÀ ÞÁÓÔØ ÜËÒÁÎÁ, ÔÏ ×Ù Õ×ÉÄÉÔÅ ÓÔÒÏËÕ, ËÏÔÏÒÁÑ
503ÎÁÞÉÎÁÅÔÓÑ Ó ÔÉÒÅ É ÎÁÞÉÎÁÅÔÓÑ Ó "--:-- TUTORIAL.ru" ÉÌÉ ÞÅÇÏ-ÔÏ 502ÎÁÞÉÎÁÅÔÓÑ Ó ÔÉÒÅ É ÎÁÞÉÎÁÅÔÓÑ Ó "--:-- TUTORIAL.ru" ÉÌÉ ÞÅÇÏ-ÔÏ
504ÐÏÄÏÂÎÏÇÏ. üÔÁ ÞÁÓÔØ ÜËÒÁÎÁ ×ÓÅÇÄÁ ÐÏËÁÚÙ×ÁÅÔ ÉÍÑ ÆÁÊÌÁ ËÏÔÏÒÙÊ ×Ù 503ÐÏÄÏÂÎÏÇÏ. üÔÁ ÞÁÓÔØ ÜËÒÁÎÁ ×ÓÅÇÄÁ ÐÏËÁÚÙ×ÁÅÔ ÉÍÑ ÆÁÊÌÁ, ËÏÔÏÒÙÊ ×Ù
505ÏÔËÒÙÌÉ. éÔÁË, ÓÅÊÞÁÓ ×Ù ÏÔËÒÙÌÉ ÆÁÊÌ Ó ÉÍÅÎÅÍ "TUTORIAL.ru" ËÏÔÏÒÙÊ 504ÏÔËÒÙÌÉ. éÔÁË, ÓÅÊÞÁÓ ×Ù ÏÔËÒÙÌÉ ÆÁÊÌ Ó ÉÍÅÎÅÍ "TUTORIAL.ru", ËÏÔÏÒÙÊ
506Ñ×ÌÑÅÔÓÑ ×ÁÛÅÊ ÐÅÒÓÏÎÁÌØÎÏÊ ËÏÐÉÅÊ ÕÞÅÂÎÉËÁ Emacs. äÌÑ ÌÀÂÏÇÏ ÆÁÊÌÁ ËÏÔÏÒÙÊ 505Ñ×ÌÑÅÔÓÑ ×ÁÛÅÊ ÐÅÒÓÏÎÁÌØÎÏÊ ËÏÐÉÅÊ ÕÞÅÂÎÉËÁ Emacs. äÌÑ ÌÀÂÏÇÏ ÆÁÊÌÁ, ËÏÔÏÒÙÊ
507×Ù ÏÔËÒÏÅÔÅ, ÉÍÑ ÜÔÏÇÏ ÆÁÊÌÁ ÐÏÑ×ÉÔÓÑ × ÜÔÏÍ ÍÅÓÔÅ. 506×Ù ÏÔËÒÏÅÔÅ, ÉÍÑ ÜÔÏÇÏ ÆÁÊÌÁ ÐÏÑ×ÉÔÓÑ × ÜÔÏÍ ÍÅÓÔÅ.
508 507
509ïÄÎÏÊ ÉÚ ÓÐÅÃÉÁÌØÎÙÈ ×ÅÝÅÊ, ËÏÔÏÒÕÀ ×ÁÍ ÎÕÖÎÏ ÚÎÁÔØ Ï ËÏÍÁÎÄÅ ÏÔËÒÙÔÉÑ ÆÁÊÌÁ 508ïÄÎÏÊ ÉÚ ÓÐÅÃÉÁÌØÎÙÈ ×ÅÝÅÊ, ËÏÔÏÒÕÀ ×ÁÍ ÎÕÖÎÏ ÚÎÁÔØ Ï ËÏÍÁÎÄÅ ÏÔËÒÙÔÉÑ ÆÁÊÌÁ,
510-- ÜÔÏ ÔÏ, ÞÔÏ ×Ù ÄÏÌÖÎÙ ××ÅÓÔÉ ÉÍÑ ÆÁÊÌÁ, ËÏÔÏÒÙÊ ÎÕÖÎÏ ÞÉÔÁÔØ. íÙ ÜÔÏ 509ÜÔÏ ÔÏ, ÞÔÏ ×Ù ÄÏÌÖÎÙ ××ÅÓÔÉ ÉÍÑ ÆÁÊÌÁ, ËÏÔÏÒÙÊ ÎÕÖÎÏ ÞÉÔÁÔØ. íÙ ÜÔÏ
511ÎÁÚÙ×ÁÅÍ ËÏÍÁÎÄÏÊ "ÞÉÔÁÀÝÁÑ ÁÒÇÕÍÅÎÔ Ó ÔÅÒÍÉÎÁÌÁ" (× ÜÔÏÍ ÓÌÕÞÁÅ, ÁÒÇÕÍÅÎÔÏÍ 510ÎÁÚÙ×ÁÅÍ ËÏÍÁÎÄÏÊ, "ÞÉÔÁÀÝÅÊ ÁÒÇÕÍÅÎÔ Ó ÔÅÒÍÉÎÁÌÁ" (× ÜÔÏÍ ÓÌÕÞÁÅ, ÁÒÇÕÍÅÎÔÏÍ
512Ñ×ÌÑÅÔÓÑ ÉÍÑ ÆÁÊÌÁ). ðÏÓÌÅ ××ÏÄÁ ËÏÍÁÎÄÙ 511Ñ×ÌÑÅÔÓÑ ÉÍÑ ÆÁÊÌÁ). ðÏÓÌÅ ××ÏÄÁ ËÏÍÁÎÄÙ
513 512
514 C-x C-f ïÔËÒÙÔØ (ÎÁÊÔÉ) ÆÁÊÌ 513 C-x C-f ïÔËÒÙÔØ (ÎÁÊÔÉ) ÆÁÊÌ
@@ -522,15 +521,15 @@ Emacs ÐÏÐÒÏÓÉÔ ×ÁÓ ××ÅÓÔÉ ÉÍÑ ÆÁÊÌÁ. éÍÑ ÆÁÊÌÁ ×Ù ÎÁÂÅÒÅÔÅ × ÎÉÖÎÅÊ ÓÔÒÏËÅ
522ÏÔÍÅÎÉÔØ ËÏÍÁÎÄÕ ÎÁÖÁ× C-g. 521ÏÔÍÅÎÉÔØ ËÏÍÁÎÄÕ ÎÁÖÁ× C-g.
523 522
524>> îÁÖÍÉÔÅ C-x C-f, ÚÁÔÅÍ ÎÁÖÍÉÔÅ C-g. üÔÏ ÏÔÍÅÎÉÔ ÍÉÎÉ-ÂÕÆÅÒ, É ËÏÍÁÎÄÕ 523>> îÁÖÍÉÔÅ C-x C-f, ÚÁÔÅÍ ÎÁÖÍÉÔÅ C-g. üÔÏ ÏÔÍÅÎÉÔ ÍÉÎÉ-ÂÕÆÅÒ, É ËÏÍÁÎÄÕ
525 C-x C-f ËÏÔÏÒÁÑ ÉÓÐÏÌØÚÏ×ÁÌÁ ÍÉÎÉ-ÂÕÆÅÒ. ÷ ÉÔÏÇÅ, ×Ù ÎÅ ÏÔËÒÙÌÉ ÎÉ ÏÄÎÏÇÏ 524 C-x C-f, ËÏÔÏÒÁÑ ÉÓÐÏÌØÚÏ×ÁÌÁ ÍÉÎÉ-ÂÕÆÅÒ. ÷ ÉÔÏÇÅ, ×Ù ÎÅ ÏÔËÒÙÌÉ ÎÉ ÏÄÎÏÇÏ
526 ÆÁÊÌÁ. 525 ÆÁÊÌÁ.
527 526
528ëÏÇÄÁ ×Ù ÚÁ×ÅÒÛÉÔÅ ××ÏÄ ÉÍÅÎÉ ÆÁÊÌÁ, ÎÁÖÍÉÔÅ <Return>. äÁÌÅÅ ÓÒÁÂÏÔÁÅÔ 527ëÏÇÄÁ ×Ù ÚÁ×ÅÒÛÉÔÅ ××ÏÄ ÉÍÅÎÉ ÆÁÊÌÁ, ÎÁÖÍÉÔÅ <Return>. äÁÌÅÅ ÓÒÁÂÏÔÁÅÔ
529ËÏÍÁÎÄÁ C-x C-f, É ÏÔËÒÏÅÔ ÆÁÊÌ ÕËÁÚÁÎÎÙÊ ×ÁÍÉ. íÉÎÉ-ÂÕÆÅÒ ÉÓÞÅÚÎÅÔ ËÏÇÄÁ 528ËÏÍÁÎÄÁ C-x C-f, ËÏÔÏÒÁÑ ÏÔËÒÏÅÔ ÕËÁÚÁÎÎÙÊ ×ÁÍÉ ÆÁÊÌ. íÉÎÉ-ÂÕÆÅÒ ÉÓÞÅÚÎÅÔ,
530ËÏÍÁÎÄÁ C-x C-f ÚÁ×ÅÒÛÉÔÓÑ. 529ËÏÇÄÁ ËÏÍÁÎÄÁ C-x C-f ÚÁ×ÅÒÛÉÔÓÑ.
531 530
532é ÍÇÎÏ×ÅÎÉÅÍ ÐÏÚÖÅ ÓÏÄÅÒÖÉÍÏÅ ÆÁÊÌÁ ÐÏÑ×ÉÔÓÑ ÎÁ ÜËÒÁÎÅ, É ×Ù ÓÍÏÖÅÔÅ ÅÇÏ 531é ÍÇÎÏ×ÅÎÉÅÍ ÐÏÚÖÅ ÓÏÄÅÒÖÉÍÏÅ ÆÁÊÌÁ ÐÏÑ×ÉÔÓÑ ÎÁ ÜËÒÁÎÅ, É ×Ù ÓÍÏÖÅÔÅ ÅÇÏ
533ÒÅÄÁËÔÉÒÏ×ÁÔØ. ëÏÇÄÁ ×Ù ÚÁËÏÎÞÉÔÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ, ÞÔÏÂÙ ÓÏÈÒÁÎÉÔØ ÉÚÍÅÎÅÎÉÑ 532ÒÅÄÁËÔÉÒÏ×ÁÔØ. ëÏÇÄÁ ×Ù ÚÁËÏÎÞÉÔÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ, ÞÔÏÂÙ ÓÏÈÒÁÎÉÔØ ÉÚÍÅÎÅÎÉÑ,
534ÎÁÂÅÒÉÔÅ ËÏÍÁÎÄÕ 533ÎÁÂÅÒÉÔÅ ËÏÍÁÎÄÕ
535 534
536 C-x C-s óÏÈÒÁÎÉÔØ ÆÁÊÌ 535 C-x C-s óÏÈÒÁÎÉÔØ ÆÁÊÌ
@@ -541,18 +540,18 @@ Emacs ÐÅÒÅÉÍÅÎÕÅÔ ÏÒÉÇÉÎÁÌØÎÙÊ ÆÁÊÌ × ÆÁÊÌ Ó ÎÏ×ÙÍ ÉÍÅÎÅÍ, ÞÔÏÂÙ ÏÎ ÎÅ
541ÉÍÅÎÉ ÆÁÊÌÁ. 540ÉÍÅÎÉ ÆÁÊÌÁ.
542 541
543ëÏÇÄÁ ÓÏÈÒÁÎÅÎÉÅ ÚÁ×ÅÒÛÉÔÓÑ, Emacs ÎÁÐÅÞÁÔÁÅÔ ÉÍÑ ÚÁÐÉÓÁÎÎÏÇÏ ÆÁÊÌÁ. ÷Ù 542ëÏÇÄÁ ÓÏÈÒÁÎÅÎÉÅ ÚÁ×ÅÒÛÉÔÓÑ, Emacs ÎÁÐÅÞÁÔÁÅÔ ÉÍÑ ÚÁÐÉÓÁÎÎÏÇÏ ÆÁÊÌÁ. ÷Ù
544ÄÏÌÖÎÙ ÓÏÈÒÁÎÑÔØ ÉÚÍÅÎÅÎÉÑ ÄÏÓÔÁÔÏÞÎÏ ÞÁÓÔÏ, ÔÁË ÞÔÏÂÙ ÎÅ ÐÏÔÅÒÑÔØ ÍÎÏÇÏ 543ÄÏÌÖÎÙ ÓÏÈÒÁÎÑÔØ ÉÚÍÅÎÅÎÉÑ ÄÏÓÔÁÔÏÞÎÏ ÞÁÓÔÏ, ÞÔÏÂÙ ÎÅ ÐÏÔÅÒÑÔØ ÍÎÏÇÏ
545ÒÁÂÏÔÙ ÅÓÌÉ ×ÄÒÕÇ ÓÉÓÔÅÍÁ ÐÏÇÉÂÎÅÔ. 544ÒÁÂÏÔÙ, ÅÓÌÉ ×ÄÒÕÇ ÓÉÓÔÅÍÁ ÚÁ×ÉÓÎÅÔ.
546 545
547>> îÁÂÅÒÉÔÅ C-x C-s, ÓÏÈÒÁÎÉÔÅ ×ÁÛÕ ËÏÐÉÀ ÕÞÅÂÎÉËÁ. ÷ ÎÉÖÎÅÊ ÓÔÒÏËÅ ÜËÒÁÎÁ 546>> îÁÂÅÒÉÔÅ C-x C-s, ÓÏÈÒÁÎÉÔÅ ×ÁÛÕ ËÏÐÉÀ ÕÞÅÂÎÉËÁ. ÷ ÎÉÖÎÅÊ ÓÔÒÏËÅ ÜËÒÁÎÁ
548 ÄÏÌÖÎÁ ÐÏÑ×ÉÔØÓÑ ÎÁÄÐÉÓØ "Wrote ...TUTORIAL.ru". 547 ÄÏÌÖÎÁ ÐÏÑ×ÉÔØÓÑ ÎÁÄÐÉÓØ "Wrote ...TUTORIAL.ru".
549 548
550úáíåþáîéå: îÁ ÎÅËÏÔÏÒÙÈ ÓÉÓÔÅÍÁÈ, ××ÏÄ C-x C-s ÚÁÂÌÏËÉÒÕÅÔ ÜËÒÁÎ É ×Ù ÎÅ 549úáíåþáîéå: îÁ ÎÅËÏÔÏÒÙÈ ÓÉÓÔÅÍÁÈ, ××ÏÄ C-x C-s ÚÁÂÌÏËÉÒÕÅÔ ÜËÒÁÎ É ×Ù ÎÅ
551Õ×ÉÄÉÔÅ ÐÏÓÌÅÄÕÀÝÅÇÏ ×Ù×ÏÄÁ Emacs`Á. üÔÏ ÏÚÎÁÞÁÅÔ ÞÔÏ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ 550Õ×ÉÄÉÔÅ ÐÏÓÌÅÄÕÀÝÅÇÏ ×Ù×ÏÄÁ Emacs`Á. üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ
552ÉÍÅÅÔ "ÏÓÏÂÅÎÎÏÓÔØ" ÉÍÅÎÕÅÍÕÀ "flow control" ÐÅÒÅÈ×ÁÔÙ×ÁÀÝÕÀ C-s É ÎÅ 551ÉÍÅÅÔ "ÏÓÏÂÅÎÎÏÓÔØ", ÉÍÅÎÕÅÍÕÀ "flow control", ÐÅÒÅÈ×ÁÔÙ×ÁÀÝÕÀ C-s É ÎÅ
553ÐÒÏÐÕÓËÁÀÝÕÀ ÜÔÏÔ ÓÉÍ×ÏÌ Ë Emacs`Õ. äÌÑ ÒÁÚÂÌÏËÉÒÏ×ËÉ ÜËÒÁÎÁ, ÎÁÖÍÉÔÅ C-q. 552ÐÒÏÐÕÓËÁÀÝÕÀ ÜÔÏÔ ÓÉÍ×ÏÌ Ë Emacs`Õ. äÌÑ ÒÁÚÂÌÏËÉÒÏ×ËÉ ÜËÒÁÎÁ, ÎÁÖÍÉÔÅ C-q.
554óÍÏÔÒÉÔÅ ÒÁÚÄÅÌ "Spontaneous Entry to Incremental Search" ÒÕËÏ×ÏÄÓÔ×Á Emacs 553óÍÏÔÒÉÔÅ ÒÁÚÄÅÌ "Spontaneous Entry to Incremental Search" ÒÕËÏ×ÏÄÓÔ×Á Emacs,
555ÞÔÏÂÙ ÕÚÎÁÔØ ËÁË ÂÏÒÏÔØÓÑ Ó ÜÔÏÊ "ÏÓÏÂÅÎÎÏÓÔØÀ". 554ÞÔÏÂÙ ÕÚÎÁÔØ, ËÁË ÂÏÒÏÔØÓÑ Ó ÜÔÏÊ "ÏÓÏÂÅÎÎÏÓÔØÀ".
556 555
557÷Ù ÍÏÖÅÔÅ ÏÔËÒÙÔØ ÓÕÝÅÓÔ×ÕÀÝÉÊ ÆÁÊÌ ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÉÌÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ. ÷Ù 556÷Ù ÍÏÖÅÔÅ ÏÔËÒÙÔØ ÓÕÝÅÓÔ×ÕÀÝÉÊ ÆÁÊÌ ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÉÌÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ. ÷Ù
558ÔÁËÖÅ ÍÏÖÅÔÅ ÎÁÊÔÉ ÆÁÊÌ, ËÏÔÏÒÏÇÏ ÅÝÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. äÒÕÇÉÍÉ ÓÌÏ×ÁÍÉ -- 557ÔÁËÖÅ ÍÏÖÅÔÅ ÎÁÊÔÉ ÆÁÊÌ, ËÏÔÏÒÏÇÏ ÅÝÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. äÒÕÇÉÍÉ ÓÌÏ×ÁÍÉ --
@@ -569,45 +568,45 @@ Emacs ÐÅÒÅÉÍÅÎÕÅÔ ÏÒÉÇÉÎÁÌØÎÙÊ ÆÁÊÌ × ÆÁÊÌ Ó ÎÏ×ÙÍ ÉÍÅÎÅÍ, ÞÔÏÂÙ ÏÎ ÎÅ
569×ÎÕÔÒÉ Emacs. ÷Ù ÍÏÖÅÔÅ ÐÅÒÅËÌÀÞÉÔØÓÑ ÎÁÚÁÄ, ÎÁÊÄÑ ÅÇÏ ÓÎÏ×Á C-x C-f. üÔÏ 568×ÎÕÔÒÉ Emacs. ÷Ù ÍÏÖÅÔÅ ÐÅÒÅËÌÀÞÉÔØÓÑ ÎÁÚÁÄ, ÎÁÊÄÑ ÅÇÏ ÓÎÏ×Á C-x C-f. üÔÏ
570ÓÐÏÓÏ ÚÁÇÒÕÚÉÔØ ÎÅÓËÏÌØËÏ ÆÁÊÌÏ× × Emacs. 569ÓÐÏÓÏ ÚÁÇÒÕÚÉÔØ ÎÅÓËÏÌØËÏ ÆÁÊÌÏ× × Emacs.
571 570
572>> óÏÚÄÁÊÔÅ ÆÁÊÌ Ó ÉÍÅÎÅÍ "foo" ÎÁÂÉÒÁÑ C-x C-f foo <Return>. 571>> óÏÚÄÁÊÔÅ ÆÁÊÌ Ó ÉÍÅÎÅÍ "foo", ÎÁÂÉÒÁÑ C-x C-f foo <Return>.
573 ÷ÓÔÁרÔÅ ËÁËÏÊ-ÎÉÂÕÄØ ÔÅËÓÔ, ÏÔÒÅÄÁËÔÉÒÕÊÔÅ ÅÇÏ, É ÓÏÈÒÁÎÉÔÅ "foo" 572 ÷ÓÔÁרÔÅ ËÁËÏÊ-ÎÉÂÕÄØ ÔÅËÓÔ, ÏÔÒÅÄÁËÔÉÒÕÊÔÅ ÅÇÏ, É ÓÏÈÒÁÎÉÔÅ "foo",
574 ÎÁÂÒÁ× C-x C-s. 573 ÎÁÂÒÁ× C-x C-s.
575 îÁËÏÎÅÃ, ÎÁÂÅÒÉÔÅ C-x C-f TUTORIAL.ru <Return> 574 îÁËÏÎÅÃ, ÎÁÂÅÒÉÔÅ C-x C-f TUTORIAL.ru <Return>,
576 ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÎÁÚÁÄ Ë ÕÞÅÂÎÉËÕ. 575 ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ ÎÁÚÁÄ Ë ÕÞÅÂÎÉËÕ.
577 576
578Emacs ÓÏÈÒÁÎÑÅÔ ÔÅËÓÔ ËÁÖÄÏÇÏ ÆÁÊÌÁ ×ÎÕÔÒÉ × ÏÂßÅËÔÅ ÎÁÚÙ×ÁÅÍÙÊ "ÂÕÆÅÒ" 577Emacs ÓÏÈÒÁÎÑÅÔ ÔÅËÓÔ ËÁÖÄÏÇÏ ÆÁÊÌÁ ×ÎÕÔÒÉ × ÏÂßÅËÔÅ, ÎÁÚÙ×ÁÅÍÏÍ "ÂÕÆÅÒ"
579("buffer"). ïÔËÒÙÔÉÅ ÆÁÊÌÁ ÓÏÚÄÁÅÔ ÎÏ×ÙÊ ÂÕÆÅÒ ×ÎÕÔÒÉ Emacs. ÞÔÏÂÙ Õ×ÉÄÅÔØ 578("buffer"). ïÔËÒÙÔÉÅ ÆÁÊÌÁ ÓÏÚÄÁÅÔ ÎÏ×ÙÊ ÂÕÆÅÒ ×ÎÕÔÒÉ Emacs. þÔÏÂÙ Õ×ÉÄÅÔØ
580ÓÐÉÓÏË ÂÕÆÅÒÏ× ÓÏÚÄÁÎÎÙÈ × ÔÅËÕÝÅÍ Emacs ÎÁÂÅÒÉÔÅ 579ÓÐÉÓÏË ÂÕÆÅÒÏ×, ÓÏÚÄÁÎÎÙÈ × ÔÅËÕÝÅÍ Emacs, ÎÁÂÅÒÉÔÅ
581 580
582 C-x C-b óÐÉÓÏË ÂÕÆÅÒÏ× 581 C-x C-b óÐÉÓÏË ÂÕÆÅÒÏ×
583 582
584>> ðÏÐÒÏÂÕÊÔÅ C-x C-b ÓÅÊÞÁÓ. 583>> ðÏÐÒÏÂÕÊÔÅ C-x C-b ÓÅÊÞÁÓ.
585 584
586íÙ ×ÉÄÉÍ ÞÔÏ ËÁÖÄÙÊ ÂÕÆÅÒ ÉÍÅÅÔ ÉÍÑ, É ÍÏÖÅÔ ÉÍÅÔØ ÉÍÑ ÆÁÊÌÁ, ÓÏÄÅÒÖÉÍÏÅ 585íÙ ×ÉÄÉÍ, ÞÔÏ ËÁÖÄÙÊ ÂÕÆÅÒ ÉÍÅÅÔ ÉÍÑ, É ÍÏÖÅÔ ÉÍÅÔØ ÉÍÑ ÆÁÊÌÁ, ÓÏÄÅÒÖÉÍÏÅ
587ËÏÔÏÒÏÇÏ × ÎÅÍ ÈÒÁÎÉÔÓÑ. îÅËÏÔÏÒÙÅ ÂÕÆÅÒÁ ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÔ ÆÁÊÌÁÍ. îÁÐÒÉÍÅÒ, 586ËÏÔÏÒÏÇÏ × ÎÅÍ ÈÒÁÎÉÔÓÑ. îÅËÏÔÏÒÙÅ ÂÕÆÅÒÁ ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÔ ÆÁÊÌÁÍ. îÁÐÒÉÍÅÒ,
588ÂÕÆÅÒ ÎÁÚ×ÁÎÎÙÊ "*Buffer List*" ÎÅ ÓÏÄÅÒÖÉÔ ÎÉËÁËÏÇÏ ÆÁÊÌÁ. ÷ ÜÔÏÍ ÂÕÆÅÒÅ 587ÂÕÆÅÒ, ÎÁÚ×ÁÎÎÙÊ "*Buffer List*", ÎÅ ÓÏÄÅÒÖÉÔ ÎÉËÁËÏÇÏ ÆÁÊÌÁ. ÷ ÜÔÏÍ ÂÕÆÅÒÅ
589ÓÏÄÅÒÖÉÔÓÑ ÓÐÉÓÏË ÂÕÆÅÒÏ×, ËÏÔÏÒÙÊ ÂÙÌ ÓÏÚÄÁÎ ËÏÍÁÎÄÏÊ C-x C-b. ìàâïê ÔÅËÓÔ 588ÓÏÄÅÒÖÉÔÓÑ ÓÐÉÓÏË ÂÕÆÅÒÏ×, ËÏÔÏÒÙÊ ÂÙÌ ÓÏÚÄÁÎ ËÏÍÁÎÄÏÊ C-x C-b. ìàâïê ÔÅËÓÔ,
590ËÏÔÏÒÙÊ ×É ×ÉÄÉÔÅ × ÏËÎÅ Emacs ×ÓÅÇÄÁ Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ ËÁËÏÇÏ-ÌÉÂÏ ÂÕÆÅÒÁ. 589ËÏÔÏÒÙÊ ×Ù ×ÉÄÉÔÅ × ÏËÎÅ Emacs, ×ÓÅÇÄÁ Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ ËÁËÏÇÏ-ÌÉÂÏ ÂÕÆÅÒÁ.
591 590
592>> îÁÂÅÒÉÔÅ C-x 1 ÞÔÏÂÙ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ÓÐÉÓËÁ ÂÕÆÅÒÏ×. 591>> îÁÂÅÒÉÔÅ C-x 1, ÞÔÏÂÙ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ÓÐÉÓËÁ ÂÕÆÅÒÏ×.
593 592
594åÓÌÉ ×Ù ÉÚÍÅÎÑÅÔÅ ÔÅËÓÔ ÏÄÎÏÇÏ ÆÁÊÌÁ, ÐÏÔÏÍ ÏÔËÒÙ×ÁÅÔÅ ÄÒÕÇÏÊ, ÔÏ ÐÅÒ×ÙÊ 593åÓÌÉ ×Ù ÉÚÍÅÎÑÅÔÅ ÔÅËÓÔ ÏÄÎÏÇÏ ÆÁÊÌÁ, ÐÏÔÏÍ ÏÔËÒÙ×ÁÅÔÅ ÄÒÕÇÏÊ, ÔÏ ÐÅÒ×ÙÊ
595ÏÓÔÁÅÔÓÑ ÎÅ ÓÏÈÒÁÎÅÎÎÙÍ. éÚÍÅÎÅÎÉÑ ÏÓÔÁÎÕÔÓÑ ×ÎÕÔÒÉ Emacs, × ÆÁÊÌÏ×ÏÍ 594ÏÓÔÁÅÔÓÑ ÎÅÓÏÈÒÁÎÅÎÎÙÍ. éÚÍÅÎÅÎÉÑ ÏÓÔÁÎÕÔÓÑ ×ÎÕÔÒÉ Emacs, × ÆÁÊÌÏ×ÏÍ
596ÂÕÆÅÒÅ. óÏÚÄÁÎÉÅ ÉÌÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ ÓÌÅÄÕÀÝÅÇÏ ÆÁÊÌÏ×ÏÇÏ ÂÕÆÅÒÁ ÎÅ 595ÂÕÆÅÒÅ. óÏÚÄÁÎÉÅ ÉÌÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ ÓÌÅÄÕÀÝÅÇÏ ÆÁÊÌÏ×ÏÇÏ ÂÕÆÅÒÁ ÎÅ
597ÓËÁÚÙ×ÁÅÔÓÑ ÎÁ ÐÅÒ×ÏÍ ÂÕÆÅÒÅ. üÔÏ ÏÞÅÎØ ÕÄÏÂÎÏ, ÎÏ ÉÍÅÊÔÅ × ×ÉÄÕ, ÞÔÏ ×ÁÍ 596ÓËÁÚÙ×ÁÅÔÓÑ ÎÁ ÐÅÒ×ÏÍ ÂÕÆÅÒÅ. üÔÏ ÏÞÅÎØ ÕÄÏÂÎÏ, ÎÏ ÉÍÅÊÔÅ × ×ÉÄÕ, ÞÔÏ ×ÁÍ
598ÎÕÖÎÏ ÉÍÅÔØ ÕÄÏÂÎÙÊ ÓÐÏÓÏ ÓÏÈÒÁÎÉÔØ ÐÅÒ×ÙÊ ÆÁÊÌÏ×ÙÊ ÂÕÆÅÒ. âÙÌÏ ÂÙ 597ÎÕÖÎÏ ÉÍÅÔØ ÕÄÏÂÎÙÊ ÓÐÏÓÏ ÓÏÈÒÁÎÉÔØ ÐÅÒ×ÙÊ ÆÁÊÌÏ×ÙÊ ÂÕÆÅÒ. âÙÌÏ ÂÙ
599ÎÅÐÒÉÑÔÎÏ ËÁÖÄÙÊ ÒÁÚ ×ÏÚ×ÒÁÝÁÔØÓÑ ÎÁÚÁÄ Ó ÐÏÍÏÝØÀ C-x C-f É ÐÏÔÏÍ 598ÎÅÐÒÉÑÔÎÏ ËÁÖÄÙÊ ÒÁÚ ×ÏÚ×ÒÁÝÁÔØÓÑ ÎÁÚÁÄ Ó ÐÏÍÏÝØÀ C-x C-f É ÐÏÔÏÍ
600ÉÓÐÏÌØÚÏ×ÁÔØ C-x C-s. ðÏÜÔÏÍÕ ÓÕÝÅÓÔ×ÕÅÔ ËÏÍÁÎÄÁ 599ÉÓÐÏÌØÚÏ×ÁÔØ C-x C-s. ðÏÜÔÏÍÕ ÓÕÝÅÓÔ×ÕÅÔ ËÏÍÁÎÄÁ
601 600
602 C-x s óÏÈÒÁÎÉÔØ ÎÅËÏÔÏÒÙÅ ÂÕÆÅÒÁ. (Save some buffers) 601 C-x s óÏÈÒÁÎÉÔØ ÎÅËÏÔÏÒÙÅ ÂÕÆÅÒÁ. (Save some buffers)
603 602
604C-x s ÓÐÒÁÛÉ×ÁÅÔ ×ÁÓ Ï ËÁÖÄÏÍ ÂÕÆÅÒÅ, ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÎÅ ÓÏÈÒÁÎÅÎÎÙÅ 603C-x s ÓÐÒÁÛÉ×ÁÅÔ ×ÁÓ Ï ËÁÖÄÏÍ ÂÕÆÅÒÅ, ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÎÅÓÏÈÒÁÎÅÎÎÙÅ
605ÉÚÍÅÎÅÎÉÑ. äÌÑ ËÁÖÄÏÇÏ ÔÁËÏÇÏ ÂÕÆÅÒÁ Õ ×ÁÓ ÓÐÒÁÛÉ×ÁÀÔ ÓÏÈÒÁÎÑÔØ ÉÌÉ ÎÅ 604ÉÚÍÅÎÅÎÉÑ. äÌÑ ËÁÖÄÏÇÏ ÔÁËÏÇÏ ÂÕÆÅÒÁ Õ ×ÁÓ ÓÐÒÁÛÉ×ÁÀÔ: ÓÏÈÒÁÎÑÔØ ÉÌÉ ÎÅ
606ÓÏÈÒÁÎÑÔØ ÉÚÍÅÎÅÎÉÑ. 605ÓÏÈÒÁÎÑÔØ ÉÚÍÅÎÅÎÉÑ.
607 606
608>> ÷ÓÔÁרÔÅ ÓÔÒÏËÕ ÔÅËÓÔÁ, ÐÏÔÏÍ ÎÁÂÅÒÉÔÅ C-x s. 607>> ÷ÓÔÁרÔÅ ÓÔÒÏËÕ ÔÅËÓÔÁ, ÐÏÔÏÍ ÎÁÂÅÒÉÔÅ C-x s.
609 õ ×ÁÓ ÄÏÌÖÎÙ ÓÐÒÏÓÉÔØ ÓÏÈÒÁÎÑÔØ ÌÉ ÂÕÆÅÒ Ó ÉÍÅÎÅÍ TUTORIAL.ru. 608 õ ×ÁÓ ÄÏÌÖÎÙ ÓÐÒÏÓÉÔØ, ÓÏÈÒÁÎÑÔØ ÌÉ ÂÕÆÅÒ Ó ÉÍÅÎÅÍ TUTORIAL.ru.
610 ïÔ×ÅÔØÔÅ ÎÁ ×ÏÐÒÏÓ ÄÁ ÎÁÂÒÁ× "y". 609 ïÔ×ÅÔØÔÅ ÎÁ ×ÏÐÒÏÓ ÄÁ, ÎÁÂÒÁ× "y".
611 610
612 611
613* òáóûéòåîîùê îáâïò ëïíáîä 612* òáóûéòåîîùê îáâïò ëïíáîä
@@ -624,28 +623,28 @@ C-x s ÓÐÒÁÛÉ×ÁÅÔ ×ÁÓ Ï ËÁÖÄÏÍ ÂÕÆÅÒÅ, ËÏÔÏÒÙÊ ÓÏÄÅÒÖÉÔ ÎÅ ÓÏÈÒÁÎÅÎÎÙÅ
624 623
625üÔÏ ËÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÏÂÙÞÎÏ ÉÓÐÏÌØÚÕÀÔÓÑ, ÎÏ ×Ù ÕÖÅ ×ÙÕÞÉÌÉ ÎÅËÏÔÏÒÙÅ ÉÚ 624üÔÏ ËÏÍÁÎÄÙ, ËÏÔÏÒÙÅ ÏÂÙÞÎÏ ÉÓÐÏÌØÚÕÀÔÓÑ, ÎÏ ×Ù ÕÖÅ ×ÙÕÞÉÌÉ ÎÅËÏÔÏÒÙÅ ÉÚ
626ÎÉÈ. ÷Ù ÕÖÅ ×ÉÄÅÌÉ: ËÏÍÁÎÄÙ ÒÁÂÏÔÙ Ó ÆÁÊÌÁÍÉ C-x C-f -- ÏÔËÒÙÔØ, É C-x C-s 625ÎÉÈ. ÷Ù ÕÖÅ ×ÉÄÅÌÉ: ËÏÍÁÎÄÙ ÒÁÂÏÔÙ Ó ÆÁÊÌÁÍÉ C-x C-f -- ÏÔËÒÙÔØ, É C-x C-s
627-- ÓÏÈÒÁÎÉÔØ. äÒÕÇÏÊ ÐÒÉÍÅÒ - ÚÁ×ÅÒÛÅÎÉÑ ÒÁÂÏÔÙ Ó Emacs -- ÜÔÏ ËÏÍÁÎÄÁ C-x 626-- ÓÏÈÒÁÎÉÔØ. äÒÕÇÏÊ ÐÒÉÍÅÒ - ÚÁ×ÅÒÛÅÎÉÑ ÒÁÂÏÔÙ Ó Emacs -- ÜÔÏ ËÏÍÁÎÄÁ C-x
628C-c. (îÅ ×ÏÌÎÕÊÔÅÓØ Ï ÔÏÍ, ÞÔÏ ×Ù ÐÏÔÅÒÑÅÔÅ ÓÄÅÌÁÎÎÙÅ ÉÚÍÅÎÅÎÉÑ, C-x C-c 627C-c. (îÅ ×ÏÌÎÕÊÔÅÓØ Ï ÔÏÍ, ÞÔÏ ×Ù ÐÏÔÅÒÑÅÔÅ ÓÄÅÌÁÎÎÙÅ ÉÚÍÅÎÅÎÉÑ, C-x C-c
629ÐÒÅÄÌÁÇÁÅÔ ÓÏÈÒÁÎÉÔØ ÉÚÍÅÎÅÎÉÑ ÐÅÒÅÄ ÔÅÍ ËÁË ÕÄÁÌÉÔ ÂÕÆÅÒ Emacs.) 628ÐÒÅÄÌÁÇÁÅÔ ÓÏÈÒÁÎÉÔØ ÉÚÍÅÎÅÎÉÑ ÐÅÒÅÄ ÔÅÍ, ËÁË ÕÄÁÌÉÔ ÂÕÆÅÒ Emacs.)
630 629
631C-z ÜÔÏ ËÏÍÁÎÄÁ *×ÒÅÍÅÎÎÏÇÏ* ×ÙÈÏÄÁ ÉÚ Emacs -- ×Ù ÍÏÖÅÔÅ ×ÅÒÎÕÔØÓÑ × ÔÕÖÅ 630C-z ÜÔÏ ËÏÍÁÎÄÁ *×ÒÅÍÅÎÎÏÇÏ* ×ÙÈÏÄÁ ÉÚ Emacs -- ×Ù ÍÏÖÅÔÅ ×ÅÒÎÕÔØÓÑ × ÔÕ ÖÅ
632ÓÅÓÓÉÀ Emacs ÐÏÓÌÅ. 631ÓÅÓÓÉÀ Emacs ÐÏÚÖÅ.
633 632
634îÁ ÓÉÓÔÅÍÁÈ, ËÏÔÏÒÙÅ ÄÏÐÕÓËÁÀÔ ÜÔÏÇÏ, C-z "ÐÒÉÏÓÔÁÎÁ×ÌÉ×ÁÀÔ" ("suspends") 633îÁ ÓÉÓÔÅÍÁÈ, ËÏÔÏÒÙÅ ÄÏÐÕÓËÁÀÔ ÜÔÏ, C-z "ÐÒÉÏÓÔÁÎÁ×ÌÉ×ÁÀÔ" ("suspends")
635Emacs; ÷ÏÚ×ÒÁÝÁÀÔ × ÏÂÏÌÏÞËÕ (shell), ÎÏ ÎÅ ÚÁËÒÙ×ÁÀÔ Emacs. ÷ ÂÏÌØÛÉÎÓÔ×Å 634Emacs; ×ÏÚ×ÒÁÝÁÀÔ × ÏÂÏÌÏÞËÕ (shell), ÎÏ ÎÅ ÚÁËÒÙ×ÁÀÔ Emacs. ÷ ÂÏÌØÛÉÎÓÔ×Å
636ÏÂÏÌÏÞÅË ×Ù ÍÏÖÅÔÅ ÐÒÏÄÏÌÖÉÔØ ÒÁÂÏÔÕ × Emacs ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ `fg' ÉÌÉ 635ÏÂÏÌÏÞÅË ×Ù ÍÏÖÅÔÅ ÐÒÏÄÏÌÖÉÔØ ÒÁÂÏÔÕ × Emacs, ÉÓÐÏÌØÚÕÑ ËÏÍÁÎÄÕ `fg' ÉÌÉ
637`%emacs'. 636`%emacs'.
638 637
639÷ ÓÉÓÔÅÍÁÈ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ ÐÒÉÏÓÔÁÎÏ×ËÕ ÐÒÏÃÅÓÓÏ×, C-z ÓÏÚÄÁÅÔ ÎÏ×ÕÀ 638÷ ÓÉÓÔÅÍÁÈ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ ÐÒÉÏÓÔÁÎÏ×ËÕ ÐÒÏÃÅÓÓÏ×, C-z ÓÏÚÄÁÅÔ ÎÏ×ÕÀ
640ÏÂÏÌÏÞËÕ (subshell), ÚÁÐÕÝÅÎÎÕÀ ÉÚ-ÐÏÄ Emacs, ÞÔÏÂÙ ÄÁÔØ ×ÁÍ ×ÏÚÍÏÖÎÏÓÔØ 639ÏÂÏÌÏÞËÕ (subshell), ÚÁÐÕÝÅÎÎÕÀ ÉÚ-ÐÏÄ Emacs, ÞÔÏÂÙ ÄÁÔØ ×ÁÍ ×ÏÚÍÏÖÎÏÓÔØ
641×ÙÐÏÌÎÉÔØ ÄÒÕÇÕÀ ÐÒÏÇÒÁÍÍÕ, É ÐÏÔÏÍ ×ÅÒÎÕÔØÓÑ × Emacs; üÔÏ ÎÅ ÎÁÓÔÏÑÝÉÊ 640×ÙÐÏÌÎÉÔØ ÄÒÕÇÕÀ ÐÒÏÇÒÁÍÍÕ, É ÐÏÔÏÍ ×ÅÒÎÕÔØÓÑ × Emacs; ÜÔÏ ÎÅ ÎÁÓÔÏÑÝÉÊ
642×ÙÈÏÄ ÉÚ Emacs. ÷ ÜÔÏÍ ÓÌÕÞÁÅ, ËÏÍÁÎÄÁ `exit' ×ÅÒÎÅÔ ×ÁÓ × Emacs ÉÚ 641×ÙÈÏÄ ÉÚ Emacs. ÷ ÜÔÏÍ ÓÌÕÞÁÅ, ËÏÍÁÎÄÁ `exit' ×ÅÒÎÅÔ ×ÁÓ × Emacs ÉÚ
643ÏÂÏÌÏÞËÉ. 642ÏÂÏÌÏÞËÉ.
644 643
645éÓÐÏÌØÚÕÊÔÅ C-x C-c ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ×ÙÊÔÉ (log out) ÉÚ ÓÉÓÔÅÍÙ. üÔÏ ÔÁËÖÅ 644éÓÐÏÌØÚÕÊÔÅ C-x C-c, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ×ÙÊÔÉ (log out) ÉÚ ÓÉÓÔÅÍÙ. üÔÏ ÔÁËÖÅ
646ÉÓÐÏÌØÚÕÅÔÓÑ ÞÔÏÂÙ ×ÙÊÔÉ ÉÚ Emacs ×ÙÚ×ÁÎÎÏÇÏ ÉÚ ÐÏÞÔÏ×ÏÊ ÐÒÏÇÒÁÍÍÙ, ÉÌÉ ÄÒÕÇÏÊ 645ÉÓÐÏÌØÚÕÅÔÓÑ, ÞÔÏÂÙ ×ÙÊÔÉ ÉÚ Emacs, ×ÙÚ×ÁÎÎÏÇÏ ÉÚ ÐÏÞÔÏ×ÏÊ ÐÒÏÇÒÁÍÍÙ, ÉÌÉ ÄÒÕÇÏÊ
647ÕÔÉÌÉÔÙ, ËÏÔÏÒÁÑ ÍÏÖÅÔ ÎÅ ÚÎÁÅÔ ËÁË ÓÐÒÁ×ÉÔØÓÑ Ó ÐÒÉÏÓÔÁÎÏ×ÌÅÎÎÙÍ Emacs. 646ÕÔÉÌÉÔÙ, ËÏÔÏÒÁÑ ÍÏÖÅÔ ÎÅ ÚÎÁÔØ, ËÁË ÓÐÒÁ×ÉÔØÓÑ Ó ÐÒÉÏÓÔÁÎÏ×ÌÅÎÎÙÍ Emacs.
648ïÂÙÞÎÏ, ÅÓÌÉ ×Ù ÎÅ ×ÙÈÏÄÉÔÅ ÉÚ ÓÉÓÔÅÍÙ, ÌÕÞÛÅ ÐÒÉÏÓÔÁÎÏ×ÉÔØ Emacs 647ïÂÙÞÎÏ, ÅÓÌÉ ×Ù ÎÅ ×ÙÈÏÄÉÔÅ ÉÚ ÓÉÓÔÅÍÙ, ÌÕÞÛÅ ÐÒÉÏÓÔÁÎÏ×ÉÔØ Emacs,
649ÉÓÐÏÌØÚÕÑ C-z ×ÍÅÓÔÏ ×ÙÈÏÄÁ ÉÈ ÎÅÇÏ. 648ÉÓÐÏÌØÚÕÑ C-z ×ÍÅÓÔÏ ×ÙÈÏÄÁ ÉÈ ÎÅÇÏ.
650 649
651óÕÝÅÓÔ×ÕÅÔ ÏÞÅÎØ ÍÎÏÇÏ C-x ËÏÍÁÎÄ. üÔÉ ×Ù ÕÖÅ ×ÙÕÞÉÌÉ: 650óÕÝÅÓÔ×ÕÅÔ ÏÞÅÎØ ÍÎÏÇÏ C-x ËÏÍÁÎÄ. üÔÉ ×Ù ÕÖÅ ×ÙÕÞÉÌÉ:
@@ -661,18 +660,18 @@ Emacs; ÷ÏÚ×ÒÁÝÁÀÔ × ÏÂÏÌÏÞËÕ (shell), ÎÏ ÎÅ ÚÁËÒÙ×ÁÀÔ Emacs. ÷ ÂÏÌØÛÉÎÓÔ×Å
661ÔÏÌØËÏ × ÏÐÒÅÄÅÌÅÎÎÙÈ ÒÅÖÉÍÁÈ. ÷ ËÁÞÅÓÔ×Å ÐÒÉÍÅÒÁ ËÏÍÁÎÄÁ ÚÁÍÅÎÁ ÓÔÒÏËÉ, 660ÔÏÌØËÏ × ÏÐÒÅÄÅÌÅÎÎÙÈ ÒÅÖÉÍÁÈ. ÷ ËÁÞÅÓÔ×Å ÐÒÉÍÅÒÁ ËÏÍÁÎÄÁ ÚÁÍÅÎÁ ÓÔÒÏËÉ,
662ËÏÔÏÒÁÑ ÚÁÍÅÎÑÅÔ ÏÄÎÕ ÓÔÒÏËÕ ÎÁ ÄÒÕÇÕÀ ×Ï ×ÓÅÍ ÔÅËÓÔÅ. ëÏÇÄÁ ×Ù ÎÁÂÅÒÅÔÅ 661ËÏÔÏÒÁÑ ÚÁÍÅÎÑÅÔ ÏÄÎÕ ÓÔÒÏËÕ ÎÁ ÄÒÕÇÕÀ ×Ï ×ÓÅÍ ÔÅËÓÔÅ. ëÏÇÄÁ ×Ù ÎÁÂÅÒÅÔÅ
663M-x, Emacs ÐÒÅÄÌÏÖÉÔ ×ÁÍ ××ÅÓÔÉ ÉÍÑ ËÏÍÁÎÄÙ × ÎÉÖÎÅÊ ÓÔÒÏËÅ ÜËÒÁÎÁ; × ÎÁÛÅÍ 662M-x, Emacs ÐÒÅÄÌÏÖÉÔ ×ÁÍ ××ÅÓÔÉ ÉÍÑ ËÏÍÁÎÄÙ × ÎÉÖÎÅÊ ÓÔÒÏËÅ ÜËÒÁÎÁ; × ÎÁÛÅÍ
664ÓÌÕÞÁÅ, "replace-string". ôÏÌØËÏ ÎÁÂÅÒÉÔÅ "repl s<TAB>" É Emacs ÄÏÐÏÌÎÉÔ 663ÓÌÕÞÁÅ, "replace-string". ôÏÌØËÏ ÎÁÂÅÒÉÔÅ "repl s<TAB>", É Emacs ÄÏÐÏÌÎÉÔ
665ÉÍÑ. (<TAB> -- ÜÔÏ ËÌÁ×ÉÛÁ ÔÁÂÕÌÑÃÉÉ, ÏÂÙÞÎÏ ÎÁÈÏÄÑÝÁÑÓÑ ×ÙÛÅ ËÌÁ×ÉÛ 664ÉÍÑ. (<TAB> -- ÜÔÏ ËÌÁ×ÉÛÁ ÔÁÂÕÌÑÃÉÉ, ÏÂÙÞÎÏ ÎÁÈÏÄÑÝÁÑÓÑ ×ÙÛÅ ËÌÁ×ÉÛ
666CapsLock ÉÌÉ Shift ÓÌÅ×Á ÎÁ ËÌÁ×ÉÁÔÕÒÅ). úÁ×ÅÒÛÉÔÅ ÉÍÑ ××ÏÄÏÍ <Return>. 665CapsLock ÉÌÉ Shift ÓÌÅ×Á ÎÁ ËÌÁ×ÉÁÔÕÒÅ). úÁ×ÅÒÛÉÔÅ ÉÍÑ ××ÏÄÏÍ <Return>.
667 666
668ëÏÍÁÎÄÁ ÚÁÍÅÎÙ ÓÔÒÏËÉ (replace-string) ÔÒÅÂÕÅÔ Ä×Á ÁÒÇÕÍÅÎÔÁ -- ÓÔÒÏËÕ 667ëÏÍÁÎÄÁ ÚÁÍÅÎÙ ÓÔÒÏËÉ (replace-string) ÔÒÅÂÕÅÔ Ä×Á ÁÒÇÕÍÅÎÔÁ -- ÓÔÒÏËÕ,
669ËÏÔÏÒÁÑ ÂÕÄÅÔ ÚÁÍÅÎÅÎÁ, É ÓÔÒÏËÁ ÎÁ ËÏÔÏÒÕÀ ÎÕÖÎÏ ÚÁÍÅÎÉÔØ. ÷Ù ÄÏÌÖÎÙ 668ËÏÔÏÒÁÑ ÂÕÄÅÔ ÚÁÍÅÎÅÎÁ, É ÓÔÒÏËÕ, ÎÁ ËÏÔÏÒÕÀ ÎÕÖÎÏ ÚÁÍÅÎÉÔØ. ÷Ù ÄÏÌÖÎÙ
670ÚÁ×ÅÒÛÁÔØ ËÁÖÄÙÊ ÁÒÇÕÍÅÎÔ ××ÏÄÏÍ <Return>. 669ÚÁ×ÅÒÛÁÔØ ËÁÖÄÙÊ ÁÒÇÕÍÅÎÔ ××ÏÄÏÍ <Return>.
671 670
672>> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ Ä×Å ÐÕÓÔÙÅ ÓÔÒÏËÉ ÎÉÖÅ ÜÔÏÊ. 671>> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ Ä×Å ÐÕÓÔÙÅ ÓÔÒÏËÉ ÎÉÖÅ ÜÔÏÊ.
673 îÁÂÅÒÉÔÅ M-x repl s<Return>changed<Return>altered<Return>. 672 îÁÂÅÒÉÔÅ M-x repl s<Return>changed<Return>altered<Return>.
674 673
675 úÁÍÅÔØÔÅ ËÁË ÜÔÁ ÓÔÒÏËÁ ÉÚÍÅÎÉÔÓÑ: ×Ù ÚÁÍÅÎÉÔÅ ÓÌÏ×Ï c-h-a-n-g-e-d 674 úÁÍÅÔØÔÅ, ËÁË ÜÔÁ ÓÔÒÏËÁ ÉÚÍÅÎÉÔÓÑ: ×Ù ÚÁÍÅÎÉÔÅ ÓÌÏ×Ï c-h-a-n-g-e-d
676 ÓÌÏ×ÏÍ "altered" ×ÅÚÄÅ, ÇÄÅ ÏÎÏ ×ÓÔÒÅÔÉÔÓÑ, ÎÉÖÅ ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ. 675 ÓÌÏ×ÏÍ "altered" ×ÅÚÄÅ, ÇÄÅ ÏÎÏ ×ÓÔÒÅÔÉÔÓÑ, ÎÉÖÅ ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ.
677 676
678 677
@@ -680,40 +679,40 @@ CapsLock ÉÌÉ Shift ÓÌÅ×Á ÎÁ ËÌÁ×ÉÁÔÕÒÅ). úÁ×ÅÒÛÉÔÅ ÉÍÑ ××ÏÄÏÍ <Return>.
680---------------- 679----------------
681 680
682ëÏÇÄÁ ×Ù ÉÚÍÅÎÑÅÔÅ ÆÁÊÌ, ÎÏ ÎÅ ÓÏÈÒÁÎÑÅÔÅ ÅÇÏ, ÔÏ × ÓÌÕÞÁÅ ËÒÁÈÁ ÓÉÓÔÅÍÙ 681ëÏÇÄÁ ×Ù ÉÚÍÅÎÑÅÔÅ ÆÁÊÌ, ÎÏ ÎÅ ÓÏÈÒÁÎÑÅÔÅ ÅÇÏ, ÔÏ × ÓÌÕÞÁÅ ËÒÁÈÁ ÓÉÓÔÅÍÙ
683×Ù ÍÏÖÅÔÅ ÐÏÔÅÒÑÔØ ÉÎÆÏÒÍÁÃÉÀ. ÞÔÏÂÙ ÚÁÝÉÔÉÔØ ×ÁÓ ÏÔ ÜÔÏÇÏ, Emacs 682×Ù ÍÏÖÅÔÅ ÐÏÔÅÒÑÔØ ÉÎÆÏÒÍÁÃÉÀ. þÔÏÂÙ ÚÁÝÉÔÉÔØ ×ÁÓ ÏÔ ÜÔÏÇÏ, Emacs
684ÐÅÒÉÏÄÉÞÅÓËÉ ÓÏÈÒÁÎÑÅÔ ËÁÖÄÙÊ ÆÁÊÌ, ËÏÔÏÒÙÊ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ. á×ÔÏÓÏÈÒÁÎÅÎÉÅ 683ÐÅÒÉÏÄÉÞÅÓËÉ ÓÏÈÒÁÎÑÅÔ ËÁÖÄÙÊ ÆÁÊÌ, ËÏÔÏÒÙÊ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ. á×ÔÏÓÏÈÒÁÎÅÎÉÅ
685ÐÒÏÉÓÈÏÄÉÔ × ÆÁÊÌ, ÉÍÑ ËÏÔÏÒÏÇÏ ÔÁËÏÅ ÖÅ, ÎÏ ÎÁÞÉÎÁÅÔÓÑ É ÚÁËÁÎÞÉ×ÁÅÔÓÑ 684ÐÒÏÉÓÈÏÄÉÔ × ÆÁÊÌ, ÉÍÑ ËÏÔÏÒÏÇÏ ÔÁËÏÅ ÖÅ, ÎÏ ÎÁÞÉÎÁÅÔÓÑ É ÚÁËÁÎÞÉ×ÁÅÔÓÑ
686ÓÉÍ×ÏÌÏÍ "#"; ÎÁÐÒÉÍÅÒ, ÅÓÌÉ ×ÁÛ ÆÁÊÌ ÎÁÚÙ×ÁÅÔÓÑ "hello.c", ÔÏ 685ÓÉÍ×ÏÌÏÍ "#"; ÎÁÐÒÉÍÅÒ, ÅÓÌÉ ×ÁÛ ÆÁÊÌ ÎÁÚÙ×ÁÅÔÓÑ "hello.c", ÔÏ
687Á×ÔÏÓÏÈÒÁÎÅÎÎÙÊ ÆÁÊÌ ÂÕÄÅÔ ÎÁÚÙ×ÁÔØÓÑ "#hello.c#". ëÏÇÄÁ ×Ù ÓÏÈÒÁÎÉÔÅ ÆÁÊÌ 686Á×ÔÏÓÏÈÒÁÎÅÎÎÙÊ ÆÁÊÌ ÂÕÄÅÔ ÎÁÚÙ×ÁÔØÓÑ "#hello.c#". ëÏÇÄÁ ×Ù ÓÏÈÒÁÎÉÔÅ ÆÁÊÌ
688ÏÂÙÞÎÙÍ ÓÐÏÓÏÂÏÍ. Emacs ÕÄÁÌÉÔ Á×ÔÏÓÏÈÒÁÎÅÎÎÙÊ ÆÁÊÌ. 687ÏÂÙÞÎÙÍ ÓÐÏÓÏÂÏÍ, Emacs ÕÄÁÌÉÔ Á×ÔÏÓÏÈÒÁÎÅÎÎÙÊ ÆÁÊÌ.
689 688
690åÓÌÉ ÓÉÓÔÅÍÁ ÐÏÄ×ÉÓÁÅÔ, ×Ù ÍÏÖÅÔÅ ×ÏÓÓÔÁÎÏ×ÉÔØ ×ÁÛÉ ÉÚÍÅÎÅÎÉÑ ËÏÔÏÒÙÊ ÂÙÌÉ 689åÓÌÉ ÓÉÓÔÅÍÁ ÚÁ×ÉÓÌÁ, ×Ù ÍÏÖÅÔÅ ×ÏÓÓÔÁÎÏ×ÉÔØ ×ÁÛÉ ÉÚÍÅÎÅÎÉÑ, ËÏÔÏÒÙÊ ÂÙÌÉ
691ÓÏÈÒÁÎÅÎÙ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÐÕÔÅÍ ÏÔËÒÙÔÉÑ ÎÏÒÍÁÌØÎÏÇÏ ÆÁÊÌÁ (ÆÁÊÌÁ ËÏÔÏÒÙÊ ×Ù 690ÓÏÈÒÁÎÅÎÙ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÐÕÔÅÍ ÏÔËÒÙÔÉÑ ÎÏÒÍÁÌØÎÏÇÏ ÆÁÊÌÁ (ÆÁÊÌÁ, ËÏÔÏÒÙÊ ×Ù
692ÒÅÄÁËÔÉÒÏ×ÁÌÉ, ÎÅ Á×ÔÏÓÏÈÒÁÎÅÎÎÏÇÏ) É ÚÁÔÅÍ ÎÁÂÒÁ× M-x recover-file<return>. 691ÒÅÄÁËÔÉÒÏ×ÁÌÉ, ÎÅ Á×ÔÏÓÏÈÒÁÎÅÎÎÏÇÏ), É ÚÁÔÅÍ ÎÁÂÒÁ× M-x recover-file<return>.
693ëÏÇÄÁ Õ ×ÁÓ ÓÐÒÏÓÑÔ ÐÏÄÔ×ÅÒÖÄÅÎÉÅ, ÎÁÂÅÒÉÔÅ yes<return> ÞÔÏÂÙ ×ÏÓÓÔÁÎÏ×ÉÔØ 692ëÏÇÄÁ Õ ×ÁÓ ÓÐÒÏÓÑÔ ÐÏÄÔ×ÅÒÖÄÅÎÉÅ, ÎÁÂÅÒÉÔÅ yes<return>, ÞÔÏÂÙ ×ÏÓÓÔÁÎÏ×ÉÔØ
694Á×ÔÏÓÏÈÒÁÎÅÎÎÙÅ ÄÁÎÎÙÅ. 693Á×ÔÏÓÏÈÒÁÎÅÎÎÙÅ ÄÁÎÎÙÅ.
695 694
696 695
697* ïâìáóôø üèï (ECHO AREA) 696* ïâìáóôø üèï (ECHO AREA)
698------------------------- 697-------------------------
699 698
700åÓÌÉ Emacs ×ÉÄÉÔ ÞÔÏ ×Ù ÍÅÄÌÅÎÎÏ ÎÁÂÉÒÁÅÔÅ ËÏÍÁÎÄÙ, ÏÎ ÐÏËÁÚÙ×ÁÅÔ ÉÈ ×ÁÍ 699åÓÌÉ Emacs ×ÉÄÉÔ, ÞÔÏ ×Ù ÍÅÄÌÅÎÎÏ ÎÁÂÉÒÁÅÔÅ ËÏÍÁÎÄÙ, ÏÎ ÐÏËÁÚÙ×ÁÅÔ ÉÈ ×ÁÍ
701×ÎÉÚÕ ÜËÒÁÎÁ, × ÏÂÌÁÓÔÉ ÎÁÚÙ×ÁÅÍÏÊ "ÏÂÌÁÓÔØ ÜÈÏ". ïÂÌÁÓÔØ ÜÈÏ -- ÜÔÏ ÓÁÍÁÑ 700×ÎÉÚÕ ÜËÒÁÎÁ, × ÏÂÌÁÓÔÉ ÎÁÚÙ×ÁÅÍÏÊ "ÏÂÌÁÓÔØ ÜÈÏ". ïÂÌÁÓÔØ ÜÈÏ -- ÜÔÏ ÓÁÍÁÑ
702ÎÉÖÎÑÑ ÓÔÒÏËÁ ÜËÒÁÎÁ. 701ÎÉÖÎÑÑ ÓÔÒÏËÁ ÜËÒÁÎÁ.
703 702
704 703
705* óôòïëá òåöéíá 704* óôòïëá òåöéíá
706------------------ 705---------------
707 706
708óÔÒÏËÁ ÓÒÁÚÕ ÎÁÄ ÏÂÌÁÓÔØÀ ÜÈÏ ÎÁÚÙ×ÁÅÔÓÑ "ÓÔÒÏËÁ ÓÏÓÔÏÑÎÉÑ". 707óÔÒÏËÁ ÓÒÁÚÕ ÎÁÄ ÏÂÌÁÓÔØÀ ÜÈÏ ÎÁÚÙ×ÁÅÔÓÑ "ÓÔÒÏËÁ ÓÏÓÔÏÑÎÉÑ".
709÷ÙÇÌÑÄÉÔ ÜÔÁ ÓÔÒÏËÁ ÐÒÉÍÅÒÎÏ ÔÁË: 708÷ÙÇÌÑÄÉÔ ÜÔÁ ÓÔÒÏËÁ ÐÒÉÍÅÒÎÏ ÔÁË:
710 709
711--:** TUTORIAL (Fundamental)--L670--58%---------------- 710--:** TUTORIAL.ru (Fundamental)--L670--58%----------------
712 711
713üÔÁ ÓÔÒÏËÁ ÓÏÏÂÝÁÅÔ ÐÏÌÅÚÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÓÏÓÔÏÑÎÉÉ Emacs É ÔÅËÓÔÁ, ËÏÔÏÒÙÊ 712üÔÁ ÓÔÒÏËÁ ÓÏÏÂÝÁÅÔ ÐÏÌÅÚÎÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÓÏÓÔÏÑÎÉÉ Emacs É ÔÅËÓÔÁ, ËÏÔÏÒÙÊ
714×Ù ÒÅÄÁËÔÉÒÕÅÔÅ. 713×Ù ÒÅÄÁËÔÉÒÕÅÔÅ.
715 714
716÷Ù ÕÖÅ ÚÎÁÅÔÅ ÞÔÏ ÏÚÎÁÞÁÅÔ ÉÍÑ ÆÁÊÌÁ -- ÜÔÏ ÆÁÊÌ, ËÏÔÏÒÙÊ ×Ù ÏÔËÒÙÌÉ. -NN%-- 715÷Ù ÕÖÅ ÚÎÁÅÔÅ, ÞÔÏ ÏÚÎÁÞÁÅÔ ÉÍÑ ÆÁÊÌÁ -- ÜÔÏ ÆÁÊÌ, ËÏÔÏÒÙÊ ×Ù ÏÔËÒÙÌÉ. -NN%--
717ÐÏËÁÚÙ×ÁÅÔ ÔÅËÕÝÕÀ ÐÏÚÉÃÉÀ ËÕÒÓÏÒÁ × ÔÅËÓÔÅ; ÜÔÏ ÏÚÎÁÞÁÅÔ ÞÔÏ NN ÐÒÏÃÅÎÔÏ× 716ÐÏËÁÚÙ×ÁÅÔ ÔÅËÕÝÕÀ ÐÏÚÉÃÉÀ ËÕÒÓÏÒÁ × ÔÅËÓÔÅ; ÜÔÏ ÏÚÎÁÞÁÅÔ ÞÔÏ NN ÐÒÏÃÅÎÔÏ×
718ÔÅËÓÔÁ ×ÙÛÅ, ÞÅÍ ÎÁÞÁÌÏ ÜËÒÁÎÁ. åÓÌÉ ÐÅÒ×ÁÑ ÓÔÒÏËÁ ÎÁÈÏÄÉÔÓÑ × ÐÅÒ×ÏÊ ÓÔÒÏËÅ 717ÔÅËÓÔÁ ×ÙÛÅ, ÞÅÍ ÎÁÞÁÌÏ ÜËÒÁÎÁ. åÓÌÉ ÐÅÒ×ÁÑ ÓÔÒÏËÁ ÎÁÈÏÄÉÔÓÑ × ÐÅÒ×ÏÊ ÓÔÒÏËÅ
719ÜËÒÁÎÁ, ×Ù ÔÁÍ Õ×ÉÄÉÔÅ --Top-- ×ÍÅÓÔÏ --00%--. åÓÌÉ ÎÁ ÜËÒÁÎÅ ÏÔÏÂÒÁÖÁÅÔÓÑ 718ÜËÒÁÎÁ, ×Ù ÔÁÍ Õ×ÉÄÉÔÅ --Top-- ×ÍÅÓÔÏ --00%--. åÓÌÉ ÎÁ ÜËÒÁÎÅ ÏÔÏÂÒÁÖÁÅÔÓÑ
@@ -744,13 +743,13 @@ Emacs ÉÍÅÅÔ ÍÎÏÇÏ ÒÁÚÌÉÞÎÙÈ ÏÓÎÏ×ÎÙÈ ÒÅÖÉÍÏ×. îÅËÏÔÏÒÙÅ ÉÚ ÒÅÖÉÍÏ× ÏÚÎÁÞÁÀÔ,
744ÅÇÏ. îÁÐÒÉÍÅÒ, M-x fundamental-mode - ËÏÍÁÎÄÁ, ËÏÔÏÒÁÑ ÐÅÒÅËÌÀÞÁÅÔ × ÂÁÚÏ×ÙÊ 743ÅÇÏ. îÁÐÒÉÍÅÒ, M-x fundamental-mode - ËÏÍÁÎÄÁ, ËÏÔÏÒÁÑ ÐÅÒÅËÌÀÞÁÅÔ × ÂÁÚÏ×ÙÊ
745(Fundamental) ÒÅÖÉÍ. 744(Fundamental) ÒÅÖÉÍ.
746 745
747åÓÌÉ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÁÎÇÌÉÊÓËÉÊ ÔÅËÓÔ, ÎÁÐÒÉÍÅÒ ËÁË ÜÔÏÔ (//ËÏÎÅÞÎÏ ÎÅ ÉÍÅÎÎÏ 746åÓÌÉ ×Ù ÒÅÄÁËÔÉÒÕÅÔÅ ÒÕÓÓËÉÊ ÔÅËÓÔ, ÎÁÐÒÉÍÅÒ ËÁË ÜÔÏÔ (ËÏÎÅÞÎÏ, ÎÅ ÉÍÅÎÎÏ
748ÜÔÏÔ, Á TUTORIAL) ÆÁÊÌ, ×Ù ×ÅÒÏÑÔÎÏ ÄÏÌÖÎÙ ÐÅÒÅËÌÀÞÉÔØÓÑ × Text-ÒÅÖÉÍ. 747ÜÔÏÔ, Á TUTORIAL) ÆÁÊÌ, ×Ù ×ÅÒÏÑÔÎÏ ÄÏÌÖÎÙ ÐÅÒÅËÌÀÞÉÔØÓÑ × Text-ÒÅÖÉÍ.
749 748
750>> îÁÂÅÒÉÔÅ M-x text mode<Return>. 749>> îÁÂÅÒÉÔÅ M-x text mode<Return>.
751 750
752îÅ ×ÏÌÎÕÊÔÅÓØ, ÎÉ ÏÄÎÁ ÉÚ ×ÙÕÞÅÎÎÙÈ ×ÁÍÉ ËÏÍÁÎÄ Emacs ÎÅ ÉÚÍÅÎÉÌÁÓØ. îÏ ×Ù 751îÅ ×ÏÌÎÕÊÔÅÓØ, ÎÉ ÏÄÎÁ ÉÚ ×ÙÕÞÅÎÎÙÈ ×ÁÍÉ ËÏÍÁÎÄ Emacs ÎÅ ÉÚÍÅÎÉÌÁÓØ. îÏ ×Ù
753ÍÏÖÉÔÅ ÚÁÍÅÔÉÔØ, ÞÔÏ M-f É M-b ÔÅÐÅÒØ ÒÁÚÌÉÞÁÔØ ÁÐÏÓÔÒÏÆÙ ËÁË ÞÁÓÔÉ ÓÌÏ×Á. 752ÍÏÖÅÔÅ ÚÁÍÅÔÉÔØ, ÞÔÏ M-f É M-b ÔÅÐÅÒØ ÒÁÚÌÉÞÁÀÔ ÁÐÏÓÔÒÏÆÙ ËÁË ÞÁÓÔÉ ÓÌÏ×Á.
754òÁÎÅÅ, × ÂÁÚÏ×ÏÍ ÒÅÖÉÍÅ (Fundamental mode), M-f É M-b ÐÏÎÉÍÁÌÉ ÁÐÏÓÔÒÏÆÙ 753òÁÎÅÅ, × ÂÁÚÏ×ÏÍ ÒÅÖÉÍÅ (Fundamental mode), M-f É M-b ÐÏÎÉÍÁÌÉ ÁÐÏÓÔÒÏÆÙ
755ËÁË ÒÁÚÄÅÌÉÔÅÌÉ ÓÌÏ×. 754ËÁË ÒÁÚÄÅÌÉÔÅÌÉ ÓÌÏ×.
756 755
@@ -762,8 +761,8 @@ Emacs ÉÍÅÅÔ ÍÎÏÇÏ ÒÁÚÌÉÞÎÙÈ ÏÓÎÏ×ÎÙÈ ÒÅÖÉÍÏ×. îÅËÏÔÏÒÙÅ ÉÚ ÒÅÖÉÍÏ× ÏÚÎÁÞÁÀÔ,
762 761
763>> éÓÐÏÌØÚÕÊÔÅ C-u C-v ÏÄÉÎ ÒÁÚ ÉÌÉ ÂÏÌÅÅ, ÞÔÏÂÙ ÒÁÓÐÏÌÏÖÉÔØ ÜÔÕ ÓÔÒÏËÕ ÂÌÉÖÅ 762>> éÓÐÏÌØÚÕÊÔÅ C-u C-v ÏÄÉÎ ÒÁÚ ÉÌÉ ÂÏÌÅÅ, ÞÔÏÂÙ ÒÁÓÐÏÌÏÖÉÔØ ÜÔÕ ÓÔÒÏËÕ ÂÌÉÖÅ
764 Ë ×ÅÒÈÕ ÜËÒÁÎÁ. 763 Ë ×ÅÒÈÕ ÜËÒÁÎÁ.
765>> îÁÂÅÒÉÔÅ C-h m, ÞÔÏ ÐÏÓÍÏÔÒÅÔØ ÏÔÌÉÞÉÑ Text-ÒÅÖÉÍÁ ÏÔ ÂÁÚÏ×ÏÇÏ. 764>> îÁÂÅÒÉÔÅ C-h m, ÞÔÏÂÙ ÐÏÓÍÏÔÒÅÔØ ÏÔÌÉÞÉÑ Text-ÒÅÖÉÍÁ ÏÔ ÂÁÚÏ×ÏÇÏ.
766>> îÁÂÅÒÉÔÅ C-x 1 ÞÔÏÂÙ ÕÂÒÁÔØ ÄÏËÕÍÅÎÔÁÃÉÀ Ó ÇÌÁÚ ÄÏÌÏÊ :) 765>> îÁÂÅÒÉÔÅ C-x 1, ÞÔÏÂÙ ÕÂÒÁÔØ ÄÏËÕÍÅÎÔÁÃÉÀ Ó ÇÌÁÚ ÄÏÌÏÊ :)
767 766
768ïÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÎÁÚÙ×ÁÅÔÓÑ ÏÓÎÏ×ÎÙÍ ÐÏÔÏÍÕ, ÞÔÏ ÅÓÔØ ÎÅÓËÏÌØËÏ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ 767ïÓÎÏ×ÎÏÊ ÒÅÖÉÍ ÎÁÚÙ×ÁÅÔÓÑ ÏÓÎÏ×ÎÙÍ ÐÏÔÏÍÕ, ÞÔÏ ÅÓÔØ ÎÅÓËÏÌØËÏ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ
769(minor) ÒÅÖÉÍÏ×. äÏÐÏÌÎÉÔÅÌØÎÙÅ ÒÅÖÉÍÙ ÎÅ Ñ×ÌÑÀÔÓÑ ÁÌØÔÅÒÎÁÔÉ×ÁÍÉ ÏÓÎÏ×ÎÙÍ, 768(minor) ÒÅÖÉÍÏ×. äÏÐÏÌÎÉÔÅÌØÎÙÅ ÒÅÖÉÍÙ ÎÅ Ñ×ÌÑÀÔÓÑ ÁÌØÔÅÒÎÁÔÉ×ÁÍÉ ÏÓÎÏ×ÎÙÍ,
@@ -777,13 +776,13 @@ Emacs ÉÍÅÅÔ ÍÎÏÇÏ ÒÁÚÌÉÞÎÙÈ ÏÓÎÏ×ÎÙÈ ÒÅÖÉÍÏ×. îÅËÏÔÏÒÙÅ ÉÚ ÒÅÖÉÍÏ× ÏÚÎÁÞÁÀÔ,
777×ËÌÀÞÅÎ, Emacs ÒÁÚÒÙ×ÁÅÔ ÓÔÒÏËÉ ÍÅÖÄÕ ÓÌÏ×ÁÍÉ Á×ÔÏÍÁÔÉÞÅÓËÉ, ËÏÇÄÁ ×Ù 776×ËÌÀÞÅÎ, Emacs ÒÁÚÒÙ×ÁÅÔ ÓÔÒÏËÉ ÍÅÖÄÕ ÓÌÏ×ÁÍÉ Á×ÔÏÍÁÔÉÞÅÓËÉ, ËÏÇÄÁ ×Ù
778×ÓÔÁ×ÌÑÅÔÅ ÔÅËÓÔ É ÄÅÌÁÅÔÅ ÓÔÒÏËÉ ÓÌÉÛËÏÍ ÄÌÉÎÎÙÍÉ. 777×ÓÔÁ×ÌÑÅÔÅ ÔÅËÓÔ É ÄÅÌÁÅÔÅ ÓÔÒÏËÉ ÓÌÉÛËÏÍ ÄÌÉÎÎÙÍÉ.
779 778
780÷Ù ÍÏÖÅÔÅ ×ËÌÀÞÉÔØ ÒÅÖÉÍ Á×ÔÏÚÁÐÏÌÎÅÎÉÑ ÎÁÂÒÁ× M-x auto fill mode<Return>. 779÷Ù ÍÏÖÅÔÅ ×ËÌÀÞÉÔØ ÒÅÖÉÍ Á×ÔÏÚÁÐÏÌÎÅÎÉÑ, ÎÁÂÒÁ× M-x auto fill mode<Return>.
781ëÏÇÄÁ ÜÔÏÔ ÒÅÖÉÍ ×ËÌÀÞÅÎ, ÅÇÏ ÍÏÖÎÏ ×ÙËÌÀÞÉÔØ - M-x auto fill mode<Return>. 780ëÏÇÄÁ ÜÔÏÔ ÒÅÖÉÍ ×ËÌÀÞÅÎ, ÅÇÏ ÍÏÖÎÏ ×ÙËÌÀÞÉÔØ - M-x auto fill mode<Return>.
782åÓÌÉ ÒÅÖÉÍ ×ËÌÀÞÅÎ -- ËÏÍÁÎÄÁ ÅÇÏ ×ÙËÌÀÞÉÔ, ÅÓÌÉ ×ÙËÌÀÞÅÎ -- ×ËÌÀÞÉÔ. íÙ 781åÓÌÉ ÒÅÖÉÍ ×ËÌÀÞÅÎ -- ËÏÍÁÎÄÁ ÅÇÏ ×ÙËÌÀÞÉÔ, ÅÓÌÉ ×ÙËÌÀÞÅÎ -- ×ËÌÀÞÉÔ. íÙ
783ÎÁÚÙ×ÁÅÍ ÜÔÏ ËÏÍÁÎÄÏÊ "ÐÅÒÅËÌÀÞÅÎÉÑ ÒÅÖÉÍÁ". 782ÎÁÚÙ×ÁÅÍ ÜÔÏ ËÏÍÁÎÄÏÊ "ÐÅÒÅËÌÀÞÅÎÉÑ ÒÅÖÉÍÁ".
784 783
785>> îÁÂÅÒÉÔÅ M-x auto fill mode<Return>. úÁÔÅÍ ××ÏÄÉÔÅ ÓÔÒÏËÕ ÉÚ ÓÌÏ× 784>> îÁÂÅÒÉÔÅ M-x auto fill mode<Return>. úÁÔÅÍ ××ÏÄÉÔÅ ÓÔÒÏËÕ ÉÚ ÓÌÏ×
786 "ÆÙ×Á " ÐÏËÁ ÎÅ Õ×ÉÄÉÔÅ ËÁË ÏÎÁ ÒÁÚÄÅÌÉÔÓÑ ÎÁ Ä×Å ÓÔÒÏËÉ. ÷Ù ÄÏÌÖÎÙ 785 "ÆÙ×Á " ÐÏËÁ ÎÅ Õ×ÉÄÉÔÅ, ËÁË ÏÎÁ ÒÁÚÄÅÌÉÔÓÑ ÎÁ Ä×Å ÓÔÒÏËÉ. ÷Ù ÄÏÌÖÎÙ
787 ÐÏÍÅÝÁÔØ ÐÒÏÂÅÌÙ ÍÅÖÄÕ ÓÌÏ×ÁÍÉ, ÐÏÔÏÍÕ ÞÔÏ ÒÅÖÉÍ Á×ÔÏÚÁÐÏÌÎÅÎÉÑ ÒÁÚÄÅÌÑÅÔ 786 ÐÏÍÅÝÁÔØ ÐÒÏÂÅÌÙ ÍÅÖÄÕ ÓÌÏ×ÁÍÉ, ÐÏÔÏÍÕ ÞÔÏ ÒÅÖÉÍ Á×ÔÏÚÁÐÏÌÎÅÎÉÑ ÒÁÚÄÅÌÑÅÔ
788 ÓÔÒÏËÉ ÔÏÌØËÏ ÐÏ ÐÒÏÂÅÌÁÍ. 787 ÓÔÒÏËÉ ÔÏÌØËÏ ÐÏ ÐÒÏÂÅÌÁÍ.
789 788
@@ -806,22 +805,22 @@ Emacs ÉÍÅÅÔ ÍÎÏÇÏ ÒÁÚÌÉÞÎÙÈ ÏÓÎÏ×ÎÙÈ ÒÅÖÉÍÏ×. îÅËÏÔÏÒÙÅ ÉÚ ÒÅÖÉÍÏ× ÏÚÎÁÞÁÀÔ,
806* ðïéóë 805* ðïéóë
807------- 806-------
808 807
809Emacs ÕÍÅÅÔ ÉÓËÁÔØ ÓÔÒÏËÉ (ÜÔÏ ÎÅÐÒÅÒÙ×ÎÙÅ ÇÒÕÐÐÙ ÓÉÍ×ÏÌÏ× ÉÌÉ ÓÌÏ×Á) ×ÐÅÒÅÄ 808Emacs ÕÍÅÅÔ ÉÓËÁÔØ ÓÔÒÏËÉ (ÎÅÐÒÅÒÙ×ÎÙÅ ÇÒÕÐÐÙ ÓÉÍ×ÏÌÏ× ÉÌÉ ÓÌÏ×Á) ×ÐÅÒÅÄ
810ÐÏ ÔÅËÓÔÕ, ÉÌÉ ÎÁÚÁÄ. ðÏÉÓË ÓÔÒÏËÉ ÜÔÏ ËÏÍÁÎÄÁ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ; ÏÎÁ 809ÐÏ ÔÅËÓÔÕ, ÉÌÉ ÎÁÚÁÄ. ðÏÉÓË ÓÔÒÏËÉ - ÜÔÏ ËÏÍÁÎÄÁ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ; ÏÎÁ
811ÐÅÒÅÍÅÝÁÅÔ ËÕÒÓÏÒ × ÓÌÅÄÕÀÝÕÀ ÔÏÞËÕ, ÇÄÅ ÎÁÊÄÅÎÁ ÉÓËÏÍÁÑ ÓÔÒÏËÁ. 810ÐÅÒÅÍÅÝÁÅÔ ËÕÒÓÏÒ × ÓÌÅÄÕÀÝÕÀ ÔÏÞËÕ, ÇÄÅ ÎÁÊÄÅÎÁ ÉÓËÏÍÁÑ ÓÔÒÏËÁ.
812 811
813ëÏÍÁÎÄÁ ÐÏÉÓËÁ Emacs ÏÔÌÉÞÁÀÔÓÑ ÏÔ ÁÎÁÌÏÇÉÞÎÙÈ ËÏÍÁÎÄ ÂÏÌØÛÉÎÓÔ×Á ÄÒÕÇÉÈ 812ëÏÍÁÎÄÁ ÐÏÉÓËÁ Emacs ÏÔÌÉÞÁÀÔÓÑ ÏÔ ÁÎÁÌÏÇÉÞÎÙÈ ËÏÍÁÎÄ ÂÏÌØÛÉÎÓÔ×Á ÄÒÕÇÉÈ
814ÒÅÄÁËÔÏÒÏ× ÔÅÍ, ÞÔÏ ÏÎÁ ÉÎËÒÅÍÅÎÔÁÌØÎÁÑ. üÔÏ ÏÚÎÁÞÁÅÔ ÞÔÏ ÐÏÉÓË ÐÒÏÉÓÈÏÄÉÔ ÐÏ 813ÒÅÄÁËÔÏÒÏ× ÔÅÍ, ÞÔÏ ÏÎÁ ÉÎËÒÅÍÅÎÔÁÌØÎÁÑ. üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÐÏÉÓË ÐÒÏÉÓÈÏÄÉÔ
815ÍÅÒÅ ÔÏÇÏ ËÁË ×Ù ÎÁÂÉÒÁÅÔÅ ÉÓËÏÍÕÀ ÓÔÒÏËÕ. 814ÐÏ ÍÅÒÅ, ÔÏÇÏ ËÁË ×Ù ÎÁÂÉÒÁÅÔÅ ÉÓËÏÍÕÀ ÓÔÒÏËÕ.
816 815
817ëÏÍÁÎÄÁ, ÎÁÞÉÎÁÀÝÁÑ ÐÏÉÓË ×ÐÅÒÅÄ -- C-s, Á C-r ÉÝÅÔ ÎÁÚÁÄ. ðïäïöäéôå! îÅ 816ëÏÍÁÎÄÁ, ÎÁÞÉÎÁÀÝÁÑ ÐÏÉÓË ×ÐÅÒÅÄ -- C-s, Á C-r ÉÝÅÔ ÎÁÚÁÄ. ðïäïöäéôå! îÅ
818ÎÕÖÎÏ ÐÒÏÂÏ×ÁÔØ ÐÒÑÍÏ ÓÅÊÞÁÓ. 817ÎÕÖÎÏ ÐÒÏÂÏ×ÁÔØ ÐÒÑÍÏ ÓÅÊÞÁÓ.
819 818
820ëÏÇÄÁ ×Ù ÎÁÖÍÅÔÅ C-s ×Ù Õ×ÉÄÉÔÅ ÓÔÒÏËÕ "I-search", ÐÏÑ×É×ÛÕÀÓÑ × ÏÂÌÁÓÔÉ ÜÈÏ. 819ëÏÇÄÁ ×Ù ÎÁÖÍÅÔÅ C-s, ×Ù Õ×ÉÄÉÔÅ ÓÔÒÏËÕ "I-search", ÐÏÑ×É×ÛÕÀÓÑ × ÏÂÌÁÓÔÉ ÜÈÏ.
821÷ÁÍ ÓÏÏÂÝÁÅÔÓÑ ÞÔÏ Emacs ÖÄÅÔ ××ÏÄÁ ÓÌÏ×Á, ËÏÔÏÒÏÅ ×Ù ÈÏÔÉÔÅ ÎÁÊÔÉ. 820÷ÁÍ ÓÏÏÂÝÁÅÔÓÑ, ÞÔÏ Emacs ÖÄÅÔ ××ÏÄÁ ÓÌÏ×Á, ËÏÔÏÒÏÅ ×Ù ÈÏÔÉÔÅ ÎÁÊÔÉ.
822<Return> ÚÁ×ÅÒÛÁÅÔ ÐÏÉÓË. 821<Return> ÚÁ×ÅÒÛÁÅÔ ÐÏÉÓË.
823 822
824>> ôÅÐÅÒØ, ÎÁÖÍÉÔÅ C-s ÄÌÑ ÎÁÞÁÌÁ ÐÏÉÓËÁ. íÅÄÌÅÎÎÏ, ÏÄÎÕ ÂÕË×Õ ÚÁ ÏÄÉÎ ÒÁÚ, 823>> ôÅÐÅÒØ ÎÁÖÍÉÔÅ C-s ÄÌÑ ÎÁÞÁÌÁ ÐÏÉÓËÁ. íÅÄÌÅÎÎÏ, ÏÄÎÕ ÂÕË×Õ ÚÁ ÏÄÉÎ ÒÁÚ,
825 ÎÁÂÉÒÁÊÔÅ ÓÌÏ×Ï 'ËÕÒÓÏÒ', ÏÓÔÁÎÁ×ÌÉ×ÁÑÓØ ÐÏÓÌÅ ËÁÖÄÏÊ ××ÅÄÅÎÎÏÊ ÂÕË×Ù É 824 ÎÁÂÉÒÁÊÔÅ ÓÌÏ×Ï 'ËÕÒÓÏÒ', ÏÓÔÁÎÁ×ÌÉ×ÁÑÓØ ÐÏÓÌÅ ËÁÖÄÏÊ ××ÅÄÅÎÎÏÊ ÂÕË×Ù É
826 ÚÁÍÅÞÁÑ ÞÔÏ ÐÒÏÉÓÈÏÄÉÔ Ó ËÕÒÓÏÒÏÍ. 825 ÚÁÍÅÞÁÑ ÞÔÏ ÐÒÏÉÓÈÏÄÉÔ Ó ËÕÒÓÏÒÏÍ.
827 óÅÊÞÁÓ ×Ù ÎÁÛÌÉ ÐÅÒ×ÏÅ ×ÈÏÖÄÅÎÉÅ ÓÌÏ×Á "ËÕÒÓÏÒ". 826 óÅÊÞÁÓ ×Ù ÎÁÛÌÉ ÐÅÒ×ÏÅ ×ÈÏÖÄÅÎÉÅ ÓÌÏ×Á "ËÕÒÓÏÒ".
@@ -829,38 +828,38 @@ Emacs ÕÍÅÅÔ ÉÓËÁÔØ ÓÔÒÏËÉ (ÜÔÏ ÎÅÐÒÅÒÙ×ÎÙÅ ÇÒÕÐÐÙ ÓÉÍ×ÏÌÏ× ÉÌÉ ÓÌÏ×Á) ×ÐÅÒÅÄ
829>> ôÅÐÅÒØ ÎÁÖÍÉÔÅ <Delete> ÞÅÔÙÒÅ ÒÁÚÁ É ÐÒÏÓÌÅÄÉÔÅ ÚÁ ÐÅÒÅÍÅÝÅÎÉÑÍÉ ËÕÒÓÏÒÁ. 828>> ôÅÐÅÒØ ÎÁÖÍÉÔÅ <Delete> ÞÅÔÙÒÅ ÒÁÚÁ É ÐÒÏÓÌÅÄÉÔÅ ÚÁ ÐÅÒÅÍÅÝÅÎÉÑÍÉ ËÕÒÓÏÒÁ.
830>> îÁÖÍÉÔÅ <Return> ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ÐÏÉÓËÁ. 829>> îÁÖÍÉÔÅ <Return> ÄÌÑ ÚÁ×ÅÒÛÅÎÉÑ ÐÏÉÓËÁ.
831 830
832÷Ù ×ÉÄÅÌÉ ÞÔÏ ÐÒÏÉÓÈÏÄÉÌÏ? Emacs, × ÒÅÖÉÍÅ ÉÎËÒÅÍÅÎÔÁÌØÎÏÇÏ ÐÏÉÓËÁ, ÐÙÔÁÌÓÑ 831÷Ù ×ÉÄÅÌÉ, ÞÔÏ ÐÒÏÉÓÈÏÄÉÌÏ? Emacs × ÒÅÖÉÍÅ ÉÎËÒÅÍÅÎÔÁÌØÎÏÇÏ ÐÏÉÓËÁ ÐÙÔÁÌÓÑ
833ÐÅÒÅÈÏÄÉÔØ Ë ÓÔÒÏËÁÍ ÓÏ×ÐÁÄÁÀÝÉÍ Ó ÎÁÂÉÒÁÅÍÏÊ ×ÁÍÉ, ÐÏÄÓ×ÅÞÉ×ÁÑ ÉÈ ÄÌÑ ×ÁÓ. 832ÐÅÒÅÈÏÄÉÔØ Ë ÓÔÒÏËÁÍ, ÓÏ×ÐÁÄÁÀÝÉÍ Ó ÎÁÂÉÒÁÅÍÏÊ ×ÁÍÉ, ÐÏÄÓ×ÅÞÉ×ÁÑ ÉÈ ÄÌÑ ×ÁÓ.
834þÔÏÂÙ ÐÅÒÅÊÔÉ Ë ÓÌÅÄÕÀÝÅÍÕ ×ÈÏÖÄÅÎÉÑ ÓÌÏ×Á 'ËÕÒÓÏÒ' ÐÒÏÓÔÏ ÎÁÖÍÉÔÅ C-s 833þÔÏÂÙ ÐÅÒÅÊÔÉ Ë ÓÌÅÄÕÀÝÅÍÕ ×ÈÏÖÄÅÎÉÑ ÓÌÏ×Á 'ËÕÒÓÏÒ' ÐÒÏÓÔÏ ÎÁÖÍÉÔÅ C-s
835ÓÎÏ×Á. åÓÌÉ ÂÏÌØÛÅ ÎÅÔ ×ÈÏÖÄÅÎÉÊ, Emacs ÉÚÄÁÓÔ Ú×ÕËÏ×ÏÊ ÓÉÇÎÁÌ, É ÓÏÏÂÝÉÔ 834ÓÎÏ×Á. åÓÌÉ ÂÏÌØÛÅ ÎÅÔ ×ÈÏÖÄÅÎÉÊ, Emacs ÉÚÄÁÓÔ Ú×ÕËÏ×ÏÊ ÓÉÇÎÁÌ, É ÓÏÏÂÝÉÔ,
836ÞÔÏ ×ÁÛ ÐÏÉÓË ÎÅ ÕÄÁÌÓÑ ("failing"), C-g ÔÁËÖÅ ÄÏÌÖÅÎ ÏÔÍÅÎÉÔØ ÐÏÉÓË. 835ÞÔÏ ×ÁÛ ÐÏÉÓË ÎÅ ÕÄÁÌÓÑ ("failing"), C-g ÔÁËÖÅ ÍÏÖÅÔ ÏÔÍÅÎÉÔØ ÐÏÉÓË.
837 836
838úáíåþáîéå: îÁ ÎÅËÏÔÏÒÙÈ ÓÉÓÔÅÍÁÈ, ××ÏÄ C-s ÚÁÍÏÒÏÚÉÔ ÜËÒÁÎ É ×Ù ÎÅ Õ×ÉÄÉÔÅ 837úáíåþáîéå: îÁ ÎÅËÏÔÏÒÙÈ ÓÉÓÔÅÍÁÈ ××ÏÄ C-s ÚÁÍÏÒÏÚÉÔ ÜËÒÁÎ, É ×Ù ÎÅ Õ×ÉÄÉÔÅ
839ÐÏÓÌÅÄÕÀÝÅÇÏ ×Ù×ÏÄÁ Emacs`Á. üÔÏ ÏÚÎÁÞÁÅÔ ÞÔÏ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÉÍÅÅÔ 838ÐÏÓÌÅÄÕÀÝÅÇÏ ×Ù×ÏÄÁ Emacs`Á. üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÉÍÅÅÔ
840"ÏÓÏÂÅÎÎÏÓÔØ" ÉÍÅÎÕÅÍÕÀ "flow control" ÐÅÒÅÈ×ÁÔÙ×ÁÀÝÕÀ C-s É ÎÅ ÐÒÏÐÕÓËÁÀÝÕÀ 839"ÏÓÏÂÅÎÎÏÓÔØ", ÉÍÅÎÕÅÍÕÀ "flow control", ÐÅÒÅÈ×ÁÔÙ×ÁÀÝÕÀ C-s É ÎÅ ÐÒÏÐÕÓËÁÀÝÕÀ
841ÜÔÏÔ ÓÉÍ×ÏÌ Ë Emacs`Õ. äÌÑ ÒÁÚÍÏÒÏÚËÉ ÜËÒÁÎÁ, ÎÁÖÍÉÔÅ C-q. óÍÏÔÒÉÔÅ ÒÁÚÄÅÌ 840ÜÔÏÔ ÓÉÍ×ÏÌ Ë Emacs`Õ. äÌÑ ÒÁÚÍÏÒÏÚËÉ ÜËÒÁÎÁ, ÎÁÖÍÉÔÅ C-q. óÍÏÔÒÉÔÅ ÒÁÚÄÅÌ
842"Spontaneous Entry to Incremental Search" ÒÕËÏ×ÏÄÓÔ×Á Emacs ÞÔÏÂÙ ÕÚÎÁÔØ ËÁË 841"Spontaneous Entry to Incremental Search" ÒÕËÏ×ÏÄÓÔ×Á Emacs, ÞÔÏÂÙ ÕÚÎÁÔØ,
843ÂÏÒÏÔØÓÑ Ó ÜÔÏÊ "ÏÓÏÂÅÎÎÏÓÔØÀ". 842ËÁË ÂÏÒÏÔØÓÑ Ó ÜÔÏÊ "ÏÓÏÂÅÎÎÏÓÔØÀ".
844 843
845åÓÌÉ ×Ù ×Ï ×ÒÅÍÑ ÉÎËÒÅÍÅÎÔÁÌØÎÏÇÏ ÐÏÉÓËÁ ÎÁÖÍÅÔÅ <Delete>, ×Ù ÍÏÖÅÔÅ ÚÁÍÅÔÉÔØ 844åÓÌÉ ×Ù ×Ï ×ÒÅÍÑ ÉÎËÒÅÍÅÎÔÁÌØÎÏÇÏ ÐÏÉÓËÁ ÎÁÖÍÅÔÅ <Delete>, ×Ù ÍÏÖÅÔÅ ÚÁÍÅÔÉÔØ,
846ÞÔÏ ÐÏÓÌÅÄÎÉÊ ÓÉÍ×ÏÌ × ÉÓËÏÍÏÊ ÓÔÒÏËÅ ÕÄÁÌÉÌÓÑ, É ÐÏÉÓË ×ÅÒÎÕÌÓÑ Ë ÐÒÅÄÙÄÕÝÅÍÕ 845ÞÔÏ ÐÏÓÌÅÄÎÉÊ ÓÉÍ×ÏÌ × ÉÓËÏÍÏÊ ÓÔÒÏËÅ ÕÄÁÌÉÌÓÑ, É ÐÏÉÓË ×ÅÒÎÕÌÓÑ Ë ÐÒÅÄÙÄÕÝÅÍÕ
847ÎÁÊÄÅÎÎÏÍÕ ÍÅÓÔÕ. îÁÐÒÉÍÅÒ, ÐÒÅÄÐÏÌÏÖÉÍ, ÞÔÏ ×Ù ÎÁÂÒÁÌÉ "c", ÐÏÉÓË ÐÅÒÅÊÄÅÔ Ë 846ÎÁÊÄÅÎÎÏÍÕ ÍÅÓÔÕ. îÁÐÒÉÍÅÒ, ÐÒÅÄÐÏÌÏÖÉÍ, ÞÔÏ ×Ù ÎÁÂÒÁÌÉ "Ë", ÐÏÉÓË ÐÅÒÅÊÄÅÔ Ë
848ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ ÓÉÍ×ÏÌÁ "c". ôÅÐÅÒØ ÅÓÌÉ ×Ù ÎÁÂÅÒÅÔÅ "u", ËÕÒÓÏÒ ÐÅÒÅÊÄÅÔ Ë 847ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ ÓÉÍ×ÏÌÁ "Ë". ôÅÐÅÒØ, ÅÓÌÉ ×Ù ÎÁÂÅÒÅÔÅ "Õ", ËÕÒÓÏÒ ÐÅÒÅÊÄÅÔ Ë
849ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ "cu". îÁÖÁÔÉÅ <Delete> ÕÄÁÌÉÔ ÓÉÍ×ÏÌ "u" ÉÈ ÓÔÒÏËÉ ÐÏÉÓËÁ, É 848ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ "ËÕ". îÁÖÁÔÉÅ <Delete> ÕÄÁÌÉÔ ÓÉÍ×ÏÌ "Õ" ÉÚ ÓÔÒÏËÉ ÐÏÉÓËÁ, É
850ËÕÒÓÏÒ ×ÅÒÎÅÔÓÑ Ë ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ "c". 849ËÕÒÓÏÒ ×ÅÒÎÅÔÓÑ Ë ÐÅÒ×ÏÍÕ ×ÈÏÖÄÅÎÉÀ "Ë".
851 850
852åÓÌÉ ×Ù ×Ï ×ÒÅÍÑ ÐÏÉÓËÁ ××ÅÄÅÔÅ control- ÉÌÉ meta- ÓÉÍ×ÏÌ (ÚÁ ÎÅËÏÔÏÒÙÍÉ 851åÓÌÉ ×Ù ×Ï ×ÒÅÍÑ ÐÏÉÓËÁ ××ÅÄÅÔÅ control- ÉÌÉ meta- ÓÉÍ×ÏÌ (ÚÁ ÎÅËÏÔÏÒÙÍÉ
853ÉÓËÌÀÞÅÎÉÑÍÉ -- ÓÉÍ×ÏÌÙ ×ÙÚÙ×ÁÀÝÉÅ ÐÏÉÓË, Á ÉÍÅÎÎÏ C-s É C-r), ÐÏÉÓË 852ÉÓËÌÀÞÅÎÉÑÍÉ -- ÓÉÍ×ÏÌÙ ×ÙÚÙ×ÁÀÝÉÅ ÐÏÉÓË, Á ÉÍÅÎÎÏ C-s É C-r), ÐÏÉÓË
854ÐÒÅËÒÁÔÉÔÓÑ. 853ÐÒÅËÒÁÔÉÔÓÑ.
855 854
856C-s ÎÁÞÉÎÁÅÔ ÐÏÉÓË É ÓÍÏÔÒÉÔ ÎÁ ÌÀÂÙÅ ×ÈÏÖÄÅÎÉÑ ÉÓËÏÍÏÊ ÓÔÒÏËÉ ðïóìå ÔÅËÕÝÅÊ 855C-s ÎÁÞÉÎÁÅÔ ÐÏÉÓË É ÓÍÏÔÒÉÔ ÎÁ ÌÀÂÙÅ ×ÈÏÖÄÅÎÉÑ ÉÓËÏÍÏÊ ÓÔÒÏËÉ ðïóìå ÔÅËÕÝÅÊ
857ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ. åÓÌÉ ×Ù ÈÏÔÉÔÅ ÎÁÊÔÉ ÞÔÏ-ÔÏ ÒÁÎÅÅ × ÔÅËÓÔÅ, ÎÁÖÍÉÔÅ C-r. ÷ÓÅ 856ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ. åÓÌÉ ×Ù ÈÏÔÉÔÅ ÎÁÊÔÉ ÞÔÏ-ÔÏ ÒÁÎÅÅ × ÔÅËÓÔÅ, ÎÁÖÍÉÔÅ C-r.
858ÞÔÏ ÍÙ ÇÏ×ÏÒÉÌÉ Ï C-s ÐÒÉÍÅÎÉÍÏ É Ë C-r, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÐÒÏÔÉ×ÏÐÏÌÏÖÎÏÇÏ 857÷ÓÅ, ÞÔÏ ÍÙ ÇÏ×ÏÒÉÌÉ Ï C-s, ÐÒÉÍÅÎÉÍÏ É Ë C-r, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÐÒÏÔÉ×ÏÐÏÌÏÖÎÏÇÏ
859ÎÁÐÒÁ×ÌÅÎÉÑ ÐÏÉÓËÁ. 858ÎÁÐÒÁ×ÌÅÎÉÑ ÐÏÉÓËÁ.
860 859
861 860
862* íîïöåóô÷ï ïëïî (MULTIPLE WINDOWS) 861* íîïöåóô÷ï ïëïî (MULTIPLE WINDOWS)
863------------------------------- 862-----------------------------------
864 863
865ïÄÎÁ ÉÚ ÐÒÉÑÔÎÙÈ ÏÓÏÂÅÎÎÏÓÔÅÊ Emacs ÜÔÏ ÔÏ, ÞÔÏ ×Ù ÍÏÖÅÔÅ ÏÄÎÏ×ÒÅÍÅÎÎÏ 864ïÄÎÁ ÉÚ ÐÒÉÑÔÎÙÈ ÏÓÏÂÅÎÎÏÓÔÅÊ Emacs ÜÔÏ ÔÏ, ÞÔÏ ×Ù ÍÏÖÅÔÅ ÏÄÎÏ×ÒÅÍÅÎÎÏ
866ÏÔÏÂÒÁÖÁÔØ ÎÁ ÜËÒÁÎÅ ÂÏÌÅÅ ÞÅÍ ÏÄÎÏ ÏËÎÏ. 865ÏÔÏÂÒÁÖÁÔØ ÎÁ ÜËÒÁÎÅ ÂÏÌÅÅ ÞÅÍ ÏÄÎÏ ÏËÎÏ.
@@ -868,7 +867,7 @@ C-s ÎÁÞÉÎÁÅÔ ÐÏÉÓË É ÓÍÏÔÒÉÔ ÎÁ ÌÀÂÙÅ ×ÈÏÖÄÅÎÉÑ ÉÓËÏÍÏÊ ÓÔÒÏËÉ ðïóìå ÔÅËÕÝÅÊ
868>> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ ÜÔÕ ÌÉÎÉÀ, É ÎÁÂÅÒÉÔÅ C-u 0 C-l (ÜÔÏ CONTROL-L, Á 867>> ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ÎÁ ÜÔÕ ÌÉÎÉÀ, É ÎÁÂÅÒÉÔÅ C-u 0 C-l (ÜÔÏ CONTROL-L, Á
869 ÎÅ CONTROL-1). 868 ÎÅ CONTROL-1).
870 869
871>> ôÅÐÅÒØ, ÎÁÂÅÒÉÔÅ C-x 2, ÞÔÏ ÒÁÚÄÅÌÉÔ ÜËÒÁÎ ÎÁ Ä×Á ÏËÎÁ. 870>> ôÅÐÅÒØ ÎÁÂÅÒÉÔÅ C-x 2, ÞÔÏ ÒÁÚÄÅÌÉÔ ÜËÒÁÎ ÎÁ Ä×Á ÏËÎÁ.
872 ïÂÁ ÏËÎÁ ÏÔÏÂÒÁÖÁÀÔ ÕÞÅÂÎÉË. ëÕÒÓÏÒ ÏÓÔÁÌÓÑ × ×ÅÒÈÎÅÍ ÏËÎÅ. 871 ïÂÁ ÏËÎÁ ÏÔÏÂÒÁÖÁÀÔ ÕÞÅÂÎÉË. ëÕÒÓÏÒ ÏÓÔÁÌÓÑ × ×ÅÒÈÎÅÍ ÏËÎÅ.
873 872
874>> îÁÖÍÉÔÅ C-M-v ÄÌÑ ÐÒÏËÒÕÔËÉ ÎÉÖÎÅÇÏ ÏËÎÁ. 873>> îÁÖÍÉÔÅ C-M-v ÄÌÑ ÐÒÏËÒÕÔËÉ ÎÉÖÎÅÇÏ ÏËÎÁ.
@@ -876,10 +875,10 @@ C-s ÎÁÞÉÎÁÅÔ ÐÏÉÓË É ÓÍÏÔÒÉÔ ÎÁ ÌÀÂÙÅ ×ÈÏÖÄÅÎÉÑ ÉÓËÏÍÏÊ ÓÔÒÏËÉ ðïóìå ÔÅËÕÝÅÊ
876 875
877>> îÁÖÍÉÔÅ C-x o ("o" ÏÔ ÓÌÏ×Á "other" - ÄÒÕÇÏÅ) ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ × 876>> îÁÖÍÉÔÅ C-x o ("o" ÏÔ ÓÌÏ×Á "other" - ÄÒÕÇÏÅ) ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ ËÕÒÓÏÒÁ ×
878 ÎÉÖÎÅÅ ÏËÎÏ. 877 ÎÉÖÎÅÅ ÏËÎÏ.
879>> éÓÐÏÌØÚÕÊÔÅ C-v É M-v × ÎÉÖÎÅÍ ÏËÎÅ ÞÔÏ ÐÒÏËÒÕÞÉ×ÁÔØ ÅÇÏ. 878>> éÓÐÏÌØÚÕÊÔÅ C-v É M-v × ÎÉÖÎÅÍ ÏËÎÅ, ÞÔÏÂÙ ÐÒÏËÒÕÞÉ×ÁÔØ ÅÇÏ.
880 ðÒÏÄÏÌÖÉÔÅ ÞÔÅÎÉÅ ÜÔÉÈ ÉÎÓÔÒÕËÃÉÊ × ×ÅÒÈÎÅÍ ÏËÎÅ. 879 ðÒÏÄÏÌÖÉÔÅ ÞÔÅÎÉÅ ÜÔÉÈ ÉÎÓÔÒÕËÃÉÊ × ×ÅÒÈÎÅÍ ÏËÎÅ.
881 880
882>> îÁÖÍÉÔÅ C-x o ÓÎÏ×Á ÞÔÏÂÙ ÐÅÒÅÍÅÓÔÉÔØ ËÕÒÓÏÒ ÎÁÚÁÄ × ×ÅÒÈÎÅÅ ÏËÎÏ. 881>> îÁÖÍÉÔÅ C-x o ÓÎÏ×Á, ÞÔÏÂÙ ÐÅÒÅÍÅÓÔÉÔØ ËÕÒÓÏÒ ÎÁÚÁÄ × ×ÅÒÈÎÅÅ ÏËÎÏ.
883 ëÕÒÓÏÒ × ×ÅÒÈÎÅÍ ÏËÎÅ ÔÁÍ ÖÅ, ÇÄÅ É ÂÙÌ ÄÏ ÔÏÇÏ. 882 ëÕÒÓÏÒ × ×ÅÒÈÎÅÍ ÏËÎÅ ÔÁÍ ÖÅ, ÇÄÅ É ÂÙÌ ÄÏ ÔÏÇÏ.
884 883
885÷Ù ÍÏÖÅÔÅ ÐÒÏÄÏÌÖÁÔØ ÐÅÒÅËÌÀÞÁÔØÓÑ ÍÅÖÄÕ ÏËÎÁÍÉ, ÉÓÐÏÌØÚÕÑ C-x o. ëÁÖÄÏÅ 884÷Ù ÍÏÖÅÔÅ ÐÒÏÄÏÌÖÁÔØ ÐÅÒÅËÌÀÞÁÔØÓÑ ÍÅÖÄÕ ÏËÎÁÍÉ, ÉÓÐÏÌØÚÕÑ C-x o. ëÁÖÄÏÅ
@@ -892,9 +891,9 @@ C-s ÎÁÞÉÎÁÅÔ ÐÏÉÓË É ÓÍÏÔÒÉÔ ÎÁ ÌÀÂÙÅ ×ÈÏÖÄÅÎÉÑ ÉÓËÏÍÏÊ ÓÔÒÏËÉ ðïóìå ÔÅËÕÝÅÊ
892× ÏËÎÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ É ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏ ÐÒÏÄ×ÉÇÁÔØÓÑ ×Ï ×ÔÏÒÏÍ, ÉÓÐÏÌØÚÕÑ 891× ÏËÎÅ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ É ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏ ÐÒÏÄ×ÉÇÁÔØÓÑ ×Ï ×ÔÏÒÏÍ, ÉÓÐÏÌØÚÕÑ
893C-M-v. 892C-M-v.
894 893
895C-M-v ÐÒÉÍÅÒ CONTROL-META ÓÉÍ×ÏÌÁ. åÓÌÉ Õ ×ÁÓ ÅÓÔØ ÎÁÓÔÏÑÝÁÑ ËÎÏÐËÁ META 894C-M-v - ÐÒÉÍÅÒ CONTROL-META ÓÉÍ×ÏÌÁ. åÓÌÉ Õ ×ÁÓ ÅÓÔØ ÎÁÓÔÏÑÝÁÑ ËÎÏÐËÁ META
896(Alt), ÔÏ ×Ù ÍÏÖÅÔÅ ÎÁÂÒÁÔØ C-M-v ÎÁÖÁ× ÏÄÎÏ×ÒÅÍÅÎÎÏ CONTROL É META É ÎÅ 895(Alt), ÔÏ ×Ù ÍÏÖÅÔÅ ÎÁÂÒÁÔØ C-M-v, ÎÁÖÁ× ÏÄÎÏ×ÒÅÍÅÎÎÏ CONTROL É META É,
897ÏÔÐÕÓËÁÑ ÉÈ ÎÁÖÁÔØ v. é ÎÅ ×ÁÖÎÏ ËÁËÁÑ ÉÚ ËÌÁ×ÉÛ ÂÕÄÅÔ ÎÁÖÁÔÁ ÐÅÒ×ÏÊ, 896ÎÅ ÏÔÐÕÓËÁÑ ÉÈ, ÎÁÖÁÔØ v. é ÎÅ ×ÁÖÎÏ, ËÁËÁÑ ÉÚ ËÌÁ×ÉÛ ÂÕÄÅÔ ÎÁÖÁÔÁ ÐÅÒ×ÏÊ,
898CONTROL ÉÌÉ META, ÐÏÓËÏÌØËÕ ÜÔÉ ËÎÏÐËÉ ÍÏÄÉÆÉÃÉÒÕÀÔ ÔÉÐ ÓÉÍ×ÏÌÁ. 897CONTROL ÉÌÉ META, ÐÏÓËÏÌØËÕ ÜÔÉ ËÎÏÐËÉ ÍÏÄÉÆÉÃÉÒÕÀÔ ÔÉÐ ÓÉÍ×ÏÌÁ.
899 898
900åÓÌÉ Õ ×ÁÓ ÎÅÔ ÎÁÓÔÏÑÝÅÊ ËÎÏÐËÉ META, É ×Ù ÉÓÐÏÌØÚÕÅÔÅ ESC ×ÍÅÓÔÏ ÎÅÅ, 899åÓÌÉ Õ ×ÁÓ ÎÅÔ ÎÁÓÔÏÑÝÅÊ ËÎÏÐËÉ META, É ×Ù ÉÓÐÏÌØÚÕÅÔÅ ESC ×ÍÅÓÔÏ ÎÅÅ,
@@ -902,43 +901,43 @@ CONTROL ÉÌÉ META, ÐÏÓËÏÌØËÕ ÜÔÉ ËÎÏÐËÉ ÍÏÄÉÆÉÃÉÒÕÀÔ ÔÉÐ ÓÉÍ×ÏÌÁ.
902CONTROL-ESC v ÎÅ ÂÕÄÅÔ ÒÁÂÏÔÁÔØ. ðÏÔÏÍÕ, ÞÔÏ ESC ÉÍÅÅÔ Ó×ÏÊ ÓÏÂÓÔ×ÅÎÎÙÊ 901CONTROL-ESC v ÎÅ ÂÕÄÅÔ ÒÁÂÏÔÁÔØ. ðÏÔÏÍÕ, ÞÔÏ ESC ÉÍÅÅÔ Ó×ÏÊ ÓÏÂÓÔ×ÅÎÎÙÊ
903ÓÉÍ×ÏÌ -- ÜÔÏ ÎÅ ÍÏÄÉÆÉÃÉÒÕÀÝÁÑ ËÎÏÐËÁ. 902ÓÉÍ×ÏÌ -- ÜÔÏ ÎÅ ÍÏÄÉÆÉÃÉÒÕÀÝÁÑ ËÎÏÐËÁ.
904 903
905>> îÁÖÍÉÔÅ C-x 1 (× ×ÅÒÈÎÅÍ ÏËÎÅ) ÞÔÏÂÙ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ÎÉÖÎÅÇÏ. 904>> îÁÖÍÉÔÅ C-x 1 (× ×ÅÒÈÎÅÍ ÏËÎÅ), ÞÔÏÂÙ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ÎÉÖÎÅÇÏ.
906 905
907(åÓÌÉ ×Ù ÎÁÖÁÌÉ C-x 1 × ÎÉÖÎÅÍ ÏËÎÅ, ÔÏ ×Ù ÉÚÂÁ×ÉÌÉÓØ ÏÔ ×ÅÒÈÎÅÇÏ. ðÏÎÉÍÁÊÔÅ 906(åÓÌÉ ×Ù ÎÁÖÁÌÉ C-x 1 × ÎÉÖÎÅÍ ÏËÎÅ, ÔÏ ×Ù ÉÚÂÁ×ÉÌÉÓØ ÏÔ ×ÅÒÈÎÅÇÏ. ðÏÎÉÍÁÊÔÅ
908ÜÔÕ ËÏÍÁÎÄÕ ËÁË "ïÓÔÁ×ÉÔØ ÔÏÌØËÏ ÏÄÎÏ ÏËÎÏ, ÔÏ × ËÏÔÏÒÏÍ Ñ ÓÅÊÞÁÓ ÎÁÈÏÖÕÓØ"). 907ÜÔÕ ËÏÍÁÎÄÕ ËÁË "ïÓÔÁ×ÉÔØ ÔÏÌØËÏ ÏÄÎÏ ÏËÎÏ, ÔÏ, × ËÏÔÏÒÏÍ Ñ ÓÅÊÞÁÓ ÎÁÈÏÖÕÓØ").
909 908
910÷ÁÍ ÎÅ ÎÕÖÎÏ ÏÔÏÂÒÁÖÁÔØ ÏÄÉÎ É ÔÏÔ ÖÅ ÂÕÆÅÒ × ÏÂÏÉÈ ÏËÎÁÈ. åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ 909÷ÁÍ ÎÅ ÎÕÖÎÏ ÏÔÏÂÒÁÖÁÔØ ÏÄÉÎ É ÔÏÔ ÖÅ ÂÕÆÅÒ × ÏÂÏÉÈ ÏËÎÁÈ. åÓÌÉ ×Ù
911C-x C-f ÞÔÏÂÙ ÏÔËÒÙÔØ ÆÁÊÌ × ÏÄÎÏÍ ÏËÎÅ, ÄÒÕÇÏÅ ÏÓÔÁÎÅÔÓÑ ÂÅÚ ÉÚÍÅÎÅÎÉÑ. ÷Ù 910ÉÓÐÏÌØÚÕÅÔÅ C-x C-f, ÞÔÏÂÙ ÏÔËÒÙÔØ ÆÁÊÌ × ÏÄÎÏÍ ÏËÎÅ, ÄÒÕÇÏÅ ÏÓÔÁÎÅÔÓÑ ÂÅÚ
912ÍÏÖÅÔÅ ÏÔËÒÙ×ÁÔØ ÆÁÊÌÙ × ËÁÖÄÏÍ ÏËÎÅ ÎÅÚÁ×ÉÓÉÍÏ. 911ÉÚÍÅÎÅÎÉÑ. ÷Ù ÍÏÖÅÔÅ ÏÔËÒÙ×ÁÔØ ÆÁÊÌÙ × ËÁÖÄÏÍ ÏËÎÅ ÎÅÚÁ×ÉÓÉÍÏ.
913 912
914åÓÔØ ÄÒÕÇÏÊ ÐÕÔØ ÉÓÐÏÌØÚÏ×ÁÔØ Ä×Á ÏËÎÁ ÏÔÏÂÒÁÖÁÀÝÉÈ ÒÁÚÎÙÅ ÆÁÊÌÙ: 913åÓÔØ ÄÒÕÇÏÊ ÐÕÔØ ÉÓÐÏÌØÚÏ×ÁÔØ Ä×Á ÏËÎÁ, ÏÔÏÂÒÁÖÁÀÝÉÈ ÒÁÚÎÙÅ ÆÁÊÌÙ:
915 914
916>> îÁÂÅÒÉÔÅ C-x 4 C-f ÚÁÔÅÍ ÉÍÑ ÏÄÎÏÇÏ É ×ÁÛÉÈ ÆÁÊÌÏ×. úÁ×ÅÒÛÉÔÅ <Return>. 915>> îÁÂÅÒÉÔÅ C-x 4 C-f, ÚÁÔÅÍ ÉÍÑ ÏÄÎÏÇÏ É ×ÁÛÉÈ ÆÁÊÌÏ×. úÁ×ÅÒÛÉÔÅ <Return>.
917 ðÏÓÍÏÔÒÉÔÅ ÞÔÏ ×ÙÂÒÁÎÎÙÊ ÆÁÊÌ ÐÏÑ×ÉÌÓÑ × ÎÉÖÎÅÍ ÏËÎÅ. ëÕÒÓÏÒ ÐÅÒÅÛÅÌ 916 ðÏÓÍÏÔÒÉÔÅ, ÞÔÏ ×ÙÂÒÁÎÎÙÊ ÆÁÊÌ ÐÏÑ×ÉÌÓÑ × ÎÉÖÎÅÍ ÏËÎÅ. ëÕÒÓÏÒ ÐÅÒÅÛÅÌ
918 ÔÕÄÁ ÖÅ. 917 ÔÕÄÁ ÖÅ.
919 918
920>> îÁÂÅÒÉÔÅ C-x o ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ × ×ÅÒÈÎÅÅ ÏËÎÏ, É C-x 1 ÞÔÏÂÙ ÕÄÁÌÉÔØ ÎÉÖÎÅÅ 919>> îÁÂÅÒÉÔÅ C-x o, ÞÔÏÂÙ ×ÅÒÎÕÔØÓÑ × ×ÅÒÈÎÅÅ ÏËÎÏ, É C-x 1, ÞÔÏÂÙ ÕÄÁÌÉÔØ
921 ÏËÎÏ. 920 ÎÉÖÎÅÅ ÏËÎÏ.
922 921
923 922
924* òåëõòóé÷îùå õòï÷îé òåäáëôéòï÷áîéñ (RECURSIVE EDITING LEVELS) 923* òåëõòóé÷îùå õòï÷îé òåäáëôéòï÷áîéñ (RECURSIVE EDITING LEVELS)
925-------------------------------------------------------------- 924--------------------------------------------------------------
926 925
927éÎÏÇÄÁ ×Ù ÂÕÄÅÔÅ ×ËÌÀÞÁÔØ ÔÁË ÎÁÚÙ×ÁÅÍÙÅ "ÒÅËÕÒÓÉ×ÎÙÅ ÕÒÏ×ÎÉ 926éÎÏÇÄÁ ×Ù ÂÕÄÅÔÅ ×ËÌÀÞÁÔØ ÔÁË ÎÁÚÙ×ÁÅÍÙÅ "ÒÅËÕÒÓÉ×ÎÙÅ ÕÒÏ×ÎÉ
928ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ". îÁ ÜÔÏ ÕËÁÚÙ×ÁÀÔ ÐÒÑÍÏÕÇÏÌØÎÙÅ ÓËÏÂËÉ × ÓÔÒÏËÅ 927ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ". îÁ ÜÔÏ ÕËÁÚÙ×ÁÀÔ ÐÒÑÍÏÕÇÏÌØÎÙÅ ÓËÏÂËÉ × ÓÔÒÏËÅ ÓÏÓÔÏÑÎÉÑ,
929ÓÏÓÔÏÑÎÉÑ, ÏËÒÕÖÁÀÝÉÅ ÏÂÙÞÎÙÅ ÓËÏÂËÉ ×ÏËÒÕÇ ÉÍÅÎÉ ÏÓÎÏ×ÎÏÇÏ ÒÅÖÉÍÁ. îÁÐÒÉÍÅÒ 928ÏËÒÕÖÁÀÝÉÅ ÏÂÙÞÎÙÅ ÓËÏÂËÉ ×ÏËÒÕÇ ÉÍÅÎÉ ÏÓÎÏ×ÎÏÇÏ ÒÅÖÉÍÁ. îÁÐÒÉÍÅÒ, ×Ù ÍÏÖÅÔÅ
930×Ù ÍÏÖÅÔÅ Õ×ÉÄÅÔØ [(Fundamental)] ×ÍÅÓÔÏ (Fundamental). 929Õ×ÉÄÅÔØ [(Fundamental)] ×ÍÅÓÔÏ (Fundamental).
931 930
932þÔÏÂÙ ×ÙÊÔÉ ÉÚ ÒÅËÕÒÓÉ×ÎÙÈ ÕÒÏ×ÎÅÊ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ, ÎÁÖÍÉÔÅ ESC ESC ESC. üÔÏ 931þÔÏÂÙ ×ÙÊÔÉ ÉÚ ÒÅËÕÒÓÉ×ÎÙÈ ÕÒÏ×ÎÅÊ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ, ÎÁÖÍÉÔÅ ESC ESC ESC. üÔÏ
933ÍÎÏÇÏÃÅÌÅ×ÁÑ ËÏÍÁÎÄÁ "×ÙÈÏÄ". ÷Ù ÔÁË ÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÅÅ ËÁË ÄÌÑ 932ÍÎÏÇÏÃÅÌÅ×ÁÑ ËÏÍÁÎÄÁ "×ÙÈÏÄ". ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÅÅ ËÁË ÄÌÑ
934ÕÎÉÞÔÏÖÅÎÉÑ ÌÉÛÎÉÈ ÏËÏÎ, ÔÁË É ÄÌÑ ×ÙÈÏÄÁ ÉÚ ÍÉÎÉ-ÂÕÆÅÒÁ. 933ÕÎÉÞÔÏÖÅÎÉÑ ÌÉÛÎÉÈ ÏËÏÎ, ÔÁË É ÄÌÑ ×ÙÈÏÄÁ ÉÚ ÍÉÎÉ-ÂÕÆÅÒÁ.
935 934
936>> îÁÖÍÉÔÅ M-x ÞÔÏÂÙ ÐÏÐÁÓÔØ × ÍÉÎÉ-ÂÕÆÅÒ; ÚÁÔÅÍ ÎÁÖÍÉÔÅ ESC ESC ESC ÞÔÏÂÙ 935>> îÁÖÍÉÔÅ M-x, ÞÔÏÂÙ ÐÏÐÁÓÔØ × ÍÉÎÉ-ÂÕÆÅÒ; ÚÁÔÅÍ ÎÁÖÍÉÔÅ ESC ESC ESC,
937 ÐÏËÉÎÕÔØ ÅÇÏ. 936 ÞÔÏÂÙ ÐÏËÉÎÕÔØ ÅÇÏ.
938 937
939÷Ù ÎÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-g ÞÔÏÂÙ ×ÙÊÔÉ ÉÚ ÒÅËÕÒÓÉ×ÎÙÈ ÕÒÏ×ÎÅÊ 938÷Ù ÎÅ ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ C-g, ÞÔÏÂÙ ×ÙÊÔÉ ÉÚ ÒÅËÕÒÓÉ×ÎÙÈ ÕÒÏ×ÎÅÊ
940ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ. ðÏÔÏÍÕ, ÞÔÏ C-g ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÏÔÍÅÎÙ ËÏÍÁÎÄÙ É ÁÒÇÕÍÅÎÔÏ× 939ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ. ðÏÔÏÍÕ, ÞÔÏ C-g ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÏÔÍÅÎÙ ËÏÍÁÎÄÙ É
941âåú ÒÅËÕÒÓÉ×ÎÙÈ ÕÒÏ×ÎÅÊ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ. 940ÁÒÇÕÍÅÎÔÏ× âåú ÒÅËÕÒÓÉ×ÎÙÈ ÕÒÏ×ÎÅÊ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ.
942 941
943 942
944* ëáë ðïìõþéôø ðïíïýø (GETTING MORE HELP) 943* ëáë ðïìõþéôø ðïíïýø (GETTING MORE HELP)
@@ -953,10 +952,10 @@ C-x C-f ÞÔÏÂÙ ÏÔËÒÙÔØ ÆÁÊÌ × ÏÄÎÏÍ ÏËÎÅ, ÄÒÕÇÏÅ ÏÓÔÁÎÅÔÓÑ ÂÅÚ ÉÚÍÅÎÅÎÉÑ. ÷Ù
953ÐÏÍÏÝÉ". 952ÐÏÍÏÝÉ".
954 953
955þÔÏÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÓÏÂÅÎÎÏÓÔÉ ðÏÍÏÝÉ, ÎÁÖÍÉÔÅ C-h, É ÚÁÔÅÍ ÓÉÍ×ÏÌ, ËÏÔÏÒÙÊ 954þÔÏÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÓÏÂÅÎÎÏÓÔÉ ðÏÍÏÝÉ, ÎÁÖÍÉÔÅ C-h, É ÚÁÔÅÍ ÓÉÍ×ÏÌ, ËÏÔÏÒÙÊ
956ÒÁÓÓËÁÖÅÔ ËÁËÏÊ ÉÍÅÎÎÏ ×ÉÄ ÐÏÍÏÝÉ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ. åÓÌÉ ×Ù äåêóô÷éôåìøîï 955ÒÁÓÓËÁÖÅÔ, ËÁËÏÊ ÉÍÅÎÎÏ ×ÉÄ ÐÏÍÏÝÉ ×Ù ÈÏÔÉÔÅ ÐÏÌÕÞÉÔØ. åÓÌÉ ×Ù äåêóô÷éôåìøîï
957ÒÁÓÔÅÒÑÌÉÓØ, ÎÁÂÅÒÉÔÅ C-h ? É Emacs ÒÁÓÓËÁÖÅÔ ×ÁÍ ËÁËÕÀ ÐÏÍÏÝØ ÏÎ ÍÏÖÅÔ ×ÁÍ 956ÒÁÓÔÅÒÑÌÉÓØ, ÎÁÂÅÒÉÔÅ C-h ?, É Emacs ÒÁÓÓËÁÖÅÔ ×ÁÍ ËÁËÕÀ ÐÏÍÏÝØ ÏÎ ÍÏÖÅÔ ×ÁÍ
958ÐÒÅÄÏÓÔÁ×ÉÔØ. åÓÌÉ ×Ù ÎÁÖÁÌÉ C-h É ÐÅÒÅÄÕÍÁÌÉ ÏÂÒÁÝÁÔØÓÑ Ë ÐÏÍÏÝÉ, ÐÒÏÓÔÏ 957ÐÒÅÄÏÓÔÁ×ÉÔØ. åÓÌÉ ×Ù ÎÁÖÁÌÉ C-h É ÐÅÒÅÄÕÍÁÌÉ ÏÂÒÁÝÁÔØÓÑ Ë ÐÏÍÏÝÉ, ÐÒÏÓÔÏ
959ÎÁÖÍÉÔÅ C-g ÞÔÏÂÙ ÏÔÍÅÎÉÔØ ÜÔÕ ËÏÍÁÎÄÕ. 958ÎÁÖÍÉÔÅ C-g, ÞÔÏÂÙ ÏÔÍÅÎÉÔØ ÜÔÕ ËÏÍÁÎÄÕ.
960 959
961(ëÏÅ-ÇÄÅ ÐÅÒÅÎÁÚÎÁÞÁÀÔ ÓÉÍ×ÏÌ C-h. òÅÁÌØÎÏÊ ÎÅÏÂÈÏÄÉÍÏÓÔÉ × ÜÔÏÍ ÎÅÔ, 960(ëÏÅ-ÇÄÅ ÐÅÒÅÎÁÚÎÁÞÁÀÔ ÓÉÍ×ÏÌ C-h. òÅÁÌØÎÏÊ ÎÅÏÂÈÏÄÉÍÏÓÔÉ × ÜÔÏÍ ÎÅÔ,
962ÓÏÏÂÝÉÔÅ Ï ÎÅÊ ÓÉÓÔÅÍÎÏÍÕ ÁÄÍÉÎÉÓÔÒÁÔÏÒÕ. ôÅÍ ×ÒÅÍÅÎÅÍ, ÅÓÌÉ C-h ÎÅ ×ÙÚÙ×ÁÅÔ 961ÓÏÏÂÝÉÔÅ Ï ÎÅÊ ÓÉÓÔÅÍÎÏÍÕ ÁÄÍÉÎÉÓÔÒÁÔÏÒÕ. ôÅÍ ×ÒÅÍÅÎÅÍ, ÅÓÌÉ C-h ÎÅ ×ÙÚÙ×ÁÅÔ
@@ -971,35 +970,35 @@ C-x C-f ÞÔÏÂÙ ÏÔËÒÙÔØ ÆÁÊÌ × ÏÄÎÏÍ ÏËÎÅ, ÄÒÕÇÏÅ ÏÓÔÁÎÅÔÓÑ ÂÅÚ ÉÚÍÅÎÅÎÉÑ. ÷Ù
971 óÏÏÂÝÅÎÉÅ ÄÏÌÖÎÏ ×ÙÇÌÑÄÅÔØ ÐÒÉÍÅÒÎÏ ÔÁË 970 óÏÏÂÝÅÎÉÅ ÄÏÌÖÎÏ ×ÙÇÌÑÄÅÔØ ÐÒÉÍÅÒÎÏ ÔÁË
972 971
973 C-p runs the command previous-line 972 C-p runs the command previous-line
974 (C-p ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÕ previous-line {ÐÒÅÄÙÄÕÝÁÑ-ÌÉÎÉÑ}) 973 (C-p ×ÙÐÏÌÎÑÅÔ ËÏÍÁÎÄÕ previous-line {ÐÒÅÄÙÄÕÝÁÑ-ÓÔÒÏËÁ})
975 974
976÷ÁÍ ÓÏÏÂÝÁÀÔ "ÉÍÑ ÆÕÎËÃÉÉ". éÍÅÎÁ ÆÕÎËÃÉÉ ÉÓÐÏÌØÚÕÀÔÓÑ × ÏÓÎÏ×ÎÏÍ ÄÌÑ 975÷ÁÍ ÓÏÏÂÝÁÀÔ "ÉÍÑ ÆÕÎËÃÉÉ". éÍÅÎÁ ÆÕÎËÃÉÊ ÉÓÐÏÌØÚÕÀÔÓÑ × ÏÓÎÏ×ÎÏÍ ÄÌÑ
977ÎÁÓÔÒÏÊËÉ É ÒÁÓÛÉÒÅÎÉÑ Emacs. éÍÅÎÁ ÆÕÎËÃÉÊ ×ÙÂÒÁÎÙ ÔÁË, ÞÔÏÂÙ ÐÏËÁÚÁÔØ ÞÔÏ 976ÎÁÓÔÒÏÊËÉ É ÒÁÓÛÉÒÅÎÉÑ Emacs. éÍÅÎÁ ÆÕÎËÃÉÊ ×ÙÂÒÁÎÙ ÔÁË, ÞÔÏÂÙ ÐÏËÁÚÁÔØ,
978ÉÍÅÎÎÏ ËÏÍÁÎÄÁ ÄÅÌÁÅÔ, ÔÁË ÖÅ ÏÎÉ ÐÏÚ×ÏÌÑÀÔ Ó ÐÏÍÏÝØÀ ÜÔÏÊ ËÒÁÔËÏÊ 977ÞÔÏ ÉÍÅÎÎÏ ËÏÍÁÎÄÁ ÄÅÌÁÅÔ, ÔÁËÖÅ ÏÎÉ ÐÏÚ×ÏÌÑÀÔ Ó ÐÏÍÏÝØÀ ÜÔÏÊ ËÒÁÔËÏÊ
979ÉÎÆÏÒÍÁÃÉÉ ÌÅÇÞÅ ÚÁÐÏÍÎÉÔØ ÕÖÅ ×ÙÕÞÅÎÎÙÅ ËÏÍÁÎÄÙ. 978ÉÎÆÏÒÍÁÃÉÉ ÌÅÇÞÅ ÚÁÐÏÍÎÉÔØ ÕÖÅ ×ÙÕÞÅÎÎÙÅ ËÏÍÁÎÄÙ.
980 979
981íÎÏÇÏÓÉÍ×ÏÌØÎÙÅ ËÏÍÁÎÄÙ, ÔÁËÉÅ ËÁË C-x C-s É (ÅÓÌÉ Õ ×ÁÓ ÎÅÔ ËÎÏÐËÉ META ÉÌÉ 980íÎÏÇÏÓÉÍ×ÏÌØÎÙÅ ËÏÍÁÎÄÙ, ÔÁËÉÅ ËÁË C-x C-s É (ÅÓÌÉ Õ ×ÁÓ ÎÅÔ ËÎÏÐËÉ META ÉÌÉ
982EDIT ÉÌÉ ALT) <ESC>v ÔÁË ÖÅ ÂÕÄÕÔ ÄÏÓÔÕÐÎÙ ÐÏÓÌÅ C-h c. 981EDIT ÉÌÉ ALT) <ESC>v ÔÁËÖÅ ÂÕÄÕÔ ÄÏÓÔÕÐÎÙ ÐÏÓÌÅ C-h c.
983 982
984ðÏÌÕÞÉÔÅ ÂÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ Ï ËÏÍÁÎÄÅ ÉÓÐÏÌØÚÕÑ C-h k ×ÍÅÓÔÏ C-h c. 983ðÏÌÕÞÉÔÅ ÂÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ Ï ËÏÍÁÎÄÅ ÉÓÐÏÌØÚÕÑ C-h k ×ÍÅÓÔÏ C-h c.
985 984
986>> îÁÂÅÒÉÔÅ C-h k C-p. 985>> îÁÂÅÒÉÔÅ C-h k C-p.
987 986
988÷Ù Õ×ÉÄÉÔÅ ÏÐÉÓÁÎÉÅ ÆÕÎËÃÉÉ, Á ÔÁËÖÅ ÅÅ ÉÍÑ × ÏÔÄÅÌØÎÏÍ ÏËÎÅ Emacs. ëÏÇÄÁ ×Ù 987÷Ù Õ×ÉÄÉÔÅ ÏÐÉÓÁÎÉÅ ÆÕÎËÃÉÉ, Á ÔÁËÖÅ ÅÅ ÉÍÑ × ÏÔÄÅÌØÎÏÍ ÏËÎÅ Emacs. ëÏÇÄÁ ×Ù
989ÚÁ×ÅÒÛÉÔÅ ÞÔÅÎÉÅ, ÎÁÖÍÉÔÅ C-x 1 ÞÔÏÂÙ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ÔÅËÓÔÁ ÐÏÍÏÝÉ. ÷Ù 988ÚÁ×ÅÒÛÉÔÅ ÞÔÅÎÉÅ, ÎÁÖÍÉÔÅ C-x 1, ÞÔÏÂÙ ÉÚÂÁ×ÉÔØÓÑ ÏÔ ÔÅËÓÔÁ ÐÏÍÏÝÉ. ÷Ù
990ÍÏÖÅÔÅ ×ÙÐÏÌÎÉÔØ ËÁËÏÅ-ÔÏ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ ×Ï ×ÒÅÍÑ ÐÒÏÓÍÏÔÒÁ ÔÅËÓÔÁ ÓÐÒÁ×ËÉ, 989ÍÏÖÅÔÅ ×ÙÐÏÌÎÉÔØ ËÁËÏÅ-ÔÏ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ ×Ï ×ÒÅÍÑ ÐÒÏÓÍÏÔÒÁ ÔÅËÓÔÁ ÓÐÒÁ×ËÉ,
991Á ÔÏÌØËÏ ÚÁÔÅÍ ÎÁÖÁÔØ C-x 1 990Á ÔÏÌØËÏ ÚÁÔÅÍ ÎÁÖÁÔØ C-x 1.
992 991
993åÓÔØ ÅÝÅ ÎÅÓËÏÌØËÏ ÐÏÌÅÚÎÙÈ ÏÐÃÉÊ C-h: 992åÓÔØ ÅÝÅ ÎÅÓËÏÌØËÏ ÐÏÌÅÚÎÙÈ ÏÐÃÉÊ C-h:
994 993
995 C-h f ïÐÉÓÙ×ÁÅÔ ÆÕÎËÃÉÀ. ÷ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÎÁÂÒÁÔØ ÉÍÑ ÆÕÎËÃÉÉ. 994 C-h f ïÐÉÓÙ×ÁÅÔ ÆÕÎËÃÉÀ. ÷ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÎÁÂÒÁÔØ ÉÍÑ ÆÕÎËÃÉÉ.
996 995
997>> ðÏÐÒÏÂÕÊÔÅ ÎÁÂÒÁÔØ C-h f previous-line<Return>. 996>> ðÏÐÒÏÂÕÊÔÅ ÎÁÂÒÁÔØ C-h f previous-line<Return>.
998 üÔÏ ÒÁÓÐÅÞÁÔÁÅÔ ÉÎÆÏÒÍÁÃÉÀ Emacs Ï ÜÔÏÊ ÆÕÎËÃÉÉ, ËÏÔÏÒÁÑ ×ÙÐÏÌÎÑÅÔÓÑ 997 üÔÏ ÒÁÓÐÅÞÁÔÁÅÔ ÉÎÆÏÒÍÁÃÉÀ Emacs Ï ÜÔÏÊ ÆÕÎËÃÉÉ, ËÏÔÏÒÁÑ ×ÙÐÏÌÎÑÅÔÓÑ
999 ËÏÍÁÎÄÏÊ C-p. 998 ËÏÍÁÎÄÏÊ C-p.
1000 999
1001áÎÁÌÏÇÉÞÎÁÑ ËÏÍÁÎÄÁ C-h v ÏÔÏÂÒÁÖÁÅÔ ÄÏËÕÍÅÎÔÁÃÉÀ Ï ÐÅÒÅÍÅÎÎÙÈ, ÚÎÁÞÅÎÉÅ 1000áÎÁÌÏÇÉÞÎÁÑ ËÏÍÁÎÄÁ C-h v ÏÔÏÂÒÁÖÁÅÔ ÄÏËÕÍÅÎÔÁÃÉÀ Ï ÐÅÒÅÍÅÎÎÙÈ, ÚÎÁÞÅÎÉÅ
1002ËÏÔÏÒÙÈ ×Ù ÍÏÖÅÔÅ ÉÚÍÅÎÉÔØ ÄÌÑ ÎÁÓÔÒÏÊËÉ ÐÏ×ÅÄÅÎÉÑ Emacs. ÷ÙÍ ÎÕÖÎÏ ÎÁÂÒÁÔØ 1001ËÏÔÏÒÙÈ ×Ù ÍÏÖÅÔÅ ÉÚÍÅÎÉÔØ ÄÌÑ ÎÁÓÔÒÏÊËÉ ÐÏ×ÅÄÅÎÉÑ Emacs. ÷ÁÍ ÎÕÖÎÏ ÎÁÂÒÁÔØ
1003ÉÍÑ ÐÅÒÅÍÅÎÎÏÊ, ËÏÇÄÁ Emacs ÚÁÐÒÏÓÉÔ ÅÇÏ. 1002ÉÍÑ ÐÅÒÅÍÅÎÎÏÊ, ËÏÇÄÁ Emacs ÚÁÐÒÏÓÉÔ ÅÇÏ.
1004 1003
1005 C-h a Hyper Apropos. ÷×ÅÄÉÔÅ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï É Emacs ÐÏËÁÖÅÔ ×ÁÍ 1004 C-h a Hyper Apropos. ÷×ÅÄÉÔÅ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï É Emacs ÐÏËÁÖÅÔ ×ÁÍ
@@ -1009,14 +1008,14 @@ EDIT ÉÌÉ ALT) <ESC>v ÔÁË ÖÅ ÂÕÄÕÔ ÄÏÓÔÕÐÎÙ ÐÏÓÌÅ C-h c.
1009 1008
1010>> îÁÂÅÒÉÔÅ C-h a file<Return>. 1009>> îÁÂÅÒÉÔÅ C-h a file<Return>.
1011 1010
1012ÜÔÏ ÏÔÏÂÒÁÚÉÔ ÐÏÌÎÙÊ ÓÐÉÓÏË ÆÕÎËÃÉÊ É ÐÅÒÅÍÅÎÎÙÈ ÉÍÅÎÁ ËÏÔÏÒÙÈ ÎÁÞÉÎÁÀÔÓÑ Ó 1011ÜÔÏ ÏÔÏÂÒÁÚÉÔ ÐÏÌÎÙÊ ÓÐÉÓÏË ÆÕÎËÃÉÊ É ÐÅÒÅÍÅÎÎÙÈ, ÉÍÅÎÁ ËÏÔÏÒÙÈ ÎÁÞÉÎÁÀÔÓÑ
1013"newline". îÁÖÍÉÔÅ <Return> ÉÌÉ ËÌÉËÎÉÔÅ ÓÒÅÄÎÅÊ ËÎÏÐËÏÊ ÍÙÛËÉ ÞÔÏÂÙ 1012Ó "newline". îÁÖÍÉÔÅ <Return> ÉÌÉ ËÌÉËÎÉÔÅ ÓÒÅÄÎÅÊ ËÎÏÐËÏÊ ÍÙÛËÉ, ÞÔÏÂÙ
1014ÐÏÌÕÞÉÔØ ÂÏÌØÛÅ Ï ÆÕÎËÃÉÉ ÉÌÉ ÐÅÒÅÍÅÎÎÏÊ. îÁÖÍÉÔÅ `q' ÞÔÏÂÙ ×ÙÊÔÉ ÉÚ 1013ÐÏÌÕÞÉÔØ ÂÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ Ï ÆÕÎËÃÉÉ ÉÌÉ ÐÅÒÅÍÅÎÎÏÊ. îÁÖÍÉÔÅ `q', ÞÔÏÂÙ
1015hyper-apropos. 1014×ÙÊÔÉ ÉÚ hyper-apropos.
1016 1015
1017üÔÏ ÏÔÏÂÒÁÚÉÔ × ÄÒÕÇÏÍ ÏËÎÅ ÓÐÉÓÏË ×ÓÅÈ ËÏÍÁÎÄ M-x ÓÏ ÓÌÏ×ÏÍ "file" × ÉÈ 1016üÔÏ ÏÔÏÂÒÁÚÉÔ × ÄÒÕÇÏÍ ÏËÎÅ ÓÐÉÓÏË ×ÓÅÈ ËÏÍÁÎÄ M-x ÓÏ ÓÌÏ×ÏÍ "file" × ÉÈ
1018ÉÍÅÎÁÈ. ôÁËÖÅ × ÓÐÉÓËÅ, ËÒÏÍÅ ËÏÍÁÎÄ, ÔÁËÉÈ ËÁË find-file, ×Ù Õ×ÉÄÉÔÅ 1017ÉÍÅÎÁÈ. ôÁËÖÅ × ÓÐÉÓËÅ ËÒÏÍÅ ËÏÍÁÎÄ ÔÁËÉÈ, ËÁË find-file, ×Ù Õ×ÉÄÉÔÅ
1019ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÉÍ×ÏÌØÎÙÅ ËÏÍÁÎÄÙ, ÔÁËÉÅ ËÁË C-x C-f. 1018ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÅ ÓÉÍ×ÏÌØÎÙÅ ËÏÍÁÎÄÙ ÔÁËÉÅ, ËÁË C-x C-f.
1020 1019
1021>> îÁÂÅÒÉÔÅ C-M-v ÄÌÑ ÐÒÏËÒÕÔËÉ ÏËÎÁ ÓÐÒÁ×ËÉ. ÷ÙÐÏÌÎÉÔÅ ÜÔÏ ÎÅÓËÏÌØËÏ ÒÁÚ. 1020>> îÁÂÅÒÉÔÅ C-M-v ÄÌÑ ÐÒÏËÒÕÔËÉ ÏËÎÁ ÓÐÒÁ×ËÉ. ÷ÙÐÏÌÎÉÔÅ ÜÔÏ ÎÅÓËÏÌØËÏ ÒÁÚ.
1022 1021
@@ -1024,29 +1023,28 @@ hyper-apropos.
1024 1023
1025 C-h i þÉÔÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÙÅ ÒÕËÏ×ÏÄÓÔ×Á (a.k.a. Info). üÔÁ ËÏÍÁÎÄÁ 1024 C-h i þÉÔÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÙÅ ÒÕËÏ×ÏÄÓÔ×Á (a.k.a. Info). üÔÁ ËÏÍÁÎÄÁ
1026 ÐÅÒÅÈÏÄÉÔ × ÓÐÅÃÉÁÌØÎÙÊ ÂÕÆÅÒ Ó ÉÍÅÎÅÍ `*info*', ÇÄÅ ×Ù 1025 ÐÅÒÅÈÏÄÉÔ × ÓÐÅÃÉÁÌØÎÙÊ ÂÕÆÅÒ Ó ÉÍÅÎÅÍ `*info*', ÇÄÅ ×Ù
1027 ÍÏÖÅÔÅ ÞÉÔÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÙÅ ÒÕËÏ×ÏÄÓÔ×Á ÄÌÑ ÐÁËÅÔÏ× 1026 ÍÏÖÅÔÅ ÞÉÔÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÙÅ ÒÕËÏ×ÏÄÓÔ×Á ÄÌÑ ÐÁËÅÔÏ×,
1028 ÕÓÔÁÎÏ×ÌÅÎÎÙÈ × ×ÁÛÅÊ ÓÉÓÔÅÍÅ. îÁÂÅÒÉÔÅ m emacs <Return> ÄÌÑ 1027 ÕÓÔÁÎÏ×ÌÅÎÎÙÈ × ×ÁÛÅÊ ÓÉÓÔÅÍÅ. îÁÂÅÒÉÔÅ m emacs <Return> ÄÌÑ
1029 ÞÔÅÎÉÑ ÒÕËÏ×ÏÄÓÔ×Á ÐÏ Emacs. åÓÌÉ ×Ù ÎÉËÏÇÄÁ ÒÁÎÅÅ ÎÅ 1028 ÞÔÅÎÉÑ ÒÕËÏ×ÏÄÓÔ×Á ÐÏ Emacs. åÓÌÉ ×Ù ÎÉËÏÇÄÁ ÒÁÎÅÅ ÎÅ
1030 ÉÓÐÏÌØÚÏ×ÁÌÉ Info, ÔÏ ÎÁÂÅÒÉÔÅ ? É Emacs ÏÔËÒÏÅÔ ÕÞÅÂÎÉË ÐÏ 1029 ÉÓÐÏÌØÚÏ×ÁÌÉ Info, ÔÏ ÎÁÂÅÒÉÔÅ ? É Emacs ÏÔËÒÏÅÔ ÕÞÅÂÎÉË ÐÏ
1031 ×ÏÚÍÏÖÎÏÓÔÑÍ ÒÅÖÉÍÁ Info. ïÄÎÁÖÄÙ ÏÚÎÁËÏÍÉ×ÛÉÓØ Ó ÜÔÉÍ 1030 ×ÏÚÍÏÖÎÏÓÔÑÍ ÒÅÖÉÍÁ Info. ïÄÎÁÖÄÙ ÏÚÎÁËÏÍÉ×ÛÉÓØ Ó ÜÔÉÍ
1032 ÕÞÅÂÎÉËÏÍ, ×Ù ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÕËÏ×ÏÄÓÔ×Ï Emacs Info × 1031 ÕÞÅÂÎÉËÏÍ, ×Ù ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÕËÏ×ÏÄÓÔ×Ï Emacs Info ×
1033 ËÁÞÅÔÓ×Å ÏÓÎÏ×ÎÏÊ ÄÏËÕÍÅÎÔÁÃÉÉ. 1032 ËÁÞÅÓÔ×Å ÏÓÎÏ×ÎÏÊ ÄÏËÕÍÅÎÔÁÃÉÉ.
1034
1035 1033
1036 1034
1037* úáëìàþåîéå 1035* úáëìàþåîéå
1038------------ 1036------------
1039 1037
1040úÁÐÏÍÎÉÔÅ, ÞÔÏ ÞÔÏÂÙ ×ÙÊÔÉ ÉÚ Emacs ÎÁÓÏ×ÓÅÍ ÉÓÐÏÌØÚÕÅÔÓÑ ÓÏÞÅÔÁÎÉÅ C-x 1038úÁÐÏÍÎÉÔÅ, ÞÔÏÂÙ ÓÏ×ÓÅÍ ×ÙÊÔÉ ÉÚ Emacs, ÉÓÐÏÌØÚÕÅÔÓÑ ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ
1041C-c. á ÞÔÏÂÙ ×ÒÅÍÅÎÎÏ ×ÙÊÔÉ × ÏÂÏÌÏÞËÕ (shell) É ÐÏÔÏÍ ×ÅÒÎÕÔØÓÑ ÏÂÒÁÔÎÏ, 1039C-x C-c. á ÞÔÏÂÙ ×ÒÅÍÅÎÎÏ ×ÙÊÔÉ × ÏÂÏÌÏÞËÕ (shell) É ÐÏÔÏÍ ×ÅÒÎÕÔØÓÑ
1042ÉÓÐÏÌØÚÕÊÔÅ C-z. 1040ÏÂÒÁÔÎÏ, ÉÓÐÏÌØÚÕÊÔÅ C-z.
1043 1041
1044üÔÏÔ ÕÞÅÂÎÉË ÄÏÌÖÅÎ ÂÙÔØ ÐÏÎÑÔÅÎ ×ÓÅÍ ÎÏ×ÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ, ÅÓÌÉ ×Ù ÎÁÊÄÅÔÅ 1042üÔÏÔ ÕÞÅÂÎÉË ÄÏÌÖÅÎ ÂÙÔØ ÐÏÎÑÔÅÎ ×ÓÅÍ ÎÏ×ÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ, ÎÏ ÅÓÌÉ ×Ù
1045ÞÔÏ-ÎÉÂÕÄØ ÎÅÑÓÎÏÅ, ÎÅ ÎÕÖÎÏ ÓÉÄÅÔØ É ÐÏÒÉÃÁÔØ ÓÅÂÑ -- ÖÁÌÕÊÔÅÓØ! 1043ÎÁÊÄÅÔÅ ÞÔÏ-ÎÉÂÕÄØ ÎÅÑÓÎÏÅ, ÎÅ ÎÕÖÎÏ ÓÉÄÅÔØ É ÐÏÒÉÃÁÔØ ÓÅÂÑ -- ÖÁÌÕÊÔÅÓØ!
1046 1044
1047 1045
1048* COPYING 1046* COPYING
1049------- 1047---------
1050 1048
1051üÔÏÔ ÕÞÅÂÎÉË ÐÒÏÉÚÏÛÅÌ ÉÚ ÄÌÉÎÎÏÊ ÓÅÒÉÉ ÕÞÅÂÎÉËÏ× Emacs, ÎÁÞÁÔÏÊ Ó ÏÄÎÁÖÄÙ 1049üÔÏÔ ÕÞÅÂÎÉË ÐÒÏÉÚÏÛÅÌ ÉÚ ÄÌÉÎÎÏÊ ÓÅÒÉÉ ÕÞÅÂÎÉËÏ× Emacs, ÎÁÞÁÔÏÊ Ó ÏÄÎÁÖÄÙ
1052ÎÁÐÉÓÁÎÎÏÇÏ by Stuart Cracraft ÄÌÑ ÏÒÉÇÉÎÁÌØÎÏÇÏ Emacs. 1050ÎÁÐÉÓÁÎÎÏÇÏ by Stuart Cracraft ÄÌÑ ÏÒÉÇÉÎÁÌØÎÏÇÏ Emacs.
@@ -1071,12 +1069,17 @@ Copyright (c) 1985, 1996 Free Software Foundation
1071õÓÌÏ×ÉÑ ËÏÐÉÒÏ×ÁÎÉÑ ÓÁÍÏÇÏ Emacs ÂÏÌÅÅ ÓÌÏÖÎÙÅ, ÎÏ × ÔÏÍ ÖÅ ÄÕÈÅ. 1069õÓÌÏ×ÉÑ ËÏÐÉÒÏ×ÁÎÉÑ ÓÁÍÏÇÏ Emacs ÂÏÌÅÅ ÓÌÏÖÎÙÅ, ÎÏ × ÔÏÍ ÖÅ ÄÕÈÅ.
1072ðÏÖÁÌÕÊÓÔÁ, ÐÒÏÞÔÉÔÅ ÆÁÊÌ COPYING É ÚÁÔÅÍ ÄÁÊÔÅ ËÏÐÉÀ GNU Emacs ×ÁÛÉÍ 1070ðÏÖÁÌÕÊÓÔÁ, ÐÒÏÞÔÉÔÅ ÆÁÊÌ COPYING É ÚÁÔÅÍ ÄÁÊÔÅ ËÏÐÉÀ GNU Emacs ×ÁÛÉÍ
1073ÄÒÕÚØÑÍ. ðÏÍÏÇÉÔÅ ÕÎÉÞÔÏÖÉÔØ ÏÂÓÔÒÕËÃÉÏÎÉÚÍ × ÏÂÌÁÓÔÉ ÐÒÏÇÒÁÍÍÎÏÇÏ 1071ÄÒÕÚØÑÍ. ðÏÍÏÇÉÔÅ ÕÎÉÞÔÏÖÉÔØ ÏÂÓÔÒÕËÃÉÏÎÉÚÍ × ÏÂÌÁÓÔÉ ÐÒÏÇÒÁÍÍÎÏÇÏ
1074ÏÂÅÓÐÅÞÅÎÉÑ ("×ÌÁÄÅÎÉÅ") ÉÓÐÏÌØÚÕÑ, ÓÏÚÄÁ×ÁÑ É ÒÁÓÐÒÏÓÔÒÁÎÑÑ Ó×ÏÂÏÄÎÏÅ 1072ÏÂÅÓÐÅÞÅÎÉÑ ("×ÌÁÄÅÎÉÅ"), ÉÓÐÏÌØÚÕÑ, ÓÏÚÄÁ×ÁÑ É ÒÁÓÐÒÏÓÔÒÁÎÑÑ Ó×ÏÂÏÄÎÏÅ
1075ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ! 1073ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ!
1076 1074
1077// ÚÁÍÅÞÁÎÉÑ, ÉÓÐÒÁ×ÌÅÎÉÑ ÏÛÉÂÏË Ó ÎÅÔÅÒÐÅÎÉÅÍ ÖÄÕ ÐÏ ÁÄÒÅÓÕ ottalex@beep.ru 1075// ÚÁÍÅÞÁÎÉÑ, ÉÓÐÒÁ×ÌÅÎÉÑ ÏÛÉÂÏË Ó ÎÅÔÅÒÐÅÎÉÅÍ ÖÄÕ ÐÏ ÁÄÒÅÓÕ ottalex@narod.ru
1078// Alex Ott. 1076// Alex Ott.
1079// âÏÌØÛÏÅ ÓÐÁÓÉÂÏ ÷ÌÁÄÉÍÉÒÕ âÏÒÍÏÔÏ×Õ, ÎÁ ÂÁÚÅ ÐÅÒÅ×ÏÄÁ ËÏÔÏÒÏÇÏ ÂÙÌ ÓÄÅÌÁÎ 1077// âÏÌØÛÏÅ ÓÐÁÓÉÂÏ ÷ÌÁÄÉÍÉÒÕ âÏÒÍÏÔÏ×Õ, ÎÁ ÂÁÚÅ ÐÅÒÅ×ÏÄÁ ËÏÔÏÒÏÇÏ ÂÙÌ ÓÄÅÌÁÎ
1080// ÜÔÏÔ ÐÅÒÅ×ÏÄ 1078// ÜÔÏÔ ÐÅÒÅ×ÏÄ
1081 1079
1080;;; Local Variables:
1081;;; coding: cyrillic-koi8
1082;;; sentence-end-double-space: nil
1083;;; End:
1084
1082;;; arch-tag: ad4e5698-ea8b-45b7-b236-ed5ad5b72d2b 1085;;; arch-tag: ad4e5698-ea8b-45b7-b236-ed5ad5b72d2b
diff --git a/etc/TUTORIAL.sl b/etc/TUTORIAL.sl
index ea901564a79..263019643db 100644
--- a/etc/TUTORIAL.sl
+++ b/etc/TUTORIAL.sl
@@ -1134,6 +1134,7 @@ pi¹ete in delite prosto programje!
1134 1134
1135;;; Local Variables: 1135;;; Local Variables:
1136;;; coding: iso-latin-2 1136;;; coding: iso-latin-2
1137;;; sentence-end-double-space: nil
1137;;; End: 1138;;; End:
1138 1139
1139;;; arch-tag: 985059e4-44c6-4ac9-b627-46c8db57acf6 1140;;; arch-tag: 985059e4-44c6-4ac9-b627-46c8db57acf6
diff --git a/etc/TUTORIAL.sv b/etc/TUTORIAL.sv
index f4dcc842e5d..65d1548c378 100644
--- a/etc/TUTORIAL.sv
+++ b/etc/TUTORIAL.sv
@@ -1089,4 +1089,9 @@ same spirit. Please read the file COPYING and then do give copies of
1089GNU Emacs to your friends. Help stamp out software obstructionism 1089GNU Emacs to your friends. Help stamp out software obstructionism
1090("ownership") by using, writing, and sharing free software! 1090("ownership") by using, writing, and sharing free software!
1091 1091
1092;;; Local Variables:
1093;;; coding: latin-1
1094;;; sentence-end-double-space: nil
1095;;; End:
1096
1092;;; arch-tag: b352f774-622b-4cc6-85ce-43e3baf4fc1b 1097;;; arch-tag: b352f774-622b-4cc6-85ce-43e3baf4fc1b
diff --git a/etc/TUTORIAL.th b/etc/TUTORIAL.th
index a5852296323..f3708c9d60f 100644
--- a/etc/TUTORIAL.th
+++ b/etc/TUTORIAL.th
@@ -1005,4 +1005,8 @@ virach@nectec.or.th
1005 1005
1006Translate - January 1999 by Virach Sornlertlamvanich 1006Translate - January 1999 by Virach Sornlertlamvanich
1007 1007
1008;;; Local Variables:
1009;;; sentence-end-double-space: nil
1010;;; End:
1011
1008;;; arch-tag: 79ad252a-448a-4dc9-a4cb-2097dd1ec014 1012;;; arch-tag: 79ad252a-448a-4dc9-a4cb-2097dd1ec014
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c4fd4341c89..16de868d006 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,91 @@
12004-04-18 Nick Roberts <nick@nick.uklinux.net>
2
3 * progmodes/gdb-ui.el (gdb-goto-info): Require 'info.
4 (gdb-info-breakpoints-custom): Revert previous change.
5 (gdb-view-assembler): Update assembler if necessary.
6 (gdb-frame-handler): Parse correctly for gdb-current-frame.
7 (gdb-display-source-buffer): Update properly when both source and
8 assembler are visible.
9
102004-04-17 John Wiegley <johnw@newartisans.com>
11
12 * iswitchb.el (iswitchb-max-to-show): Added a new config variable
13 which limits the number of names shown in the minibuffer. Off by
14 default.
15 (iswitchb-completions): Use `iswitchb-max-to-show'. This speeds
16 up iswitchb for users with a multitude of open buffers by showing
17 only the first and last N/2 buffers in the completion list (which
18 is enough to aid C-s/C-r, and to know that more characters are
19 needed to refine the completion list).
20
212004-04-17 Richard M. Stallman <rms@gnu.org>
22
23 * files.el (locate-file-completion): Handle nil in path-and-suffixes.
24 (file-truename): Expand all ~ constructs directly.
25 (insert-directory): Delete any error msg output by the
26 `insert-directory-program'.
27
28 * allout.el (allout-mode-exposure-menu, allout-mode-editing-menu):
29 (allout-mode-navigation-menu, allout-mode-misc-menu): New defvars.
30 (allout-prior-bindings, allout-added-bindings): Defvars deleted.
31 (allout-init): Use find-file-hook, not find-file-hooks.
32 (allout-mode): Eliminate Emacs 18 support.
33 Use write-contents-functions, not local-write-file-hooks.
34
352004-04-17 Daniel Pfeiffer <occitan@esperanto.org>
36
37 * progmodes/compile.el (compilation-error-properties): Fix for
38 adding messages when there are already markers for their file.
39 (compilation-fake-loc): New function.
40
412004-04-16 Dave Love <fx@gnu.org>
42
43 * progmodes/python.el (python-compilation-line-number): Fix braindamage.
44 (python-load-file): Fix python-orig-start setting.
45
46 * progmodes/compile.el: Doc fixes.
47 (compilation-error-regexp-alist-alist)
48 (compilation-mode-font-lock-keywords): Allow non-ASCII where possible.
49 (compilation-assq): Wrap in eval-when-compile.
50 (compilation-mode-font-lock-keywords): Don't use list*.
51 (compilation-start): Avoid warning.
52 (compilation-compat-error-properties)
53 (compilation-directory-properties): Add keymap property.
54 (compilation-parsing-end): Make it a marker for better compatibility.
55
56 * progmodes/python.el (python-after-info-look): Use with-no-warnings.
57
582004-04-16 Mark A. Hershberger <mah@everybody.org>
59
60 * xml.el: Doc fixes.
61 (xml-get-children): Only looks at sub-tags and ignore strings.
62
63 * xml.el (xml-parse-tag): Avoid overwriting node-name.
64
652004-04-16 Stefan Monnier <monnier@iro.umontreal.ca>
66
67 * url/url-util.el (url-debug): Use with-current-buffer.
68
69 * url/url-nfs.el (url-nfs-file-attributes): Add id-format parameter.
70 (url-nfs-create-wrapper): Use new backquote syntax.
71
72 * url/url-https.el (url-https-file-attributes): Add id-format param.
73
74 * url/url-http.el (url-http-head-file-attributes)
75 (url-http-file-attributes): Add id-format parameter.
76
77 * url/url-handlers.el: Use new find-file-hook.
78 (url-file-attributes): Add id-format parameter.
79
80 * url/url-file.el (url-file-create-wrapper): Use new backquote syntax.
81 (url-file-file-attributes): Add id-format parameter.
82
83 * url/url-dav.el: Use with-current-buffer.
84 (url-dav-process-response): Fix regexps and spurious quote.
85 (url-dav-file-attributes): Add id-format param.
86
87 * diff-mode.el (diff-end-of-hunk): Be more careful with unified hunks.
88
12004-04-16 Andre Spiegel <spiegel@gnu.org> 892004-04-16 Andre Spiegel <spiegel@gnu.org>
2 90
3 * vc-hooks.el (vc-default-workfile-unchanged-p): Quote signal. 91 * vc-hooks.el (vc-default-workfile-unchanged-p): Quote signal.
@@ -9,8 +97,7 @@
9 * simple.el (completion-setup-function): Set an initial value 97 * simple.el (completion-setup-function): Set an initial value
10 to `element-common-end' before entering loop. Set a value 98 to `element-common-end' before entering loop. Set a value
11 to `element-common-end' at the end of loop. 99 to `element-common-end' at the end of loop.
12 The bug is reported by Juri Linkov <juri@jurta.org> in emacs-devel 100 The bug is reported by Juri Linkov <juri@jurta.org> in emacs-devel list.
13 list.
14 (completions-common-part): Rename from completion-de-emphasis. 101 (completions-common-part): Rename from completion-de-emphasis.
15 (completions-first-difference): Rename from completion-emphasis. 102 (completions-first-difference): Rename from completion-emphasis.
16 Suggested by RMS. 103 Suggested by RMS.
@@ -20,6 +107,12 @@
20 * bookmark.el (bookmark-send-edited-annotation): Fix docstring. 107 * bookmark.el (bookmark-send-edited-annotation): Fix docstring.
21 (bookmark-edit-annotation-mode): Add mode name. 108 (bookmark-edit-annotation-mode): Add mode name.
22 109
1102004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
111
112 * smerge-mode.el (smerge-match-conflict): Try to do something sensible
113 for nested conflict markers.
114 (smerge-find-conflict): Better handle errors in smerge-match-conflict.
115
232004-04-15 Nick Roberts <nick@nick.uklinux.net> 1162004-04-15 Nick Roberts <nick@nick.uklinux.net>
24 117
25 * progmodes/gdb-ui.el (gdb-goto-info): New function. 118 * progmodes/gdb-ui.el (gdb-goto-info): New function.
@@ -119,7 +212,7 @@
119 in addition it also disables menu-bar, tool-bar, scroll-bars, 212 in addition it also disables menu-bar, tool-bar, scroll-bars,
120 tool-tips, and the blinking cursor. 213 tool-tips, and the blinking cursor.
121 (command-line-1): Skip startup screen if -Q. 214 (command-line-1): Skip startup screen if -Q.
122 (fancy-splash-head): Use :align-to center prop to center splash image. 215 (fancy-splash-head): Use ":align-to center" prop to center splash image.
123 216
124 * emulation/cua-base.el (cua-read-only-cursor-color) 217 * emulation/cua-base.el (cua-read-only-cursor-color)
125 (cua-overwrite-cursor-color, cua-global-mark-cursor-color): Doc fix. 218 (cua-overwrite-cursor-color, cua-global-mark-cursor-color): Doc fix.
@@ -154,6 +247,10 @@
154 * progmodes/python.el (run-python): Use compilation-shell-minor-mode. 247 * progmodes/python.el (run-python): Use compilation-shell-minor-mode.
155 Set compilation-error-regexp-alist earlier. 248 Set compilation-error-regexp-alist earlier.
156 249
250 * progmodes/compile.el (compilation-minor-mode-map)
251 (compilation-shell-minor-mode-map, compile-mouse-goto-error)
252 (compile-goto-error): Re-merge the mouse and non-mouse commands.
253
1572004-04-12 Stefan Monnier <monnier@iro.umontreal.ca> 2542004-04-12 Stefan Monnier <monnier@iro.umontreal.ca>
158 255
159 * progmodes/compile.el (compile-goto-error): Select the buffer/window 256 * progmodes/compile.el (compile-goto-error): Select the buffer/window
diff --git a/lisp/allout.el b/lisp/allout.el
index 04dcf88e91c..458db865535 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -83,7 +83,7 @@ dictated by `allout-layout' should be imposed on mode activation.
83 83
84With value t, auto-mode-activation and auto-layout are enabled. 84With value t, auto-mode-activation and auto-layout are enabled.
85\(This also depends on `allout-find-file-hook' being installed in 85\(This also depends on `allout-find-file-hook' being installed in
86`find-file-hooks', which is also done by `allout-init'.) 86`find-file-hook', which is also done by `allout-init'.)
87 87
88With value `ask', auto-mode-activation is enabled, and endorsement for 88With value `ask', auto-mode-activation is enabled, and endorsement for
89performing auto-layout is asked of the user each time. 89performing auto-layout is asked of the user each time.
@@ -726,17 +726,12 @@ See doc string for allout-keybindings-list for format of binding list."
726 (car (cdr cell))))))) 726 (car (cdr cell)))))))
727 keymap-list) 727 keymap-list)
728 map)) 728 map))
729;;;_ = allout-prior-bindings - being deprecated. 729
730(defvar allout-prior-bindings nil
731 "Variable for use in V18, with `allout-added-bindings', for
732resurrecting, on mode deactivation, bindings that existed before
733activation. Being deprecated.")
734;;;_ = allout-added-bindings - being deprecated
735(defvar allout-added-bindings nil
736 "Variable for use in V18, with `allout-prior-bindings', for
737resurrecting, on mode deactivation, bindings that existed before
738activation. Being deprecated.")
739;;;_ : Menu bar 730;;;_ : Menu bar
731(defvar allout-mode-exposure-menu)
732(defvar allout-mode-editing-menu)
733(defvar allout-mode-navigation-menu)
734(defvar allout-mode-misc-menu)
740(defun produce-allout-mode-menubar-entries () 735(defun produce-allout-mode-menubar-entries ()
741 (require 'easymenu) 736 (require 'easymenu)
742 (easy-menu-define allout-mode-exposure-menu 737 (easy-menu-define allout-mode-exposure-menu
@@ -909,7 +904,7 @@ mode from prop-line file-var activation. Used by `allout-mode' function
909to track repeats.") 904to track repeats.")
910;;;_ > allout-write-file-hook () 905;;;_ > allout-write-file-hook ()
911(defun allout-write-file-hook () 906(defun allout-write-file-hook ()
912 "In `allout-mode', run as a `local-write-file-hooks' activity. 907 "In `allout-mode', run as a `write-contents-functions' activity.
913 908
914Currently just sets `allout-during-write-cue', so outline change-protection 909Currently just sets `allout-during-write-cue', so outline change-protection
915knows to keep inactive during file write." 910knows to keep inactive during file write."
@@ -950,7 +945,7 @@ the `allout-layout' variable. (See `allout-layout' and
950`allout-expose-topic' docstrings for more details on auto layout). 945`allout-expose-topic' docstrings for more details on auto layout).
951 946
952`allout-init' works by setting up (or removing) 947`allout-init' works by setting up (or removing)
953`allout-find-file-hook' in `find-file-hooks', and giving 948`allout-find-file-hook' in `find-file-hook', and giving
954`allout-auto-activation' a suitable setting. 949`allout-auto-activation' a suitable setting.
955 950
956To prime your emacs session for full auto-outline operation, include 951To prime your emacs session for full auto-outline operation, include
@@ -979,16 +974,16 @@ the following two lines in your emacs init file:
979 (curr-mode 'allout-auto-activation)) 974 (curr-mode 'allout-auto-activation))
980 975
981 (cond ((not mode) 976 (cond ((not mode)
982 (setq find-file-hooks (delq hook find-file-hooks)) 977 (setq find-file-hook (delq hook find-file-hook))
983 (if (interactive-p) 978 (if (interactive-p)
984 (message "Allout outline mode auto-activation inhibited."))) 979 (message "Allout outline mode auto-activation inhibited.")))
985 ((eq mode 'report) 980 ((eq mode 'report)
986 (if (memq hook find-file-hooks) 981 (if (memq hook find-file-hook)
987 ;; Just punt and use the reports from each of the modes: 982 ;; Just punt and use the reports from each of the modes:
988 (allout-init (symbol-value curr-mode)) 983 (allout-init (symbol-value curr-mode))
989 (allout-init nil) 984 (allout-init nil)
990 (message "Allout outline mode auto-activation inhibited."))) 985 (message "Allout outline mode auto-activation inhibited.")))
991 (t (add-hook 'find-file-hooks hook) 986 (t (add-hook 'find-file-hook hook)
992 (set curr-mode ; `set', not `setq'! 987 (set curr-mode ; `set', not `setq'!
993 (cond ((eq mode 'activate) 988 (cond ((eq mode 'activate)
994 (message 989 (message
@@ -1252,19 +1247,6 @@ OPEN: A topic that is not closed, though its offspring or body may be."
1252 ; active state or *de*activation 1247 ; active state or *de*activation
1253 ; specifically requested: 1248 ; specifically requested:
1254 (setq allout-explicitly-deactivated t) 1249 (setq allout-explicitly-deactivated t)
1255 (if (string-match "^18\." emacs-version)
1256 ; Revoke those keys that remain
1257 ; as we set them:
1258 (let ((curr-loc (current-local-map)))
1259 (mapcar (function
1260 (lambda (cell)
1261 (if (eq (lookup-key curr-loc (car cell))
1262 (car (cdr cell)))
1263 (define-key curr-loc (car cell)
1264 (assq (car cell) allout-prior-bindings)))))
1265 allout-added-bindings)
1266 (allout-resumptions 'allout-added-bindings)
1267 (allout-resumptions 'allout-prior-bindings)))
1268 1250
1269 (if allout-old-style-prefixes 1251 (if allout-old-style-prefixes
1270 (progn 1252 (progn
@@ -1273,9 +1255,9 @@ OPEN: A topic that is not closed, though its offspring or body may be."
1273 (allout-resumptions 'selective-display) 1255 (allout-resumptions 'selective-display)
1274 (if (and (boundp 'before-change-functions) before-change-functions) 1256 (if (and (boundp 'before-change-functions) before-change-functions)
1275 (allout-resumptions 'before-change-functions)) 1257 (allout-resumptions 'before-change-functions))
1276 (setq local-write-file-hooks 1258 (setq write-contents-functions
1277 (delq 'allout-write-file-hook 1259 (delq 'allout-write-file-hook
1278 local-write-file-hooks)) 1260 write-contents-functions))
1279 (allout-resumptions 'paragraph-start) 1261 (allout-resumptions 'paragraph-start)
1280 (allout-resumptions 'paragraph-separate) 1262 (allout-resumptions 'paragraph-separate)
1281 (allout-resumptions (if (string-match "^18" emacs-version) 1263 (allout-resumptions (if (string-match "^18" emacs-version)
@@ -1315,13 +1297,6 @@ OPEN: A topic that is not closed, though its offspring or body may be."
1315 (cons '(allout-mode . allout-mode-map) 1297 (cons '(allout-mode . allout-mode-map)
1316 minor-mode-map-alist)))) 1298 minor-mode-map-alist))))
1317 1299
1318 ; V18 minor-mode key bindings:
1319 ; Stash record of added bindings
1320 ; for later revocation:
1321 (allout-resumptions 'allout-added-bindings
1322 (list allout-keybindings-list))
1323 (allout-resumptions 'allout-prior-bindings
1324 (list (current-local-map)))
1325 ; and add them: 1300 ; and add them:
1326 (use-local-map (produce-allout-mode-map allout-keybindings-list 1301 (use-local-map (produce-allout-mode-map allout-keybindings-list
1327 (current-local-map))) 1302 (current-local-map)))
@@ -1340,7 +1315,7 @@ OPEN: A topic that is not closed, though its offspring or body may be."
1340 ; Temporarily set by any outline 1315 ; Temporarily set by any outline
1341 ; functions that can be trusted to 1316 ; functions that can be trusted to
1342 ; deal properly with concealed text. 1317 ; deal properly with concealed text.
1343 (add-hook 'local-write-file-hooks 'allout-write-file-hook) 1318 (add-hook 'write-contents-functions 'allout-write-file-hook)
1344 ; Custom auto-fill func, to support 1319 ; Custom auto-fill func, to support
1345 ; respect for topic headline, 1320 ; respect for topic headline,
1346 ; hanging-indents, etc: 1321 ; hanging-indents, etc:
diff --git a/lisp/diff-mode.el b/lisp/diff-mode.el
index f6b2520a112..d41bfcad58a 100644
--- a/lisp/diff-mode.el
+++ b/lisp/diff-mode.el
@@ -305,7 +305,11 @@ when editing big diffs)."
305(defvar diff-narrowed-to nil) 305(defvar diff-narrowed-to nil)
306 306
307(defun diff-end-of-hunk (&optional style) 307(defun diff-end-of-hunk (&optional style)
308 (if (looking-at diff-hunk-header-re) (goto-char (match-end 0))) 308 (when (looking-at diff-hunk-header-re)
309 (unless style
310 ;; Especially important for unified (because headers are ambiguous).
311 (setq style (cdr (assq (char-after) '((?@ . unified) (?* . context))))))
312 (goto-char (match-end 0)))
309 (let ((end (and (re-search-forward (case style 313 (let ((end (and (re-search-forward (case style
310 ;; A `unified' header is ambiguous. 314 ;; A `unified' header is ambiguous.
311 (unified (concat "^[^-+# \\]\\|" 315 (unified (concat "^[^-+# \\]\\|"
diff --git a/lisp/files.el b/lisp/files.el
index be40a0b595e..6a406b6fbf0 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -616,6 +616,8 @@ PATH-AND-SUFFIXES is a pair of lists (DIRECTORIES . SUFFIXES)."
616 (suffix (concat (regexp-opt (cdr path-and-suffixes) t) "\\'")) 616 (suffix (concat (regexp-opt (cdr path-and-suffixes) t) "\\'"))
617 (string-dir (file-name-directory string))) 617 (string-dir (file-name-directory string)))
618 (dolist (dir (car path-and-suffixes)) 618 (dolist (dir (car path-and-suffixes))
619 (unless dir
620 (setq dir default-directory))
619 (if string-dir (setq dir (expand-file-name string-dir dir))) 621 (if string-dir (setq dir (expand-file-name string-dir dir)))
620 (when (file-directory-p dir) 622 (when (file-directory-p dir)
621 (dolist (file (file-name-all-completions 623 (dolist (file (file-name-all-completions
@@ -668,14 +670,17 @@ Do not specify them in other calls."
668 ;; PREV-DIRS can be a cons cell whose car is an alist 670 ;; PREV-DIRS can be a cons cell whose car is an alist
669 ;; of truenames we've just recently computed. 671 ;; of truenames we've just recently computed.
670 672
671 ;; The last test looks dubious, maybe `+' is meant here? --simon. 673 (cond ((or (string= filename "") (string= filename "~"))
672 (if (or (string= filename "") (string= filename "~") 674 (setq filename (expand-file-name filename))
673 (and (string= (substring filename 0 1) "~") 675 (if (string= filename "")
674 (string-match "~[^/]*" filename))) 676 (setq filename "/")))
675 (progn 677 ((and (string= (substring filename 0 1) "~")
676 (setq filename (expand-file-name filename)) 678 (string-match "~[^/]*/?" filename))
677 (if (string= filename "") 679 (let ((first-part
678 (setq filename "/")))) 680 (substring filename 0 (match-end 0)))
681 (rest (substring filename (match-end 0))))
682 (setq filename (concat (expand-file-name first-part) rest)))))
683
679 (or counter (setq counter (list 100))) 684 (or counter (setq counter (list 100)))
680 (let (done 685 (let (done
681 ;; For speed, remove the ange-ftp completion handler from the list. 686 ;; For speed, remove the ange-ftp completion handler from the list.
@@ -4230,7 +4235,7 @@ This works by running a directory listing program
4230whose name is in the variable `insert-directory-program'. 4235whose name is in the variable `insert-directory-program'.
4231If WILDCARD, it also runs the shell specified by `shell-file-name'. 4236If WILDCARD, it also runs the shell specified by `shell-file-name'.
4232 4237
4233When SWITCHES contains the long `--dired' option,this function 4238When SWITCHES contains the long `--dired' option, this function
4234treats it specially, for the sake of dired. However, the 4239treats it specially, for the sake of dired. However, the
4235normally equivalent short `-D' option is just passed on to 4240normally equivalent short `-D' option is just passed on to
4236`insert-directory-program', as any other option." 4241`insert-directory-program', as any other option."
@@ -4307,6 +4312,8 @@ normally equivalent short `-D' option is just passed on to
4307 4312
4308 ;; If `insert-directory-program' failed, signal an error. 4313 ;; If `insert-directory-program' failed, signal an error.
4309 (unless (eq 0 result) 4314 (unless (eq 0 result)
4315 ;; Delete the error message it may have output.
4316 (delete-region beg (point))
4310 ;; On non-Posix systems, we cannot open a directory, so 4317 ;; On non-Posix systems, we cannot open a directory, so
4311 ;; don't even try, because that will always result in 4318 ;; don't even try, because that will always result in
4312 ;; the ubiquitous "Access denied". Instead, show the 4319 ;; the ubiquitous "Access denied". Instead, show the
diff --git a/lisp/iswitchb.el b/lisp/iswitchb.el
index aab768387d0..0c43c270751 100644
--- a/lisp/iswitchb.el
+++ b/lisp/iswitchb.el
@@ -298,6 +298,13 @@ example functions that filter buffernames."
298 :type '(repeat (choice regexp function)) 298 :type '(repeat (choice regexp function))
299 :group 'iswitchb) 299 :group 'iswitchb)
300 300
301(defcustom iswitchb-max-to-show nil
302 "*If non-nil, limit the number of names shown in the minibuffer.
303This can greatly speed up iswitchb if you have a multitude of
304buffers open."
305 :type 'integer
306 :group 'iswitchb)
307
301(defcustom iswitchb-cannot-complete-hook 'iswitchb-completion-help 308(defcustom iswitchb-cannot-complete-hook 'iswitchb-completion-help
302 "*Hook run when `iswitchb-complete' can't complete any more. 309 "*Hook run when `iswitchb-complete' can't complete any more.
303The most useful values are `iswitchb-completion-help', which pops up a 310The most useful values are `iswitchb-completion-help', which pops up a
@@ -1185,6 +1192,15 @@ Copied from `icomplete-exhibit' with two changes:
1185 contents 1192 contents
1186 (not minibuffer-completion-confirm))))))) 1193 (not minibuffer-completion-confirm)))))))
1187 1194
1195(defun iswitchb-output-completion (com)
1196 (if (= (length com) most-len)
1197 ;; Most is one exact match,
1198 ;; note that and leave out
1199 ;; for later indication:
1200 (ignore
1201 (setq most-is-exact t))
1202 (substring com most-len)))
1203
1188(defun iswitchb-completions (name require-match) 1204(defun iswitchb-completions (name require-match)
1189 "Return the string that is displayed after the user's text. 1205 "Return the string that is displayed after the user's text.
1190Modified from `icomplete-completions'." 1206Modified from `icomplete-completions'."
@@ -1224,28 +1240,23 @@ Modified from `icomplete-completions'."
1224 "") 1240 "")
1225 (if (not iswitchb-use-fonts) " [Matched]"))) 1241 (if (not iswitchb-use-fonts) " [Matched]")))
1226 (t ;multiple matches 1242 (t ;multiple matches
1243 (if (and iswitchb-max-to-show
1244 (> (length comps) iswitchb-max-to-show))
1245 (setq comps
1246 (append
1247 (subseq comps 0 (/ iswitchb-max-to-show 2))
1248 (list "...")
1249 (subseq comps (- (length comps)
1250 (/ iswitchb-max-to-show 2))))))
1227 (let* ( 1251 (let* (
1228 ;;(most (try-completion name candidates predicate)) 1252 ;;(most (try-completion name candidates predicate))
1229 (most nil) 1253 (most nil)
1230 (most-len (length most)) 1254 (most-len (length most))
1231 most-is-exact 1255 most-is-exact
1232 (alternatives 1256 (alternatives (if most
1233 (apply 1257 (mapconcat 'iswitchb-output-completion
1234 (function concat) 1258 comps ",")
1235 (cdr (apply 1259 (mapconcat 'identity comps ","))))
1236 (function nconc)
1237 (mapcar '(lambda (com)
1238 (if (= (length com) most-len)
1239 ;; Most is one exact match,
1240 ;; note that and leave out
1241 ;; for later indication:
1242 (progn
1243 (setq most-is-exact t)
1244 ())
1245 (list ","
1246 (substring com
1247 most-len))))
1248 comps))))))
1249 1260
1250 (concat 1261 (concat
1251 1262
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index ff4256192c4..71946dd02f5 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -100,7 +100,7 @@ in the compilation output, and should return a transformed file name.")
100;;;###autoload 100;;;###autoload
101(defvar compilation-process-setup-function nil 101(defvar compilation-process-setup-function nil
102 "*Function to call to customize the compilation process. 102 "*Function to call to customize the compilation process.
103This functions is called immediately before the compilation process is 103This function is called immediately before the compilation process is
104started. It can be used to set any variables or functions that are used 104started. It can be used to set any variables or functions that are used
105while processing the output of the compilation process. The function 105while processing the output of the compilation process. The function
106is called with variables `compilation-buffer' and `compilation-window' 106is called with variables `compilation-buffer' and `compilation-window'
@@ -187,8 +187,9 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
187 "^\\([^( \n\t]+\\)(\\([0-9]+\\):\\([0-9]+\\)) :\ 187 "^\\([^( \n\t]+\\)(\\([0-9]+\\):\\([0-9]+\\)) :\
188 \\(?:warnin\\(g\\)\\|informationa\\(l\\)\\)?" 1 2 3 (4 . 5)) 188 \\(?:warnin\\(g\\)\\|informationa\\(l\\)\\)?" 1 2 3 (4 . 5))
189 189
190 ;; fixme: should be `mips'
190 (irix 191 (irix
191 "^[a-z0-9/]+: \\(?:[eE]rror\\|[wW]arnin\\(g\\)\\|[iI]nf\\(o\\)\\)[0-9 ]*:\ 192 "^[-[:alnum:]_/]+: \\(?:[eE]rror\\|[wW]arnin\\(g\\)\\|[iI]nf\\(o\\)\\)[0-9 ]*:\
192 \\([^,\" \n\t]+\\)\\(?:, line\\|:\\) \\([0-9]+\\):" 3 4 nil (1 . 2)) 193 \\([^,\" \n\t]+\\)\\(?:, line\\|:\\) \\([0-9]+\\):" 3 4 nil (1 . 2))
193 194
194 (java 195 (java
@@ -206,7 +207,7 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
206\\(.+\\):\\([0-9]+\\)\\(?:\\(:\\)\\|\\(,\\)\\)?" 1 2 nil (3 . 4)) 207\\(.+\\):\\([0-9]+\\)\\(?:\\(:\\)\\|\\(,\\)\\)?" 1 2 nil (3 . 4))
207 208
208 (gnu 209 (gnu
209 "^\\(?:[a-zA-Z][-a-zA-Z0-9.]+: ?\\)?\ 210 "^\\(?:[[:alpha:]][-[:alnum:].]+: ?\\)?\
210\\([/.]*[a-zA-Z]:?[^ \t\n:]*\\): ?\ 211\\([/.]*[a-zA-Z]:?[^ \t\n:]*\\): ?\
211\\([0-9]+\\)\\([.:]?\\)\\([0-9]+\\)?\ 212\\([0-9]+\\)\\([.:]?\\)\\([0-9]+\\)?\
212\\(?:-\\(?:\\([0-9]+\\)\\3\\)?\\.?\\([0-9]+\\)?\\)?:\ 213\\(?:-\\(?:\\([0-9]+\\)\\3\\)?\\.?\\([0-9]+\\)?\\)?:\
@@ -228,6 +229,7 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
228 (1 (compilation-error-properties 2 3 nil nil nil 0 nil) 229 (1 (compilation-error-properties 2 3 nil nil nil 0 nil)
229 append))) 230 append)))
230 231
232 ;; Should be lint-1, lint-2 (SysV lint)
231 (mips-1 233 (mips-1
232 " (\\([0-9]+\\)) in \\([^ \n]+\\)" 2 1) 234 " (\\([0-9]+\\)) in \\([^ \n]+\\)" 2 1)
233 (mips-2 235 (mips-2
@@ -261,15 +263,16 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
261 nil 1 nil (3) nil (2 (compilation-face '(3)))) 263 nil 1 nil (3) nil (2 (compilation-face '(3))))
262 264
263 (sun 265 (sun
264 ": \\(?:ERROR\\|WARNIN\\(G\\)\\|REMAR\\(K\\)\\) \\(?:[a-zA-Z0-9 ]+, \\)?\ 266 ": \\(?:ERROR\\|WARNIN\\(G\\)\\|REMAR\\(K\\)\\) \\(?:[[:alnum:] ]+, \\)?\
265File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?" 267File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
266 3 4 5 (1 . 2)) 268 3 4 5 (1 . 2))
267 269
268 (sun-ada 270 (sun-ada
269 "^\\([^, \n\t]+\\), line \\([0-9]+\\), char \\([0-9]+\\)[:., \(-]" 1 2 3) 271 "^\\([^, \n\t]+\\), line \\([0-9]+\\), char \\([0-9]+\\)[:., \(-]" 1 2 3)
270 272
271 (ultrix 273 ;; Redundant with `mips'
272 "^\\(?:cfe\\|fort\\): \\(Warning\\)?[^:\n]*: \\([^ \n]*\\), line \\([0-9]+\\):" 2 3 nil (1)) 274;; (ultrix
275;; "^\\(?:cfe\\|fort\\): \\(Warning\\)?[^:\n]*: \\([^ \n]*\\), line \\([0-9]+\\):" 2 3 nil (1))
273 276
274 (4bsd 277 (4bsd
275 "\\(?:^\\|:: \\|\\S ( \\)\\(/[^ \n\t()]+\\)(\\([0-9]+\\))\ 278 "\\(?:^\\|:: \\|\\S ( \\)\\(/[^ \n\t()]+\\)(\\([0-9]+\\))\
@@ -279,14 +282,14 @@ File = \\(.+\\), Line = \\([0-9]+\\)\\(?:, Column = \\([0-9]+\\)\\)?"
279(defcustom compilation-error-regexp-alist 282(defcustom compilation-error-regexp-alist
280 (mapcar 'car compilation-error-regexp-alist-alist) 283 (mapcar 'car compilation-error-regexp-alist-alist)
281 "Alist that specifies how to match errors in compiler output. 284 "Alist that specifies how to match errors in compiler output.
282Note that on Unix exerything is a valid filename, so these 285Note that on Unix everything is a valid filename, so these
283matchers must make some common sense assumptions, which catch 286matchers must make some common sense assumptions, which catch
284normal cases. A shorter list will be lighter on resource usage. 287normal cases. A shorter list will be lighter on resource usage.
285 288
286Instead of an alist element, you can use a symbol, which is 289Instead of an alist element, you can use a symbol, which is
287looked up in `compilation-error-regexp-alist-alist'. You can see 290looked up in `compilation-error-regexp-alist-alist'. You can see
288the predefined symbols and their effects in the file 291the predefined symbols and their effects in the file
289`etc/compilation.txt' (linked below if your are customizing this). 292`etc/compilation.txt' (linked below if you are customizing this).
290 293
291Each elt has the form (REGEXP FILE [LINE COLUMN TYPE HYPERLINK 294Each elt has the form (REGEXP FILE [LINE COLUMN TYPE HYPERLINK
292HIGHLIGHT...]). If REGEXP matches, the FILE'th subexpression 295HIGHLIGHT...]). If REGEXP matches, the FILE'th subexpression
@@ -357,7 +360,7 @@ you may also want to change `compilation-page-delimiter'.")
357 (1 font-lock-variable-name-face) 360 (1 font-lock-variable-name-face)
358 (2 (compilation-face '(4 . 3)))) 361 (2 (compilation-face '(4 . 3))))
359 ;; Command output lines. Recognize `make[n]:' lines too. 362 ;; Command output lines. Recognize `make[n]:' lines too.
360 ("^\\([A-Za-z_0-9/.+-]+\\)\\(\\[\\([0-9]+\\)\\]\\)?[ \t]*:" 363 ("^\\([[:alnum:]_/.+-]+\\)\\(\\[\\([0-9]+\\)\\]\\)?[ \t]*:"
361 (1 font-lock-function-name-face) (3 compilation-line-face nil t)) 364 (1 font-lock-function-name-face) (3 compilation-line-face nil t))
362 (" --?o\\(?:utfile\\|utput\\)?[= ]?\\(\\S +\\)" . 1) 365 (" --?o\\(?:utfile\\|utput\\)?[= ]?\\(\\S +\\)" . 1)
363 ("^Compilation finished" . compilation-info-face) 366 ("^Compilation finished" . compilation-info-face)
@@ -427,7 +430,7 @@ You might also use mode hooks to specify it in certain modes, like this:
427(defvar compilation-locs ()) 430(defvar compilation-locs ())
428 431
429(defvar compilation-debug nil 432(defvar compilation-debug nil
430 "*Set this to `t' before creating a *compilation* buffer. 433 "*Set this to t before creating a *compilation* buffer.
431Then every error line will have a debug text property with the matcher that 434Then every error line will have a debug text property with the matcher that
432fit this line and the match data. Use `describe-text-properties'.") 435fit this line and the match data. Use `describe-text-properties'.")
433 436
@@ -494,7 +497,7 @@ Faces `compilation-error-face', `compilation-warning-face',
494 497
495 498
496;; Used for compatibility with the old compile.el. 499;; Used for compatibility with the old compile.el.
497(defvar compilation-parsing-end nil) 500(defvar compilation-parsing-end (make-marker))
498(defvar compilation-parse-errors-function nil) 501(defvar compilation-parse-errors-function nil)
499(defvar compilation-error-list nil) 502(defvar compilation-error-list nil)
500(defvar compilation-old-error-list nil) 503(defvar compilation-old-error-list nil)
@@ -518,6 +521,7 @@ Faces `compilation-error-face', `compilation-warning-face',
518 '(nil)) ; nil only isn't a property-change 521 '(nil)) ; nil only isn't a property-change
519 (cons (match-string-no-properties idx) dir)) 522 (cons (match-string-no-properties idx) dir))
520 mouse-face highlight 523 mouse-face highlight
524 keymap compilation-button-map
521 help-echo "mouse-2: visit current directory"))) 525 help-echo "mouse-2: visit current directory")))
522 526
523;; Data type `reverse-ordered-alist' retriever. This function retrieves the 527;; Data type `reverse-ordered-alist' retriever. This function retrieves the
@@ -528,6 +532,7 @@ Faces `compilation-error-face', `compilation-warning-face',
528;; may be nil. The other KEYs are ordered backwards so that growing line 532;; may be nil. The other KEYs are ordered backwards so that growing line
529;; numbers can be inserted in front and searching can abort after half the 533;; numbers can be inserted in front and searching can abort after half the
530;; list on average. 534;; list on average.
535(eval-when-compile ;Don't keep it at runtime if not needed.
531(defmacro compilation-assq (key alist) 536(defmacro compilation-assq (key alist)
532 `(let* ((l1 ,alist) 537 `(let* ((l1 ,alist)
533 (l2 (cdr l1))) 538 (l2 (cdr l1)))
@@ -538,7 +543,7 @@ Faces `compilation-error-face', `compilation-warning-face',
538 l2 (cdr l1))) 543 l2 (cdr l1)))
539 (if l2 (eq ,key (caar l2)))) 544 (if l2 (eq ,key (caar l2))))
540 l2 545 l2
541 (setcdr l1 (cons (list ,key) l2)))))) 546 (setcdr l1 (cons (list ,key) l2)))))))
542 547
543 548
544;; This function is the central driver, called when font-locking to gather 549;; This function is the central driver, called when font-locking to gather
@@ -564,7 +569,7 @@ Faces `compilation-error-face', `compilation-warning-face',
564 file (or (if file 569 file (or (if file
565 (nth 2 (car (or (get-text-property (1- file) 'message) 570 (nth 2 (car (or (get-text-property (1- file) 'message)
566 (get-text-property file 'message))))) 571 (get-text-property file 'message)))))
567 ;; no previous either -- let font-lock continue 572 ;; no previous either -- but don't let font-lock fail
568 (gethash (setq file '("*unknown*")) compilation-locs) 573 (gethash (setq file '("*unknown*")) compilation-locs)
569 (puthash file (list file fmt) compilation-locs)))) 574 (puthash file (list file fmt) compilation-locs))))
570 ;; All of these fields are optional, get them only if we have an index, and 575 ;; All of these fields are optional, get them only if we have an index, and
@@ -581,15 +586,54 @@ Faces `compilation-error-face', `compilation-warning-face',
581 (if (and end-col (setq end-col (match-string-no-properties end-col))) 586 (if (and end-col (setq end-col (match-string-no-properties end-col)))
582 (setq end-col (- (string-to-number end-col) compilation-first-column)) 587 (setq end-col (- (string-to-number end-col) compilation-first-column))
583 (if end-line (setq end-col -1))) 588 (if end-line (setq end-col -1)))
584 (if (consp type) ; not a preset type, check what it is. 589 (if (consp type) ; not a static type, check what it is.
585 (setq type (or (and (car type) (match-end (car type)) 1) 590 (setq type (or (and (car type) (match-end (car type)) 1)
586 (and (cdr type) (match-end (cdr type)) 0) 591 (and (cdr type) (match-end (cdr type)) 0)
587 2))) 592 2)))
588 ;; Get any (first) already existing marker (if any has one, all have one). 593 ;; Get first already existing marker (if any has one, all have one).
589 ;; Do this first, as the next assq`s may create new nodes. 594 ;; Do this first, as the compilation-assq`s may create new nodes.
590 (let ((marker (nth 3 (car (cdar (cddr file))))) 595 (let* ((marker-line (car (cddr file))) ; a line structure
591 (loc (compilation-assq line (cdr file))) 596 (marker (nth 3 (cadr marker-line))) ; its marker
592 end-loc) 597 (compilation-error-screen-columns compilation-error-screen-columns)
598 end-marker loc end-loc)
599 (if (not (and marker (marker-buffer marker)))
600 (setq marker) ; no valid marker for this file
601 (setq loc (or line 1) ; normalize no linenumber to line 1
602 marker-line)
603 (catch 'marker ; find nearest loc, at least one exists
604 (dolist (x (cddr file)) ; loop over lines
605 (if (> (or (car x) 1) loc) ; still bigger
606 (setq marker-line x)
607 (if (or (not marker-line) ; first in list
608 (> (- (or (car marker-line) 1) loc)
609 (- loc (or (car x) 1)))) ; current line is nearer
610 (setq marker-line x))
611 (throw 'marker t))))
612 (setq marker (nth 3 (cadr marker-line))
613 marker-line (car marker-line))
614 (with-current-buffer (marker-buffer marker)
615 (save-restriction
616 (widen)
617 (goto-char (marker-position marker))
618 (when (or end-col end-line)
619 (beginning-of-line (- (or end-line line) marker-line -1))
620 (if (< end-col 0)
621 (end-of-line)
622 (if compilation-error-screen-columns
623 (move-to-column end-col)
624 (forward-char end-col)))
625 (setq end-marker (list (point-marker))))
626 (beginning-of-line (if end-line
627 (- end-line line -1)
628 (- loc marker-line -1)))
629 (if col
630 (if compilation-error-screen-columns
631 (move-to-column col)
632 (forward-char col))
633 (forward-to-indentation 0))
634 (setq marker (list (point-marker))))))
635
636 (setq loc (compilation-assq line (cdr file)))
593 (if end-line 637 (if end-line
594 (setq end-loc (compilation-assq end-line (cdr file)) 638 (setq end-loc (compilation-assq end-line (cdr file))
595 end-loc (compilation-assq end-col end-loc)) 639 end-loc (compilation-assq end-col end-loc))
@@ -597,44 +641,10 @@ Faces `compilation-error-face', `compilation-warning-face',
597 (setq end-loc (compilation-assq end-col loc)))) 641 (setq end-loc (compilation-assq end-col loc))))
598 (setq loc (compilation-assq col loc)) 642 (setq loc (compilation-assq col loc))
599 ;; If they are new, make the loc(s) reference the file they point to. 643 ;; If they are new, make the loc(s) reference the file they point to.
600 (or (cdr loc) (setcdr loc (list line file))) 644 (or (cdr loc) (setcdr loc `(,line ,file ,@marker)))
601 (if end-loc 645 (if end-loc
602 (or (cdr end-loc) (setcdr end-loc (list (or end-line line) file)))) 646 (or (cdr end-loc) (setcdr end-loc `(,(or end-line line) ,file ,@end-marker))))
603 ;; If we'd found a marker, ensure that the new locs also get markers 647
604 (when (and marker
605 (not (or (cddr loc) (cddr end-loc))) ; maybe new node w/o marker
606 (marker-buffer marker)) ; other marker still valid
607 (or line (setq line 1)) ; normalize no linenumber to line 1
608 (catch 'marker ; find nearest loc, at least one exists
609 (dolist (x (cddr file))
610 (if (> (or (car x) 1) line)
611 (setq marker x)
612 (if (eq (or (car x) 1) line)
613 (if (cdr (cddr x)) ; at least one other column
614 (throw 'marker (setq marker x))
615 (if marker (throw 'marker t)))
616 (throw 'marker (or marker (setq marker x)))))))
617 (setq marker (if (eq (car (cddr marker)) col)
618 (nthcdr 3 marker)
619 (cddr marker))
620 file compilation-error-screen-columns)
621 (with-current-buffer (marker-buffer (cddr marker))
622 (save-restriction
623 (widen)
624 (goto-char (marker-position (cddr marker)))
625 (beginning-of-line (- line (car (cadr marker)) -1))
626 (if file ; original c.-error-screen-columns
627 (move-to-column (car loc))
628 (forward-char (car loc)))
629 (setcdr (cdr loc) (point-marker))
630 (when end-loc
631 (beginning-of-line (- end-line line -1))
632 (if (< end-col 0)
633 (end-of-line)
634 (if file ; original c.-error-screen-columns
635 (move-to-column (car end-loc))
636 (forward-char (car end-loc))))
637 (setcdr (cdr end-loc) (point-marker))))))
638 ;; Must start with face 648 ;; Must start with face
639 `(face ,compilation-message-face 649 `(face ,compilation-message-face
640 message (,loc ,type ,end-loc) 650 message (,loc ,type ,end-loc)
@@ -686,9 +696,9 @@ Faces `compilation-error-face', `compilation-warning-face',
686 ;; error location. Let's do our best. 696 ;; error location. Let's do our best.
687 `(,(car item) 697 `(,(car item)
688 (0 (compilation-compat-error-properties 698 (0 (compilation-compat-error-properties
689 (funcall ',line (list* (match-string ,file) 699 (funcall ',line (cons (match-string ,file)
690 default-directory 700 (cons default-directory
691 ',(nthcdr 4 item)) 701 ',(nthcdr 4 item)))
692 ,(if col `(match-string ,col))))) 702 ,(if col `(match-string ,col)))))
693 (,file compilation-error-face t)) 703 (,file compilation-error-face t))
694 704
@@ -729,7 +739,7 @@ Faces `compilation-error-face', `compilation-warning-face',
729Runs COMMAND, a shell command, in a separate process asynchronously 739Runs COMMAND, a shell command, in a separate process asynchronously
730with output going to the buffer `*compilation*'. 740with output going to the buffer `*compilation*'.
731 741
732If optional second arg COMINT is t the buffer will be in comint mode with 742If optional second arg COMINT is t the buffer will be in Comint mode with
733`compilation-shell-minor-mode'. 743`compilation-shell-minor-mode'.
734 744
735You can then use the command \\[next-error] to find the next error message 745You can then use the command \\[next-error] to find the next error message
@@ -762,8 +772,8 @@ to a function that generates a unique name."
762;; run compile with the default command line 772;; run compile with the default command line
763(defun recompile () 773(defun recompile ()
764 "Re-compile the program including the current buffer. 774 "Re-compile the program including the current buffer.
765If this is run in a compilation-mode buffer, re-use the arguments from the 775If this is run in a Compilation mode buffer, re-use the arguments from the
766original use. Otherwise, it recompiles using `compile-command'." 776original use. Otherwise, recompile using `compile-command'."
767 (interactive) 777 (interactive)
768 (save-some-buffers (not compilation-ask-about-save) nil) 778 (save-some-buffers (not compilation-ask-about-save) nil)
769 (let ((default-directory (or compilation-directory default-directory))) 779 (let ((default-directory (or compilation-directory default-directory)))
@@ -773,9 +783,9 @@ original use. Otherwise, it recompiles using `compile-command'."
773(defcustom compilation-scroll-output nil 783(defcustom compilation-scroll-output nil
774 "*Non-nil to scroll the *compilation* buffer window as output appears. 784 "*Non-nil to scroll the *compilation* buffer window as output appears.
775 785
776Setting it causes the compilation-mode commands to put point at the 786Setting it causes the Compilation mode commands to put point at the
777end of their output window so that the end of the output is always 787end of their output window so that the end of the output is always
778visible rather than the begining." 788visible rather than the beginning."
779 :type 'boolean 789 :type 'boolean
780 :version "20.3" 790 :version "20.3"
781 :group 'compilation) 791 :group 'compilation)
@@ -822,11 +832,11 @@ Otherwise, construct a buffer name from MODE-NAME."
822The rest of the arguments are optional; for them, nil means use the default. 832The rest of the arguments are optional; for them, nil means use the default.
823 833
824MODE is the major mode to set in the compilation buffer. Mode 834MODE is the major mode to set in the compilation buffer. Mode
825may also be `t' meaning `compilation-shell-minor-mode' under `comint-mode'. 835may also be t meaning use `compilation-shell-minor-mode' under `comint-mode'.
826NAME-FUNCTION is a function called to name the buffer. 836NAME-FUNCTION is a function called to name the buffer.
827 837
828If HIGHLIGHT-REGEXP is non-nil, `next-error' will temporarily highlight 838If HIGHLIGHT-REGEXP is non-nil, `next-error' will temporarily highlight
829matching section of the visited source line; the default is to use the 839the matching section of the visited source line; the default is to use the
830global value of `compilation-highlight-regexp'. 840global value of `compilation-highlight-regexp'.
831 841
832Returns the compilation buffer created." 842Returns the compilation buffer created."
@@ -838,8 +848,8 @@ Returns the compilation buffer created."
838 (process-environment 848 (process-environment
839 (append 849 (append
840 compilation-environment 850 compilation-environment
841 (if (and (boundp 'system-uses-terminfo) 851 (if (if (boundp 'system-uses-terminfo) ; `if' for compiler warning
842 system-uses-terminfo) 852 system-uses-terminfo)
843 (list "TERM=dumb" "TERMCAP=" 853 (list "TERM=dumb" "TERMCAP="
844 (format "COLUMNS=%d" (window-width))) 854 (format "COLUMNS=%d" (window-width)))
845 (list "TERM=emacs" 855 (list "TERM=emacs"
@@ -1136,7 +1146,9 @@ The global commands next/previous/first-error/goto-error use this.")
1136(defconst compilation-turn-on-font-lock 'turn-on-font-lock) 1146(defconst compilation-turn-on-font-lock 'turn-on-font-lock)
1137 1147
1138(defun compilation-setup (&optional minor) 1148(defun compilation-setup (&optional minor)
1139 "Prepare the buffer for the compilation parsing commands to work." 1149 "Prepare the buffer for the compilation parsing commands to work.
1150Optional argument MINOR indicates this is called from
1151`compilation-minor-mode'."
1140 (make-local-variable 'compilation-current-error) 1152 (make-local-variable 'compilation-current-error)
1141 (make-local-variable 'compilation-error-screen-columns) 1153 (make-local-variable 'compilation-error-screen-columns)
1142 (make-local-variable 'overlay-arrow-position) 1154 (make-local-variable 'overlay-arrow-position)
@@ -1145,7 +1157,7 @@ The global commands next/previous/first-error/goto-error use this.")
1145 '(directory message help-echo mouse-face debug)) 1157 '(directory message help-echo mouse-face debug))
1146 (set (make-local-variable 'compilation-locs) 1158 (set (make-local-variable 'compilation-locs)
1147 (make-hash-table :test 'equal :weakness 'value)) 1159 (make-hash-table :test 'equal :weakness 'value))
1148 ;; lazy-lock would never find the message unless it's scrolled to 1160 ;; lazy-lock would never find the message unless it's scrolled to.
1149 ;; jit-lock might fontify some things too late. 1161 ;; jit-lock might fontify some things too late.
1150 (set (make-local-variable 'font-lock-support-mode) nil) 1162 (set (make-local-variable 'font-lock-support-mode) nil)
1151 (set (make-local-variable 'font-lock-maximum-size) nil) 1163 (set (make-local-variable 'font-lock-maximum-size) nil)
@@ -1193,7 +1205,7 @@ Turning the mode on runs the normal hook `compilation-minor-mode-hook'."
1193 (font-lock-fontify-buffer))) 1205 (font-lock-fontify-buffer)))
1194 1206
1195(defun compilation-handle-exit (process-status exit-status msg) 1207(defun compilation-handle-exit (process-status exit-status msg)
1196 "Write msg in the current buffer and hack its mode-line-process." 1208 "Write MSG in the current buffer and hack its mode-line-process."
1197 (let ((buffer-read-only nil) 1209 (let ((buffer-read-only nil)
1198 (status (if compilation-exit-message-function 1210 (status (if compilation-exit-message-function
1199 (funcall compilation-exit-message-function 1211 (funcall compilation-exit-message-function
@@ -1338,7 +1350,7 @@ select the source buffer."
1338 (pop-to-buffer compilation-last-buffer)) 1350 (pop-to-buffer compilation-last-buffer))
1339 1351
1340(defun previous-error-no-select (n) 1352(defun previous-error-no-select (n)
1341 "Move point to the previous error in the compilation buffer and highlight match. 1353 "Move point to previous error in compilation buffer and highlight match.
1342Prefix arg N says how many error messages to move backwards (or 1354Prefix arg N says how many error messages to move backwards (or
1343forwards, if negative). 1355forwards, if negative).
1344Finds and highlights the source line like \\[previous-error], but does not 1356Finds and highlights the source line like \\[previous-error], but does not
@@ -1449,7 +1461,7 @@ See variable `compilation-error-regexp-alist' for customization ideas."
1449 ;; If loc contains no marker, no error in that file has been visited. If 1461 ;; If loc contains no marker, no error in that file has been visited. If
1450 ;; the marker is invalid the buffer has been killed. So, recalculate all 1462 ;; the marker is invalid the buffer has been killed. So, recalculate all
1451 ;; markers for that file. 1463 ;; markers for that file.
1452 (unless (and (nthcdr 3 loc) (marker-buffer (nth 3 loc))) 1464 (unless (and (nth 3 loc) (marker-buffer (nth 3 loc)))
1453 (with-current-buffer (compilation-find-file marker (caar (nth 2 loc)) 1465 (with-current-buffer (compilation-find-file marker (caar (nth 2 loc))
1454 (or (cdar (nth 2 loc)) 1466 (or (cdar (nth 2 loc))
1455 default-directory)) 1467 default-directory))
@@ -1472,7 +1484,7 @@ See variable `compilation-error-regexp-alist' for customization ideas."
1472 (forward-char (car col)))) 1484 (forward-char (car col))))
1473 (beginning-of-line) 1485 (beginning-of-line)
1474 (skip-chars-forward " \t")) 1486 (skip-chars-forward " \t"))
1475 (if (nthcdr 3 col) 1487 (if (nth 3 col)
1476 (set-marker (nth 3 col) (point)) 1488 (set-marker (nth 3 col) (point))
1477 (setcdr (nthcdr 2 col) `(,(point-marker))))))))) 1489 (setcdr (nthcdr 2 col) `(,(point-marker)))))))))
1478 (compilation-goto-locus marker (nth 3 loc) (nth 3 end-loc)) 1490 (compilation-goto-locus marker (nth 3 loc) (nth 3 end-loc))
@@ -1499,6 +1511,32 @@ This operates on the output from the \\[compile] command."
1499 (setq compilation-current-error nil) 1511 (setq compilation-current-error nil)
1500 (next-error n)) 1512 (next-error n))
1501 1513
1514(defun compilation-fake-loc (marker file &optional line col)
1515 "Preassociate MARKER with FILE.
1516This is useful when you compile temporary files, but want
1517automatic translation of the messages to the real buffer from
1518which the temporary file came. This only works if done before a
1519message about FILE appears!
1520
1521Optional args LINE and COL default to 1 and beginning of
1522indentation respectively. The marker is expected to reflect
1523this. In the simplest case the marker points to the first line
1524of the region that was saved to the temp file.
1525
1526If you concatenate several regions into the temp file (e.g. a
1527header with variable assignments and a code region), you must
1528call this several times, once each for the last line of one
1529region and the first line of the next region."
1530 (or (consp file) (setq file (list file)))
1531 (setq file (or (gethash file compilation-locs)
1532 (puthash file (list file nil) compilation-locs)))
1533 (let ((loc (compilation-assq (or line 1) (cdr file))))
1534 (setq loc (compilation-assq col loc))
1535 (if (cdr loc)
1536 (setcdr (cddr loc) (list marker))
1537 (setcdr loc (list (or line 1) file marker)))
1538 loc))
1539
1502(defcustom compilation-context-lines next-screen-context-lines 1540(defcustom compilation-context-lines next-screen-context-lines
1503 "*Display this many lines of leading context before message." 1541 "*Display this many lines of leading context before message."
1504 :type 'integer 1542 :type 'integer
@@ -1506,7 +1544,7 @@ This operates on the output from the \\[compile] command."
1506 :version "21.4") 1544 :version "21.4")
1507 1545
1508(defsubst compilation-set-window (w mk) 1546(defsubst compilation-set-window (w mk)
1509 ;; Align the compilation output window W with marker MK near top. 1547 "Align the compilation output window W with marker MK near top."
1510 (set-window-start w (save-excursion 1548 (set-window-start w (save-excursion
1511 (goto-char mk) 1549 (goto-char mk)
1512 (beginning-of-line (- 1 compilation-context-lines)) 1550 (beginning-of-line (- 1 compilation-context-lines))
@@ -1514,8 +1552,8 @@ This operates on the output from the \\[compile] command."
1514 (set-window-point w mk)) 1552 (set-window-point w mk))
1515 1553
1516(defun compilation-goto-locus (msg mk end-mk) 1554(defun compilation-goto-locus (msg mk end-mk)
1517 "Jump to an error MESSAGE and SOURCE. 1555 "Jump to an error corresponding to MSG at MK.
1518All arguments are markers. If SOURCE-END is non nil, mark is set there." 1556All arguments are markers. If END-MK is non nil, mark is set there."
1519 (if (eq (window-buffer (selected-window)) 1557 (if (eq (window-buffer (selected-window))
1520 (marker-buffer msg)) 1558 (marker-buffer msg))
1521 ;; If the compilation buffer window is selected, 1559 ;; If the compilation buffer window is selected,
@@ -1623,7 +1661,7 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
1623 buffer))) 1661 buffer)))
1624 1662
1625(defun compilation-normalize-filename (filename) 1663(defun compilation-normalize-filename (filename)
1626 "Convert a filename string found in an error message to make it usable." 1664 "Convert FILENAME string found in an error message to make it usable."
1627 1665
1628 ;; Check for a comint-file-name-prefix and prepend it if 1666 ;; Check for a comint-file-name-prefix and prepend it if
1629 ;; appropriate. (This is very useful for 1667 ;; appropriate. (This is very useful for
@@ -1691,7 +1729,7 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
1691(defun compile-buffer-substring (n) (if n (match-string n))) 1729(defun compile-buffer-substring (n) (if n (match-string n)))
1692 1730
1693(defun compilation-compat-error-properties (err) 1731(defun compilation-compat-error-properties (err)
1694 ;; Map old-style ERROR to new-style MESSAGE. 1732 "Map old-style error ERR to new-style message."
1695 (let* ((dst (cdr err)) 1733 (let* ((dst (cdr err))
1696 (loc (cond ((markerp dst) (list nil nil nil dst)) 1734 (loc (cond ((markerp dst) (list nil nil nil dst))
1697 ((consp dst) 1735 ((consp dst)
@@ -1701,6 +1739,7 @@ Pop up the buffer containing MARKER and scroll to MARKER if we ask the user."
1701 `(face nil 1739 `(face nil
1702 message ,(list loc 2) 1740 message ,(list loc 2)
1703 help-echo "mouse-2: visit the source location" 1741 help-echo "mouse-2: visit the source location"
1742 keymap compilation-button-map
1704 mouse-face highlight))) 1743 mouse-face highlight)))
1705 1744
1706(defun compilation-compat-parse-errors (limit) 1745(defun compilation-compat-parse-errors (limit)
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 8446266b2f3..b33f8f3f239 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -222,6 +222,7 @@ speedbar."
222(defun gdb-goto-info () 222(defun gdb-goto-info ()
223 (interactive) 223 (interactive)
224 (select-frame (make-frame)) 224 (select-frame (make-frame))
225 (require 'info)
225 (Info-goto-node "(emacs)GDB Graphical Interface")) 226 (Info-goto-node "(emacs)GDB Graphical Interface"))
226 227
227(defconst gdb-var-create-regexp 228(defconst gdb-var-create-regexp
@@ -688,9 +689,9 @@ This filter may simply queue output for a later time."
688 (string-to-int (match-string 2 args)))) 689 (string-to-int (match-string 2 args))))
689 (setq gdb-current-address (match-string 3 args)) 690 (setq gdb-current-address (match-string 3 args))
690 (setq gdb-view-source t) 691 (setq gdb-view-source t)
691;; cover for auto-display output which comes *before* 692 ;; cover for auto-display output which comes *before*
692;; stopped annotation 693 ;; stopped annotation
693 (if (eq (gdb-get-output-sink) 'inferior) (gdb-set-output-sink 'user))) 694 (if (eq (gdb-get-output-sink) 'inferior) (gdb-set-output-sink 'user)))
694 695
695(defun gdb-send-item (item) 696(defun gdb-send-item (item)
696 (if gdb-enable-debug-log (push (cons 'send item) gdb-debug-log)) 697 (if gdb-enable-debug-log (push (cons 'send item) gdb-debug-log))
@@ -1112,7 +1113,8 @@ static char *magick[] = {
1112 (save-excursion 1113 (save-excursion
1113 (goto-line (string-to-number line)) 1114 (goto-line (string-to-number line))
1114 (gdb-put-breakpoint-icon (eq flag ?y))))))))) 1115 (gdb-put-breakpoint-icon (eq flag ?y)))))))))
1115 (end-of-line)))))) 1116 (end-of-line)))))
1117 (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom)))
1116 1118
1117(defun gdb-mouse-toggle-breakpoint (event) 1119(defun gdb-mouse-toggle-breakpoint (event)
1118 "Toggle breakpoint with mouse click in left margin." 1120 "Toggle breakpoint with mouse click in left margin."
@@ -1532,11 +1534,9 @@ the source buffer."
1532 1534
1533(defun gdb-display-source-buffer (buffer) 1535(defun gdb-display-source-buffer (buffer)
1534 (if (eq gdb-selected-view 'source) 1536 (if (eq gdb-selected-view 'source)
1535 (progn
1536 (gdb-display-buffer buffer) 1537 (gdb-display-buffer buffer)
1537 (get-buffer-window buffer)) 1538 (gdb-display-buffer (gdb-get-buffer 'gdb-assembler-buffer)))
1538 (gdb-display-buffer (gdb-get-buffer 'gdb-assembler-buffer)) 1539 (get-buffer-window buffer))
1539 nil))
1540 1540
1541 1541
1542;;; Shared keymap initialization: 1542;;; Shared keymap initialization:
@@ -1612,6 +1612,7 @@ the source buffer."
1612(defun gdb-view-assembler() 1612(defun gdb-view-assembler()
1613 (interactive) 1613 (interactive)
1614 (gdb-display-buffer (gdb-get-create-buffer 'gdb-assembler-buffer)) 1614 (gdb-display-buffer (gdb-get-create-buffer 'gdb-assembler-buffer))
1615 (gdb-invalidate-assembler)
1615 (setq gdb-selected-view 'assembler)) 1616 (setq gdb-selected-view 'assembler))
1616 1617
1617;(defun gdb-view-both() 1618;(defun gdb-view-both()
@@ -1964,7 +1965,7 @@ BUFFER nil or omitted means use the current buffer."
1964 (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer) 1965 (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer)
1965 (goto-char (point-min)) 1966 (goto-char (point-min))
1966 (forward-line) 1967 (forward-line)
1967 (if (looking-at ".*=\\s-+0x\\(\\S-*\\)\\s-+in\\s-+\\(\\S-*\\)") 1968 (if (looking-at ".*=\\s-+0x\\(\\S-*\\)\\s-+in\\s-+\\(\\S-*?\\);? ")
1968 (progn 1969 (progn
1969 (setq gdb-current-frame (match-string 2)) 1970 (setq gdb-current-frame (match-string 2))
1970 (let ((address (match-string 1))) 1971 (let ((address (match-string 1)))
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index bfa507b851a..7a7e62d06ee 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -3,6 +3,7 @@
3;; Copyright (C) 2003, 04 Free Software Foundation, Inc. 3;; Copyright (C) 2003, 04 Free Software Foundation, Inc.
4 4
5;; Author: Dave Love <fx@gnu.org> 5;; Author: Dave Love <fx@gnu.org>
6;; Maintainer: FSF
6;; Created: Nov 2003 7;; Created: Nov 2003
7;; Keywords: languages 8;; Keywords: languages
8 9
@@ -66,10 +67,8 @@
66(require 'comint) 67(require 'comint)
67(eval-when-compile 68(eval-when-compile
68 (require 'compile) 69 (require 'compile)
69 (autoload 'Info-last "info")
70 (autoload 'Info-exit "info")
71 (autoload 'info-lookup-maybe-add-help "info-look")) 70 (autoload 'info-lookup-maybe-add-help "info-look"))
72(autoload 'compilation-start "compile") ; spurious compiler warning anyway 71(autoload 'compilation-start "compile")
73 72
74(defgroup python nil 73(defgroup python nil
75 "Silly walks in the Python language" 74 "Silly walks in the Python language"
@@ -829,7 +828,8 @@ move and return nil. Otherwise return t."
829Makes nested Imenu menus from nested `class' and `def' statements. 828Makes nested Imenu menus from nested `class' and `def' statements.
830The nested menus are headed by an item referencing the outer 829The nested menus are headed by an item referencing the outer
831definition; it has a space prepended to the name so that it sorts 830definition; it has a space prepended to the name so that it sorts
832first with `imenu--sort-by-name'." 831first with `imenu--sort-by-name' (though, unfortunately, sub-menus
832precede it)."
833 (unless (boundp 'python-recursing) ; dynamically bound below 833 (unless (boundp 'python-recursing) ; dynamically bound below
834 (goto-char (point-min))) ; normal call from Imenu 834 (goto-char (point-min))) ; normal call from Imenu
835 (let (index-alist ; accumulated value to return 835 (let (index-alist ; accumulated value to return
@@ -937,32 +937,37 @@ Additional arguments are added when the command is used by `run-python'
937et al.") 937et al.")
938 938
939(defvar python-buffer nil 939(defvar python-buffer nil
940 "*The current python process buffer. 940 "The current python process buffer."
941To run multiple Python processes, start the first with \\[run-python]. 941 ;; Fixme: a single process is currently assumed, so that this doc
942It will be in a buffer named *Python*. Rename that with 942 ;; is misleading.
943\\[rename-buffer]. Now start a new process with \\[run-python]. It 943
944will be in a new buffer, named *Python*. Switch between the different 944;; "*The current python process buffer.
945process buffers with \\[switch-to-buffer]. 945;; To run multiple Python processes, start the first with \\[run-python].
946 946;; It will be in a buffer named *Python*. Rename that with
947Commands that send text from source buffers to Python processes have 947;; \\[rename-buffer]. Now start a new process with \\[run-python]. It
948to choose a process to send to. This is determined by global variable 948;; will be in a new buffer, named *Python*. Switch between the different
949`python-buffer'. Suppose you have three inferior Pythons running: 949;; process buffers with \\[switch-to-buffer].
950 Buffer Process 950
951 foo python 951;; Commands that send text from source buffers to Python processes have
952 bar python<2> 952;; to choose a process to send to. This is determined by global variable
953 *Python* python<3> 953;; `python-buffer'. Suppose you have three inferior Pythons running:
954If you do a \\[python-send-region-and-go] command on some Python source 954;; Buffer Process
955code, what process does it go to? 955;; foo python
956 956;; bar python<2>
957- In a process buffer (foo, bar, or *Python*), send it to that process. 957;; *Python* python<3>
958- In some other buffer (e.g. a source file), send it to the process 958;; If you do a \\[python-send-region-and-go] command on some Python source
959 attached to `python-buffer'. 959;; code, what process does it go to?
960Process selection is done by function `python-proc'. 960
961 961;; - In a process buffer (foo, bar, or *Python*), send it to that process.
962Whenever \\[run-python] starts a new process, it resets `python-buffer' 962;; - In some other buffer (e.g. a source file), send it to the process
963to be the new process's buffer. If you only run one process, this will 963;; attached to `python-buffer'.
964do the right thing. If you run multiple processes, you can change 964;; Process selection is done by function `python-proc'.
965`python-buffer' to another process buffer with \\[set-variable].") 965
966;; Whenever \\[run-python] starts a new process, it resets `python-buffer'
967;; to be the new process's buffer. If you only run one process, this will
968;; do the right thing. If you run multiple processes, you can change
969;; `python-buffer' to another process buffer with \\[set-variable]."
970 )
966 971
967(defconst python-compilation-regexp-alist 972(defconst python-compilation-regexp-alist
968 `((,(rx (and line-start (1+ (any " \t")) "File \"" 973 `((,(rx (and line-start (1+ (any " \t")) "File \""
@@ -971,6 +976,9 @@ do the right thing. If you run multiple processes, you can change
971 1 python-compilation-line-number)) 976 1 python-compilation-line-number))
972 "`compilation-error-regexp-alist' for inferior Python.") 977 "`compilation-error-regexp-alist' for inferior Python.")
973 978
979;; Fixme: This should inherit some stuff from python-mode, but I'm not
980;; sure how much: at least some keybindings, like C-c C-f; syntax?;
981;; font-locking, e.g. for triple-quoted strings?
974(define-derived-mode inferior-python-mode comint-mode "Inferior Python" 982(define-derived-mode inferior-python-mode comint-mode "Inferior Python"
975 "Major mode for interacting with an inferior Python process. 983 "Major mode for interacting with an inferior Python process.
976A Python process can be started with \\[run-python]. 984A Python process can be started with \\[run-python].
@@ -997,7 +1005,8 @@ For running multiple processes in multiple buffers, see `python-buffer'.
997 (add-hook 'comint-input-filter-functions 'python-input-filter nil t) 1005 (add-hook 'comint-input-filter-functions 'python-input-filter nil t)
998 (add-hook 'comint-preoutput-filter-functions #'python-preoutput-filter 1006 (add-hook 'comint-preoutput-filter-functions #'python-preoutput-filter
999 nil t) 1007 nil t)
1000 ;; Still required by `comint-redirect-send-command', for instance: 1008 ;; Still required by `comint-redirect-send-command', for instance
1009 ;; (and we need to match things like `>>> ... >>> '):
1001 (set (make-local-variable 'comint-prompt-regexp) "^\\([>.]\\{3\\} \\)+") 1010 (set (make-local-variable 'comint-prompt-regexp) "^\\([>.]\\{3\\} \\)+")
1002 (set (make-local-variable 'compilation-error-regexp-alist) 1011 (set (make-local-variable 'compilation-error-regexp-alist)
1003 python-compilation-regexp-alist) 1012 python-compilation-regexp-alist)
@@ -1037,11 +1046,15 @@ Used as line-number hook function in `python-compilation-regexp-alist'."
1037 (cons (point-marker) 1046 (cons (point-marker)
1038 (if (and (markerp python-orig-start) 1047 (if (and (markerp python-orig-start)
1039 (marker-buffer python-orig-start)) 1048 (marker-buffer python-orig-start))
1040 (with-current-buffer (marker-buffer python-orig-start) 1049 (let ((start python-orig-start))
1041 (goto-char python-orig-start) 1050 (with-current-buffer (marker-buffer python-orig-start)
1042 (forward-line (1- line))) 1051 (goto-char start)
1043 (list (if (stringp python-orig-start) python-orig-start file) 1052 (forward-line (1- line))
1044 line nil))))) 1053 (point-marker)))
1054 (list (if (stringp python-orig-start)
1055 (list python-orig-start default-directory)
1056 file)
1057 line col)))))
1045 1058
1046(defvar python-preoutput-result nil 1059(defvar python-preoutput-result nil
1047 "Data from output line last `_emacs_out' line seen by the preoutput filter.") 1060 "Data from output line last `_emacs_out' line seen by the preoutput filter.")
@@ -1234,17 +1247,17 @@ module-qualified names."
1234 ;; (set (make-local-variable 'compilation-old-error-list) nil) 1247 ;; (set (make-local-variable 'compilation-old-error-list) nil)
1235 (let ((comint-input-filter-functions 1248 (let ((comint-input-filter-functions
1236 (delete 'python-input-filter comint-input-filter-functions))) 1249 (delete 'python-input-filter comint-input-filter-functions)))
1250 (set (make-local-variable 'python-orig-start) nil)
1251 ;; Fixme: I'm not convinced by this logic from python-mode.el.
1237 (python-send-string 1252 (python-send-string
1238 (if (string-match "\\.py\\'" file-name) 1253 (if (string-match "\\.py\\'" file-name)
1239 ;; Fixme: make sure the directory is in the path list 1254 ;; Fixme: make sure the directory is in the path list
1240 (let ((module (file-name-sans-extension 1255 (let ((module (file-name-sans-extension
1241 (file-name-nondirectory file-name)))) 1256 (file-name-nondirectory file-name))))
1242 (set (make-local-variable 'python-orig-start) nil)
1243 (format "\ 1257 (format "\
1244if globals().has_key(%S): reload(%s) 1258if globals().has_key(%S): reload(%s)
1245else: import %s 1259else: import %s
1246" module module module)) 1260" module module module))
1247 (set (make-local-variable 'python-orig-start) file-name)
1248 (format "execfile('%s')" file-name)))) 1261 (format "execfile('%s')" file-name))))
1249 (set-marker compilation-parsing-end end) 1262 (set-marker compilation-parsing-end end)
1250 (setq compilation-last-buffer (current-buffer)))))) 1263 (setq compilation-last-buffer (current-buffer))))))
@@ -1329,13 +1342,14 @@ Used with `eval-after-load'."
1329 (string-match "^Python \\([0-9]+\\.[0-9]+\\>\\)" s) 1342 (string-match "^Python \\([0-9]+\\.[0-9]+\\>\\)" s)
1330 (match-string 1 s))) 1343 (match-string 1 s)))
1331 ;; Whether info files have a Python version suffix, e.g. in Debian. 1344 ;; Whether info files have a Python version suffix, e.g. in Debian.
1332 (versioned 1345 (versioned
1333 (with-temp-buffer 1346 (with-temp-buffer
1334 (Info-mode) 1347 (with-no-warnings (Info-mode))
1335 (condition-case () 1348 (condition-case ()
1336 ;; Don't use `info' because it would pop-up a *info* buffer. 1349 ;; Don't use `info' because it would pop-up a *info* buffer.
1337 (Info-goto-node (format "(python%s-lib)Miscellaneous Index" 1350 (with-no-warnings
1338 version)) 1351 (Info-goto-node (format "(python%s-lib)Miscellaneous Index"
1352 version)))
1339 (error nil))))) 1353 (error nil)))))
1340 (info-lookup-maybe-add-help 1354 (info-lookup-maybe-add-help
1341 :mode 'python-mode 1355 :mode 'python-mode
diff --git a/lisp/url/url-dav.el b/lisp/url/url-dav.el
index b54d9f52c01..d6c5ffffa43 100644
--- a/lisp/url/url-dav.el
+++ b/lisp/url/url-dav.el
@@ -386,8 +386,7 @@ XML document."
386 (overall-status nil)) 386 (overall-status nil))
387 (when buffer 387 (when buffer
388 (unwind-protect 388 (unwind-protect
389 (save-excursion 389 (with-current-buffer buffer
390 (set-buffer buffer)
391 (goto-char url-http-end-of-headers) 390 (goto-char url-http-end-of-headers)
392 (setq overall-status url-http-response-status) 391 (setq overall-status url-http-response-status)
393 392
@@ -396,13 +395,13 @@ XML document."
396 ;; them. 395 ;; them.
397 (if (and 396 (if (and
398 url-http-content-type 397 url-http-content-type
399 (or (string-match "^text/xml" url-http-content-type) 398 (string-match "\\`\\(text\\|application\\)/xml"
400 (string-match "^application/xml" url-http-content-type))) 399 url-http-content-type))
401 (setq tree (xml-parse-region (point) (point-max))))) 400 (setq tree (xml-parse-region (point) (point-max)))))
402 ;; Clean up after ourselves. 401 ;; Clean up after ourselves.
403 '(kill-buffer buffer))) 402 (kill-buffer buffer)))
404 403
405 ;; We should now be 404 ;; We should now be
406 (if (eq (xml-node-name (car tree)) 'DAV:multistatus) 405 (if (eq (xml-node-name (car tree)) 'DAV:multistatus)
407 (url-dav-dispatch-node (car tree)) 406 (url-dav-dispatch-node (car tree))
408 (url-debug 'dav "Got back singleton response for URL(%S)" url) 407 (url-debug 'dav "Got back singleton response for URL(%S)" url)
@@ -577,8 +576,7 @@ Returns t iff the lock was successfully released."
577 (result nil)) 576 (result nil))
578 (when buffer 577 (when buffer
579 (unwind-protect 578 (unwind-protect
580 (save-excursion 579 (with-current-buffer buffer
581 (set-buffer buffer)
582 (setq result (url-dav-http-success-p url-http-response-status))) 580 (setq result (url-dav-http-success-p url-http-response-status)))
583 (kill-buffer buffer))) 581 (kill-buffer buffer)))
584 result)) 582 result))
@@ -627,7 +625,7 @@ Returns t iff the lock was successfully released."
627(autoload 'url-http-head-file-attributes "url-http") 625(autoload 'url-http-head-file-attributes "url-http")
628 626
629;;;###autoload 627;;;###autoload
630(defun url-dav-file-attributes (url) 628(defun url-dav-file-attributes (url &optional id-format)
631 (let ((properties (cdar (url-dav-get-properties url))) 629 (let ((properties (cdar (url-dav-get-properties url)))
632 (attributes nil)) 630 (attributes nil))
633 (if (and properties 631 (if (and properties
@@ -679,7 +677,7 @@ Returns t iff the lock was successfully released."
679 ;; device number - meaningless 677 ;; device number - meaningless
680 nil)) 678 nil))
681 ;; Fall back to just the normal http way of doing things. 679 ;; Fall back to just the normal http way of doing things.
682 (setq attributes (url-http-head-file-attributes url))) 680 (setq attributes (url-http-head-file-attributes url id-format)))
683 attributes)) 681 attributes))
684 682
685;;;###autoload 683;;;###autoload
@@ -695,8 +693,7 @@ OBJ may be a buffer or a string."
695 (url-request-data 693 (url-request-data
696 (cond 694 (cond
697 ((bufferp obj) 695 ((bufferp obj)
698 (save-excursion 696 (with-current-buffer obj
699 (set-buffer obj)
700 (buffer-string))) 697 (buffer-string)))
701 ((stringp obj) 698 ((stringp obj)
702 obj) 699 obj)
@@ -719,8 +716,7 @@ OBJ may be a buffer or a string."
719 ;; Sanity checking 716 ;; Sanity checking
720 (when buffer 717 (when buffer
721 (unwind-protect 718 (unwind-protect
722 (save-excursion 719 (with-current-buffer buffer
723 (set-buffer buffer)
724 (setq result (url-dav-http-success-p url-http-response-status))) 720 (setq result (url-dav-http-success-p url-http-response-status)))
725 (kill-buffer buffer))) 721 (kill-buffer buffer)))
726 result)) 722 result))
@@ -849,8 +845,7 @@ If NOSORT is non-nil, the list is not sorted--its order is unpredictable.
849 (result nil)) 845 (result nil))
850 (when buffer 846 (when buffer
851 (unwind-protect 847 (unwind-protect
852 (save-excursion 848 (with-current-buffer buffer
853 (set-buffer buffer)
854 (case url-http-response-status 849 (case url-http-response-status
855 (201 ; Collection created in its entirety 850 (201 ; Collection created in its entirety
856 (setq result t)) 851 (setq result t))
diff --git a/lisp/url/url-file.el b/lisp/url/url-file.el
index 4dfac46b651..77c2e74555f 100644
--- a/lisp/url/url-file.el
+++ b/lisp/url/url-file.el
@@ -220,14 +220,14 @@ to them."
220 buffer)) 220 buffer))
221 221
222(defmacro url-file-create-wrapper (method args) 222(defmacro url-file-create-wrapper (method args)
223 (` (defalias (quote (, (intern (format "url-ftp-%s" method)))) 223 `(defalias ',(intern (format "url-ftp-%s" method))
224 (defun (, (intern (format "url-file-%s" method))) (, args) 224 (defun ,(intern (format "url-file-%s" method)) ,args
225 (, (format "FTP/FILE URL wrapper around `%s' call." method)) 225 ,(format "FTP/FILE URL wrapper around `%s' call." method)
226 (setq url (url-file-build-filename url)) 226 (setq url (url-file-build-filename url))
227 (and url ((, method) (,@ (remove '&rest (remove '&optional args))))))))) 227 (and url (,method ,@(remove '&rest (remove '&optional args)))))))
228 228
229(url-file-create-wrapper file-exists-p (url)) 229(url-file-create-wrapper file-exists-p (url))
230(url-file-create-wrapper file-attributes (url)) 230(url-file-create-wrapper file-attributes (url &optional id-format))
231(url-file-create-wrapper file-symlink-p (url)) 231(url-file-create-wrapper file-symlink-p (url))
232(url-file-create-wrapper file-readable-p (url)) 232(url-file-create-wrapper file-readable-p (url))
233(url-file-create-wrapper file-writable-p (url)) 233(url-file-create-wrapper file-writable-p (url))
diff --git a/lisp/url/url-handlers.el b/lisp/url/url-handlers.el
index eb0bec9ae92..6c540e8d61b 100644
--- a/lisp/url/url-handlers.el
+++ b/lisp/url/url-handlers.el
@@ -225,7 +225,7 @@ accessible."
225 ,@(remove '&rest (remove '&optional args)))))) 225 ,@(remove '&rest (remove '&optional args))))))
226 226
227(url-handlers-create-wrapper file-exists-p (url)) 227(url-handlers-create-wrapper file-exists-p (url))
228(url-handlers-create-wrapper file-attributes (url)) 228(url-handlers-create-wrapper file-attributes (url &optional id-format))
229(url-handlers-create-wrapper file-symlink-p (url)) 229(url-handlers-create-wrapper file-symlink-p (url))
230(url-handlers-create-wrapper file-writable-p (url)) 230(url-handlers-create-wrapper file-writable-p (url))
231(url-handlers-create-wrapper file-directory-p (url)) 231(url-handlers-create-wrapper file-directory-p (url))
@@ -244,7 +244,7 @@ accessible."
244 (url-handlers-create-wrapper 244 (url-handlers-create-wrapper
245 file-truename (url &optional counter prev-dirs))) 245 file-truename (url &optional counter prev-dirs)))
246 246
247(add-hook 'find-file-hooks 'url-handlers-set-buffer-mode) 247(add-hook 'find-file-hook 'url-handlers-set-buffer-mode)
248 248
249(defun url-handlers-set-buffer-mode () 249(defun url-handlers-set-buffer-mode ()
250 "Set correct modes for the current buffer if visiting a remote file." 250 "Set correct modes for the current buffer if visiting a remote file."
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index b2f797d09c7..200025c3804 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -4,6 +4,7 @@
4 4
5;; Author: Bill Perry <wmperry@gnu.org> 5;; Author: Bill Perry <wmperry@gnu.org>
6;; Keywords: comm, data, processes 6;; Keywords: comm, data, processes
7
7;; This file is part of GNU Emacs. 8;; This file is part of GNU Emacs.
8;; 9;;
9;; GNU Emacs is free software; you can redistribute it and/or modify 10;; GNU Emacs is free software; you can redistribute it and/or modify
@@ -1120,7 +1121,7 @@ CBARGS as the arguments."
1120;;;###autoload 1121;;;###autoload
1121(defalias 'url-http-file-readable-p 'url-http-file-exists-p) 1122(defalias 'url-http-file-readable-p 'url-http-file-exists-p)
1122 1123
1123(defun url-http-head-file-attributes (url) 1124(defun url-http-head-file-attributes (url &optional id-format)
1124 (let ((buffer (url-http-head url)) 1125 (let ((buffer (url-http-head url))
1125 (attributes nil)) 1126 (attributes nil))
1126 (when buffer 1127 (when buffer
@@ -1136,10 +1137,10 @@ CBARGS as the arguments."
1136 attributes)) 1137 attributes))
1137 1138
1138;;;###autoload 1139;;;###autoload
1139(defun url-http-file-attributes (url) 1140(defun url-http-file-attributes (url &optional id-format)
1140 (if (url-dav-supported-p url) 1141 (if (url-dav-supported-p url)
1141 (url-dav-file-attributes url) 1142 (url-dav-file-attributes url id-format)
1142 (url-http-head-file-attributes url))) 1143 (url-http-head-file-attributes url id-format)))
1143 1144
1144;;;###autoload 1145;;;###autoload
1145(defun url-http-options (url) 1146(defun url-http-options (url)
diff --git a/lisp/url/url-https.el b/lisp/url/url-https.el
index 0ea11a45b79..11b2593ea80 100644
--- a/lisp/url/url-https.el
+++ b/lisp/url/url-https.el
@@ -1,26 +1,29 @@
1;;; url-https.el --- HTTP over SSL routines 1;;; url-https.el --- HTTP over SSL routines
2
3;; Copyright (c) 1999, 2004 Free Software Foundation, Inc.
4
2;; Keywords: comm, data, processes 5;; Keywords: comm, data, processes
3 6
4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 7;; This file is part of GNU Emacs.
5;;; Copyright (c) 1999 Free Software Foundation, Inc. 8;;
6;;; 9;; GNU Emacs is free software; you can redistribute it and/or modify
7;;; This file is part of GNU Emacs. 10;; it under the terms of the GNU General Public License as published by
8;;; 11;; the Free Software Foundation; either version 2, or (at your option)
9;;; GNU Emacs is free software; you can redistribute it and/or modify 12;; any later version.
10;;; it under the terms of the GNU General Public License as published by 13;;
11;;; the Free Software Foundation; either version 2, or (at your option) 14;; GNU Emacs is distributed in the hope that it will be useful,
12;;; any later version. 15;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; 16;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU Emacs is distributed in the hope that it will be useful, 17;; GNU General Public License for more details.
15;;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18;;
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19;; You should have received a copy of the GNU General Public License
17;;; GNU General Public License for more details. 20;; along with GNU Emacs; see the file COPYING. If not, write to the
18;;; 21;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19;;; You should have received a copy of the GNU General Public License 22;; Boston, MA 02111-1307, USA.
20;;; along with GNU Emacs; see the file COPYING. If not, write to the 23
21;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 24;;; Commentary:
22;;; Boston, MA 02111-1307, USA. 25
23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 26;;; Code:
24 27
25(require 'url-gw) 28(require 'url-gw)
26(require 'url-util) 29(require 'url-util)
@@ -45,8 +48,9 @@
45(url-https-create-secure-wrapper nil (url callback cbargs)) 48(url-https-create-secure-wrapper nil (url callback cbargs))
46(url-https-create-secure-wrapper file-exists-p (url)) 49(url-https-create-secure-wrapper file-exists-p (url))
47(url-https-create-secure-wrapper file-readable-p (url)) 50(url-https-create-secure-wrapper file-readable-p (url))
48(url-https-create-secure-wrapper file-attributes (url)) 51(url-https-create-secure-wrapper file-attributes (url &optional id-format))
49 52
50(provide 'url-https) 53(provide 'url-https)
51 54
52;;; arch-tag: c3645ac5-c248-4d12-ad41-7c4b6f7b6d19 55;; arch-tag: c3645ac5-c248-4d12-ad41-7c4b6f7b6d19
56;;; url-https.el ends here
diff --git a/lisp/url/url-nfs.el b/lisp/url/url-nfs.el
index c0ac4f5cb45..d068341b1c2 100644
--- a/lisp/url/url-nfs.el
+++ b/lisp/url/url-nfs.el
@@ -1,27 +1,30 @@
1;;; url-nfs.el --- NFS URL interface 1;;; url-nfs.el --- NFS URL interface
2
3;; Copyright (c) 1996,97,98,1999,2004 Free Software Foundation, Inc.
4;; Copyright (c) 1996 by William M. Perry <wmperry@cs.indiana.edu>
5
2;; Keywords: comm, data, processes 6;; Keywords: comm, data, processes
3 7
4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 8;; This file is part of GNU Emacs.
5;;; Copyright (c) 1996 by William M. Perry <wmperry@cs.indiana.edu> 9;;
6;;; Copyright (c) 1996 - 1999 Free Software Foundation, Inc. 10;; GNU Emacs is free software; you can redistribute it and/or modify
7;;; 11;; it under the terms of the GNU General Public License as published by
8;;; This file is part of GNU Emacs. 12;; the Free Software Foundation; either version 2, or (at your option)
9;;; 13;; any later version.
10;;; GNU Emacs is free software; you can redistribute it and/or modify 14;;
11;;; it under the terms of the GNU General Public License as published by 15;; GNU Emacs is distributed in the hope that it will be useful,
12;;; the Free Software Foundation; either version 2, or (at your option) 16;; but WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; any later version. 17;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; 18;; GNU General Public License for more details.
15;;; GNU Emacs is distributed in the hope that it will be useful, 19;;
16;;; but WITHOUT ANY WARRANTY; without even the implied warranty of 20;; You should have received a copy of the GNU General Public License
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21;; along with GNU Emacs; see the file COPYING. If not, write to the
18;;; GNU General Public License for more details. 22;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19;;; 23;; Boston, MA 02111-1307, USA.
20;;; You should have received a copy of the GNU General Public License 24
21;;; along with GNU Emacs; see the file COPYING. If not, write to the 25;;; Commentary:
22;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 26
23;;; Boston, MA 02111-1307, USA. 27;;; Code:
24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
25 28
26(eval-when-compile (require 'cl)) 29(eval-when-compile (require 'cl))
27(require 'url-parse) 30(require 'url-parse)
@@ -72,14 +75,14 @@ Each can be used any number of times.")
72 (url-file (url-nfs-build-filename url) callback cbargs)) 75 (url-file (url-nfs-build-filename url) callback cbargs))
73 76
74(defmacro url-nfs-create-wrapper (method args) 77(defmacro url-nfs-create-wrapper (method args)
75 (` (defun (, (intern (format "url-nfs-%s" method))) (, args) 78 `(defun ,(intern (format "url-nfs-%s" method)) ,args
76 (, (format "NFS URL wrapper around `%s' call." method)) 79 ,(format "NFS URL wrapper around `%s' call." method)
77 (setq url (url-nfs-build-filename url)) 80 (setq url (url-nfs-build-filename url))
78 (and url ((, (intern (format "url-file-%s" method))) 81 (and url (,(intern (format "url-file-%s" method))
79 (,@ (remove '&rest (remove '&optional args)))))))) 82 ,@(remove '&rest (remove '&optional args))))))
80 83
81(url-nfs-create-wrapper file-exists-p (url)) 84(url-nfs-create-wrapper file-exists-p (url))
82(url-nfs-create-wrapper file-attributes (url)) 85(url-nfs-create-wrapper file-attributes (url &optional id-format))
83(url-nfs-create-wrapper file-symlink-p (url)) 86(url-nfs-create-wrapper file-symlink-p (url))
84(url-nfs-create-wrapper file-readable-p (url)) 87(url-nfs-create-wrapper file-readable-p (url))
85(url-nfs-create-wrapper file-writable-p (url)) 88(url-nfs-create-wrapper file-writable-p (url))
@@ -93,4 +96,5 @@ Each can be used any number of times.")
93 96
94(provide 'url-nfs) 97(provide 'url-nfs)
95 98
96;;; arch-tag: cdf9c9ba-b7d2-4c29-8b48-7ae9bbc0d437 99;; arch-tag: cdf9c9ba-b7d2-4c29-8b48-7ae9bbc0d437
100;;; url-nfs.el ends here
diff --git a/lisp/url/url-util.el b/lisp/url/url-util.el
index 49e805086fb..d4a3733eab5 100644
--- a/lisp/url/url-util.el
+++ b/lisp/url/url-util.el
@@ -1,28 +1,31 @@
1;;; url-util.el --- Miscellaneous helper routines for URL library 1;;; url-util.el --- Miscellaneous helper routines for URL library
2
3;; Copyright (c) 1996,97,98,99,2001,2004 Free Software Foundation, Inc.
4;; Copyright (c) 1993 - 1996 by William M. Perry <wmperry@cs.indiana.edu>
5
2;; Author: Bill Perry <wmperry@gnu.org> 6;; Author: Bill Perry <wmperry@gnu.org>
3;; Keywords: comm, data, processes 7;; Keywords: comm, data, processes
4 8
5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 9;; This file is part of GNU Emacs.
6;;; Copyright (c) 1993 - 1996 by William M. Perry <wmperry@cs.indiana.edu> 10;;
7;;; Copyright (c) 1996, 97, 98, 99, 2001 Free Software Foundation, Inc. 11;; GNU Emacs is free software; you can redistribute it and/or modify
8;;; 12;; it under the terms of the GNU General Public License as published by
9;;; This file is part of GNU Emacs. 13;; the Free Software Foundation; either version 2, or (at your option)
10;;; 14;; any later version.
11;;; GNU Emacs is free software; you can redistribute it and/or modify 15;;
12;;; it under the terms of the GNU General Public License as published by 16;; GNU Emacs is distributed in the hope that it will be useful,
13;;; the Free Software Foundation; either version 2, or (at your option) 17;; but WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; any later version. 18;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; 19;; GNU General Public License for more details.
16;;; GNU Emacs is distributed in the hope that it will be useful, 20;;
17;;; but WITHOUT ANY WARRANTY; without even the implied warranty of 21;; You should have received a copy of the GNU General Public License
18;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22;; along with GNU Emacs; see the file COPYING. If not, write to the
19;;; GNU General Public License for more details. 23;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20;;; 24;; Boston, MA 02111-1307, USA.
21;;; You should have received a copy of the GNU General Public License 25
22;;; along with GNU Emacs; see the file COPYING. If not, write to the 26;;; Commentary:
23;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 27
24;;; Boston, MA 02111-1307, USA. 28;;; Code:
25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
26 29
27(require 'url-parse) 30(require 'url-parse)
28(autoload 'timezone-parse-date "timezone") 31(autoload 'timezone-parse-date "timezone")
@@ -63,8 +66,7 @@ If a list, it is a list of the types of messages to be logged."
63 (if (or (eq url-debug t) 66 (if (or (eq url-debug t)
64 (numberp url-debug) 67 (numberp url-debug)
65 (and (listp url-debug) (memq tag url-debug))) 68 (and (listp url-debug) (memq tag url-debug)))
66 (save-excursion 69 (with-current-buffer (get-buffer-create "*URL-DEBUG*")
67 (set-buffer (get-buffer-create "*URL-DEBUG*"))
68 (goto-char (point-max)) 70 (goto-char (point-max))
69 (insert (symbol-name tag) " -> " (apply 'format args) "\n") 71 (insert (symbol-name tag) " -> " (apply 'format args) "\n")
70 (if (numberp url-debug) 72 (if (numberp url-debug)
@@ -173,7 +175,7 @@ Strips out default port numbers, etc."
173;;;###autoload 175;;;###autoload
174(defun url-lazy-message (&rest args) 176(defun url-lazy-message (&rest args)
175 "Just like `message', but is a no-op if called more than once a second. 177 "Just like `message', but is a no-op if called more than once a second.
176Will not do anything if url-show-status is nil." 178Will not do anything if `url-show-status' is nil."
177 (if (or (null url-show-status) 179 (if (or (null url-show-status)
178 (active-minibuffer-window) 180 (active-minibuffer-window)
179 (= url-lazy-message-time 181 (= url-lazy-message-time
@@ -502,4 +504,5 @@ Has a preference for looking backward when not directly on a symbol."
502 504
503(provide 'url-util) 505(provide 'url-util)
504 506
505;;; arch-tag: 24352abc-5a5a-412e-90cd-313b26bed5c9 507;; arch-tag: 24352abc-5a5a-412e-90cd-313b26bed5c9
508;;; url-util.el ends here
diff --git a/lisp/xml.el b/lisp/xml.el
index 408c13ab39b..ab87125356d 100644
--- a/lisp/xml.el
+++ b/lisp/xml.el
@@ -27,13 +27,13 @@
27 27
28;; This file contains a somewhat incomplete non-validating XML parser. It 28;; This file contains a somewhat incomplete non-validating XML parser. It
29;; parses a file, and returns a list that can be used internally by 29;; parses a file, and returns a list that can be used internally by
30;; any other lisp libraries. 30;; any other Lisp libraries.
31 31
32;;; FILE FORMAT 32;;; FILE FORMAT
33 33
34;; The document type declaration may either be ignored or (optionally) 34;; The document type declaration may either be ignored or (optionally)
35;; parsed, but currently the parsing will only accept element 35;; parsed, but currently the parsing will only accept element
36;; declarations. The XML file is assumed to be well-formed. In case 36;; declarations. The XML file is assumed to be well-formed. In case
37;; of error, the parsing stops and the XML file is shown where the 37;; of error, the parsing stops and the XML file is shown where the
38;; parsing stopped. 38;; parsing stopped.
39;; 39;;
@@ -44,7 +44,7 @@
44;; <node2 attr3="name3" attr4="name4">value2</node2> 44;; <node2 attr3="name3" attr4="name4">value2</node2>
45;; <node3 attr5="name5" attr6="name6">value3</node3> 45;; <node3 attr5="name5" attr6="name6">value3</node3>
46;; </node1> 46;; </node1>
47;; Of course, the name of the nodes and attributes can be anything. There can 47;; Of course, the name of the nodes and attributes can be anything. There can
48;; be any number of attributes (or none), as well as any number of children 48;; be any number of attributes (or none), as well as any number of children
49;; below the nodes. 49;; below the nodes.
50;; 50;;
@@ -86,7 +86,18 @@
86 86
87(defsubst xml-node-name (node) 87(defsubst xml-node-name (node)
88 "Return the tag associated with NODE. 88 "Return the tag associated with NODE.
89The tag is a lower-case symbol." 89Without namespace-aware parsing, the tag is a symbol.
90
91With namespace-aware parsing, the tag is a cons of a string
92representing the uri of the namespace with the local name of the
93tag. For example,
94
95 <foo>
96
97would be represented by
98
99 '(\"\" . \"foo\")."
100
90 (car node)) 101 (car node))
91 102
92(defsubst xml-node-attributes (node) 103(defsubst xml-node-attributes (node)
@@ -101,17 +112,17 @@ This is a list of nodes, and it can be nil."
101 112
102(defun xml-get-children (node child-name) 113(defun xml-get-children (node child-name)
103 "Return the children of NODE whose tag is CHILD-NAME. 114 "Return the children of NODE whose tag is CHILD-NAME.
104CHILD-NAME should be a lower case symbol." 115CHILD-NAME should match the value returned by `xml-node-name'."
105 (let ((match ())) 116 (let ((match ()))
106 (dolist (child (xml-node-children node)) 117 (dolist (child (xml-node-children node))
107 (if child 118 (if (and (listp child)
108 (if (equal (xml-node-name child) child-name) 119 (equal (xml-node-name child) child-name))
109 (push child match)))) 120 (push child match)))
110 (nreverse match))) 121 (nreverse match)))
111 122
112(defun xml-get-attribute-or-nil (node attribute) 123(defun xml-get-attribute-or-nil (node attribute)
113 "Get from NODE the value of ATTRIBUTE. 124 "Get from NODE the value of ATTRIBUTE.
114Return `nil' if the attribute was not found. 125Return nil if the attribute was not found.
115 126
116See also `xml-get-attribute'." 127See also `xml-get-attribute'."
117 (cdr (assoc attribute (xml-node-attributes node)))) 128 (cdr (assoc attribute (xml-node-attributes node))))
@@ -236,7 +247,8 @@ If PARSE-NS is non-nil, then QNAMES are expanded."
236 (nreverse xml))))))) 247 (nreverse xml)))))))
237 248
238(defun xml-maybe-do-ns (name default xml-ns) 249(defun xml-maybe-do-ns (name default xml-ns)
239 "Perform any namespace expansion. NAME is the name to perform the expansion on. 250 "Perform any namespace expansion.
251NAME is the name to perform the expansion on.
240DEFAULT is the default namespace. XML-NS is a cons of namespace 252DEFAULT is the default namespace. XML-NS is a cons of namespace
241names to uris. When namespace-aware parsing is off, then XML-NS 253names to uris. When namespace-aware parsing is off, then XML-NS
242is nil. 254is nil.
@@ -325,10 +337,8 @@ Returns one of:
325 (push (cons (cdar attr) (intern (concat ":" (cdr attr)))) 337 (push (cons (cdar attr) (intern (concat ":" (cdr attr))))
326 xml-ns)))) 338 xml-ns))))
327 339
328 ;; expand element names 340 (setq children (list attrs (xml-maybe-do-ns node-name "" xml-ns)))
329 (setq node-name (list (xml-maybe-do-ns node-name "" xml-ns)))
330 341
331 (setq children (list attrs node-name))
332 ;; is this an empty element ? 342 ;; is this an empty element ?
333 (if (looking-at "/>") 343 (if (looking-at "/>")
334 (progn 344 (progn
@@ -383,8 +393,8 @@ Returns one of:
383 (error "XML: Invalid character"))))) 393 (error "XML: Invalid character")))))
384 394
385(defun xml-parse-attlist (&optional xml-ns) 395(defun xml-parse-attlist (&optional xml-ns)
386 "Return the attribute-list after point. Leave point at the 396 "Return the attribute-list after point.
387first non-blank character after the tag." 397Leave point at the first non-blank character after the tag."
388 (let ((attlist ()) 398 (let ((attlist ())
389 end-pos name) 399 end-pos name)
390 (skip-syntax-forward " ") 400 (skip-syntax-forward " ")
@@ -575,7 +585,7 @@ This follows the rule [28] in the XML specifications."
575 585
576;; Fixme: Take declared entities from the DTD when they're available. 586;; Fixme: Take declared entities from the DTD when they're available.
577(defun xml-substitute-entity (match) 587(defun xml-substitute-entity (match)
578 "Subroutine of xml-substitute-special." 588 "Subroutine of `xml-substitute-special'."
579 (save-match-data 589 (save-match-data
580 (let ((match1 (match-string 1 str))) 590 (let ((match1 (match-string 1 str)))
581 (cond ((string= match1 "lt") "<") 591 (cond ((string= match1 "lt") "<")
diff --git a/lispref/ChangeLog b/lispref/ChangeLog
index 6637064af48..1e04943f4f2 100644
--- a/lispref/ChangeLog
+++ b/lispref/ChangeLog
@@ -1,3 +1,7 @@
12004-04-16 Luc Teirlinck <teirllm@auburn.edu>
2
3 * sequences.texi: Various clarifications.
4
12004-04-14 Luc Teirlinck <teirllm@auburn.edu> 52004-04-14 Luc Teirlinck <teirllm@auburn.edu>
2 6
3 * buffers.texi (Read Only Buffers): Mention optional ARG to 7 * buffers.texi (Read Only Buffers): Mention optional ARG to
diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi
index 9b2df2b2045..ee50855bef3 100644
--- a/lispref/keymaps.texi
+++ b/lispref/keymaps.texi
@@ -1864,7 +1864,7 @@ function should return the binding to use instead.
1864@cindex menu separators 1864@cindex menu separators
1865 1865
1866 A menu separator is a kind of menu item that doesn't display any 1866 A menu separator is a kind of menu item that doesn't display any
1867text--instead, it divides the menu into subparts with a horizontal line. 1867text---instead, it divides the menu into subparts with a horizontal line.
1868A separator looks like this in the menu keymap: 1868A separator looks like this in the menu keymap:
1869 1869
1870@example 1870@example
diff --git a/lispref/lists.texi b/lispref/lists.texi
index 41b3918de06..7c369633c2e 100644
--- a/lispref/lists.texi
+++ b/lispref/lists.texi
@@ -327,6 +327,7 @@ x
327@end example 327@end example
328@end defmac 328@end defmac
329 329
330@anchor{Definition of nth}
330@defun nth n list 331@defun nth n list
331This function returns the @var{n}th element of @var{list}. Elements 332This function returns the @var{n}th element of @var{list}. Elements
332are numbered starting with zero, so the @sc{car} of @var{list} is 333are numbered starting with zero, so the @sc{car} of @var{list} is
@@ -391,6 +392,7 @@ this link is the list's last element. If @var{list} is null,
391if @var{n} is bigger than @var{list}'s length. 392if @var{n} is bigger than @var{list}'s length.
392@end defun 393@end defun
393 394
395@anchor{Definition of safe-length}
394@defun safe-length list 396@defun safe-length list
395This function returns the length of @var{list}, with no risk 397This function returns the length of @var{list}, with no risk
396of either an error or an infinite loop. 398of either an error or an infinite loop.
@@ -565,7 +567,7 @@ object. The final argument is not copied or converted; it becomes the
565@sc{cdr} of the last cons cell in the new list. If the final argument 567@sc{cdr} of the last cons cell in the new list. If the final argument
566is itself a list, then its elements become in effect elements of the 568is itself a list, then its elements become in effect elements of the
567result list. If the final element is not a list, the result is a 569result list. If the final element is not a list, the result is a
568``dotted list'' since its final @sc{cdr} is not @code{nil} as required 570dotted list since its final @sc{cdr} is not @code{nil} as required
569in a true list. 571in a true list.
570 572
571In Emacs 20 and before, the @code{append} function also allowed 573In Emacs 20 and before, the @code{append} function also allowed
@@ -708,7 +710,7 @@ x
708@end defun 710@end defun
709 711
710@defun copy-tree tree &optional vecp 712@defun copy-tree tree &optional vecp
711This function returns a copy the tree @code{tree}. If @var{tree} is a 713This function returns a copy of the tree @code{tree}. If @var{tree} is a
712cons cell, this makes a new cons cell with the same @sc{car} and 714cons cell, this makes a new cons cell with the same @sc{car} and
713@sc{cdr}, then recursively copies the @sc{car} and @sc{cdr} in the 715@sc{cdr}, then recursively copies the @sc{car} and @sc{cdr} in the
714same way. 716same way.
@@ -732,7 +734,7 @@ All arguments can be integers or floating point numbers. However,
732floating point arguments can be tricky, because floating point 734floating point arguments can be tricky, because floating point
733arithmetic is inexact. For instance, depending on the machine, it may 735arithmetic is inexact. For instance, depending on the machine, it may
734quite well happen that @code{(number-sequence 0.4 0.6 0.2)} returns 736quite well happen that @code{(number-sequence 0.4 0.6 0.2)} returns
735the one element list @code{(0.4)}, whereas 737the one element list @code{(0.4)}, whereas
736@code{(number-sequence 0.4 0.8 0.2)} returns a list with three 738@code{(number-sequence 0.4 0.8 0.2)} returns a list with three
737elements. The @var{n}th element of the list is computed by the exact 739elements. The @var{n}th element of the list is computed by the exact
738formula @code{(+ @var{from} (* @var{n} @var{separation}))}. Thus, if 740formula @code{(+ @var{from} (* @var{n} @var{separation}))}. Thus, if
diff --git a/lispref/processes.texi b/lispref/processes.texi
index 27721efee45..a4166ee29a0 100644
--- a/lispref/processes.texi
+++ b/lispref/processes.texi
@@ -933,7 +933,7 @@ primitive that waits.
933streams of the subprocess, because Emacs normally spawns the subprocess 933streams of the subprocess, because Emacs normally spawns the subprocess
934inside a pseudo-TTY, and a pseudo-TTY has only one output channel. If 934inside a pseudo-TTY, and a pseudo-TTY has only one output channel. If
935you want to keep the output to those streams separate, you should 935you want to keep the output to those streams separate, you should
936redirect one of them to a file--for example, by using an appropriate 936redirect one of them to a file---for example, by using an appropriate
937shell command. 937shell command.
938 938
939@menu 939@menu
diff --git a/lispref/sequences.texi b/lispref/sequences.texi
index 06ac8c5f569..a9f997a5b2c 100644
--- a/lispref/sequences.texi
+++ b/lispref/sequences.texi
@@ -69,8 +69,8 @@ elements. This section describes functions that accept any kind of
69sequence. 69sequence.
70 70
71@defun sequencep object 71@defun sequencep object
72Returns @code{t} if @var{object} is a list, vector, 72Returns @code{t} if @var{object} is a list, vector, string,
73string, bool-vector, or char-table, @code{nil} otherwise. 73bool-vector, or char-table, @code{nil} otherwise.
74@end defun 74@end defun
75 75
76@defun length sequence 76@defun length sequence
@@ -80,12 +80,12 @@ string, bool-vector, or char-table, @code{nil} otherwise.
80@cindex sequence length 80@cindex sequence length
81@cindex char-table length 81@cindex char-table length
82This function returns the number of elements in @var{sequence}. If 82This function returns the number of elements in @var{sequence}. If
83@var{sequence} is a cons cell that is not a list (because the final 83@var{sequence} is a dotted list, a @code{wrong-type-argument} error is
84@sc{cdr} is not @code{nil}), a @code{wrong-type-argument} error is 84signaled. Circular lists may cause an infinite loop. For a
85signaled. For a char-table, the value returned is always one more 85char-table, the value returned is always one more than the maximum
86than the maximum Emacs character code. 86Emacs character code.
87 87
88@xref{List Elements}, for the related function @code{safe-length}. 88@xref{Definition of safe-length}, for the related function @code{safe-length}.
89 89
90@example 90@example
91@group 91@group
@@ -121,10 +121,11 @@ If @var{string} is a multibyte string, this is greater than
121@defun elt sequence index 121@defun elt sequence index
122@cindex elements of sequences 122@cindex elements of sequences
123This function returns the element of @var{sequence} indexed by 123This function returns the element of @var{sequence} indexed by
124@var{index}. Legitimate values of @var{index} are integers ranging from 124@var{index}. Legitimate values of @var{index} are integers ranging
1250 up to one less than the length of @var{sequence}. If @var{sequence} 125from 0 up to one less than the length of @var{sequence}. If
126is a list, then out-of-range values of @var{index} return @code{nil}; 126@var{sequence} is a list, out-of-range values behave as for
127otherwise, they trigger an @code{args-out-of-range} error. 127@code{nth}. @xref{Definition of nth}. Otherwise, out-of-range values
128trigger an @code{args-out-of-range} error.
128 129
129@example 130@example
130@group 131@group
@@ -151,7 +152,7 @@ otherwise, they trigger an @code{args-out-of-range} error.
151@end example 152@end example
152 153
153This function generalizes @code{aref} (@pxref{Array Functions}) and 154This function generalizes @code{aref} (@pxref{Array Functions}) and
154@code{nth} (@pxref{List Elements}). 155@code{nth} (@pxref{Definition of nth}).
155@end defun 156@end defun
156 157
157@defun copy-sequence sequence 158@defun copy-sequence sequence
@@ -171,6 +172,9 @@ the copy is itself a copy, not shared with the original's property
171list. However, the actual values of the properties are shared. 172list. However, the actual values of the properties are shared.
172@xref{Text Properties}. 173@xref{Text Properties}.
173 174
175This function does not work for dotted lists. Trying to copy a
176circular list may cause an infinite loop.
177
174See also @code{append} in @ref{Building Lists}, @code{concat} in 178See also @code{append} in @ref{Building Lists}, @code{concat} in
175@ref{Creating Strings}, and @code{vconcat} in @ref{Vector Functions}, 179@ref{Creating Strings}, and @code{vconcat} in @ref{Vector Functions},
176for other ways to copy sequences. 180for other ways to copy sequences.
@@ -472,9 +476,9 @@ each initialized to @var{object}.
472@defun vconcat &rest sequences 476@defun vconcat &rest sequences
473@cindex copying vectors 477@cindex copying vectors
474This function returns a new vector containing all the elements of the 478This function returns a new vector containing all the elements of the
475@var{sequences}. The arguments @var{sequences} may be any kind of 479@var{sequences}. The arguments @var{sequences} may be true lists,
476arrays, including lists, vectors, or strings. If no @var{sequences} are 480vectors, strings or bool-vectors. If no @var{sequences} are given, an
477given, an empty vector is returned. 481empty vector is returned.
478 482
479The value is a newly constructed vector that is not @code{eq} to any 483The value is a newly constructed vector that is not @code{eq} to any
480existing vector. 484existing vector.
diff --git a/lispref/text.texi b/lispref/text.texi
index bb57da746bf..c6e5aa34d05 100644
--- a/lispref/text.texi
+++ b/lispref/text.texi
@@ -3875,7 +3875,7 @@ changes, like this:
3875If an error (or other nonlocal exit) occurs inside the body of 3875If an error (or other nonlocal exit) occurs inside the body of
3876@code{atomic-change-group}, it unmakes all the changes in that buffer 3876@code{atomic-change-group}, it unmakes all the changes in that buffer
3877that were during the execution of the body. This kind of change group 3877that were during the execution of the body. This kind of change group
3878has no effect on any other buffers--any such changes remain. 3878has no effect on any other buffers---any such changes remain.
3879 3879
3880 If you need something more sophisticated, such as to make changes in 3880 If you need something more sophisticated, such as to make changes in
3881various buffers constitute one atomic group, you must directly call 3881various buffers constitute one atomic group, you must directly call
diff --git a/src/ChangeLog b/src/ChangeLog
index c9cf12dc159..702f3be6046 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,39 @@
12004-04-16 Luc Teirlinck <teirllm@auburn.edu>
2
3 * buffer.c (Fbuffer_base_buffer): Doc fix.
4
52004-04-17 Kim F. Storm <storm@cua.dk>
6
7 * keymap.c (Fkey_description): Add optional PREFIX arg.
8 Combine prefix with KEYS to make up the full key sequence to describe.
9 Correlate meta_prefix_char and following (simple) key to describe
10 as meta modifier. All callers changed.
11 (describe_map): Rename arg `keys' to `prefix'. Remove local
12 `elt_prefix' var. Use Fkey_description with prefix instead of
13 elt_prefix combined with Fsingle_key_description.
14 (describe_vector): Declare static. Replace arg `elt_prefix' with
15 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
16 if !KEYMAP_P. Use Fkey_description with prefix instead of
17 Fsingle_key_description.
18
19 * keymap.h (Fkey_description): Fix prototype.
20 (describe_vector): Remove prototype.
21
22 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
23
24 * image.c (PNG_BG_COLOR_SHIFT): Remove.
25 (png_load): Fix calculation of transparent background color on X
26 and W32 platforms.
27
282004-04-16 Juanma Barranquero <lektu@terra.es>
29
30 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
31 not too large before computing how much to scroll.
32
332004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
34
35 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
36
12004-04-14 Luc Teirlinck <teirllm@auburn.edu> 372004-04-14 Luc Teirlinck <teirllm@auburn.edu>
2 38
3 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime): 39 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
@@ -30,6 +66,11 @@
30 centering_position = 0. 66 centering_position = 0.
31 Clear desired matrix before retrying with centering_position = 0. 67 Clear desired matrix before retrying with centering_position = 0.
32 68
692004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
70
71 * syntax.c (scan_lists): Simplify backward string scan.
72 Fix off-by-one boundary check for string and comment fences.
73
332004-04-13 Joe Buehler <jbuehler@hekimian.com> 742004-04-13 Joe Buehler <jbuehler@hekimian.com>
34 75
35 * sheap.c, unexcw.c: New files. 76 * sheap.c, unexcw.c: New files.
diff --git a/src/buffer.c b/src/buffer.c
index ca74dda73bf..6e67f07cf38 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -832,7 +832,8 @@ No argument or nil as argument means use the current buffer. */)
832DEFUN ("buffer-base-buffer", Fbuffer_base_buffer, Sbuffer_base_buffer, 832DEFUN ("buffer-base-buffer", Fbuffer_base_buffer, Sbuffer_base_buffer,
833 0, 1, 0, 833 0, 1, 0,
834 doc: /* Return the base buffer of indirect buffer BUFFER. 834 doc: /* Return the base buffer of indirect buffer BUFFER.
835If BUFFER is not indirect, return nil. */) 835If BUFFER is not indirect, return nil.
836BUFFER defaults to the current buffer. */)
836 (buffer) 837 (buffer)
837 register Lisp_Object buffer; 838 register Lisp_Object buffer;
838{ 839{
diff --git a/src/callint.c b/src/callint.c
index 50090db8b28..a3e4984fd16 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -612,7 +612,7 @@ supply if the command inquires which events were used to invoke it. */)
612 Qnil, Qnil, Qnil, Qnil); 612 Qnil, Qnil, Qnil, Qnil);
613 unbind_to (speccount1, Qnil); 613 unbind_to (speccount1, Qnil);
614 teml = args[i]; 614 teml = args[i];
615 visargs[i] = Fkey_description (teml); 615 visargs[i] = Fkey_description (teml, Qnil);
616 616
617 /* If the key sequence ends with a down-event, 617 /* If the key sequence ends with a down-event,
618 discard the following up-event. */ 618 discard the following up-event. */
@@ -639,7 +639,7 @@ supply if the command inquires which events were used to invoke it. */)
639 args[i] = Fread_key_sequence (build_string (callint_message), 639 args[i] = Fread_key_sequence (build_string (callint_message),
640 Qnil, Qt, Qnil, Qnil); 640 Qnil, Qt, Qnil, Qnil);
641 teml = args[i]; 641 teml = args[i];
642 visargs[i] = Fkey_description (teml); 642 visargs[i] = Fkey_description (teml, Qnil);
643 unbind_to (speccount1, Qnil); 643 unbind_to (speccount1, Qnil);
644 644
645 /* If the key sequence ends with a down-event, 645 /* If the key sequence ends with a down-event,
diff --git a/src/doc.c b/src/doc.c
index d4d749ab585..a0b840637e0 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -808,7 +808,7 @@ thus, \\=\\=\\=\\= puts \\=\\= into the output, and \\=\\=\\=\\[ puts \\=\\[ int
808 } 808 }
809 else 809 else
810 { /* function is on a key */ 810 { /* function is on a key */
811 tem = Fkey_description (tem); 811 tem = Fkey_description (tem, Qnil);
812 goto subst_string; 812 goto subst_string;
813 } 813 }
814 } 814 }
diff --git a/src/image.c b/src/image.c
index 34db5e53367..66b004220d1 100644
--- a/src/image.c
+++ b/src/image.c
@@ -51,7 +51,6 @@ Boston, MA 02111-1307, USA. */
51typedef struct x_bitmap_record Bitmap_Record; 51typedef struct x_bitmap_record Bitmap_Record;
52#define GET_PIXEL(ximg, x, y) XGetPixel(ximg, x, y) 52#define GET_PIXEL(ximg, x, y) XGetPixel(ximg, x, y)
53#define NO_PIXMAP None 53#define NO_PIXMAP None
54#define PNG_BG_COLOR_SHIFT 0
55 54
56#define RGB_PIXEL_COLOR unsigned long 55#define RGB_PIXEL_COLOR unsigned long
57 56
@@ -69,7 +68,6 @@ typedef struct x_bitmap_record Bitmap_Record;
69typedef struct w32_bitmap_record Bitmap_Record; 68typedef struct w32_bitmap_record Bitmap_Record;
70#define GET_PIXEL(ximg, x, y) GetPixel(ximg, x, y) 69#define GET_PIXEL(ximg, x, y) GetPixel(ximg, x, y)
71#define NO_PIXMAP 0 70#define NO_PIXMAP 0
72#define PNG_BG_COLOR_SHIFT 0
73 71
74#define RGB_PIXEL_COLOR COLORREF 72#define RGB_PIXEL_COLOR COLORREF
75 73
@@ -104,7 +102,6 @@ typedef struct mac_bitmap_record Bitmap_Record;
104 102
105#define GET_PIXEL(ximg, x, y) XGetPixel(ximg, x, y) 103#define GET_PIXEL(ximg, x, y) XGetPixel(ximg, x, y)
106#define NO_PIXMAP 0 104#define NO_PIXMAP 0
107#define PNG_BG_COLOR_SHIFT 8
108 105
109#define RGB_PIXEL_COLOR unsigned long 106#define RGB_PIXEL_COLOR unsigned long
110 107
@@ -1172,7 +1169,7 @@ four_corners_best (ximg, width, height)
1172/* Return the `background' field of IMG. If IMG doesn't have one yet, 1169/* Return the `background' field of IMG. If IMG doesn't have one yet,
1173 it is guessed heuristically. If non-zero, XIMG is an existing 1170 it is guessed heuristically. If non-zero, XIMG is an existing
1174 XImage object (or device context with the image selected on W32) to 1171 XImage object (or device context with the image selected on W32) to
1175 use for the heuristic. */ 1172 use for the heuristic. */
1176 1173
1177RGB_PIXEL_COLOR 1174RGB_PIXEL_COLOR
1178image_background (img, f, ximg) 1175image_background (img, f, ximg)
@@ -1205,7 +1202,7 @@ image_background (img, f, ximg)
1205 1202
1206 if (free_ximg) 1203 if (free_ximg)
1207 Destroy_Image (ximg, prev); 1204 Destroy_Image (ximg, prev);
1208 1205
1209 img->background_valid = 1; 1206 img->background_valid = 1;
1210 } 1207 }
1211 1208
@@ -2990,7 +2987,7 @@ xbm_load_image (f, img, contents, end)
2990 non_default_colors = 1; 2987 non_default_colors = 1;
2991 } 2988 }
2992 2989
2993 Create_Pixmap_From_Bitmap_Data (f, img, data, 2990 Create_Pixmap_From_Bitmap_Data (f, img, data,
2994 foreground, background, 2991 foreground, background,
2995 non_default_colors); 2992 non_default_colors);
2996 xfree (data); 2993 xfree (data);
@@ -3857,7 +3854,7 @@ lookup_rgb_color (f, r, g, b)
3857 /* Assemble the pixel color. */ 3854 /* Assemble the pixel color. */
3858 return pr | pg | pb; 3855 return pr | pg | pb;
3859 } 3856 }
3860 3857
3861 for (p = ct_table[i]; p; p = p->next) 3858 for (p = ct_table[i]; p; p = p->next)
3862 if (p->r == r && p->g == g && p->b == b) 3859 if (p->r == r && p->g == g && p->b == b)
3863 break; 3860 break;
@@ -4968,7 +4965,7 @@ pbm_load (f, img)
4968 x_destroy_x_image (ximg); 4965 x_destroy_x_image (ximg);
4969 4966
4970 /* X and W32 versions did it here, MAC version above. ++kfs 4967 /* X and W32 versions did it here, MAC version above. ++kfs
4971 img->width = width; 4968 img->width = width;
4972 img->height = height; */ 4969 img->height = height; */
4973 4970
4974 UNGCPRO; 4971 UNGCPRO;
@@ -5412,9 +5409,9 @@ png_load (f, img)
5412 png_color_16 user_bg; 5409 png_color_16 user_bg;
5413 5410
5414 bzero (&user_bg, sizeof user_bg); 5411 bzero (&user_bg, sizeof user_bg);
5415 user_bg.red = color.red >> PNG_BG_COLOR_SHIFT; 5412 user_bg.red = color.red >> 8;
5416 user_bg.green = color.green >> PNG_BG_COLOR_SHIFT; 5413 user_bg.green = color.green >> 8;
5417 user_bg.blue = color.blue >> PNG_BG_COLOR_SHIFT; 5414 user_bg.blue = color.blue >> 8;
5418 5415
5419 fn_png_set_background (png_ptr, &user_bg, 5416 fn_png_set_background (png_ptr, &user_bg,
5420 PNG_BACKGROUND_GAMMA_SCREEN, 0, 1.0); 5417 PNG_BACKGROUND_GAMMA_SCREEN, 0, 1.0);
@@ -5438,9 +5435,9 @@ png_load (f, img)
5438 x_query_color (f, &color); 5435 x_query_color (f, &color);
5439 5436
5440 bzero (&frame_background, sizeof frame_background); 5437 bzero (&frame_background, sizeof frame_background);
5441 frame_background.red = color.red; 5438 frame_background.red = color.red >> 8;
5442 frame_background.green = color.green; 5439 frame_background.green = color.green >> 8;
5443 frame_background.blue = color.blue; 5440 frame_background.blue = color.blue >> 8;
5444#endif /* HAVE_X_WINDOWS */ 5441#endif /* HAVE_X_WINDOWS */
5445 5442
5446#ifdef HAVE_NTGUI 5443#ifdef HAVE_NTGUI
@@ -5451,9 +5448,9 @@ png_load (f, img)
5451 x_query_color (f, &color); 5448 x_query_color (f, &color);
5452#endif 5449#endif
5453 bzero (&frame_background, sizeof frame_background); 5450 bzero (&frame_background, sizeof frame_background);
5454 frame_background.red = 256 * GetRValue (color); 5451 frame_background.red = GetRValue (color);
5455 frame_background.green = 256 * GetGValue (color); 5452 frame_background.green = GetGValue (color);
5456 frame_background.blue = 256 * GetBValue (color); 5453 frame_background.blue = GetBValue (color);
5457#endif /* HAVE_NTGUI */ 5454#endif /* HAVE_NTGUI */
5458 5455
5459#ifdef MAC_OS 5456#ifdef MAC_OS
diff --git a/src/keyboard.c b/src/keyboard.c
index dc9bcd7f4f3..330eef60c1e 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -7479,7 +7479,7 @@ parse_menu_item (item, notreal, inmenubar)
7479 newcache = chkcache; 7479 newcache = chkcache;
7480 if (chkcache) 7480 if (chkcache)
7481 { 7481 {
7482 tem = Fkey_description (tem); 7482 tem = Fkey_description (tem, Qnil);
7483 if (CONSP (prefix)) 7483 if (CONSP (prefix))
7484 { 7484 {
7485 if (STRINGP (XCAR (prefix))) 7485 if (STRINGP (XCAR (prefix)))
@@ -9878,7 +9878,7 @@ DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_
9878 int count = SPECPDL_INDEX (); 9878 int count = SPECPDL_INDEX ();
9879 9879
9880 record_unwind_protect (pop_message_unwind, Qnil); 9880 record_unwind_protect (pop_message_unwind, Qnil);
9881 binding = Fkey_description (bindings); 9881 binding = Fkey_description (bindings, Qnil);
9882 9882
9883 newmessage 9883 newmessage
9884 = (char *) alloca (SCHARS (SYMBOL_NAME (function)) 9884 = (char *) alloca (SCHARS (SYMBOL_NAME (function))
diff --git a/src/keymap.c b/src/keymap.c
index 4cea62c10fb..0e68c38d677 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -122,6 +122,9 @@ static void describe_translation P_ ((Lisp_Object, Lisp_Object));
122static void describe_map P_ ((Lisp_Object, Lisp_Object, 122static void describe_map P_ ((Lisp_Object, Lisp_Object,
123 void (*) P_ ((Lisp_Object, Lisp_Object)), 123 void (*) P_ ((Lisp_Object, Lisp_Object)),
124 int, Lisp_Object, Lisp_Object*, int)); 124 int, Lisp_Object, Lisp_Object*, int));
125static void describe_vector P_ ((Lisp_Object, Lisp_Object, Lisp_Object,
126 void (*) (Lisp_Object, Lisp_Object), int,
127 Lisp_Object, Lisp_Object, int *, int, int));
125static void silly_event_symbol_error P_ ((Lisp_Object)); 128static void silly_event_symbol_error P_ ((Lisp_Object));
126 129
127/* Keymap object support - constructors and predicates. */ 130/* Keymap object support - constructors and predicates. */
@@ -688,7 +691,7 @@ map_keymap (map, fun, args, data, autoload)
688 tail = XCDR (tail)) 691 tail = XCDR (tail))
689 { 692 {
690 Lisp_Object binding = XCAR (tail); 693 Lisp_Object binding = XCAR (tail);
691 694
692 if (CONSP (binding)) 695 if (CONSP (binding))
693 map_keymap_item (fun, args, XCAR (binding), XCDR (binding), data); 696 map_keymap_item (fun, args, XCAR (binding), XCDR (binding), data);
694 else if (VECTORP (binding)) 697 else if (VECTORP (binding))
@@ -1161,7 +1164,7 @@ binding KEY to DEF is added at the front of KEYMAP. */)
1161 /* We must use Fkey_description rather than just passing key to 1164 /* We must use Fkey_description rather than just passing key to
1162 error; key might be a vector, not a string. */ 1165 error; key might be a vector, not a string. */
1163 error ("Key sequence %s uses invalid prefix characters", 1166 error ("Key sequence %s uses invalid prefix characters",
1164 SDATA (Fkey_description (key))); 1167 SDATA (Fkey_description (key, Qnil)));
1165 } 1168 }
1166} 1169}
1167 1170
@@ -1792,9 +1795,9 @@ accessible_keymaps_1 (key, cmd, maps, tail, thisseq, is_metized)
1792 int meta_bit = meta_modifier; 1795 int meta_bit = meta_modifier;
1793 Lisp_Object last = make_number (XINT (Flength (thisseq)) - 1); 1796 Lisp_Object last = make_number (XINT (Flength (thisseq)) - 1);
1794 tem = Fcopy_sequence (thisseq); 1797 tem = Fcopy_sequence (thisseq);
1795 1798
1796 Faset (tem, last, make_number (XINT (key) | meta_bit)); 1799 Faset (tem, last, make_number (XINT (key) | meta_bit));
1797 1800
1798 /* This new sequence is the same length as 1801 /* This new sequence is the same length as
1799 thisseq, so stick it in the list right 1802 thisseq, so stick it in the list right
1800 after this one. */ 1803 after this one. */
@@ -1945,78 +1948,109 @@ Lisp_Object Qsingle_key_description, Qkey_description;
1945 1948
1946/* This function cannot GC. */ 1949/* This function cannot GC. */
1947 1950
1948DEFUN ("key-description", Fkey_description, Skey_description, 1, 1, 0, 1951DEFUN ("key-description", Fkey_description, Skey_description, 1, 2, 0,
1949 doc: /* Return a pretty description of key-sequence KEYS. 1952 doc: /* Return a pretty description of key-sequence KEYS.
1953Optional arg PREFIX is the sequence of keys leading up to KEYS.
1950Control characters turn into "C-foo" sequences, meta into "M-foo" 1954Control characters turn into "C-foo" sequences, meta into "M-foo"
1951spaces are put between sequence elements, etc. */) 1955spaces are put between sequence elements, etc. */)
1952 (keys) 1956 (keys, prefix)
1953 Lisp_Object keys; 1957 Lisp_Object keys, prefix;
1954{ 1958{
1955 int len = 0; 1959 int len = 0;
1956 int i, i_byte; 1960 int i, i_byte;
1957 Lisp_Object sep; 1961 Lisp_Object *args;
1958 Lisp_Object *args = NULL; 1962 int size = Flength (keys);
1963 Lisp_Object list;
1964 Lisp_Object sep = build_string (" ");
1965 Lisp_Object key;
1966 int add_meta = 0;
1967
1968 if (!NILP (prefix))
1969 size += Flength (prefix);
1970
1971 /* This has one extra element at the end that we don't pass to Fconcat. */
1972 args = (Lisp_Object *) alloca (size * 4 * sizeof (Lisp_Object));
1973
1974 /* In effect, this computes
1975 (mapconcat 'single-key-description keys " ")
1976 but we shouldn't use mapconcat because it can do GC. */
1959 1977
1960 if (STRINGP (keys)) 1978 next_list:
1979 if (!NILP (prefix))
1980 list = prefix, prefix = Qnil;
1981 else if (!NILP (keys))
1982 list = keys, keys = Qnil;
1983 else
1961 { 1984 {
1962 Lisp_Object vector; 1985 if (add_meta)
1963 vector = Fmake_vector (Flength (keys), Qnil);
1964 for (i = 0, i_byte = 0; i < SCHARS (keys); )
1965 { 1986 {
1966 int c; 1987 args[len] = Fsingle_key_description (meta_prefix_char, Qnil);
1967 int i_before = i; 1988 len += 2;
1968
1969 FETCH_STRING_CHAR_ADVANCE (c, keys, i, i_byte);
1970 if (SINGLE_BYTE_CHAR_P (c) && (c & 0200))
1971 c ^= 0200 | meta_modifier;
1972 XSETFASTINT (AREF (vector, i_before), c);
1973 } 1989 }
1974 keys = vector; 1990 else if (len == 0)
1991 return empty_string;
1992 return Fconcat (len - 1, args);
1975 } 1993 }
1976 1994
1977 if (VECTORP (keys)) 1995 if (STRINGP (list))
1978 { 1996 size = SCHARS (list);
1979 /* In effect, this computes 1997 else if (VECTORP (list))
1980 (mapconcat 'single-key-description keys " ") 1998 size = XVECTOR (list)->size;
1981 but we shouldn't use mapconcat because it can do GC. */ 1999 else if (CONSP (list))
2000 size = Flength (list);
2001 else
2002 wrong_type_argument (Qarrayp, list);
1982 2003
1983 len = XVECTOR (keys)->size; 2004 i = i_byte = 0;
1984 sep = build_string (" ");
1985 /* This has one extra element at the end that we don't pass to Fconcat. */
1986 args = (Lisp_Object *) alloca (len * 2 * sizeof (Lisp_Object));
1987 2005
1988 for (i = 0; i < len; i++) 2006 while (i < size)
2007 {
2008 if (STRINGP (list))
1989 { 2009 {
1990 args[i * 2] = Fsingle_key_description (AREF (keys, i), Qnil); 2010 int c;
1991 args[i * 2 + 1] = sep; 2011 FETCH_STRING_CHAR_ADVANCE (c, list, i, i_byte);
2012 if (SINGLE_BYTE_CHAR_P (c) && (c & 0200))
2013 c ^= 0200 | meta_modifier;
2014 XSETFASTINT (key, c);
2015 }
2016 else if (VECTORP (list))
2017 {
2018 key = AREF (list, i++);
2019 }
2020 else
2021 {
2022 key = XCAR (list);
2023 list = XCDR (list);
2024 i++;
1992 } 2025 }
1993 }
1994 else if (CONSP (keys))
1995 {
1996 /* In effect, this computes
1997 (mapconcat 'single-key-description keys " ")
1998 but we shouldn't use mapconcat because it can do GC. */
1999
2000 len = XFASTINT (Flength (keys));
2001 sep = build_string (" ");
2002 /* This has one extra element at the end that we don't pass to Fconcat. */
2003 args = (Lisp_Object *) alloca (len * 2 * sizeof (Lisp_Object));
2004 2026
2005 for (i = 0; i < len; i++) 2027 if (add_meta)
2028 {
2029 if (!INTEGERP (key)
2030 || EQ (key, meta_prefix_char)
2031 || (XINT (key) & meta_modifier))
2032 {
2033 args[len++] = Fsingle_key_description (meta_prefix_char, Qnil);
2034 args[len++] = sep;
2035 if (EQ (key, meta_prefix_char))
2036 continue;
2037 }
2038 else
2039 XSETINT (key, (XINT (key) | meta_modifier) & ~0x80);
2040 add_meta = 0;
2041 }
2042 else if (EQ (key, meta_prefix_char))
2006 { 2043 {
2007 args[i * 2] = Fsingle_key_description (XCAR (keys), Qnil); 2044 add_meta = 1;
2008 args[i * 2 + 1] = sep; 2045 continue;
2009 keys = XCDR (keys);
2010 } 2046 }
2047 args[len++] = Fsingle_key_description (key, Qnil);
2048 args[len++] = sep;
2011 } 2049 }
2012 else 2050 goto next_list;
2013 keys = wrong_type_argument (Qarrayp, keys);
2014
2015 if (len == 0)
2016 return empty_string;
2017 return Fconcat (len * 2 - 1, args);
2018} 2051}
2019 2052
2053
2020char * 2054char *
2021push_key_description (c, p, force_multibyte) 2055push_key_description (c, p, force_multibyte)
2022 register unsigned int c; 2056 register unsigned int c;
@@ -2938,7 +2972,7 @@ key binding\n\
2938 if (!NILP (prefix)) 2972 if (!NILP (prefix))
2939 { 2973 {
2940 insert_string (" Starting With "); 2974 insert_string (" Starting With ");
2941 insert1 (Fkey_description (prefix)); 2975 insert1 (Fkey_description (prefix, Qnil));
2942 } 2976 }
2943 insert_string (":\n"); 2977 insert_string (":\n");
2944 } 2978 }
@@ -3063,7 +3097,7 @@ describe_translation (definition, args)
3063 } 3097 }
3064 else if (STRINGP (definition) || VECTORP (definition)) 3098 else if (STRINGP (definition) || VECTORP (definition))
3065 { 3099 {
3066 insert1 (Fkey_description (definition)); 3100 insert1 (Fkey_description (definition, Qnil));
3067 insert_string ("\n"); 3101 insert_string ("\n");
3068 } 3102 }
3069 else if (KEYMAPP (definition)) 3103 else if (KEYMAPP (definition))
@@ -3073,20 +3107,19 @@ describe_translation (definition, args)
3073} 3107}
3074 3108
3075/* Describe the contents of map MAP, assuming that this map itself is 3109/* Describe the contents of map MAP, assuming that this map itself is
3076 reached by the sequence of prefix keys KEYS (a string or vector). 3110 reached by the sequence of prefix keys PREFIX (a string or vector).
3077 PARTIAL, SHADOW, NOMENU are as in `describe_map_tree' above. */ 3111 PARTIAL, SHADOW, NOMENU are as in `describe_map_tree' above. */
3078 3112
3079static void 3113static void
3080describe_map (map, keys, elt_describer, partial, shadow, seen, nomenu) 3114describe_map (map, prefix, elt_describer, partial, shadow, seen, nomenu)
3081 register Lisp_Object map; 3115 register Lisp_Object map;
3082 Lisp_Object keys; 3116 Lisp_Object prefix;
3083 void (*elt_describer) P_ ((Lisp_Object, Lisp_Object)); 3117 void (*elt_describer) P_ ((Lisp_Object, Lisp_Object));
3084 int partial; 3118 int partial;
3085 Lisp_Object shadow; 3119 Lisp_Object shadow;
3086 Lisp_Object *seen; 3120 Lisp_Object *seen;
3087 int nomenu; 3121 int nomenu;
3088{ 3122{
3089 Lisp_Object elt_prefix;
3090 Lisp_Object tail, definition, event; 3123 Lisp_Object tail, definition, event;
3091 Lisp_Object tem; 3124 Lisp_Object tem;
3092 Lisp_Object suppress; 3125 Lisp_Object suppress;
@@ -3096,15 +3129,6 @@ describe_map (map, keys, elt_describer, partial, shadow, seen, nomenu)
3096 3129
3097 suppress = Qnil; 3130 suppress = Qnil;
3098 3131
3099 if (!NILP (keys) && XFASTINT (Flength (keys)) > 0)
3100 {
3101 /* Call Fkey_description first, to avoid GC bug for the other string. */
3102 tem = Fkey_description (keys);
3103 elt_prefix = concat2 (tem, build_string (" "));
3104 }
3105 else
3106 elt_prefix = Qnil;
3107
3108 if (partial) 3132 if (partial)
3109 suppress = intern ("suppress-keymap"); 3133 suppress = intern ("suppress-keymap");
3110 3134
@@ -3114,7 +3138,7 @@ describe_map (map, keys, elt_describer, partial, shadow, seen, nomenu)
3114 kludge = Fmake_vector (make_number (1), Qnil); 3138 kludge = Fmake_vector (make_number (1), Qnil);
3115 definition = Qnil; 3139 definition = Qnil;
3116 3140
3117 GCPRO3 (elt_prefix, definition, kludge); 3141 GCPRO3 (prefix, definition, kludge);
3118 3142
3119 for (tail = map; CONSP (tail); tail = XCDR (tail)) 3143 for (tail = map; CONSP (tail); tail = XCDR (tail))
3120 { 3144 {
@@ -3123,13 +3147,13 @@ describe_map (map, keys, elt_describer, partial, shadow, seen, nomenu)
3123 if (VECTORP (XCAR (tail)) 3147 if (VECTORP (XCAR (tail))
3124 || CHAR_TABLE_P (XCAR (tail))) 3148 || CHAR_TABLE_P (XCAR (tail)))
3125 describe_vector (XCAR (tail), 3149 describe_vector (XCAR (tail),
3126 elt_prefix, Qnil, elt_describer, partial, shadow, map, 3150 prefix, Qnil, elt_describer, partial, shadow, map,
3127 (int *)0, 0); 3151 (int *)0, 0, 1);
3128 else if (CONSP (XCAR (tail))) 3152 else if (CONSP (XCAR (tail)))
3129 { 3153 {
3130 event = XCAR (XCAR (tail)); 3154 event = XCAR (XCAR (tail));
3131 3155
3132 /* Ignore bindings whose "keys" are not really valid events. 3156 /* Ignore bindings whose "prefix" are not really valid events.
3133 (We get these in the frames and buffers menu.) */ 3157 (We get these in the frames and buffers menu.) */
3134 if (!(SYMBOLP (event) || INTEGERP (event))) 3158 if (!(SYMBOLP (event) || INTEGERP (event)))
3135 continue; 3159 continue;
@@ -3168,11 +3192,8 @@ describe_map (map, keys, elt_describer, partial, shadow, seen, nomenu)
3168 first = 0; 3192 first = 0;
3169 } 3193 }
3170 3194
3171 if (!NILP (elt_prefix))
3172 insert1 (elt_prefix);
3173
3174 /* THIS gets the string to describe the character EVENT. */ 3195 /* THIS gets the string to describe the character EVENT. */
3175 insert1 (Fsingle_key_description (event, Qnil)); 3196 insert1 (Fkey_description (kludge, prefix));
3176 3197
3177 /* Print a description of the definition of this character. 3198 /* Print a description of the definition of this character.
3178 elt_describer will take care of spacing out far enough 3199 elt_describer will take care of spacing out far enough
@@ -3185,9 +3206,9 @@ describe_map (map, keys, elt_describer, partial, shadow, seen, nomenu)
3185 using an inherited keymap. So skip anything we've already 3206 using an inherited keymap. So skip anything we've already
3186 encountered. */ 3207 encountered. */
3187 tem = Fassq (tail, *seen); 3208 tem = Fassq (tail, *seen);
3188 if (CONSP (tem) && !NILP (Fequal (XCAR (tem), keys))) 3209 if (CONSP (tem) && !NILP (Fequal (XCAR (tem), prefix)))
3189 break; 3210 break;
3190 *seen = Fcons (Fcons (tail, keys), *seen); 3211 *seen = Fcons (Fcons (tail, prefix), *seen);
3191 } 3212 }
3192 } 3213 }
3193 3214
@@ -3215,7 +3236,7 @@ This is text showing the elements of vector matched against indices. */)
3215 specbind (Qstandard_output, Fcurrent_buffer ()); 3236 specbind (Qstandard_output, Fcurrent_buffer ());
3216 CHECK_VECTOR_OR_CHAR_TABLE (vector); 3237 CHECK_VECTOR_OR_CHAR_TABLE (vector);
3217 describe_vector (vector, Qnil, describer, describe_vector_princ, 0, 3238 describe_vector (vector, Qnil, describer, describe_vector_princ, 0,
3218 Qnil, Qnil, (int *)0, 0); 3239 Qnil, Qnil, (int *)0, 0, 0);
3219 3240
3220 return unbind_to (count, Qnil); 3241 return unbind_to (count, Qnil);
3221} 3242}
@@ -3250,28 +3271,32 @@ This is text showing the elements of vector matched against indices. */)
3250 indices at higher levels in this char-table, 3271 indices at higher levels in this char-table,
3251 and CHAR_TABLE_DEPTH says how many levels down we have gone. 3272 and CHAR_TABLE_DEPTH says how many levels down we have gone.
3252 3273
3274 KEYMAP_P is 1 if vector is known to be a keymap, so map ESC to M-.
3275
3253 ARGS is simply passed as the second argument to ELT_DESCRIBER. */ 3276 ARGS is simply passed as the second argument to ELT_DESCRIBER. */
3254 3277
3255void 3278static void
3256describe_vector (vector, elt_prefix, args, elt_describer, 3279describe_vector (vector, prefix, args, elt_describer,
3257 partial, shadow, entire_map, 3280 partial, shadow, entire_map,
3258 indices, char_table_depth) 3281 indices, char_table_depth, keymap_p)
3259 register Lisp_Object vector; 3282 register Lisp_Object vector;
3260 Lisp_Object elt_prefix, args; 3283 Lisp_Object prefix, args;
3261 void (*elt_describer) P_ ((Lisp_Object, Lisp_Object)); 3284 void (*elt_describer) P_ ((Lisp_Object, Lisp_Object));
3262 int partial; 3285 int partial;
3263 Lisp_Object shadow; 3286 Lisp_Object shadow;
3264 Lisp_Object entire_map; 3287 Lisp_Object entire_map;
3265 int *indices; 3288 int *indices;
3266 int char_table_depth; 3289 int char_table_depth;
3290 int keymap_p;
3267{ 3291{
3268 Lisp_Object definition; 3292 Lisp_Object definition;
3269 Lisp_Object tem2; 3293 Lisp_Object tem2;
3294 Lisp_Object elt_prefix = Qnil;
3270 register int i; 3295 register int i;
3271 Lisp_Object suppress; 3296 Lisp_Object suppress;
3272 Lisp_Object kludge; 3297 Lisp_Object kludge;
3273 int first = 1; 3298 int first = 1;
3274 struct gcpro gcpro1, gcpro2, gcpro3; 3299 struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
3275 /* Range of elements to be handled. */ 3300 /* Range of elements to be handled. */
3276 int from, to; 3301 int from, to;
3277 /* A flag to tell if a leaf in this level of char-table is not a 3302 /* A flag to tell if a leaf in this level of char-table is not a
@@ -3287,11 +3312,23 @@ describe_vector (vector, elt_prefix, args, elt_describer,
3287 3312
3288 definition = Qnil; 3313 definition = Qnil;
3289 3314
3315 if (!keymap_p)
3316 {
3317 /* Call Fkey_description first, to avoid GC bug for the other string. */
3318 if (!NILP (prefix) && XFASTINT (Flength (prefix)) > 0)
3319 {
3320 Lisp_Object tem;
3321 tem = Fkey_description (prefix, Qnil);
3322 elt_prefix = concat2 (tem, build_string (" "));
3323 }
3324 prefix = Qnil;
3325 }
3326
3290 /* This vector gets used to present single keys to Flookup_key. Since 3327 /* This vector gets used to present single keys to Flookup_key. Since
3291 that is done once per vector element, we don't want to cons up a 3328 that is done once per vector element, we don't want to cons up a
3292 fresh vector every time. */ 3329 fresh vector every time. */
3293 kludge = Fmake_vector (make_number (1), Qnil); 3330 kludge = Fmake_vector (make_number (1), Qnil);
3294 GCPRO3 (elt_prefix, definition, kludge); 3331 GCPRO4 (elt_prefix, prefix, definition, kludge);
3295 3332
3296 if (partial) 3333 if (partial)
3297 suppress = intern ("suppress-keymap"); 3334 suppress = intern ("suppress-keymap");
@@ -3384,12 +3421,13 @@ describe_vector (vector, elt_prefix, args, elt_describer,
3384 else 3421 else
3385 character = i; 3422 character = i;
3386 3423
3424 ASET (kludge, 0, make_number (character));
3425
3387 /* If this binding is shadowed by some other map, ignore it. */ 3426 /* If this binding is shadowed by some other map, ignore it. */
3388 if (!NILP (shadow) && complete_char) 3427 if (!NILP (shadow) && complete_char)
3389 { 3428 {
3390 Lisp_Object tem; 3429 Lisp_Object tem;
3391 3430
3392 ASET (kludge, 0, make_number (character));
3393 tem = shadow_lookup (shadow, kludge, Qt); 3431 tem = shadow_lookup (shadow, kludge, Qt);
3394 3432
3395 if (!NILP (tem)) continue; 3433 if (!NILP (tem)) continue;
@@ -3401,7 +3439,6 @@ describe_vector (vector, elt_prefix, args, elt_describer,
3401 { 3439 {
3402 Lisp_Object tem; 3440 Lisp_Object tem;
3403 3441
3404 ASET (kludge, 0, make_number (character));
3405 tem = Flookup_key (entire_map, kludge, Qt); 3442 tem = Flookup_key (entire_map, kludge, Qt);
3406 3443
3407 if (!EQ (tem, definition)) 3444 if (!EQ (tem, definition))
@@ -3442,7 +3479,7 @@ describe_vector (vector, elt_prefix, args, elt_describer,
3442 else if (CHAR_TABLE_P (vector)) 3479 else if (CHAR_TABLE_P (vector))
3443 { 3480 {
3444 if (complete_char) 3481 if (complete_char)
3445 insert1 (Fsingle_key_description (make_number (character), Qnil)); 3482 insert1 (Fkey_description (kludge, prefix));
3446 else 3483 else
3447 { 3484 {
3448 /* Print the information for this character set. */ 3485 /* Print the information for this character set. */
@@ -3458,7 +3495,7 @@ describe_vector (vector, elt_prefix, args, elt_describer,
3458 } 3495 }
3459 else 3496 else
3460 { 3497 {
3461 insert1 (Fsingle_key_description (make_number (character), Qnil)); 3498 insert1 (Fkey_description (kludge, prefix));
3462 } 3499 }
3463 3500
3464 /* If we find a sub char-table within a char-table, 3501 /* If we find a sub char-table within a char-table,
@@ -3467,9 +3504,9 @@ describe_vector (vector, elt_prefix, args, elt_describer,
3467 if (CHAR_TABLE_P (vector) && SUB_CHAR_TABLE_P (definition)) 3504 if (CHAR_TABLE_P (vector) && SUB_CHAR_TABLE_P (definition))
3468 { 3505 {
3469 insert ("\n", 1); 3506 insert ("\n", 1);
3470 describe_vector (definition, elt_prefix, args, elt_describer, 3507 describe_vector (definition, prefix, args, elt_describer,
3471 partial, shadow, entire_map, 3508 partial, shadow, entire_map,
3472 indices, char_table_depth + 1); 3509 indices, char_table_depth + 1, keymap_p);
3473 continue; 3510 continue;
3474 } 3511 }
3475 3512
@@ -3507,6 +3544,8 @@ describe_vector (vector, elt_prefix, args, elt_describer,
3507 { 3544 {
3508 insert (" .. ", 4); 3545 insert (" .. ", 4);
3509 3546
3547 ASET (kludge, 0, make_number (i));
3548
3510 if (!NILP (elt_prefix)) 3549 if (!NILP (elt_prefix))
3511 insert1 (elt_prefix); 3550 insert1 (elt_prefix);
3512 3551
@@ -3514,7 +3553,7 @@ describe_vector (vector, elt_prefix, args, elt_describer,
3514 { 3553 {
3515 if (char_table_depth == 0) 3554 if (char_table_depth == 0)
3516 { 3555 {
3517 insert1 (Fsingle_key_description (make_number (i), Qnil)); 3556 insert1 (Fkey_description (kludge, prefix));
3518 } 3557 }
3519 else if (complete_char) 3558 else if (complete_char)
3520 { 3559 {
@@ -3533,7 +3572,7 @@ describe_vector (vector, elt_prefix, args, elt_describer,
3533 } 3572 }
3534 else 3573 else
3535 { 3574 {
3536 insert1 (Fsingle_key_description (make_number (i), Qnil)); 3575 insert1 (Fkey_description (kludge, prefix));
3537 } 3576 }
3538 } 3577 }
3539 3578
diff --git a/src/keymap.h b/src/keymap.h
index 2a34061593f..214ba605c76 100644
--- a/src/keymap.h
+++ b/src/keymap.h
@@ -30,15 +30,12 @@ EXFUN (Fdefine_key, 3);
30EXFUN (Flookup_key, 3); 30EXFUN (Flookup_key, 3);
31EXFUN (Fcommand_remapping, 1); 31EXFUN (Fcommand_remapping, 1);
32EXFUN (Fkey_binding, 3); 32EXFUN (Fkey_binding, 3);
33EXFUN (Fkey_description, 1); 33EXFUN (Fkey_description, 2);
34EXFUN (Fsingle_key_description, 2); 34EXFUN (Fsingle_key_description, 2);
35EXFUN (Fwhere_is_internal, 5); 35EXFUN (Fwhere_is_internal, 5);
36extern Lisp_Object access_keymap P_ ((Lisp_Object, Lisp_Object, int, int, int)); 36extern Lisp_Object access_keymap P_ ((Lisp_Object, Lisp_Object, int, int, int));
37extern Lisp_Object get_keyelt P_ ((Lisp_Object, int)); 37extern Lisp_Object get_keyelt P_ ((Lisp_Object, int));
38extern Lisp_Object get_keymap P_ ((Lisp_Object, int, int)); 38extern Lisp_Object get_keymap P_ ((Lisp_Object, int, int));
39extern void describe_vector P_ ((Lisp_Object, Lisp_Object, Lisp_Object,
40 void (*) (Lisp_Object, Lisp_Object), int,
41 Lisp_Object, Lisp_Object, int *, int));
42extern void describe_map_tree P_ ((Lisp_Object, int, Lisp_Object, Lisp_Object, 39extern void describe_map_tree P_ ((Lisp_Object, int, Lisp_Object, Lisp_Object,
43 char *, int, int, int)); 40 char *, int, int, int));
44extern int current_minor_maps P_ ((Lisp_Object **, Lisp_Object **)); 41extern int current_minor_maps P_ ((Lisp_Object **, Lisp_Object **));
diff --git a/src/xdisp.c b/src/xdisp.c
index 16bdf7a8768..3c144f4f5f4 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -9424,7 +9424,7 @@ update_overlay_arrows (up_to_date)
9424 if (!SYMBOLP (var)) 9424 if (!SYMBOLP (var))
9425 continue; 9425 continue;
9426 9426
9427 if (up_to_date) 9427 if (up_to_date > 0)
9428 { 9428 {
9429 Lisp_Object val = find_symbol_value (var); 9429 Lisp_Object val = find_symbol_value (var);
9430 Fput (var, Qlast_arrow_position, 9430 Fput (var, Qlast_arrow_position,
@@ -10875,6 +10875,12 @@ try_scrolling (window, just_this_one_p, scroll_conservatively,
10875 else 10875 else
10876 this_scroll_margin = 0; 10876 this_scroll_margin = 0;
10877 10877
10878 /* Force scroll_conservatively to have a reasonable value so it doesn't
10879 cause an overflow while computing how much to scroll. */
10880 if (scroll_conservatively)
10881 scroll_conservatively = min (scroll_conservatively,
10882 MOST_POSITIVE_FIXNUM / FRAME_LINE_HEIGHT (f));
10883
10878 /* Compute how much we should try to scroll maximally to bring point 10884 /* Compute how much we should try to scroll maximally to bring point
10879 into view. */ 10885 into view. */
10880 if (scroll_step || scroll_conservatively || temp_scroll_step) 10886 if (scroll_step || scroll_conservatively || temp_scroll_step)