aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorJoakim Verona2011-08-27 19:45:48 +0200
committerJoakim Verona2011-08-27 19:45:48 +0200
commit9fb7b0cab34a48a4c7b66abb6b8edc4ee20467b4 (patch)
treee94476d49f15747fcb9409d773702e88201855a4 /doc
parentc7489583c30031c0ecfae9d20b20c149ca1935e9 (diff)
parentb75258b32810f3690442bddef2e10eef126d2d25 (diff)
downloademacs-9fb7b0cab34a48a4c7b66abb6b8edc4ee20467b4.tar.gz
emacs-9fb7b0cab34a48a4c7b66abb6b8edc4ee20467b4.zip
upstream
Diffstat (limited to 'doc')
-rw-r--r--doc/emacs/ChangeLog30
-rw-r--r--doc/emacs/Makefile.in1
-rw-r--r--doc/emacs/calendar.texi2
-rw-r--r--doc/emacs/custom.texi2
-rw-r--r--doc/emacs/dired.texi2
-rw-r--r--doc/emacs/display.texi68
-rw-r--r--doc/emacs/emacs.texi131
-rw-r--r--doc/emacs/frames.texi8
-rw-r--r--doc/emacs/help.texi12
-rw-r--r--doc/emacs/makefile.w32-in1
-rw-r--r--doc/emacs/misc.texi583
-rw-r--r--doc/emacs/package.texi230
-rw-r--r--doc/emacs/picture-xtra.texi10
-rw-r--r--doc/emacs/rmail.texi2
-rw-r--r--doc/emacs/text.texi91
-rw-r--r--doc/emacs/trouble.texi2
-rw-r--r--doc/lispref/ChangeLog7
-rw-r--r--doc/lispref/display.texi17
18 files changed, 708 insertions, 491 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 6874ef75ef8..50eb89fe488 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,33 @@
12011-08-27 Eli Zaretskii <eliz@gnu.org>
2
3 * frames.texi (Frame Commands): Advise setting focus-follows-mouse
4 even on MS-Windows. Fix a typo.
5
62011-08-26 Chong Yidong <cyd@stupidchicken.com>
7
8 * package.texi: New file, documenting the package manager.
9
10 * emacs.texi: Include it.
11
12 * help.texi (Help Summary): Add describe-package.
13
142011-08-25 Chong Yidong <cyd@stupidchicken.com>
15
16 * misc.texi (Printing): Convert subnodes into subsections.
17
18 * text.texi (Two-Column): Move into Text chapter.
19
20 * picture-xtra.texi (Picture Mode): Group with Editing Binary
21 Files section. Convert from chapter into section.
22
23 * display.texi (Narrowing): Move into display chapter.
24
25 * sending.texi (Sending Mail):
26 * rmail.texi (Rmail):
27 * misc.texi (Gnus, Document View):
28 * dired.texi (Dired):
29 * emacs.texi: Group the mail, rmail, and gnus chapters together.
30
12011-08-07 Juri Linkov <juri@jurta.org> 312011-08-07 Juri Linkov <juri@jurta.org>
2 32
3 * dired.texi (Operating on Files): Rewrite according to the fact 33 * dired.texi (Operating on Files): Rewrite according to the fact
diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in
index 9465c726eba..66cd7f1d92e 100644
--- a/doc/emacs/Makefile.in
+++ b/doc/emacs/Makefile.in
@@ -96,6 +96,7 @@ EMACSSOURCES= \
96 ${srcdir}/dired.texi \ 96 ${srcdir}/dired.texi \
97 ${srcdir}/calendar.texi \ 97 ${srcdir}/calendar.texi \
98 ${srcdir}/misc.texi \ 98 ${srcdir}/misc.texi \
99 ${srcdir}/package.texi \
99 ${srcdir}/custom.texi \ 100 ${srcdir}/custom.texi \
100 ${srcdir}/trouble.texi \ 101 ${srcdir}/trouble.texi \
101 ${srcdir}/cmdargs.texi \ 102 ${srcdir}/cmdargs.texi \
diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi
index 9de223854c1..71a2dba7d08 100644
--- a/doc/emacs/calendar.texi
+++ b/doc/emacs/calendar.texi
@@ -2,7 +2,7 @@
2@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 2@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
3@c Free Software Foundation, Inc. 3@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 4@c See file emacs.texi for copying conditions.
5@node Calendar/Diary, Document View, Dired, Top 5@node Calendar/Diary
6@chapter The Calendar and the Diary 6@chapter The Calendar and the Diary
7@cindex calendar 7@cindex calendar
8@findex calendar 8@findex calendar
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index 6a6d465438d..a22d6c1f5dd 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -2,7 +2,7 @@
2@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 2@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
3@c Free Software Foundation, Inc. 3@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 4@c See file emacs.texi for copying conditions.
5@node Customization, Quitting, Amusements, Top 5@node Customization
6@chapter Customization 6@chapter Customization
7@cindex customization 7@cindex customization
8 8
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi
index 80ccd1d10f9..d536547e293 100644
--- a/doc/emacs/dired.texi
+++ b/doc/emacs/dired.texi
@@ -2,7 +2,7 @@
2@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011 2@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
3@c Free Software Foundation, Inc. 3@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 4@c See file emacs.texi for copying conditions.
5@node Dired, Calendar/Diary, Rmail, Top 5@node Dired
6@chapter Dired, the Directory Editor 6@chapter Dired, the Directory Editor
7@c This node is referenced in the tutorial. When renaming or deleting 7@c This node is referenced in the tutorial. When renaming or deleting
8@c it, the tutorial needs to be adjusted. 8@c it, the tutorial needs to be adjusted.
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index bfbfb355c9c..cc7f70cf574 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -15,6 +15,8 @@ want to see, and how to display it.
15* Scrolling:: Commands to move text up and down in a window. 15* Scrolling:: Commands to move text up and down in a window.
16* Auto Scrolling:: Redisplay scrolls text automatically when needed. 16* Auto Scrolling:: Redisplay scrolls text automatically when needed.
17* Horizontal Scrolling:: Moving text left and right in a window. 17* Horizontal Scrolling:: Moving text left and right in a window.
18* Narrowing:: Restricting display and editing to a portion
19 of the buffer.
18* Follow Mode:: Follow mode lets two windows scroll as one. 20* Follow Mode:: Follow mode lets two windows scroll as one.
19* Faces:: How to change the display style using faces. 21* Faces:: How to change the display style using faces.
20* Standard Faces:: Emacs' predefined faces. 22* Standard Faces:: Emacs' predefined faces.
@@ -300,6 +302,72 @@ a lower bound for automatic horizontal scrolling. Automatic scrolling
300will continue to scroll the window, but never farther to the right 302will continue to scroll the window, but never farther to the right
301than the amount you previously set by @code{scroll-left}. 303than the amount you previously set by @code{scroll-left}.
302 304
305@node Narrowing
306@section Narrowing
307@cindex widening
308@cindex restriction
309@cindex narrowing
310@cindex accessible portion
311
312 @dfn{Narrowing} means focusing in on some portion of the buffer,
313making the rest temporarily inaccessible. The portion which you can
314still get to is called the @dfn{accessible portion}. Canceling the
315narrowing, which makes the entire buffer once again accessible, is
316called @dfn{widening}. The bounds of narrowing in effect in a buffer
317are called the buffer's @dfn{restriction}.
318
319 Narrowing can make it easier to concentrate on a single subroutine or
320paragraph by eliminating clutter. It can also be used to limit the
321range of operation of a replace command or repeating keyboard macro.
322
323@table @kbd
324@item C-x n n
325Narrow down to between point and mark (@code{narrow-to-region}).
326@item C-x n w
327Widen to make the entire buffer accessible again (@code{widen}).
328@item C-x n p
329Narrow down to the current page (@code{narrow-to-page}).
330@item C-x n d
331Narrow down to the current defun (@code{narrow-to-defun}).
332@end table
333
334 When you have narrowed down to a part of the buffer, that part appears
335to be all there is. You can't see the rest, you can't move into it
336(motion commands won't go outside the accessible part), you can't change
337it in any way. However, it is not gone, and if you save the file all
338the inaccessible text will be saved. The word @samp{Narrow} appears in
339the mode line whenever narrowing is in effect.
340
341@kindex C-x n n
342@findex narrow-to-region
343 The primary narrowing command is @kbd{C-x n n} (@code{narrow-to-region}).
344It sets the current buffer's restrictions so that the text in the current
345region remains accessible, but all text before the region or after the
346region is inaccessible. Point and mark do not change.
347
348@kindex C-x n p
349@findex narrow-to-page
350@kindex C-x n d
351@findex narrow-to-defun
352 Alternatively, use @kbd{C-x n p} (@code{narrow-to-page}) to narrow
353down to the current page. @xref{Pages}, for the definition of a page.
354@kbd{C-x n d} (@code{narrow-to-defun}) narrows down to the defun
355containing point (@pxref{Defuns}).
356
357@kindex C-x n w
358@findex widen
359 The way to cancel narrowing is to widen with @kbd{C-x n w}
360(@code{widen}). This makes all text in the buffer accessible again.
361
362 You can get information on what part of the buffer you are narrowed down
363to using the @kbd{C-x =} command. @xref{Position Info}.
364
365 Because narrowing can easily confuse users who do not understand it,
366@code{narrow-to-region} is normally a disabled command. Attempting to use
367this command asks for confirmation and gives you the option of enabling it;
368if you enable the command, confirmation will no longer be required for
369it. @xref{Disabling}.
370
303@node Follow Mode 371@node Follow Mode
304@section Follow Mode 372@section Follow Mode
305@cindex Follow mode 373@cindex Follow mode
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index e8fb42db0bb..060f939fa7a 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -187,39 +187,32 @@ Major Structures of Emacs
187Advanced Features 187Advanced Features
188* Modes:: Major and minor modes alter Emacs' basic behavior. 188* Modes:: Major and minor modes alter Emacs' basic behavior.
189* Indentation:: Editing the white space at the beginnings of lines. 189* Indentation:: Editing the white space at the beginnings of lines.
190* Text:: Commands and modes for editing English. 190* Text:: Commands and modes for editing human languages.
191* Programs:: Commands and modes for editing programs. 191* Programs:: Commands and modes for editing programs.
192* Building:: Compiling, running and debugging programs. 192* Building:: Compiling, running and debugging programs.
193* Maintaining:: Features for maintaining large programs. 193* Maintaining:: Features for maintaining large programs.
194* Abbrevs:: Defining text abbreviations to reduce 194* Abbrevs:: Defining text abbreviations to reduce
195 the number of characters you must type. 195 the number of characters you must type.
196@c AFAICS, the tex stuff generates its own index and does not use this one. 196* Dired:: Directory and file manager.
197@ifnottex 197* Calendar/Diary:: Calendar and diary facilities.
198* Picture Mode:: Editing pictures made up of characters using
199 the quarter-plane screen model.
200@end ifnottex
201* Sending Mail:: Sending mail in Emacs. 198* Sending Mail:: Sending mail in Emacs.
202* Rmail:: Reading mail in Emacs. 199* Rmail:: Reading mail in Emacs.
203* Dired:: You can "edit" a directory to manage files in it.
204* Calendar/Diary:: The calendar and diary facilities.
205* Document View:: Viewing PDF, PS and DVI files.
206* Gnus:: A flexible mail and news reader. 200* Gnus:: A flexible mail and news reader.
201* Document View:: Viewing PDF, PS and DVI files.
207* Shell:: Executing shell commands from Emacs. 202* Shell:: Executing shell commands from Emacs.
208* Emacs Server:: Using Emacs as an editing server. 203* Emacs Server:: Using Emacs as an editing server.
209* Printing:: Printing hardcopies of buffers or regions. 204* Printing:: Printing hardcopies of buffers or regions.
210* Sorting:: Sorting lines, paragraphs or pages within Emacs. 205* Sorting:: Sorting lines, paragraphs or pages within Emacs.
211* Narrowing:: Restricting display and editing to a portion 206@ifnottex
212 of the buffer. 207* Picture Mode:: Editing pictures made up of text characters.
213* Two-Column:: Splitting apart columns to edit them 208@end ifnottex
214 in side-by-side windows. 209* Editing Binary Files:: Editing binary files with Hexl mode.
215* Editing Binary Files::Using Hexl mode to edit binary files.
216* Saving Emacs Sessions:: Saving Emacs state from one session to the next. 210* Saving Emacs Sessions:: Saving Emacs state from one session to the next.
217* Recursive Edit:: A command can allow you to do editing 211* Recursive Edit:: Performing edits while "within another command".
218 "within the command". This is called a
219 "recursive editing level".
220* Emulation:: Emulating some other editors with Emacs. 212* Emulation:: Emulating some other editors with Emacs.
221* Hyperlinking:: Following links in buffers. 213* Hyperlinking:: Following links in buffers.
222* Amusements:: Various games and hacks. 214* Amusements:: Various games and hacks.
215* Packages:: Installing additional features.
223* Customization:: Modifying the behavior of Emacs. 216* Customization:: Modifying the behavior of Emacs.
224 217
225Recovery from Problems 218Recovery from Problems
@@ -350,6 +343,8 @@ Controlling the Display
350* Scrolling:: Commands to move text up and down in a window. 343* Scrolling:: Commands to move text up and down in a window.
351* Auto Scrolling:: Redisplay scrolls text automatically when needed. 344* Auto Scrolling:: Redisplay scrolls text automatically when needed.
352* Horizontal Scrolling:: Moving text left and right in a window. 345* Horizontal Scrolling:: Moving text left and right in a window.
346* Narrowing:: Restricting display and editing to a portion
347 of the buffer.
353* Follow Mode:: Follow mode lets two windows scroll as one. 348* Follow Mode:: Follow mode lets two windows scroll as one.
354* Faces:: How to change the display style using faces. 349* Faces:: How to change the display style using faces.
355* Standard Faces:: Emacs' predefined faces. 350* Standard Faces:: Emacs' predefined faces.
@@ -577,6 +572,7 @@ Commands for Human Languages
577* Nroff Mode:: Editing input to the formatter nroff. 572* Nroff Mode:: Editing input to the formatter nroff.
578* Formatted Text:: Editing formatted text directly in WYSIWYG fashion. 573* Formatted Text:: Editing formatted text directly in WYSIWYG fashion.
579* Text Based Tables:: Editing text-based tables in WYSIWYG fashion. 574* Text Based Tables:: Editing text-based tables in WYSIWYG fashion.
575* Two-Column:: Splitting text columns into separate windows.
580 576
581Filling Text 577Filling Text
582 578
@@ -885,52 +881,6 @@ Editing Pictures
885* Rectangles in Picture:: Clearing and superimposing rectangles. 881* Rectangles in Picture:: Clearing and superimposing rectangles.
886@end ifnottex 882@end ifnottex
887 883
888Sending Mail
889
890* Mail Format:: Format of the mail being composed.
891* Mail Headers:: Details of some standard mail header fields.
892* Mail Aliases:: Abbreviating and grouping mail addresses.
893* Mail Commands:: Special commands for editing mail being composed.
894* Mail Signature:: Adding a signature to every message.
895* Mail Amusements:: Distracting the NSA; adding fortune messages.
896* Mail Methods:: Using alternative mail-composition methods.
897
898Mail Commands
899
900* Mail Sending:: Commands to send the message.
901* Header Editing:: Commands to move to header fields and edit them.
902* Citing Mail:: Quoting a message you are replying to.
903* Mail Misc:: Attachments, spell checking, etc.
904
905Reading Mail with Rmail
906
907* Rmail Basics:: Basic concepts of Rmail, and simple use.
908* Rmail Scrolling:: Scrolling through a message.
909* Rmail Motion:: Moving to another message.
910* Rmail Deletion:: Deleting and expunging messages.
911* Rmail Inbox:: How mail gets into the Rmail file.
912* Rmail Files:: Using multiple Rmail files.
913* Rmail Output:: Copying message out to files.
914* Rmail Labels:: Classifying messages by labeling them.
915* Rmail Attributes:: Certain standard labels, called attributes.
916* Rmail Reply:: Sending replies to messages you are viewing.
917* Rmail Summary:: Summaries show brief info on many messages.
918* Rmail Sorting:: Sorting messages in Rmail.
919* Rmail Display:: How Rmail displays a message; customization.
920* Rmail Coding:: How Rmail handles decoding character sets.
921* Rmail Editing:: Editing message text and headers in Rmail.
922* Rmail Digest:: Extracting the messages from a digest message.
923* Rmail Rot13:: Reading messages encoded in the rot13 code.
924* Movemail:: More details of fetching new mail.
925* Remote Mailboxes:: Retrieving mail from remote mailboxes.
926* Other Mailbox Formats:: Retrieving mail from local mailboxes in
927 various formats.
928
929Summaries
930
931* Rmail Make Summary:: Making various sorts of summaries.
932* Rmail Summary Edit:: Manipulating messages from the summary.
933
934Dired, the Directory Editor 884Dired, the Directory Editor
935 885
936* Dired Enter:: How to invoke Dired. 886* Dired Enter:: How to invoke Dired.
@@ -1014,6 +964,52 @@ Document Viewing
1014* Slicing:: Specifying which part of pages should be displayed. 964* Slicing:: Specifying which part of pages should be displayed.
1015* Conversion:: Influencing and triggering conversion. 965* Conversion:: Influencing and triggering conversion.
1016 966
967Sending Mail
968
969* Mail Format:: Format of the mail being composed.
970* Mail Headers:: Details of some standard mail header fields.
971* Mail Aliases:: Abbreviating and grouping mail addresses.
972* Mail Commands:: Special commands for editing mail being composed.
973* Mail Signature:: Adding a signature to every message.
974* Mail Amusements:: Distracting the NSA; adding fortune messages.
975* Mail Methods:: Using alternative mail-composition methods.
976
977Mail Commands
978
979* Mail Sending:: Commands to send the message.
980* Header Editing:: Commands to move to header fields and edit them.
981* Citing Mail:: Quoting a message you are replying to.
982* Mail Misc:: Attachments, spell checking, etc.
983
984Reading Mail with Rmail
985
986* Rmail Basics:: Basic concepts of Rmail, and simple use.
987* Rmail Scrolling:: Scrolling through a message.
988* Rmail Motion:: Moving to another message.
989* Rmail Deletion:: Deleting and expunging messages.
990* Rmail Inbox:: How mail gets into the Rmail file.
991* Rmail Files:: Using multiple Rmail files.
992* Rmail Output:: Copying message out to files.
993* Rmail Labels:: Classifying messages by labeling them.
994* Rmail Attributes:: Certain standard labels, called attributes.
995* Rmail Reply:: Sending replies to messages you are viewing.
996* Rmail Summary:: Summaries show brief info on many messages.
997* Rmail Sorting:: Sorting messages in Rmail.
998* Rmail Display:: How Rmail displays a message; customization.
999* Rmail Coding:: How Rmail handles decoding character sets.
1000* Rmail Editing:: Editing message text and headers in Rmail.
1001* Rmail Digest:: Extracting the messages from a digest message.
1002* Rmail Rot13:: Reading messages encoded in the rot13 code.
1003* Movemail:: More details of fetching new mail.
1004* Remote Mailboxes:: Retrieving mail from remote mailboxes.
1005* Other Mailbox Formats:: Retrieving mail from local mailboxes in
1006 various formats.
1007
1008Rmail Summaries
1009
1010* Rmail Make Summary:: Making various sorts of summaries.
1011* Rmail Summary Edit:: Manipulating messages from the summary.
1012
1017Gnus 1013Gnus
1018 1014
1019* Buffers of Gnus:: The group, summary, and article buffers. 1015* Buffers of Gnus:: The group, summary, and article buffers.
@@ -1494,16 +1490,15 @@ Lisp programming.
1494@c Includes vc1-xtra, emerge-xtra. 1490@c Includes vc1-xtra, emerge-xtra.
1495@include maintaining.texi 1491@include maintaining.texi
1496@include abbrevs.texi 1492@include abbrevs.texi
1497@ifnottex
1498@include picture-xtra.texi
1499@end ifnottex
1500@include sending.texi
1501@include rmail.texi
1502@c Includes dired-xtra. 1493@c Includes dired-xtra.
1503@include dired.texi 1494@include dired.texi
1504@c Includes cal-xtra. 1495@c Includes cal-xtra.
1505@include calendar.texi 1496@include calendar.texi
1497@include sending.texi
1498@include rmail.texi
1499@c Includes picture-xtra.texi
1506@include misc.texi 1500@include misc.texi
1501@include package.texi
1507@include custom.texi 1502@include custom.texi
1508@include trouble.texi 1503@include trouble.texi
1509 1504
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index b9b56670988..328deaec357 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -467,12 +467,14 @@ for Emacs to detect this automatically, so you should set the variable
467@code{focus-follows-mouse}. The default is @code{nil}, meaning you 467@code{focus-follows-mouse}. The default is @code{nil}, meaning you
468have to click on the window to select it (the default for most modern 468have to click on the window to select it (the default for most modern
469window managers). You should change it to @code{t} if your window 469window managers). You should change it to @code{t} if your window
470manager selects and window and gives it focus anytime you move the 470manager selects a window and gives it focus anytime you move the mouse
471mouse onto the window. 471onto the window.
472 472
473 The window manager that is part of MS-Windows always gives focus to 473 The window manager that is part of MS-Windows always gives focus to
474a frame that raises, so this variable has no effect in the native 474a frame that raises, so this variable has no effect in the native
475MS-Windows build of Emacs. 475MS-Windows build of Emacs. However, you may still wish to set this
476variable to @code{t} to have Emacs automatically move the mouse
477pointer to the raised frame.
476 478
477@node Fonts 479@node Fonts
478@section Fonts 480@section Fonts
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi
index 9a75bfb1887..bf93892c0db 100644
--- a/doc/emacs/help.texi
+++ b/doc/emacs/help.texi
@@ -126,16 +126,20 @@ The complete Emacs manual is available on-line in Info.
126Display the name and documentation of the command that @var{key} runs 126Display the name and documentation of the command that @var{key} runs
127(@code{describe-key}). 127(@code{describe-key}).
128@item C-h l 128@item C-h l
129Display a description of your last 300 keystrokes 129Display a description of your last 300 keystrokes
130(@code{view-lossage}). 130(@code{view-lossage}).
131@item C-h m 131@item C-h m
132Display documentation of the current major mode (@code{describe-mode}). 132Display documentation of the current major mode (@code{describe-mode}).
133@item C-h n 133@item C-h n
134Display news of recent Emacs changes (@code{view-emacs-news}). 134Display news of recent Emacs changes (@code{view-emacs-news}).
135@item C-h p 135@item C-h p
136Find packages by topic keyword (@code{finder-by-keyword}). For an 136Find packages by topic keyword (@code{finder-by-keyword}). This lists
137alternative interface to the same information, try the @code{info-finder} 137packages using a package menu buffer (@pxref{Package Menu}); for an
138command. 138alternative interface to the same information, try the
139@code{info-finder} command.
140@item C-h P @var{package} @key{RET}
141Display documentation about the package named @var{package}
142(@code{describe-package}; @pxref{Packages}).
139@item C-h r 143@item C-h r
140Display the Emacs manual in Info (@code{info-emacs-manual}). 144Display the Emacs manual in Info (@code{info-emacs-manual}).
141@item C-h s 145@item C-h s
diff --git a/doc/emacs/makefile.w32-in b/doc/emacs/makefile.w32-in
index 4064f4ef6a3..e128a50ebd3 100644
--- a/doc/emacs/makefile.w32-in
+++ b/doc/emacs/makefile.w32-in
@@ -88,6 +88,7 @@ EMACSSOURCES= \
88 $(srcdir)/dired.texi \ 88 $(srcdir)/dired.texi \
89 $(srcdir)/calendar.texi \ 89 $(srcdir)/calendar.texi \
90 $(srcdir)/misc.texi \ 90 $(srcdir)/misc.texi \
91 $(srcdir)/package.texi \
91 $(srcdir)/custom.texi \ 92 $(srcdir)/custom.texi \
92 $(srcdir)/trouble.texi \ 93 $(srcdir)/trouble.texi \
93 $(srcdir)/cmdargs.texi \ 94 $(srcdir)/cmdargs.texi \
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 426610e65b9..2dab70c512a 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -10,9 +10,9 @@ else: viewing ``document files'', reading netnews, running shell
10commands and shell subprocesses, using a single shared Emacs for 10commands and shell subprocesses, using a single shared Emacs for
11utilities that expect to run an editor as a subprocess, printing 11utilities that expect to run an editor as a subprocess, printing
12hardcopy, sorting text, narrowing display to part of the buffer, 12hardcopy, sorting text, narrowing display to part of the buffer,
13editing double-column files and binary files, saving an Emacs session 13editing binary files, saving an Emacs session for later resumption,
14for later resumption, following hyperlinks, browsing images, emulating 14following hyperlinks, browsing images, emulating other editors, and
15other editors, and various diversions and amusements. 15various diversions and amusements.
16 16
17@end iftex 17@end iftex
18 18
@@ -20,187 +20,7 @@ other editors, and various diversions and amusements.
20@raisesections 20@raisesections
21@end ifnottex 21@end ifnottex
22 22
23@node Document View, Gnus, Calendar/Diary, Top 23@node Gnus
24@section Document Viewing
25@cindex DVI file
26@cindex PDF file
27@cindex PS file
28@cindex Postscript file
29@cindex OpenDocument file
30@cindex Microsoft Office file
31@cindex DocView mode
32@cindex mode, DocView
33@cindex document viewer (DocView)
34@findex doc-view-mode
35
36DocView mode (@code{doc-view-mode}) is a viewer for DVI, Postscript
37(PS), PDF, OpenDocument, and Microsoft Office documents. It provides
38features such as slicing, zooming, and searching inside documents. It
39works by converting the document to a set of images using the
40@command{gs} (GhostScript) command and other external tools
41@footnote{@code{gs} is a hard requirement. For DVI files,
42@code{dvipdf} or @code{dvipdfm} is needed. For OpenDocument and
43Microsoft Office documents, the @code{unoconv} tool is needed.}, and
44displaying those images.
45
46@findex doc-view-toggle-display
47@findex doc-view-toggle-display
48@cindex doc-view-minor-mode
49 When you visit a document file with the exception of Postscript
50files, Emacs automatically switches to DocView mode if possible
51@footnote{The needed external tools for this document type have to be
52available, emacs needs to run in a graphical frame, and PNG image
53support has to be compiled into emacs. If any of these requirements
54is not fulfilled, DocView falls back to an appropriate mode.}. When
55you visit a Postscript file, Emacs switches to PS mode, a major mode
56for editing Postscript files as text; however, it also enables DocView
57minor mode, so you can type @kbd{C-c C-c} to view the document with
58DocView. (PDF and DVI files, unlike Postscript files, are not usually
59human-editable.) In either case, repeating @kbd{C-c C-c}
60(@code{doc-view-toggle-display}) toggles between DocView and the file
61text.
62
63 You can explicitly toggle DocView mode with the command @code{M-x
64doc-view-mode}, and DocView minor mode with the command @code{M-x
65doc-view-minor-mode}.
66
67 When DocView mode starts, it displays a welcome screen and begins
68formatting the file, page by page. It displays the first page once
69that has been formatted.
70
71@findex doc-view-enlarge
72@findex doc-view-shrink
73@vindex doc-view-resolution
74 When in DocView mode, you can enlarge or shrink the document with
75@kbd{+} (@code{doc-view-enlarge}) and @kbd{-}
76(@code{doc-view-shrink}). To specify the default size for DocView,
77set or customize the variable @code{doc-view-resolution}.
78
79 To kill the DocView buffer, type @kbd{k}
80(@code{doc-view-kill-proc-and-buffer}). To bury it, type @kbd{q}
81(@code{quit-window}).
82
83@menu
84* Navigation:: Navigation inside DocView buffers.
85* Searching:: Searching inside documents.
86* Slicing:: Specifying which part of pages should be displayed.
87* Conversion:: Influencing and triggering conversion.
88@end menu
89
90@node Navigation
91@subsection Navigation
92
93When in DocView mode, you can scroll the current page using the usual
94Emacs movement keys: @kbd{C-p}, @kbd{C-n}, @kbd{C-b}, @kbd{C-f}, and
95the arrow keys.
96
97@vindex doc-view-continuous
98 By default, the line-motion keys @kbd{C-p} and @kbd{C-n} stop
99scrolling at the beginning and end of the current page, respectively.
100However, if you change the variable @code{doc-view-continuous} to a
101non-@code{nil} value, then @kbd{C-p} displays the previous page if you
102are already at the beginning of the current page, and @kbd{C-n}
103displays the next page if you are at the end of the current page.
104
105@findex doc-view-next-page
106@findex doc-view-previous-page
107 You can also display the next page by typing @kbd{n}, @key{next} or
108@kbd{C-x ]} (@code{doc-view-next-page}). To display the previous
109page, type @kbd{p}, @key{prior} or @kbd{C-x [}
110(@code{doc-view-previous-page}).
111
112@findex doc-view-scroll-up-or-next-page
113@findex doc-view-scroll-down-or-previous-page
114 The @key{SPC} (@code{doc-view-scroll-up-or-next-page}) key is a
115convenient way to advance through the document. It scrolls within the
116current page or advances to the next. @key{DEL} moves backwards in a
117similar way (@code{doc-view-scroll-down-or-previous-page}).
118
119@findex doc-view-first-page
120@findex doc-view-last-page
121@findex doc-view-goto-page
122 To go to the first page, type @kbd{M-<}
123(@code{doc-view-first-page}); to go to the last one, type @kbd{M->}
124(@code{doc-view-last-page}). To jump to a page by its number, type
125@kbd{M-g M-g} or @kbd{M-g g} (@code{doc-view-goto-page}).
126
127@node Searching
128@subsection Searching
129
130While in DocView mode, you can search the file's text for a regular
131expression (@pxref{Regexps}). The interface for searching is inspired
132by @code{isearch} (@pxref{Incremental Search}).
133
134@findex doc-view-search
135@findex doc-view-search-backward
136@findex doc-view-show-tooltip
137 To begin a search, type @kbd{C-s} (@code{doc-view-search}) or
138@kbd{C-r} (@code{doc-view-search-backward}). This reads a regular
139expression using a minibuffer, then echoes the number of matches found
140within the document. You can move forward and back among the matches
141by typing @kbd{C-s} and @kbd{C-r}. DocView mode has no way to show
142the match inside the page image; instead, it displays a tooltip (at
143the mouse position) listing all matching lines in the current page.
144To force display of this tooltip, type @kbd{C-t}
145(@code{doc-view-show-tooltip}).
146
147 To start a new search, use the search command with a prefix
148argument; i.e., @kbd{C-u C-s} for a forward search or @kbd{C-u C-r}
149for a backward search.
150
151@node Slicing
152@subsection Slicing
153
154Documents often have wide margins for printing. They are annoying
155when reading the document on the screen, because they use up screen
156space and can cause inconvenient scrolling.
157
158@findex doc-view-set-slice
159@findex doc-view-set-slice-using-mouse
160 With DocView you can hide these margins by selecting a @dfn{slice}
161of pages to display. A slice is a rectangle within the page area;
162once you specify a slice in DocView, it applies to whichever page you
163look at.
164
165 To specify the slice numerically, type @kbd{s s}
166(@code{doc-view-set-slice}); then enter the top left pixel position
167and the slice's width and height.
168@c ??? how does this work?
169
170 A more convenient graphical way to specify the slice is with @kbd{s
171m} (@code{doc-view-set-slice-using-mouse}), where you use the mouse to
172select the slice.
173@c ??? How does this work?
174
175@findex doc-view-reset-slice
176 To cancel the selected slice, type @kbd{s r}
177(@code{doc-view-reset-slice}). Then DocView shows the entire page
178including its entire margins.
179
180@node Conversion
181@subsection Conversion
182
183@vindex doc-view-cache-directory
184@findex doc-view-clear-cache
185For efficiency, DocView caches the images produced by @command{gs}.
186The name of this directory is given by the variable
187@code{doc-view-cache-directory}. You can clear the cache directory by
188typing @code{M-x doc-view-clear-cache}.
189
190@findex doc-view-kill-proc
191@findex doc-view-kill-proc-and-buffer
192 To force a reconversion of the currently viewed document, type
193@kbd{r} or @kbd{g} (@code{revert-buffer}). To kill the converter
194process associated with the current buffer, type @kbd{K}
195(@code{doc-view-kill-proc}). The command @kbd{k}
196(@code{doc-view-kill-proc-and-buffer}) kills the converter process and
197the DocView buffer.
198
199 The zoom commands @kbd{+} (@code{doc-view-enlarge}) and @kbd{-}
200(@code{doc-view-shrink}) need to reconvert the document at the new
201size. The current page is converted first.
202
203@node Gnus, Shell, Document View, Top
204@section Gnus 24@section Gnus
205@cindex Gnus 25@cindex Gnus
206@cindex reading netnews 26@cindex reading netnews
@@ -411,82 +231,187 @@ for @var{regexp}.
411 231
412@end table 232@end table
413 233
414@ignore 234@node Document View
415@node Where to Look 235@section Document Viewing
416@subsection Where to Look Further 236@cindex DVI file
237@cindex PDF file
238@cindex PS file
239@cindex Postscript file
240@cindex OpenDocument file
241@cindex Microsoft Office file
242@cindex DocView mode
243@cindex mode, DocView
244@cindex document viewer (DocView)
245@findex doc-view-mode
417 246
418@c Too many references to the name of the manual if done with xref in TeX! 247DocView mode (@code{doc-view-mode}) is a viewer for DVI, Postscript
419Gnus is powerful and customizable. Here are references to a few 248(PS), PDF, OpenDocument, and Microsoft Office documents. It provides
420@ifnottex 249features such as slicing, zooming, and searching inside documents. It
421additional topics: 250works by converting the document to a set of images using the
251@command{gs} (GhostScript) command and other external tools
252@footnote{@code{gs} is a hard requirement. For DVI files,
253@code{dvipdf} or @code{dvipdfm} is needed. For OpenDocument and
254Microsoft Office documents, the @code{unoconv} tool is needed.}, and
255displaying those images.
422 256
423@end ifnottex 257@findex doc-view-toggle-display
424@iftex 258@findex doc-view-toggle-display
425additional topics in @cite{The Gnus Manual}: 259@cindex doc-view-minor-mode
260 When you visit a document file with the exception of Postscript
261files, Emacs automatically switches to DocView mode if possible
262@footnote{The needed external tools for this document type have to be
263available, emacs needs to run in a graphical frame, and PNG image
264support has to be compiled into emacs. If any of these requirements
265is not fulfilled, DocView falls back to an appropriate mode.}. When
266you visit a Postscript file, Emacs switches to PS mode, a major mode
267for editing Postscript files as text; however, it also enables DocView
268minor mode, so you can type @kbd{C-c C-c} to view the document with
269DocView. (PDF and DVI files, unlike Postscript files, are not usually
270human-editable.) In either case, repeating @kbd{C-c C-c}
271(@code{doc-view-toggle-display}) toggles between DocView and the file
272text.
426 273
427@itemize @bullet 274 You can explicitly toggle DocView mode with the command @code{M-x
428@item 275doc-view-mode}, and DocView minor mode with the command @code{M-x
429Follow discussions on specific topics.@* 276doc-view-minor-mode}.
430See section ``Threading.''
431 277
432@item 278 When DocView mode starts, it displays a welcome screen and begins
433Read digests. See section ``Document Groups.'' 279formatting the file, page by page. It displays the first page once
280that has been formatted.
434 281
435@item 282@findex doc-view-enlarge
436Refer to and jump to the parent of the current article.@* 283@findex doc-view-shrink
437See section ``Finding the Parent.'' 284@vindex doc-view-resolution
285 When in DocView mode, you can enlarge or shrink the document with
286@kbd{+} (@code{doc-view-enlarge}) and @kbd{-}
287(@code{doc-view-shrink}). To specify the default size for DocView,
288set or customize the variable @code{doc-view-resolution}.
438 289
439@item 290 To kill the DocView buffer, type @kbd{k}
440Refer to articles by using Message-IDs included in the messages.@* 291(@code{doc-view-kill-proc-and-buffer}). To bury it, type @kbd{q}
441See section ``Article Keymap.'' 292(@code{quit-window}).
442 293
443@item 294@menu
444Save articles. See section ``Saving Articles.'' 295* Navigation:: Navigation inside DocView buffers.
296* Searching:: Searching inside documents.
297* Slicing:: Specifying which part of pages should be displayed.
298* Conversion:: Influencing and triggering conversion.
299@end menu
445 300
446@item 301@node Navigation
447Have Gnus score articles according to various criteria, like author 302@subsection Navigation
448name, subject, or string in the body of the articles.@*
449See section ``Scoring.''
450 303
451@item 304When in DocView mode, you can scroll the current page using the usual
452Send an article to a newsgroup.@* 305Emacs movement keys: @kbd{C-p}, @kbd{C-n}, @kbd{C-b}, @kbd{C-f}, and
453See section ``Composing Messages.'' 306the arrow keys.
454@end itemize
455@end iftex
456@ifnottex
457@itemize @bullet
458@item
459Follow discussions on specific topics.@*
460@xref{Threading, , Reading Based on Conversation Threads,
461gnus, The Gnus Manual}.
462 307
463@item 308@vindex doc-view-continuous
464Read digests. @xref{Document Groups, , , gnus, The Gnus Manual}. 309 By default, the line-motion keys @kbd{C-p} and @kbd{C-n} stop
310scrolling at the beginning and end of the current page, respectively.
311However, if you change the variable @code{doc-view-continuous} to a
312non-@code{nil} value, then @kbd{C-p} displays the previous page if you
313are already at the beginning of the current page, and @kbd{C-n}
314displays the next page if you are at the end of the current page.
465 315
466@item 316@findex doc-view-next-page
467Refer to and jump to the parent of the current article.@* 317@findex doc-view-previous-page
468@xref{Finding the Parent, , , gnus, The Gnus Manual}. 318 You can also display the next page by typing @kbd{n}, @key{next} or
319@kbd{C-x ]} (@code{doc-view-next-page}). To display the previous
320page, type @kbd{p}, @key{prior} or @kbd{C-x [}
321(@code{doc-view-previous-page}).
469 322
470@item 323@findex doc-view-scroll-up-or-next-page
471Refer to articles by using Message-IDs included in the messages.@* 324@findex doc-view-scroll-down-or-previous-page
472@xref{Article Keymap, , , gnus, The Gnus Manual}. 325 The @key{SPC} (@code{doc-view-scroll-up-or-next-page}) key is a
326convenient way to advance through the document. It scrolls within the
327current page or advances to the next. @key{DEL} moves backwards in a
328similar way (@code{doc-view-scroll-down-or-previous-page}).
473 329
474@item 330@findex doc-view-first-page
475Save articles. @xref{Saving Articles, , , gnus, The Gnus Manual}. 331@findex doc-view-last-page
332@findex doc-view-goto-page
333 To go to the first page, type @kbd{M-<}
334(@code{doc-view-first-page}); to go to the last one, type @kbd{M->}
335(@code{doc-view-last-page}). To jump to a page by its number, type
336@kbd{M-g M-g} or @kbd{M-g g} (@code{doc-view-goto-page}).
476 337
477@item 338@node Searching
478Have Gnus score articles according to various criteria, like author 339@subsection Searching
479name, subject, or string in the body of the articles.@*
480@xref{Scoring, , , gnus, The Gnus Manual}.
481 340
482@item 341While in DocView mode, you can search the file's text for a regular
483Send an article to a newsgroup.@* 342expression (@pxref{Regexps}). The interface for searching is inspired
484@xref{Composing Messages, , , gnus, The Gnus Manual}. 343by @code{isearch} (@pxref{Incremental Search}).
485@end itemize 344
486@end ifnottex 345@findex doc-view-search
487@end ignore 346@findex doc-view-search-backward
347@findex doc-view-show-tooltip
348 To begin a search, type @kbd{C-s} (@code{doc-view-search}) or
349@kbd{C-r} (@code{doc-view-search-backward}). This reads a regular
350expression using a minibuffer, then echoes the number of matches found
351within the document. You can move forward and back among the matches
352by typing @kbd{C-s} and @kbd{C-r}. DocView mode has no way to show
353the match inside the page image; instead, it displays a tooltip (at
354the mouse position) listing all matching lines in the current page.
355To force display of this tooltip, type @kbd{C-t}
356(@code{doc-view-show-tooltip}).
357
358 To start a new search, use the search command with a prefix
359argument; i.e., @kbd{C-u C-s} for a forward search or @kbd{C-u C-r}
360for a backward search.
361
362@node Slicing
363@subsection Slicing
364
365Documents often have wide margins for printing. They are annoying
366when reading the document on the screen, because they use up screen
367space and can cause inconvenient scrolling.
368
369@findex doc-view-set-slice
370@findex doc-view-set-slice-using-mouse
371 With DocView you can hide these margins by selecting a @dfn{slice}
372of pages to display. A slice is a rectangle within the page area;
373once you specify a slice in DocView, it applies to whichever page you
374look at.
375
376 To specify the slice numerically, type @kbd{s s}
377(@code{doc-view-set-slice}); then enter the top left pixel position
378and the slice's width and height.
379@c ??? how does this work?
380
381 A more convenient graphical way to specify the slice is with @kbd{s
382m} (@code{doc-view-set-slice-using-mouse}), where you use the mouse to
383select the slice.
384@c ??? How does this work?
385
386@findex doc-view-reset-slice
387 To cancel the selected slice, type @kbd{s r}
388(@code{doc-view-reset-slice}). Then DocView shows the entire page
389including its entire margins.
390
391@node Conversion
392@subsection Conversion
393
394@vindex doc-view-cache-directory
395@findex doc-view-clear-cache
396For efficiency, DocView caches the images produced by @command{gs}.
397The name of this directory is given by the variable
398@code{doc-view-cache-directory}. You can clear the cache directory by
399typing @code{M-x doc-view-clear-cache}.
488 400
489@node Shell, Emacs Server, Gnus, Top 401@findex doc-view-kill-proc
402@findex doc-view-kill-proc-and-buffer
403 To force a reconversion of the currently viewed document, type
404@kbd{r} or @kbd{g} (@code{revert-buffer}). To kill the converter
405process associated with the current buffer, type @kbd{K}
406(@code{doc-view-kill-proc}). The command @kbd{k}
407(@code{doc-view-kill-proc-and-buffer}) kills the converter process and
408the DocView buffer.
409
410 The zoom commands @kbd{+} (@code{doc-view-enlarge}) and @kbd{-}
411(@code{doc-view-shrink}) need to reconvert the document at the new
412size. The current page is converted first.
413
414@node Shell
490@section Running Shell Commands from Emacs 415@section Running Shell Commands from Emacs
491@cindex subshell 416@cindex subshell
492@cindex shell commands 417@cindex shell commands
@@ -1788,7 +1713,7 @@ not compatible with @code{lpr}.
1788@end menu 1713@end menu
1789 1714
1790@node PostScript, PostScript Variables,, Printing 1715@node PostScript, PostScript Variables,, Printing
1791@section PostScript Hardcopy 1716@subsection PostScript Hardcopy
1792 1717
1793 These commands convert buffer contents to PostScript, 1718 These commands convert buffer contents to PostScript,
1794either printing it or leaving it in another Emacs buffer. 1719either printing it or leaving it in another Emacs buffer.
@@ -1878,7 +1803,7 @@ supports ISO 8859-1 characters.
1878@end ifnottex 1803@end ifnottex
1879 1804
1880@node PostScript Variables, Printing Package, PostScript, Printing 1805@node PostScript Variables, Printing Package, PostScript, Printing
1881@section Variables for PostScript Hardcopy 1806@subsection Variables for PostScript Hardcopy
1882 1807
1883@vindex ps-lpr-command 1808@vindex ps-lpr-command
1884@vindex ps-lpr-switches 1809@vindex ps-lpr-switches
@@ -1973,7 +1898,7 @@ includes a single directory @file{/usr/local/share/emacs/fonts/bdf}.
1973described in the Lisp files @file{ps-print.el} and @file{ps-mule.el}. 1898described in the Lisp files @file{ps-print.el} and @file{ps-mule.el}.
1974 1899
1975@node Printing Package,, PostScript Variables, Printing 1900@node Printing Package,, PostScript Variables, Printing
1976@section Printing Package 1901@subsection Printing Package
1977@cindex Printing package 1902@cindex Printing package
1978 1903
1979 The basic Emacs facilities for printing hardcopy can be extended 1904 The basic Emacs facilities for printing hardcopy can be extended
@@ -1999,7 +1924,7 @@ to print, you start the print job using the @samp{Print} button (click
1999further information on the various options, use the @samp{Interface 1924further information on the various options, use the @samp{Interface
2000Help} button. 1925Help} button.
2001 1926
2002@node Sorting, Narrowing, Printing, Top 1927@node Sorting
2003@section Sorting Text 1928@section Sorting Text
2004@cindex sorting 1929@cindex sorting
2005 1930
@@ -2134,163 +2059,13 @@ rectangle moves along with the text inside the rectangle.
2134 Many of the sort commands ignore case differences when comparing, if 2059 Many of the sort commands ignore case differences when comparing, if
2135@code{sort-fold-case} is non-@code{nil}. 2060@code{sort-fold-case} is non-@code{nil}.
2136 2061
2137@node Narrowing, Two-Column, Sorting, Top 2062@c Picture Mode documentation
2138@section Narrowing 2063@ifnottex
2139@cindex widening 2064@include picture-xtra.texi
2140@cindex restriction 2065@end ifnottex
2141@cindex narrowing
2142@cindex accessible portion
2143
2144 @dfn{Narrowing} means focusing in on some portion of the buffer,
2145making the rest temporarily inaccessible. The portion which you can
2146still get to is called the @dfn{accessible portion}. Canceling the
2147narrowing, which makes the entire buffer once again accessible, is
2148called @dfn{widening}. The bounds of narrowing in effect in a buffer
2149are called the buffer's @dfn{restriction}.
2150
2151 Narrowing can make it easier to concentrate on a single subroutine or
2152paragraph by eliminating clutter. It can also be used to limit the
2153range of operation of a replace command or repeating keyboard macro.
2154
2155@table @kbd
2156@item C-x n n
2157Narrow down to between point and mark (@code{narrow-to-region}).
2158@item C-x n w
2159Widen to make the entire buffer accessible again (@code{widen}).
2160@item C-x n p
2161Narrow down to the current page (@code{narrow-to-page}).
2162@item C-x n d
2163Narrow down to the current defun (@code{narrow-to-defun}).
2164@end table
2165
2166 When you have narrowed down to a part of the buffer, that part appears
2167to be all there is. You can't see the rest, you can't move into it
2168(motion commands won't go outside the accessible part), you can't change
2169it in any way. However, it is not gone, and if you save the file all
2170the inaccessible text will be saved. The word @samp{Narrow} appears in
2171the mode line whenever narrowing is in effect.
2172
2173@kindex C-x n n
2174@findex narrow-to-region
2175 The primary narrowing command is @kbd{C-x n n} (@code{narrow-to-region}).
2176It sets the current buffer's restrictions so that the text in the current
2177region remains accessible, but all text before the region or after the
2178region is inaccessible. Point and mark do not change.
2179
2180@kindex C-x n p
2181@findex narrow-to-page
2182@kindex C-x n d
2183@findex narrow-to-defun
2184 Alternatively, use @kbd{C-x n p} (@code{narrow-to-page}) to narrow
2185down to the current page. @xref{Pages}, for the definition of a page.
2186@kbd{C-x n d} (@code{narrow-to-defun}) narrows down to the defun
2187containing point (@pxref{Defuns}).
2188
2189@kindex C-x n w
2190@findex widen
2191 The way to cancel narrowing is to widen with @kbd{C-x n w}
2192(@code{widen}). This makes all text in the buffer accessible again.
2193
2194 You can get information on what part of the buffer you are narrowed down
2195to using the @kbd{C-x =} command. @xref{Position Info}.
2196
2197 Because narrowing can easily confuse users who do not understand it,
2198@code{narrow-to-region} is normally a disabled command. Attempting to use
2199this command asks for confirmation and gives you the option of enabling it;
2200if you enable the command, confirmation will no longer be required for
2201it. @xref{Disabling}.
2202
2203@node Two-Column, Editing Binary Files, Narrowing, Top
2204@section Two-Column Editing
2205@cindex two-column editing
2206@cindex splitting columns
2207@cindex columns, splitting
2208
2209 Two-column mode lets you conveniently edit two side-by-side columns of
2210text. It uses two side-by-side windows, each showing its own
2211buffer.
2212
2213 There are three ways to enter two-column mode:
2214 2066
2215@table @asis
2216@item @kbd{@key{F2} 2} or @kbd{C-x 6 2}
2217@kindex F2 2
2218@kindex C-x 6 2
2219@findex 2C-two-columns
2220Enter two-column mode with the current buffer on the left, and on the
2221right, a buffer whose name is based on the current buffer's name
2222(@code{2C-two-columns}). If the right-hand buffer doesn't already
2223exist, it starts out empty; the current buffer's contents are not
2224changed.
2225
2226This command is appropriate when the current buffer is empty or contains
2227just one column and you want to add another column.
2228
2229@item @kbd{@key{F2} s} or @kbd{C-x 6 s}
2230@kindex F2 s
2231@kindex C-x 6 s
2232@findex 2C-split
2233Split the current buffer, which contains two-column text, into two
2234buffers, and display them side by side (@code{2C-split}). The current
2235buffer becomes the left-hand buffer, but the text in the right-hand
2236column is moved into the right-hand buffer. The current column
2237specifies the split point. Splitting starts with the current line and
2238continues to the end of the buffer.
2239
2240This command is appropriate when you have a buffer that already contains
2241two-column text, and you wish to separate the columns temporarily.
2242
2243@item @kbd{@key{F2} b @var{buffer} @key{RET}}
2244@itemx @kbd{C-x 6 b @var{buffer} @key{RET}}
2245@kindex F2 b
2246@kindex C-x 6 b
2247@findex 2C-associate-buffer
2248Enter two-column mode using the current buffer as the left-hand buffer,
2249and using buffer @var{buffer} as the right-hand buffer
2250(@code{2C-associate-buffer}).
2251@end table
2252 2067
2253 @kbd{@key{F2} s} or @kbd{C-x 6 s} looks for a column separator, which 2068@node Editing Binary Files
2254is a string that appears on each line between the two columns. You can
2255specify the width of the separator with a numeric argument to
2256@kbd{@key{F2} s}; that many characters, before point, constitute the
2257separator string. By default, the width is 1, so the column separator
2258is the character before point.
2259
2260 When a line has the separator at the proper place, @kbd{@key{F2} s}
2261puts the text after the separator into the right-hand buffer, and
2262deletes the separator. Lines that don't have the column separator at
2263the proper place remain unsplit; they stay in the left-hand buffer, and
2264the right-hand buffer gets an empty line to correspond. (This is the
2265way to write a line that ``spans both columns while in two-column
2266mode'': write it in the left-hand buffer, and put an empty line in the
2267right-hand buffer.)
2268
2269@kindex F2 RET
2270@kindex C-x 6 RET
2271@findex 2C-newline
2272 The command @kbd{C-x 6 @key{RET}} or @kbd{@key{F2} @key{RET}}
2273(@code{2C-newline}) inserts a newline in each of the two buffers at
2274corresponding positions. This is the easiest way to add a new line to
2275the two-column text while editing it in split buffers.
2276
2277@kindex F2 1
2278@kindex C-x 6 1
2279@findex 2C-merge
2280 When you have edited both buffers as you wish, merge them with
2281@kbd{@key{F2} 1} or @kbd{C-x 6 1} (@code{2C-merge}). This copies the
2282text from the right-hand buffer as a second column in the other buffer.
2283To go back to two-column editing, use @kbd{@key{F2} s}.
2284
2285@kindex F2 d
2286@kindex C-x 6 d
2287@findex 2C-dissociate
2288 Use @kbd{@key{F2} d} or @kbd{C-x 6 d} to dissociate the two buffers,
2289leaving each as it stands (@code{2C-dissociate}). If the other buffer,
2290the one not current when you type @kbd{@key{F2} d}, is empty,
2291@kbd{@key{F2} d} kills it.
2292
2293@node Editing Binary Files, Saving Emacs Sessions, Two-Column, Top
2294@section Editing Binary Files 2069@section Editing Binary Files
2295 2070
2296@cindex Hexl mode 2071@cindex Hexl mode
@@ -2738,7 +2513,7 @@ Display a menu of files and URLs mentioned in current buffer, then
2738find the one you select (@code{ffap-menu}). 2513find the one you select (@code{ffap-menu}).
2739@end table 2514@end table
2740 2515
2741@node Amusements, Customization, Hyperlinking, Top 2516@node Amusements, Packages, Hyperlinking, Top
2742@section Other Amusements 2517@section Other Amusements
2743@cindex boredom 2518@cindex boredom
2744 2519
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi
new file mode 100644
index 00000000000..739a8ce6c65
--- /dev/null
+++ b/doc/emacs/package.texi
@@ -0,0 +1,230 @@
1@c This is part of the Emacs manual.
2@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
3@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions.
5@node Packages
6@chapter Emacs Lisp Packages
7@cindex Package
8@cindex Emacs Lisp package archive
9@cindex Package archive
10@cindex Emacs Lisp package
11
12Emacs includes a facility that lets you easily download and install
13@dfn{packages} that implement additional features. Each package is a
14separate Emacs Lisp program, sometimes including other components such
15as an Info manual.
16
17 @kbd{M-x list-packages} brings up a buffer named @samp{*Packages*}
18with a list of all packages. You can install or uninstall packages
19via this buffer. @xref{Package Menu}.
20
21@findex describe-package
22 The command @kbd{C-h P} (@code{describe-package}) prompts for the
23name of a package, and displays a help buffer describing that
24attributes of the package and the features that it implements.
25
26 By default, Emacs downloads packages from a @dfn{package archive}
27maintained by the Emacs developers and hosted by the GNU project.
28Optionally, you can also download packages from archives maintained by
29third parties. @xref{Package Installation}.
30
31 For information about turning an Emacs Lisp program into an
32installable package, @xref{Packaging,,,elisp, The Emacs Lisp Reference
33Manual}. For information about finding third-party packages and other
34Emacs Lisp extensions, @xref{Packages that do not come with
35Emacs,,,efaq, GNU Emacs FAQ}.
36
37@menu
38* Package Menu:: Buffer for viewing and managing packages.
39* Package Installation:: Options for package installation.
40* Package Files:: Where packages are installed.
41@end menu
42
43@node Package Menu
44@section The Package Menu Buffer
45@cindex package menu
46@cindex built-in package
47@findex list-packages
48
49The command @kbd{M-x list-packages} brings up the @dfn{package menu}.
50This is a buffer listing all the packages that Emacs knows about, one
51on each line, with the following information:
52
53@itemize @bullet
54@item
55The package name (e.g. @samp{auctex}).
56
57@item
58The package's version number (e.g. @samp{11.86}).
59
60@item
61The package's status---normally one of @samp{available} (can be
62downloaded from the package archive), @samp{installed}, or
63@samp{built-in} (included in Emacs by default).
64
65In some instances, the status can be @samp{held}, @samp{disabled}, or
66@samp{obsolete}. @xref{Package Installation}.
67
68@item
69A short description of the package.
70@end itemize
71
72@noindent
73The @code{list-packages} command accesses the network, to retrieve the
74list of available packages from the package archive server. If the
75network is unavailable, it falls back on the most recently retrieved
76list.
77
78The following commands are available in the package menu:
79
80@table @kbd
81@item h
82Print a short message summarizing how to use the package menu
83(@code{package-menu-quick-help}).
84
85@item ?
86@itemx @key{RET}
87Display a help buffer for the package on the current line
88(@code{package-menu-describe-package}), similar to the help window
89displayed by the @kbd{C-h P} command (@pxref{Packages}).
90
91@item i
92Mark the package on the current line for installation
93(@code{package-menu-mark-install}). If the package status is
94@samp{available}, this adds an @samp{I} character to the start of the
95line; typing @kbd{x} (see below) will download and install the
96package.
97
98@item d
99Mark the package on the current line for deletion
100(@code{package-menu-mark-delete}). If the package status is
101@samp{installed}, this adds a @samp{D} character to the start of the
102line; typing @kbd{x} (see below) will delete the package.
103@xref{Package Files}, for information about what package deletion
104entails.
105
106@item u
107Remove any installation or deletion mark previously added to the
108current line by an @kbd{i} or @kbd{d} command.
109
110@item x
111Download and install all packages marked with @kbd{i}, and their
112dependencies; also, delete all packages marked with @kbd{d}
113(@code{package-menu-execute}). This also removes the marks.
114
115@item r
116Refresh the package list (@code{package-menu-refresh}). This also
117retrieves the list of available packages from the package archive
118again.
119@end table
120
121@noindent
122For example, you can install a package by typing @kbd{i} on the line
123listing that package, followed by @kbd{x}.
124
125@node Package Installation
126@section Package Installation
127
128@findex package-install
129 Packages are most conveniently installed using the package menu
130(@pxref{Package Menu}), but you can also use the command @kbd{M-x
131package-install}. This prompts for the name of a package with the
132@samp{available} status, then downloads and installs it.
133
134@cindex package requirements
135 A package may @dfn{require} certain other packages to be installed,
136because it relies on functionality provided by them. When Emacs
137installs such a package, it also automatically downloads and installs
138any required package that is not already installed. (If a required
139package is somehow unavailable, Emacs signals an error and stops
140installation.) A package's requirements list is shown in its help
141buffer.
142
143@vindex package-archives
144 By default, packages are downloaded from a single package archive
145maintained by the Emacs developers. This is controlled by the
146variable @code{package-archives}, whose value is a list of package
147archives known to Emacs. Each list element must have the form
148@code{(@var{id} . @var{location})}, where @var{id} is the name of a
149package archive and @var{location} is the @acronym{HTTP} address or
150directory name of the package archive. You can alter this list if you
151wish to use third party package archives---but do so at your own risk,
152and use only third parties that you think you can trust!
153
154 Once a package is downloaded and installed, it takes effect in the
155current Emacs session. What ``taking effect'' means depends on the
156package; most packages just make some new commands available, while
157others have more wide-ranging effects on the Emacs session. For such
158information, consult the package's help buffer.
159
160 By default, Emacs also automatically loads all installed packages
161(causing them to ``take effect'') in subsequent Emacs sessions. This
162happens at startup, after processing the init file (@pxref{Init
163File}). As an exception, Emacs does not load packages at startup if
164invoked with the @samp{-q} or @samp{--no-init-file} options
165(@pxref{Initial Options}).
166
167@vindex package-enable-at-startup
168@findex package-initialize
169 To disable automatic package loading, change the variable
170@code{package-enable-at-startup} to @code{nil}. If you do this, you
171can use the command @kbd{M-x package-initialize} to load your
172packages.
173
174@vindex package-load-list
175 For finer control over package loading, you can use the variable
176@code{package-load-list}. Its value should be a list. A list element
177of the form @code{(@var{name} @var{version})} tells Emacs to load
178version @var{version} of the package named @var{name}. Here,
179@var{version} should be a version string (corresponding to a specific
180version of the package), or @code{t} (which means to load any
181installed version), or @code{nil} (which means no version; this
182``disables'' the package, preventing it from being loaded). A list
183element can also be the symbol @code{all}, which means to load the
184latest installed version of any package not named by the other list
185elements. The default value is just @code{'(all)}.
186
187 For example, if you set @code{package-load-list} to @code{'((muse
188"3.20") all)}, then Emacs only loads version 3.20 of the @samp{muse}
189package, plus any installed version of packages other than
190@samp{muse}. Any other version of @samp{muse} that happens to be
191installed will be ignored. The @samp{muse} package will be listed in
192the package menu with the @samp{held} status.
193
194@node Package Files
195@section Package Files and Directory Layout
196@cindex package directory
197
198@cindex package file
199@findex package-install-file
200 Each package is downloaded from the package archive in the form of a
201single @dfn{package file}---either an Emacs Lisp source file, or a tar
202file containing multiple Emacs Lisp source and other files. Package
203files are automatically retrieved, processed, and disposed of by the
204Emacs commands that install packages. Normally, you will not need to
205deal directly with them, unless you are making a package
206(@pxref{Packaging,,,elisp, The Emacs Lisp Reference Manual}). Should
207you ever need to install a package directly from a package file, use
208the command @kbd{M-x package-install-file}.
209
210@vindex package-user-dir
211 Once installed, the contents of a package are placed in a
212subdirectory of @file{~/.emacs.d/elpa/} (you can change the name of
213that directory by changing the variable @code{package-user-dir}). The
214package subdirectory is named @file{@var{name}-@var{version}}, where
215@var{name} is the package name and @var{version} is its version
216string.
217
218@cindex system-wide packages
219@vindex package-directory-list
220 In addition to @code{package-user-dir}, Emacs looks for installed
221packages in the directories listed in @code{package-directory-list}.
222These directories are meant for system administrators to make Emacs
223packages available system-wide; Emacs itself never installs packages
224there. The package subdirectories for @code{package-directory-list}
225are laid out in the same way as in @code{package-user-dir}.
226
227 Deleting a package (@pxref{Package Menu}) involves deleting the
228corresponding package subdirectory. This only works for packages
229installed in @code{package-user-dir}; if told to act on a package in a
230system-wide package directory, the deletion command signals an error.
diff --git a/doc/emacs/picture-xtra.texi b/doc/emacs/picture-xtra.texi
index 0dcfc7a9627..43a2dbc4704 100644
--- a/doc/emacs/picture-xtra.texi
+++ b/doc/emacs/picture-xtra.texi
@@ -5,7 +5,7 @@
5@c This file is included either in emacs-xtra.texi (when producing the 5@c This file is included either in emacs-xtra.texi (when producing the
6@c printed version) or in the main Emacs manual (for the on-line version). 6@c printed version) or in the main Emacs manual (for the on-line version).
7@node Picture Mode 7@node Picture Mode
8@chapter Editing Pictures 8@section Editing Pictures
9@cindex pictures 9@cindex pictures
10@cindex making pictures out of text characters 10@cindex making pictures out of text characters
11@findex picture-mode 11@findex picture-mode
@@ -59,7 +59,7 @@ Additional extensions to Picture mode can be found in
59@end menu 59@end menu
60 60
61@node Basic Picture 61@node Basic Picture
62@section Basic Editing in Picture Mode 62@subsection Basic Editing in Picture Mode
63 63
64@findex picture-forward-column 64@findex picture-forward-column
65@findex picture-backward-column 65@findex picture-backward-column
@@ -124,7 +124,7 @@ modes), or one of the picture rectangle commands (@pxref{Rectangles in
124Picture}). 124Picture}).
125 125
126@node Insert in Picture 126@node Insert in Picture
127@section Controlling Motion after Insert 127@subsection Controlling Motion after Insert
128 128
129@findex picture-movement-up 129@findex picture-movement-up
130@findex picture-movement-down 130@findex picture-movement-down
@@ -188,7 +188,7 @@ same direction as motion after ``insertion'' currently does, while @kbd{C-c
188C-b} (@code{picture-motion-reverse}) moves in the opposite direction. 188C-b} (@code{picture-motion-reverse}) moves in the opposite direction.
189 189
190@node Tabs in Picture 190@node Tabs in Picture
191@section Picture Mode Tabs 191@subsection Picture Mode Tabs
192 192
193@kindex M-TAB @r{(Picture mode)} 193@kindex M-TAB @r{(Picture mode)}
194@findex picture-tab-search 194@findex picture-tab-search
@@ -228,7 +228,7 @@ up the picture. You can do this by setting the variable
228@code{indent-tabs-mode} to @code{nil}. 228@code{indent-tabs-mode} to @code{nil}.
229 229
230@node Rectangles in Picture 230@node Rectangles in Picture
231@section Picture Mode Rectangle Commands 231@subsection Picture Mode Rectangle Commands
232@cindex rectangles and Picture mode 232@cindex rectangles and Picture mode
233@cindex Picture mode and rectangles 233@cindex Picture mode and rectangles
234 234
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi
index ad22ae921e0..0a9594d3798 100644
--- a/doc/emacs/rmail.texi
+++ b/doc/emacs/rmail.texi
@@ -2,7 +2,7 @@
2@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011 2@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2011
3@c Free Software Foundation, Inc. 3@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 4@c See file emacs.texi for copying conditions.
5@node Rmail, Dired, Sending Mail, Top 5@node Rmail
6@chapter Reading Mail with Rmail 6@chapter Reading Mail with Rmail
7@cindex Rmail 7@cindex Rmail
8@cindex reading mail 8@cindex reading mail
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index e3f5c05d8da..0b0e4867ae5 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -70,6 +70,7 @@ for editing such pictures.
70* Nroff Mode:: Editing input to the formatter nroff. 70* Nroff Mode:: Editing input to the formatter nroff.
71* Formatted Text:: Editing formatted text directly in WYSIWYG fashion. 71* Formatted Text:: Editing formatted text directly in WYSIWYG fashion.
72* Text Based Tables:: Editing text-based tables in WYSIWYG fashion. 72* Text Based Tables:: Editing text-based tables in WYSIWYG fashion.
73* Two-Column:: Splitting text columns into separate windows.
73@end menu 74@end menu
74 75
75@node Words 76@node Words
@@ -2837,3 +2838,93 @@ then inserts the generated table in the proper syntax into the
2837destination buffer. The default destination buffer is 2838destination buffer. The default destination buffer is
2838@code{table.@var{lang}}, where @var{lang} is the language you 2839@code{table.@var{lang}}, where @var{lang} is the language you
2839specified. 2840specified.
2841
2842@node Two-Column
2843@section Two-Column Editing
2844@cindex two-column editing
2845@cindex splitting columns
2846@cindex columns, splitting
2847
2848 Two-column mode lets you conveniently edit two side-by-side columns of
2849text. It uses two side-by-side windows, each showing its own
2850buffer.
2851
2852 There are three ways to enter two-column mode:
2853
2854@table @asis
2855@item @kbd{@key{F2} 2} or @kbd{C-x 6 2}
2856@kindex F2 2
2857@kindex C-x 6 2
2858@findex 2C-two-columns
2859Enter two-column mode with the current buffer on the left, and on the
2860right, a buffer whose name is based on the current buffer's name
2861(@code{2C-two-columns}). If the right-hand buffer doesn't already
2862exist, it starts out empty; the current buffer's contents are not
2863changed.
2864
2865This command is appropriate when the current buffer is empty or contains
2866just one column and you want to add another column.
2867
2868@item @kbd{@key{F2} s} or @kbd{C-x 6 s}
2869@kindex F2 s
2870@kindex C-x 6 s
2871@findex 2C-split
2872Split the current buffer, which contains two-column text, into two
2873buffers, and display them side by side (@code{2C-split}). The current
2874buffer becomes the left-hand buffer, but the text in the right-hand
2875column is moved into the right-hand buffer. The current column
2876specifies the split point. Splitting starts with the current line and
2877continues to the end of the buffer.
2878
2879This command is appropriate when you have a buffer that already contains
2880two-column text, and you wish to separate the columns temporarily.
2881
2882@item @kbd{@key{F2} b @var{buffer} @key{RET}}
2883@itemx @kbd{C-x 6 b @var{buffer} @key{RET}}
2884@kindex F2 b
2885@kindex C-x 6 b
2886@findex 2C-associate-buffer
2887Enter two-column mode using the current buffer as the left-hand buffer,
2888and using buffer @var{buffer} as the right-hand buffer
2889(@code{2C-associate-buffer}).
2890@end table
2891
2892 @kbd{@key{F2} s} or @kbd{C-x 6 s} looks for a column separator, which
2893is a string that appears on each line between the two columns. You can
2894specify the width of the separator with a numeric argument to
2895@kbd{@key{F2} s}; that many characters, before point, constitute the
2896separator string. By default, the width is 1, so the column separator
2897is the character before point.
2898
2899 When a line has the separator at the proper place, @kbd{@key{F2} s}
2900puts the text after the separator into the right-hand buffer, and
2901deletes the separator. Lines that don't have the column separator at
2902the proper place remain unsplit; they stay in the left-hand buffer, and
2903the right-hand buffer gets an empty line to correspond. (This is the
2904way to write a line that ``spans both columns while in two-column
2905mode'': write it in the left-hand buffer, and put an empty line in the
2906right-hand buffer.)
2907
2908@kindex F2 RET
2909@kindex C-x 6 RET
2910@findex 2C-newline
2911 The command @kbd{C-x 6 @key{RET}} or @kbd{@key{F2} @key{RET}}
2912(@code{2C-newline}) inserts a newline in each of the two buffers at
2913corresponding positions. This is the easiest way to add a new line to
2914the two-column text while editing it in split buffers.
2915
2916@kindex F2 1
2917@kindex C-x 6 1
2918@findex 2C-merge
2919 When you have edited both buffers as you wish, merge them with
2920@kbd{@key{F2} 1} or @kbd{C-x 6 1} (@code{2C-merge}). This copies the
2921text from the right-hand buffer as a second column in the other buffer.
2922To go back to two-column editing, use @kbd{@key{F2} s}.
2923
2924@kindex F2 d
2925@kindex C-x 6 d
2926@findex 2C-dissociate
2927 Use @kbd{@key{F2} d} or @kbd{C-x 6 d} to dissociate the two buffers,
2928leaving each as it stands (@code{2C-dissociate}). If the other buffer,
2929the one not current when you type @kbd{@key{F2} d}, is empty,
2930@kbd{@key{F2} d} kills it.
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index 4be892639fc..fd06dde5174 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -15,7 +15,7 @@ also considered.
15@raisesections 15@raisesections
16@end ifnottex 16@end ifnottex
17 17
18@node Quitting, Lossage, Customization, Top 18@node Quitting
19@section Quitting and Aborting 19@section Quitting and Aborting
20@cindex quitting 20@cindex quitting
21 21
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 4bf615328b1..ca9c93b563d 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,10 @@
12011-08-25 Eli Zaretskii <eliz@gnu.org>
2
3 * display.texi (Specified Space): Mention that `space' specs
4 influence bidi reordering.
5 (Bidirectional Display): Explain how to use `(space . PROPS)' for
6 separating fields with bidirectional content.
7
12011-08-24 Eli Zaretskii <eliz@gnu.org> 82011-08-24 Eli Zaretskii <eliz@gnu.org>
2 9
3 * display.texi (Bidirectional Display): Document return value in 10 * display.texi (Bidirectional Display): Document return value in
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 0593eba8f05..bf7cd126a26 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -3794,6 +3794,10 @@ with a @dfn{pixel ascent} specification (@pxref{Pixel Specification}).
3794non-graphic terminals, but the other space properties in this section 3794non-graphic terminals, but the other space properties in this section
3795are not. 3795are not.
3796 3796
3797 Note that space properties are treated as paragraph separators for
3798the purposes of reordering bidirectional text for display.
3799@xref{Bidirectional Display}, for the details.
3800
3797@node Pixel Specification 3801@node Pixel Specification
3798@subsection Pixel Specification for Spaces 3802@subsection Pixel Specification for Spaces
3799@cindex spaces, pixel specification 3803@cindex spaces, pixel specification
@@ -6126,8 +6130,8 @@ with bidirectional content can be displayed @emph{to the left} of the
6126preceding field, producing a jumbled display and messing up the 6130preceding field, producing a jumbled display and messing up the
6127expected layout. 6131expected layout.
6128 6132
6129 To countermand this, you can use one of the following techniques for 6133 To countermand this, we recommend that you use one of the following
6130forcing correct order of fields on display: 6134techniques for forcing correct order of fields on display:
6131 6135
6132@itemize @minus 6136@itemize @minus
6133@item 6137@item
@@ -6146,6 +6150,15 @@ Include the tab character in the field separator. The tab character
6146plays the role of @dfn{segment separator} in the @acronym{UBA} 6150plays the role of @dfn{segment separator} in the @acronym{UBA}
6147reordering, whose effect is to make each field a separate segment, and 6151reordering, whose effect is to make each field a separate segment, and
6148thus reorder them separately. 6152thus reorder them separately.
6153
6154@cindex @code{space} display spec, and bidirectional text
6155@item
6156Separate fields with a @code{display} property or overlay with the
6157property value of the form @code{(space . PROPS)} (@pxref{Specified
6158Space}). This display specification is treated by Emacs as a
6159@dfn{paragraph separator}; the text before and after the separator is
6160reordered separately, which avoids the influence of any field on its
6161neighboring fields.
6149@end itemize 6162@end itemize
6150 6163
6151@defun bidi-string-mark-left-to-right string 6164@defun bidi-string-mark-left-to-right string