diff options
| author | Miles Bader | 2005-04-02 22:40:25 +0000 |
|---|---|---|
| committer | Miles Bader | 2005-04-02 22:40:25 +0000 |
| commit | 4a2283bcc7998fef3788136a16a6c2b10df6fe6f (patch) | |
| tree | dc8199f604a6e5a2d57754d843773be6c88c4f36 | |
| parent | 417294f4d1d8872d7a4a698de1a9650f18af3b37 (diff) | |
| parent | ab77efd0e55c661ea8fd45df28f2a39d0c46fbd8 (diff) | |
| download | emacs-4a2283bcc7998fef3788136a16a6c2b10df6fe6f.tar.gz emacs-4a2283bcc7998fef3788136a16a6c2b10df6fe6f.zip | |
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-33
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 223-227)
- Update from CVS
62 files changed, 1364 insertions, 617 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog index efcd9b2d5e5..c3c65379a16 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2005-03-30 Marcelo Toledo <marcelo@marcelotoledo.org> | ||
| 2 | |||
| 3 | * FOR-RELEASE (Documentation): Added check the Emacs Tutorial. The | ||
| 4 | first line of every tutorial must begin with a sentence saying | ||
| 5 | "Emacs Tutorial" in the respective language. This should be | ||
| 6 | followed by "See end for copying conditions", likewise in the | ||
| 7 | respective language. | ||
| 8 | |||
| 9 | 2005-03-29 Luc Teirlinck <teirllm@auburn.edu> | ||
| 10 | |||
| 11 | * FOR-RELEASE (TO BE DONE SHORTLY BEFORE RELEASE): New section. | ||
| 12 | Add `undo-ask-before-discard' to it. | ||
| 13 | |||
| 1 | 2005-03-02 Miles Bader <miles@gnu.org> | 14 | 2005-03-02 Miles Bader <miles@gnu.org> |
| 2 | 15 | ||
| 3 | * quick-install-emacs: Only use the mkdir --verbose option if the | 16 | * quick-install-emacs: Only use the mkdir --verbose option if the |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 9ce510a6ee6..ff6b4c7e73e 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | Tasks needed before the next release. | 1 | Tasks needed before the next release. |
| 2 | 2 | ||
| 3 | * THINGS THAT HAVE TO BE DONE SHORTLY BEFORE RELEASE | 3 | * TO BE DONE SHORTLY BEFORE RELEASE |
| 4 | 4 | ||
| 5 | `undo-ask-before-discard', currently set to t for debugging purposes | 5 | ** `undo-ask-before-discard', currently set to t for debugging purposes |
| 6 | has to be set to nil: when t, it can leak memory and cause other problems. | 6 | has to be set to nil: when t, it can leak memory and cause other problems. |
| 7 | 7 | ||
| 8 | * NEW FEATURES | 8 | * NEW FEATURES |
| @@ -23,6 +23,8 @@ See msg from rms to emacs-devel on 21 Dec. | |||
| 23 | 23 | ||
| 24 | * FATAL ERRORS | 24 | * FATAL ERRORS |
| 25 | 25 | ||
| 26 | ** Make unexec handle memory mapping policy of the latest versions of Linux. | ||
| 27 | |||
| 26 | ** Investigate reported crashes in compact_small_strings. | 28 | ** Investigate reported crashes in compact_small_strings. |
| 27 | 29 | ||
| 28 | ** Investigate reported crashes related to using an | 30 | ** Investigate reported crashes related to using an |
| @@ -150,7 +152,7 @@ man/basic.texi "Luc Teirlinck" Chong Yidong | |||
| 150 | man/buffers.texi "Luc Teirlinck" Chong Yidong | 152 | man/buffers.texi "Luc Teirlinck" Chong Yidong |
| 151 | man/building.texi "Ted Zlatanov" <tzz@lifelogs.com> | 153 | man/building.texi "Ted Zlatanov" <tzz@lifelogs.com> |
| 152 | man/calendar.texi joakim@verona.se Chong Yidong | 154 | man/calendar.texi joakim@verona.se Chong Yidong |
| 153 | man/cmdargs.texi Chong Yidong | 155 | man/cmdargs.texi Chong Yidong "Luc Teirlinck" |
| 154 | man/commands.texi "Luc Teirlinck" Chong Yidong | 156 | man/commands.texi "Luc Teirlinck" Chong Yidong |
| 155 | man/custom.texi Chong Yidong | 157 | man/custom.texi Chong Yidong |
| 156 | man/dired.texi Chong Yidong joakim@verona.se | 158 | man/dired.texi Chong Yidong joakim@verona.se |
| @@ -216,7 +218,7 @@ lispref/frames.texi "Luc Teirlinck" Chong Yidong | |||
| 216 | lispref/functions.texi "Luc Teirlinck" Chong Yidong | 218 | lispref/functions.texi "Luc Teirlinck" Chong Yidong |
| 217 | lispref/hash.texi "Luc Teirlinck" Chong Yidong | 219 | lispref/hash.texi "Luc Teirlinck" Chong Yidong |
| 218 | lispref/help.texi "Luc Teirlinck" Chong Yidong | 220 | lispref/help.texi "Luc Teirlinck" Chong Yidong |
| 219 | lispref/hooks.texi | 221 | lispref/hooks.texi Lute Kamstra |
| 220 | lispref/internals.texi "Luc Teirlinck" Chong Yidong | 222 | lispref/internals.texi "Luc Teirlinck" Chong Yidong |
| 221 | lispref/intro.texi "Luc Teirlinck" | 223 | lispref/intro.texi "Luc Teirlinck" |
| 222 | lispref/keymaps.texi "Luc Teirlinck" Chong Yidong | 224 | lispref/keymaps.texi "Luc Teirlinck" Chong Yidong |
| @@ -245,6 +247,42 @@ lispref/tips.texi "Luc Teirlinck" Chong Yidong | |||
| 245 | lispref/variables.texi "Luc Teirlinck" Chong Yidong | 247 | lispref/variables.texi "Luc Teirlinck" Chong Yidong |
| 246 | lispref/windows.texi "Luc Teirlinck" Chong Yidong | 248 | lispref/windows.texi "Luc Teirlinck" Chong Yidong |
| 247 | 249 | ||
| 250 | ** Check the Emacs Tutorial. | ||
| 251 | |||
| 252 | The first line of every tutorial must begin with a sentence saying | ||
| 253 | "Emacs Tutorial" in the respective language. This should be followed | ||
| 254 | by "See end for copying conditions", likewise in the respective | ||
| 255 | language. | ||
| 256 | |||
| 257 | After each file name, on the same line or the following line, come the | ||
| 258 | names of the people who have checked it. | ||
| 259 | |||
| 260 | |||
| 261 | SECTION READERS | ||
| 262 | ---------------------------------- | ||
| 263 | etc/TUTORIAL rms | ||
| 264 | etc/TUTORIAL.bg Ognyan Kulev <ogi@fmi.uni-sofia.bg> | ||
| 265 | etc/TUTORIAL.cn | ||
| 266 | etc/TUTORIAL.cs | ||
| 267 | etc/TUTORIAL.de | ||
| 268 | etc/TUTORIAL.es Marcelo Toledo | ||
| 269 | etc/TUTORIAL.fr | ||
| 270 | etc/TUTORIAL.it | ||
| 271 | etc/TUTORIAL.ja | ||
| 272 | etc/TUTORIAL.ko | ||
| 273 | etc/TUTORIAL.nl Lute Kamstra | ||
| 274 | etc/TUTORIAL.pl | ||
| 275 | etc/TUTORIAL.pt_BR Marcelo Toledo | ||
| 276 | etc/TUTORIAL.ro | ||
| 277 | etc/TUTORIAL.ru | ||
| 278 | etc/TUTORIAL.sk | ||
| 279 | etc/TUTORIAL.sl | ||
| 280 | etc/TUTORIAL.sv Mats Lidell <matsl@contactor.se> | ||
| 281 | etc/TUTORIAL.th | ||
| 282 | etc/TUTORIAL.zh | ||
| 283 | |||
| 284 | |||
| 285 | |||
| 248 | 286 | ||
| 249 | Local variables: | 287 | Local variables: |
| 250 | mode: outline | 288 | mode: outline |
diff --git a/etc/ChangeLog b/etc/ChangeLog index aaefbea4b09..8d7a9610321 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,31 @@ | |||
| 1 | 2005-04-02 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * TUTORIAL.ja, TUTORIAL.cn, TUTORIAL.ru, TUTORIAL.zh: Remove the | ||
| 4 | old intro line that apparently was a longer version of "Emacs | ||
| 5 | tutorial". | ||
| 6 | |||
| 7 | * TUTORIAL.es: Clean up line breaks. | ||
| 8 | |||
| 9 | 2005-04-01 Marcelo Toledo <marcelo@marcelotoledo.org> | ||
| 10 | |||
| 11 | * TUTORIAL.pt_BR, TUTORIAL.cn, TUTORIAL.cs, TUTORIAL.de, | ||
| 12 | TUTORIAL.es, TUTORIAL.fr, TUTORIAL.it, TUTORIAL.ja, TUTORIAL.ko, | ||
| 13 | TUTORIAL.pl, TUTORIAL.pt_BR, TUTORIAL.ro, TUTORIAL.ru, | ||
| 14 | TUTORIAL.sk, TUTORIAL.sl, TUTORIAL.th, TUTORIAL.zh: Fix title | ||
| 15 | line. | ||
| 16 | |||
| 17 | * TUTORIAL.bg: Fix title line; Applied TUTORIAL changes in | ||
| 18 | 2005-02-08T14:20:54Z!lute@gnu.org, "Emacs" is not transliterated to cyrillic anymore; | ||
| 19 | Minor fixes; by Ognyan Kulev <ogi@fmi.uni-sofia.bg>. | ||
| 20 | |||
| 21 | * TUTORIAL.sv: Sync some other changes with the TUTORIAL version | ||
| 22 | 2005-04-01T00:31:25Z!rms@gnu.org by Mats Lidell <matsl@contactor.se>. | ||
| 23 | |||
| 24 | |||
| 25 | 2005-04-01 Lute Kamstra <lute@gnu.org> | ||
| 26 | |||
| 27 | * TUTORIAL.nl: Fix title line. | ||
| 28 | |||
| 1 | 2005-03-30 Thien-Thi Nguyen <ttn@gnu.org> | 29 | 2005-03-30 Thien-Thi Nguyen <ttn@gnu.org> |
| 2 | 30 | ||
| 3 | * TUTORIAL: Add title line. | 31 | * TUTORIAL: Add title line. |
| @@ -2804,6 +2804,10 @@ the command `undefined'. (In earlier Emacs versions, it used | |||
| 2804 | 2804 | ||
| 2805 | * Lisp Changes in Emacs 22.1 | 2805 | * Lisp Changes in Emacs 22.1 |
| 2806 | 2806 | ||
| 2807 | --- | ||
| 2808 | ** easy-mmode-define-global-mode has been renamed to | ||
| 2809 | define-global-minor-mode. The old name remains as an alias. | ||
| 2810 | |||
| 2807 | +++ | 2811 | +++ |
| 2808 | ** The new function `filter-buffer-substring' extracts a buffer | 2812 | ** The new function `filter-buffer-substring' extracts a buffer |
| 2809 | substring, passes it through a set of filter functions, and returns | 2813 | substring, passes it through a set of filter functions, and returns |
diff --git a/etc/TUTORIAL b/etc/TUTORIAL index dd3b25bce3b..48fa02f93d9 100644 --- a/etc/TUTORIAL +++ b/etc/TUTORIAL | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | Emacs Tutorial | 1 | Emacs tutorial. See end for copying conditions. |
| 2 | You are looking at the Emacs tutorial. See end for copying conditions. | ||
| 3 | Copyright (c) 1985, 1996, 1998, 2001, 2002, 2005 Free Software Foundation. | 2 | Copyright (c) 1985, 1996, 1998, 2001, 2002, 2005 Free Software Foundation. |
| 4 | 3 | ||
| 5 | Emacs commands generally involve the CONTROL key (sometimes labeled | 4 | Emacs commands generally involve the CONTROL key (sometimes labeled |
diff --git a/etc/TUTORIAL.bg b/etc/TUTORIAL.bg index ba32e814b91..239d3d58c19 100644 --- a/etc/TUTORIAL.bg +++ b/etc/TUTORIAL.bg | |||
| @@ -1,8 +1,7 @@ | |||
| 1 | âúâåäåíèåòî íà Åìàêñ | 1 | Âúâåäåíèå â Emacs. Óñëîâèÿòà çà êîïèðàíå ñà â êðàÿ íà òåêñòà. |
| 2 | Âèå ãëåäàòå âúâåäåíèåòî íà Åìàêñ. Óñëîâèÿòà çà êîïèðàíå ñà â êðàÿ íà òåêñòà. | 2 | Copyright (c) 1985,1996,1998,2001,2002,2003,2005 Free Software Foundation. |
| 3 | Copyright (c) 1985, 1996, 1998, 2001, 2002, 2003 Free Software Foundation. | ||
| 4 | 3 | ||
| 5 | Êîìàíäèòå íà Åìàêñ íàé-÷åñòî âêëþ÷âàò êëàâèøèòå CONTROL (ïîíÿêîãà | 4 | Êîìàíäèòå íà Emacs íàé-÷åñòî âêëþ÷âàò êëàâèøèòå CONTROL (ïîíÿêîãà |
| 6 | îòáåëÿçâàí ñ CTRL èëè CTL) è META (ïîíÿêîãà îòáåëÿçâàí ñ EDIT èëè | 5 | îòáåëÿçâàí ñ CTRL èëè CTL) è META (ïîíÿêîãà îòáåëÿçâàí ñ EDIT èëè |
| 7 | ALT). Âìåñòî äà ñå èçïèñâàò ñ ïúëíî èìå âñåêè ïúò, íèå ùå èçïîëçâàìå | 6 | ALT). Âìåñòî äà ñå èçïèñâàò ñ ïúëíî èìå âñåêè ïúò, íèå ùå èçïîëçâàìå |
| 8 | ñëåäíèòå ñúêðàùåíèÿ: | 7 | ñëåäíèòå ñúêðàùåíèÿ: |
| @@ -16,7 +15,7 @@ ALT). Âìåñòî äà ñå èçïèñâàò ñ ïúëíî èìå âñåêè ïúò, íèå ùå èçïîëçâàìå | |||
| 16 | êëàâèøà ESC è ñëåä òîâà âúâåäåòå <çíàê>. Íèå | 15 | êëàâèøà ESC è ñëåä òîâà âúâåäåòå <çíàê>. Íèå |
| 17 | çàïèñâàìå <ESC>, çà äà îòáåëåæèì êëàâèøà ESC. | 16 | çàïèñâàìå <ESC>, çà äà îòáåëåæèì êëàâèøà ESC. |
| 18 | 17 | ||
| 19 | Âàæíà áåëåæêà: â êðàÿ íà Åìàêñ ñåñèÿòà âúâåäåòå äâàòà çíàêà C-x C-c. | 18 | Âàæíà áåëåæêà: â êðàÿ íà Emacs ñåñèÿòà âúâåäåòå äâàòà çíàêà C-x C-c. |
| 20 | Çíàöèòå ">>" îòëÿâî âè äàâàò óêàçàíèå äà èçïúëíèòå êîìàíäà. Íàïðèìåð: | 19 | Çíàöèòå ">>" îòëÿâî âè äàâàò óêàçàíèå äà èçïúëíèòå êîìàíäà. Íàïðèìåð: |
| 21 | <<Blank lines inserted here by startup of help-with-tutorial>> | 20 | <<Blank lines inserted here by startup of help-with-tutorial>> |
| 22 | >> Ñåãà âúâåäåòå C-v (Ïîêàæè ñëåäâàùèÿ åêðàí), çà äà ñå ïðèäâèæèòå êúì | 21 | >> Ñåãà âúâåäåòå C-v (Ïîêàæè ñëåäâàùèÿ åêðàí), çà äà ñå ïðèäâèæèòå êúì |
| @@ -94,7 +93,7 @@ Next (ñëåäâàù), B çà Backward (íàçàä) è F çà Forward (íàïðåä). Âèå ùå | |||
| 94 | 93 | ||
| 95 | Âñåêè ðåä îò òåêñò çàâúðøâà ñúñ çíàê çà íîâ ðåä, êîéòî ñëóæè çà | 94 | Âñåêè ðåä îò òåêñò çàâúðøâà ñúñ çíàê çà íîâ ðåä, êîéòî ñëóæè çà |
| 96 | îòäåëÿíåòî íà ðåäà îò ñëåäâàùèÿ ðåä. Ïîñëåäíèÿò ðåä âúâ âàøèÿ ôàéë | 95 | îòäåëÿíåòî íà ðåäà îò ñëåäâàùèÿ ðåä. Ïîñëåäíèÿò ðåä âúâ âàøèÿ ôàéë |
| 97 | òðÿáâà äà èìà çíàê çà íîâ ðåä â êðàÿ (íî Åìàêñ íå èçèñêâà òàêúâ, | 96 | òðÿáâà äà èìà çíàê çà íîâ ðåä â êðàÿ (íî Emacs íå èçèñêâà òàêúâ, |
| 98 | êîãàòî ïðî÷èòà ôàéëà). | 97 | êîãàòî ïðî÷èòà ôàéëà). |
| 99 | 98 | ||
| 100 | >> Îïèòàéòå C-b â íà÷àëîòî íà ðåä. Òîâà òðÿáâà äà âè ïðèäâèæè â êðàÿ | 99 | >> Îïèòàéòå C-b â íà÷àëîòî íà ðåä. Òîâà òðÿáâà äà âè ïðèäâèæè â êðàÿ |
| @@ -110,7 +109,7 @@ C-f ìîæå äà ïðèäâèæâà ïðåç çíàê çà íîâ ðåä òî÷íî êàêòî C-b. | |||
| 110 | 109 | ||
| 111 | Êîãàòî ñå ïðèäâèæâàòå ñëåä ãîðíèÿ èëè äîëíèÿ êðàé íà åêðàíà, òåêñòúò | 110 | Êîãàòî ñå ïðèäâèæâàòå ñëåä ãîðíèÿ èëè äîëíèÿ êðàé íà åêðàíà, òåêñòúò |
| 112 | îòâúä êðàÿ ñå èçìåñòâà êúì åêðàíà. Òîâà ñå íàðè÷à "ñêðîëèðàíå". Òî | 111 | îòâúä êðàÿ ñå èçìåñòâà êúì åêðàíà. Òîâà ñå íàðè÷à "ñêðîëèðàíå". Òî |
| 113 | ïîçâîëÿâà íà Åìàêñ äà ïðèäâèæâà êóðñîðà êúì çàäàäåíîòî ìÿñòî â òåêñòà, | 112 | ïîçâîëÿâà íà Emacs äà ïðèäâèæâà êóðñîðà êúì çàäàäåíîòî ìÿñòî â òåêñòà, |
| 114 | áåç äà ãî èçêàðâà èçâúí åêðàíà. | 113 | áåç äà ãî èçêàðâà èçâúí åêðàíà. |
| 115 | 114 | ||
| 116 | >> Îïèòàéòå ñå äà ïðèäâèæèòå êóðñîðà ñëåä äîëíèÿ êðàé íà åêðàíà ñ C-n | 115 | >> Îïèòàéòå ñå äà ïðèäâèæèòå êóðñîðà ñëåä äîëíèÿ êðàé íà åêðàíà ñ C-n |
| @@ -193,7 +192,7 @@ Shift áèõòå âúâåëè M-çàïåòàÿ. | |||
| 193 | Âèå ìîæåòå ñúùî äà ñå ïðèäâèæâàòå ñ êëàâèøèòå-ñòðåëêè, àêî âàøèÿò | 192 | Âèå ìîæåòå ñúùî äà ñå ïðèäâèæâàòå ñ êëàâèøèòå-ñòðåëêè, àêî âàøèÿò |
| 194 | òåðìèíàë èìà òàêèâà. Íèå ïðåïîðú÷âàìå äà íàó÷èòå C-b, C-f, C-n è C-p | 193 | òåðìèíàë èìà òàêèâà. Íèå ïðåïîðú÷âàìå äà íàó÷èòå C-b, C-f, C-n è C-p |
| 195 | ïî òðè ïðè÷èíè. Ïúðâî, òå ðàáîòÿò íà âñè÷êè âèäîâå òåðìèíàëè. Âòîðî, | 194 | ïî òðè ïðè÷èíè. Ïúðâî, òå ðàáîòÿò íà âñè÷êè âèäîâå òåðìèíàëè. Âòîðî, |
| 196 | âåäíúæ ñëåä êàòî äîáèåòå ïðàêòèêà â èçïîëçâàíåòî íà Åìàêñ, ùå | 195 | âåäíúæ ñëåä êàòî äîáèåòå ïðàêòèêà â èçïîëçâàíåòî íà Emacs, ùå |
| 197 | îòêðèåòå, ÷å âúâåæäàíåòî íà òåçè Control-çíàöè å ïî-áúðçî îò | 196 | îòêðèåòå, ÷å âúâåæäàíåòî íà òåçè Control-çíàöè å ïî-áúðçî îò |
| 198 | âúâåæäàíåòî íà êëàâèøèòå ñòðåëêè, çàùîòî íå òðÿáâà äà ïðåìåñòâàòå | 197 | âúâåæäàíåòî íà êëàâèøèòå ñòðåëêè, çàùîòî íå òðÿáâà äà ïðåìåñòâàòå |
| 199 | ðúêàòà ñè äàëå÷ îò îáëàñòòà íà êëàâèøèòå ñ áóêâè. Òðåòî, âåäíúæ ñëåä | 198 | ðúêàòà ñè äàëå÷ îò îáëàñòòà íà êëàâèøèòå ñ áóêâè. Òðåòî, âåäíúæ ñëåä |
| @@ -201,7 +200,7 @@ Shift áèõòå âúâåëè M-çàïåòàÿ. | |||
| 201 | ìîæåòå ñúùî òàêà ëåñíî äà íàó÷èòå ïî-íàïðåäíàëèòå êîìàíäè çà äâèæåíèå | 200 | ìîæåòå ñúùî òàêà ëåñíî äà íàó÷èòå ïî-íàïðåäíàëèòå êîìàíäè çà äâèæåíèå |
| 202 | íà êóðñîðà. | 201 | íà êóðñîðà. |
| 203 | 202 | ||
| 204 | Ïîâå÷åòî Åìàêñ êîìàíäè ïðèåìàò ÷èñëîâ àðãóìåíò; çà ïîâå÷åòî îò òÿõ òîé | 203 | Ïîâå÷åòî Emacs êîìàíäè ïðèåìàò ÷èñëîâ àðãóìåíò; çà ïîâå÷åòî îò òÿõ òîé |
| 205 | ñëóæè êàòî áðîÿ÷ íà ïîâòîðåíèÿ. Íà÷èíúò, ïî êîéòî äàâàòå ÷èñëîâ | 204 | ñëóæè êàòî áðîÿ÷ íà ïîâòîðåíèÿ. Íà÷èíúò, ïî êîéòî äàâàòå ÷èñëîâ |
| 206 | áðîÿ÷, å ñ âúâåæäàíå íà C-u, ïîñëåäâàíî îò âúâåæäàíå íà öèôðèòå, è | 205 | áðîÿ÷, å ñ âúâåæäàíå íà C-u, ïîñëåäâàíî îò âúâåæäàíå íà öèôðèòå, è |
| 207 | âñè÷êî òîâà ïðåäè âúâåæäàíå íà ñàìàòà êîìàíäà. Àêî èìàòå êëàâèø META | 206 | âñè÷êî òîâà ïðåäè âúâåæäàíå íà ñàìàòà êîìàíäà. Àêî èìàòå êëàâèø META |
| @@ -233,7 +232,7 @@ C-v è M-v ñà äðóã âèä èçêëþ÷åíèå. Êîãàòî èì å äàäåí àðãóìåíò, òå | |||
| 233 | 232 | ||
| 234 | Àêî èçïîëçâàòå ãðàôè÷åí èíòåðôåéñ, êàòî X11 èëè MS-Windows, áè | 233 | Àêî èçïîëçâàòå ãðàôè÷åí èíòåðôåéñ, êàòî X11 èëè MS-Windows, áè |
| 235 | òðÿáâàëî äà èìà òúíêà ïðàâîúãúëíà îáëàñò, íàðå÷åíà ïëúçãà÷ (scroll | 234 | òðÿáâàëî äà èìà òúíêà ïðàâîúãúëíà îáëàñò, íàðå÷åíà ïëúçãà÷ (scroll |
| 236 | bar), â ëÿâàòà ñòðàíà íà ïðîçîðåöà íà Åìàêñ. Âèå ìîæåòå äà ñêðîëèðàòå | 235 | bar), â ëÿâàòà ñòðàíà íà ïðîçîðåöà íà Emacs. Âèå ìîæåòå äà ñêðîëèðàòå |
| 237 | òåêñòà, ùðàêàéêè ñ ìèøêàòà â ïëúçãà÷à. | 236 | òåêñòà, ùðàêàéêè ñ ìèøêàòà â ïëúçãà÷à. |
| 238 | 237 | ||
| 239 | >> Îïèòàéòå äà íàòèñíåòå ñðåäíèÿ áóòîí íà âúðõà íà îñâåòåíàòà îáëàñò | 238 | >> Îïèòàéòå äà íàòèñíåòå ñðåäíèÿ áóòîí íà âúðõà íà îñâåòåíàòà îáëàñò |
| @@ -245,10 +244,10 @@ bar), â ëÿâàòà ñòðàíà íà ïðîçîðåöà íà Åìàêñ. Âèå ìîæåòå äà ñêðîëèðàòå | |||
| 245 | íàãîðå è íàäîëó, êàòî äâèæèòå ìèøêàòà. | 244 | íàãîðå è íàäîëó, êàòî äâèæèòå ìèøêàòà. |
| 246 | 245 | ||
| 247 | 246 | ||
| 248 | * ÊÎÃÀÒÎ ÅÌÀÊÑ Å ÁËÎÊÈÐÀË | 247 | * ÊÎÃÀÒÎ EMACS Å ÁËÎÊÈÐÀË |
| 249 | ------------------------- | 248 | ------------------------- |
| 250 | 249 | ||
| 251 | Àêî Åìàêñ ñïðå äà îòãîâàðÿ íà âàøèòå êîìàíäè, âèå ìîæåòå äà ãî ñïðåòå | 250 | Àêî Emacs ñïðå äà îòãîâàðÿ íà âàøèòå êîìàíäè, âèå ìîæåòå äà ãî ñïðåòå |
| 252 | áåçîïàñíî, êàòî âúâåäåòå C-g. Ìîæå äà èçïîëçâàòå C-g, çà äà ñïðåòå | 251 | áåçîïàñíî, êàòî âúâåäåòå C-g. Ìîæå äà èçïîëçâàòå C-g, çà äà ñïðåòå |
| 253 | êîìàíäà, êîÿòî ñå èçïúëíÿâà òâúðäå äúëãî. | 252 | êîìàíäà, êîÿòî ñå èçïúëíÿâà òâúðäå äúëãî. |
| 254 | 253 | ||
| @@ -265,15 +264,15 @@ bar), â ëÿâàòà ñòðàíà íà ïðîçîðåöà íà Åìàêñ. Âèå ìîæåòå äà ñêðîëèðàòå | |||
| 265 | * ÇÀÁÐÀÍÅÍÈ ÊÎÌÀÍÄÈ | 264 | * ÇÀÁÐÀÍÅÍÈ ÊÎÌÀÍÄÈ |
| 266 | ------------------- | 265 | ------------------- |
| 267 | 266 | ||
| 268 | Íÿêîè êîìàíäè íà Åìàêñ ñà "çàáðàíåíè", òàêà ÷å íà÷èíàåùèòå ïîòðåáèòåëè | 267 | Íÿêîè êîìàíäè íà Emacs ñà "çàáðàíåíè", òàêà ÷å íà÷èíàåùèòå ïîòðåáèòåëè |
| 269 | äà íå ìîãàò äà ãè óïîòðåáÿò ïî ïîãðåøêà. | 268 | äà íå ìîãàò äà ãè óïîòðåáÿò ïî ïîãðåøêà. |
| 270 | 269 | ||
| 271 | Àêî âúâåäåòå íÿêîÿ îò çàáðàíåíèòå êîìàíäè, Åìàêñ èçâåæäà ñúîáùåíèå, | 270 | Àêî âúâåäåòå íÿêîÿ îò çàáðàíåíèòå êîìàíäè, Emacs èçâåæäà ñúîáùåíèå, |
| 272 | êàçâàéêè êàêâà å áèëà êîìàíäàòà è ïèòàéêè âè äàëè èñêàòå äà ïðîäúëæèòå | 271 | êàçâàéêè êàêâà å áèëà êîìàíäàòà è ïèòàéêè âè äàëè èñêàòå äà ïðîäúëæèòå |
| 273 | íàïðåä è äà èçïúëíèòå êîìàíäàòà. | 272 | íàïðåä è äà èçïúëíèòå êîìàíäàòà. |
| 274 | 273 | ||
| 275 | Àêî íàèñòèíà èñêàòå äà èçïðîáâàòå êîìàíäàòà, âúâåäåòå êëàâèøà èíòåðâàë | 274 | Àêî íàèñòèíà èñêàòå äà èçïðîáâàòå êîìàíäàòà, âúâåäåòå <SPC> (êëàâèøà |
| 276 | â îòãîâîð íà âúïðîñà. Îáèêíîâåíî àêî íå èñêàòå äà èçïúëíèòå | 275 | èíòåðâàë) â îòãîâîð íà âúïðîñà. Îáèêíîâåíî àêî íå èñêàòå äà èçïúëíèòå |
| 277 | çàáðàíåíàòà êîìàíäà, îòãîâàðÿòå íà âúïðîñà ñ "n". | 276 | çàáðàíåíàòà êîìàíäà, îòãîâàðÿòå íà âúïðîñà ñ "n". |
| 278 | 277 | ||
| 279 | >> Âúâåäåòå C-x C-l (êîÿòî å çàáðàíåíà êîìàíäà), è ñëåä òîâà âúâåäåòå | 278 | >> Âúâåäåòå C-x C-l (êîÿòî å çàáðàíåíà êîìàíäà), è ñëåä òîâà âúâåäåòå |
| @@ -283,7 +282,7 @@ bar), â ëÿâàòà ñòðàíà íà ïðîçîðåöà íà Åìàêñ. Âèå ìîæåòå äà ñêðîëèðàòå | |||
| 283 | * ÏÐÎÇÎÐÖÈ | 282 | * ÏÐÎÇÎÐÖÈ |
| 284 | ---------- | 283 | ---------- |
| 285 | 284 | ||
| 286 | Åìàêñ ìîæå äà óïðàâëÿâà íÿêîëêî ïðîçîðåöà, âñåêè èçâåæäàéêè ñâîé | 285 | Emacs ìîæå äà óïðàâëÿâà íÿêîëêî ïðîçîðåöà, âñåêè èçâåæäàéêè ñâîé |
| 287 | ñîáñòâåí òåêñò. Íèå ùå îáÿñíèì ïî-êúñíî êàê äà èçïîëçâàòå íÿêîëêî | 286 | ñîáñòâåí òåêñò. Íèå ùå îáÿñíèì ïî-êúñíî êàê äà èçïîëçâàòå íÿêîëêî |
| 288 | ïðîçîðåöà. Òî÷íî ñåãà íèå èñêàìå äà îáÿñíèì êàê äà ñå îòúðâåòå îò | 287 | ïðîçîðåöà. Òî÷íî ñåãà íèå èñêàìå äà îáÿñíèì êàê äà ñå îòúðâåòå îò |
| 289 | äîïúëíèòåëíè ïðîçîðöè è äà ñå âúðíåòå êúì îñíîâíîòî ðåäàêòèðàíå ñ åäèí | 288 | äîïúëíèòåëíè ïðîçîðöè è äà ñå âúðíåòå êúì îñíîâíîòî ðåäàêòèðàíå ñ åäèí |
| @@ -313,13 +312,13 @@ bar), â ëÿâàòà ñòðàíà íà ïðîçîðåöà íà Åìàêñ. Âèå ìîæåòå äà ñêðîëèðàòå | |||
| 313 | ---------------------- | 312 | ---------------------- |
| 314 | 313 | ||
| 315 | Àêî èñêàòå äà âìúêíåòå òåêñò, ïðîñòî ãî âúâåäåòå. Çíàöèòå, êîèòî | 314 | Àêî èñêàòå äà âìúêíåòå òåêñò, ïðîñòî ãî âúâåäåòå. Çíàöèòå, êîèòî |
| 316 | ìîãàò äà ñå âèæäàò, êàòî À, 7, * è ò.í., ñå âúçïðèåìàò îò Åìàêñ êàòî | 315 | ìîãàò äà ñå âèæäàò, êàòî À, 7, * è ò.í., ñå âúçïðèåìàò îò Emacs êàòî |
| 317 | òåêñò è ñå âìúêâàò âåäíàãà. Âúâåäåòå <Return> (êëàâèøúò çà âðúùàíå â | 316 | òåêñò è ñå âìúêâàò âåäíàãà. Âúâåäåòå <Return> (êëàâèøúò çà âðúùàíå â |
| 318 | íà÷àëîòî íà ðåäà), çà äà âìúêíåòå çíàê çà íîâ ðåä. | 317 | íà÷àëîòî íà ðåäà), çà äà âìúêíåòå çíàê çà íîâ ðåä. |
| 319 | 318 | ||
| 320 | Ìîæå äà èçòðèåòå ïîñëåäíèÿ çíàê, êîéòî ñòå âúâåëè, ñ âúâåæäàíå íà | 319 | Ìîæå äà èçòðèåòå ïîñëåäíèÿ çíàê, êîéòî ñòå âúâåëè, ñ âúâåæäàíå íà |
| 321 | <Delback>. <Delback> å êëàâèø îò êëàâèàòóðàòà -- ñúùèÿò, êîéòî | 320 | <Delback>. <Delback> å êëàâèø îò êëàâèàòóðàòà -- ñúùèÿò, êîéòî |
| 322 | îáèêíîâåíî èçïîëçâàòå èçâúí Åìàêñ, çà äà èçòðèåòå ïîñëåäíèÿ âúâåäåí îò | 321 | îáèêíîâåíî èçïîëçâàòå èçâúí Emacs, çà äà èçòðèåòå ïîñëåäíèÿ âúâåäåí îò |
| 323 | âàñ çíàê. Îáèêíîâåíî å ãîëÿì êëàâèø, íà íÿêîëêî ðåäà ðàçñòîÿíèå îò | 322 | âàñ çíàê. Îáèêíîâåíî å ãîëÿì êëàâèø, íà íÿêîëêî ðåäà ðàçñòîÿíèå îò |
| 324 | êëàâèøà <Return>, è îáèêíîâåíî å îòáåëÿçàí ñ "Delete", "Del" èëè | 323 | êëàâèøà <Return>, è îáèêíîâåíî å îòáåëÿçàí ñ "Delete", "Del" èëè |
| 325 | "Backspace". | 324 | "Backspace". |
| @@ -359,24 +358,24 @@ bar), â ëÿâàòà ñòðàíà íà ïðîçîðåöà íà Åìàêñ. Âèå ìîæåòå äà ñêðîëèðàòå | |||
| 359 | >> Âúâåäåòå <Return>, çà äà âìúêíåòå íàíîâî çíàêà çà íîâ ðåä, êîéòî | 358 | >> Âúâåäåòå <Return>, çà äà âìúêíåòå íàíîâî çíàêà çà íîâ ðåä, êîéòî |
| 360 | èçòðèõòå. | 359 | èçòðèõòå. |
| 361 | 360 | ||
| 362 | Çàïîìíåòå, ÷å íà ïîâå÷åòî êîìàíäè íà Åìàêñ ìîæå äà áúäå çàäàäåí áðîÿ÷ | 361 | Çàïîìíåòå, ÷å íà ïîâå÷åòî êîìàíäè íà Emacs ìîæå äà áúäå çàäàäåí áðîÿ÷ |
| 363 | íà ïîâòîðåíèÿòà; òîâà âêëþ÷âà âìúêâàíåòî íà òåêñòîâè çíàöè. | 362 | íà ïîâòîðåíèÿòà; òîâà âêëþ÷âà âìúêâàíåòî íà òåêñòîâè çíàöè. |
| 364 | Ïîâòàðÿíåòî íà òåêñòîâ çíàê ãî âìúêâà íÿêîëêî ïúòè. | 363 | Ïîâòàðÿíåòî íà òåêñòîâ çíàê ãî âìúêâà íÿêîëêî ïúòè. |
| 365 | 364 | ||
| 366 | >> Îïèòàéòå òîâà ñåãà -- âúâåäåòå C-u 8 *, çà äà âìúêíåòå ********. | 365 | >> Îïèòàéòå òîâà ñåãà -- âúâåäåòå C-u 8 *, çà äà âìúêíåòå ********. |
| 367 | 366 | ||
| 368 | Ñåãà âèå ñòå íàó÷èëè íàé-îñíîâíèòå íà÷èíè çà âúâåæäàíå íà íåùî â Åìàêñ | 367 | Ñåãà âèå ñòå íàó÷èëè íàé-îñíîâíèòå íà÷èíè çà âúâåæäàíå íà íåùî â Emacs |
| 369 | è ïîïðàâÿíå íà ãðåøêè. Ìîæåòå ñúùî òàêà äà èçòðèâàòå äóìè èëè ðåäîâå. | 368 | è ïîïðàâÿíå íà ãðåøêè. Ìîæåòå ñúùî òàêà äà èçòðèâàòå äóìè èëè ðåäîâå. |
| 370 | Åòî îáîáùåíèå íà èçòðèâàùèòå äåéñòâèÿ: | 369 | Åòî îáîáùåíèå íà èçòðèâàùèòå äåéñòâèÿ: |
| 371 | 370 | ||
| 372 | <Delback> èçòðèâàíå íà çíàêà òî÷íî ïðåäè êóðñîðà | 371 | <Delback> Èçòðèâàíå íà çíàêà òî÷íî ïðåäè êóðñîðà |
| 373 | C-d èçòðèâàíå íà çíàêà òî÷íî ñëåä êóðñîðà | 372 | C-d Èçòðèâàíå íà çíàêà òî÷íî ñëåä êóðñîðà |
| 374 | 373 | ||
| 375 | M-<Delback> èçòðèâàíå íà äóìàòà íåïîñðåäñòâåíî ïðåäè êóðñîðà | 374 | M-<Delback> Èçòðèâàíå íà äóìàòà íåïîñðåäñòâåíî ïðåäè êóðñîðà |
| 376 | M-d èçòðèâàíå íà äóìàòà ñëåä êóðñîðà | 375 | M-d Èçòðèâàíå íà äóìàòà ñëåä êóðñîðà |
| 377 | 376 | ||
| 378 | C-k èçòðèâàíå îò ìÿñòîòî íà êóðñîðà äî êðàÿ íà ðåäà | 377 | C-k Èçòðèâàíå îò ìÿñòîòî íà êóðñîðà äî êðàÿ íà ðåäà |
| 379 | M-k èçòðèâàíå äî êðàÿ íà òåêóùîòî èçðå÷åíèå | 378 | M-k Èçòðèâàíå äî êðàÿ íà òåêóùîòî èçðå÷åíèå |
| 380 | 379 | ||
| 381 | Çàáåëåæåòå, ÷å <Delback> è C-d, ñðàâíåíè ñ M-<Delback> è M-d, | 380 | Çàáåëåæåòå, ÷å <Delback> è C-d, ñðàâíåíè ñ M-<Delback> è M-d, |
| 382 | ðàçøèðÿâàò ïîäîáèåòî, çàïî÷íàòî îò C-f è M-f (äîáðå, <Delback> íå å | 381 | ðàçøèðÿâàò ïîäîáèåòî, çàïî÷íàòî îò C-f è M-f (äîáðå, <Delback> íå å |
| @@ -386,12 +385,12 @@ M-k ñà ïîäîáíè íà C-e è M-e â ñìèñúë, ÷å åäíèòå ñà çà ðåäîâå, à | |||
| 386 | 385 | ||
| 387 | Ìîæåòå ñúùî äà ïðåìàõíåòå âñÿêà ÷àñò îò áóôåðà ñ åäèí óíèâåðñàëåí | 386 | Ìîæåòå ñúùî äà ïðåìàõíåòå âñÿêà ÷àñò îò áóôåðà ñ åäèí óíèâåðñàëåí |
| 388 | íà÷èí. Ïðèäâèæåòå ñå äî åäèíèÿ êðàé íà ÷àñòòà è âúâåäåòå C-@ èëè | 387 | íà÷èí. Ïðèäâèæåòå ñå äî åäèíèÿ êðàé íà ÷àñòòà è âúâåäåòå C-@ èëè |
| 389 | C-èíòåðâàë (êîåòî è äà å îò äâåòå). Ïðèäâèæåòå ñå äî äðóãèÿ êðàé íà | 388 | C-<SPC> (êîåòî è äà å îò äâåòå). (<SPC> å êëàâèøúò èíòåðâàë.) |
| 390 | ÷àñòòà è âúâåäåòå C-w. Òîâà ùå èçðåæå öåëèÿ òåêñò ìåæäó òåçè äâà | 389 | Ïðèäâèæåòå ñå äî äðóãèÿ êðàé íà ÷àñòòà è âúâåäåòå C-w. Òîâà ùå èçðåæå |
| 391 | êðàÿ. | 390 | öåëèÿ òåêñò ìåæäó òåçè äâà êðàÿ. |
| 392 | 391 | ||
| 393 | >> Ïðèäâèæåòå êóðñîðà äî çíàêà "Ì" â íà÷àëîòî íà ïðåäèøíèÿ àáçàö. | 392 | >> Ïðèäâèæåòå êóðñîðà äî çíàêà "Ì" â íà÷àëîòî íà ïðåäèøíèÿ àáçàö. |
| 394 | >> Âúâåäåòå C-èíòåðâàë. Åìàêñ òðÿáâà äà èçâåäå ñúîáùåíèå "Mark set" â | 393 | >> Âúâåäåòå C-<SPC>. Emacs òðÿáâà äà èçâåäå ñúîáùåíèå "Mark set" â |
| 395 | äîëíèÿ êðàé íà åêðàíà. | 394 | äîëíèÿ êðàé íà åêðàíà. |
| 396 | >> Ïðèäâèæåòå êóðñîðà äî áóêâàòà "ð" â "êðàé" íà âòîðèÿ ðåä îò àáçàöà. | 395 | >> Ïðèäâèæåòå êóðñîðà äî áóêâàòà "ð" â "êðàé" íà âòîðèÿ ðåä îò àáçàöà. |
| 397 | >> Âúâåäåòå C-w. Òîâà ùå èçðåæå òåêñòà, çàïî÷âàù îò "Ì" è çàâúðøâàù | 396 | >> Âúâåäåòå C-w. Òîâà ùå èçðåæå òåêñòà, çàïî÷âàù îò "Ì" è çàâúðøâàù |
| @@ -421,9 +420,9 @@ C-k îáðàáîòâà ÷èñëîâèòå àðãóìåíòè ïî ñïåöèàëåí íà÷èí: ïðåìàõâàò ñå | |||
| 421 | Âðúùàíåòî îáðàòíî íà òåêñò ñå íàðè÷à "âìúêâàíå". (Ìèñëåòå çà íåãî | 420 | Âðúùàíåòî îáðàòíî íà òåêñò ñå íàðè÷à "âìúêâàíå". (Ìèñëåòå çà íåãî |
| 422 | êàòî çà èçâàæäàíå îáðàòíî, èëè äðúïâàíå îáðàòíî, íà òåêñò, êîéòî å áèë | 421 | êàòî çà èçâàæäàíå îáðàòíî, èëè äðúïâàíå îáðàòíî, íà òåêñò, êîéòî å áèë |
| 423 | èçðÿçàí.) Ìîæåòå äà âìúêâàòå èçðÿçàíèÿ òåêñò èëè íà ñúùîòî ìÿñòî, | 422 | èçðÿçàí.) Ìîæåòå äà âìúêâàòå èçðÿçàíèÿ òåêñò èëè íà ñúùîòî ìÿñòî, |
| 424 | îòêúäåòî å áèë ïðåìàõíàò, èëè íà äðóãî ìÿñòî â áóôåðà, äàæå è â | 423 | îòêúäåòî å áèë ïðåìàõíàò, èëè íà äðóãî ìÿñòî â ðåäàêòèðàíèÿ òåêñò, |
| 425 | ðàçëè÷åí ôàéë. Ìîæåòå äà âìúêâàòå åäèí è ñúù òåêñò íÿêîëêî ïúòè; òîâà | 424 | äàæå è â ðàçëè÷åí ôàéë. Ìîæåòå äà âìúêâàòå åäèí è ñúù òåêñò íÿêîëêî |
| 426 | ïðàâè íÿêîëêî êîïèÿ îò íåãî. | 425 | ïúòè; òîâà ïðàâè íÿêîëêî êîïèÿ îò íåãî. |
| 427 | 426 | ||
| 428 | Êîìàíäàòà çà âìúêâàíå å C-y. Òÿ âìúêâà íàíîâî ïîñëåäíèÿ èçðÿçàí òåêñò | 427 | Êîìàíäàòà çà âìúêâàíå å C-y. Òÿ âìúêâà íàíîâî ïîñëåäíèÿ èçðÿçàí òåêñò |
| 429 | â òåêóùîòî ìÿñòî íà êóðñîðà. | 428 | â òåêóùîòî ìÿñòî íà êóðñîðà. |
| @@ -502,25 +501,25 @@ C_- å, ÷å íà íÿêîè êëàâèàòóðè íå å î÷åâèäíî êàê òðÿáâà äà ñå âúâåäå. | |||
| 502 | --------- | 501 | --------- |
| 503 | 502 | ||
| 504 | Çà äà íàïðàâèòå òåêñòà, êîéòî ðåäàêòèðàòå, ïîñòîÿíåí, òðÿáâà äà ãî | 503 | Çà äà íàïðàâèòå òåêñòà, êîéòî ðåäàêòèðàòå, ïîñòîÿíåí, òðÿáâà äà ãî |
| 505 | ñëîæèòå âúâ ôàéë.  ïðîòèâåí ñëó÷àé òîé ùå èç÷åçíå, êîãàòî Åìàêñ | 504 | ñëîæèòå âúâ ôàéë.  ïðîòèâåí ñëó÷àé òîé ùå èç÷åçíå, êîãàòî Emacs |
| 506 | ïðèêëþ÷è. Çà äà ñëîæèòå âàøèÿ òåêñò âúâ ôàéë, òðÿáâà äà "íàìåðèòå" | 505 | ïðèêëþ÷è. Çà äà ñëîæèòå âàøèÿ òåêñò âúâ ôàéë, òðÿáâà äà "íàìåðèòå" |
| 507 | ôàéëà ïðåäè äà âúâåæäàòå òåêñò. (Òîâà ñúùî ñå íàðè÷à "ïîñåùàâàíå" íà | 506 | ôàéëà ïðåäè äà âúâåæäàòå òåêñò. (Òîâà ñúùî ñå íàðè÷à "ïîñåùàâàíå" íà |
| 508 | ôàéëà.) | 507 | ôàéëà.) |
| 509 | 508 | ||
| 510 | Íàìèðàíå íà ôàéë îçíà÷àâà, ÷å âèæäàòå ñúäúðæàíèåòî ìó â Åìàêñ.  | 509 | Íàìèðàíå íà ôàéë îçíà÷àâà, ÷å âèæäàòå ñúäúðæàíèåòî ìó â Emacs.  |
| 511 | ìíîãî ñëó÷àè òîâà å êàòî äà ðåäàêòèðàòå ñàìèÿ ôàéë. Îáà÷å ïðîìåíèòå, | 510 | ìíîãî ñëó÷àè òîâà å êàòî äà ðåäàêòèðàòå ñàìèÿ ôàéë. Îáà÷å ïðîìåíèòå, |
| 512 | êîèòî ïðàâèòå, èçïîëçâàéêè Åìàêñ, íå îñòàâàò ïîñòîÿííè, äîêàòî íå | 511 | êîèòî ïðàâèòå, èçïîëçâàéêè Emacs, íå îñòàâàò ïîñòîÿííè, äîêàòî íå |
| 513 | "çàïèøåòå" ôàéëà. Òîâà å òàêà, çà äà ñå ïðåäîòâðàòè îñòàâÿíåòî íà | 512 | "çàïèøåòå" ôàéëà. Òîâà å òàêà, çà äà ñå ïðåäîòâðàòè îñòàâÿíåòî íà |
| 514 | ïîëóïðîìåíåí ôàéë â ñèñòåìàòà, êîãàòî íå èñêàòå òîâà. Äîðè êîãàòî | 513 | ïîëóïðîìåíåí ôàéë â ñèñòåìàòà, êîãàòî íå èñêàòå òîâà. Äîðè êîãàòî |
| 515 | çàïèñâàòå, Åìàêñ îñòàâÿ íà÷àëíèÿ ôàéë ïîä ïðîìåíåíî èìå, â ñëó÷àé, ÷å | 514 | çàïèñâàòå, Emacs îñòàâÿ íà÷àëíèÿ ôàéë ïîä ïðîìåíåíî èìå, â ñëó÷àé, ÷å |
| 516 | ïî-êúñíî ðåøèòå, ÷å âàøèòå ïðîìåíè ñà áèëè ãðåøêà. | 515 | ïî-êúñíî ðåøèòå, ÷å âàøèòå ïðîìåíè ñà áèëè ãðåøêà. |
| 517 | 516 | ||
| 518 | Àêî ïîãëåäíåòå â äúíîòî íà åêðàíà, ùå âèäèòå ðåä, êîéòî çàïî÷âà è | 517 | Àêî ïîãëåäíåòå â äúíîòî íà åêðàíà, ùå âèäèòå ðåä, êîéòî çàïî÷âà è |
| 519 | çàâúðøâà ñ òèðåòà è çàïî÷âà ñ "-R:-- TUTORIAL.bg" èëè íåùî ïîäîáíî. | 518 | çàâúðøâà ñ òèðåòà è çàïî÷âà ñ "-R:-- TUTORIAL.bg" èëè íåùî ïîäîáíî. |
| 520 | Òàçè ÷àñò îò åêðàíà ïîêàçâà èìåòî íà ôàéëà, êîéòî ñòå ïîñåòèëè. Òî÷íî | 519 | Òàçè ÷àñò îò åêðàíà ïîêàçâà èìåòî íà ôàéëà, êîéòî ñòå ïîñåòèëè. Òî÷íî |
| 521 | ñåãà âèå ñòå ïîñåòèëè ôàéë, íàðå÷åí "TUTORIAL.bg", êîéòî å âàøåòî | 520 | ñåãà âèå ñòå ïîñåòèëè ôàéë, íàðå÷åí "TUTORIAL.bg", êîéòî å âàøåòî |
| 522 | ëè÷íî êîïèå-÷åðíîâà íà Åìàêñ âúâåäåíèåòî. Êîãàòî íàìåðèòå ôàéë â | 521 | ëè÷íî êîïèå-÷åðíîâà íà Emacs âúâåäåíèåòî. Êîãàòî íàìåðèòå ôàéë â |
| 523 | Åìàêñ, èìåòî íà òîçè ôàéë ùå ñå ïîÿâè íà ñúùîòî ìÿñòî. | 522 | Emacs, èìåòî íà òîçè ôàéë ùå ñå ïîÿâè íà ñúùîòî ìÿñòî. |
| 524 | 523 | ||
| 525 | Îñîáåíîñò íà êîìàíäàòà çà íàìèðàíå íà ôàéë å, ÷å òðÿáâà äà êàæåòå | 524 | Îñîáåíîñò íà êîìàíäàòà çà íàìèðàíå íà ôàéë å, ÷å òðÿáâà äà êàæåòå |
| 526 | èìåòî íà ôàéëà, êîéòî èñêàòå. Íèå ãî íàðè÷àìå "÷åòåíå íà àðãóìåíò îò | 525 | èìåòî íà ôàéëà, êîéòî èñêàòå. Íèå ãî íàðè÷àìå "÷åòåíå íà àðãóìåíò îò |
| @@ -529,10 +528,10 @@ C_- å, ÷å íà íÿêîè êëàâèàòóðè íå å î÷åâèäíî êàê òðÿáâà äà ñå âúâåäå. | |||
| 529 | 528 | ||
| 530 | C-x C-f Íàìèðàíå íà ôàéë | 529 | C-x C-f Íàìèðàíå íà ôàéë |
| 531 | 530 | ||
| 532 | Åìàêñ âè ïîäêàíÿ äà âúâåäåòå èìåòî íà ôàéëà. Èìåòî íà ôàéëà, êîåòî | 531 | Emacs âè ïîäêàíÿ äà âúâåäåòå èìåòî íà ôàéëà. Èìåòî íà ôàéëà, êîåòî |
| 533 | íàïèøåòå, ñå ïîÿâÿâà â äúíîòî íà åêðàíà. Ðåäúò â äúíîòî íà åêðàíà ñå | 532 | íàïèøåòå, ñå ïîÿâÿâà â äúíîòî íà åêðàíà. Ðåäúò â äúíîòî íà åêðàíà ñå |
| 534 | íàðè÷à ìèíèáóôåð, êîãàòî ñå èçïîëçâà çà òîçè âèä âõîä. Ìîæåòå äà | 533 | íàðè÷à ìèíèáóôåð, êîãàòî ñå èçïîëçâà çà òîçè âèä âõîä. Ìîæåòå äà |
| 535 | èçïîëçâàòå îáèêíîâåíèòå êîìàíäè çà ðåäàêòèðàíå íà Åìàêñ, çà äà | 534 | èçïîëçâàòå îáèêíîâåíèòå êîìàíäè çà ðåäàêòèðàíå íà Emacs, çà äà |
| 536 | ðåäàêòèðàòå èìåòî íà ôàéëà. | 535 | ðåäàêòèðàòå èìåòî íà ôàéëà. |
| 537 | 536 | ||
| 538 | Êîãàòî âúâåæäàòå èìåòî íà ôàéëà (èëè êàêúâòî è äà å âõîä â | 537 | Êîãàòî âúâåæäàòå èìåòî íà ôàéëà (èëè êàêúâòî è äà å âõîä â |
| @@ -553,12 +552,12 @@ C_- å, ÷å íà íÿêîè êëàâèàòóðè íå å î÷åâèäíî êàê òðÿáâà äà ñå âúâåäå. | |||
| 553 | 552 | ||
| 554 | C-x C-s Çàïàçâàíå íà ôàéëà | 553 | C-x C-s Çàïàçâàíå íà ôàéëà |
| 555 | 554 | ||
| 556 | Òîâà êîïèðà òåêñòà îò Åìàêñ âúâ ôàéëà. Ïúðâèÿ ïúò, êîãàòî òîâà ñå | 555 | Òîâà êîïèðà òåêñòà îò Emacs âúâ ôàéëà. Ïúðâèÿ ïúò, êîãàòî òîâà ñå |
| 557 | íàïðàâè, Åìàêñ ïðåèìåíóâà íà÷àëíèÿ ôàéë ñ íîâî èìå, òàêà ÷å òîé äà íå | 556 | íàïðàâè, Emacs ïðåèìåíóâà íà÷àëíèÿ ôàéë ñ íîâî èìå, òàêà ÷å òîé äà íå |
| 558 | ñå èçãóáè. Íîâîòî èìå ñå ïîñòðîÿâà ñ äîáàâÿíå íà "~" â êðàÿ íà èìåòî | 557 | ñå èçãóáè. Íîâîòî èìå ñå ïîñòðîÿâà ñ äîáàâÿíå íà "~" â êðàÿ íà èìåòî |
| 559 | íà íà÷àëíèÿ ôàéë. | 558 | íà íà÷àëíèÿ ôàéë. |
| 560 | 559 | ||
| 561 | Êîãàòî çàïàçâàíåòî å ñâúðøèëî, Åìàêñ èçâåæäà èìåòî íà ôàéëà, êîéòî å | 560 | Êîãàòî çàïàçâàíåòî å ñâúðøèëî, Emacs èçâåæäà èìåòî íà ôàéëà, êîéòî å |
| 562 | áèë çàïèñàí. Òðÿáâà äà çàïèñâàòå äîñòàòú÷íî ÷åñòî, òàêà ÷å äà íå | 561 | áèë çàïèñàí. Òðÿáâà äà çàïèñâàòå äîñòàòú÷íî ÷åñòî, òàêà ÷å äà íå |
| 563 | èçãóáèòå ìíîãî ðàáîòà, àêî ñèñòåìàòà ñå ñðèíå ïî íÿêàêâà ïðè÷èíà. | 562 | èçãóáèòå ìíîãî ðàáîòà, àêî ñèñòåìàòà ñå ñðèíå ïî íÿêàêâà ïðè÷èíà. |
| 564 | 563 | ||
| @@ -566,19 +565,19 @@ C_- å, ÷å íà íÿêîè êëàâèàòóðè íå å î÷åâèäíî êàê òðÿáâà äà ñå âúâåäå. | |||
| 566 | Òîâà òðÿáâà äà èçâåäå "Wrote ...TUTORIAL.bg" â äúíîòî íà åêðàíà. | 565 | Òîâà òðÿáâà äà èçâåäå "Wrote ...TUTORIAL.bg" â äúíîòî íà åêðàíà. |
| 567 | 566 | ||
| 568 | ÇÀÁÅËÅÆÊÀ: Íà íÿêîè ñèñòåìè âúâåæäàíåòî íà C-x C-s ùå çàìðúçè åêðàíà è | 567 | ÇÀÁÅËÅÆÊÀ: Íà íÿêîè ñèñòåìè âúâåæäàíåòî íà C-x C-s ùå çàìðúçè åêðàíà è |
| 569 | âèå íÿìà äà âèæäàòå ïîâå÷å èçõîä îò Åìàêñ. Òîâà ïîêàçâà, ÷å åäíà | 568 | âèå íÿìà äà âèæäàòå ïîâå÷å èçõîä îò Emacs. Òîâà ïîêàçâà, ÷å åäíà |
| 570 | "ñïîñîáíîñò" íà îïåðàöèîííàòà ñèñòåìà, íàðè÷àíà "óïðàâëåíèå íà ïîòîêà" | 569 | "ñïîñîáíîñò" íà îïåðàöèîííàòà ñèñòåìà, íàðè÷àíà "óïðàâëåíèå íà ïîòîêà" |
| 571 | (flow control), å ïðèõâàíàëà C-s è íå ãî ïðîïóñêà êúì Åìàêñ. Çà äà | 570 | (flow control), å ïðèõâàíàëà C-s è íå ãî ïðîïóñêà êúì Emacs. Çà äà |
| 572 | ðàçìðàçèòå åêðàíà, âúâåäåòå C-q. Òîãàâà âèæòå ñåêöèÿòà "Ñïîíòàííî | 571 | ðàçìðàçèòå åêðàíà, âúâåäåòå C-q. Òîãàâà âèæòå ñåêöèÿòà "Ñïîíòàííî |
| 573 | âêëþ÷âàíå íà ïîñòúïêîâî òúðñåíå" (Spontaneous Entry to Incremental | 572 | âêëþ÷âàíå íà ïîñòúïêîâî òúðñåíå" (Spontaneous Entry to Incremental |
| 574 | Search) â ðúêîâîäñòâîòî íà Åìàêñ çà ñúâåò êàê äà ñå ñïðàâèòå ñ òàçè | 573 | Search) â ðúêîâîäñòâîòî íà Emacs çà ñúâåò êàê äà ñå ñïðàâèòå ñ òàçè |
| 575 | "ñïîñîáíîñò". | 574 | "ñïîñîáíîñò". |
| 576 | 575 | ||
| 577 | Ìîæå äà íàìåðèòå ñúùåñòâóâàù ôàéë, äà ãî ðàçãëåäàòå è äà ãî | 576 | Ìîæå äà íàìåðèòå ñúùåñòâóâàù ôàéë, äà ãî ðàçãëåäàòå è äà ãî |
| 578 | ðåäàêòèðàòå. Ìîæåòå ñúùî äà íàìåðèòå ôàéë, êîéòî íå ñúùåñòâóâà. Òîâà | 577 | ðåäàêòèðàòå. Ìîæåòå ñúùî äà íàìåðèòå ôàéë, êîéòî íå ñúùåñòâóâà. Òîâà |
| 579 | å íà÷èíúò çà ñúçäàâàíå íà íîâè ôàéëîâå â Åìàêñ: íàìèðàòå ôàéëà, êîéòî | 578 | å íà÷èíúò çà ñúçäàâàíå íà íîâè ôàéëîâå â Emacs: íàìèðàòå ôàéëà, êîéòî |
| 580 | ùå áúäå â íà÷àëîòî ïðàçåí, è òîãàâà çàïî÷âàòå âìúêâàíåòî íà òåêñòà çà | 579 | ùå áúäå â íà÷àëîòî ïðàçåí, è òîãàâà çàïî÷âàòå âìúêâàíåòî íà òåêñòà çà |
| 581 | ôàéëà. Êîãàòî ãîâîðèòå çà "çàïèñâàíå" íà ôàéë, Åìàêñ âñúùíîñò ùå | 580 | ôàéëà. Êîãàòî ãîâîðèòå çà "çàïèñâàíå" íà ôàéë, Emacs âñúùíîñò ùå |
| 582 | ñúçäàäå ôàéëà ñ òåêñòà, êîéòî ñòå âúâåëè. Îòòàì íàòàòúê ìîæå äà | 581 | ñúçäàäå ôàéëà ñ òåêñòà, êîéòî ñòå âúâåëè. Îòòàì íàòàòúê ìîæå äà |
| 583 | ñ÷èòàòå, ÷å ðåäàêòèðàòå âå÷å ñúùåñòâóâàù ôàéë. | 582 | ñ÷èòàòå, ÷å ðåäàêòèðàòå âå÷å ñúùåñòâóâàù ôàéë. |
| 584 | 583 | ||
| @@ -586,9 +585,9 @@ Search) â ðúêîâîäñòâîòî íà Åìàêñ çà ñúâåò êàê äà ñå ñïðàâèòå ñ òàçè | |||
| 586 | * ÁÓÔÅÐÈ | 585 | * ÁÓÔÅÐÈ |
| 587 | -------- | 586 | -------- |
| 588 | 587 | ||
| 589 | Àêî íàìåðèòå âòîðè ôàéë ñ C-x C-f, ïúðâèÿò ôàéë îñòàâà â Åìàêñ. | 588 | Àêî íàìåðèòå âòîðè ôàéë ñ C-x C-f, ïúðâèÿò ôàéë îñòàâà â Emacs. |
| 590 | Ìîæåòå äà ïðåâêëþ÷èòå îáðàòíî êúì íåãî, êàòî ãî íàìåðèòå ïàê ñ C-x | 589 | Ìîæåòå äà ïðåâêëþ÷èòå îáðàòíî êúì íåãî, êàòî ãî íàìåðèòå ïàê ñ C-x |
| 591 | C-f. Ïî òîçè íà÷èí ìîæå äà ïîëó÷èòå äîñòà íà áðîé ôàéëîâå â Åìàêñ. | 590 | C-f. Ïî òîçè íà÷èí ìîæå äà ïîëó÷èòå äîñòà íà áðîé ôàéëîâå â Emacs. |
| 592 | 591 | ||
| 593 | >> Ñúçäàéòå ôàéë ñ èìå "foo", âúâåæäàéêè C-x C-f foo <Return>. | 592 | >> Ñúçäàéòå ôàéë ñ èìå "foo", âúâåæäàéêè C-x C-f foo <Return>. |
| 594 | Âìúêíåòå ìàëêî òåêñò, ðåäàêòèðàéòå ãî è çàïàçåòå "foo" ñ âúâåæäàíå | 593 | Âìúêíåòå ìàëêî òåêñò, ðåäàêòèðàéòå ãî è çàïàçåòå "foo" ñ âúâåæäàíå |
| @@ -596,16 +595,16 @@ C-f. Ïî òîçè íà÷èí ìîæå äà ïîëó÷èòå äîñòà íà áðîé ôàéëîâå â Åìàêñ. | |||
| 596 | Íàêðàÿ âúâåäåòå C-x C-f TUTORIAL.bg <Return>, çà äà ñå âúðíåòå | 595 | Íàêðàÿ âúâåäåòå C-x C-f TUTORIAL.bg <Return>, çà äà ñå âúðíåòå |
| 597 | îáðàòíî âúâ âúâåäåíèåòî. | 596 | îáðàòíî âúâ âúâåäåíèåòî. |
| 598 | 597 | ||
| 599 | Åìàêñ çàïàçâà òåêñòà íà âñåêè ôàéë â îáåêò, íàðè÷àí "áóôåð". | 598 | Emacs çàïàçâà òåêñòà íà âñåêè ôàéë â îáåêò, íàðè÷àí "áóôåð". |
| 600 | Íàìèðàíåòî íà ôàéë ïðàâè íîâ áóôåð â Åìàêñ. Çà äà âèäèòå ñïèñúê íà | 599 | Íàìèðàíåòî íà ôàéë ïðàâè íîâ áóôåð â Emacs. Çà äà âèäèòå ñïèñúê íà |
| 601 | áóôåðèòå, êîèòî â ìîìåíòà ñúùåñòâóâàò âúâ âàøèÿ Åìàêñ, âúâåäåòå | 600 | áóôåðèòå, êîèòî â ìîìåíòà ñúùåñòâóâàò âúâ âàøèÿ Emacs, âúâåäåòå |
| 602 | 601 | ||
| 603 | C-x C-b Ïîêàçâàíå íà áóôåðèòå | 602 | C-x C-b Ïîêàçâàíå íà áóôåðèòå |
| 604 | 603 | ||
| 605 | >> Îïèòàéòå C-x C-b ñåãà. | 604 | >> Îïèòàéòå C-x C-b ñåãà. |
| 606 | 605 | ||
| 607 | Âèæòå êàê âñåêè áóôåð èìà èìå, à ïîíÿêîãà è èìå íà ôàéë çà ôàéëà, | 606 | Âèæòå êàê âñåêè áóôåð èìà èìå, à ïîíÿêîãà è èìå íà ôàéë çà ôàéëà, |
| 608 | ÷èåòî ñúäúðæàíèå äúðæè. ÂÑÅÊÈ òåêñò, êîéòî âèæäàòå â Åìàêñ ïðîçîðåö, | 607 | ÷èåòî ñúäúðæàíèå äúðæè. ÂÑÅÊÈ òåêñò, êîéòî âèæäàòå â Emacs ïðîçîðåö, |
| 609 | å âèíàãè ÷àñò îò íÿêàêúâ áóôåð. | 608 | å âèíàãè ÷àñò îò íÿêàêúâ áóôåð. |
| 610 | 609 | ||
| 611 | >> Âúâåäåòå C-x 1, çà äà ìàõíåòå ñïèñúêà ñ áóôåðèòå. | 610 | >> Âúâåäåòå C-x 1, çà äà ìàõíåòå ñïèñúêà ñ áóôåðèòå. |
| @@ -627,13 +626,13 @@ C-f. Ïî òîçè íà÷èí ìîæå äà ïîëó÷èòå äîñòà íà áðîé ôàéëîâå â Åìàêñ. | |||
| 627 | Ñïèñúêúò ñ áóôåðèòå, êîéòî ïðàâèòå ñ C-x C-b, âèíàãè âè ïîêàçâà èìåòî | 626 | Ñïèñúêúò ñ áóôåðèòå, êîéòî ïðàâèòå ñ C-x C-b, âèíàãè âè ïîêàçâà èìåòî |
| 628 | íà âñåêè áóôåð. | 627 | íà âñåêè áóôåð. |
| 629 | 628 | ||
| 630 | ÂÑÅÊÈ òåêñò, êîéòî âèæäàòå â Åìàêñ ïðîçîðåö, å âèíàãè ÷àñò îò íÿêàêúâ | 629 | ÂÑÅÊÈ òåêñò, êîéòî âèæäàòå â Emacs ïðîçîðåö, å âèíàãè ÷àñò îò íÿêàêúâ |
| 631 | áóôåð. Íÿêîè áóôåðè íå ñúîòâåòñòâàò íà ôàéëîâå. Íàïðèìåð áóôåðúò, | 630 | áóôåð. Íÿêîè áóôåðè íå ñúîòâåòñòâàò íà ôàéëîâå. Íàïðèìåð áóôåðúò, |
| 632 | èìåíóâàí "*Buffer List*", íå ñúîòâåòñòâà íà ôàéë. Òîâà å áóôåðúò, | 631 | èìåíóâàí "*Buffer List*", íå ñúîòâåòñòâà íà ôàéë. Òîâà å áóôåðúò, |
| 633 | êîéòî ñúäúðæà ñïèñúêà ñ áóôåðèòå, êîèòî ñòå íàïðàâèëè ñ C-x C-b. | 632 | êîéòî ñúäúðæà ñïèñúêà ñ áóôåðèòå, êîèòî ñòå íàïðàâèëè ñ C-x C-b. |
| 634 | Áóôåðúò, èìåíóâàí "*Messages*", ñúùî íå ñúîòâåòñòâà íà ôàéë; òîé | 633 | Áóôåðúò, èìåíóâàí "*Messages*", ñúùî íå ñúîòâåòñòâà íà ôàéë; òîé |
| 635 | ñúäúðæà ñúîáùåíèÿòà, êîèòî ñå ïîÿâÿâàò â äúíîòî íà åêðàíà ïî âðåìå íà | 634 | ñúäúðæà ñúîáùåíèÿòà, êîèòî ñå ïîÿâÿâàò â äúíîòî íà åêðàíà ïî âðåìå íà |
| 636 | Åìàêñ ñåñèÿòà. | 635 | Emacs ñåñèÿòà. |
| 637 | 636 | ||
| 638 | >> Âúâåäåòå C-x b *Messages* <Return>, çà äà âèäèòå áóôåðà ñúñ | 637 | >> Âúâåäåòå C-x b *Messages* <Return>, çà äà âèäèòå áóôåðà ñúñ |
| 639 | ñúîáùåíèÿòà. Ñëåä òîâà âúâåäåòå C-x C-b TUTORIAL <Return>, çà äà | 638 | ñúîáùåíèÿòà. Ñëåä òîâà âúâåäåòå C-x C-b TUTORIAL <Return>, çà äà |
| @@ -641,7 +640,7 @@ C-f. Ïî òîçè íà÷èí ìîæå äà ïîëó÷èòå äîñòà íà áðîé ôàéëîâå â Åìàêñ. | |||
| 641 | 640 | ||
| 642 | Àêî íàïðàâèòå ïðîìåíè â òåêñòà íà åäèí ôàéë è òîãàâà íàìåðèòå äðóã | 641 | Àêî íàïðàâèòå ïðîìåíè â òåêñòà íà åäèí ôàéë è òîãàâà íàìåðèòå äðóã |
| 643 | ôàéë, òîâà íÿìà äà çàïèøå ïúðâèÿ ôàéë. Íåãîâèòå ïðîìåíè îñòàâàò âúòðå | 642 | ôàéë, òîâà íÿìà äà çàïèøå ïúðâèÿ ôàéë. Íåãîâèòå ïðîìåíè îñòàâàò âúòðå |
| 644 | â Åìàêñ, â áóôåðà íà ôàéëà. Ñúçäàâàíåòî èëè ðåäàêòèðàíåòî íà áóôåðà | 643 | â Emacs, â áóôåðà íà ôàéëà. Ñúçäàâàíåòî èëè ðåäàêòèðàíåòî íà áóôåðà |
| 645 | íà âòîðèÿ ôàéë íÿìà åôåêò âúðõó áóôåðà íà ïúðâèÿ ôàéë. Òîâà å ìíîãî | 644 | íà âòîðèÿ ôàéë íÿìà åôåêò âúðõó áóôåðà íà ïúðâèÿ ôàéë. Òîâà å ìíîãî |
| 646 | ïîëåçíî, íî ñúùî îçíà÷àâà, ÷å ñå íóæäàåòå îò óäîáåí íà÷èí äà çàïàçèòå | 645 | ïîëåçíî, íî ñúùî îçíà÷àâà, ÷å ñå íóæäàåòå îò óäîáåí íà÷èí äà çàïàçèòå |
| 647 | áóôåðà íà ïúðâèÿ ôàéë. Ùå å íåóäîáíî äà ïðåâêëþ÷èòå îáðàòíî ñ C-x | 646 | áóôåðà íà ïúðâèÿ ôàéë. Ùå å íåóäîáíî äà ïðåâêëþ÷èòå îáðàòíî ñ C-x |
| @@ -660,8 +659,8 @@ C-x s ïèòà çà âñåêè áóôåð, êîéòî ñúäúðæà ïðîìåíè, êîèòî íå ñòå | |||
| 660 | * ÐÀÇØÈÐßÂÀÍÅ ÍÀ ÍÀÁÎÐÀ ÊÎÌÀÍÄÈ | 659 | * ÐÀÇØÈÐßÂÀÍÅ ÍÀ ÍÀÁÎÐÀ ÊÎÌÀÍÄÈ |
| 661 | ------------------------------- | 660 | ------------------------------- |
| 662 | 661 | ||
| 663 | Èìà ìíîãî, ìíîãî ïîâå÷å êîìàíäè íà Åìàêñ, îòêîëêîòî ìîãàò äà ñå ñëîæàò | 662 | Èìà ìíîãî, ìíîãî ïîâå÷å êîìàíäè íà Emacs, îòêîëêîòî ìîãàò äà ñå ñëîæàò |
| 664 | íà âñè÷êè êîíòðîëíè è ìåòà çíàöè. Åìàêñ çàîáèêàëÿ òîâà ñ X (eXtended) | 663 | íà âñè÷êè êîíòðîëíè è ìåòà çíàöè. Emacs çàîáèêàëÿ òîâà ñ X (eXtended) |
| 665 | êîìàíäàòà. Òîâà ñòàâà ïî äâà íà÷èíà: | 664 | êîìàíäàòà. Òîâà ñòàâà ïî äâà íà÷èíà: |
| 666 | 665 | ||
| 667 | C-x Çíàêîâî ðàçøèðÿâàíå. Ïîñëåäâàíî îò åäèí çíàê. | 666 | C-x Çíàêîâî ðàçøèðÿâàíå. Ïîñëåäâàíî îò åäèí çíàê. |
| @@ -669,49 +668,49 @@ C-x s ïèòà çà âñåêè áóôåð, êîéòî ñúäúðæà ïðîìåíè, êîèòî íå ñòå | |||
| 669 | èìå. | 668 | èìå. |
| 670 | 669 | ||
| 671 | Òåçè êîìàíäè ñà îáùî âçåòî ïîëåçíè, íî ïî-ìàëêî, îòêîëêîòî êîìàíäèòå, | 670 | Òåçè êîìàíäè ñà îáùî âçåòî ïîëåçíè, íî ïî-ìàëêî, îòêîëêîòî êîìàíäèòå, |
| 672 | êîèòî äîñåãà ñòå íàó÷èëè. Âå÷å âèäÿõòå äâå îò òÿõ: êîìàíäèòå âúðõó | 671 | êîèòî äîñåãà ñòå íàó÷èëè. Âå÷å âèäÿõòå íÿêîëêî îò òÿõ: íàïðèìåð |
| 673 | ôàéëîâå C-x C-f çà íàìèðàíå (Find) è C-x C-s çà çàïàçâàíå (Save). | 672 | êîìàíäèòå âúðõó ôàéëîâå C-x C-f çà íàìèðàíå (Find) è C-x C-s çà |
| 674 | Äðóã ïðèìåð å êîìàíäàòà çà êðàé íà Åìàêñ ñåñèÿòà -- òîâà å êîìàíäàòà | 673 | çàïàçâàíå (Save). Äðóã ïðèìåð å êîìàíäàòà çà êðàé íà Emacs ñåñèÿòà -- |
| 675 | C-x C-c. (Íå ñå áåçïîêîéòå, ÷å ìîæå äà èçãóáèòå âñè÷êè ïðîìåíè, êîèòî | 674 | òîâà å êîìàíäàòà C-x C-c. (Íå ñå áåçïîêîéòå, ÷å ìîæå äà èçãóáèòå |
| 676 | ñòå íàïðàâèëè; C-x C-c ïðåäëàãà äà çàïàçè âñåêè ïðîìåíåí ôàéë, ïðåäè | 675 | âñè÷êè ïðîìåíè, êîèòî ñòå íàïðàâèëè; C-x C-c ïðåäëàãà äà çàïàçè âñåêè |
| 677 | äà ïðåìàõíå Åìàêñ.) | 676 | ïðîìåíåí ôàéë, ïðåäè äà ïðåìàõíå Emacs.) |
| 678 | 677 | ||
| 679 | C-z å êîìàíäàòà çà èçëèçàíå îò Åìàêñ *âðåìåííî* -- òàêà ÷å äà ìîæåòå | 678 | C-z å êîìàíäàòà çà èçëèçàíå îò Emacs *âðåìåííî* -- òàêà ÷å äà ìîæåòå |
| 680 | äà ñå âúðíåòå êúì ñúùàòà Åìàêñ ñåñèÿ ïî-êúñíî. | 679 | äà ñå âúðíåòå êúì ñúùàòà Emacs ñåñèÿ ïî-êúñíî. |
| 681 | 680 | ||
| 682 | Íà ñèñòåìè, êîèòî ïîçâîëÿâàò òîâà, C-z "èçîñòàâÿ" (suspend) Åìàêñ, | 681 | Íà ñèñòåìè, êîèòî ïîçâîëÿâàò òîâà, C-z "èçîñòàâÿ" (suspend) Emacs, |
| 683 | ò.å. âðúùà êúì îáâèâêàòà, íî íå ðàçðóøàâà Åìàêñ.  ïîâå÷åòî îáâèâêè | 682 | ò.å. âðúùà êúì îáâèâêàòà, íî íå ðàçðóøàâà Emacs.  ïîâå÷åòî îáâèâêè |
| 684 | ìîæåòå äà ïðîäúëæèòå Åìàêñ ñåñèÿòà ñ êîìàíäàòà "fg" èëè ñ "%emacs". | 683 | ìîæåòå äà ïðîäúëæèòå Emacs ñåñèÿòà ñ êîìàíäàòà "fg" èëè ñ "%emacs". |
| 685 | 684 | ||
| 686 | Íà ñèñòåìè, êîèòî íå ïîçâîëÿâàò èçîñòàâÿíå, C-z ñúçäàâà íîâà | 685 | Íà ñèñòåìè, êîèòî íå ïîçâîëÿâàò èçîñòàâÿíå, C-z ñúçäàâà íîâà |
| 687 | ïîäîáâèâêà, êîÿòî âúðâè ïîä Åìàêñ, çà äà âè äàäå øàíñ äà ñòàðòèðàòå | 686 | ïîäîáâèâêà, êîÿòî âúðâè ïîä Emacs, çà äà âè äàäå øàíñ äà ñòàðòèðàòå |
| 688 | äðóãè ïðîãðàìè è äà ñå âúðíåòå êúì Åìàêñ ñëåä òîâà; òîâà íå å èñòèíñêî | 687 | äðóãè ïðîãðàìè è äà ñå âúðíåòå êúì Emacs ñëåä òîâà; òîâà íå å èñòèíñêî |
| 689 | "èçëèçàíå" îò Åìàêñ.  òîçè ñëó÷àé êîìàíäàòà íà îáâèâêàòà "exit" å | 688 | "èçëèçàíå" îò Emacs.  òîçè ñëó÷àé êîìàíäàòà íà îáâèâêàòà "exit" å |
| 690 | îáèêíîâåíèÿò íà÷èí äà ñå âúðíåòå îáðàòíî êúì Åìàêñ îò ïîäîáâèâêàòà. | 689 | îáèêíîâåíèÿò íà÷èí äà ñå âúðíåòå îáðàòíî êúì Emacs îò ïîäîáâèâêàòà. |
| 691 | 690 | ||
| 692 | Ìîìåíòúò äà èçïîëçâàòå C-x C-c å, êîãàòî èñêàòå äà èçëåçåòå îò | 691 | Ìîìåíòúò äà èçïîëçâàòå C-x C-c å, êîãàòî èñêàòå äà èçëåçåòå îò |
| 693 | ñèñòåìàòà. Òîâà å è ïðàâèëíàòà êîìàíäà çà èçëèçàíå, êîãàòî Åìàêñ å | 692 | ñèñòåìàòà. Òîâà å è ïðàâèëíàòà êîìàíäà çà èçëèçàíå, êîãàòî Emacs å |
| 694 | èçâèêàí îò ïîùåíñêà ïðîãðàìà èëè äðóãè ñòðàíè÷íè ïðîãðàìè, òúé êàòî òå | 693 | èçâèêàí îò ïîùåíñêà ïðîãðàìà èëè äðóãè ñòðàíè÷íè ïðîãðàìè, òúé êàòî òå |
| 695 | ìîæå è äà íå çíàÿò êàê äà ñå ñïðàâÿò ñ èçîñòàâÿíåòî íà Åìàêñ. Ïðè | 694 | ìîæå è äà íå çíàÿò êàê äà ñå ñïðàâÿò ñ èçîñòàâÿíåòî íà Emacs. Ïðè |
| 696 | îáèêíîâåíè îáñòîÿòåëñòâà, îáà÷å, àêî íå ñòå òðúãíàëè äà èçëèçàòå îò | 695 | îáèêíîâåíè îáñòîÿòåëñòâà, îáà÷å, àêî íå ñòå òðúãíàëè äà èçëèçàòå îò |
| 697 | ñèñòåìàòà, ïî-äîáðå å äà èçîñòàâèòå Åìàêñ ñ C-z, âìåñòî äà èçëèçàòå îò | 696 | ñèñòåìàòà, ïî-äîáðå å äà èçîñòàâèòå Emacs ñ C-z, âìåñòî äà èçëèçàòå îò |
| 698 | Åìàêñ. | 697 | Emacs. |
| 699 | 698 | ||
| 700 | Èìà ìíîãî êîìàíäè C-x. Åòî ñïèñúê íà òåçè, êîèòî ñòå íàó÷èëè: | 699 | Èìà ìíîãî êîìàíäè C-x. Åòî ñïèñúê íà òåçè, êîèòî ñòå íàó÷èëè: |
| 701 | 700 | ||
| 702 | C-x C-f Íàìèðàíå íà ôàéë. | 701 | C-x C-f Íàìèðàíå íà ôàéë |
| 703 | C-x C-s Çàïàçâàíå íà ôàéë. | 702 | C-x C-s Çàïàçâàíå íà ôàéë |
| 704 | C-x C-b Ñïèñúê íà áóôåðèòå. | 703 | C-x C-b Ñïèñúê íà áóôåðèòå |
| 705 | C-x C-c Èçëèçàíå îò Åìàêñ. | 704 | C-x C-c Èçëèçàíå îò Emacs |
| 706 | C-x 1 Èçòðèâàíå íà âñè÷êè ïðîçîðöè îñâåí åäèí. | 705 | C-x 1 Èçòðèâàíå íà âñè÷êè ïðîçîðöè, îñâåí åäèí |
| 707 | C-x u Îòìÿíà. | 706 | C-x u Îòìÿíà |
| 708 | 707 | ||
| 709 | Èìåíóâàíèòå ðàçøèðåíè êîìàíäè ñà êîìàíäè, êîèòî ñå èçïîëçâàò äàæå îùå | 708 | Èìåíóâàíèòå ðàçøèðåíè êîìàíäè ñà êîìàíäè, êîèòî ñå èçïîëçâàò äàæå îùå |
| 710 | ïî-ðÿäêî, èëè êîìàíäè, êîèòî ñå èçïîëçâàò ñàìî â îïðåäåëåíè ðåæèìè. | 709 | ïî-ðÿäêî, èëè êîìàíäè, êîèòî ñå èçïîëçâàò ñàìî â îïðåäåëåíè ðåæèìè. |
| 711 | Ïðèìåð å êîìàíäàòà replace-string, êîÿòî çàìåíÿ ãëîáàëíî åäèí íèç ñ | 710 | Ïðèìåð å êîìàíäàòà replace-string, êîÿòî çàìåíÿ ãëîáàëíî åäèí íèç ñ |
| 712 | äðóã. Êîãàòî âúâåäåòå M-x, Åìàêñ âè ïîäñêàçâà â äúíîòî íà åêðàíà ñ | 711 | äðóã. Êîãàòî âúâåäåòå M-x, Emacs âè ïîäñêàçâà â äúíîòî íà åêðàíà ñ |
| 713 | M-x è âèå òðÿáâà äà âúâåäåòå èìåòî íà êîìàíäàòà, â òîçè ñëó÷àé | 712 | M-x è âèå òðÿáâà äà âúâåäåòå èìåòî íà êîìàíäàòà, â òîçè ñëó÷àé |
| 714 | "replace-string". Ïðîñòî âúâåäåòå "repl s<TAB>" è Åìàêñ ùå çàâúðøè | 713 | "replace-string". Ïðîñòî âúâåäåòå "repl s<TAB>" è Emacs ùå çàâúðøè |
| 715 | èìåòî. (<TAB> å êëàâèøúò Tab, îáèêíîâåíî íàìèðàù ñå íàä êëàâèøà | 714 | èìåòî. (<TAB> å êëàâèøúò Tab, îáèêíîâåíî íàìèðàù ñå íàä êëàâèøà |
| 716 | CapsLock èëè êëàâèøà Shift áëèçî äî ëåâèÿ êðàé íà êëàâèàòóðàòà.) | 715 | CapsLock èëè êëàâèøà Shift áëèçî äî ëåâèÿ êðàé íà êëàâèàòóðàòà.) |
| 717 | Çàâúðøåòå èìåòî íà êîìàíäàòà ñ <Return>. | 716 | Çàâúðøåòå èìåòî íà êîìàíäàòà ñ <Return>. |
| @@ -735,11 +734,11 @@ CapsLock èëè êëàâèøà Shift áëèçî äî ëåâèÿ êðàé íà êëàâèàòóðàòà.) | |||
| 735 | 734 | ||
| 736 | Êîãàòî ñòå íàïðàâèëè ïðîìåíè âúâ ôàéë, íî îùå íå ñòå ãî çàïàçèëè, òå | 735 | Êîãàòî ñòå íàïðàâèëè ïðîìåíè âúâ ôàéë, íî îùå íå ñòå ãî çàïàçèëè, òå |
| 737 | ìîãàò äà áúäàò çàãóáåíè, àêî êîìïþòúðúò âíåçàïíî ñå èçêëþ÷è. Çà äà âè | 736 | ìîãàò äà áúäàò çàãóáåíè, àêî êîìïþòúðúò âíåçàïíî ñå èçêëþ÷è. Çà äà âè |
| 738 | ïðåäïàçè îò òàêèâà ñèòóàöèè, Åìàêñ ïåðèîäè÷íî çàïàçâà "àâòîìàòè÷íî | 737 | ïðåäïàçè îò òàêèâà ñèòóàöèè, Emacs ïåðèîäè÷íî çàïàçâà "àâòîìàòè÷íî |
| 739 | çàïàçâàí" ôàéë çà âñåêè ôàéë, êîéòî ðåäàêòèðàòå. Èìåòî íà àâòîìàòè÷íî | 738 | çàïàçâàí" ôàéë çà âñåêè ôàéë, êîéòî ðåäàêòèðàòå. Èìåòî íà àâòîìàòè÷íî |
| 740 | çàïàçâàíèÿ ôàéë èìà # â íà÷àëîòî è â êðàÿ; íàïðèìåð, àêî âàøèÿò ôàéë å | 739 | çàïàçâàíèÿ ôàéë èìà # â íà÷àëîòî è â êðàÿ; íàïðèìåð, àêî âàøèÿò ôàéë å |
| 741 | ñ èìå "hello.c", èìåòî íà íåãîâèÿ àâòîìàòè÷íî çàïàçâàí ôàéë ùå áúäå | 740 | ñ èìå "hello.c", èìåòî íà íåãîâèÿ àâòîìàòè÷íî çàïàçâàí ôàéë ùå áúäå |
| 742 | "#hello.c#". Êîãàòî çàïàçâàòå ôàéë ïî îáèêíîâåíèÿ íà÷èí, Åìàêñ | 741 | "#hello.c#". Êîãàòî çàïàçâàòå ôàéë ïî îáèêíîâåíèÿ íà÷èí, Emacs |
| 743 | èçòðèâà íåãîâèÿ àâòîìàòè÷íî çàïèñâàí ôàéë. | 742 | èçòðèâà íåãîâèÿ àâòîìàòè÷íî çàïèñâàí ôàéë. |
| 744 | 743 | ||
| 745 | Àêî êîìïþòúðúò çàâèñíå, ìîæå äà âúçñòàíîâèòå âàøàòà àâòîìàòè÷íî | 744 | Àêî êîìïþòúðúò çàâèñíå, ìîæå äà âúçñòàíîâèòå âàøàòà àâòîìàòè÷íî |
| @@ -753,7 +752,7 @@ M-x recover file<Return>. Êîãàòî êîìàíäàòà èçèñêà ïîòâúðæäåíèå, | |||
| 753 | * ÅÕÎ ÎÁËÀÑÒÒÀ | 752 | * ÅÕÎ ÎÁËÀÑÒÒÀ |
| 754 | -------------- | 753 | -------------- |
| 755 | 754 | ||
| 756 | Àêî Åìàêñ âèäè, ÷å âúâåæäàòå ìíîãîçíàêîâè êîìàíäè áàâíî, ùå âè ãè | 755 | Àêî Emacs âèäè, ÷å âúâåæäàòå ìíîãîçíàêîâè êîìàíäè áàâíî, ùå âè ãè |
| 757 | ïîêàæå â äúíîòî íà åêðàíà, â îáëàñò, íàðè÷àíà "åõî îáëàñò". Åõî | 756 | ïîêàæå â äúíîòî íà åêðàíà, â îáëàñò, íàðè÷àíà "åõî îáëàñò". Åõî |
| 758 | îáëàñòòà îáõâàùà ïîñëåäíèÿ ðåä îò åêðàíà. | 757 | îáëàñòòà îáõâàùà ïîñëåäíèÿ ðåä îò åêðàíà. |
| 759 | 758 | ||
| @@ -764,18 +763,18 @@ M-x recover file<Return>. Êîãàòî êîìàíäàòà èçèñêà ïîòâúðæäåíèå, | |||
| 764 | Ðåäúò òî÷íî íàä åõî îáëàñòòà ñå íàðè÷à "ðåä íà ðåæèìà" (mode line). | 763 | Ðåäúò òî÷íî íàä åõî îáëàñòòà ñå íàðè÷à "ðåä íà ðåæèìà" (mode line). |
| 765 | Òîé ïîêàçâà íåùî êàòî: | 764 | Òîé ïîêàçâà íåùî êàòî: |
| 766 | 765 | ||
| 767 | -R:** TUTORIAL.bg (Fundamental)--L670--58%---------------- | 766 | -D:** TUTORIAL.bg 63% L749 (Fundamental)--------------------- |
| 768 | 767 | ||
| 769 | Òîçè ðåä äàâà ïîëåçíà èíôîðìàöèÿ çà ñúñòîÿíèåòî íà Åìàêñ è òåêñòà, | 768 | Òîçè ðåä äàâà ïîëåçíà èíôîðìàöèÿ çà ñúñòîÿíèåòî íà Emacs è òåêñòà, |
| 770 | êîéòî ðåäàêòèðàòå. | 769 | êîéòî ðåäàêòèðàòå. |
| 771 | 770 | ||
| 772 | Âå÷å çíàåòå êàêâî îçíà÷àâà èìåòî íà ôàéëà -- òîâà å ôàéëúò, êîéòî ñòå | 771 | Âå÷å çíàåòå êàêâî îçíà÷àâà èìåòî íà ôàéëà -- òîâà å ôàéëúò, êîéòî ñòå |
| 773 | íàìåðèëè. -NN%-- ïîêàçâà âàøàòà òåêóùà ïîçèöèÿ â òåêñòà; òîâà | 772 | íàìåðèëè. NN% ïîêàçâà âàøàòà òåêóùà ïîçèöèÿ â òåêñòà; òîâà îçíà÷àâà, |
| 774 | îçíà÷àâà, ÷å NN ïðîöåíòà îò òåêñòà å íàä âúðõà íà åêðàíà. Àêî | 773 | ÷å NN ïðîöåíòà îò òåêñòà å íàä âúðõà íà åêðàíà. Àêî íà÷àëîòî íà ôàéëà |
| 775 | íà÷àëîòî íà ôàéëà å íà åêðàíà, ùå ñå ïîêàçâà --Top-- (âðúõ) âìåñòî | 774 | å íà åêðàíà, ùå ñå ïîêàçâà --Top-- (âðúõ) âìåñòî --00%--. Àêî êðàÿò |
| 776 | --00%--. Àêî êðàÿ íà ôàéëà å íà åêðàíà, ùå ñå ïîêàçâà --Bot-- (äúíî). | 775 | íà ôàéëà å íà åêðàíà, ùå ñå ïîêàçâà --Bot-- (äúíî). Àêî ãëåäàòå |
| 777 | Àêî ãëåäàòå òåêñò, êîéòî å òîëêîâà ìàëúê, ÷å ñå ïîêàçâà èçöÿëî íà | 776 | òåêñò, êîéòî å òîëêîâà ìàëúê, ÷å ñå ïîêàçâà èçöÿëî íà åêðàíà, ðåäúò íà |
| 778 | åêðàíà, ðåäúò íà ðåæèìà ùå èçâåäå --All--. | 777 | ðåæèìà ùå èçâåäå --All--. |
| 779 | 778 | ||
| 780 | Çíàêúò L è öèôðèòå ïîêàçâàò ìÿñòîòî ïî äðóã íà÷èí: òîâà å íîìåðúò íà | 779 | Çíàêúò L è öèôðèòå ïîêàçâàò ìÿñòîòî ïî äðóã íà÷èí: òîâà å íîìåðúò íà |
| 781 | òåêóùèÿ ðåä íà òî÷êàòà. | 780 | òåêóùèÿ ðåä íà òî÷êàòà. |
| @@ -789,7 +788,7 @@ M-x recover file<Return>. Êîãàòî êîìàíäàòà èçèñêà ïîòâúðæäåíèå, | |||
| 789 | Fundamental (Îñíîâåí), êîéòî èçïîëçâàòå â ìîìåíòà. Òîâà å ïðèìåð çà | 788 | Fundamental (Îñíîâåí), êîéòî èçïîëçâàòå â ìîìåíòà. Òîâà å ïðèìåð çà |
| 790 | "ãëàâåí ðåæèì" (major mode). | 789 | "ãëàâåí ðåæèì" (major mode). |
| 791 | 790 | ||
| 792 | Åìàêñ èìà ìíîãî ãëàâíè ðåæèìè. Íÿêîè îò òÿõ ñà ïðåäâèäåíè çà | 791 | Emacs èìà ìíîãî ãëàâíè ðåæèìè. Íÿêîè îò òÿõ ñà ïðåäâèäåíè çà |
| 793 | ðåäàêòèðàíå íà ðàçëè÷íè åçèöè è/èëè âèäîâå òåêñò, êàòî íàïðèìåð ðåæèì | 792 | ðåäàêòèðàíå íà ðàçëè÷íè åçèöè è/èëè âèäîâå òåêñò, êàòî íàïðèìåð ðåæèì |
| 794 | Ëèñï, ðåæèì Òåêñò è äðóãè. Âúâ âñåêè åäèí ìîìåíò îò âðåìå òî÷íî åäèí | 793 | Ëèñï, ðåæèì Òåêñò è äðóãè. Âúâ âñåêè åäèí ìîìåíò îò âðåìå òî÷íî åäèí |
| 795 | ãëàâåí ðåæèì å àêòèâåí è íåãîâîòî èìå ìîæå âèíàãè äà áúäå íàìåðåíî â | 794 | ãëàâåí ðåæèì å àêòèâåí è íåãîâîòî èìå ìîæå âèíàãè äà áúäå íàìåðåíî â |
| @@ -808,7 +807,7 @@ Fundamental (Îñíîâåí), êîéòî èçïîëçâàòå â ìîìåíòà. Òîâà å ïðèìåð çà | |||
| 808 | 807 | ||
| 809 | >> Âúâåäåòå M-x text mode<Return>. | 808 | >> Âúâåäåòå M-x text mode<Return>. |
| 810 | 809 | ||
| 811 | Íå ñå áåçïîêîéòå, íèêîÿ îò Åìàêñ êîìàíäèòå, êîèòî ñòå íàó÷èëè, íÿìà äà | 810 | Íå ñå áåçïîêîéòå, íèêîÿ îò Emacs êîìàíäèòå, êîèòî ñòå íàó÷èëè, íÿìà äà |
| 812 | ñå ïðîìåíè ïî íÿêàêúâ ñúùåñòâåí íà÷èí. Íî ìîæå äà çàáåëåæèòå, ÷å M-f | 811 | ñå ïðîìåíè ïî íÿêàêúâ ñúùåñòâåí íà÷èí. Íî ìîæå äà çàáåëåæèòå, ÷å M-f |
| 813 | è M-b ñåãà âúçïðèåìàò àïîñòðîôèòå (') êàòî ÷àñò îò äóìèòå. Ïðåäè | 812 | è M-b ñåãà âúçïðèåìàò àïîñòðîôèòå (') êàòî ÷àñò îò äóìèòå. Ïðåäè |
| 814 | òîâà, â îñíîâíèÿ ðåæèì (Fundamental), M-f è M-b ñå âúçïðèåìàõà êàòî | 813 | òîâà, â îñíîâíèÿ ðåæèì (Fundamental), M-f è M-b ñå âúçïðèåìàõà êàòî |
| @@ -837,7 +836,7 @@ m. | |||
| 837 | 836 | ||
| 838 | Åäèí ãëàâåí ðåæèì, êîéòî å ìíîãî ïîëåçåí, îñîáåíî çà ðåäàêòèðàíå íà | 837 | Åäèí ãëàâåí ðåæèì, êîéòî å ìíîãî ïîëåçåí, îñîáåíî çà ðåäàêòèðàíå íà |
| 839 | òåêñò íà åñòåñòâåí åçèê, å ðåæèìúò íà àâòîìàòè÷íî çàïúëâàíå (Auto Fill | 838 | òåêñò íà åñòåñòâåí åçèê, å ðåæèìúò íà àâòîìàòè÷íî çàïúëâàíå (Auto Fill |
| 840 | mode). Êîãàòî òîçè ðåæèì å âêëþ÷åí, Åìàêñ àâòîìàòè÷íî ðàçäåëÿ ðåäà | 839 | mode). Êîãàòî òîçè ðåæèì å âêëþ÷åí, Emacs àâòîìàòè÷íî ðàçäåëÿ ðåäà |
| 841 | ïðè ìÿñòîòî ìåæäó äóìèòå, êîãàòî âìúêâàòå òåêñò è íàïðàâèòå ðåä, êîéòî | 840 | ïðè ìÿñòîòî ìåæäó äóìèòå, êîãàòî âìúêâàòå òåêñò è íàïðàâèòå ðåä, êîéòî |
| 842 | å òâúðäå äúëúã. | 841 | å òâúðäå äúëúã. |
| 843 | 842 | ||
| @@ -857,7 +856,7 @@ auto fill mode<Return>. Êîãàòî ðåæèìúò å âêëþ÷åí, ìîæå äà ãî | |||
| 857 | àðãóìåíò íà êîìàíäàòà. | 856 | àðãóìåíò íà êîìàíäàòà. |
| 858 | 857 | ||
| 859 | >> Âúâåäåòå C-x f ñ àðãóìåíò 20. (C-u 2 0 C-x f). | 858 | >> Âúâåäåòå C-x f ñ àðãóìåíò 20. (C-u 2 0 C-x f). |
| 860 | Ñåãà âúâåäåòå íÿêàêúâ òåêñò è âèæòå êàê Åìàêñ çàïúëâà ðåäîâåòå ñ ïî | 859 | Ñåãà âúâåäåòå íÿêàêúâ òåêñò è âèæòå êàê Emacs çàïúëâà ðåäîâåòå ñ ïî |
| 861 | íå ïîâå÷å îò 20 çíàêà. Ïîñëå âúðíåòå îáðàòíî ãðàíèöàòà íà 70, | 860 | íå ïîâå÷å îò 20 çíàêà. Ïîñëå âúðíåòå îáðàòíî ãðàíèöàòà íà 70, |
| 862 | èçïîëçâàéêè C-x f îòíîâî. | 861 | èçïîëçâàéêè C-x f îòíîâî. |
| 863 | 862 | ||
| @@ -872,12 +871,12 @@ auto fill mode<Return>. Êîãàòî ðåæèìúò å âêëþ÷åí, ìîæå äà ãî | |||
| 872 | * ÒÚÐÑÅÍÅ | 871 | * ÒÚÐÑÅÍÅ |
| 873 | --------- | 872 | --------- |
| 874 | 873 | ||
| 875 | Åìàêñ ìîæå äà èçâúðøâà òúðñåíèÿ íà íèçîâå (òîâà ñà ïîñëåäîâàòåëíîñòè | 874 | Emacs ìîæå äà èçâúðøâà òúðñåíèÿ íà íèçîâå (òîâà ñà ïîñëåäîâàòåëíîñòè |
| 876 | îò çíàöè èëè äóìè) èëè íàïðåä â òåêñòà, èëè íàçàä â íåãî. Òúðñåíåòî | 875 | îò çíàöè èëè äóìè) èëè íàïðåä â òåêñòà, èëè íàçàä â íåãî. Òúðñåíåòî |
| 877 | íà íèç å ïðèäâèæâàùà êóðñîðà êîìàíäà; òÿ ïðåìåñòâà êóðñîðà íà | 876 | íà íèç å ïðèäâèæâàùà êóðñîðà êîìàíäà; òÿ ïðåìåñòâà êóðñîðà íà |
| 878 | ñëåäâàùîòî ìÿñòî, êúäåòî ñå ñðåùà íèçúò. | 877 | ñëåäâàùîòî ìÿñòî, êúäåòî ñå ñðåùà íèçúò. |
| 879 | 878 | ||
| 880 | Êîìàíäàòà çà òúðñåíå íà Åìàêñ ñå ðàçëè÷àâà îò êîìàíäàòà çà òúðñåíå íà | 879 | Êîìàíäàòà çà òúðñåíå íà Emacs ñå ðàçëè÷àâà îò êîìàíäàòà çà òúðñåíå íà |
| 881 | ïîâå÷åòî ðåäàêòîðè ïî òîâà, ÷å òÿ å "ïîñòúïêîâà". Òîâà îçíà÷àâà, ÷å | 880 | ïîâå÷åòî ðåäàêòîðè ïî òîâà, ÷å òÿ å "ïîñòúïêîâà". Òîâà îçíà÷àâà, ÷å |
| 882 | òúðñåíåòî ñå èçâúðøâà îùå äîêàòî âúâåæäàòå òåêñòà, êîéòî òúðñèòå. | 881 | òúðñåíåòî ñå èçâúðøâà îùå äîêàòî âúâåæäàòå òåêñòà, êîéòî òúðñèòå. |
| 883 | 882 | ||
| @@ -885,7 +884,7 @@ auto fill mode<Return>. Êîãàòî ðåæèìúò å âêëþ÷åí, ìîæå äà ãî | |||
| 885 | òúðñåíå íàçàä. ÍÎ ÏÎ×ÀÊÀÉÒÅ! Íå ãè ïðîáâàéòå ñåãà. | 884 | òúðñåíå íàçàä. ÍÎ ÏÎ×ÀÊÀÉÒÅ! Íå ãè ïðîáâàéòå ñåãà. |
| 886 | 885 | ||
| 887 | Êîãàòî âúâåäåòå C-s, ùå çàáåëåæèòå, ÷å íèçúò "I-search" ñå ïîÿâÿâà | 886 | Êîãàòî âúâåäåòå C-s, ùå çàáåëåæèòå, ÷å íèçúò "I-search" ñå ïîÿâÿâà |
| 888 | êàòî ïîäñêàçêà â åõî îáëàñòòà. Òîâà âè êàçâà, ÷å Åìàêñ å â òîâà, | 887 | êàòî ïîäñêàçêà â åõî îáëàñòòà. Òîâà âè êàçâà, ÷å Emacs å â òîâà, |
| 889 | êîåòî ñå íàðè÷à ïîñòúïêîâî òúðñåíå, ÷àêàéêè âè äà âúâåæäàòå òåêñòà, | 888 | êîåòî ñå íàðè÷à ïîñòúïêîâî òúðñåíå, ÷àêàéêè âè äà âúâåæäàòå òåêñòà, |
| 890 | êîéòî èñêàòå äà òúðñèòå. <Return> ïðèêëþ÷âà òúðñåíåòî. | 889 | êîéòî èñêàòå äà òúðñèòå. <Return> ïðèêëþ÷âà òúðñåíåòî. |
| 891 | 890 | ||
| @@ -897,19 +896,19 @@ auto fill mode<Return>. Êîãàòî ðåæèìúò å âêëþ÷åí, ìîæå äà ãî | |||
| 897 | >> Ñåãà âúâåäåòå <Delback> òðè ïúòè è âèæòå êàê ñå ïðèäâèæâà êóðñîðà. | 896 | >> Ñåãà âúâåäåòå <Delback> òðè ïúòè è âèæòå êàê ñå ïðèäâèæâà êóðñîðà. |
| 898 | >> Âúâåäåòå <Return>, çà äà ïðåêðàòèòå òúðñåíåòî. | 897 | >> Âúâåäåòå <Return>, çà äà ïðåêðàòèòå òúðñåíåòî. |
| 899 | 898 | ||
| 900 | Çàáåëÿçàõòå ëè êàêâî ñòàíà? Åìàêñ, êîãàòî òúðñè ïîñòúïêîâî, ñå îïèòâà | 899 | Çàáåëÿçàõòå ëè êàêâî ñòàíà? Emacs, êîãàòî òúðñè ïîñòúïêîâî, ñå îïèòâà |
| 901 | äà íàìåðè ñëåäâàùîòî ñúâïàäåíèå íà íèçà, êîéòî ñå âúâåæäà. Çà äà | 900 | äà íàìåðè ñëåäâàùîòî ñúâïàäåíèå íà íèçà, êîéòî ñå âúâåæäà. Çà äà |
| 902 | îòèäåòå íà ñëåäâàùîòî ñúâïàäåíèå íà "òúðñíå", ïðîñòî îòíîâî âúâåäåòå | 901 | îòèäåòå íà ñëåäâàùîòî ñúâïàäåíèå íà "òúðñíå", ïðîñòî îòíîâî âúâåäåòå |
| 903 | C-s. Àêî íÿìà òàêîâà ñúâïàäåíèå, Åìàêñ áèáèïâà è âè êàçâà, ÷å | 902 | C-s. Àêî íÿìà òàêîâà ñúâïàäåíèå, Emacs áèáèïâà è âè êàçâà, ÷å |
| 904 | òúðñåíåòî å "ïðîâàëåíî" (failing). C-g ñúùî ïðåêðàòÿâà òúðñåíåòî. | 903 | òúðñåíåòî å "ïðîâàëåíî" (failing). C-g ñúùî ïðåêðàòÿâà òúðñåíåòî. |
| 905 | 904 | ||
| 906 | ÇÀÁÅËÅÆÊÀ: Íà íÿêîè ñèñòåìè âúâåæäàíåòî íà C-s ùå çàìðàçè åêðàíà è âèå | 905 | ÇÀÁÅËÅÆÊÀ: Íà íÿêîè ñèñòåìè âúâåæäàíåòî íà C-s ùå çàìðàçè åêðàíà è âèå |
| 907 | íÿìà äà ìîæå äà âèäèòå ïîâå÷å ðåàêöèÿ îò Åìàêñ. Òîâà ïîêàçâà, ÷å | 906 | íÿìà äà ìîæå äà âèäèòå ïîâå÷å ðåàêöèÿ îò Emacs. Òîâà ïîêàçâà, ÷å |
| 908 | "ñïîñîáíîñò" íà îïåðàöèîííàòà ñèñòåìà, íàðå÷åíà "óïðàâëåíèå íà ïîòîêà" | 907 | "ñïîñîáíîñò" íà îïåðàöèîííàòà ñèñòåìà, íàðå÷åíà "óïðàâëåíèå íà ïîòîêà" |
| 909 | (flow control), å ïðèõâàíàëà C-s è íå ãî ïðîïóñêà äî Åìàêñ. Çà äà | 908 | (flow control), å ïðèõâàíàëà C-s è íå ãî ïðîïóñêà äî Emacs. Çà äà |
| 910 | ðàçìðàçèòå åêðàíà, âúâåäåòå C-q. Òîãàâà âèæòå ñåêöèÿòà "Ñïîíòàííî | 909 | ðàçìðàçèòå åêðàíà, âúâåäåòå C-q. Òîãàâà âèæòå ñåêöèÿòà "Ñïîíòàííî |
| 911 | âêëþ÷âàíå íà ïîñòúïêîâîòî òúðñåíå" (Spontaneous Entry to Incremental | 910 | âêëþ÷âàíå íà ïîñòúïêîâîòî òúðñåíå" (Spontaneous Entry to Incremental |
| 912 | Search) â ðúêîâîäñòâîòî íà Åìàêñ çà ñúâåò êàê äà ñå ñïðàâèòå ñ òàçè | 911 | Search) â ðúêîâîäñòâîòî íà Emacs çà ñúâåò êàê äà ñå ñïðàâèòå ñ òàçè |
| 913 | "ñïîñîáíîñò". | 912 | "ñïîñîáíîñò". |
| 914 | 913 | ||
| 915 | Àêî ñòå â ñðåäàòà íà ïîñòúïêîâî òúðñåíå è âúâåäåòå <Delback>, ùå | 914 | Àêî ñòå â ñðåäàòà íà ïîñòúïêîâî òúðñåíå è âúâåäåòå <Delback>, ùå |
| @@ -931,9 +930,9 @@ C-s çàïî÷âà òúðñåíå, êîåòî ãëåäà çà ñúâïàäåíèå ñ íèçà, äàäåí çà | |||
| 931 | 930 | ||
| 932 | 931 | ||
| 933 | * ÌÍÎÆÅÑÒÂÎ ÏÐÎÇÎÐÖÈ | 932 | * ÌÍÎÆÅÑÒÂÎ ÏÐÎÇÎÐÖÈ |
| 934 | ---------------- | 933 | -------------------- |
| 935 | 934 | ||
| 936 | Åäíà îò ïðèâëåêàòåëíèòå ñïîñîáíîñòè íà Åìàêñ å òàçè, ÷å ìîæå äà | 935 | Åäíà îò ïðèâëåêàòåëíèòå ñïîñîáíîñòè íà Emacs å òàçè, ÷å ìîæå äà |
| 937 | ãëåäàòå ïîâå÷å îò åäèí ïðîçîðåö íà åêðàíà â äàäåí ìîìåíò îò âðåìå. | 936 | ãëåäàòå ïîâå÷å îò åäèí ïðîçîðåö íà åêðàíà â äàäåí ìîìåíò îò âðåìå. |
| 938 | 937 | ||
| 939 | >> Ïðèäâèæåòå êóðñîðà äî òîçè ðåä è âúâåäåòå C-u 0 C-l (òîâà å | 938 | >> Ïðèäâèæåòå êóðñîðà äî òîçè ðåä è âúâåäåòå C-u 0 C-l (òîâà å |
| @@ -944,7 +943,7 @@ C-s çàïî÷âà òúðñåíå, êîåòî ãëåäà çà ñúâïàäåíèå ñ íèçà, äàäåí çà | |||
| 944 | îñòàâà íà ïî-ãîðíèÿ ïðîçîðåö. | 943 | îñòàâà íà ïî-ãîðíèÿ ïðîçîðåö. |
| 945 | 944 | ||
| 946 | >> Âúâåäåòå C-M-v, çà äà ñêðîëèðàòå äîëíèÿ ïðîçîðåö. (Àêî íÿìàòå | 945 | >> Âúâåäåòå C-M-v, çà äà ñêðîëèðàòå äîëíèÿ ïðîçîðåö. (Àêî íÿìàòå |
| 947 | èñòèíñêè êëàâèø META, âúâåäåòå ESC C-v.) | 946 | èñòèíñêè êëàâèø META, âúâåäåòå <ESC> C-v.) |
| 948 | 947 | ||
| 949 | >> Âúâåäåòå C-x o ("o" îò "other" -- "äðóã"), çà äà ïðèäâèæèòå | 948 | >> Âúâåäåòå C-x o ("o" îò "other" -- "äðóã"), çà äà ïðèäâèæèòå |
| 950 | êóðñîðà â äîëíèÿ ïðîçîðåö. | 949 | êóðñîðà â äîëíèÿ ïðîçîðåö. |
| @@ -973,10 +972,10 @@ C-M-v å ïðèìåð çà çíàê CONTROL-META. Àêî èìàòå èñòèíñêè êëàâèø META, | |||
| 973 | ïúðâè", çàùîòî è äâàòà êëàâèøà äåéñòâàò, ìîäèôèöèðàéêè çíàêà, êîéòî | 972 | ïúðâè", çàùîòî è äâàòà êëàâèøà äåéñòâàò, ìîäèôèöèðàéêè çíàêà, êîéòî |
| 974 | ñòå âúâåëè. | 973 | ñòå âúâåëè. |
| 975 | 974 | ||
| 976 | Àêî íÿìàòå èñòèíñêè êëàâèø META è èçïîëçâàòå ESC âìåñòî òîâà, ðåäúò | 975 | Àêî íÿìàòå èñòèíñêè êëàâèø META è èçïîëçâàòå <ESC> âìåñòî òîâà, ðåäúò |
| 977 | èìà çíà÷åíèå: òðÿáâà äà âúâåæäàòå ESC, ïîñëåäâàí îò CONTROL-v, çàùîòî | 976 | èìà çíà÷åíèå: òðÿáâà äà âúâåæäàòå <ESC>, ïîñëåäâàí îò CONTROL-v, |
| 978 | CONTROL-ESC v íÿìà äà ðàáîòè. Òîâà å òàêà, çàùîòî ESC å ñîáñòâåí | 977 | çàùîòî CONTROL-<ESC> v íÿìà äà ðàáîòè. Òîâà å òàêà, çàùîòî <ESC> å |
| 979 | çíàê, à íå ìîäèôèêàòîð. | 978 | ñîáñòâåí çíàê, à íå ìîäèôèêàòîð. |
| 980 | 979 | ||
| 981 | >> Âúâåäåòå C-x 1 (â ãîðíèÿ ïðîçîðåö), çà äà ìàõíåòå äîëíèÿ ïðîçîðåö. | 980 | >> Âúâåäåòå C-x 1 (â ãîðíèÿ ïðîçîðåö), çà äà ìàõíåòå äîëíèÿ ïðîçîðåö. |
| 982 | 981 | ||
| @@ -1009,13 +1008,13 @@ CONTROL-ESC v íÿìà äà ðàáîòè. Òîâà å òàêà, çàùîòî ESC å ñîáñòâåí | |||
| 1009 | íà ãëàâíèÿ ðåæèì. Íàïðèìåð, ìîæå äà âèäèòå [(Fundamental)] âìåñòî | 1008 | íà ãëàâíèÿ ðåæèì. Íàïðèìåð, ìîæå äà âèäèòå [(Fundamental)] âìåñòî |
| 1010 | (Fundamental). | 1009 | (Fundamental). |
| 1011 | 1010 | ||
| 1012 | Çà äà ñå ìàõíåòå îò âëîæåíîòî íèâî íà ðåäàêòèðàíå, âúâåäåòå ESC ESC | 1011 | Çà äà ñå ìàõíåòå îò âëîæåíîòî íèâî íà ðåäàêòèðàíå, âúâåäåòå <ESC> |
| 1013 | ESC. Òîâà å îáùà êîìàíäà çà "èçëèçàíå". Ìîæå è äà ÿ èçïîëçâàòå çà | 1012 | <ESC> <ESC>. Òîâà å îáùà êîìàíäà çà "èçëèçàíå". Ìîæå è äà ÿ |
| 1014 | ìàõàíå (ñêðèâàíå) íà äîïúëíèòåëíè ïðîçîðöè, êàêòî è çà äà ñå ìàõíåòå | 1013 | èçïîëçâàòå çà ìàõàíå (ñêðèâàíå) íà äîïúëíèòåëíè ïðîçîðöè, êàêòî è çà |
| 1015 | îò ìèíèáóôåðà. | 1014 | äà ñå ìàõíåòå îò ìèíèáóôåðà. |
| 1016 | 1015 | ||
| 1017 | >> Âúâåäåòå M-x, çà äà âëåçåòå â ìèíèáóôåð; òîãàâà âúâåäåòå ESC ESC | 1016 | >> Âúâåäåòå M-x, çà äà âëåçåòå â ìèíèáóôåð; òîãàâà âúâåäåòå <ESC> <ESC> |
| 1018 | ESC, çà äà èçëåçåòå. | 1017 | <ESC>, çà äà èçëåçåòå. |
| 1019 | 1018 | ||
| 1020 | Íå ìîæåòå äà èçïîëçâàòå C-g, çà äà èçëåçåòå îò âëîæåíî íèâî íà | 1019 | Íå ìîæåòå äà èçïîëçâàòå C-g, çà äà èçëåçåòå îò âëîæåíî íèâî íà |
| 1021 | ðåäàêòèðàíå. Òîâà å òàêà, çàùîòî C-g ñå èçïîëçâà çà ïðåêðàòÿâàíå íà | 1020 | ðåäàêòèðàíå. Òîâà å òàêà, çàùîòî C-g ñå èçïîëçâà çà ïðåêðàòÿâàíå íà |
| @@ -1026,16 +1025,16 @@ ESC. Òîâà å îáùà êîìàíäà çà "èçëèçàíå". Ìîæå è äà ÿ èçïîëçâàòå çà | |||
| 1026 | ---------------------------------- | 1025 | ---------------------------------- |
| 1027 | 1026 | ||
| 1028 |  òîâà âúâåäåíèå ñå îïèòàõìå äà îñèãóðèì äîñòàòú÷íî èíôîðìàöèÿ, çà äà | 1027 |  òîâà âúâåäåíèå ñå îïèòàõìå äà îñèãóðèì äîñòàòú÷íî èíôîðìàöèÿ, çà äà |
| 1029 | çàïî÷íåòå äà èçïîëçâàòå Åìàêñ. Èìà òîëêîâà ìíîãî îùå â Åìàêñ, ÷å íå å | 1028 | çàïî÷íåòå äà èçïîëçâàòå Emacs. Èìà òîëêîâà ìíîãî îùå â Emacs, ÷å íå å |
| 1030 | âúçìîæíî òî äà áúäå îáÿñíåíî âñè÷êîòî òóê. Îáà÷å ìîæå äà ïîèñêàòå äà | 1029 | âúçìîæíî òî äà áúäå îáÿñíåíî âñè÷êîòî òóê. Îáà÷å ìîæå äà ïîèñêàòå äà |
| 1031 | íàó÷èòå ïîâå÷å çà Åìàêñ, òúé êàòî òîé ïðèòåæàâà îùå ìíîãî ïîëåçíè | 1030 | íàó÷èòå ïîâå÷å çà Emacs, òúé êàòî òîé ïðèòåæàâà îùå ìíîãî ïîëåçíè |
| 1032 | ñïîñîáíîñòè. Åìàêñ èìà êîìàíäè çà ÷åòåíå íà äîêóìåíòàöèÿòà íà Åìàêñ | 1031 | ñïîñîáíîñòè. Emacs èìà êîìàíäè çà ÷åòåíå íà äîêóìåíòàöèÿòà íà Emacs |
| 1033 | êîìàíäèòå. Òåçè "ïîìîùíè" êîìàíäè âñè÷êè çàïî÷âàò ñúñ çíàêà | 1032 | êîìàíäèòå. Òåçè "ïîìîùíè" êîìàíäè âñè÷êè çàïî÷âàò ñúñ çíàêà |
| 1034 | CONTROL-h, êîéòî ñå íàðè÷à "çíàêúò çà ïîìîù". | 1033 | CONTROL-h, êîéòî ñå íàðè÷à "çíàêúò çà ïîìîù". |
| 1035 | 1034 | ||
| 1036 | Çà äà èçïîëçâàòå âúçìîæíîñòèòå íà òàçè ïîìîù, âúâåäåòå çíàêà C-h è | 1035 | Çà äà èçïîëçâàòå âúçìîæíîñòèòå íà òàçè ïîìîù, âúâåäåòå çíàêà C-h è |
| 1037 | ñëåä òîâà çíàêà, êàçâàù êàêúâ âèä ïîìîù èñêàòå. Àêî ÍÀÈÑÒÈÍÀ ñòå ñå | 1036 | ñëåä òîâà çíàêà, êàçâàù êàêúâ âèä ïîìîù èñêàòå. Àêî ÍÀÈÑÒÈÍÀ ñòå ñå |
| 1038 | èçãóáèëè, âúâåäåòå C-h ? è Åìàêñ ùå âè êàæå ñ êàêâî ìîæå äà âè | 1037 | èçãóáèëè, âúâåäåòå C-h ? è Emacs ùå âè êàæå ñ êàêâî ìîæå äà âè |
| 1039 | ïîìîãíå. Àêî ñòå âúâåëè C-h è ðåøèòå, ÷å íå ñå íóæäàåòå îò ïîìîù, | 1038 | ïîìîãíå. Àêî ñòå âúâåëè C-h è ðåøèòå, ÷å íå ñå íóæäàåòå îò ïîìîù, |
| 1040 | ïðîñòî âúâåäåòå C-g, çà äà ÿ ïðåêðàòèòå. | 1039 | ïðîñòî âúâåäåòå C-g, çà äà ÿ ïðåêðàòèòå. |
| 1041 | 1040 | ||
| @@ -1047,7 +1046,7 @@ CONTROL-h, êîéòî ñå íàðè÷à "çíàêúò çà ïîìîù". | |||
| 1047 | 1046 | ||
| 1048 | Íàé-îñíîâíîòî ïîìîùíî ñðåäñòâî å C-h c. Âúâåäåòå C-h, çíàêà c è | 1047 | Íàé-îñíîâíîòî ïîìîùíî ñðåäñòâî å C-h c. Âúâåäåòå C-h, çíàêà c è |
| 1049 | êîìàíäåí çíàê èëè ïîñëåäîâàòåëíîñò îò çíàöè, îáðàçóâàùè êîìàíäà; | 1048 | êîìàíäåí çíàê èëè ïîñëåäîâàòåëíîñò îò çíàöè, îáðàçóâàùè êîìàíäà; |
| 1050 | òîãàâà Åìàêñ ùå èçâåäå ìíîãî êðàòêî îïèñàíèå íà êîìàíäàòà. | 1049 | òîãàâà Emacs ùå èçâåäå ìíîãî êðàòêî îïèñàíèå íà êîìàíäàòà. |
| 1051 | 1050 | ||
| 1052 | >> Type C-h c C-p. | 1051 | >> Type C-h c C-p. |
| 1053 | 1052 | ||
| @@ -1057,7 +1056,7 @@ CONTROL-h, êîéòî ñå íàðè÷à "çíàêúò çà ïîìîù". | |||
| 1057 | (C-p èçïúëíÿâà êîìàíäàòà ïðåäèøåí-ðåä) | 1056 | (C-p èçïúëíÿâà êîìàíäàòà ïðåäèøåí-ðåä) |
| 1058 | 1057 | ||
| 1059 | Òîâà âè êàçâà "èìåòî íà ôóíêöèÿòà". Èìåíàòà íà ôóíêöèèòå ñå èçïîëçâàò | 1058 | Òîâà âè êàçâà "èìåòî íà ôóíêöèÿòà". Èìåíàòà íà ôóíêöèèòå ñå èçïîëçâàò |
| 1060 | íàé-âå÷å çà íàñòðîéâàíå è ðàçøèðÿâàíå íà Åìàêñ. Íî òúé êàòî èìåíàòà | 1059 | íàé-âå÷å çà íàñòðîéâàíå è ðàçøèðÿâàíå íà Emacs. Íî òúé êàòî èìåíàòà |
| 1061 | íà ôóíêöèèòå ñà èçáðàíè òàêà, ÷å äà ïîêàçâàò êàêâî ïðàâè êîìàíäàòà, òå | 1060 | íà ôóíêöèèòå ñà èçáðàíè òàêà, ÷å äà ïîêàçâàò êàêâî ïðàâè êîìàíäàòà, òå |
| 1062 | ìîãàò äà ñëóæàò è çà ìíîãî êðàòêà äîêóìåíòàöèÿ -- äîñòàòú÷íà, çà äà âè | 1061 | ìîãàò äà ñëóæàò è çà ìíîãî êðàòêà äîêóìåíòàöèÿ -- äîñòàòú÷íà, çà äà âè |
| 1063 | ïðèïîìíè êîìàíäè, êîèòî âå÷å ñòå ó÷èëè. | 1062 | ïðèïîìíè êîìàíäè, êîèòî âå÷å ñòå ó÷èëè. |
| @@ -1071,7 +1070,7 @@ c. | |||
| 1071 | >> Âúâåäåòå C-h k C-p. | 1070 | >> Âúâåäåòå C-h k C-p. |
| 1072 | 1071 | ||
| 1073 | Òîâà èçâåæäà äîêóìåíòàöèÿòà íà ôóíêöèÿòà, êàêòî è íåéíîòî èìå, â | 1072 | Òîâà èçâåæäà äîêóìåíòàöèÿòà íà ôóíêöèÿòà, êàêòî è íåéíîòî èìå, â |
| 1074 | îòäåëåí Åìàêñ ïðîçîðåö. Êîãàòî ÿ ïðî÷åòåòå, âúâåäåòå C-x 1, çà äà | 1073 | îòäåëåí Emacs ïðîçîðåö. Êîãàòî ÿ ïðî÷åòåòå, âúâåäåòå C-x 1, çà äà |
| 1075 | ìàõíåòå ïîìîùíèÿ òåêñò. Íå å íóæíî äà ïðàâèòå òîâà òî÷íî ñåãà. Ìîæå | 1074 | ìàõíåòå ïîìîùíèÿ òåêñò. Íå å íóæíî äà ïðàâèòå òîâà òî÷íî ñåãà. Ìîæå |
| 1076 | äà ðåäàêòèðàòå, äîêàòî ñå îáðúùàòå êúì ïîìîùíèÿ òåêñò çà ñïðàâêà, è | 1075 | äà ðåäàêòèðàòå, äîêàòî ñå îáðúùàòå êúì ïîìîùíèÿ òåêñò çà ñïðàâêà, è |
| 1077 | ñëåä òîâà äà âúâåäåòå C-x 1. | 1076 | ñëåä òîâà äà âúâåäåòå C-x 1. |
| @@ -1082,14 +1081,14 @@ c. | |||
| 1082 | ôóíêöèÿòà. | 1081 | ôóíêöèÿòà. |
| 1083 | 1082 | ||
| 1084 | >> Îïèòàéòå ñ âúâåæäàíå íà C-h f previous-line<Return>. | 1083 | >> Îïèòàéòå ñ âúâåæäàíå íà C-h f previous-line<Return>. |
| 1085 | Òîâà èçâåæäà öÿëàòà èíôîðìàöèÿ, êîÿòî Åìàêñ çíàå çà ôóíêöèÿòà, | 1084 | Òîâà èçâåæäà öÿëàòà èíôîðìàöèÿ, êîÿòî Emacs çíàå çà ôóíêöèÿòà, |
| 1086 | êîÿòî îñúùåñòâÿâà êîìàíäàòà C-p. | 1085 | êîÿòî îñúùåñòâÿâà êîìàíäàòà C-p. |
| 1087 | 1086 | ||
| 1088 | Ïîäîáíà êîìàíäà, C-h v, èçâåæäà äîêóìåíòàöèÿòà íà ïðîìåíëèâèòå, êîèòî | 1087 | Ïîäîáíà êîìàíäà, C-h v, èçâåæäà äîêóìåíòàöèÿòà íà ïðîìåíëèâèòå, êîèòî |
| 1089 | ìîæå äà ïðîìåíÿòå, çà äà íàñòðîéâàòå ïîâåäåíèåòî íà Åìàêñ. Òðÿáâà äà | 1088 | ìîæå äà ïðîìåíÿòå, çà äà íàñòðîéâàòå ïîâåäåíèåòî íà Emacs. Òðÿáâà äà |
| 1090 | âúâåäåòå èìåòî íà ïðîìåíëèâàòà, êîãàòî Åìàêñ âè ïîäñêàæå òîâà. | 1089 | âúâåäåòå èìåòî íà ïðîìåíëèâàòà, êîãàòî Emacs âè ïîäñêàæå òîâà. |
| 1091 | 1090 | ||
| 1092 | C-h a Êîìàíäà Àïðîïîñ. Âúâåäåòå êëþ÷îâà äóìà è Åìàêñ ùå | 1091 | C-h a Êîìàíäà Àïðîïîñ. Âúâåäåòå êëþ÷îâà äóìà è Emacs ùå |
| 1093 | ïîêàæå ñïèñúê íà âñè÷êè êîìàíäè, ÷èåòî èìå ñúäúðæà | 1092 | ïîêàæå ñïèñúê íà âñè÷êè êîìàíäè, ÷èåòî èìå ñúäúðæà |
| 1094 | òàçè êëþ÷îâà äóìà. Òåçè êîìàíäè ìîãàò âñè÷êè äà áúäàò | 1093 | òàçè êëþ÷îâà äóìà. Òåçè êîìàíäè ìîãàò âñè÷êè äà áúäàò |
| 1095 | èçâèêàíè ÷ðåç META-x. Çà íÿêîè êîìàíäè êîìàíäàòà | 1094 | èçâèêàíè ÷ðåç META-x. Çà íÿêîè êîìàíäè êîìàíäàòà |
| @@ -1112,18 +1111,18 @@ C-f, èçáðîåíè èçìåæäó ñúîòâåòíèòå èìåíà íà êîìàíäè, êàòî find-file. | |||
| 1112 | ñïåöèàëåí áóôåð, íàðè÷àí "*info*", êúäåòî ìîæå äà | 1111 | ñïåöèàëåí áóôåð, íàðè÷àí "*info*", êúäåòî ìîæå äà |
| 1113 | ÷åòåòå ðúêîâîäñòâàòà íà èíñòàëèðàíèòå âúâ âàøàòà | 1112 | ÷åòåòå ðúêîâîäñòâàòà íà èíñòàëèðàíèòå âúâ âàøàòà |
| 1114 | ñèñòåìà ïàêåòè. Âúâåäåòå m emacs <Return>, çà äà | 1113 | ñèñòåìà ïàêåòè. Âúâåäåòå m emacs <Return>, çà äà |
| 1115 | ÷åòåòå ðúêîâîäñòâîòî íà Åìàêñ. Àêî íèêîãà ïðåäè òîâà | 1114 | ÷åòåòå ðúêîâîäñòâîòî íà Emacs. Àêî íèêîãà ïðåäè òîâà |
| 1116 | íå ñòå èçïîëçâàëè Info, âúâåäåòå ? è Åìàêñ ùå âêëþ÷è | 1115 | íå ñòå èçïîëçâàëè Info, âúâåäåòå ? è Emacs ùå âêëþ÷è |
| 1117 | âúâåäåíèå âúâ âúçìîæíîñòèòå íà ðåæèìà Èíôî. Âåäíúæ | 1116 | âúâåäåíèå âúâ âúçìîæíîñòèòå íà ðåæèìà Èíôî. Âåäíúæ |
| 1118 | ñëåä êàòî ñòå ïðåìèíàëè òîâà âúâåäåíèå, òðÿáâà äà ñå | 1117 | ñëåä êàòî ñòå ïðåìèíàëè òîâà âúâåäåíèå, òðÿáâà äà ñå |
| 1119 | êîíñóëòèðàòå ñ Åìàêñ Èíôî ðúêîâîäñòâîòî êàòî âàøà | 1118 | êîíñóëòèðàòå ñ Emacs Èíôî ðúêîâîäñòâîòî êàòî âàøà |
| 1120 | îñíîâíà äîêóìåíòàöèÿ. | 1119 | îñíîâíà äîêóìåíòàöèÿ. |
| 1121 | 1120 | ||
| 1122 | 1121 | ||
| 1123 | * ÎÙÅ ÂÚÇÌÎÆÍÎÑÒÈ | 1122 | * ÎÙÅ ÂÚÇÌÎÆÍÎÑÒÈ |
| 1124 | ----------------- | 1123 | ----------------- |
| 1125 | 1124 | ||
| 1126 | Ìîæå äà íàó÷èòå ïîâå÷å çà Åìàêñ ñ ÷åòåíå íà íåãîâîòî ðúêîâîäñòâî, èëè | 1125 | Ìîæå äà íàó÷èòå ïîâå÷å çà Emacs ñ ÷åòåíå íà íåãîâîòî ðúêîâîäñòâî, èëè |
| 1127 | êàòî êíèãà, èëè â Èíôî (èçïîëçâàéòå ìåíþòî ïîìîù (Help) èëè âúâåäåòå | 1126 | êàòî êíèãà, èëè â Èíôî (èçïîëçâàéòå ìåíþòî ïîìîù (Help) èëè âúâåäåòå |
| 1128 | F10 h r). Äâå âúçìîæíîñòè, êîèòî ìîæå äà æåëàåòå â íà÷àëîòî, ñà | 1127 | F10 h r). Äâå âúçìîæíîñòè, êîèòî ìîæå äà æåëàåòå â íà÷àëîòî, ñà |
| 1129 | äîâúðøâàíå (completion), êîåòî ñïåñòÿâà ïèñàíå, è dired, êîéòî | 1128 | äîâúðøâàíå (completion), êîåòî ñïåñòÿâà ïèñàíå, è dired, êîéòî |
| @@ -1131,26 +1130,26 @@ F10 h r). Äâå âúçìîæíîñòè, êîèòî ìîæå äà æåëàåòå â íà÷àëîòî, ñà | |||
| 1131 | 1130 | ||
| 1132 | Äîâúðøâàíåòî å íà÷èí äà èçáÿãâàòå íåíóæíî ïèñàíå. Íàïðèìåð, àêî | 1131 | Äîâúðøâàíåòî å íà÷èí äà èçáÿãâàòå íåíóæíî ïèñàíå. Íàïðèìåð, àêî |
| 1133 | èñêàòå äà ïðåâêëþ÷èòå êúì áóôåðà *Messages*, ìîæå äà âúâåäåòå C-x b | 1132 | èñêàòå äà ïðåâêëþ÷èòå êúì áóôåðà *Messages*, ìîæå äà âúâåäåòå C-x b |
| 1134 | *M<Tab> è Åìàêñ ùå çàïúëíè îñòàíàëàòà ÷àñò îò èìåòî íà áóôåðà, | 1133 | *M<Tab> è Emacs ùå çàïúëíè îñòàíàëàòà ÷àñò îò èìåòî íà áóôåðà, |
| 1135 | äîêîëêîòî ìîæå äà ñå îïðåäåëè îò òîâà, êîåòî ñòå âúâåëè. Äîâúðøâàíåòî | 1134 | äîêîëêîòî ìîæå äà ñå îïðåäåëè îò òîâà, êîåòî ñòå âúâåëè. Äîâúðøâàíåòî |
| 1136 | å îïèñàíî â Èíôî-ðúêîâîäñòâîòî íà Åìàêñ â ñòðàíèöàòà "Äîâúðøâàíå" | 1135 | å îïèñàíî â Èíôî-ðúêîâîäñòâîòî íà Emacs â ñòðàíèöàòà "Äîâúðøâàíå" |
| 1137 | ("Completion"). | 1136 | ("Completion"). |
| 1138 | 1137 | ||
| 1139 | Dired âè ïîçâîëÿâà äà ãëåäàòå ñïèñúêà îò ôàéëîâå â äèðåêòîðèÿ (è êàòî | 1138 | Dired âè ïîçâîëÿâà äà ãëåäàòå ñïèñúêà îò ôàéëîâå â äèðåêòîðèÿ (è êàòî |
| 1140 | âúçìîæíîñò: íåéíèòå ïîääèðåêòîðèè), äà ñå ïðèäâèæâàòå â òîçè ñïèñúê, | 1139 | âúçìîæíîñò: íåéíèòå ïîääèðåêòîðèè), äà ñå ïðèäâèæâàòå â òîçè ñïèñúê, |
| 1141 | äà ïîñåùàâàòå, ïðåèìåíóâàòå, èçòðèâàòå è èçîáùî äåéñòâàòå âúðõó | 1140 | äà ïîñåùàâàòå, ïðåèìåíóâàòå, èçòðèâàòå è èçîáùî äåéñòâàòå âúðõó |
| 1142 | ôàéëîâåòå. Dired å îïèñàí â Èíôî-ðúêîâîäñòâîòî íà Åìàêñ â ñòðàíèöàòà | 1141 | ôàéëîâåòå. Dired å îïèñàí â Èíôî-ðúêîâîäñòâîòî íà Emacs â ñòðàíèöàòà |
| 1143 | "Dired". | 1142 | "Dired". |
| 1144 | 1143 | ||
| 1145 | Ðúêîâîäñòâîòî íà Åìàêñ îïèñâà îùå ìíîãî äðóãè âúçìîæíîñòè íà | 1144 | Ðúêîâîäñòâîòî íà Emacs îïèñâà îùå ìíîãî äðóãè âúçìîæíîñòè íà |
| 1146 | ðåäàêòîðà. | 1145 | ðåäàêòîðà. |
| 1147 | 1146 | ||
| 1148 | 1147 | ||
| 1149 | * ÇÀÊËÞ×ÅÍÈÅ | 1148 | * ÇÀÊËÞ×ÅÍÈÅ |
| 1150 | ------------ | 1149 | ------------ |
| 1151 | 1150 | ||
| 1152 | Çàïîìíåòå: çà äà èçëåçåòå áåçâúçâðàòíî îò Åìàêñ, èçïîëçâàéòå C-x C-c. | 1151 | Çàïîìíåòå: çà äà èçëåçåòå áåçâúçâðàòíî îò Emacs, èçïîëçâàéòå C-x C-c. |
| 1153 | Çà äà èçëåçåòå âðåìåííî â îáâèâêà, òàêà ÷å äà ñå âúðíåòå â Åìàêñ | 1152 | Çà äà èçëåçåòå âðåìåííî â îáâèâêà, òàêà ÷å äà ñå âúðíåòå â Emacs |
| 1154 | ïî-êúñíî, èçïîëçâàéòå C-z. | 1153 | ïî-êúñíî, èçïîëçâàéòå C-z. |
| 1155 | 1154 | ||
| 1156 | Òîâà âúâåäåíèå å ïðåäâèäåíî äà áúäå ðàçáèðàåìî çà âñè÷êè íîâè | 1155 | Òîâà âúâåäåíèå å ïðåäâèäåíî äà áúäå ðàçáèðàåìî çà âñè÷êè íîâè |
| @@ -1161,17 +1160,17 @@ Dired âè ïîçâîëÿâà äà ãëåäàòå ñïèñúêà îò ôàéëîâå â äèðåêòîðèÿ (è êàòî | |||
| 1161 | * ÊÎÏÈÐÀÍÅ | 1160 | * ÊÎÏÈÐÀÍÅ |
| 1162 | ---------- | 1161 | ---------- |
| 1163 | 1162 | ||
| 1164 | Òîâà âúâåäåíèå ïðîèçëèçà îò äúëãà ïîðåäèöà âúâåäåíèÿ â Åìàêñ, | 1163 | Òîâà âúâåäåíèå ïðîèçëèçà îò äúëãà ïîðåäèöà âúâåäåíèÿ â Emacs, |
| 1165 | çàïî÷âàéêè îò åäíî, íàïèñàíî îò Ñòþúðò Êðàêðàôò çà íà÷àëíèÿ Åìàêñ. | 1164 | çàïî÷âàéêè îò åäíî, íàïèñàíî îò Ñòþúðò Êðàêðàôò çà íà÷àëíèÿ Emacs. |
| 1166 | 1165 | ||
| 1167 | Òàçè âåðñèÿ íà âúâåäåíèåòî, êàêòî è ÃÍÓ Åìàêñ, å çàùèòåíà ñ àâòîðñêè | 1166 | Òàçè âåðñèÿ íà âúâåäåíèåòî, êàêòî è GNU Emacs, å çàùèòåíà ñ àâòîðñêè |
| 1168 | ïðàâà è èäâà ñ ðàçðåøåíèå äà ðàçïðîñòðàíÿâàòå êîïèÿ ïðè ñëåäíèòå | 1167 | ïðàâà è èäâà ñ ðàçðåøåíèå äà ðàçïðîñòðàíÿâàòå êîïèÿ ïðè ñëåäíèòå |
| 1169 | óñëîâèÿ: | 1168 | óñëîâèÿ: |
| 1170 | 1169 | ||
| 1171 | This version of the tutorial, like GNU Emacs, is copyrighted, and | 1170 | This version of the tutorial, like GNU Emacs, is copyrighted, and |
| 1172 | comes with permission to distribute copies on certain conditions: | 1171 | comes with permission to distribute copies on certain conditions: |
| 1173 | 1172 | ||
| 1174 | Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation | 1173 | Copyright (c) 1985, 1996, 1998, 2001, 2002, 2005 Free Software Foundation |
| 1175 | 1174 | ||
| 1176 | Permission is granted to anyone to make or distribute verbatim copies | 1175 | Permission is granted to anyone to make or distribute verbatim copies |
| 1177 | of this document as received, in any medium, provided that the | 1176 | of this document as received, in any medium, provided that the |
| @@ -1184,8 +1183,8 @@ Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation | |||
| 1184 | under the above conditions, provided also that they | 1183 | under the above conditions, provided also that they |
| 1185 | carry prominent notices stating who last altered them. | 1184 | carry prominent notices stating who last altered them. |
| 1186 | 1185 | ||
| 1187 | Óñëîâèÿòà çà êîïèðàíå íà ñàìèÿ Åìàêñ ñà ïî-ñëîæíè, íî â ñúùèÿ äóõ. | 1186 | Óñëîâèÿòà çà êîïèðàíå íà ñàìèÿ Emacs ñà ïî-ñëîæíè, íî â ñúùèÿ äóõ. |
| 1188 | Ìîëÿ, ïðî÷åòåòå ôàéëà COPYING è òîãàâà äàâàéòå êîïèÿ íà ÃÍÓ Åìàêñ íà | 1187 | Ìîëÿ, ïðî÷åòåòå ôàéëà COPYING è òîãàâà äàâàéòå êîïèÿ íà GNU Emacs íà |
| 1189 | ñâîè ïðèÿòåëè. Ïîìîãíåòå äà ñïðåì çàòâîðåíîñòòà íà ïðîãðàìèòå | 1188 | ñâîè ïðèÿòåëè. Ïîìîãíåòå äà ñïðåì çàòâîðåíîñòòà íà ïðîãðàìèòå |
| 1190 | ("ïðèòåæàíèåòî"), êàòî èçïîëçâàìå, ïèøåì è ñïîäåëÿìå ñâîáîäåí ñîôòóåð! | 1189 | ("ïðèòåæàíèåòî"), êàòî èçïîëçâàìå, ïèøåì è ñïîäåëÿìå ñâîáîäåí ñîôòóåð! |
| 1191 | 1190 | ||
diff --git a/etc/TUTORIAL.cn b/etc/TUTORIAL.cn index e286d4f19c8..1b30b6e909a 100644 --- a/etc/TUTORIAL.cn +++ b/etc/TUTORIAL.cn | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | Emacs ¿ìËÙÖ¸ÄÏ | 1 | Emacs ¿ìËÙÖ¸ÄÏ. |
| 2 | ÄúÕýÔÚÔĶÁ Emacs ¿ìËÙÖ¸ÄÏ£¨ Emacs tutorial £©¡£Çë¼ûҳβÓйظ´ÖÆÌõ¼þ¡£ | ||
| 3 | Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation. | 2 | Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation. |
| 4 | 3 | ||
| 5 | Emacs Ö¸Áîͨ³£°üº¬ÓÐ CONTROL ¼ü£¨ÓÐʱºòÒÔ CTRL »ò CTL À´±êʾ£©»òÊÇ | 4 | Emacs Ö¸Áîͨ³£°üº¬ÓÐ CONTROL ¼ü£¨ÓÐʱºòÒÔ CTRL »ò CTL À´±êʾ£©»òÊÇ |
diff --git a/etc/TUTORIAL.cs b/etc/TUTORIAL.cs index bac3a3a228e..f8945b89e36 100644 --- a/etc/TUTORIAL.cs +++ b/etc/TUTORIAL.cs | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | tutoriál k Emacsu | 1 | tutoriál k Emacsu. |
| 2 | Copyright (c) 1985 Free Software Foundation, Inc; podmínky viz na konci. | 2 | Copyright (c) 1985 Free Software Foundation, Inc; podmínky viz na konci. |
| 3 | Do èe¹tiny pøelo¾il Milan Zamazal <pdm@zamazal.org>. | 3 | Do èe¹tiny pøelo¾il Milan Zamazal <pdm@zamazal.org>. |
| 4 | 4 | ||
diff --git a/etc/TUTORIAL.de b/etc/TUTORIAL.de index 3f03d983651..a007fef752b 100644 --- a/etc/TUTORIAL.de +++ b/etc/TUTORIAL.de | |||
| @@ -1,4 +1,3 @@ | |||
| 1 | Einführung in Emacs | ||
| 2 | Einführung in Emacs. (c) 2002, 2003 Free Software Foundation, Inc. | 1 | Einführung in Emacs. (c) 2002, 2003 Free Software Foundation, Inc. |
| 3 | 2 | ||
| 4 | Emacs-Befehle beinhalten im allgemeinen die CONTROL-Taste (manchmal | 3 | Emacs-Befehle beinhalten im allgemeinen die CONTROL-Taste (manchmal |
diff --git a/etc/TUTORIAL.es b/etc/TUTORIAL.es index 939ad3c2a23..ed55cc5ca41 100644 --- a/etc/TUTORIAL.es +++ b/etc/TUTORIAL.es | |||
| @@ -1,7 +1,5 @@ | |||
| 1 | tutorial de Emacs | 1 | Tutorial de Emacs. Vea al final las condiciones de copiado. |
| 2 | Usted esta viendo el tutorial de Emacs. Vea al final las condiciones | 2 | Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation. |
| 3 | de copiado. Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software | ||
| 4 | Foundation. | ||
| 5 | 3 | ||
| 6 | Generalmente los comandos de Emacs involucran la tecla CONTROL | 4 | Generalmente los comandos de Emacs involucran la tecla CONTROL |
| 7 | (algunas veces llamada CTRL O CTL) o la tecla meta (algunas veces | 5 | (algunas veces llamada CTRL O CTL) o la tecla meta (algunas veces |
diff --git a/etc/TUTORIAL.fr b/etc/TUTORIAL.fr index 99bf4c00ff2..38853c608b9 100644 --- a/etc/TUTORIAL.fr +++ b/etc/TUTORIAL.fr | |||
| @@ -1,4 +1,3 @@ | |||
| 1 | Didacticiel d'Emacs | ||
| 2 | Didacticiel d'Emacs. Voir la fin de ce document pour les conditions. | 1 | Didacticiel d'Emacs. Voir la fin de ce document pour les conditions. |
| 3 | Copyright (c) 1985, 2001, 2002 Free Software Foundation, Inc. | 2 | Copyright (c) 1985, 2001, 2002 Free Software Foundation, Inc. |
| 4 | 3 | ||
diff --git a/etc/TUTORIAL.it b/etc/TUTORIAL.it index 6611675b583..02a91045d0e 100644 --- a/etc/TUTORIAL.it +++ b/etc/TUTORIAL.it | |||
| @@ -1,4 +1,3 @@ | |||
| 1 | Esercitazione di Emacs | ||
| 2 | Esercitazione di Emacs. Copyright (c) 2003 Free Software Foundation, Inc. | 1 | Esercitazione di Emacs. Copyright (c) 2003 Free Software Foundation, Inc. |
| 3 | Condizioni d'uso alla fine del file. | 2 | Condizioni d'uso alla fine del file. |
| 4 | 3 | ||
diff --git a/etc/TUTORIAL.ja b/etc/TUTORIAL.ja index 48d807f6ce0..3ca2afa7c41 100644 --- a/etc/TUTORIAL.ja +++ b/etc/TUTORIAL.ja | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | Emacs $BF~Lg%,%$%I$G$9(B | 1 | Emacs $BF~Lg%,%$%I$G$9(B. |
| 2 | $B$"$J$?$,8=:_8+$F$$$k$N$O(B Emacs $BF~Lg%,%$%I$G$9!#%U%!%$%k:G8e$r;2>H$N$3$H!#(B | ||
| 3 | Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation. | 2 | Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation. |
| 4 | 3 | ||
| 5 | Emacs $B$N%3%^%s%I$rF~NO$9$k$K$O!"0lHL$K%3%s%H%m!<%k%-!<!J%-!<%H%C%W$K(B | 4 | Emacs $B$N%3%^%s%I$rF~NO$9$k$K$O!"0lHL$K%3%s%H%m!<%k%-!<!J%-!<%H%C%W$K(B |
diff --git a/etc/TUTORIAL.ko b/etc/TUTORIAL.ko index 5df936a998f..8e94db3c658 100644 --- a/etc/TUTORIAL.ko +++ b/etc/TUTORIAL.ko | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | $(C@L8F=:(B(Emacs) $(CAvD'<-@T4O4Y(B | 1 | $(C@L8F=:(B(Emacs) $(CAvD'<-@T4O4Y(B. |
| 2 | $(C@z@[1G(B (c) 1985, 2001 Free Software Foundation, Inc; $(C3!?!4B(B $(C:9;g(B $(CA60G@L(B | 2 | $(C@z@[1G(B (c) 1985, 2001 Free Software Foundation, Inc; $(C3!?!4B(B $(C:9;g(B $(CA60G@L(B |
| 3 | $(C@V=@4O4Y(B. $(CAv1](B $(C@P0m(B $(C@V4B(B $(C@L(B $(C1[@:(B $(C@L8F=:(B(Emacs) $(CAvD'<-@T4O4Y(B. | 3 | $(C@V=@4O4Y(B. $(CAv1](B $(C@P0m(B $(C@V4B(B $(C@L(B $(C1[@:(B $(C@L8F=:(B(Emacs) $(CAvD'<-@T4O4Y(B. |
| 4 | 4 | ||
diff --git a/etc/TUTORIAL.nl b/etc/TUTORIAL.nl index 905021095db..6b6a20a1bba 100644 --- a/etc/TUTORIAL.nl +++ b/etc/TUTORIAL.nl | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | Emacs-inleiding | 1 | Emacs-inleiding. De kopieervoorwaarden staan onderaan. |
| 2 | Je leest nu de Emacs-inleiding. De kopieervoorwaarden staan onderaan. | ||
| 3 | Copyright (c) 1985, 1996, 1997, 2003, 2004, 2005 Free Software Foundation | 2 | Copyright (c) 1985, 1996, 1997, 2003, 2004, 2005 Free Software Foundation |
| 4 | 3 | ||
| 5 | De meeste Emacs-commando's gebruiken de CONTROL-toets (soms CTRL of CTL | 4 | De meeste Emacs-commando's gebruiken de CONTROL-toets (soms CTRL of CTL |
diff --git a/etc/TUTORIAL.pl b/etc/TUTORIAL.pl index 5b5b4d4eb8c..c3bcb8047c8 100644 --- a/etc/TUTORIAL.pl +++ b/etc/TUTORIAL.pl | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | krótki samouczek Emacsa | 1 | krótki samouczek Emacsa. Copyright (c) 1985, 2001 |
| 2 | Czytasz w³a¶nie krótki samouczek Emacsa. Copyright (c) 1985, 2001 | ||
| 3 | Free Software Foundation, Inc. Szczegó³y na koñcu pliku. | 2 | Free Software Foundation, Inc. Szczegó³y na koñcu pliku. |
| 4 | 3 | ||
| 5 | Polecenia Emacsa wymagaj± na ogó³ wci¶niêcia klawisza CONTROL (oznaczanego | 4 | Polecenia Emacsa wymagaj± na ogó³ wci¶niêcia klawisza CONTROL (oznaczanego |
diff --git a/etc/TUTORIAL.pt_BR b/etc/TUTORIAL.pt_BR index 6492c1ce3dd..a7a50804ca0 100644 --- a/etc/TUTORIAL.pt_BR +++ b/etc/TUTORIAL.pt_BR | |||
| @@ -1,6 +1,5 @@ | |||
| 1 | Tutorial do Emacs | 1 | Tutorial do Emacs. Veja no fim as condições para cópia. |
| 2 | Copyright (c) 2004 Free Software Foundation, Inc; Veja no fim as | 2 | Copyright (c) 2004, 2005 Free Software Foundation. |
| 3 | condições. | ||
| 4 | 3 | ||
| 5 | Os comandos do Emacs geralmente envolvem a tecla CONTROL (algumas vezes | 4 | Os comandos do Emacs geralmente envolvem a tecla CONTROL (algumas vezes |
| 6 | nomeada CTRL ou CTL) ou a tecla META (algumas vezes nomeada EDIT ou | 5 | nomeada CTRL ou CTL) ou a tecla META (algumas vezes nomeada EDIT ou |
| @@ -131,8 +130,8 @@ jeito na direção contraria. | |||
| 131 | você pode observar a ação do M-f e M-b de varias lugares dentro e no | 130 | você pode observar a ação do M-f e M-b de varias lugares dentro e no |
| 132 | meio de palavras. | 131 | meio de palavras. |
| 133 | 132 | ||
| 134 | Observe o paralelismo entre C-f e C-b em uma mão, e M-f e M-b na | 133 | Observe o paralelismo entre C-f e C-b por um lado, e M-f e M-b por outro |
| 135 | outra. Muito freqüentemente os caracteres Meta são usados para operações | 134 | lado. Muito freqüentemente os caracteres Meta são usados para operações |
| 136 | relacionadas com as unidades definidas pela linguagem (palavras, | 135 | relacionadas com as unidades definidas pela linguagem (palavras, |
| 137 | sentenças, parágrafos), enquanto caracteres Control operam nas unidades | 136 | sentenças, parágrafos), enquanto caracteres Control operam nas unidades |
| 138 | básicas que são independente do que você está editando (caracteres, | 137 | básicas que são independente do que você está editando (caracteres, |
| @@ -860,7 +859,7 @@ manual do Emacs para uma dica de como lhe dar com esse "recurso". | |||
| 860 | 859 | ||
| 861 | Se você estiver no meio de uma pesquisa incremental e digitar <Delete>, | 860 | Se você estiver no meio de uma pesquisa incremental e digitar <Delete>, |
| 862 | você percebera que o ultimo caractere da pesquisa será apagado e a | 861 | você percebera que o ultimo caractere da pesquisa será apagado e a |
| 863 | pesquisa voltara para o ultimo lugar da pesquisa. Por instancia, imagine | 862 | pesquisa voltara para o ultimo lugar da pesquisa. Por exemplo, imagine |
| 864 | que você tenha digitado "c", para pesquisar a primeira ocorrência de | 863 | que você tenha digitado "c", para pesquisar a primeira ocorrência de |
| 865 | "c". Agora se você digitar "u", o cursor ira mover para a primeira | 864 | "c". Agora se você digitar "u", o cursor ira mover para a primeira |
| 866 | ocorrência de "cu". Agora digite <Delete>. Isso ira apagar o "u" da | 865 | ocorrência de "cu". Agora digite <Delete>. Isso ira apagar o "u" da |
diff --git a/etc/TUTORIAL.ro b/etc/TUTORIAL.ro index d4dde10f237..459d3726cee 100644 --- a/etc/TUTORIAL.ro +++ b/etc/TUTORIAL.ro | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | tutorialului de Emacs | 1 | tutorialului de Emacs. |
| 2 | Copyright (c) 1998 Free Software Foundation -*-coding: latin-2;-*- | 2 | Copyright (c) 1998 Free Software Foundation -*-coding: latin-2;-*- |
| 3 | Traducere din englezã de Tudor Hulubei <tudor@gnu.org>. | 3 | Traducere din englezã de Tudor Hulubei <tudor@gnu.org>. |
| 4 | Mulþumiri Aidei Hulubei <aida@chang.pub.ro> pentru corecturi ºi sugestii. | 4 | Mulþumiri Aidei Hulubei <aida@chang.pub.ro> pentru corecturi ºi sugestii. |
diff --git a/etc/TUTORIAL.ru b/etc/TUTORIAL.ru index 10b96e56076..f1deaf6c89f 100644 --- a/etc/TUTORIAL.ru +++ b/etc/TUTORIAL.ru | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | ÕÞÅÂÎÉË Emacs | 1 | ÕÞÅÂÎÉË Emacs. |
| 2 | ÷Ù ÞÉÔÁÅÔÅ ÕÞÅÂÎÉË Emacs. õÓÌÏ×ÉÑ ËÏÐÉÒÏ×ÁÎÉÑ × ËÏÎÃÅ ÆÁÊÌÁ. | ||
| 3 | Copyright (c) 1985, 1996, 2004 Free Software Foundation, Inc. | 2 | Copyright (c) 1985, 1996, 2004 Free Software Foundation, Inc. |
| 4 | 3 | ||
| 5 | äÌÑ ÕÐÒÁ×ÌÅÎÉÑ Emacs ÏÂÙÞÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ ËÌÀÞ (ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ ËÌÁ×ÉÁÔÕÒÙ | 4 | äÌÑ ÕÐÒÁ×ÌÅÎÉÑ Emacs ÏÂÙÞÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ ËÌÀÞ (ÓÏÞÅÔÁÎÉÅ ËÌÁ×ÉÛ ËÌÁ×ÉÁÔÕÒÙ |
diff --git a/etc/TUTORIAL.sk b/etc/TUTORIAL.sk index 58812197287..465a3805a62 100644 --- a/etc/TUTORIAL.sk +++ b/etc/TUTORIAL.sk | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | tútorial k Emacsu | 1 | tútorial k Emacsu. |
| 2 | Copyright (c) 1985 Free Software Foundation, Inc; podmienky pozri na konci. | 2 | Copyright (c) 1985 Free Software Foundation, Inc; podmienky pozri na konci. |
| 3 | Do èe¹tiny prelo¾il Milan Zamazal <pdm@zamazal.org>, do slovenèiny Miroslav | 3 | Do èe¹tiny prelo¾il Milan Zamazal <pdm@zamazal.org>, do slovenèiny Miroslav |
| 4 | Va¹ko <zemiak@zoznam.sk>. | 4 | Va¹ko <zemiak@zoznam.sk>. |
diff --git a/etc/TUTORIAL.sl b/etc/TUTORIAL.sl index f1e64ec748d..263019643db 100644 --- a/etc/TUTORIAL.sl +++ b/etc/TUTORIAL.sl | |||
| @@ -1,4 +1,3 @@ | |||
| 1 | Prvo berilo za Emacs | ||
| 2 | Prvo berilo za Emacs. Pogoji uporabe in raz¹irjanja so navedeni na koncu. | 1 | Prvo berilo za Emacs. Pogoji uporabe in raz¹irjanja so navedeni na koncu. |
| 3 | Copyright (c) 1985, 1996, 1997, 2001, 2002 Free Software Foundation, Inc. | 2 | Copyright (c) 1985, 1996, 1997, 2001, 2002 Free Software Foundation, Inc. |
| 4 | 3 | ||
diff --git a/etc/TUTORIAL.sv b/etc/TUTORIAL.sv index 2f9bbe7ceab..bbda74380b2 100644 --- a/etc/TUTORIAL.sv +++ b/etc/TUTORIAL.sv | |||
| @@ -1,7 +1,5 @@ | |||
| 1 | användarhandledningen till Emacs | 1 | användarhandledningen till Emacs. I slutet finns kopieringsvillkoren. |
| 2 | Detta är den Svenska användarhandledningen till Emacs. I slutet finns | 2 | Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation, Inc. |
| 3 | kopieringsvillkoren. Copyright (c) 1985, 1996, 1998, 2001, 2002 Free | ||
| 4 | Software Foundation, Inc. | ||
| 5 | 3 | ||
| 6 | Emacs-kommandon innebär ofta användning av kontrolltangenten (vanligen | 4 | Emacs-kommandon innebär ofta användning av kontrolltangenten (vanligen |
| 7 | märkt CTRL eller CTL) eller META-tangenten (på vissa tangentbord märkt | 5 | märkt CTRL eller CTL) eller META-tangenten (på vissa tangentbord märkt |
diff --git a/etc/TUTORIAL.th b/etc/TUTORIAL.th index 85280907c60..e1fb9d561e1 100644 --- a/etc/TUTORIAL.th +++ b/etc/TUTORIAL.th | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | 0,T7h1R9!S0EQ1'0HV1!IR0$Yh10AW1M!RCc0*i10MU1aA!0Jl1(B | 1 | 0,T7h1R9!S0EQ1'0HV1!IR0$Yh10AW1M!RCc0*i10MU1aA!0Jl1(B. |
| 2 | ,TJ'G90ET1"0JT1708Tl1(B ,T>(B.,TH(B. 2528 ,Tb4B:0CT10IQ17?0CU1+M?05l1aG0Cl1?RG09l1`40*Q19(B (Free Software | 2 | ,TJ'G90ET1"0JT1708Tl1(B ,T>(B.,TH(B. 2528 ,Tb4B:0CT10IQ17?0CU1+M?05l1aG0Cl1?RG09l1`40*Q19(B (Free Software |
| 3 | Foundation, Inc); ,T!0CX13R0HV1!IR`0'Wh1M9d"5M907i1RB:7(B. | 3 | Foundation, Inc); ,T!0CX13R0HV1!IR`0'Wh1M9d"5M907i1RB:7(B. |
| 4 | 0,T7h1R9!S0EQ1'0HV1!IR0$Yh10AW1M!RCc0*i10MU1aA!0Jl1(B (Emacs tutorial) ,TM0BYh1c9"3P09Ui1(B. | 4 | 0,T7h1R9!S0EQ1'0HV1!IR0$Yh10AW1M!RCc0*i10MU1aA!0Jl1(B (Emacs tutorial) ,TM0BYh1c9"3P09Ui1(B. |
diff --git a/etc/TUTORIAL.zh b/etc/TUTORIAL.zh index f8d1d208252..8411bf878f5 100644 --- a/etc/TUTORIAL.zh +++ b/etc/TUTORIAL.zh | |||
| @@ -1,5 +1,4 @@ | |||
| 1 | Emacs §Ö³t«ü«n¡] | 1 | Emacs §Ö³t«ü«n¡]. |
| 2 | ±z¥¿¦b¾\Ū Emacs §Ö³t«ü«n¡] Emacs tutorial ¡^¡C½Ð¨£¶§À¦³Ãö½Æ»s±ø¥ó¡C | ||
| 3 | Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation. | 2 | Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation. |
| 4 | 3 | ||
| 5 | Emacs «ü¥O³q±`¥]§t¦³ CONTROL Áä¡]¦³®ÉÔ¥H CTRL ©Î CTL ¨Ó¼Ð¥Ü¡^©Î¬O | 4 | Emacs «ü¥O³q±`¥]§t¦³ CONTROL Áä¡]¦³®ÉÔ¥H CTRL ©Î CTL ¨Ó¼Ð¥Ü¡^©Î¬O |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 91e775869e6..ec3d4f8a831 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,4 +1,108 @@ | |||
| 1 | 2005-03-31 Kenichi Handa <handa@etlken2> | 1 | 2005-04-02 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | |||
| 3 | * simple.el (visible-mode): Use explicit :group keyword. | ||
| 4 | This changes the group of `visible-mode-hook' from paren-blinking | ||
| 5 | to editing-basics. | ||
| 6 | |||
| 7 | 2005-04-02 Sergey Poznyakoff <gray@Mirddin.farlep.net> (tiny change) | ||
| 8 | |||
| 9 | * mail/rmail.el (rmail-parse-url): Bugfix. Parse traditional | ||
| 10 | mailbox specifications as well as URLs. | ||
| 11 | (rmail-insert-inbox-text): Remove unused conditional branches. | ||
| 12 | |||
| 13 | 2005-04-01 Jay Belanger <belanger@truman.edu> | ||
| 14 | |||
| 15 | * calc/calc-graph.el (calc-gnuplot-name, calc-gnuplot-plot-command) | ||
| 16 | (calc-gnuplot-print-command): Move definitions to calc.el. | ||
| 17 | |||
| 18 | * calc/calc-embed.el (calc-embedded-announce-formula) | ||
| 19 | (calc-embedded-open-formula, calc-embedded-close-formula) | ||
| 20 | (calc-embedded-open-word, calc-embedded-close-word) | ||
| 21 | (calc-embedded-open-plain, calc-embedded-close-plain) | ||
| 22 | (calc-embedded-open-new-formula, calc-embedded-close-new-formula) | ||
| 23 | (calc-embedded-open-mode, calc-embedded-close-mode): | ||
| 24 | Move definitions to calc.el. | ||
| 25 | |||
| 26 | * calc/calc.el (calc-settings-file, calc-language-alist): | ||
| 27 | Make customizable. | ||
| 28 | (calc-embedded-announce-formula, calc-embedded-open-formula) | ||
| 29 | (calc-embedded-close-formula, calc-embedded-open-word) | ||
| 30 | (calc-embedded-close-word, calc-embedded-open-plain) | ||
| 31 | (calc-embedded-close-plain, calc-embedded-open-new-formula) | ||
| 32 | (calc-embedded-close-new-formula, calc-embedded-open-mode) | ||
| 33 | (calc-embedded-close-mode, calc-gnuplot-name) | ||
| 34 | (calc-gnuplot-plot-command, calc-gnuplot-print-command): Move here | ||
| 35 | from other files and make customizable. | ||
| 36 | |||
| 37 | 2005-04-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 38 | |||
| 39 | * pcvs.el (cvs-temp-buffer, cvs-mode-kill-process, cvs-buffer-check): | ||
| 40 | Use buffer-live-p. | ||
| 41 | (cvs-mode-run): Don't call cvs-update-header here. | ||
| 42 | (cvs-run-process): Call cvs-update-header. | ||
| 43 | Use process properties for cvs-postprocess and cvs-buffer so that | ||
| 44 | the sentinel can behave better if the temp buffer is killed. | ||
| 45 | Use a pipe rather than a tty, to better handle unexpected prompts. | ||
| 46 | (cvs-sentinel): Rewrite. Call cvs-update-header. | ||
| 47 | |||
| 48 | 2005-04-01 Andre Spiegel <spiegel@gnu.org> | ||
| 49 | |||
| 50 | * vc-hooks.el (vc-workfile-unchanged-p): Disable mtime check when | ||
| 51 | we go via Tramp or Ange-FTP. Suggested by Kai Grossjohann. | ||
| 52 | |||
| 53 | 2005-03-31 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 54 | |||
| 55 | * generic.el (define-generic-mode): Add indentation rule. | ||
| 56 | |||
| 57 | 2005-03-31 Luc Teirlinck <teirllm@auburn.edu> | ||
| 58 | |||
| 59 | * files.el (mode-require-final-newline): Make Custom correctly | ||
| 60 | report a nil value and allow to set it to nil via Custom. | ||
| 61 | Doc fix. | ||
| 62 | |||
| 63 | 2005-04-01 Kenichi Handa <handa@m17n.org> | ||
| 64 | |||
| 65 | * international/characters.el: Enable the correct case setting for | ||
| 66 | dotless-i and dotted-I. | ||
| 67 | |||
| 68 | 2005-04-01 Kim F. Storm <storm@cua.dk> | ||
| 69 | |||
| 70 | * ido.el (ido-file-internal): Fall back to non-ido command if | ||
| 71 | initial directory is on slow ftp (or tramp) host. | ||
| 72 | |||
| 73 | 2005-03-31 Richard M. Stallman <rms@gnu.org> | ||
| 74 | |||
| 75 | * emacs-lisp/autoload.el (make-autoload): | ||
| 76 | Handle define-global-minor-mode. | ||
| 77 | |||
| 78 | * emacs-lisp/easy-mmode.el (define-global-minor-mode): | ||
| 79 | Rename from easy-mmode-define-global-mode. | ||
| 80 | (easy-mmode-define-global-mode): Alias for define-global-minor-mode. | ||
| 81 | |||
| 82 | * progmodes/scheme.el (scheme-mode-syntax-table): | ||
| 83 | Update syntax of | and # for two-character comment syntax. | ||
| 84 | |||
| 85 | 2005-03-31 Lute Kamstra <lute@gnu.org> | ||
| 86 | |||
| 87 | * emacs-lisp/easy-mmode.el (easy-mmode-define-global-mode) | ||
| 88 | (define-minor-mode): Call custom-current-group at load-time. | ||
| 89 | |||
| 90 | * generic.el (define-generic-mode): Add debug declaration. | ||
| 91 | Add defcustom for the mode hook. | ||
| 92 | (generic-mode-internal): Use run-mode-hooks. | ||
| 93 | |||
| 94 | 2005-03-31 Kim F. Storm <storm@cua.dk> | ||
| 95 | |||
| 96 | * mouse.el (mouse-1-click-follows-link): Increase to 450 ms. | ||
| 97 | (mouse-fixup-help-message): New defun called by show_help_echo | ||
| 98 | to fixup mouse-2 prefix in help messages when applicable. | ||
| 99 | |||
| 100 | * tooltip.el (tooltip-show-help-function): Don't fixup message here. | ||
| 101 | |||
| 102 | 2005-03-31 Kenichi Handa <handa@m17n.org> | ||
| 103 | |||
| 104 | * language/thai-word.el (thai-find-word-ends): Pay attention to | ||
| 105 | the case that we reach the end of buffer. | ||
| 2 | 106 | ||
| 3 | * textmodes/fill.el (fill-text-properties-at): New function. | 107 | * textmodes/fill.el (fill-text-properties-at): New function. |
| 4 | (fill-newline): Use fill-text-properties-at instead of | 108 | (fill-newline): Use fill-text-properties-at instead of |
| @@ -69,13 +173,13 @@ | |||
| 69 | * org.el (org-agenda-phases-of-moon, org-agenda-sunrise-sunset) | 173 | * org.el (org-agenda-phases-of-moon, org-agenda-sunrise-sunset) |
| 70 | (org-agenda-convert-date, org-agenda-goto-calendar): New commands. | 174 | (org-agenda-convert-date, org-agenda-goto-calendar): New commands. |
| 71 | (org-diary-default-entry): New function. | 175 | (org-diary-default-entry): New function. |
| 72 | (org-get-entries-from-diary): Better parsing of diary entries | 176 | (org-get-entries-from-diary): Better parsing of diary entries. |
| 73 | (org-agenda-check-no-diary): New function. | 177 | (org-agenda-check-no-diary): New function. |
| 74 | ("diary-lib"): Advice to function `add-to-diary-list', to allow | 178 | ("diary-lib"): Advice to function `add-to-diary-list', to allow |
| 75 | linking to diary entries. | 179 | linking to diary entries. |
| 76 | (org-agenda-execute-calendar-command): New function | 180 | (org-agenda-execute-calendar-command): New function. |
| 77 | (org-agenda): Improved visible section in window. And | 181 | (org-agenda): Improve visible section in window. |
| 78 | use `org-fit-agenda-window'. | 182 | Use `org-fit-agenda-window'. |
| 79 | (org-fit-agenda-window): New option. | 183 | (org-fit-agenda-window): New option. |
| 80 | (org-move-subtree-down): Better handling of empty lines | 184 | (org-move-subtree-down): Better handling of empty lines |
| 81 | at end of subtree. | 185 | at end of subtree. |
| @@ -84,12 +188,10 @@ | |||
| 84 | (org-fontify-done-headline): New option. | 188 | (org-fontify-done-headline): New option. |
| 85 | (org-headline-done-face): New face. | 189 | (org-headline-done-face): New face. |
| 86 | (org-set-font-lock-defaults): Use `org-headline-done-face'. | 190 | (org-set-font-lock-defaults): Use `org-headline-done-face'. |
| 87 | (org-table-copy-down): renamed from | 191 | (org-table-copy-down): Rename from `org-table-copy-from-above'. |
| 88 | `org-table-copy-from-above'. When current field is non-empty, it | 192 | When current field is non-empty, it is copied to next row. |
| 89 | is copied to next row. | 193 | (org-table-copy-from-above): Fix bug which made it |
| 90 | (org-table-copy-from-above): Fixed bug which made it | 194 | impossible to copy fields containing only a single non-white character. |
| 91 | impossible to copy fields containing only a single non-white | ||
| 92 | character. | ||
| 93 | 195 | ||
| 94 | 2005-03-30 Kim F. Storm <storm@cua.dk> | 196 | 2005-03-30 Kim F. Storm <storm@cua.dk> |
| 95 | 197 | ||
diff --git a/lisp/calc/calc-embed.el b/lisp/calc/calc-embed.el index 2d2f66b1ebf..4f45419c136 100644 --- a/lisp/calc/calc-embed.el +++ b/lisp/calc/calc-embed.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-embed.el --- embed Calc in a buffer | 1 | ;;; calc-embed.el --- embed Calc in a buffer |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
| @@ -48,48 +48,18 @@ | |||
| 48 | (defvar calc-embedded-some-active nil) | 48 | (defvar calc-embedded-some-active nil) |
| 49 | (make-variable-buffer-local 'calc-embedded-some-active) | 49 | (make-variable-buffer-local 'calc-embedded-some-active) |
| 50 | 50 | ||
| 51 | (defvar calc-embedded-open-formula "\\`\\|^\n\\|\\$\\$?\\|\\\\\\[\\|^\\\\begin[^{].*\n\\|^\\\\begin{.*[^x]}.*\n\\|^@.*\n\\|^\\.EQ.*\n\\|\\\\(\\|^%\n\\|^\\.\\\\\"\n" | 51 | ;; The following variables are customizable and defined in calc.el. |
| 52 | "*A regular expression for the opening delimiter of a formula used by | 52 | (defvar calc-embedded-announce-formula) |
| 53 | calc-embedded.") | 53 | (defvar calc-embedded-open-formula) |
| 54 | 54 | (defvar calc-embedded-close-formula) | |
| 55 | (defvar calc-embedded-close-formula "\\'\\|\n$\\|\\$\\$?\\|\\\\]\\|^\\\\end[^{].*\n\\|^\\\\end{.*[^x]}.*\n\\|^@.*\n\\|^\\.EN.*\n\\|\\\\)\\|\n%\n\\|^\\.\\\\\"\n" | 55 | (defvar calc-embedded-open-word) |
| 56 | "*A regular expression for the closing delimiter of a formula used by | 56 | (defvar calc-embedded-close-word) |
| 57 | calc-embedded.") | 57 | (defvar calc-embedded-open-plain) |
| 58 | 58 | (defvar calc-embedded-close-plain) | |
| 59 | (defvar calc-embedded-open-word "^\\|[^-+0-9.eE]" | 59 | (defvar calc-embedded-open-new-formula) |
| 60 | "*A regular expression for the opening delimiter of a formula used by | 60 | (defvar calc-embedded-close-new-formula) |
| 61 | calc-embedded-word.") | 61 | (defvar calc-embedded-open-mode) |
| 62 | 62 | (defvar calc-embedded-close-mode) | |
| 63 | (defvar calc-embedded-close-word "$\\|[^-+0-9.eE]" | ||
| 64 | "*A regular expression for the closing delimiter of a formula used by | ||
| 65 | calc-embedded-word.") | ||
| 66 | |||
| 67 | (defvar calc-embedded-open-plain "%%% " | ||
| 68 | "*A string which is the opening delimiter for a \"plain\" formula. | ||
| 69 | If calc-show-plain mode is enabled, this is inserted at the front of | ||
| 70 | each formula.") | ||
| 71 | |||
| 72 | (defvar calc-embedded-close-plain " %%%\n" | ||
| 73 | "*A string which is the closing delimiter for a \"plain\" formula. | ||
| 74 | See calc-embedded-open-plain.") | ||
| 75 | |||
| 76 | (defvar calc-embedded-open-new-formula "\n\n" | ||
| 77 | "*A string which is inserted at front of formula by calc-embedded-new-formula.") | ||
| 78 | |||
| 79 | (defvar calc-embedded-close-new-formula "\n\n" | ||
| 80 | "*A string which is inserted at end of formula by calc-embedded-new-formula.") | ||
| 81 | |||
| 82 | (defvar calc-embedded-announce-formula "%Embed\n\\(% .*\n\\)*" | ||
| 83 | "*A regular expression which is sure to be followed by a calc-embedded formula." ) | ||
| 84 | |||
| 85 | (defvar calc-embedded-open-mode "% " | ||
| 86 | "*A string which should precede calc-embedded mode annotations. | ||
| 87 | This is not required to be present for user-written mode annotations.") | ||
| 88 | |||
| 89 | (defvar calc-embedded-close-mode "\n" | ||
| 90 | "*A string which should follow calc-embedded mode annotations. | ||
| 91 | This is not required to be present for user-written mode annotations.") | ||
| 92 | |||
| 93 | 63 | ||
| 94 | (defconst calc-embedded-mode-vars '(("precision" . calc-internal-prec) | 64 | (defconst calc-embedded-mode-vars '(("precision" . calc-internal-prec) |
| 95 | ("word-size" . calc-word-size) | 65 | ("word-size" . calc-word-size) |
diff --git a/lisp/calc/calc-graph.el b/lisp/calc/calc-graph.el index 662de5db867..6a58a6215fa 100644 --- a/lisp/calc/calc-graph.el +++ b/lisp/calc/calc-graph.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; calc-graph.el --- graph output functions for Calc | 1 | ;;; calc-graph.el --- graph output functions for Calc |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1990, 1991, 1992, 1993, 2001, 2005 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: David Gillespie <daveg@synaptics.com> | 5 | ;; Author: David Gillespie <daveg@synaptics.com> |
| 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> | 6 | ;; Maintainer: Jay Belanger <belanger@truman.edu> |
| @@ -33,14 +33,10 @@ | |||
| 33 | 33 | ||
| 34 | ;;; Graphics | 34 | ;;; Graphics |
| 35 | 35 | ||
| 36 | (defvar calc-gnuplot-name "gnuplot" | 36 | ;; The following three variables are customizable and defined in calc.el. |
| 37 | "*Name of GNUPLOT program, for calc-graph features.") | 37 | (defvar calc-gnuplot-name) |
| 38 | 38 | (defvar calc-gnuplot-plot-command) | |
| 39 | (defvar calc-gnuplot-plot-command nil | 39 | (defvar calc-gnuplot-print-command) |
| 40 | "*Name of command for displaying GNUPLOT output; %s = file name to print.") | ||
| 41 | |||
| 42 | (defvar calc-gnuplot-print-command "lp %s" | ||
| 43 | "*Name of command for printing GNUPLOT output; %s = file name to print.") | ||
| 44 | 40 | ||
| 45 | (defvar calc-gnuplot-tempfile "calc") | 41 | (defvar calc-gnuplot-tempfile "calc") |
| 46 | 42 | ||
diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index 639b6f31a68..3d78599ecc1 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el | |||
| @@ -206,9 +206,121 @@ | |||
| 206 | 206 | ||
| 207 | (require 'calc-macs) | 207 | (require 'calc-macs) |
| 208 | 208 | ||
| 209 | (defgroup calc nil | ||
| 210 | "GNU Calc" | ||
| 211 | :prefix "calc-" | ||
| 212 | :tag "Calc") | ||
| 213 | |||
| 209 | ;;;###autoload | 214 | ;;;###autoload |
| 210 | (defvar calc-settings-file (convert-standard-filename "~/.calc.el") | 215 | (defcustom calc-settings-file |
| 211 | "*File in which to record permanent settings.") | 216 | (convert-standard-filename "~/.calc.el") |
| 217 | "*File in which to record permanent settings." | ||
| 218 | :group 'calc | ||
| 219 | :type '(file)) | ||
| 220 | |||
| 221 | (defcustom calc-language-alist | ||
| 222 | '((latex-mode . latex) | ||
| 223 | (tex-mode . tex) | ||
| 224 | (plain-tex-mode . tex) | ||
| 225 | (context-mode . tex) | ||
| 226 | (nroff-mode . eqn) | ||
| 227 | (pascal-mode . pascal) | ||
| 228 | (c-mode . c) | ||
| 229 | (c++-mode . c) | ||
| 230 | (fortran-mode . fortran) | ||
| 231 | (f90-mode . fortran)) | ||
| 232 | "*Alist of major modes with appropriate Calc languages." | ||
| 233 | :group 'calc | ||
| 234 | :type '(alist :key-type symbol :value-type symbol)) | ||
| 235 | |||
| 236 | (defcustom calc-embedded-announce-formula | ||
| 237 | "%Embed\n\\(% .*\n\\)*" | ||
| 238 | "*A regular expression which is sure to be followed by a calc-embedded formula." | ||
| 239 | :group 'calc | ||
| 240 | :type '(regexp)) | ||
| 241 | |||
| 242 | (defcustom calc-embedded-open-formula | ||
| 243 | "\\`\\|^\n\\|\\$\\$?\\|\\\\\\[\\|^\\\\begin[^{].*\n\\|^\\\\begin{.*[^x]}.*\n\\|^@.*\n\\|^\\.EQ.*\n\\|\\\\(\\|^%\n\\|^\\.\\\\\"\n" | ||
| 244 | "*A regular expression for the opening delimiter of a formula used by calc-embedded." | ||
| 245 | :group 'calc | ||
| 246 | :type '(regexp)) | ||
| 247 | |||
| 248 | (defcustom calc-embedded-close-formula | ||
| 249 | "\\'\\|\n$\\|\\$\\$?\\|\\\\]\\|^\\\\end[^{].*\n\\|^\\\\end{.*[^x]}.*\n\\|^@.*\n\\|^\\.EN.*\n\\|\\\\)\\|\n%\n\\|^\\.\\\\\"\n" | ||
| 250 | "*A regular expression for the closing delimiter of a formula used by calc-embedded." | ||
| 251 | :group 'calc | ||
| 252 | :type '(regexp)) | ||
| 253 | |||
| 254 | (defcustom calc-embedded-open-word | ||
| 255 | "^\\|[^-+0-9.eE]" | ||
| 256 | "*A regular expression for the opening delimiter of a formula used by calc-embedded-word." | ||
| 257 | :group 'calc | ||
| 258 | :type '(regexp)) | ||
| 259 | |||
| 260 | (defcustom calc-embedded-close-word | ||
| 261 | "$\\|[^-+0-9.eE]" | ||
| 262 | "*A regular expression for the closing delimiter of a formula used by calc-embedded-word." | ||
| 263 | :group 'calc | ||
| 264 | :type '(regexp)) | ||
| 265 | |||
| 266 | (defcustom calc-embedded-open-plain | ||
| 267 | "%%% " | ||
| 268 | "*A string which is the opening delimiter for a \"plain\" formula. | ||
| 269 | If calc-show-plain mode is enabled, this is inserted at the front of | ||
| 270 | each formula." | ||
| 271 | :group 'calc | ||
| 272 | :type '(string)) | ||
| 273 | |||
| 274 | (defcustom calc-embedded-close-plain | ||
| 275 | " %%%\n" | ||
| 276 | "*A string which is the closing delimiter for a \"plain\" formula. | ||
| 277 | See calc-embedded-open-plain." | ||
| 278 | :group 'calc | ||
| 279 | :type '(string)) | ||
| 280 | |||
| 281 | (defcustom calc-embedded-open-new-formula | ||
| 282 | "\n\n" | ||
| 283 | "*A string which is inserted at front of formula by calc-embedded-new-formula." | ||
| 284 | :group 'calc | ||
| 285 | :type '(string)) | ||
| 286 | |||
| 287 | (defcustom calc-embedded-close-new-formula | ||
| 288 | "\n\n" | ||
| 289 | "*A string which is inserted at end of formula by calc-embedded-new-formula." | ||
| 290 | :group 'calc | ||
| 291 | :type '(string)) | ||
| 292 | |||
| 293 | (defcustom calc-embedded-open-mode | ||
| 294 | "% " | ||
| 295 | "*A string which should precede calc-embedded mode annotations. | ||
| 296 | This is not required to be present for user-written mode annotations." | ||
| 297 | :group 'calc | ||
| 298 | :type '(string)) | ||
| 299 | |||
| 300 | (defcustom calc-embedded-close-mode | ||
| 301 | "\n" | ||
| 302 | "*A string which should follow calc-embedded mode annotations. | ||
| 303 | This is not required to be present for user-written mode annotations." | ||
| 304 | :group 'calc | ||
| 305 | :type '(string)) | ||
| 306 | |||
| 307 | (defcustom calc-gnuplot-name | ||
| 308 | "gnuplot" | ||
| 309 | "*Name of GNUPLOT program, for calc-graph features." | ||
| 310 | :group 'calc | ||
| 311 | :type '(string)) | ||
| 312 | |||
| 313 | (defcustom calc-gnuplot-plot-command | ||
| 314 | nil | ||
| 315 | "*Name of command for displaying GNUPLOT output; %s = file name to print." | ||
| 316 | :group 'calc | ||
| 317 | :type '(choice (string) (sexp))) | ||
| 318 | |||
| 319 | (defcustom calc-gnuplot-print-command | ||
| 320 | "lp %s" | ||
| 321 | "*Name of command for printing GNUPLOT output; %s = file name to print." | ||
| 322 | :group 'calc | ||
| 323 | :type '(choice (string) (sexp))) | ||
| 212 | 324 | ||
| 213 | (defvar calc-bug-address "belanger@truman.edu" | 325 | (defvar calc-bug-address "belanger@truman.edu" |
| 214 | "Address of the author of Calc, for use by `report-calc-bug'.") | 326 | "Address of the author of Calc, for use by `report-calc-bug'.") |
diff --git a/lisp/emacs-lisp/autoload.el b/lisp/emacs-lisp/autoload.el index 0a75a43827e..68d1287d98c 100644 --- a/lisp/emacs-lisp/autoload.el +++ b/lisp/emacs-lisp/autoload.el | |||
| @@ -72,7 +72,7 @@ or macro definition or a defcustom)." | |||
| 72 | (let ((car (car-safe form)) expand) | 72 | (let ((car (car-safe form)) expand) |
| 73 | (cond | 73 | (cond |
| 74 | ;; For complex cases, try again on the macro-expansion. | 74 | ;; For complex cases, try again on the macro-expansion. |
| 75 | ((and (memq car '(easy-mmode-define-global-mode | 75 | ((and (memq car '(easy-mmode-define-global-mode define-global-minor-mode |
| 76 | easy-mmode-define-minor-mode define-minor-mode)) | 76 | easy-mmode-define-minor-mode define-minor-mode)) |
| 77 | (setq expand (let ((load-file-name file)) (macroexpand form))) | 77 | (setq expand (let ((load-file-name file)) (macroexpand form))) |
| 78 | (eq (car expand) 'progn) | 78 | (eq (car expand) 'progn) |
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index b6b91710ed4..a96b1741139 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; easy-mmode.el --- easy definition for major and minor modes | 1 | ;;; easy-mmode.el --- easy definition for major and minor modes |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997,2000,01,02,03,2004 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 2000, 2001, 2002, 2003, 2004, 2005 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: Georges Brun-Cottan <Georges.Brun-Cottan@inria.fr> | 6 | ;; Author: Georges Brun-Cottan <Georges.Brun-Cottan@inria.fr> |
| 6 | ;; Maintainer: Stefan Monnier <monnier@gnu.org> | 7 | ;; Maintainer: Stefan Monnier <monnier@gnu.org> |
| @@ -152,8 +153,8 @@ For example, you could write | |||
| 152 | (unless group | 153 | (unless group |
| 153 | ;; We might as well provide a best-guess default group. | 154 | ;; We might as well provide a best-guess default group. |
| 154 | (setq group | 155 | (setq group |
| 155 | `(:group ',(or (custom-current-group) | 156 | `(:group (or (custom-current-group) |
| 156 | (intern (replace-regexp-in-string | 157 | ',(intern (replace-regexp-in-string |
| 157 | "-mode\\'" "" mode-name)))))) | 158 | "-mode\\'" "" mode-name)))))) |
| 158 | 159 | ||
| 159 | `(progn | 160 | `(progn |
| @@ -253,8 +254,9 @@ With zero or negative ARG turn mode off. | |||
| 253 | ;;; | 254 | ;;; |
| 254 | 255 | ||
| 255 | ;;;###autoload | 256 | ;;;###autoload |
| 256 | (defmacro easy-mmode-define-global-mode (global-mode mode turn-on | 257 | (defalias 'easy-mmode-define-global-mode 'define-global-minor-mode) |
| 257 | &rest keys) | 258 | ;;;###autoload |
| 259 | (defmacro define-global-minor-mode (global-mode mode turn-on &rest keys) | ||
| 258 | "Make GLOBAL-MODE out of the buffer-local minor MODE. | 260 | "Make GLOBAL-MODE out of the buffer-local minor MODE. |
| 259 | TURN-ON is a function that will be called with no args in every buffer | 261 | TURN-ON is a function that will be called with no args in every buffer |
| 260 | and that should try to turn MODE on if applicable for that buffer. | 262 | and that should try to turn MODE on if applicable for that buffer. |
| @@ -278,8 +280,8 @@ KEYS is a list of CL-style keyword arguments: | |||
| 278 | (unless group | 280 | (unless group |
| 279 | ;; We might as well provide a best-guess default group. | 281 | ;; We might as well provide a best-guess default group. |
| 280 | (setq group | 282 | (setq group |
| 281 | `(:group ',(or (custom-current-group) | 283 | `(:group (or (custom-current-group) |
| 282 | (intern (replace-regexp-in-string | 284 | ',(intern (replace-regexp-in-string |
| 283 | "-mode\\'" "" (symbol-name mode))))))) | 285 | "-mode\\'" "" (symbol-name mode))))))) |
| 284 | 286 | ||
| 285 | `(progn | 287 | `(progn |
diff --git a/lisp/files.el b/lisp/files.el index 15d6f794e16..eca86c52a79 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -291,7 +291,7 @@ from `mode-require-final-newline'." | |||
| 291 | :group 'editing-basics) | 291 | :group 'editing-basics) |
| 292 | 292 | ||
| 293 | (defcustom mode-require-final-newline t | 293 | (defcustom mode-require-final-newline t |
| 294 | "*Whether to add a newline at the end of the file, in certain major modes. | 294 | "*Whether to add a newline at end of file, in certain major modes. |
| 295 | Those modes set `require-final-newline' to this value when you enable them. | 295 | Those modes set `require-final-newline' to this value when you enable them. |
| 296 | They do so because they are used for files that are supposed | 296 | They do so because they are used for files that are supposed |
| 297 | to end in newlines, and the question is how to arrange that. | 297 | to end in newlines, and the question is how to arrange that. |
| @@ -299,10 +299,16 @@ to end in newlines, and the question is how to arrange that. | |||
| 299 | A value of t means do this only when the file is about to be saved. | 299 | A value of t means do this only when the file is about to be saved. |
| 300 | A value of `visit' means do this right after the file is visited. | 300 | A value of `visit' means do this right after the file is visited. |
| 301 | A value of `visit-save' means do it at both of those times. | 301 | A value of `visit-save' means do it at both of those times. |
| 302 | Any other non-nil value means ask user whether to add a newline, when saving." | 302 | Any other non-nil value means ask user whether to add a newline, when saving. |
| 303 | nil means don't add newlines. | ||
| 304 | |||
| 305 | You will have to be careful if you set this to nil: you will have | ||
| 306 | to remember to manually add a final newline whenever you finish a | ||
| 307 | file that really needs one." | ||
| 303 | :type '(choice (const :tag "When visiting" visit) | 308 | :type '(choice (const :tag "When visiting" visit) |
| 304 | (const :tag "When saving" t) | 309 | (const :tag "When saving" t) |
| 305 | (const :tag "When visiting or saving" visit-save) | 310 | (const :tag "When visiting or saving" visit-save) |
| 311 | (const :tag "Never" nil) | ||
| 306 | (other :tag "Ask" ask)) | 312 | (other :tag "Ask" ask)) |
| 307 | :group 'editing-basics | 313 | :group 'editing-basics |
| 308 | :version "22.1") | 314 | :version "22.1") |
diff --git a/lisp/generic.el b/lisp/generic.el index 014419edf34..78d329b358f 100644 --- a/lisp/generic.el +++ b/lisp/generic.el | |||
| @@ -217,58 +217,72 @@ FUNCTION-LIST is a list of functions to call to do some | |||
| 217 | additional setup. | 217 | additional setup. |
| 218 | 218 | ||
| 219 | See the file generic-x.el for some examples of `define-generic-mode'." | 219 | See the file generic-x.el for some examples of `define-generic-mode'." |
| 220 | (let* ((name-unquoted (if (eq (car-safe mode) 'quote) ; Backward compatibility. | 220 | (declare (debug (sexp def-form def-form def-form form def-form |
| 221 | (eval mode) | 221 | &optional stringp)) |
| 222 | mode)) | 222 | (indent 1)) |
| 223 | (name-string (symbol-name name-unquoted)) | 223 | |
| 224 | ;; Backward compatibility. | ||
| 225 | (when (eq (car-safe mode) 'quote) | ||
| 226 | (setq mode (eval mode))) | ||
| 227 | (let* ((mode-name (symbol-name mode)) | ||
| 224 | (pretty-name (capitalize (replace-regexp-in-string | 228 | (pretty-name (capitalize (replace-regexp-in-string |
| 225 | "-mode\\'" "" name-string)))) | 229 | "-mode\\'" "" mode-name))) |
| 230 | (mode-hook (intern (concat mode-name "-hook")))) | ||
| 226 | 231 | ||
| 227 | `(progn | 232 | `(progn |
| 228 | ;; Add a new entry. | 233 | ;; Add a new entry. |
| 229 | (add-to-list 'generic-mode-list ,name-string) | 234 | (add-to-list 'generic-mode-list ,mode-name) |
| 230 | 235 | ||
| 231 | ;; Add it to auto-mode-alist | 236 | ;; Add it to auto-mode-alist |
| 232 | (dolist (re ,auto-mode-list) | 237 | (dolist (re ,auto-mode-list) |
| 233 | (add-to-list 'auto-mode-alist (cons re ',name-unquoted))) | 238 | (add-to-list 'auto-mode-alist (cons re ',mode))) |
| 234 | 239 | ||
| 235 | (defun ,name-unquoted () | 240 | (defcustom ,mode-hook nil |
| 241 | ,(concat "Hook run when entering " pretty-name " mode.") | ||
| 242 | :type 'hook | ||
| 243 | :group (or (custom-current-group) | ||
| 244 | ',(intern (replace-regexp-in-string | ||
| 245 | "-mode\\'" "" mode-name)))) | ||
| 246 | |||
| 247 | (defun ,mode () | ||
| 236 | ,(or docstring | 248 | ,(or docstring |
| 237 | (concat pretty-name " mode.\n" | 249 | (concat pretty-name " mode.\n" |
| 238 | "This a generic mode defined with `define-generic-mode'.")) | 250 | "This a generic mode defined with `define-generic-mode'.")) |
| 239 | (interactive) | 251 | (interactive) |
| 240 | (generic-mode-internal ',name-unquoted ,comment-list ,keyword-list | 252 | (generic-mode-internal ',mode ,comment-list ,keyword-list |
| 241 | ,font-lock-list ,function-list))))) | 253 | ,font-lock-list ,function-list))))) |
| 242 | 254 | ||
| 243 | ;;;###autoload | 255 | ;;;###autoload |
| 244 | (defun generic-mode-internal (mode comments keywords font-lock-list funs) | 256 | (defun generic-mode-internal (mode comment-list keyword-list |
| 257 | font-lock-list function-list) | ||
| 245 | "Go into the generic mode MODE." | 258 | "Go into the generic mode MODE." |
| 246 | (let* ((modename (symbol-name mode)) | 259 | (let* ((mode-name (symbol-name mode)) |
| 247 | (generic-mode-hooks (intern (concat modename "-hook"))) | ||
| 248 | (pretty-name (capitalize (replace-regexp-in-string | 260 | (pretty-name (capitalize (replace-regexp-in-string |
| 249 | "-mode\\'" "" modename)))) | 261 | "-mode\\'" "" mode-name))) |
| 262 | (mode-hook (intern (concat mode-name "-hook")))) | ||
| 250 | 263 | ||
| 251 | (kill-all-local-variables) | 264 | (kill-all-local-variables) |
| 252 | 265 | ||
| 253 | (setq major-mode mode | 266 | (setq major-mode mode |
| 254 | mode-name pretty-name) | 267 | mode-name pretty-name) |
| 255 | 268 | ||
| 256 | (generic-mode-set-comments comments) | 269 | (generic-mode-set-comments comment-list) |
| 257 | 270 | ||
| 258 | ;; Font-lock functionality. | 271 | ;; Font-lock functionality. |
| 259 | ;; Font-lock-defaults is always set even if there are no keywords | 272 | ;; Font-lock-defaults is always set even if there are no keywords |
| 260 | ;; or font-lock expressions, so comments can be highlighted. | 273 | ;; or font-lock expressions, so comments can be highlighted. |
| 261 | (setq generic-font-lock-keywords | 274 | (setq generic-font-lock-keywords |
| 262 | (append | 275 | (append |
| 263 | (when keywords | 276 | (when keyword-list |
| 264 | (list (generic-make-keywords-list keywords font-lock-keyword-face))) | 277 | (list (generic-make-keywords-list keyword-list |
| 278 | font-lock-keyword-face))) | ||
| 265 | font-lock-list)) | 279 | font-lock-list)) |
| 266 | (setq font-lock-defaults '(generic-font-lock-keywords nil)) | 280 | (setq font-lock-defaults '(generic-font-lock-keywords nil)) |
| 267 | 281 | ||
| 268 | ;; Call a list of functions | 282 | ;; Call a list of functions |
| 269 | (mapcar 'funcall funs) | 283 | (mapcar 'funcall function-list) |
| 270 | 284 | ||
| 271 | (run-hooks generic-mode-hooks))) | 285 | (run-mode-hooks mode-hook))) |
| 272 | 286 | ||
| 273 | ;;;###autoload | 287 | ;;;###autoload |
| 274 | (defun generic-mode (mode) | 288 | (defun generic-mode (mode) |
| @@ -392,7 +406,7 @@ This hook will be installed if the variable | |||
| 392 | 406 | ||
| 393 | (defun generic-mode-ini-file-find-file-hook () | 407 | (defun generic-mode-ini-file-find-file-hook () |
| 394 | "Hook function to enter Default-Generic mode automatically for INI files. | 408 | "Hook function to enter Default-Generic mode automatically for INI files. |
| 395 | Done if the first few lines of a file in Fundamental mode look like an | 409 | Done if the first few lines of a file in Fundamental mode look like an |
| 396 | INI file. This hook is NOT installed by default." | 410 | INI file. This hook is NOT installed by default." |
| 397 | (and (eq major-mode 'fundamental-mode) | 411 | (and (eq major-mode 'fundamental-mode) |
| 398 | (save-excursion | 412 | (save-excursion |
diff --git a/lisp/ido.el b/lisp/ido.el index 86a88d0d491..ddeecbb9b69 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -1935,19 +1935,21 @@ If INITIAL is non-nil, it specifies the initial input string." | |||
| 1935 | ;; Internal function for ido-find-file and friends | 1935 | ;; Internal function for ido-find-file and friends |
| 1936 | (unless item | 1936 | (unless item |
| 1937 | (setq item 'file)) | 1937 | (setq item 'file)) |
| 1938 | (let* ((ido-current-directory (ido-expand-directory default)) | 1938 | (let ((ido-current-directory (ido-expand-directory default)) |
| 1939 | (ido-directory-nonreadable (ido-nonreadable-directory-p ido-current-directory)) | 1939 | (ido-context-switch-command switch-cmd) |
| 1940 | (ido-directory-too-big (and (not ido-directory-nonreadable) | 1940 | ido-directory-nonreadable ido-directory-too-big |
| 1941 | (ido-directory-too-big-p ido-current-directory))) | 1941 | filename) |
| 1942 | (ido-context-switch-command switch-cmd) | 1942 | |
| 1943 | filename) | 1943 | (if (or (not ido-mode) (ido-is-slow-ftp-host)) |
| 1944 | 1944 | (setq filename t | |
| 1945 | (cond | 1945 | ido-exit 'fallback) |
| 1946 | ((or (not ido-mode) (ido-is-slow-ftp-host)) | 1946 | (setq ido-directory-nonreadable |
| 1947 | (setq filename t | 1947 | (ido-nonreadable-directory-p ido-current-directory) |
| 1948 | ido-exit 'fallback)) | 1948 | ido-directory-too-big |
| 1949 | 1949 | (and (not ido-directory-nonreadable) | |
| 1950 | ((and (eq item 'file) | 1950 | (ido-directory-too-big-p ido-current-directory)))) |
| 1951 | |||
| 1952 | (when (and (eq item 'file) | ||
| 1951 | (or ido-use-url-at-point ido-use-filename-at-point)) | 1953 | (or ido-use-url-at-point ido-use-filename-at-point)) |
| 1952 | (let (fn d) | 1954 | (let (fn d) |
| 1953 | (require 'ffap) | 1955 | (require 'ffap) |
| @@ -1966,7 +1968,7 @@ If INITIAL is non-nil, it specifies the initial input string." | |||
| 1966 | (setq d (file-name-directory fn)) | 1968 | (setq d (file-name-directory fn)) |
| 1967 | (file-directory-p d)) | 1969 | (file-directory-p d)) |
| 1968 | (setq ido-current-directory d) | 1970 | (setq ido-current-directory d) |
| 1969 | (setq initial (file-name-nondirectory fn))))))) | 1971 | (setq initial (file-name-nondirectory fn)))))) |
| 1970 | 1972 | ||
| 1971 | (let (ido-saved-vc-hb | 1973 | (let (ido-saved-vc-hb |
| 1972 | (vc-handled-backends (and (boundp 'vc-handled-backends) vc-handled-backends)) | 1974 | (vc-handled-backends (and (boundp 'vc-handled-backends) vc-handled-backends)) |
diff --git a/lisp/language/thai-word.el b/lisp/language/thai-word.el index 9c3ba81859e..2548a44ea80 100644 --- a/lisp/language/thai-word.el +++ b/lisp/language/thai-word.el | |||
| @@ -10780,7 +10780,7 @@ the current word list." | |||
| 10780 | ;; character by character. | 10780 | ;; character by character. |
| 10781 | (while this | 10781 | (while this |
| 10782 | (setq pos (1+ pos) | 10782 | (setq pos (1+ pos) |
| 10783 | char (char-after pos) | 10783 | char (or (char-after pos) 0) |
| 10784 | category-set (char-category-set char)) | 10784 | category-set (char-category-set char)) |
| 10785 | ;; If the current sequence is recorded in `thai-word-table' | 10785 | ;; If the current sequence is recorded in `thai-word-table' |
| 10786 | ;; (i.e. (car THIS) is 1) and the following Thai character is | 10786 | ;; (i.e. (car THIS) is 1) and the following Thai character is |
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index a150259efea..7106bf80bd5 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -1622,13 +1622,15 @@ a remote mailbox, PASSWORD is the password if it should be | |||
| 1622 | supplied as a separate argument to `movemail' or nil otherwise, GOT-PASSWORD | 1622 | supplied as a separate argument to `movemail' or nil otherwise, GOT-PASSWORD |
| 1623 | is non-nil if the user has supplied the password interactively. | 1623 | is non-nil if the user has supplied the password interactively. |
| 1624 | " | 1624 | " |
| 1625 | (if (string-match "^\\([^:]+\\)://\\(\\([^:@]+\\)\\(:\\([^@]+\\)\\)?@\\)?.*" file) | 1625 | (cond |
| 1626 | ((string-match "^\\([^:]+\\)://\\(\\([^:@]+\\)\\(:\\([^@]+\\)\\)?@\\)?.*" file) | ||
| 1626 | (let (got-password supplied-password | 1627 | (let (got-password supplied-password |
| 1627 | (proto (match-string 1 file)) | 1628 | (proto (match-string 1 file)) |
| 1628 | (user (match-string 3 file)) | 1629 | (user (match-string 3 file)) |
| 1629 | (pass (match-string 5 file)) | 1630 | (pass (match-string 5 file)) |
| 1630 | (host (substring file (or (match-end 2) | 1631 | (host (substring file (or (match-end 2) |
| 1631 | (+ 3 (match-end 1)))))) | 1632 | (+ 3 (match-end 1)))))) |
| 1633 | |||
| 1632 | (if (not pass) | 1634 | (if (not pass) |
| 1633 | (when rmail-remote-password-required | 1635 | (when rmail-remote-password-required |
| 1634 | (setq got-password (not (rmail-have-password))) | 1636 | (setq got-password (not (rmail-have-password))) |
| @@ -1645,8 +1647,22 @@ is non-nil if the user has supplied the password interactively. | |||
| 1645 | (list file | 1647 | (list file |
| 1646 | (or (string-equal proto "pop") (string-equal proto "imap")) | 1648 | (or (string-equal proto "pop") (string-equal proto "imap")) |
| 1647 | supplied-password | 1649 | supplied-password |
| 1648 | got-password))) | 1650 | got-password)))) |
| 1649 | (list file nil nil nil))) | 1651 | |
| 1652 | ((string-match "^po:\\([^:]+\\)\\(:\\(.*\\)\\)?" file) | ||
| 1653 | (let (got-password supplied-password | ||
| 1654 | (proto "pop") | ||
| 1655 | (user (match-string 1 file)) | ||
| 1656 | (host (match-string 3 file))) | ||
| 1657 | |||
| 1658 | (when rmail-remote-password-required | ||
| 1659 | (setq got-password (not (rmail-have-password))) | ||
| 1660 | (setq supplied-password (rmail-get-remote-password nil))) | ||
| 1661 | |||
| 1662 | (list file "pop" supplied-password got-password))) | ||
| 1663 | |||
| 1664 | (t | ||
| 1665 | (list file nil nil nil)))) | ||
| 1650 | 1666 | ||
| 1651 | (defun rmail-insert-inbox-text (files renamep) | 1667 | (defun rmail-insert-inbox-text (files renamep) |
| 1652 | ;; Detect a locked file now, so that we avoid moving mail | 1668 | ;; Detect a locked file now, so that we avoid moving mail |
| @@ -1686,15 +1702,7 @@ is non-nil if the user has supplied the password interactively. | |||
| 1686 | (expand-file-name buffer-file-name)))) | 1702 | (expand-file-name buffer-file-name)))) |
| 1687 | ;; Always use movemail to rename the file, | 1703 | ;; Always use movemail to rename the file, |
| 1688 | ;; since there can be mailboxes in various directories. | 1704 | ;; since there can be mailboxes in various directories. |
| 1689 | (setq movemail t) | 1705 | (if (not popmail) |
| 1690 | ;;; ;; If getting from mail spool directory, | ||
| 1691 | ;;; ;; use movemail to move rather than just renaming, | ||
| 1692 | ;;; ;; so as to interlock with the mailer. | ||
| 1693 | ;;; (setq movemail (string= file | ||
| 1694 | ;;; (file-truename | ||
| 1695 | ;;; (concat rmail-spool-directory | ||
| 1696 | ;;; (file-name-nondirectory file))))) | ||
| 1697 | (if (and movemail (not popmail)) | ||
| 1698 | (progn | 1706 | (progn |
| 1699 | ;; On some systems, /usr/spool/mail/foo is a directory | 1707 | ;; On some systems, /usr/spool/mail/foo is a directory |
| 1700 | ;; and the actual inbox is /usr/spool/mail/foo/foo. | 1708 | ;; and the actual inbox is /usr/spool/mail/foo/foo. |
| @@ -1716,23 +1724,6 @@ is non-nil if the user has supplied the password interactively. | |||
| 1716 | ((or (file-exists-p tofile) (and (not popmail) | 1724 | ((or (file-exists-p tofile) (and (not popmail) |
| 1717 | (not (file-exists-p file)))) | 1725 | (not (file-exists-p file)))) |
| 1718 | nil) | 1726 | nil) |
| 1719 | ((and (not movemail) (not popmail)) | ||
| 1720 | ;; Try copying. If that fails (perhaps no space) and | ||
| 1721 | ;; we're allowed to blow away the inbox, rename instead. | ||
| 1722 | (if rmail-preserve-inbox | ||
| 1723 | (copy-file file tofile nil) | ||
| 1724 | (condition-case nil | ||
| 1725 | (copy-file file tofile nil) | ||
| 1726 | (error | ||
| 1727 | ;; Third arg is t so we can replace existing file TOFILE. | ||
| 1728 | (rename-file file tofile t)))) | ||
| 1729 | ;; Make the real inbox file empty. | ||
| 1730 | ;; Leaving it deleted could cause lossage | ||
| 1731 | ;; because mailers often won't create the file. | ||
| 1732 | (if (not rmail-preserve-inbox) | ||
| 1733 | (condition-case () | ||
| 1734 | (write-region (point) (point) file) | ||
| 1735 | (file-error nil)))) | ||
| 1736 | (t | 1727 | (t |
| 1737 | (with-temp-buffer | 1728 | (with-temp-buffer |
| 1738 | (let ((errors (current-buffer))) | 1729 | (let ((errors (current-buffer))) |
diff --git a/lisp/mouse.el b/lisp/mouse.el index fdc99205780..a409efadeca 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el | |||
| @@ -49,7 +49,7 @@ | |||
| 49 | :version "22.1" | 49 | :version "22.1" |
| 50 | :group 'mouse) | 50 | :group 'mouse) |
| 51 | 51 | ||
| 52 | (defcustom mouse-1-click-follows-link 350 | 52 | (defcustom mouse-1-click-follows-link 450 |
| 53 | "Non-nil means that clicking Mouse-1 on a link follows the link. | 53 | "Non-nil means that clicking Mouse-1 on a link follows the link. |
| 54 | 54 | ||
| 55 | With the default setting, an ordinary Mouse-1 click on a link | 55 | With the default setting, an ordinary Mouse-1 click on a link |
| @@ -837,6 +837,29 @@ at the same position." | |||
| 837 | (funcall action pos)) | 837 | (funcall action pos)) |
| 838 | (t action))))))) | 838 | (t action))))))) |
| 839 | 839 | ||
| 840 | (defun mouse-fixup-help-message (msg) | ||
| 841 | "Fix help message MSG for `mouse-1-click-follows-link'." | ||
| 842 | (let (mp pos) | ||
| 843 | (if (and mouse-1-click-follows-link | ||
| 844 | (stringp msg) | ||
| 845 | (save-match-data | ||
| 846 | (string-match "^mouse-2" msg)) | ||
| 847 | (setq mp (mouse-pixel-position)) | ||
| 848 | (consp (setq pos (cdr mp))) | ||
| 849 | (car pos) (>= (car pos) 0) | ||
| 850 | (cdr pos) (>= (cdr pos) 0) | ||
| 851 | (setq pos (posn-at-x-y (car pos) (cdr pos) (car mp))) | ||
| 852 | (windowp (posn-window pos))) | ||
| 853 | (with-current-buffer (window-buffer (posn-window pos)) | ||
| 854 | (if (mouse-on-link-p pos) | ||
| 855 | (setq msg (concat | ||
| 856 | (cond | ||
| 857 | ((eq mouse-1-click-follows-link 'double) "double-") | ||
| 858 | ((and (integerp mouse-1-click-follows-link) | ||
| 859 | (< mouse-1-click-follows-link 0)) "Long ") | ||
| 860 | (t "")) | ||
| 861 | "mouse-1" (substring msg 7))))))) | ||
| 862 | msg) | ||
| 840 | 863 | ||
| 841 | (defun mouse-drag-region-1 (start-event) | 864 | (defun mouse-drag-region-1 (start-event) |
| 842 | (mouse-minibuffer-check start-event) | 865 | (mouse-minibuffer-check start-event) |
| @@ -886,6 +909,7 @@ at the same position." | |||
| 886 | (track-mouse | 909 | (track-mouse |
| 887 | (while (progn | 910 | (while (progn |
| 888 | (setq event (read-event)) | 911 | (setq event (read-event)) |
| 912 | (setq mve (cons event (and (boundp 'mve) mve))) | ||
| 889 | (or (mouse-movement-p event) | 913 | (or (mouse-movement-p event) |
| 890 | (memq (car-safe event) '(switch-frame select-window)))) | 914 | (memq (car-safe event) '(switch-frame select-window)))) |
| 891 | (if (memq (car-safe event) '(switch-frame select-window)) | 915 | (if (memq (car-safe event) '(switch-frame select-window)) |
| @@ -997,7 +1021,7 @@ at the same position." | |||
| 997 | (= (window-start start-window) | 1021 | (= (window-start start-window) |
| 998 | start-window-start))) | 1022 | start-window-start))) |
| 999 | (if (and on-link | 1023 | (if (and on-link |
| 1000 | (not end-point) | 1024 | (or (not end-point) (= end-point start-point)) |
| 1001 | (consp event) | 1025 | (consp event) |
| 1002 | (or remap-double-click | 1026 | (or remap-double-click |
| 1003 | (and | 1027 | (and |
diff --git a/lisp/pcvs.el b/lisp/pcvs.el index b00de07e50f..7330960b93e 100644 --- a/lisp/pcvs.el +++ b/lisp/pcvs.el | |||
| @@ -358,7 +358,7 @@ from the current buffer." | |||
| 358 | (dir default-directory) | 358 | (dir default-directory) |
| 359 | (buf (cond | 359 | (buf (cond |
| 360 | (name (cvs-get-buffer-create name)) | 360 | (name (cvs-get-buffer-create name)) |
| 361 | ((and (bufferp cvs-temp-buffer) (buffer-name cvs-temp-buffer)) | 361 | ((and (bufferp cvs-temp-buffer) (buffer-live-p cvs-temp-buffer)) |
| 362 | cvs-temp-buffer) | 362 | cvs-temp-buffer) |
| 363 | (t | 363 | (t |
| 364 | (set (make-local-variable 'cvs-temp-buffer) | 364 | (set (make-local-variable 'cvs-temp-buffer) |
| @@ -528,39 +528,49 @@ If non-nil, NEW means to create a new buffer no matter what." | |||
| 528 | (files (nth 1 dir+files+rest)) | 528 | (files (nth 1 dir+files+rest)) |
| 529 | (rest (nth 2 dir+files+rest))) | 529 | (rest (nth 2 dir+files+rest))) |
| 530 | 530 | ||
| 531 | ;; setup the (current) process buffer | ||
| 532 | (set (make-local-variable 'cvs-postprocess) | ||
| 533 | (if (null rest) | ||
| 534 | ;; this is the last invocation | ||
| 535 | postprocess | ||
| 536 | ;; else, we have to register ourselves to be rerun on the rest | ||
| 537 | `(cvs-run-process ',args ',rest ',postprocess ',single-dir))) | ||
| 538 | (add-hook 'kill-buffer-hook | 531 | (add-hook 'kill-buffer-hook |
| 539 | (lambda () | 532 | (lambda () |
| 540 | (let ((proc (get-buffer-process (current-buffer)))) | 533 | (let ((proc (get-buffer-process (current-buffer)))) |
| 541 | (when (processp proc) | 534 | (when (processp proc) |
| 542 | (set-process-filter proc nil) | 535 | (set-process-filter proc nil) |
| 543 | (set-process-sentinel proc nil) | 536 | ;; Abort postprocessing but leave the sentinel so it |
| 544 | (delete-process proc)))) | 537 | ;; will update the list of running procs. |
| 538 | (process-put proc 'cvs-postprocess nil) | ||
| 539 | (interrupt-process proc)))) | ||
| 545 | nil t) | 540 | nil t) |
| 546 | 541 | ||
| 547 | ;; create the new process and setup the procbuffer correspondingly | 542 | ;; create the new process and setup the procbuffer correspondingly |
| 548 | (let* ((args (append (cvs-flags-query 'cvs-cvs-flags nil 'noquery) | 543 | (let* ((msg (cvs-header-msg args fis)) |
| 544 | (args (append (cvs-flags-query 'cvs-cvs-flags nil 'noquery) | ||
| 549 | (if cvs-cvsroot (list "-d" cvs-cvsroot)) | 545 | (if cvs-cvsroot (list "-d" cvs-cvsroot)) |
| 550 | args | 546 | args |
| 551 | files)) | 547 | files)) |
| 552 | ;; If process-connection-type is nil and the repository | 548 | ;; If process-connection-type is nil and the repository |
| 553 | ;; is accessed via SSH, a bad interaction between libc, | 549 | ;; is accessed via SSH, a bad interaction between libc, |
| 554 | ;; CVS and SSH can lead to garbled output. | 550 | ;; CVS and SSH can lead to garbled output. |
| 555 | ;; It might be a glibc-specific problem (but it also happens | 551 | ;; It might be a glibc-specific problem (but it can also happens |
| 556 | ;; under Mac OS X, it seems). | 552 | ;; under Mac OS X, it seems). |
| 557 | ;; Until the problem is cleared, we'll use a pty rather than | 553 | ;; It seems that using a pty can help circumvent the problem, |
| 558 | ;; a pipe. | 554 | ;; but at the cost of screwing up when the process thinks it |
| 559 | ;; (process-connection-type nil) ; Use a pipe, not a pty. | 555 | ;; can ask for user input (such as password or host-key |
| 556 | ;; confirmation). A better workaround is to set CVS_RSH to | ||
| 557 | ;; an appropriate script, or to use a later version of CVS. | ||
| 558 | (process-connection-type nil) ; Use a pipe, not a pty. | ||
| 560 | (process | 559 | (process |
| 561 | ;; the process will be run in the selected dir | 560 | ;; the process will be run in the selected dir |
| 562 | (let ((default-directory (cvs-expand-dir-name dir))) | 561 | (let ((default-directory (cvs-expand-dir-name dir))) |
| 563 | (apply 'start-process "cvs" procbuf cvs-program args)))) | 562 | (apply 'start-process "cvs" procbuf cvs-program args)))) |
| 563 | ;; setup the process. | ||
| 564 | (process-put process 'cvs-buffer cvs-buffer) | ||
| 565 | (with-current-buffer cvs-buffer (cvs-update-header msg 'add)) | ||
| 566 | (process-put process 'cvs-header msg) | ||
| 567 | (process-put | ||
| 568 | process 'cvs-postprocess | ||
| 569 | (if (null rest) | ||
| 570 | ;; this is the last invocation | ||
| 571 | postprocess | ||
| 572 | ;; else, we have to register ourselves to be rerun on the rest | ||
| 573 | `(cvs-run-process ',args ',rest ',postprocess ',single-dir))) | ||
| 564 | (set-process-sentinel process 'cvs-sentinel) | 574 | (set-process-sentinel process 'cvs-sentinel) |
| 565 | (set-process-filter process 'cvs-update-filter) | 575 | (set-process-filter process 'cvs-update-filter) |
| 566 | (set-marker (process-mark process) (point-max)) | 576 | (set-marker (process-mark process) (point-max)) |
| @@ -636,33 +646,35 @@ If non-nil, NEW means to create a new buffer no matter what." | |||
| 636 | This is responsible for parsing the output from the cvs update when | 646 | This is responsible for parsing the output from the cvs update when |
| 637 | it is finished." | 647 | it is finished." |
| 638 | (when (memq (process-status proc) '(signal exit)) | 648 | (when (memq (process-status proc) '(signal exit)) |
| 639 | (if (null (buffer-name (process-buffer proc))) | 649 | (let ((cvs-postproc (process-get proc 'cvs-postprocess)) |
| 640 | ;;(set-process-buffer proc nil) | 650 | (cvs-buf (process-get proc 'cvs-buffer))) |
| 641 | (error "cvs' process buffer was killed") | 651 | ;; Since the buffer and mode line will show that the |
| 642 | (let* ((obuf (current-buffer)) | 652 | ;; process is dead, we can delete it now. Otherwise it |
| 643 | (procbuffer (process-buffer proc))) | 653 | ;; will stay around until M-x list-processes. |
| 644 | (set-buffer (with-current-buffer procbuffer cvs-buffer)) | 654 | (process-put proc 'postprocess nil) |
| 645 | (setq cvs-mode-line-process (symbol-name (process-status proc))) | 655 | (delete-process proc) |
| 646 | (force-mode-line-update) | 656 | ;; Don't do anything if the main buffer doesn't exist any more. |
| 647 | (set-buffer procbuffer) | 657 | (when (buffer-live-p cvs-buf) |
| 648 | (let ((cvs-postproc cvs-postprocess)) | 658 | (with-current-buffer cvs-buf |
| 649 | ;; Since the buffer and mode line will show that the | 659 | (cvs-update-header (process-get proc 'cvs-header) nil) |
| 650 | ;; process is dead, we can delete it now. Otherwise it | 660 | (setq cvs-mode-line-process (symbol-name (process-status proc))) |
| 651 | ;; will stay around until M-x list-processes. | 661 | (force-mode-line-update) |
| 652 | (delete-process proc) | 662 | (when cvs-postproc |
| 653 | (setq cvs-postprocess nil) | 663 | (if (null (buffer-live-p (process-buffer proc))) |
| 654 | ;; do the postprocessing like parsing and such | 664 | ;;(set-process-buffer proc nil) |
| 655 | (save-excursion (eval cvs-postproc)) | 665 | (error "cvs' process buffer was killed") |
| 656 | ;; check whether something is left | 666 | (with-current-buffer (process-buffer proc) |
| 657 | (unless cvs-postprocess | 667 | ;; do the postprocessing like parsing and such |
| 658 | ;; IIRC, we enable undo again once the process is finished | 668 | (save-excursion (eval cvs-postproc)) |
| 659 | ;; for cases where the output was inserted in *vc-diff* or | 669 | ;; check whether something is left |
| 660 | ;; in a file-like buffer. -stef | 670 | (unless (get-buffer-process (current-buffer)) |
| 661 | (buffer-enable-undo) | 671 | ;; IIRC, we enable undo again once the process is finished |
| 662 | (with-current-buffer cvs-buffer | 672 | ;; for cases where the output was inserted in *vc-diff* or |
| 663 | (message "CVS process has completed in %s" (buffer-name))))) | 673 | ;; in a file-like buffer. --Stef |
| 664 | ;; This might not even be necessary | 674 | (buffer-enable-undo) |
| 665 | (set-buffer obuf))))) | 675 | (with-current-buffer cvs-buffer |
| 676 | (message "CVS process has completed in %s" | ||
| 677 | (buffer-name)))))))))))) | ||
| 666 | 678 | ||
| 667 | (defun cvs-parse-process (dcd &optional subdir old-fis) | 679 | (defun cvs-parse-process (dcd &optional subdir old-fis) |
| 668 | "Parse the output of a cvs process. | 680 | "Parse the output of a cvs process. |
| @@ -770,7 +782,7 @@ before calling the real function `" (symbol-name fun-1) "'.\n") | |||
| 770 | (defun-cvs-mode cvs-mode-kill-process () | 782 | (defun-cvs-mode cvs-mode-kill-process () |
| 771 | "Kill the temporary buffer and associated process." | 783 | "Kill the temporary buffer and associated process." |
| 772 | (interactive) | 784 | (interactive) |
| 773 | (when (and (bufferp cvs-temp-buffer) (buffer-name cvs-temp-buffer)) | 785 | (when (and (bufferp cvs-temp-buffer) (buffer-live-p cvs-temp-buffer)) |
| 774 | (let ((proc (get-buffer-process cvs-temp-buffer))) | 786 | (let ((proc (get-buffer-process cvs-temp-buffer))) |
| 775 | (when proc (delete-process proc))))) | 787 | (when proc (delete-process proc))))) |
| 776 | 788 | ||
| @@ -1133,7 +1145,7 @@ Full documentation is in the Texinfo file." | |||
| 1133 | (eq (ewoc-buffer cvs-cookies) buf) | 1145 | (eq (ewoc-buffer cvs-cookies) buf) |
| 1134 | (setq check 'cvs-temp-buffer) | 1146 | (setq check 'cvs-temp-buffer) |
| 1135 | (or (null cvs-temp-buffer) | 1147 | (or (null cvs-temp-buffer) |
| 1136 | (null (buffer-name cvs-temp-buffer)) | 1148 | (null (buffer-live-p cvs-temp-buffer)) |
| 1137 | (and (eq (with-current-buffer cvs-temp-buffer cvs-buffer) buf) | 1149 | (and (eq (with-current-buffer cvs-temp-buffer cvs-buffer) buf) |
| 1138 | (equal (with-current-buffer cvs-temp-buffer | 1150 | (equal (with-current-buffer cvs-temp-buffer |
| 1139 | default-directory) | 1151 | default-directory) |
| @@ -1822,11 +1834,6 @@ POSTPROC is a list of expressions to be evaluated at the very end (after | |||
| 1822 | ;; absence of `cvs update' output has a specific meaning. | 1834 | ;; absence of `cvs update' output has a specific meaning. |
| 1823 | (or fis (list (cvs-create-fileinfo 'DIRCHANGE "" "." "")))))) | 1835 | (or fis (list (cvs-create-fileinfo 'DIRCHANGE "" "." "")))))) |
| 1824 | (push `(cvs-parse-process ',dont-change-disc nil ',old-fis) postproc))) | 1836 | (push `(cvs-parse-process ',dont-change-disc nil ',old-fis) postproc))) |
| 1825 | (let ((msg (cvs-header-msg args fis))) | ||
| 1826 | (cvs-update-header msg 'add) | ||
| 1827 | (push `(with-current-buffer cvs-buffer | ||
| 1828 | (cvs-update-header ',msg nil)) | ||
| 1829 | postproc)) | ||
| 1830 | (setq postproc (if (cdr postproc) (cons 'progn postproc) (car postproc))) | 1837 | (setq postproc (if (cdr postproc) (cons 'progn postproc) (car postproc))) |
| 1831 | (with-current-buffer buf | 1838 | (with-current-buffer buf |
| 1832 | (let ((inhibit-read-only t)) (erase-buffer)) | 1839 | (let ((inhibit-read-only t)) (erase-buffer)) |
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el index d9ffea852d1..c792b59ad87 100644 --- a/lisp/progmodes/scheme.el +++ b/lisp/progmodes/scheme.el | |||
| @@ -90,7 +90,7 @@ | |||
| 90 | (modify-syntax-entry ?\] ")[ " st) | 90 | (modify-syntax-entry ?\] ")[ " st) |
| 91 | (modify-syntax-entry ?{ "(} " st) | 91 | (modify-syntax-entry ?{ "(} " st) |
| 92 | (modify-syntax-entry ?} "){ " st) | 92 | (modify-syntax-entry ?} "){ " st) |
| 93 | (modify-syntax-entry ?\| " 23" st) | 93 | (modify-syntax-entry ?\| "\" 23b" st) |
| 94 | 94 | ||
| 95 | ;; Other atom delimiters | 95 | ;; Other atom delimiters |
| 96 | (modify-syntax-entry ?\( "() " st) | 96 | (modify-syntax-entry ?\( "() " st) |
| @@ -103,7 +103,7 @@ | |||
| 103 | ;; Special characters | 103 | ;; Special characters |
| 104 | (modify-syntax-entry ?, "' " st) | 104 | (modify-syntax-entry ?, "' " st) |
| 105 | (modify-syntax-entry ?@ "' " st) | 105 | (modify-syntax-entry ?@ "' " st) |
| 106 | (modify-syntax-entry ?# "' 14" st) | 106 | (modify-syntax-entry ?# "' 14bn" st) |
| 107 | (modify-syntax-entry ?\\ "\\ " st) | 107 | (modify-syntax-entry ?\\ "\\ " st) |
| 108 | st)) | 108 | st)) |
| 109 | 109 | ||
diff --git a/lisp/simple.el b/lisp/simple.el index a6aa4daf04e..691ed0cf675 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -5238,6 +5238,7 @@ Enabling Visible mode makes all invisible text temporarily visible. | |||
| 5238 | Disabling Visible mode turns off that effect. Visible mode | 5238 | Disabling Visible mode turns off that effect. Visible mode |
| 5239 | works by saving the value of `buffer-invisibility-spec' and setting it to nil." | 5239 | works by saving the value of `buffer-invisibility-spec' and setting it to nil." |
| 5240 | :lighter " Vis" | 5240 | :lighter " Vis" |
| 5241 | :group 'editing-basics | ||
| 5241 | (when (local-variable-p 'vis-mode-saved-buffer-invisibility-spec) | 5242 | (when (local-variable-p 'vis-mode-saved-buffer-invisibility-spec) |
| 5242 | (setq buffer-invisibility-spec vis-mode-saved-buffer-invisibility-spec) | 5243 | (setq buffer-invisibility-spec vis-mode-saved-buffer-invisibility-spec) |
| 5243 | (kill-local-variable 'vis-mode-saved-buffer-invisibility-spec)) | 5244 | (kill-local-variable 'vis-mode-saved-buffer-invisibility-spec)) |
diff --git a/lisp/tooltip.el b/lisp/tooltip.el index e6a85439166..59f82c12e31 100644 --- a/lisp/tooltip.el +++ b/lisp/tooltip.el | |||
| @@ -469,27 +469,7 @@ This function must return nil if it doesn't handle EVENT." | |||
| 469 | (defun tooltip-show-help-function (msg) | 469 | (defun tooltip-show-help-function (msg) |
| 470 | "Function installed as `show-help-function'. | 470 | "Function installed as `show-help-function'. |
| 471 | MSG is either a help string to display, or nil to cancel the display." | 471 | MSG is either a help string to display, or nil to cancel the display." |
| 472 | (let ((previous-help tooltip-help-message) | 472 | (let ((previous-help tooltip-help-message)) |
| 473 | mp pos) | ||
| 474 | (if (and mouse-1-click-follows-link | ||
| 475 | (stringp msg) | ||
| 476 | (save-match-data | ||
| 477 | (string-match "^mouse-2" msg)) | ||
| 478 | (setq mp (mouse-pixel-position)) | ||
| 479 | (consp (setq pos (cdr mp))) | ||
| 480 | (car pos) (>= (car pos) 0) | ||
| 481 | (cdr pos) (>= (cdr pos) 0) | ||
| 482 | (setq pos (posn-at-x-y (car pos) (cdr pos) (car mp))) | ||
| 483 | (windowp (posn-window pos))) | ||
| 484 | (with-current-buffer (window-buffer (posn-window pos)) | ||
| 485 | (if (mouse-on-link-p pos) | ||
| 486 | (setq msg (concat | ||
| 487 | (cond | ||
| 488 | ((eq mouse-1-click-follows-link 'double) "double-") | ||
| 489 | ((and (integerp mouse-1-click-follows-link) | ||
| 490 | (< mouse-1-click-follows-link 0)) "Long ") | ||
| 491 | (t "")) | ||
| 492 | "mouse-1" (substring msg 7)))))) | ||
| 493 | (setq tooltip-help-message msg) | 473 | (setq tooltip-help-message msg) |
| 494 | (cond ((null msg) | 474 | (cond ((null msg) |
| 495 | ;; Cancel display. This also cancels a delayed tip, if | 475 | ;; Cancel display. This also cancels a delayed tip, if |
diff --git a/lisp/url/vc-dav.el b/lisp/url/vc-dav.el new file mode 100644 index 00000000000..3bf03165564 --- /dev/null +++ b/lisp/url/vc-dav.el | |||
| @@ -0,0 +1,184 @@ | |||
| 1 | ;;; vc-dav.el --- vc.el support for WebDAV | ||
| 2 | |||
| 3 | ;; Copyright (C) 2001 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; Author: Bill Perry <wmperry@gnu.org> | ||
| 6 | ;; Maintainer: Bill Perry <wmperry@gnu.org> | ||
| 7 | ;; Keywords: url, vc | ||
| 8 | |||
| 9 | ;; GNU Emacs is free software; you can redistribute it and/or modify | ||
| 10 | ;; it under the terms of the GNU General Public License as published by | ||
| 11 | ;; the Free Software Foundation; either version 2, or (at your option) | ||
| 12 | ;; any later version. | ||
| 13 | |||
| 14 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 15 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | ;; GNU General Public License for more details. | ||
| 18 | |||
| 19 | ;; You should have received a copy of the GNU General Public License | ||
| 20 | ;; along with GNU Emacs; see the file COPYING. If not, write to the | ||
| 21 | ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
| 22 | ;; Boston, MA 02111-1307, USA. | ||
| 23 | |||
| 24 | |||
| 25 | ;;; Commentary: | ||
| 26 | |||
| 27 | ;;; Code: | ||
| 28 | |||
| 29 | (require 'url) | ||
| 30 | (require 'url-dav) | ||
| 31 | |||
| 32 | ;;; Required functions for a vc backend | ||
| 33 | (defun vc-dav-registered (url) | ||
| 34 | "Return t iff URL is registered with a DAV aware server." | ||
| 35 | (url-dav-vc-registered url)) | ||
| 36 | |||
| 37 | (defun vc-dav-state (url) | ||
| 38 | "Return the current version control state of URL. | ||
| 39 | For a list of possible values, see `vc-state'." | ||
| 40 | ;; Things we can support for WebDAV | ||
| 41 | ;; | ||
| 42 | ;; up-to-date - use lockdiscovery | ||
| 43 | ;; edited - check for an active lock by us | ||
| 44 | ;; USER - use lockdiscovery + owner | ||
| 45 | ;; | ||
| 46 | ;; These don't make sense for WebDAV | ||
| 47 | ;; needs-patch | ||
| 48 | ;; needs-merge | ||
| 49 | ;; unlocked-changes | ||
| 50 | (let ((locks (url-dav-active-locks url))) | ||
| 51 | (cond | ||
| 52 | ((null locks) 'up-to-date) | ||
| 53 | ((assoc url locks) | ||
| 54 | ;; SOMEBODY has a lock... let's find out who. | ||
| 55 | (setq locks (cdr (assoc url locks))) | ||
| 56 | (if (rassoc url-dav-lock-identifier locks) | ||
| 57 | ;; _WE_ have a lock | ||
| 58 | 'edited | ||
| 59 | (cdr (car locks))))))) | ||
| 60 | |||
| 61 | (defun vc-dav-checkout-model (url) | ||
| 62 | "Indicate whether URL needs to be \"checked out\" before it can be edited. | ||
| 63 | See `vc-checkout-model' for a list of possible values." | ||
| 64 | ;; The only thing we can support with webdav is 'locking | ||
| 65 | 'locking) | ||
| 66 | |||
| 67 | ;; This should figure out the version # of the file somehow. What is | ||
| 68 | ;; the most appropriate property in WebDAV to look at for this? | ||
| 69 | (defun vc-dav-workfile-version (url) | ||
| 70 | "Return the current workfile version of URL." | ||
| 71 | "Unknown") | ||
| 72 | |||
| 73 | (defun vc-dav-register (url &optional rev comment) | ||
| 74 | "Register URL in the DAV backend." | ||
| 75 | ;; Do we need to do anything here? FIXME? | ||
| 76 | ) | ||
| 77 | |||
| 78 | (defun vc-dav-checkin (url rev comment) | ||
| 79 | "Commit changes in URL to WebDAV. | ||
| 80 | If REV is non-nil, that should become the new revision number. | ||
| 81 | COMMENT is used as a check-in comment." | ||
| 82 | ;; This should PUT the resource and release any locks that we hold. | ||
| 83 | ) | ||
| 84 | |||
| 85 | (defun vc-dav-checkout (url &optional editable rev destfile) | ||
| 86 | "Check out revision REV of URL into the working area. | ||
| 87 | |||
| 88 | If EDITABLE is non-nil URL should be writable by the user and if | ||
| 89 | locking is used for URL, a lock should also be set. | ||
| 90 | |||
| 91 | If REV is non-nil, that is the revision to check out. If REV is the | ||
| 92 | empty string, that means to check ou tht ehead of the trunk. | ||
| 93 | |||
| 94 | If optional arg DESTFILE is given, it is an alternate filename to | ||
| 95 | write the contents to. | ||
| 96 | " | ||
| 97 | ;; This should LOCK the resource. | ||
| 98 | ) | ||
| 99 | |||
| 100 | (defun vc-dav-revert (url &optional contents-done) | ||
| 101 | "Revert URL back to the current workfile version. | ||
| 102 | |||
| 103 | If optional arg CONTENTS-DONE is non-nil, then the contents of FILE | ||
| 104 | have already been reverted from a version backup, and this function | ||
| 105 | only needs to update the status of URL within the backend. | ||
| 106 | " | ||
| 107 | ;; Should do a GET if !contents_done | ||
| 108 | ;; Should UNLOCK the file. | ||
| 109 | ) | ||
| 110 | |||
| 111 | (defun vc-dav-print-log (url) | ||
| 112 | "Insert the revision log of URL into the *vc* buffer." | ||
| 113 | ) | ||
| 114 | |||
| 115 | (defun vc-dav-diff (url &optional rev1 rev2) | ||
| 116 | "Insert the diff for URL into the *vc-diff* buffer. | ||
| 117 | If REV1 and REV2 are non-nil report differences from REV1 to REV2. | ||
| 118 | If REV1 is nil, use the current workfile version as the older version. | ||
| 119 | If REV2 is nil, use the current workfile contents as the nwer version. | ||
| 120 | |||
| 121 | It should return a status of either 0 (no differences found), or | ||
| 122 | 1 (either non-empty diff or the diff is run asynchronously). | ||
| 123 | " | ||
| 124 | ;; We should do this asynchronously... | ||
| 125 | ;; How would we do it at all, that is the question! | ||
| 126 | ) | ||
| 127 | |||
| 128 | |||
| 129 | |||
| 130 | ;;; Optional functions | ||
| 131 | ;; Should be faster than vc-dav-state - but how? | ||
| 132 | (defun vc-dav-state-heuristic (url) | ||
| 133 | "Estimate the version control state of URL at visiting time." | ||
| 134 | (vc-dav-state url)) | ||
| 135 | |||
| 136 | ;; This should use url-dav-get-properties with a depth of `1' to get | ||
| 137 | ;; all the properties. | ||
| 138 | (defun vc-dav-dir-state (url) | ||
| 139 | "find the version control state of all files in DIR in a fast way." | ||
| 140 | ) | ||
| 141 | |||
| 142 | (defun vc-dav-workfile-unchanged-p (url) | ||
| 143 | "Return non-nil if URL is unchanged from its current workfile version." | ||
| 144 | ;; Probably impossible with webdav | ||
| 145 | ) | ||
| 146 | |||
| 147 | (defun vc-dav-responsible-p (url) | ||
| 148 | "Return non-nil if DAV considers itself `responsible' for URL." | ||
| 149 | ;; Check for DAV support on the web server. | ||
| 150 | t) | ||
| 151 | |||
| 152 | (defun vc-dav-could-register (url) | ||
| 153 | "Return non-nil if URL could be registered under this backend." | ||
| 154 | ;; Check for DAV support on the web server. | ||
| 155 | t) | ||
| 156 | |||
| 157 | ;;; Unimplemented functions | ||
| 158 | ;; | ||
| 159 | ;; vc-dav-latest-on-branch-p(URL) | ||
| 160 | ;; Return non-nil if the current workfile version of FILE is the | ||
| 161 | ;; latest on its branch. There are no branches in webdav yet. | ||
| 162 | ;; | ||
| 163 | ;; vc-dav-mode-line-string(url) | ||
| 164 | ;; Return a dav-specific mode line string for URL. Are there any | ||
| 165 | ;; specific states that we want exposed? | ||
| 166 | ;; | ||
| 167 | ;; vc-dav-dired-state-info(url) | ||
| 168 | ;; Translate the `vc-state' property of URL into a string that can | ||
| 169 | ;; be used in a vc-dired buffer. Are there any extra states that | ||
| 170 | ;; we want exposed? | ||
| 171 | ;; | ||
| 172 | ;; vc-dav-receive-file(url rev) | ||
| 173 | ;; Let this backend `receive' a file that is already registered | ||
| 174 | ;; under another backend. The default just calls `register', which | ||
| 175 | ;; should be sufficient for WebDAV. | ||
| 176 | ;; | ||
| 177 | ;; vc-dav-unregister(url) | ||
| 178 | ;; Unregister URL. Not possible with WebDAV, other than by | ||
| 179 | ;; deleting the resource. | ||
| 180 | |||
| 181 | (provide 'vc-dav) | ||
| 182 | |||
| 183 | ;; arch-tag: 0a0fb9fe-8190-4c0a-a179-5c291d3a467e | ||
| 184 | ;;; vc-dav.el ends here | ||
diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el index 81a18eadd87..52b4659cec6 100644 --- a/lisp/vc-hooks.el +++ b/lisp/vc-hooks.el | |||
| @@ -481,7 +481,9 @@ and does not employ any heuristic at all." | |||
| 481 | "Return non-nil if FILE has not changed since the last checkout." | 481 | "Return non-nil if FILE has not changed since the last checkout." |
| 482 | (let ((checkout-time (vc-file-getprop file 'vc-checkout-time)) | 482 | (let ((checkout-time (vc-file-getprop file 'vc-checkout-time)) |
| 483 | (lastmod (nth 5 (file-attributes file)))) | 483 | (lastmod (nth 5 (file-attributes file)))) |
| 484 | (if checkout-time | 484 | (if (and checkout-time |
| 485 | ;; Tramp and Ange-FTP return this when they don't know the time. | ||
| 486 | (not (equal lastmod '(0 0)))) | ||
| 485 | (equal checkout-time lastmod) | 487 | (equal checkout-time lastmod) |
| 486 | (let ((unchanged (vc-call workfile-unchanged-p file))) | 488 | (let ((unchanged (vc-call workfile-unchanged-p file))) |
| 487 | (vc-file-setprop file 'vc-checkout-time (if unchanged lastmod 0)) | 489 | (vc-file-setprop file 'vc-checkout-time (if unchanged lastmod 0)) |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 7f22ad2e485..8a34499507f 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2005-04-01 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * nonascii.texi (Coding System Basics): Clarify previous change. | ||
| 4 | |||
| 5 | 2005-04-01 Kenichi Handa <handa@m17n.org> | ||
| 6 | |||
| 7 | * nonascii.texi (Coding System Basics): Describe about rondtrip | ||
| 8 | identity of coding systems. | ||
| 9 | |||
| 1 | 2005-03-29 Chong Yidong <cyd@stupidchicken.com> | 10 | 2005-03-29 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 11 | ||
| 3 | * text.texi (Buffer Contents): Add filter-buffer-substring and | 12 | * text.texi (Buffer Contents): Add filter-buffer-substring and |
diff --git a/lispref/nonascii.texi b/lispref/nonascii.texi index 70e77e0a837..4e38c300a61 100644 --- a/lispref/nonascii.texi +++ b/lispref/nonascii.texi | |||
| @@ -628,6 +628,27 @@ characters; for example, there are three coding systems for the Cyrillic | |||
| 628 | conversion, but some of them leave the choice unspecified---to be chosen | 628 | conversion, but some of them leave the choice unspecified---to be chosen |
| 629 | heuristically for each file, based on the data. | 629 | heuristically for each file, based on the data. |
| 630 | 630 | ||
| 631 | In general, a coding system doesn't guarantee roundtrip identity: | ||
| 632 | decoding text then encoding the result in the same coding system can | ||
| 633 | produce a different byte sequence from the one you originally decoded. | ||
| 634 | However, the following coding systems do guarantee that the result | ||
| 635 | will be the same as what you originally decoded: | ||
| 636 | |||
| 637 | @quotation | ||
| 638 | chinese-big5 chinese-iso-8bit cyrillic-iso-8bit emacs-mule | ||
| 639 | greek-iso-8bit hebrew-iso-8bit iso-latin-1 iso-latin-2 iso-latin-3 | ||
| 640 | iso-latin-4 iso-latin-5 iso-latin-8 iso-latin-9 iso-safe | ||
| 641 | japanese-iso-8bit japanese-shift-jis korean-iso-8bit raw-text | ||
| 642 | @end quotation | ||
| 643 | |||
| 644 | Encoding buffer text and then decoding the result can also fail to | ||
| 645 | reproduce the original text. For instance, when you encode Latin-2 | ||
| 646 | characters with @code{utf-8} and decode the result using the same | ||
| 647 | coding system, you'll get Unicode characters (of charset | ||
| 648 | @code{mule-unicode-0100-24ff}). When you encode Unicode characters | ||
| 649 | with @code{iso-latin-2} and decode them back with the same coding | ||
| 650 | system, you'll get Latin-2 characters. | ||
| 651 | |||
| 631 | @cindex end of line conversion | 652 | @cindex end of line conversion |
| 632 | @dfn{End of line conversion} handles three different conventions used | 653 | @dfn{End of line conversion} handles three different conventions used |
| 633 | on various systems for representing end of line in files. The Unix | 654 | on various systems for representing end of line in files. The Unix |
diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index 7823673ec1b..d085f41ff77 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2005-04-01 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | Reenable support for I18N to Lucid menus. | ||
| 4 | |||
| 5 | * xlwmenuP.h (_XlwMenu_part): Add fontSet resource. | ||
| 6 | |||
| 7 | * xlwmenu.c (string_width): | ||
| 8 | (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Ditto. | ||
| 9 | (display_menu_item, make_drawing_gcs, XlwMenuInitialize) | ||
| 10 | (XlwMenuSetValues): Use font if fontSet is NULL, use only | ||
| 11 | font for !HAVE_X_I18N. | ||
| 12 | (xlwMenuResources): Add fontSet resource. | ||
| 13 | |||
| 1 | 2005-03-22 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 14 | 2005-03-22 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> |
| 2 | 15 | ||
| 3 | * xlwmenuP.h: Temporary #undef HAVE_X_I18N until FontSet for UTF-8 | 16 | * xlwmenuP.h: Temporary #undef HAVE_X_I18N until FontSet for UTF-8 |
diff --git a/lwlib/xlwmenu.c b/lwlib/xlwmenu.c index 77b61d32e21..3fab2e80dbe 100644 --- a/lwlib/xlwmenu.c +++ b/lwlib/xlwmenu.c | |||
| @@ -131,20 +131,16 @@ xlwMenuTranslations [] = | |||
| 131 | 131 | ||
| 132 | /* FIXME: F10 should enter the menu, the first one in the menu-bar. */ | 132 | /* FIXME: F10 should enter the menu, the first one in the menu-bar. */ |
| 133 | 133 | ||
| 134 | /* FIXME: HAVE_X_I18N does not work yet. */ | ||
| 135 | #undef HAVE_X_I18N | ||
| 136 | |||
| 137 | #define offset(field) XtOffset(XlwMenuWidget, field) | 134 | #define offset(field) XtOffset(XlwMenuWidget, field) |
| 138 | static XtResource | 135 | static XtResource |
| 139 | xlwMenuResources[] = | 136 | xlwMenuResources[] = |
| 140 | { | 137 | { |
| 141 | #ifdef HAVE_X_I18N | 138 | #ifdef HAVE_X_I18N |
| 142 | {XtNfont, XtCFont, XtRFontSet, sizeof(XFontSet), | 139 | {XtNfontSet, XtCFontSet, XtRFontSet, sizeof(XFontSet), |
| 143 | offset(menu.font), XtRString, "XtDefaultFontSet"}, | 140 | offset(menu.fontSet), XtRFontSet, NULL}, |
| 144 | #else | 141 | #endif |
| 145 | {XtNfont, XtCFont, XtRFontStruct, sizeof(XFontStruct *), | 142 | {XtNfont, XtCFont, XtRFontStruct, sizeof(XFontStruct *), |
| 146 | offset(menu.font), XtRString, "XtDefaultFont"}, | 143 | offset(menu.font), XtRString, "XtDefaultFont"}, |
| 147 | #endif | ||
| 148 | {XtNforeground, XtCForeground, XtRPixel, sizeof(Pixel), | 144 | {XtNforeground, XtCForeground, XtRPixel, sizeof(Pixel), |
| 149 | offset(menu.foreground), XtRString, "XtDefaultForeground"}, | 145 | offset(menu.foreground), XtRString, "XtDefaultForeground"}, |
| 150 | {XtNdisabledForeground, XtCDisabledForeground, XtRPixel, sizeof(Pixel), | 146 | {XtNdisabledForeground, XtCDisabledForeground, XtRPixel, sizeof(Pixel), |
| @@ -361,24 +357,31 @@ string_width (mw, s) | |||
| 361 | XlwMenuWidget mw; | 357 | XlwMenuWidget mw; |
| 362 | char *s; | 358 | char *s; |
| 363 | { | 359 | { |
| 364 | #ifdef HAVE_X_I18N | ||
| 365 | XRectangle ink, logical; | ||
| 366 | XmbTextExtents (mw->menu.font, s, strlen (s), &ink, &logical); | ||
| 367 | return logical.width; | ||
| 368 | #else | ||
| 369 | XCharStruct xcs; | 360 | XCharStruct xcs; |
| 370 | int drop; | 361 | int drop; |
| 362 | #ifdef HAVE_X_I18N | ||
| 363 | XRectangle ink, logical; | ||
| 364 | if (mw->menu.fontSet) | ||
| 365 | { | ||
| 366 | XmbTextExtents (mw->menu.fontSet, s, strlen (s), &ink, &logical); | ||
| 367 | return logical.width; | ||
| 368 | } | ||
| 369 | #endif | ||
| 371 | 370 | ||
| 372 | XTextExtents (mw->menu.font, s, strlen (s), &drop, &drop, &drop, &xcs); | 371 | XTextExtents (mw->menu.font, s, strlen (s), &drop, &drop, &drop, &xcs); |
| 373 | return xcs.width; | 372 | return xcs.width; |
| 374 | #endif | 373 | |
| 375 | } | 374 | } |
| 376 | 375 | ||
| 377 | #ifdef HAVE_X_I18N | 376 | #ifdef HAVE_X_I18N |
| 378 | #define MENU_FONT_HEIGHT(mw) \ | 377 | #define MENU_FONT_HEIGHT(mw) \ |
| 379 | ((mw)->menu.font_extents->max_logical_extent.height) | 378 | ((mw)->menu.fontSet != NULL \ |
| 379 | ? (mw)->menu.font_extents->max_logical_extent.height \ | ||
| 380 | : (mw)->menu.font->ascent + (mw)->menu.font->descent) | ||
| 380 | #define MENU_FONT_ASCENT(mw) \ | 381 | #define MENU_FONT_ASCENT(mw) \ |
| 381 | (- (mw)->menu.font_extents->max_logical_extent.y) | 382 | ((mw)->menu.fontSet != NULL \ |
| 383 | ? - (mw)->menu.font_extents->max_logical_extent.y \ | ||
| 384 | : (mw)->menu.font->ascent) | ||
| 382 | #else | 385 | #else |
| 383 | #define MENU_FONT_HEIGHT(mw) \ | 386 | #define MENU_FONT_HEIGHT(mw) \ |
| 384 | ((mw)->menu.font->ascent + (mw)->menu.font->descent) | 387 | ((mw)->menu.font->ascent + (mw)->menu.font->descent) |
| @@ -1053,10 +1056,14 @@ display_menu_item (mw, val, ws, where, highlighted_p, horizontal_p, | |||
| 1053 | 1056 | ||
| 1054 | 1057 | ||
| 1055 | #ifdef HAVE_X_I18N | 1058 | #ifdef HAVE_X_I18N |
| 1056 | XmbDrawString (XtDisplay (mw), ws->window, mw->menu.font, | 1059 | if (mw->menu.fontSet) |
| 1057 | #else | 1060 | XmbDrawString (XtDisplay (mw), ws->window, mw->menu.fontSet, |
| 1058 | XDrawString (XtDisplay (mw), ws->window, | 1061 | text_gc, x_offset, |
| 1062 | y + v_spacing + shadow + font_ascent, | ||
| 1063 | display_string, strlen (display_string)); | ||
| 1064 | else | ||
| 1059 | #endif | 1065 | #endif |
| 1066 | XDrawString (XtDisplay (mw), ws->window, | ||
| 1060 | text_gc, x_offset, | 1067 | text_gc, x_offset, |
| 1061 | y + v_spacing + shadow + font_ascent, | 1068 | y + v_spacing + shadow + font_ascent, |
| 1062 | display_string, strlen (display_string)); | 1069 | display_string, strlen (display_string)); |
| @@ -1083,10 +1090,16 @@ display_menu_item (mw, val, ws, where, highlighted_p, horizontal_p, | |||
| 1083 | else if (val->key) | 1090 | else if (val->key) |
| 1084 | { | 1091 | { |
| 1085 | #ifdef HAVE_X_I18N | 1092 | #ifdef HAVE_X_I18N |
| 1086 | XmbDrawString (XtDisplay (mw), ws->window, mw->menu.font, | 1093 | if (mw->menu.fontSet) |
| 1087 | #else | 1094 | XmbDrawString (XtDisplay (mw), ws->window, |
| 1088 | XDrawString (XtDisplay (mw), ws->window, | 1095 | mw->menu.fontSet, |
| 1096 | text_gc, | ||
| 1097 | x + label_width + mw->menu.arrow_spacing, | ||
| 1098 | y + v_spacing + shadow + font_ascent, | ||
| 1099 | val->key, strlen (val->key)); | ||
| 1100 | else | ||
| 1089 | #endif | 1101 | #endif |
| 1102 | XDrawString (XtDisplay (mw), ws->window, | ||
| 1090 | text_gc, | 1103 | text_gc, |
| 1091 | x + label_width + mw->menu.arrow_spacing, | 1104 | x + label_width + mw->menu.arrow_spacing, |
| 1092 | y + v_spacing + shadow + font_ascent, | 1105 | y + v_spacing + shadow + font_ascent, |
| @@ -1493,34 +1506,25 @@ make_drawing_gcs (mw) | |||
| 1493 | { | 1506 | { |
| 1494 | XGCValues xgcv; | 1507 | XGCValues xgcv; |
| 1495 | float scale; | 1508 | float scale; |
| 1509 | XtGCMask mask = GCForeground | GCBackground; | ||
| 1496 | 1510 | ||
| 1497 | #ifndef HAVE_X_I18N | 1511 | #ifdef HAVE_X_I18N |
| 1512 | if (!mw->menu.fontSet) | ||
| 1513 | { | ||
| 1514 | xgcv.font = mw->menu.font->fid; | ||
| 1515 | mask |= GCFont; | ||
| 1516 | } | ||
| 1517 | #else | ||
| 1498 | xgcv.font = mw->menu.font->fid; | 1518 | xgcv.font = mw->menu.font->fid; |
| 1519 | mask |= GCFont; | ||
| 1499 | #endif | 1520 | #endif |
| 1500 | xgcv.foreground = mw->menu.foreground; | 1521 | xgcv.foreground = mw->menu.foreground; |
| 1501 | xgcv.background = mw->core.background_pixel; | 1522 | xgcv.background = mw->core.background_pixel; |
| 1502 | mw->menu.foreground_gc = XtGetGC ((Widget)mw, | 1523 | mw->menu.foreground_gc = XtGetGC ((Widget)mw, mask, &xgcv); |
| 1503 | #ifndef HAVE_X_I18N | ||
| 1504 | GCFont | | ||
| 1505 | #endif | ||
| 1506 | GCForeground | GCBackground, | ||
| 1507 | &xgcv); | ||
| 1508 | 1524 | ||
| 1509 | #ifndef HAVE_X_I18N | ||
| 1510 | xgcv.font = mw->menu.font->fid; | ||
| 1511 | #endif | ||
| 1512 | xgcv.foreground = mw->menu.button_foreground; | 1525 | xgcv.foreground = mw->menu.button_foreground; |
| 1513 | xgcv.background = mw->core.background_pixel; | 1526 | mw->menu.button_gc = XtGetGC ((Widget)mw, mask, &xgcv); |
| 1514 | mw->menu.button_gc = XtGetGC ((Widget)mw, | ||
| 1515 | #ifndef HAVE_X_I18N | ||
| 1516 | GCFont | | ||
| 1517 | #endif | ||
| 1518 | GCForeground | GCBackground, | ||
| 1519 | &xgcv); | ||
| 1520 | 1527 | ||
| 1521 | #ifndef HAVE_X_I18N | ||
| 1522 | xgcv.font = mw->menu.font->fid; | ||
| 1523 | #endif | ||
| 1524 | xgcv.background = mw->core.background_pixel; | 1528 | xgcv.background = mw->core.background_pixel; |
| 1525 | 1529 | ||
| 1526 | #define BRIGHTNESS(color) (((color) & 0xff) + (((color) >> 8) & 0xff) + (((color) >> 16) & 0xff)) | 1530 | #define BRIGHTNESS(color) (((color) & 0xff) + (((color) >> 8) & 0xff) + (((color) >> 16) & 0xff)) |
| @@ -1545,49 +1549,26 @@ make_drawing_gcs (mw) | |||
| 1545 | xgcv.foreground = mw->menu.foreground; | 1549 | xgcv.foreground = mw->menu.foreground; |
| 1546 | xgcv.fill_style = FillStippled; | 1550 | xgcv.fill_style = FillStippled; |
| 1547 | xgcv.stipple = mw->menu.gray_pixmap; | 1551 | xgcv.stipple = mw->menu.gray_pixmap; |
| 1548 | mw->menu.disabled_gc = XtGetGC ((Widget)mw, | 1552 | mw->menu.disabled_gc = XtGetGC ((Widget)mw, mask |
| 1549 | #ifndef HAVE_X_I18N | ||
| 1550 | GCFont | | ||
| 1551 | #endif | ||
| 1552 | GCForeground | GCBackground | ||
| 1553 | | GCFillStyle | GCStipple, &xgcv); | 1553 | | GCFillStyle | GCStipple, &xgcv); |
| 1554 | } | 1554 | } |
| 1555 | else | 1555 | else |
| 1556 | { | 1556 | { |
| 1557 | /* Many colors available, use disabled pixel. */ | 1557 | /* Many colors available, use disabled pixel. */ |
| 1558 | xgcv.foreground = mw->menu.disabled_foreground; | 1558 | xgcv.foreground = mw->menu.disabled_foreground; |
| 1559 | mw->menu.disabled_gc = XtGetGC ((Widget)mw, | 1559 | mw->menu.disabled_gc = XtGetGC ((Widget)mw, mask, &xgcv); |
| 1560 | #ifndef HAVE_X_I18N | ||
| 1561 | GCFont | | ||
| 1562 | #endif | ||
| 1563 | GCForeground | GCBackground, &xgcv); | ||
| 1564 | } | 1560 | } |
| 1565 | 1561 | ||
| 1566 | #ifndef HAVE_X_I18N | ||
| 1567 | xgcv.font = mw->menu.font->fid; | ||
| 1568 | #endif | ||
| 1569 | xgcv.foreground = mw->menu.button_foreground; | 1562 | xgcv.foreground = mw->menu.button_foreground; |
| 1570 | xgcv.background = mw->core.background_pixel; | 1563 | xgcv.background = mw->core.background_pixel; |
| 1571 | xgcv.fill_style = FillStippled; | 1564 | xgcv.fill_style = FillStippled; |
| 1572 | xgcv.stipple = mw->menu.gray_pixmap; | 1565 | xgcv.stipple = mw->menu.gray_pixmap; |
| 1573 | mw->menu.inactive_button_gc = XtGetGC ((Widget)mw, | 1566 | mw->menu.inactive_button_gc = XtGetGC ((Widget)mw, mask |
| 1574 | #ifndef HAVE_X_I18N | ||
| 1575 | GCFont | | ||
| 1576 | #endif | ||
| 1577 | GCForeground | GCBackground | ||
| 1578 | | GCFillStyle | GCStipple, &xgcv); | 1567 | | GCFillStyle | GCStipple, &xgcv); |
| 1579 | 1568 | ||
| 1580 | #ifndef HAVE_X_I18N | ||
| 1581 | xgcv.font = mw->menu.font->fid; | ||
| 1582 | #endif | ||
| 1583 | xgcv.foreground = mw->core.background_pixel; | 1569 | xgcv.foreground = mw->core.background_pixel; |
| 1584 | xgcv.background = mw->menu.foreground; | 1570 | xgcv.background = mw->menu.foreground; |
| 1585 | mw->menu.background_gc = XtGetGC ((Widget)mw, | 1571 | mw->menu.background_gc = XtGetGC ((Widget)mw, mask, &xgcv); |
| 1586 | #ifndef HAVE_X_I18N | ||
| 1587 | GCFont | | ||
| 1588 | #endif | ||
| 1589 | GCForeground | GCBackground, | ||
| 1590 | &xgcv); | ||
| 1591 | } | 1572 | } |
| 1592 | 1573 | ||
| 1593 | static void | 1574 | static void |
| @@ -1793,14 +1774,14 @@ XlwMenuInitialize (request, mw, args, num_args) | |||
| 1793 | gray_bitmap_width, gray_bitmap_height, | 1774 | gray_bitmap_width, gray_bitmap_height, |
| 1794 | (unsigned long)1, (unsigned long)0, 1); | 1775 | (unsigned long)1, (unsigned long)0, 1); |
| 1795 | 1776 | ||
| 1796 | #ifndef HAVE_X_I18N | ||
| 1797 | /* I don't understand why this ends up 0 sometimes, | 1777 | /* I don't understand why this ends up 0 sometimes, |
| 1798 | but it does. This kludge works around it. | 1778 | but it does. This kludge works around it. |
| 1799 | Can anyone find a real fix? -- rms. */ | 1779 | Can anyone find a real fix? -- rms. */ |
| 1800 | if (mw->menu.font == 0) | 1780 | if (mw->menu.font == 0) |
| 1801 | mw->menu.font = xlwmenu_default_font; | 1781 | mw->menu.font = xlwmenu_default_font; |
| 1802 | #else | 1782 | #ifdef HAVE_X_I18N |
| 1803 | mw->menu.font_extents = XExtentsOfFontSet (mw->menu.font); | 1783 | if (mw->menu.fontSet) |
| 1784 | mw->menu.font_extents = XExtentsOfFontSet (mw->menu.fontSet); | ||
| 1804 | #endif | 1785 | #endif |
| 1805 | 1786 | ||
| 1806 | make_drawing_gcs (mw); | 1787 | make_drawing_gcs (mw); |
| @@ -1969,7 +1950,10 @@ XlwMenuSetValues (current, request, new) | |||
| 1969 | 1950 | ||
| 1970 | if (newmw->core.background_pixel != oldmw->core.background_pixel | 1951 | if (newmw->core.background_pixel != oldmw->core.background_pixel |
| 1971 | || newmw->menu.foreground != oldmw->menu.foreground | 1952 | || newmw->menu.foreground != oldmw->menu.foreground |
| 1972 | #ifndef HAVE_X_I18N | 1953 | #ifdef HAVE_X_I18N |
| 1954 | || newmw->menu.fontSet != oldmw->menu.fontSet | ||
| 1955 | || (newmw->menu.fontSet == NULL && newmw->menu.font != oldmw->menu.font) | ||
| 1956 | #else | ||
| 1973 | || newmw->menu.font != oldmw->menu.font | 1957 | || newmw->menu.font != oldmw->menu.font |
| 1974 | #endif | 1958 | #endif |
| 1975 | ) | 1959 | ) |
| @@ -1999,10 +1983,10 @@ XlwMenuSetValues (current, request, new) | |||
| 1999 | } | 1983 | } |
| 2000 | 1984 | ||
| 2001 | #ifdef HAVE_X_I18N | 1985 | #ifdef HAVE_X_I18N |
| 2002 | if (newmw->menu.font != oldmw->menu.font) | 1986 | if (newmw->menu.fontSet != oldmw->menu.fontSet && newmw->menu.fontSet != NULL) |
| 2003 | { | 1987 | { |
| 2004 | redisplay = True; | 1988 | redisplay = True; |
| 2005 | newmw->menu.font_extents = XExtentsOfFontSet (newmw->menu.font); | 1989 | newmw->menu.font_extents = XExtentsOfFontSet (newmw->menu.fontSet); |
| 2006 | } | 1990 | } |
| 2007 | #endif | 1991 | #endif |
| 2008 | 1992 | ||
diff --git a/lwlib/xlwmenuP.h b/lwlib/xlwmenuP.h index 12cc1790d9d..ac908d34b74 100644 --- a/lwlib/xlwmenuP.h +++ b/lwlib/xlwmenuP.h | |||
| @@ -24,9 +24,6 @@ Boston, MA 02111-1307, USA. */ | |||
| 24 | #include "xlwmenu.h" | 24 | #include "xlwmenu.h" |
| 25 | #include <X11/CoreP.h> | 25 | #include <X11/CoreP.h> |
| 26 | 26 | ||
| 27 | /* FIXME: HAVE_X_I18N does not work yet. */ | ||
| 28 | #undef HAVE_X_I18N | ||
| 29 | |||
| 30 | /* Elements in the stack arrays. */ | 27 | /* Elements in the stack arrays. */ |
| 31 | typedef struct _window_state | 28 | typedef struct _window_state |
| 32 | { | 29 | { |
| @@ -47,11 +44,10 @@ typedef struct _XlwMenu_part | |||
| 47 | { | 44 | { |
| 48 | /* slots set by the resources */ | 45 | /* slots set by the resources */ |
| 49 | #ifdef HAVE_X_I18N | 46 | #ifdef HAVE_X_I18N |
| 50 | XFontSet font; | 47 | XFontSet fontSet; |
| 51 | XFontSetExtents *font_extents; | 48 | XFontSetExtents *font_extents; |
| 52 | #else | ||
| 53 | XFontStruct* font; | ||
| 54 | #endif | 49 | #endif |
| 50 | XFontStruct* font; | ||
| 55 | Pixel foreground; | 51 | Pixel foreground; |
| 56 | Pixel disabled_foreground; | 52 | Pixel disabled_foreground; |
| 57 | Pixel button_foreground; | 53 | Pixel button_foreground; |
diff --git a/man/ChangeLog b/man/ChangeLog index d808b9fe6d7..4a51f051431 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,29 @@ | |||
| 1 | 2005-04-01 Jay Belanger <belanger@truman.edu> | ||
| 2 | |||
| 3 | * calc.texi (Troubleshooting Commands): Remove comment about | ||
| 4 | installation. | ||
| 5 | (Installation): Remove section. | ||
| 6 | (Customizable Variables): New section. | ||
| 7 | (Basic Embedded Mode, Customizing Embedded Mode, Graphics) | ||
| 8 | (Graphical Devices): Add references to Customizable Variables. | ||
| 9 | |||
| 10 | 2005-04-01 Lute Kamstra <lute@gnu.org> | ||
| 11 | |||
| 12 | * maintaining.texi (Change Log): add-change-log-entry uses | ||
| 13 | add-log-mailing-address. | ||
| 14 | |||
| 15 | 2005-03-31 Luc Teirlinck <teirllm@auburn.edu> | ||
| 16 | |||
| 17 | * files.texi (Reverting): Move `auto-revert-check-vc-info' to | ||
| 18 | `VC Mode Line' and put in an xref to that node. | ||
| 19 | (VC Mode Line): Move `auto-revert-check-vc-info' here and clarify | ||
| 20 | its description. | ||
| 21 | |||
| 22 | 2005-03-31 Paul Eggert <eggert@cs.ucla.edu> | ||
| 23 | |||
| 24 | * calendar.texi (Calendar Systems): Say that the Persian calendar | ||
| 25 | implemented here is the arithmetical one championed by Birashk. | ||
| 26 | |||
| 1 | 2005-03-30 Glenn Morris <gmorris@ast.cam.ac.uk> | 27 | 2005-03-30 Glenn Morris <gmorris@ast.cam.ac.uk> |
| 2 | 28 | ||
| 3 | * programs.texi (Fortran Motion): Fix previous change. | 29 | * programs.texi (Fortran Motion): Fix previous change. |
| @@ -21,7 +47,7 @@ | |||
| 21 | (Longlines): New node. | 47 | (Longlines): New node. |
| 22 | (Auto Fill): Don't index "word wrap" here. | 48 | (Auto Fill): Don't index "word wrap" here. |
| 23 | (Filling): Add Longlines to menu. | 49 | (Filling): Add Longlines to menu. |
| 24 | 50 | ||
| 25 | 2005-03-29 Richard M. Stallman <rms@gnu.org> | 51 | 2005-03-29 Richard M. Stallman <rms@gnu.org> |
| 26 | 52 | ||
| 27 | * xresources.texi: Minor fixes. | 53 | * xresources.texi: Minor fixes. |
diff --git a/man/calc.texi b/man/calc.texi index 07c33206f28..087cdbe6457 100644 --- a/man/calc.texi +++ b/man/calc.texi | |||
| @@ -165,7 +165,7 @@ longer Info tutorial.) | |||
| 165 | * Embedded Mode:: Working with formulas embedded in a file. | 165 | * Embedded Mode:: Working with formulas embedded in a file. |
| 166 | * Programming:: Calc as a programmable calculator. | 166 | * Programming:: Calc as a programmable calculator. |
| 167 | 167 | ||
| 168 | * Installation:: Installing Calc as a part of GNU Emacs. | 168 | * Customizable Variables:: Customizable Variables. |
| 169 | * Reporting Bugs:: How to report bugs and make suggestions. | 169 | * Reporting Bugs:: How to report bugs and make suggestions. |
| 170 | 170 | ||
| 171 | * Summary:: Summary of Calc commands and functions. | 171 | * Summary:: Summary of Calc commands and functions. |
| @@ -10613,11 +10613,6 @@ If this happens, the easiest workaround is to type @kbd{M-# L} | |||
| 10613 | loaded right away. This will cause Emacs to take up a lot more | 10613 | loaded right away. This will cause Emacs to take up a lot more |
| 10614 | memory than it would otherwise, but it's guaranteed to fix the problem. | 10614 | memory than it would otherwise, but it's guaranteed to fix the problem. |
| 10615 | 10615 | ||
| 10616 | If you seem to run into this problem no matter what you do, or if | ||
| 10617 | even the @kbd{M-# L} command crashes, Calc may have been improperly | ||
| 10618 | installed. @xref{Installation}, for details of the installation | ||
| 10619 | process. | ||
| 10620 | |||
| 10621 | @node Recursion Depth, Caches, Autoloading Problems, Troubleshooting Commands | 10616 | @node Recursion Depth, Caches, Autoloading Problems, Troubleshooting Commands |
| 10622 | @subsection Recursion Depth | 10617 | @subsection Recursion Depth |
| 10623 | 10618 | ||
| @@ -12306,7 +12301,7 @@ if this file exists, and this file becomes the one that Calc will | |||
| 12306 | use in the future for commands like @kbd{m m}. The default settings | 12301 | use in the future for commands like @kbd{m m}. The default settings |
| 12307 | file name is @file{~/.calc.el}. You can see the current file name by | 12302 | file name is @file{~/.calc.el}. You can see the current file name by |
| 12308 | giving a blank response to the @kbd{m F} prompt. See also the | 12303 | giving a blank response to the @kbd{m F} prompt. See also the |
| 12309 | discussion of the @code{calc-settings-file} variable; @pxref{Installation}. | 12304 | discussion of the @code{calc-settings-file} variable; @pxref{Customizable Variables}. |
| 12310 | 12305 | ||
| 12311 | If the file name you give is your user init file (typically | 12306 | If the file name you give is your user init file (typically |
| 12312 | @file{~/.emacs}), @kbd{m F} will not automatically load the new file. This | 12307 | @file{~/.emacs}), @kbd{m F} will not automatically load the new file. This |
| @@ -29109,7 +29104,7 @@ of the @samp{*Gnuplot Commands*} buffer. | |||
| 29109 | @vindex calc-gnuplot-print-command | 29104 | @vindex calc-gnuplot-print-command |
| 29110 | @vindex calc-gnuplot-print-device | 29105 | @vindex calc-gnuplot-print-device |
| 29111 | @vindex calc-gnuplot-print-output | 29106 | @vindex calc-gnuplot-print-output |
| 29112 | If you are installing Calc you may wish to configure the default and | 29107 | You may wish to configure the default and |
| 29113 | printer devices and output files for the whole system. The relevant | 29108 | printer devices and output files for the whole system. The relevant |
| 29114 | Lisp variables are @code{calc-gnuplot-default-device} and @code{-output}, | 29109 | Lisp variables are @code{calc-gnuplot-default-device} and @code{-output}, |
| 29115 | and @code{calc-gnuplot-print-device} and @code{-output}. The output | 29110 | and @code{calc-gnuplot-print-device} and @code{-output}. The output |
| @@ -29122,7 +29117,8 @@ display or print the output of GNUPLOT, respectively. These may be | |||
| 29122 | @code{nil} if no command is necessary, or strings which can include | 29117 | @code{nil} if no command is necessary, or strings which can include |
| 29123 | @samp{%s} to signify the name of the file to be displayed or printed. | 29118 | @samp{%s} to signify the name of the file to be displayed or printed. |
| 29124 | Or, these variables may contain Lisp expressions which are evaluated | 29119 | Or, these variables may contain Lisp expressions which are evaluated |
| 29125 | to display or print the output. | 29120 | to display or print the output. These variables are customizable |
| 29121 | (@pxref{Customizable Variables}). | ||
| 29126 | 29122 | ||
| 29127 | @kindex g x | 29123 | @kindex g x |
| 29128 | @pindex calc-graph-display | 29124 | @pindex calc-graph-display |
| @@ -29910,7 +29906,8 @@ Similarly, Calc will use @TeX{} language for @code{tex-mode}, | |||
| 29910 | @code{plain-tex-mode} and @code{context-mode}, C language for | 29906 | @code{plain-tex-mode} and @code{context-mode}, C language for |
| 29911 | @code{c-mode} and @code{c++-mode}, FORTRAN language for | 29907 | @code{c-mode} and @code{c++-mode}, FORTRAN language for |
| 29912 | @code{fortran-mode} and @code{f90-mode}, Pascal for @code{pascal-mode}, | 29908 | @code{fortran-mode} and @code{f90-mode}, Pascal for @code{pascal-mode}, |
| 29913 | and eqn for @code{nroff-mode}. These can be overridden with Calc's mode | 29909 | and eqn for @code{nroff-mode} (@pxref{Customizable Variables}). |
| 29910 | These can be overridden with Calc's mode | ||
| 29914 | changing commands (@pxref{Mode Settings in Embedded Mode}). If no | 29911 | changing commands (@pxref{Mode Settings in Embedded Mode}). If no |
| 29915 | suitable language is available, Calc will continue with its current language. | 29912 | suitable language is available, Calc will continue with its current language. |
| 29916 | 29913 | ||
| @@ -30612,10 +30609,10 @@ for @code{Save} have no effect. | |||
| 30612 | 30609 | ||
| 30613 | @noindent | 30610 | @noindent |
| 30614 | You can modify Embedded mode's behavior by setting various Lisp | 30611 | You can modify Embedded mode's behavior by setting various Lisp |
| 30615 | variables described here. Use @kbd{M-x set-variable} or | 30612 | variables described here. These variables are customizable |
| 30616 | @kbd{M-x edit-options} to adjust a variable on the fly, or | 30613 | (@pxref{Customizable Variables}), or you can use @kbd{M-x set-variable} |
| 30617 | put a suitable @code{setq} statement in your Calc init file (or | 30614 | or @kbd{M-x edit-options} to adjust a variable on the fly. |
| 30618 | @file{~/.emacs}) to set a variable permanently. (Another possibility would | 30615 | (Another possibility would |
| 30619 | be to use a file-local variable annotation at the end of the | 30616 | be to use a file-local variable annotation at the end of the |
| 30620 | file; @pxref{File Variables, , Local Variables in Files, emacs, the | 30617 | file; @pxref{File Variables, , Local Variables in Files, emacs, the |
| 30621 | Emacs manual}.) | 30618 | Emacs manual}.) |
| @@ -30760,7 +30757,7 @@ is simply a newline, @code{"\n"}. If you change this, it is a | |||
| 30760 | good idea still to end with a newline so that mode annotations | 30757 | good idea still to end with a newline so that mode annotations |
| 30761 | will appear on lines by themselves. | 30758 | will appear on lines by themselves. |
| 30762 | 30759 | ||
| 30763 | @node Programming, Installation, Embedded Mode, Top | 30760 | @node Programming, Customizable Variables, Embedded Mode, Top |
| 30764 | @chapter Programming | 30761 | @chapter Programming |
| 30765 | 30762 | ||
| 30766 | @noindent | 30763 | @noindent |
| @@ -34610,70 +34607,204 @@ used the first time, your hook should add a variable to the | |||
| 34610 | list and also call @code{make-local-variable} itself. | 34607 | list and also call @code{make-local-variable} itself. |
| 34611 | @end defvar | 34608 | @end defvar |
| 34612 | 34609 | ||
| 34613 | @node Installation, Reporting Bugs, Programming, Top | 34610 | @node Customizable Variables, Reporting Bugs, Programming, Top |
| 34614 | @appendix Installation | 34611 | @appendix Customizable Variables |
| 34612 | |||
| 34613 | GNU Calc is controlled by many variables, most of which can be reset | ||
| 34614 | from within Calc. Some variables are less involved with actual | ||
| 34615 | calculation, and can be set outside of Calc using Emacs's | ||
| 34616 | customization facilities. These variables are listed below. | ||
| 34617 | Typing @kbd{M-x customize-variable RET @var{variable-name} RET} | ||
| 34618 | will bring up a buffer in which the variable's value can be redefined. | ||
| 34619 | Typing @kbd{M-x customize-group RET calc RET} will bring up a buffer which | ||
| 34620 | contains all of Calc's customizable variables. (These variables can | ||
| 34621 | also be reset by putting the appropriate lines in your .emacs file; | ||
| 34622 | @xref{Init File, ,Init File, emacs, The GNU Emacs Manual}.) | ||
| 34623 | |||
| 34624 | Some of the customizable variables are regular expressions. A regular | ||
| 34625 | expression is basically a pattern that Calc can search for. | ||
| 34626 | See @ref{Regexp Search,, Regular Expression Search, emacs, The GNU Emacs Manual} | ||
| 34627 | to see how regular expressions work. | ||
| 34615 | 34628 | ||
| 34616 | @noindent | 34629 | @table @code |
| 34617 | As of Calc 2.02g, Calc is integrated with GNU Emacs, and thus requires | ||
| 34618 | no separate installation of its Lisp files and this manual. | ||
| 34619 | 34630 | ||
| 34620 | @appendixsec The GNUPLOT Program | 34631 | @item calc-settings-file |
| 34621 | 34632 | ||
| 34622 | @noindent | 34633 | @vindex calc-settings-file |
| 34623 | Calc's graphing commands use the GNUPLOT program. If you have GNUPLOT | 34634 | The variable @code{calc-settings-file} holds the file name in |
| 34624 | but you must type some command other than @file{gnuplot} to get it, | 34635 | which commands like @kbd{m m} and @kbd{Z P} store ``permanent'' |
| 34625 | you should add a command to set the Lisp variable @code{calc-gnuplot-name} | 34636 | definitions. |
| 34626 | to the appropriate file name. You may also need to change the variables | 34637 | If @code{calc-settings-file} is not your user init file (typically |
| 34627 | @code{calc-gnuplot-plot-command} and @code{calc-gnuplot-print-command} in | 34638 | @file{~/.emacs}) and if the variable @code{calc-loaded-settings-file} is |
| 34628 | order to get correct displays and hardcopies, respectively, of your | 34639 | @code{nil}, then Calc will automatically load your settings file (if it |
| 34629 | plots. | 34640 | exists) the first time Calc is invoked. |
| 34641 | |||
| 34642 | The default value for this variable is @code{"~/.calc.el"}. | ||
| 34643 | |||
| 34644 | @item calc-gnuplot-name | ||
| 34645 | |||
| 34646 | See @ref{Graphics}.@* | ||
| 34647 | The variable @code{calc-gnuplot-name} should be the name of the | ||
| 34648 | GNUPLOT program (a string). If you have GNUPLOT installed on your | ||
| 34649 | system but Calc is unable to find it, you may need to set this | ||
| 34650 | variable. (@pxref{Customizable Variables}) | ||
| 34651 | You may also need to set some Lisp variables to show Calc how to run | ||
| 34652 | GNUPLOT on your system, see @ref{Devices, ,Graphical Devices} . The default value | ||
| 34653 | of @code{calc-gnuplot-name} is @code{"gnuplot"}. | ||
| 34654 | |||
| 34655 | @item calc-gnuplot-plot-command | ||
| 34656 | @itemx calc-gnuplot-print-command | ||
| 34657 | |||
| 34658 | See @ref{Devices, ,Graphical Devices}.@* | ||
| 34659 | The variables @code{calc-gnuplot-plot-command} and | ||
| 34660 | @code{calc-gnuplot-print-command} represent system commands to | ||
| 34661 | display and print the output of GNUPLOT, respectively. These may be | ||
| 34662 | @code{nil} if no command is necessary, or strings which can include | ||
| 34663 | @samp{%s} to signify the name of the file to be displayed or printed. | ||
| 34664 | Or, these variables may contain Lisp expressions which are evaluated | ||
| 34665 | to display or print the output. | ||
| 34630 | 34666 | ||
| 34631 | @ifinfo | 34667 | The default value of @code{calc-gnuplot-plot-command} is @code{nil}, |
| 34668 | and the default value of @code{calc-gnuplot-print-command} is | ||
| 34669 | @code{"lp %s"}. | ||
| 34670 | |||
| 34671 | @item calc-language-alist | ||
| 34672 | |||
| 34673 | See @ref{Basic Embedded Mode}.@* | ||
| 34674 | The variable @code{calc-language-alist} controls the languages that | ||
| 34675 | Calc will associate with major modes. When Calc embedded mode is | ||
| 34676 | enabled, it will try to use the current major mode to | ||
| 34677 | determine what language should be used. (This can be overridden using | ||
| 34678 | Calc's mode changing commands, @xref{Mode Settings in Embedded Mode}.) | ||
| 34679 | The variable @code{calc-language-alist} consists of a list of pairs of | ||
| 34680 | the form @code{(@var{KEY} . @var{VALUE})}; for example, | ||
| 34681 | @code{(latex-mode . latex)} is one such pair. If Calc embedded is | ||
| 34682 | activated in a buffer whose major mode is @var{KEY}, it will set itself | ||
| 34683 | to use the language @var{VALUE}. | ||
| 34684 | |||
| 34685 | The default value of @code{calc-language-alist} is | ||
| 34632 | @example | 34686 | @example |
| 34633 | 34687 | ((latex-mode . latex) | |
| 34688 | (tex-mode . tex) | ||
| 34689 | (plain-tex-mode . tex) | ||
| 34690 | (context-mode . tex) | ||
| 34691 | (nroff-mode . eqn) | ||
| 34692 | (pascal-mode . pascal) | ||
| 34693 | (c-mode . c) | ||
| 34694 | (c++-mode . c) | ||
| 34695 | (fortran-mode . fortran) | ||
| 34696 | (f90-mode . fortran)) | ||
| 34634 | @end example | 34697 | @end example |
| 34635 | @end ifinfo | ||
| 34636 | 34698 | ||
| 34637 | @appendixsec Settings File | 34699 | @item calc-embedded-announce-formula |
| 34638 | 34700 | ||
| 34639 | @noindent | 34701 | See @ref{Customizing Embedded Mode}.@* |
| 34640 | @vindex calc-settings-file | 34702 | The variable @code{calc-embedded-announce-formula} helps determine |
| 34641 | Another variable you might want to set is @code{calc-settings-file}, | 34703 | what formulas @kbd{M-# a} will activate in a buffer. It is a |
| 34642 | which holds the file name in which commands like @kbd{m m} and @kbd{Z P} | 34704 | regular expression, and when activating embedded formulas with |
| 34643 | store ``permanent'' definitions. The default value for this variable | 34705 | @kbd{M-# a}, it will tell Calc that what follows is a formula to be |
| 34644 | is @code{"~/.calc.el"}. If @code{calc-settings-file} is not your user | 34706 | activated. (Calc also uses other patterns to find formulas, such as |
| 34645 | init file (typically @file{~/.emacs}) and if the variable | 34707 | @samp{=>} and @samp{:=}.) |
| 34646 | @code{calc-loaded-settings-file} is @code{nil}, then Calc will | ||
| 34647 | automatically load your settings file (if it exists) the first time | ||
| 34648 | Calc is invoked. | ||
| 34649 | 34708 | ||
| 34650 | @ifinfo | 34709 | The default pattern is @code{"%Embed\n\\(% .*\n\\)*"}, which checks |
| 34651 | @example | 34710 | for @samp{%Embed} followed by any number of lines beginning with |
| 34711 | @samp{%} and a space. | ||
| 34652 | 34712 | ||
| 34653 | @end example | 34713 | @item calc-embedded-open-formula |
| 34654 | @end ifinfo | 34714 | @itemx calc-embedded-close-formula |
| 34655 | @appendixsec Testing the Installation | ||
| 34656 | 34715 | ||
| 34657 | @noindent | 34716 | See @ref{Customizing Embedded Mode}.@* |
| 34658 | To test your installation of Calc, start a new Emacs and type @kbd{M-# c} | 34717 | The variables @code{calc-embedded-open-formula} and |
| 34659 | to make sure the autoloads and key bindings work. Type @kbd{M-# i} | 34718 | @code{calc-embedded-open-formula} control the region that Calc will |
| 34660 | to make sure Calc can find its Info documentation. Press @kbd{q} to | 34719 | activate as a formula when Embedded mode is entered with @kbd{M-# e}. |
| 34661 | exit the Info system and @kbd{M-# c} to re-enter the Calculator. | 34720 | They are regular expressions; |
| 34662 | Type @kbd{20 S} to compute the sine of 20 degrees; this will test the | 34721 | Calc normally scans backward and forward in the buffer for the |
| 34663 | autoloading of the extensions modules. The result should be | 34722 | nearest text matching these regular expressions to be the ``formula |
| 34664 | 0.342020143326. Finally, press @kbd{M-# c} again to make sure the | 34723 | delimiters''. |
| 34665 | Calculator can exit. | 34724 | |
| 34725 | The simplest delimiters are blank lines. Other delimiters that | ||
| 34726 | Embedded mode understands by default are: | ||
| 34727 | @enumerate | ||
| 34728 | @item | ||
| 34729 | The @TeX{} and La@TeX{} math delimiters @samp{$ $}, @samp{$$ $$}, | ||
| 34730 | @samp{\[ \]}, and @samp{\( \)}; | ||
| 34731 | @item | ||
| 34732 | Lines beginning with @samp{\begin} and @samp{\end} (except matrix delimiters); | ||
| 34733 | @item | ||
| 34734 | Lines beginning with @samp{@@} (Texinfo delimiters). | ||
| 34735 | @item | ||
| 34736 | Lines beginning with @samp{.EQ} and @samp{.EN} (@dfn{eqn} delimiters); | ||
| 34737 | @item | ||
| 34738 | Lines containing a single @samp{%} or @samp{.\"} symbol and nothing else. | ||
| 34739 | @end enumerate | ||
| 34666 | 34740 | ||
| 34667 | You may also wish to test the GNUPLOT interface; to plot a sine wave, | 34741 | @item calc-embedded-open-word |
| 34668 | type @kbd{' [0 ..@: 360], sin(x) @key{RET} g f}. Type @kbd{g q} when you | 34742 | @itemx calc-embedded-close-word |
| 34669 | are done viewing the plot. | ||
| 34670 | 34743 | ||
| 34671 | Calc is now ready to use. If you wish to go through the Calc Tutorial, | 34744 | See @ref{Customizing Embedded Mode}.@* |
| 34672 | press @kbd{M-# t} to begin. | 34745 | The variables @code{calc-embedded-open-word} and |
| 34673 | @example | 34746 | @code{calc-embedded-close-word} control the region that Calc will |
| 34747 | activate when Embedded mode is entered with @kbd{M-# w}. They are | ||
| 34748 | regular expressions. | ||
| 34674 | 34749 | ||
| 34675 | @end example | 34750 | The default values of @code{calc-embedded-open-word} and |
| 34676 | @node Reporting Bugs, Summary, Installation, Top | 34751 | @code{calc-embedded-close-word} are @code{"^\\|[^-+0-9.eE]"} and |
| 34752 | @code{"$\\|[^-+0-9.eE]"} respectively. | ||
| 34753 | |||
| 34754 | @item calc-embedded-open-plain | ||
| 34755 | @itemx calc-embedded-close-plain | ||
| 34756 | |||
| 34757 | See @ref{Customizing Embedded Mode}.@* | ||
| 34758 | The variables @code{calc-embedded-open-plain} and | ||
| 34759 | @code{calc-embedded-open-plain} are used to delimit ``plain'' | ||
| 34760 | formulas. Note that these are actual strings, not regular | ||
| 34761 | expressions, because Calc must be able to write these string into a | ||
| 34762 | buffer as well as to recognize them. | ||
| 34763 | |||
| 34764 | The default string for @code{calc-embedded-open-plain} is | ||
| 34765 | @code{"%%% "}, note the trailing space. The default string for | ||
| 34766 | @code{calc-embedded-close-plain} is @code{" %%%\n"}, without | ||
| 34767 | the trailing newline here, the first line of a Big mode formula | ||
| 34768 | that followed might be shifted over with respect to the other lines. | ||
| 34769 | |||
| 34770 | @item calc-embedded-open-new-formula | ||
| 34771 | @itemx calc-embedded-close-new-formula | ||
| 34772 | |||
| 34773 | See @ref{Customizing Embedded Mode}.@* | ||
| 34774 | The variables @code{calc-embedded-open-new-formula} and | ||
| 34775 | @code{calc-embedded-close-new-formula} are strings which are | ||
| 34776 | inserted before and after a new formula when you type @kbd{M-# f}. | ||
| 34777 | |||
| 34778 | The default value of @code{calc-embedded-open-new-formula} is | ||
| 34779 | @code{"\n\n"}. If this string begins with a newline character and the | ||
| 34780 | @kbd{M-# f} is typed at the beginning of a line, @kbd{M-# f} will skip | ||
| 34781 | this first newline to avoid introducing unnecessary blank lines in the | ||
| 34782 | file. The default value of @code{calc-embedded-close-new-formula} is | ||
| 34783 | also @code{"\n\n"}. The final newline is omitted by @w{@kbd{M-# f}} | ||
| 34784 | if typed at the end of a line. (It follows that if @kbd{M-# f} is | ||
| 34785 | typed on a blank line, both a leading opening newline and a trailing | ||
| 34786 | closing newline are omitted.) | ||
| 34787 | |||
| 34788 | @item calc-embedded-open-mode | ||
| 34789 | @itemx calc-embedded-close-mode | ||
| 34790 | |||
| 34791 | See @ref{Customizing Embedded Mode}.@* | ||
| 34792 | The variables @code{calc-embedded-open-mode} and | ||
| 34793 | @code{calc-embedded-close-mode} are strings which Calc will place before | ||
| 34794 | and after any mode annotations that it inserts. Calc never scans for | ||
| 34795 | these strings; Calc always looks for the annotation itself, so it is not | ||
| 34796 | necessary to add them to user-written annotations. | ||
| 34797 | |||
| 34798 | The default value of @code{calc-embedded-open-mode} is @code{"% "} | ||
| 34799 | and the default value of @code{calc-embedded-close-mode} is | ||
| 34800 | @code{"\n"}. | ||
| 34801 | If you change the value of @code{calc-embedded-close-mode}, it is a good | ||
| 34802 | idea still to end with a newline so that mode annotations will appear on | ||
| 34803 | lines by themselves. | ||
| 34804 | |||
| 34805 | @end table | ||
| 34806 | |||
| 34807 | @node Reporting Bugs, Summary, Customizable Variables, Top | ||
| 34677 | @appendix Reporting Bugs | 34808 | @appendix Reporting Bugs |
| 34678 | 34809 | ||
| 34679 | @noindent | 34810 | @noindent |
diff --git a/man/calendar.texi b/man/calendar.texi index 999c29dae06..723fa7ce3c4 100644 --- a/man/calendar.texi +++ b/man/calendar.texi | |||
| @@ -691,6 +691,12 @@ Their calendar consists of twelve months of which the first six have 31 | |||
| 691 | days, the next five have 30 days, and the last has 29 in ordinary years | 691 | days, the next five have 30 days, and the last has 29 in ordinary years |
| 692 | and 30 in leap years. Leap years occur in a complicated pattern every | 692 | and 30 in leap years. Leap years occur in a complicated pattern every |
| 693 | four or five years. | 693 | four or five years. |
| 694 | The calendar implemented here is the arithmetical Persian calendar | ||
| 695 | championed by Birashk, based on a 2,820-year cycle. It differs from | ||
| 696 | the astronomical Persian calendar, which is based on astronomical | ||
| 697 | events. As of this writing the first future discrepancy is projected | ||
| 698 | to occur on March 20, 2025. It is currently not clear what the | ||
| 699 | official calendar of Iran will be that far into the future. | ||
| 694 | 700 | ||
| 695 | @cindex Chinese calendar | 701 | @cindex Chinese calendar |
| 696 | The Chinese calendar is a complicated system of lunar months arranged | 702 | The Chinese calendar is a complicated system of lunar months arranged |
diff --git a/man/cmdargs.texi b/man/cmdargs.texi index 38ac3301781..d49ffba6103 100644 --- a/man/cmdargs.texi +++ b/man/cmdargs.texi | |||
| @@ -1196,8 +1196,9 @@ appear until you deiconify it. | |||
| 1196 | @opindex -hb | 1196 | @opindex -hb |
| 1197 | @itemx --horizontal-scroll-bars | 1197 | @itemx --horizontal-scroll-bars |
| 1198 | @opindex --horizontal-scroll-bars | 1198 | @opindex --horizontal-scroll-bars |
| 1199 | @cindex horizontal scroll bars, command-line argument | 1199 | @c @cindex horizontal scroll bars, command-line argument |
| 1200 | Enable horizontal scroll bars. | 1200 | Enable horizontal scroll bars. Since horizontal scroll bars |
| 1201 | are not yet implemented, this actually does nothing. | ||
| 1201 | 1202 | ||
| 1202 | @item -vb | 1203 | @item -vb |
| 1203 | @opindex -vb | 1204 | @opindex -vb |
diff --git a/man/files.texi b/man/files.texi index 7ed2baa0b93..a03bb2a64ea 100644 --- a/man/files.texi +++ b/man/files.texi | |||
| @@ -940,14 +940,8 @@ Auto-Revert Tail mode, @kbd{M-x auto-revert-tail-mode}. | |||
| 940 | for a changed file. Since checking a remote file is too slow, these | 940 | for a changed file. Since checking a remote file is too slow, these |
| 941 | modes do not check or revert remote files. | 941 | modes do not check or revert remote files. |
| 942 | 942 | ||
| 943 | @vindex auto-revert-check-vc-info | 943 | @xref{VC Mode Line}, for Auto Revert peculiarities in buffers that |
| 944 | Whenever Auto Revert mode reverts the buffer, it updates the version | 944 | visit files under version control. |
| 945 | control information, such as the version control number displayed in | ||
| 946 | the mode line. However, this information may not be properly updated | ||
| 947 | if the version control state changes outside of Emacs---for example, | ||
| 948 | if a new version is checked in from outside the current Emacs session. | ||
| 949 | If you set @code{auto-revert-check-vc-info} to @code{t}, Auto Revert | ||
| 950 | mode will update the version control status information periodically. | ||
| 951 | 945 | ||
| 952 | @node Auto Save | 946 | @node Auto Save |
| 953 | @section Auto-Saving: Protection Against Disasters | 947 | @section Auto-Saving: Protection Against Disasters |
| @@ -1375,6 +1369,18 @@ locking is not in use). @samp{:} indicates that the file is locked, or | |||
| 1375 | that it is modified. If the file is locked by some other user (for | 1369 | that it is modified. If the file is locked by some other user (for |
| 1376 | instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}. | 1370 | instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}. |
| 1377 | 1371 | ||
| 1372 | @vindex auto-revert-check-vc-info | ||
| 1373 | When Auto Revert mode (@pxref{Reverting}) reverts a buffer that is | ||
| 1374 | under version control, it updates the version control information in | ||
| 1375 | the mode line. However, Auto Revert mode may not properly update this | ||
| 1376 | information if the version control status changes without changes to | ||
| 1377 | the work file, from outside the current Emacs session. If you set | ||
| 1378 | @code{auto-revert-check-vc-info} to @code{t}, Auto Revert mode updates | ||
| 1379 | the version control status information every | ||
| 1380 | @code{auto-revert-interval} seconds, even if the work file itself is | ||
| 1381 | unchanged. The resulting CPU usage depends on the version control | ||
| 1382 | system, but is usually not excessive. | ||
| 1383 | |||
| 1378 | @node Basic VC Editing | 1384 | @node Basic VC Editing |
| 1379 | @subsection Basic Editing under Version Control | 1385 | @subsection Basic Editing under Version Control |
| 1380 | 1386 | ||
diff --git a/man/maintaining.texi b/man/maintaining.texi index 231699a7d02..f8bc0de5992 100644 --- a/man/maintaining.texi +++ b/man/maintaining.texi | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985,86,87,93,94,95,97,99,00,2001 Free Software Foundation, Inc. | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, |
| 3 | @c 2001, 2005 Free Software Foundation, Inc. | ||
| 3 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 4 | @node Maintaining, Abbrevs, Building, Top | 5 | @node Maintaining, Abbrevs, Building, Top |
| 5 | @chapter Maintaining Programs | 6 | @chapter Maintaining Programs |
| @@ -8,8 +9,8 @@ | |||
| 8 | @cindex program editing | 9 | @cindex program editing |
| 9 | 10 | ||
| 10 | This chapter describes Emacs features for maintaining programs. The | 11 | This chapter describes Emacs features for maintaining programs. The |
| 11 | version control features (@pxref{Version Control}) are also | 12 | version control features (@pxref{Version Control}) are also particularly |
| 12 | particularly useful for this purpose. | 13 | useful for this purpose. |
| 13 | 14 | ||
| 14 | @menu | 15 | @menu |
| 15 | * Change Log:: Maintaining a change history for your program. | 16 | * Change Log:: Maintaining a change history for your program. |
| @@ -51,13 +52,13 @@ permitted provided the copyright notice and this notice are preserved. | |||
| 51 | @noindent | 52 | @noindent |
| 52 | Of course, you should substitute the proper years and copyright holder. | 53 | Of course, you should substitute the proper years and copyright holder. |
| 53 | 54 | ||
| 54 | A change log entry starts with a header line that contains the | 55 | A change log entry starts with a header line that contains the current |
| 55 | current date, your name, and your email address (taken from the | 56 | date, your name, and your email address (taken from the variable |
| 56 | variable @code{user-mail-address}). Aside from these header lines, | 57 | @code{add-log-mailing-address}). Aside from these header lines, every |
| 57 | every line in the change log starts with a space or a tab. The bulk | 58 | line in the change log starts with a space or a tab. The bulk of the |
| 58 | of the entry consists of @dfn{items}, each of which starts with a line | 59 | entry consists of @dfn{items}, each of which starts with a line starting |
| 59 | starting with whitespace and a star. Here are two entries, both dated | 60 | with whitespace and a star. Here are two entries, both dated in May |
| 60 | in May 1993, each with two items: | 61 | 1993, each with two items: |
| 61 | 62 | ||
| 62 | @iftex | 63 | @iftex |
| 63 | @medbreak | 64 | @medbreak |
diff --git a/src/ChangeLog b/src/ChangeLog index c3f13e624a8..a7c0dfdb8fa 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,56 @@ | |||
| 1 | 2005-04-02 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * alloc.c (allocate_string_data): Call BLOCK_INPUT before calling | ||
| 4 | mallopt. | ||
| 5 | |||
| 6 | * ralloc.c (r_alloc_init): Ditto. | ||
| 7 | |||
| 8 | 2005-04-01 Kenichi Handa <handa@m17n.org> | ||
| 9 | |||
| 10 | * lisp.h (Vascii_upcase_table, Vascii_canon_table, | ||
| 11 | Vascii_eqv_table): Extern them. | ||
| 12 | |||
| 13 | * casetab.c (set_case_table): If standard is nonzero, setup | ||
| 14 | Vascii_upcase_table, Vascii_canon_table, and Vascii_eqv_table. | ||
| 15 | |||
| 16 | * search.c (looking_at_1): Use current_buffer->case_canon_table, | ||
| 17 | not DOWNCASE_TABLE. | ||
| 18 | (string_match_1): Likewise. | ||
| 19 | (fast_c_string_match_ignore_case): Use Vascii_canon_table, not | ||
| 20 | Vascii_downcase_table. | ||
| 21 | (fast_string_match_ignore_case): Likewise. | ||
| 22 | (search_buffer): Fix checking of boyer-moore usability. | ||
| 23 | (boyer_moore): Calculate translate_prev_byte1/2/3 in advance. No | ||
| 24 | need of tranlating characters in PAT. Fix calculation of | ||
| 25 | simple_translate. | ||
| 26 | |||
| 27 | 2005-03-31 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 28 | |||
| 29 | * xterm.c [HAVE_XAW3D]: Include ThreeD.h for XtNbeNiceToColormap. | ||
| 30 | (x_create_toolkit_scroll_bar): Test XtNbeNiceToColormap before using it. | ||
| 31 | Use XtNtopShadowPixel and XtNbottomShadowPixel. | ||
| 32 | (x_set_toolkit_scroll_bar_thumb): Remove ugly old hack that didn't | ||
| 33 | really work and that breaks with some versions of Xaw3d. | ||
| 34 | |||
| 35 | 2005-03-31 Kenichi Handa <handa@m17n.org> | ||
| 36 | |||
| 37 | * coding.c (syms_of_coding): Fix previous change. | ||
| 38 | |||
| 39 | 2005-03-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 40 | |||
| 41 | * fileio.c (search_embedded_absfilename): Fix last change. | ||
| 42 | |||
| 43 | 2005-03-25 Kenichi Handa <handa@m17n.org> | ||
| 44 | |||
| 45 | * coding.c (syms_of_coding): Suggest to use set-coding-category in | ||
| 46 | the docstring of coding-category-list. | ||
| 47 | |||
| 48 | 2005-03-31 Kim F. Storm <storm@cua.dk> | ||
| 49 | |||
| 50 | * keyboard.c (Qmouse_fixup_help_message): New var. | ||
| 51 | (syms_of_keyboard): Intern and staticpro it. | ||
| 52 | (show_help_echo): Apply mouse-fixup-help-message to help string. | ||
| 53 | |||
| 1 | 2005-03-30 Kim F. Storm <storm@cua.dk> | 54 | 2005-03-30 Kim F. Storm <storm@cua.dk> |
| 2 | 55 | ||
| 3 | * xdisp.c (display_line): Allow multiple overlay arrows in window. | 56 | * xdisp.c (display_line): Allow multiple overlay arrows in window. |
| @@ -15,7 +68,7 @@ | |||
| 15 | 68 | ||
| 16 | 2005-03-26 Lennart Borgman <lennart.borgman.073@student.lu.se> | 69 | 2005-03-26 Lennart Borgman <lennart.borgman.073@student.lu.se> |
| 17 | 70 | ||
| 18 | * w32term.h (x_output): add focus_state. | 71 | * w32term.h (x_output): Add focus_state. |
| 19 | 72 | ||
| 20 | * w32term.c (x_focus_changed, w32_detect_focus_change): New functions. | 73 | * w32term.c (x_focus_changed, w32_detect_focus_change): New functions. |
| 21 | (w32_read_socket) [WM_SETFOCUS]: Call w32_detect_focus_change. | 74 | (w32_read_socket) [WM_SETFOCUS]: Call w32_detect_focus_change. |
diff --git a/src/alloc.c b/src/alloc.c index aacce3041d5..aee09c3f16c 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -1933,14 +1933,18 @@ allocate_string_data (s, nchars, nbytes) | |||
| 1933 | mmap'ed data typically have an address towards the top of the | 1933 | mmap'ed data typically have an address towards the top of the |
| 1934 | address space, which won't fit into an EMACS_INT (at least on | 1934 | address space, which won't fit into an EMACS_INT (at least on |
| 1935 | 32-bit systems with the current tagging scheme). --fx */ | 1935 | 32-bit systems with the current tagging scheme). --fx */ |
| 1936 | BLOCK_INPUT; | ||
| 1936 | mallopt (M_MMAP_MAX, 0); | 1937 | mallopt (M_MMAP_MAX, 0); |
| 1938 | UNBLOCK_INPUT; | ||
| 1937 | #endif | 1939 | #endif |
| 1938 | 1940 | ||
| 1939 | b = (struct sblock *) lisp_malloc (size + GC_STRING_EXTRA, MEM_TYPE_NON_LISP); | 1941 | b = (struct sblock *) lisp_malloc (size + GC_STRING_EXTRA, MEM_TYPE_NON_LISP); |
| 1940 | 1942 | ||
| 1941 | #ifdef DOUG_LEA_MALLOC | 1943 | #ifdef DOUG_LEA_MALLOC |
| 1942 | /* Back to a reasonable maximum of mmap'ed areas. */ | 1944 | /* Back to a reasonable maximum of mmap'ed areas. */ |
| 1945 | BLOCK_INPUT; | ||
| 1943 | mallopt (M_MMAP_MAX, MMAP_MAX_AREAS); | 1946 | mallopt (M_MMAP_MAX, MMAP_MAX_AREAS); |
| 1947 | UNBLOCK_INPUT; | ||
| 1944 | #endif | 1948 | #endif |
| 1945 | 1949 | ||
| 1946 | b->next_free = &b->first_data; | 1950 | b->next_free = &b->first_data; |
diff --git a/src/casetab.c b/src/casetab.c index 63f29666a50..d0e0e137462 100644 --- a/src/casetab.c +++ b/src/casetab.c | |||
| @@ -161,7 +161,12 @@ set_case_table (table, standard) | |||
| 161 | XCHAR_TABLE (canon)->extras[2] = eqv; | 161 | XCHAR_TABLE (canon)->extras[2] = eqv; |
| 162 | 162 | ||
| 163 | if (standard) | 163 | if (standard) |
| 164 | Vascii_downcase_table = table; | 164 | { |
| 165 | Vascii_downcase_table = table; | ||
| 166 | Vascii_upcase_table = up; | ||
| 167 | Vascii_canon_table = canon; | ||
| 168 | Vascii_eqv_table = eqv; | ||
| 169 | } | ||
| 165 | else | 170 | else |
| 166 | { | 171 | { |
| 167 | current_buffer->downcase_table = table; | 172 | current_buffer->downcase_table = table; |
diff --git a/src/coding.c b/src/coding.c index 6fcb031b432..66430553a84 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -9357,7 +9357,7 @@ associated with each coding-category one by one in this order. When | |||
| 9357 | one algorithm agrees with a byte sequence of source text, the coding | 9357 | one algorithm agrees with a byte sequence of source text, the coding |
| 9358 | system bound to the corresponding coding-category is selected. | 9358 | system bound to the corresponding coding-category is selected. |
| 9359 | 9359 | ||
| 9360 | Don't modify this variable directly, but use `set-coding-category'. */); | 9360 | Don't modify this variable directly, but use `set-coding-priority'. */); |
| 9361 | { | 9361 | { |
| 9362 | int i; | 9362 | int i; |
| 9363 | 9363 | ||
diff --git a/src/keyboard.c b/src/keyboard.c index ec68d35cae6..bd3e27c0f1a 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -523,6 +523,10 @@ Lisp_Object Qmake_frame_visible; | |||
| 523 | Lisp_Object Qselect_window; | 523 | Lisp_Object Qselect_window; |
| 524 | Lisp_Object Qhelp_echo; | 524 | Lisp_Object Qhelp_echo; |
| 525 | 525 | ||
| 526 | #ifdef HAVE_MOUSE | ||
| 527 | Lisp_Object Qmouse_fixup_help_message; | ||
| 528 | #endif | ||
| 529 | |||
| 526 | /* Symbols to denote kinds of events. */ | 530 | /* Symbols to denote kinds of events. */ |
| 527 | Lisp_Object Qfunction_key; | 531 | Lisp_Object Qfunction_key; |
| 528 | Lisp_Object Qmouse_click; | 532 | Lisp_Object Qmouse_click; |
| @@ -2304,6 +2308,11 @@ show_help_echo (help, window, object, pos, ok_to_overwrite_keystroke_echo) | |||
| 2304 | return; | 2308 | return; |
| 2305 | } | 2309 | } |
| 2306 | 2310 | ||
| 2311 | #ifdef HAVE_MOUSE | ||
| 2312 | if (!noninteractive && STRINGP (help)) | ||
| 2313 | help = call1 (Qmouse_fixup_help_message, help); | ||
| 2314 | #endif | ||
| 2315 | |||
| 2307 | if (STRINGP (help) || NILP (help)) | 2316 | if (STRINGP (help) || NILP (help)) |
| 2308 | { | 2317 | { |
| 2309 | if (!NILP (Vshow_help_function)) | 2318 | if (!NILP (Vshow_help_function)) |
| @@ -10873,6 +10882,11 @@ syms_of_keyboard () | |||
| 10873 | Qmenu_bar = intern ("menu-bar"); | 10882 | Qmenu_bar = intern ("menu-bar"); |
| 10874 | staticpro (&Qmenu_bar); | 10883 | staticpro (&Qmenu_bar); |
| 10875 | 10884 | ||
| 10885 | #ifdef HAVE_MOUSE | ||
| 10886 | Qmouse_fixup_help_message = intern ("mouse-fixup-help-message"); | ||
| 10887 | staticpro (&Qmouse_fixup_help_message); | ||
| 10888 | #endif | ||
| 10889 | |||
| 10876 | Qabove_handle = intern ("above-handle"); | 10890 | Qabove_handle = intern ("above-handle"); |
| 10877 | staticpro (&Qabove_handle); | 10891 | staticpro (&Qabove_handle); |
| 10878 | Qhandle = intern ("handle"); | 10892 | Qhandle = intern ("handle"); |
diff --git a/src/lisp.h b/src/lisp.h index 160a5cb398b..ca8795fb1e1 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -1879,7 +1879,8 @@ extern Lisp_Object case_temp2; | |||
| 1879 | NATNUMP (case_temp2)) \ | 1879 | NATNUMP (case_temp2)) \ |
| 1880 | ? XFASTINT (case_temp2) : case_temp1) | 1880 | ? XFASTINT (case_temp2) : case_temp1) |
| 1881 | 1881 | ||
| 1882 | extern Lisp_Object Vascii_downcase_table; | 1882 | extern Lisp_Object Vascii_downcase_table, Vascii_upcase_table; |
| 1883 | extern Lisp_Object Vascii_canon_table, Vascii_eqv_table; | ||
| 1883 | 1884 | ||
| 1884 | /* Number of bytes of structure consed since last GC. */ | 1885 | /* Number of bytes of structure consed since last GC. */ |
| 1885 | 1886 | ||
diff --git a/src/ralloc.c b/src/ralloc.c index 75c25258a9d..fd0d62e1977 100644 --- a/src/ralloc.c +++ b/src/ralloc.c | |||
| @@ -28,6 +28,7 @@ Boston, MA 02111-1307, USA. */ | |||
| 28 | 28 | ||
| 29 | #include <config.h> | 29 | #include <config.h> |
| 30 | #include "lisp.h" /* Needed for VALBITS. */ | 30 | #include "lisp.h" /* Needed for VALBITS. */ |
| 31 | #include "blockinput.h" | ||
| 31 | 32 | ||
| 32 | #ifdef HAVE_UNISTD_H | 33 | #ifdef HAVE_UNISTD_H |
| 33 | #include <unistd.h> | 34 | #include <unistd.h> |
| @@ -1255,7 +1256,9 @@ r_alloc_init () | |||
| 1255 | #endif | 1256 | #endif |
| 1256 | 1257 | ||
| 1257 | #ifdef DOUG_LEA_MALLOC | 1258 | #ifdef DOUG_LEA_MALLOC |
| 1258 | mallopt (M_TOP_PAD, 64 * 4096); | 1259 | BLOCK_INPUT; |
| 1260 | mallopt (M_TOP_PAD, 64 * 4096); | ||
| 1261 | UNBLOCK_INPUT; | ||
| 1259 | #else | 1262 | #else |
| 1260 | #ifndef SYSTEM_MALLOC | 1263 | #ifndef SYSTEM_MALLOC |
| 1261 | /* Give GNU malloc's morecore some hysteresis | 1264 | /* Give GNU malloc's morecore some hysteresis |
diff --git a/src/search.c b/src/search.c index 30e4be41ca9..fb149c665a9 100644 --- a/src/search.c +++ b/src/search.c | |||
| @@ -259,7 +259,7 @@ looking_at_1 (string, posix) | |||
| 259 | CHECK_STRING (string); | 259 | CHECK_STRING (string); |
| 260 | bufp = compile_pattern (string, &search_regs, | 260 | bufp = compile_pattern (string, &search_regs, |
| 261 | (!NILP (current_buffer->case_fold_search) | 261 | (!NILP (current_buffer->case_fold_search) |
| 262 | ? DOWNCASE_TABLE : Qnil), | 262 | ? current_buffer->case_canon_table : Qnil), |
| 263 | posix, | 263 | posix, |
| 264 | !NILP (current_buffer->enable_multibyte_characters)); | 264 | !NILP (current_buffer->enable_multibyte_characters)); |
| 265 | 265 | ||
| @@ -365,7 +365,7 @@ string_match_1 (regexp, string, start, posix) | |||
| 365 | 365 | ||
| 366 | bufp = compile_pattern (regexp, &search_regs, | 366 | bufp = compile_pattern (regexp, &search_regs, |
| 367 | (!NILP (current_buffer->case_fold_search) | 367 | (!NILP (current_buffer->case_fold_search) |
| 368 | ? DOWNCASE_TABLE : Qnil), | 368 | ? current_buffer->case_canon_table : Qnil), |
| 369 | posix, | 369 | posix, |
| 370 | STRING_MULTIBYTE (string)); | 370 | STRING_MULTIBYTE (string)); |
| 371 | immediate_quit = 1; | 371 | immediate_quit = 1; |
| @@ -465,7 +465,7 @@ fast_c_string_match_ignore_case (regexp, string) | |||
| 465 | regexp = string_make_unibyte (regexp); | 465 | regexp = string_make_unibyte (regexp); |
| 466 | re_match_object = Qt; | 466 | re_match_object = Qt; |
| 467 | bufp = compile_pattern (regexp, 0, | 467 | bufp = compile_pattern (regexp, 0, |
| 468 | Vascii_downcase_table, 0, | 468 | Vascii_canon_table, 0, |
| 469 | 0); | 469 | 0); |
| 470 | immediate_quit = 1; | 470 | immediate_quit = 1; |
| 471 | val = re_search (bufp, string, len, 0, len, 0); | 471 | val = re_search (bufp, string, len, 0, len, 0); |
| @@ -482,7 +482,7 @@ fast_string_match_ignore_case (regexp, string) | |||
| 482 | int val; | 482 | int val; |
| 483 | struct re_pattern_buffer *bufp; | 483 | struct re_pattern_buffer *bufp; |
| 484 | 484 | ||
| 485 | bufp = compile_pattern (regexp, 0, Vascii_downcase_table, | 485 | bufp = compile_pattern (regexp, 0, Vascii_canon_table, |
| 486 | 0, STRING_MULTIBYTE (string)); | 486 | 0, STRING_MULTIBYTE (string)); |
| 487 | immediate_quit = 1; | 487 | immediate_quit = 1; |
| 488 | re_match_object = string; | 488 | re_match_object = string; |
| @@ -1253,6 +1253,7 @@ search_buffer (string, pos, pos_byte, lim, lim_byte, n, | |||
| 1253 | if (RE && *base_pat == '\\') | 1253 | if (RE && *base_pat == '\\') |
| 1254 | { | 1254 | { |
| 1255 | len--; | 1255 | len--; |
| 1256 | raw_pattern_size--; | ||
| 1256 | base_pat++; | 1257 | base_pat++; |
| 1257 | } | 1258 | } |
| 1258 | c = *base_pat++; | 1259 | c = *base_pat++; |
| @@ -1487,16 +1488,18 @@ simple_search (n, pat, len, len_byte, trt, pos, pos_byte, lim, lim_byte) | |||
| 1487 | return n; | 1488 | return n; |
| 1488 | } | 1489 | } |
| 1489 | 1490 | ||
| 1490 | /* Do Boyer-Moore search N times for the string PAT, | 1491 | /* Do Boyer-Moore search N times for the string BASE_PAT, |
| 1491 | whose length is LEN/LEN_BYTE, | 1492 | whose length is LEN/LEN_BYTE, |
| 1492 | from buffer position POS/POS_BYTE until LIM/LIM_BYTE. | 1493 | from buffer position POS/POS_BYTE until LIM/LIM_BYTE. |
| 1493 | DIRECTION says which direction we search in. | 1494 | DIRECTION says which direction we search in. |
| 1494 | TRT and INVERSE_TRT are translation tables. | 1495 | TRT and INVERSE_TRT are translation tables. |
| 1496 | Characters in PAT are already translated by TRT. | ||
| 1495 | 1497 | ||
| 1496 | This kind of search works if all the characters in PAT that have | 1498 | This kind of search works if all the characters in BASE_PAT that |
| 1497 | nontrivial translation are the same aside from the last byte. This | 1499 | have nontrivial translation are the same aside from the last byte. |
| 1498 | makes it possible to translate just the last byte of a character, | 1500 | This makes it possible to translate just the last byte of a |
| 1499 | and do so after just a simple test of the context. | 1501 | character, and do so after just a simple test of the context. |
| 1502 | CHARSET_BASE is nonzero iff there is such a non-ASCII character. | ||
| 1500 | 1503 | ||
| 1501 | If that criterion is not satisfied, do not call this function. */ | 1504 | If that criterion is not satisfied, do not call this function. */ |
| 1502 | 1505 | ||
| @@ -1523,8 +1526,13 @@ boyer_moore (n, base_pat, len, len_byte, trt, inverse_trt, | |||
| 1523 | int multibyte = ! NILP (current_buffer->enable_multibyte_characters); | 1526 | int multibyte = ! NILP (current_buffer->enable_multibyte_characters); |
| 1524 | 1527 | ||
| 1525 | unsigned char simple_translate[0400]; | 1528 | unsigned char simple_translate[0400]; |
| 1526 | int translate_prev_byte = 0; | 1529 | /* These are set to the preceding bytes of a byte to be translated |
| 1527 | int translate_anteprev_byte = 0; | 1530 | if charset_base is nonzero. As the maximum byte length of a |
| 1531 | multibyte character is 4, we have to check at most three previous | ||
| 1532 | bytes. */ | ||
| 1533 | int translate_prev_byte1 = 0; | ||
| 1534 | int translate_prev_byte2 = 0; | ||
| 1535 | int translate_prev_byte3 = 0; | ||
| 1528 | 1536 | ||
| 1529 | #ifdef C_ALLOCA | 1537 | #ifdef C_ALLOCA |
| 1530 | int BM_tab_space[0400]; | 1538 | int BM_tab_space[0400]; |
| @@ -1590,6 +1598,23 @@ boyer_moore (n, base_pat, len, len_byte, trt, inverse_trt, | |||
| 1590 | for (i = 0; i < 0400; i++) | 1598 | for (i = 0; i < 0400; i++) |
| 1591 | simple_translate[i] = i; | 1599 | simple_translate[i] = i; |
| 1592 | 1600 | ||
| 1601 | if (charset_base) | ||
| 1602 | { | ||
| 1603 | /* Setup translate_prev_byte1/2/3 from CHARSET_BASE. Only a | ||
| 1604 | byte following them are the target of translation. */ | ||
| 1605 | int sample_char = charset_base | 0x20; | ||
| 1606 | unsigned char str[MAX_MULTIBYTE_LENGTH]; | ||
| 1607 | int len = CHAR_STRING (sample_char, str); | ||
| 1608 | |||
| 1609 | translate_prev_byte1 = str[len - 2]; | ||
| 1610 | if (len > 2) | ||
| 1611 | { | ||
| 1612 | translate_prev_byte2 = str[len - 3]; | ||
| 1613 | if (len > 3) | ||
| 1614 | translate_prev_byte3 = str[len - 4]; | ||
| 1615 | } | ||
| 1616 | } | ||
| 1617 | |||
| 1593 | i = 0; | 1618 | i = 0; |
| 1594 | while (i != infinity) | 1619 | while (i != infinity) |
| 1595 | { | 1620 | { |
| @@ -1777,9 +1802,13 @@ boyer_moore (n, base_pat, len, len_byte, trt, inverse_trt, | |||
| 1777 | || ((cursor == tail_end_ptr | 1802 | || ((cursor == tail_end_ptr |
| 1778 | || CHAR_HEAD_P (cursor[1])) | 1803 | || CHAR_HEAD_P (cursor[1])) |
| 1779 | && (CHAR_HEAD_P (cursor[0]) | 1804 | && (CHAR_HEAD_P (cursor[0]) |
| 1780 | || (translate_prev_byte == cursor[-1] | 1805 | /* Check if this is the last byte of |
| 1781 | && (CHAR_HEAD_P (translate_prev_byte) | 1806 | a translable character. */ |
| 1782 | || translate_anteprev_byte == cursor[-2]))))) | 1807 | || (translate_prev_byte1 == cursor[-1] |
| 1808 | && (CHAR_HEAD_P (translate_prev_byte1) | ||
| 1809 | || (translate_prev_byte2 == cursor[-2] | ||
| 1810 | && (CHAR_HEAD_P (translate_prev_byte2) | ||
| 1811 | || (translate_prev_byte3 == cursor[-3])))))))) | ||
| 1783 | ch = simple_translate[*cursor]; | 1812 | ch = simple_translate[*cursor]; |
| 1784 | else | 1813 | else |
| 1785 | ch = *cursor; | 1814 | ch = *cursor; |
| @@ -1857,9 +1886,13 @@ boyer_moore (n, base_pat, len, len_byte, trt, inverse_trt, | |||
| 1857 | || ((ptr == tail_end_ptr | 1886 | || ((ptr == tail_end_ptr |
| 1858 | || CHAR_HEAD_P (ptr[1])) | 1887 | || CHAR_HEAD_P (ptr[1])) |
| 1859 | && (CHAR_HEAD_P (ptr[0]) | 1888 | && (CHAR_HEAD_P (ptr[0]) |
| 1860 | || (translate_prev_byte == ptr[-1] | 1889 | /* Check if this is the last byte of a |
| 1861 | && (CHAR_HEAD_P (translate_prev_byte) | 1890 | translable character. */ |
| 1862 | || translate_anteprev_byte == ptr[-2]))))) | 1891 | || (translate_prev_byte1 == ptr[-1] |
| 1892 | && (CHAR_HEAD_P (translate_prev_byte1) | ||
| 1893 | || (translate_prev_byte2 == ptr[-2] | ||
| 1894 | && (CHAR_HEAD_P (translate_prev_byte2) | ||
| 1895 | || translate_prev_byte3 == ptr[-3]))))))) | ||
| 1863 | ch = simple_translate[*ptr]; | 1896 | ch = simple_translate[*ptr]; |
| 1864 | else | 1897 | else |
| 1865 | ch = *ptr; | 1898 | ch = *ptr; |
diff --git a/src/xterm.c b/src/xterm.c index 3b6d2e18ac6..26af2848f9b 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -131,9 +131,7 @@ extern void _XEditResCheckMessages (); | |||
| 131 | #ifdef HAVE_XAW3D | 131 | #ifdef HAVE_XAW3D |
| 132 | #include <X11/Xaw3d/Simple.h> | 132 | #include <X11/Xaw3d/Simple.h> |
| 133 | #include <X11/Xaw3d/Scrollbar.h> | 133 | #include <X11/Xaw3d/Scrollbar.h> |
| 134 | #define ARROW_SCROLLBAR | 134 | #include <X11/Xaw3d/ThreeD.h> |
| 135 | #define XAW_ARROW_SCROLLBARS | ||
| 136 | #include <X11/Xaw3d/ScrollbarP.h> | ||
| 137 | #else /* !HAVE_XAW3D */ | 135 | #else /* !HAVE_XAW3D */ |
| 138 | #include <X11/Xaw/Simple.h> | 136 | #include <X11/Xaw/Simple.h> |
| 139 | #include <X11/Xaw/Scrollbar.h> | 137 | #include <X11/Xaw/Scrollbar.h> |
| @@ -4553,6 +4551,7 @@ x_create_toolkit_scroll_bar (f, bar) | |||
| 4553 | f->output_data.x->scroll_bar_bottom_shadow_pixel = pixel; | 4551 | f->output_data.x->scroll_bar_bottom_shadow_pixel = pixel; |
| 4554 | } | 4552 | } |
| 4555 | 4553 | ||
| 4554 | #ifdef XtNbeNiceToColormap | ||
| 4556 | /* Tell the toolkit about them. */ | 4555 | /* Tell the toolkit about them. */ |
| 4557 | if (f->output_data.x->scroll_bar_top_shadow_pixel == -1 | 4556 | if (f->output_data.x->scroll_bar_top_shadow_pixel == -1 |
| 4558 | || f->output_data.x->scroll_bar_bottom_shadow_pixel == -1) | 4557 | || f->output_data.x->scroll_bar_bottom_shadow_pixel == -1) |
| @@ -4576,16 +4575,17 @@ x_create_toolkit_scroll_bar (f, bar) | |||
| 4576 | pixel = f->output_data.x->scroll_bar_top_shadow_pixel; | 4575 | pixel = f->output_data.x->scroll_bar_top_shadow_pixel; |
| 4577 | if (pixel != -1) | 4576 | if (pixel != -1) |
| 4578 | { | 4577 | { |
| 4579 | XtSetArg (av[ac], "topShadowPixel", pixel); | 4578 | XtSetArg (av[ac], XtNtopShadowPixel, pixel); |
| 4580 | ++ac; | 4579 | ++ac; |
| 4581 | } | 4580 | } |
| 4582 | pixel = f->output_data.x->scroll_bar_bottom_shadow_pixel; | 4581 | pixel = f->output_data.x->scroll_bar_bottom_shadow_pixel; |
| 4583 | if (pixel != -1) | 4582 | if (pixel != -1) |
| 4584 | { | 4583 | { |
| 4585 | XtSetArg (av[ac], "bottomShadowPixel", pixel); | 4584 | XtSetArg (av[ac], XtNbottomShadowPixel, pixel); |
| 4586 | ++ac; | 4585 | ++ac; |
| 4587 | } | 4586 | } |
| 4588 | } | 4587 | } |
| 4588 | #endif | ||
| 4589 | 4589 | ||
| 4590 | widget = XtCreateWidget (scroll_bar_name, scrollbarWidgetClass, | 4590 | widget = XtCreateWidget (scroll_bar_name, scrollbarWidgetClass, |
| 4591 | f->output_data.x->edit_widget, av, ac); | 4591 | f->output_data.x->edit_widget, av, ac); |
| @@ -4731,30 +4731,11 @@ x_set_toolkit_scroll_bar_thumb (bar, portion, position, whole) | |||
| 4731 | XawScrollbarSetThumb (widget, top, shown); | 4731 | XawScrollbarSetThumb (widget, top, shown); |
| 4732 | else | 4732 | else |
| 4733 | { | 4733 | { |
| 4734 | #ifdef HAVE_XAW3D | ||
| 4735 | ScrollbarWidget sb = (ScrollbarWidget) widget; | ||
| 4736 | int scroll_mode = 0; | ||
| 4737 | |||
| 4738 | /* `scroll_mode' only exists with Xaw3d + ARROW_SCROLLBAR. */ | ||
| 4739 | if (xaw3d_arrow_scroll) | ||
| 4740 | { | ||
| 4741 | /* Xaw3d stupidly ignores resize requests while dragging | ||
| 4742 | so we have to make it believe it's not in dragging mode. */ | ||
| 4743 | scroll_mode = sb->scrollbar.scroll_mode; | ||
| 4744 | if (scroll_mode == 2) | ||
| 4745 | sb->scrollbar.scroll_mode = 0; | ||
| 4746 | } | ||
| 4747 | #endif | ||
| 4748 | /* Try to make the scrolling a tad smoother. */ | 4734 | /* Try to make the scrolling a tad smoother. */ |
| 4749 | if (!xaw3d_pick_top) | 4735 | if (!xaw3d_pick_top) |
| 4750 | shown = min (shown, old_shown); | 4736 | shown = min (shown, old_shown); |
| 4751 | 4737 | ||
| 4752 | XawScrollbarSetThumb (widget, top, shown); | 4738 | XawScrollbarSetThumb (widget, top, shown); |
| 4753 | |||
| 4754 | #ifdef HAVE_XAW3D | ||
| 4755 | if (xaw3d_arrow_scroll && scroll_mode == 2) | ||
| 4756 | sb->scrollbar.scroll_mode = scroll_mode; | ||
| 4757 | #endif | ||
| 4758 | } | 4739 | } |
| 4759 | } | 4740 | } |
| 4760 | } | 4741 | } |