aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabián Ezequiel Gallina2014-12-27 13:21:17 -0300
committerFabián Ezequiel Gallina2014-12-27 13:21:17 -0300
commit411c1c65313aa4e22730ba9762e073881f4e299a (patch)
tree14833e398a5ce64db5124afafe992d47e51b70e8
parentc3c51ec274f423cf8044cd5b9bc0bbc5bda1f6aa (diff)
parent216c6aadf22bfb9d209b6ce9a469499fd6e1b78f (diff)
downloademacs-411c1c65313aa4e22730ba9762e073881f4e299a.tar.gz
emacs-411c1c65313aa4e22730ba9762e073881f4e299a.zip
Merge from origin/emacs-24
216c6aa * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use `tramp-rsh-end-of-line', it ought to be more robust. 20cfd24 Improve indexing on the chapter/section/subsection levels. 14c3739 * lisp/progmodes/js.el (js-syntax-propertize): "return" can't be divided. ea78112 * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use "\n" as end-of-line delimeter for passwords, when running on MS Windows. 012479a * lisp/progmodes/sh-script.el: Don't set global indent-line-function 75e114f Fix line numbers on Python shell. d0fd23c doc/emacs/buffers.texi (Kill Buffer): Improve indexing. 8e818d1 Keep maximized when going fullscreen. 749813e python.el: Fix electric colon behavior 936d5e5 Fix last patch. 74d3b20 Fixes: debbugs:18623 Conflicts: doc/emacs/ChangeLog doc/lispref/ChangeLog doc/lispref/functions.texi lisp/ChangeLog src/ChangeLog src/xterm.c test/ChangeLog
-rw-r--r--doc/emacs/ChangeLog5
-rw-r--r--doc/emacs/buffers.texi11
-rw-r--r--doc/lispref/ChangeLog102
-rw-r--r--doc/lispref/abbrevs.texi9
-rw-r--r--doc/lispref/backups.texi4
-rw-r--r--doc/lispref/buffers.texi2
-rw-r--r--doc/lispref/commands.texi9
-rw-r--r--doc/lispref/compile.texi1
-rw-r--r--doc/lispref/control.texi5
-rw-r--r--doc/lispref/customize.texi4
-rw-r--r--doc/lispref/debugging.texi6
-rw-r--r--doc/lispref/display.texi27
-rw-r--r--doc/lispref/files.texi6
-rw-r--r--doc/lispref/frames.texi8
-rw-r--r--doc/lispref/functions.texi5
-rw-r--r--doc/lispref/hash.texi2
-rw-r--r--doc/lispref/help.texi2
-rw-r--r--doc/lispref/keymaps.texi4
-rw-r--r--doc/lispref/lists.texi9
-rw-r--r--doc/lispref/loading.texi4
-rw-r--r--doc/lispref/macros.texi3
-rw-r--r--doc/lispref/markers.texi7
-rw-r--r--doc/lispref/minibuf.texi5
-rw-r--r--doc/lispref/nonascii.texi5
-rw-r--r--doc/lispref/os.texi9
-rw-r--r--doc/lispref/positions.texi1
-rw-r--r--doc/lispref/processes.texi3
-rw-r--r--doc/lispref/searching.texi5
-rw-r--r--doc/lispref/strings.texi7
-rw-r--r--doc/lispref/syntax.texi7
-rw-r--r--doc/lispref/text.texi9
-rw-r--r--doc/lispref/variables.texi3
-rw-r--r--doc/lispref/windows.texi2
-rw-r--r--lisp/ChangeLog45
-rw-r--r--lisp/net/tramp-sh.el8
-rw-r--r--lisp/net/tramp.el261
-rw-r--r--lisp/progmodes/js.el2
-rw-r--r--lisp/progmodes/python.el58
-rw-r--r--lisp/progmodes/sh-script.el2
-rw-r--r--src/ChangeLog4
-rw-r--r--src/xterm.c10
-rw-r--r--test/ChangeLog6
-rw-r--r--test/automated/python-tests.el33
43 files changed, 541 insertions, 179 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 7081c19c3f0..b9ca8b39fd3 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,8 @@
12014-12-27 Eli Zaretskii <eliz@gnu.org>
2
3 * buffers.texi (Kill Buffer): Improve indexing.
4
52014-12-27 Paul Eggert <eggert@cs.ucla.edu>
12014-12-24 Stephen Leake <stephen_leake@stephe-leake.org> 62014-12-24 Stephen Leake <stephen_leake@stephe-leake.org>
2 7
3 * trouble.texi: Move user-level information from CONTRIBUTE here. 8 * trouble.texi: Move user-level information from CONTRIBUTE here.
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi
index 54a84989e2e..f036d856fbe 100644
--- a/doc/emacs/buffers.texi
+++ b/doc/emacs/buffers.texi
@@ -269,11 +269,16 @@ can also be used to copy text from one buffer to another.
269@section Killing Buffers 269@section Killing Buffers
270 270
271@cindex killing buffers 271@cindex killing buffers
272@cindex close buffer
273@cindex close file
272 If you continue an Emacs session for a while, you may accumulate a 274 If you continue an Emacs session for a while, you may accumulate a
273large number of buffers. You may then find it convenient to @dfn{kill} 275large number of buffers. You may then find it convenient to @dfn{kill}
274the buffers you no longer need. On most operating systems, killing a 276the buffers you no longer need. (Some other editors call this
275buffer releases its space back to the operating system so that other 277operation @dfn{close}, and talk about ``closing the buffer'' or
276programs can use it. Here are some commands for killing buffers: 278``closing the file'' visited in the buffer.) On most operating
279systems, killing a buffer releases its space back to the operating
280system so that other programs can use it. Here are some commands for
281killing buffers:
277 282
278@table @kbd 283@table @kbd
279@item C-x k @var{bufname} @key{RET} 284@item C-x k @var{bufname} @key{RET}
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 2d964cf6505..66f1d3a1785 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,105 @@
12014-12-27 Eli Zaretskii <eliz@gnu.org>
2
3 * windows.texi (Recombining Windows): Index subject of sections.
4
5 * variables.texi (Variables with Restricted Values)
6 (Generalized Variables): Index subject of sections.
7
8 * text.texi (Buffer Contents, Examining Properties)
9 (Changing Properties, Property Search, Substitution): Index
10 subject of sections.
11
12 * syntax.texi (Motion and Syntax, Parsing Expressions)
13 (Motion via Parsing, Position Parse, Control Parsing): Index
14 subject of sections.
15
16 * strings.texi (Predicates for Strings, Creating Strings)
17 (Modifying Strings, Text Comparison): Index subject of sections.
18
19 * searching.texi (Syntax of Regexps, Regexp Special)
20 (Regexp Functions, Regexp Functions): Index subject of sections.
21
22 * processes.texi (Subprocess Creation, Process Information): Index
23 subject of sections.
24
25 * positions.texi (Screen Lines): Index subject of sections.
26
27 * nonascii.texi (Scanning Charsets, Specifying Coding Systems):
28 Index subject of sections.
29
30 * minibuf.texi (Text from Minibuffer, Object from Minibuffer)
31 (Multiple Queries, Minibuffer Contents): Index subject of
32 sections.
33
34 * markers.texi (Predicates on Markers, Creating Markers)
35 (Information from Markers, Moving Markers): Index subject of
36 sections.
37
38 * macros.texi (Defining Macros, Problems with Macros): Index
39 subject of sections.
40
41 * loading.texi (Loading Non-ASCII, Where Defined): Index subject
42 of sections.
43
44 * lists.texi (List-related Predicates, List Variables, Setcar)
45 (Setcdr, Plist Access): Index subject of sections.
46
47 * keymaps.texi (Controlling Active Maps, Scanning Keymaps)
48 (Modifying Menus): Index subject of sections.
49
50 * help.texi (Accessing Documentation, Help Functions): Index
51 subject of sections.
52
53 * hash.texi (Hash Access): Index subject of sections.
54
55 * functions.texi (Core Advising Primitives)
56 (Advising Named Functions, Porting old advices): Index subject of
57 sections.
58
59 * frames.texi (Creating Frames, Initial Parameters)
60 (Position Parameters, Buffer Parameters, Minibuffers and Frames)
61 (Pop-Up Menus, Drag and Drop): Index subject of sections.
62
63 * files.texi (Visiting Functions, Kinds of Files)
64 (Unique File Names): Index subject of sections.
65
66 * display.texi (Refresh Screen, Echo Area Customization)
67 (Warning Variables, Warning Options, Delayed Warnings)
68 (Temporary Displays, Managing Overlays, Overlay Properties)
69 (Finding Overlays, Size of Displayed Text, Defining Faces)
70 (Attribute Functions, Displaying Faces, Face Remapping)
71 (Basic Faces, Font Lookup, Fontsets, Replacing Specs)
72 (Defining Images, Showing Images): Index subject of sections.
73
74 * debugging.texi (Debugging, Explicit Debug)
75 (Invoking the Debugger, Excess Open, Excess Close): Index subject
76 of sections.
77
78 * customize.texi (Defining New Types, Applying Customizations)
79 (Custom Themes): Index subject of sections.
80
81 * control.texi (Sequencing, Combining Conditions)
82 (Processing of Errors, Cleanups): Index subject of sections.
83
84 * compile.texi (Eval During Compile): Index subject of sections.
85
86 * commands.texi (Using Interactive, Distinguish Interactive)
87 (Command Loop Info, Classifying Events, Event Mod)
88 (Invoking the Input Method): Index subject of sections.
89
90 * buffers.texi (Buffer List, Buffer Gap): Index subject of sections.
91
92 * backups.texi (Making Backups, Numbered Backups, Backup Names)
93 (Reverting): Index subject of sections.
94
95 * abbrevs.texi (Abbrev Tables, Defining Abbrevs, Abbrev Files)
96 (Abbrev Expansion, Standard Abbrev Tables, Abbrev Properties)
97 (Abbrev Table Properties): Index subject of sections.
98
99 * os.texi (Time of Day, Time Conversion, Time Parsing)
100 (Time Calculations, Idle Timers): Index subject of sections.
101
1022014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
12014-12-25 Martin Rudalics <rudalics@gmx.at> 1032014-12-25 Martin Rudalics <rudalics@gmx.at>
2 104
3 * windows.texi (Windows): Resync @menu order with @node order. 105 * windows.texi (Windows): Resync @menu order with @node order.
diff --git a/doc/lispref/abbrevs.texi b/doc/lispref/abbrevs.texi
index 73a3f5f1e05..c00af616240 100644
--- a/doc/lispref/abbrevs.texi
+++ b/doc/lispref/abbrevs.texi
@@ -59,6 +59,7 @@ expanded in the buffer. For the user-level commands for abbrevs, see
59 59
60@node Abbrev Tables 60@node Abbrev Tables
61@section Abbrev Tables 61@section Abbrev Tables
62@cindex abbrev tables
62 63
63 This section describes how to create and manipulate abbrev tables. 64 This section describes how to create and manipulate abbrev tables.
64 65
@@ -126,6 +127,7 @@ to add these to @var{name} separately.)
126 127
127@node Defining Abbrevs 128@node Defining Abbrevs
128@section Defining Abbrevs 129@section Defining Abbrevs
130@cindex defining abbrevs
129 131
130 @code{define-abbrev} is the low-level basic function for defining an 132 @code{define-abbrev} is the low-level basic function for defining an
131abbrev in an abbrev table. 133abbrev in an abbrev table.
@@ -181,6 +183,7 @@ callers.
181 183
182@node Abbrev Files 184@node Abbrev Files
183@section Saving Abbrevs in Files 185@section Saving Abbrevs in Files
186@cindex save abbrevs in files
184 187
185 A file of saved abbrev definitions is actually a file of Lisp code. 188 A file of saved abbrev definitions is actually a file of Lisp code.
186The abbrevs are saved in the form of a Lisp program to define the same 189The abbrevs are saved in the form of a Lisp program to define the same
@@ -232,6 +235,9 @@ define the same abbrevs. If @var{filename} is @code{nil} or omitted,
232 235
233@node Abbrev Expansion 236@node Abbrev Expansion
234@section Looking Up and Expanding Abbreviations 237@section Looking Up and Expanding Abbreviations
238@cindex looking up abbrevs
239@cindex expanding abbrevs
240@cindex abbrevs, looking up and expanding
235 241
236 Abbrevs are usually expanded by certain interactive commands, 242 Abbrevs are usually expanded by certain interactive commands,
237including @code{self-insert-command}. This section describes the 243including @code{self-insert-command}. This section describes the
@@ -367,6 +373,7 @@ definitions of @code{local-abbrev-table} and @code{text-mode-abbrev-table}.
367 373
368@node Standard Abbrev Tables 374@node Standard Abbrev Tables
369@section Standard Abbrev Tables 375@section Standard Abbrev Tables
376@cindex standard abbrev tables
370 377
371 Here we list the variables that hold the abbrev tables for the 378 Here we list the variables that hold the abbrev tables for the
372preloaded major modes of Emacs. 379preloaded major modes of Emacs.
@@ -409,6 +416,7 @@ Properties}.
409 416
410@node Abbrev Properties 417@node Abbrev Properties
411@section Abbrev Properties 418@section Abbrev Properties
419@cindex abbrev properties
412 420
413Abbrevs have properties, some of which influence the way they work. 421Abbrevs have properties, some of which influence the way they work.
414You can provide them as arguments to @code{define-abbrev}, and 422You can provide them as arguments to @code{define-abbrev}, and
@@ -449,6 +457,7 @@ modifies the capitalization of the expansion.
449 457
450@node Abbrev Table Properties 458@node Abbrev Table Properties
451@section Abbrev Table Properties 459@section Abbrev Table Properties
460@cindex abbrev table properties
452 461
453Like abbrevs, abbrev tables have properties, some of which influence 462Like abbrevs, abbrev tables have properties, some of which influence
454the way they work. You can provide them as arguments to 463the way they work. You can provide them as arguments to
diff --git a/doc/lispref/backups.texi b/doc/lispref/backups.texi
index 63f8f227c84..ca30f3e17ca 100644
--- a/doc/lispref/backups.texi
+++ b/doc/lispref/backups.texi
@@ -50,6 +50,7 @@ don't want them any more, or Emacs can delete them automatically.
50 50
51@node Making Backups 51@node Making Backups
52@subsection Making Backup Files 52@subsection Making Backup Files
53@cindex making backup files
53 54
54@defun backup-buffer 55@defun backup-buffer
55 This function makes a backup of the file visited by the current 56 This function makes a backup of the file visited by the current
@@ -238,6 +239,7 @@ The default is 200.
238 239
239@node Numbered Backups 240@node Numbered Backups
240@subsection Making and Deleting Numbered Backup Files 241@subsection Making and Deleting Numbered Backup Files
242@cindex numbered backups
241 243
242 If a file's name is @file{foo}, the names of its numbered backup 244 If a file's name is @file{foo}, the names of its numbered backup
243versions are @file{foo.~@var{v}~}, for various integers @var{v}, like 245versions are @file{foo.~@var{v}~}, for various integers @var{v}, like
@@ -299,6 +301,7 @@ file. The default is@tie{}2.
299 301
300@node Backup Names 302@node Backup Names
301@subsection Naming Backup Files 303@subsection Naming Backup Files
304@cindex naming backup files
302 305
303 The functions in this section are documented mainly because you can 306 The functions in this section are documented mainly because you can
304customize the naming conventions for backup files by redefining them. 307customize the naming conventions for backup files by redefining them.
@@ -668,6 +671,7 @@ not initialize @code{auto-save-list-file-name}.
668 671
669@node Reverting 672@node Reverting
670@section Reverting 673@section Reverting
674@cindex reverting buffers
671 675
672 If you have made extensive changes to a file and then change your mind 676 If you have made extensive changes to a file and then change your mind
673about them, you can get rid of them by reading in the previous version 677about them, you can get rid of them by reading in the previous version
diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi
index 5ac2d6786e8..7c4fb876135 100644
--- a/doc/lispref/buffers.texi
+++ b/doc/lispref/buffers.texi
@@ -762,6 +762,7 @@ signal an error if the current buffer is read-only.
762@node Buffer List 762@node Buffer List
763@section The Buffer List 763@section The Buffer List
764@cindex buffer list 764@cindex buffer list
765@cindex listing all buffers
765 766
766 The @dfn{buffer list} is a list of all live buffers. The order of the 767 The @dfn{buffer list} is a list of all live buffers. The order of the
767buffers in this list is based primarily on how recently each buffer has 768buffers in this list is based primarily on how recently each buffer has
@@ -1215,6 +1216,7 @@ in the text it is swapped with will not interfere with auto-saving.
1215 1216
1216@node Buffer Gap 1217@node Buffer Gap
1217@section The Buffer Gap 1218@section The Buffer Gap
1219@cindex buffer gap
1218 1220
1219 Emacs buffers are implemented using an invisible @dfn{gap} to make 1221 Emacs buffers are implemented using an invisible @dfn{gap} to make
1220insertion and deletion faster. Insertion works by filling in part of 1222insertion and deletion faster. Insertion works by filling in part of
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index e5db4d87539..c2b7038e2ec 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -147,6 +147,7 @@ code.
147@node Using Interactive 147@node Using Interactive
148@subsection Using @code{interactive} 148@subsection Using @code{interactive}
149@cindex arguments, interactive entry 149@cindex arguments, interactive entry
150@cindex interactive spec, using
150 151
151 This section describes how to write the @code{interactive} form that 152 This section describes how to write the @code{interactive} form that
152makes a Lisp function an interactively-callable command, and how to 153makes a Lisp function an interactively-callable command, and how to
@@ -747,6 +748,8 @@ part of the prompt.
747 748
748@node Distinguish Interactive 749@node Distinguish Interactive
749@section Distinguish Interactive Calls 750@section Distinguish Interactive Calls
751@cindex distinguish interactive calls
752@cindex is this call interactive
750 753
751 Sometimes a command should display additional visual feedback (such 754 Sometimes a command should display additional visual feedback (such
752as an informative message in the echo area) for interactive calls 755as an informative message in the echo area) for interactive calls
@@ -835,6 +838,7 @@ Here is another example that contrasts direct and indirect calls to
835 838
836@node Command Loop Info 839@node Command Loop Info
837@section Information from the Command Loop 840@section Information from the Command Loop
841@cindex command loop variables
838 842
839The editor command loop sets several Lisp variables to keep status 843The editor command loop sets several Lisp variables to keep status
840records for itself and for commands that are run. With the exception of 844records for itself and for commands that are run. With the exception of
@@ -1859,6 +1863,7 @@ bind it to the @code{signal usr1} event sequence:
1859@node Classifying Events 1863@node Classifying Events
1860@subsection Classifying Events 1864@subsection Classifying Events
1861@cindex event type 1865@cindex event type
1866@cindex classifying events
1862 1867
1863 Every event has an @dfn{event type}, which classifies the event for 1868 Every event has an @dfn{event type}, which classifies the event for
1864key binding purposes. For a keyboard event, the event type equals the 1869key binding purposes. For a keyboard event, the event type equals the
@@ -2584,6 +2589,9 @@ then continues to wait for a valid input character, or keyboard-quit.
2584 2589
2585@node Event Mod 2590@node Event Mod
2586@subsection Modifying and Translating Input Events 2591@subsection Modifying and Translating Input Events
2592@cindex modifiers of events
2593@cindex translating input events
2594@cindex event translation
2587 2595
2588 Emacs modifies every event it reads according to 2596 Emacs modifies every event it reads according to
2589@code{extra-keyboard-modifiers}, then translates it through 2597@code{extra-keyboard-modifiers}, then translates it through
@@ -2665,6 +2673,7 @@ at the level of @code{read-key-sequence}.
2665 2673
2666@node Invoking the Input Method 2674@node Invoking the Input Method
2667@subsection Invoking the Input Method 2675@subsection Invoking the Input Method
2676@cindex invoking input method
2668 2677
2669 The event-reading functions invoke the current input method, if any 2678 The event-reading functions invoke the current input method, if any
2670(@pxref{Input Methods}). If the value of @code{input-method-function} 2679(@pxref{Input Methods}). If the value of @code{input-method-function}
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index fe492df1d94..cb6cba99c11 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -347,6 +347,7 @@ it does nothing. It always returns @var{function}.
347 347
348@node Eval During Compile 348@node Eval During Compile
349@section Evaluation During Compilation 349@section Evaluation During Compilation
350@cindex eval during compilation
350 351
351 These features permit you to write code to be evaluated during 352 These features permit you to write code to be evaluated during
352compilation of a program. 353compilation of a program.
diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi
index ea212337c96..fa760c45d6a 100644
--- a/doc/lispref/control.texi
+++ b/doc/lispref/control.texi
@@ -44,6 +44,8 @@ structure constructs (@pxref{Macros}).
44 44
45@node Sequencing 45@node Sequencing
46@section Sequencing 46@section Sequencing
47@cindex sequencing
48@cindex sequential execution
47 49
48 Evaluating forms in the order they appear is the most common way 50 Evaluating forms in the order they appear is the most common way
49control passes from one form to another. In some contexts, such as in a 51control passes from one form to another. In some contexts, such as in a
@@ -405,6 +407,7 @@ the variable @code{x}.
405 407
406@node Combining Conditions 408@node Combining Conditions
407@section Constructs for Combining Conditions 409@section Constructs for Combining Conditions
410@cindex combining conditions
408 411
409 This section describes three constructs that are often used together 412 This section describes three constructs that are often used together
410with @code{if} and @code{cond} to express complicated conditions. The 413with @code{if} and @code{cond} to express complicated conditions. The
@@ -962,6 +965,7 @@ concept of continuable errors.
962 965
963@node Processing of Errors 966@node Processing of Errors
964@subsubsection How Emacs Processes Errors 967@subsubsection How Emacs Processes Errors
968@cindex processing of errors
965 969
966When an error is signaled, @code{signal} searches for an active 970When an error is signaled, @code{signal} searches for an active
967@dfn{handler} for the error. A handler is a sequence of Lisp 971@dfn{handler} for the error. A handler is a sequence of Lisp
@@ -1367,6 +1371,7 @@ and their conditions.
1367 1371
1368@node Cleanups 1372@node Cleanups
1369@subsection Cleaning Up from Nonlocal Exits 1373@subsection Cleaning Up from Nonlocal Exits
1374@cindex nonlocal exits, cleaning up
1370 1375
1371 The @code{unwind-protect} construct is essential whenever you 1376 The @code{unwind-protect} construct is essential whenever you
1372temporarily put a data structure in an inconsistent state; it permits 1377temporarily put a data structure in an inconsistent state; it permits
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi
index 0c6497fb4ef..cdf599b8f16 100644
--- a/doc/lispref/customize.texi
+++ b/doc/lispref/customize.texi
@@ -1227,6 +1227,8 @@ arguments, which will be used when creating the @code{radio-button} or
1227 1227
1228@node Defining New Types 1228@node Defining New Types
1229@subsection Defining New Types 1229@subsection Defining New Types
1230@cindex customization types, define new
1231@cindex define new customization types
1230 1232
1231In the previous sections we have described how to construct elaborate 1233In the previous sections we have described how to construct elaborate
1232type specifications for @code{defcustom}. In some cases you may want 1234type specifications for @code{defcustom}. In some cases you may want
@@ -1296,6 +1298,7 @@ its @code{:type} argument only when needed.
1296 1298
1297@node Applying Customizations 1299@node Applying Customizations
1298@section Applying Customizations 1300@section Applying Customizations
1301@cindex applying customizations
1299 1302
1300The following functions are responsible for installing the user's 1303The following functions are responsible for installing the user's
1301customization settings for variables and faces, respectively. When 1304customization settings for variables and faces, respectively. When
@@ -1353,6 +1356,7 @@ evaluated. @var{comment} is a string describing the customization.
1353@node Custom Themes 1356@node Custom Themes
1354@section Custom Themes 1357@section Custom Themes
1355 1358
1359@cindex custom themes
1356 @dfn{Custom themes} are collections of settings that can be enabled 1360 @dfn{Custom themes} are collections of settings that can be enabled
1357or disabled as a unit. @xref{Custom Themes,,, emacs, The GNU Emacs 1361or disabled as a unit. @xref{Custom Themes,,, emacs, The GNU Emacs
1358Manual}. Each Custom theme is defined by an Emacs Lisp source file, 1362Manual}. Each Custom theme is defined by an Emacs Lisp source file,
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi
index 66f12a022cb..0b3c47f4339 100644
--- a/doc/lispref/debugging.texi
+++ b/doc/lispref/debugging.texi
@@ -5,6 +5,7 @@
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@node Debugging 6@node Debugging
7@chapter Debugging Lisp Programs 7@chapter Debugging Lisp Programs
8@cindex debugging lisp programs
8 9
9 There are several ways to find and investigate problems in an Emacs 10 There are several ways to find and investigate problems in an Emacs
10Lisp program. 11Lisp program.
@@ -284,6 +285,8 @@ not currently set up to break on entry.
284 285
285@node Explicit Debug 286@node Explicit Debug
286@subsection Explicit Entry to the Debugger 287@subsection Explicit Entry to the Debugger
288@cindex debugger, explicit entry
289@cindex force entry to debugger
287 290
288 You can cause the debugger to be called at a certain point in your 291 You can cause the debugger to be called at a certain point in your
289program by writing the expression @code{(debug)} at that point. To do 292program by writing the expression @code{(debug)} at that point. To do
@@ -456,6 +459,7 @@ Toggle the display of local variables of the current stack frame.
456 459
457@node Invoking the Debugger 460@node Invoking the Debugger
458@subsection Invoking the Debugger 461@subsection Invoking the Debugger
462@cindex invoking lisp debugger
459 463
460 Here we describe in full detail the function @code{debug} that is used 464 Here we describe in full detail the function @code{debug} that is used
461to invoke the debugger. 465to invoke the debugger.
@@ -707,6 +711,7 @@ find the mismatch.)
707 711
708@node Excess Open 712@node Excess Open
709@subsection Excess Open Parentheses 713@subsection Excess Open Parentheses
714@cindex excess open parentheses
710 715
711 The first step is to find the defun that is unbalanced. If there is 716 The first step is to find the defun that is unbalanced. If there is
712an excess open parenthesis, the way to do this is to go to the end of 717an excess open parenthesis, the way to do this is to go to the end of
@@ -741,6 +746,7 @@ anything.
741 746
742@node Excess Close 747@node Excess Close
743@subsection Excess Close Parentheses 748@subsection Excess Close Parentheses
749@cindex excess close parentheses
744 750
745 To deal with an excess close parenthesis, first go to the beginning 751 To deal with an excess close parenthesis, first go to the beginning
746of the file, then type @kbd{C-u -1 C-M-u} to find the end of the first 752of the file, then type @kbd{C-u -1 C-M-u} to find the end of the first
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 48860c8ebef..e26d6491850 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -39,6 +39,8 @@ that Emacs presents to the user.
39 39
40@node Refresh Screen 40@node Refresh Screen
41@section Refreshing the Screen 41@section Refreshing the Screen
42@cindex refresh the screen
43@cindex screen refresh
42 44
43 The function @code{redraw-frame} clears and redisplays the entire 45 The function @code{redraw-frame} clears and redisplays the entire
44contents of a given frame (@pxref{Frames}). This is useful if the 46contents of a given frame (@pxref{Frames}). This is useful if the
@@ -534,6 +536,7 @@ are logged that share a common prefix ending in @samp{...}.
534 536
535@node Echo Area Customization 537@node Echo Area Customization
536@subsection Echo Area Customization 538@subsection Echo Area Customization
539@cindex echo area customization
537 540
538 These variables control details of how the echo area works. 541 These variables control details of how the echo area works.
539 542
@@ -661,6 +664,7 @@ specify a specific warning type.
661 664
662@node Warning Variables 665@node Warning Variables
663@subsection Warning Variables 666@subsection Warning Variables
667@cindex warning variables
664 668
665 Programs can customize how their warnings appear by binding 669 Programs can customize how their warnings appear by binding
666the variables described in this section. 670the variables described in this section.
@@ -738,6 +742,7 @@ all.
738 742
739@node Warning Options 743@node Warning Options
740@subsection Warning Options 744@subsection Warning Options
745@cindex warning options
741 746
742 These variables are used by users to control what happens 747 These variables are used by users to control what happens
743when a Lisp program reports a warning. 748when a Lisp program reports a warning.
@@ -771,6 +776,7 @@ that warning is not logged.
771 776
772@node Delayed Warnings 777@node Delayed Warnings
773@subsection Delayed Warnings 778@subsection Delayed Warnings
779@cindex delayed warnings
774 780
775Sometimes, you may wish to avoid showing a warning while a command is 781Sometimes, you may wish to avoid showing a warning while a command is
776running, and only show it only after the end of the command. You can 782running, and only show it only after the end of the command. You can
@@ -1094,6 +1100,8 @@ You can use a display table to substitute other text for the ellipsis
1094 1100
1095@node Temporary Displays 1101@node Temporary Displays
1096@section Temporary Displays 1102@section Temporary Displays
1103@cindex temporary display
1104@cindex temporary buffer display
1097 1105
1098 Temporary displays are used by Lisp programs to put output into a 1106 Temporary displays are used by Lisp programs to put output into a
1099buffer and then present it to the user for perusal rather than for 1107buffer and then present it to the user for perusal rather than for
@@ -1305,6 +1313,8 @@ inside the overlay or outside, and likewise for the end of the overlay.
1305 1313
1306@node Managing Overlays 1314@node Managing Overlays
1307@subsection Managing Overlays 1315@subsection Managing Overlays
1316@cindex managing overlays
1317@cindex overlays, managing
1308 1318
1309 This section describes the functions to create, delete and move 1319 This section describes the functions to create, delete and move
1310overlays, and to examine their contents. Overlay changes are not 1320overlays, and to examine their contents. Overlay changes are not
@@ -1465,6 +1475,7 @@ faster if you do @code{(overlay-recenter (point-max))} first.
1465 1475
1466@node Overlay Properties 1476@node Overlay Properties
1467@subsection Overlay Properties 1477@subsection Overlay Properties
1478@cindex overlay properties
1468 1479
1469 Overlay properties are like text properties in that the properties that 1480 Overlay properties are like text properties in that the properties that
1470alter how a character is displayed can come from either source. But in 1481alter how a character is displayed can come from either source. But in
@@ -1717,6 +1728,8 @@ Properties}.
1717 1728
1718@node Finding Overlays 1729@node Finding Overlays
1719@subsection Searching for Overlays 1730@subsection Searching for Overlays
1731@cindex searching for overlays
1732@cindex overlays, searching for
1720 1733
1721@defun overlays-at pos &optional sorted 1734@defun overlays-at pos &optional sorted
1722This function returns a list of all the overlays that cover the character at 1735This function returns a list of all the overlays that cover the character at
@@ -1784,6 +1797,8 @@ changes.
1784 1797
1785@node Size of Displayed Text 1798@node Size of Displayed Text
1786@section Size of Displayed Text 1799@section Size of Displayed Text
1800@cindex size of text on display
1801@cindex character width on display
1787 1802
1788Since not all characters have the same width, these functions let you 1803Since not all characters have the same width, these functions let you
1789check the width of a character. @xref{Primitive Indent}, and 1804check the width of a character. @xref{Primitive Indent}, and
@@ -2274,6 +2289,7 @@ suitable for use with @code{:stipple} (see above). It returns
2274 2289
2275@node Defining Faces 2290@node Defining Faces
2276@subsection Defining Faces 2291@subsection Defining Faces
2292@cindex defining faces
2277 2293
2278@cindex face spec 2294@cindex face spec
2279 The usual way to define a face is through the @code{defface} macro. 2295 The usual way to define a face is through the @code{defface} macro.
@@ -2448,6 +2464,7 @@ Any other value of @var{spec-type} is reserved for internal use.
2448 2464
2449@node Attribute Functions 2465@node Attribute Functions
2450@subsection Face Attribute Functions 2466@subsection Face Attribute Functions
2467@cindex face attributes, access and modification
2451 2468
2452 This section describes functions for directly accessing and 2469 This section describes functions for directly accessing and
2453modifying the attributes of a named face. 2470modifying the attributes of a named face.
@@ -2649,6 +2666,8 @@ a non-@code{nil} @code{:inverse-video} attribute.
2649 2666
2650@node Displaying Faces 2667@node Displaying Faces
2651@subsection Displaying Faces 2668@subsection Displaying Faces
2669@cindex displaying faces
2670@cindex face merging
2652 2671
2653 When Emacs displays a given piece of text, the visual appearance of 2672 When Emacs displays a given piece of text, the visual appearance of
2654the text may be determined by faces drawn from different sources. If 2673the text may be determined by faces drawn from different sources. If
@@ -2704,6 +2723,7 @@ at the next level of face merging.
2704 2723
2705@node Face Remapping 2724@node Face Remapping
2706@subsection Face Remapping 2725@subsection Face Remapping
2726@cindex face remapping
2707 2727
2708 The variable @code{face-remapping-alist} is used for buffer-local or 2728 The variable @code{face-remapping-alist} is used for buffer-local or
2709global changes in the appearance of a face. For instance, it is used 2729global changes in the appearance of a face. For instance, it is used
@@ -2901,6 +2921,7 @@ usually assign faces to around 400 to 600 characters at each call.
2901 2921
2902@node Basic Faces 2922@node Basic Faces
2903@subsection Basic Faces 2923@subsection Basic Faces
2924@cindex basic faces
2904 2925
2905If your Emacs Lisp program needs to assign some faces to text, it is 2926If your Emacs Lisp program needs to assign some faces to text, it is
2906often a good idea to use certain existing faces or inherit from them, 2927often a good idea to use certain existing faces or inherit from them,
@@ -3067,6 +3088,8 @@ nominal heights and widths would suggest.
3067 3088
3068@node Font Lookup 3089@node Font Lookup
3069@subsection Looking Up Fonts 3090@subsection Looking Up Fonts
3091@cindex font lookup
3092@cindex looking up fonts
3070 3093
3071@defun x-list-fonts name &optional reference-face frame maximum width 3094@defun x-list-fonts name &optional reference-face frame maximum width
3072This function returns a list of available font names that match 3095This function returns a list of available font names that match
@@ -3124,6 +3147,7 @@ encoding of the font.
3124 3147
3125@node Fontsets 3148@node Fontsets
3126@subsection Fontsets 3149@subsection Fontsets
3150@cindex fontset
3127 3151
3128 A @dfn{fontset} is a list of fonts, each assigned to a range of 3152 A @dfn{fontset} is a list of fonts, each assigned to a range of
3129character codes. An individual font cannot display the whole range of 3153character codes. An individual font cannot display the whole range of
@@ -4237,6 +4261,7 @@ display specifications and what they mean.
4237 4261
4238@node Replacing Specs 4262@node Replacing Specs
4239@subsection Display Specs That Replace The Text 4263@subsection Display Specs That Replace The Text
4264@cindex replacing display specs
4240 4265
4241 Some kinds of display specifications specify something to display 4266 Some kinds of display specifications specify something to display
4242instead of the text that has the property. These are called 4267instead of the text that has the property. These are called
@@ -5113,6 +5138,7 @@ Supports the @code{:index} property. @xref{Multi-Frame Images}.
5113 5138
5114@node Defining Images 5139@node Defining Images
5115@subsection Defining Images 5140@subsection Defining Images
5141@cindex define image
5116 5142
5117 The functions @code{create-image}, @code{defimage} and 5143 The functions @code{create-image}, @code{defimage} and
5118@code{find-image} provide convenient ways to create image descriptors. 5144@code{find-image} provide convenient ways to create image descriptors.
@@ -5240,6 +5266,7 @@ Here is an example of using @code{image-load-path-for-library}:
5240 5266
5241@node Showing Images 5267@node Showing Images
5242@subsection Showing Images 5268@subsection Showing Images
5269@cindex show image
5243 5270
5244 You can use an image descriptor by setting up the @code{display} 5271 You can use an image descriptor by setting up the @code{display}
5245property yourself, but it is easier to use the functions in this 5272property yourself, but it is easier to use the functions in this
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index b79d5df67c8..55da631a3f7 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -81,6 +81,8 @@ computer program, however, it is good to keep the distinction in mind.
81 81
82@node Visiting Functions 82@node Visiting Functions
83@subsection Functions for Visiting Files 83@subsection Functions for Visiting Files
84@cindex visiting files, functions for
85@cindex how to visit files
84 86
85 This section describes the functions normally used to visit files. 87 This section describes the functions normally used to visit files.
86For historical reasons, these functions have names starting with 88For historical reasons, these functions have names starting with
@@ -948,6 +950,8 @@ Unix. These conventions are also followed by @code{file-attributes}
948 950
949@node Kinds of Files 951@node Kinds of Files
950@subsection Distinguishing Kinds of Files 952@subsection Distinguishing Kinds of Files
953@cindex file classification
954@cindex classification of file types
951 955
952 This section describes how to distinguish various kinds of files, such 956 This section describes how to distinguish various kinds of files, such
953as directories, symbolic links, and ordinary files. 957as directories, symbolic links, and ordinary files.
@@ -2300,6 +2304,8 @@ through the immediately preceding @samp{/}).
2300 2304
2301@node Unique File Names 2305@node Unique File Names
2302@subsection Generating Unique File Names 2306@subsection Generating Unique File Names
2307@cindex unique file names
2308@cindex temporary files
2303 2309
2304 Some programs need to write temporary files. Here is the usual way to 2310 Some programs need to write temporary files. Here is the usual way to
2305construct a name for such a file: 2311construct a name for such a file:
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 0bded22eade..c1da337c6cc 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -106,6 +106,7 @@ for @code{framep} above.
106 106
107@node Creating Frames 107@node Creating Frames
108@section Creating Frames 108@section Creating Frames
109@cindex frame creation
109 110
110To create a new frame, call the function @code{make-frame}. 111To create a new frame, call the function @code{make-frame}.
111 112
@@ -484,6 +485,7 @@ parameter values to frames that will be created henceforth.
484 485
485@node Initial Parameters 486@node Initial Parameters
486@subsection Initial Frame Parameters 487@subsection Initial Frame Parameters
488@cindex parameters of initial frame
487 489
488You can specify the parameters for the initial startup frame by 490You can specify the parameters for the initial startup frame by
489setting @code{initial-frame-alist} in your init file (@pxref{Init 491setting @code{initial-frame-alist} in your init file (@pxref{Init
@@ -623,6 +625,7 @@ named, this parameter will be @code{nil}.
623@node Position Parameters 625@node Position Parameters
624@subsubsection Position Parameters 626@subsubsection Position Parameters
625@cindex window position on display 627@cindex window position on display
628@cindex frame position
626 629
627 Position parameters' values are normally measured in pixels, but on 630 Position parameters' values are normally measured in pixels, but on
628text terminals they count characters or lines instead. 631text terminals they count characters or lines instead.
@@ -833,6 +836,8 @@ integer). @xref{Line Height}, for more information.
833 836
834@node Buffer Parameters 837@node Buffer Parameters
835@subsubsection Buffer Parameters 838@subsubsection Buffer Parameters
839@cindex frame, which buffers to display
840@cindex buffers to display on frame
836 841
837 These frame parameters, meaningful on all kinds of terminals, deal 842 These frame parameters, meaningful on all kinds of terminals, deal
838with which buffers have been, or should, be displayed in the frame. 843with which buffers have been, or should, be displayed in the frame.
@@ -1663,6 +1668,7 @@ is used whenever that frame is selected. If the frame has a minibuffer,
1663you can get it with @code{minibuffer-window} (@pxref{Definition of 1668you can get it with @code{minibuffer-window} (@pxref{Definition of
1664minibuffer-window}). 1669minibuffer-window}).
1665 1670
1671@cindex frame without a minibuffer
1666However, you can also create a frame with no minibuffer. Such a frame 1672However, you can also create a frame with no minibuffer. Such a frame
1667must use the minibuffer window of some other frame. When you create the 1673must use the minibuffer window of some other frame. When you create the
1668frame, you can explicitly specify the minibuffer window to use (in some 1674frame, you can explicitly specify the minibuffer window to use (in some
@@ -2070,6 +2076,7 @@ allows to know if the pointer has been hidden.
2070 2076
2071@node Pop-Up Menus 2077@node Pop-Up Menus
2072@section Pop-Up Menus 2078@section Pop-Up Menus
2079@cindex menus, popup
2073 2080
2074 A Lisp program can pop up a menu so that the user can choose an 2081 A Lisp program can pop up a menu so that the user can choose an
2075alternative with the mouse. On a text terminal, if the mouse is not 2082alternative with the mouse. On a text terminal, if the mouse is not
@@ -2334,6 +2341,7 @@ clipboard as empty.
2334 2341
2335@node Drag and Drop 2342@node Drag and Drop
2336@section Drag and Drop 2343@section Drag and Drop
2344@cindex drag and drop
2337 2345
2338@vindex x-dnd-test-function 2346@vindex x-dnd-test-function
2339@vindex x-dnd-known-types 2347@vindex x-dnd-known-types
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index 0ac084b668e..9555c218da5 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -1214,7 +1214,8 @@ ways to do it. The added function is also called a piece of @emph{advice}.
1214@end menu 1214@end menu
1215 1215
1216@node Core Advising Primitives 1216@node Core Advising Primitives
1217@subsection Primitives to manipulate advice 1217@subsection Primitives to manipulate advices
1218@cindex advice, add and remove
1218 1219
1219@defmac add-function where place function &optional props 1220@defmac add-function where place function &optional props
1220This macro is the handy way to add the advice @var{function} to the function 1221This macro is the handy way to add the advice @var{function} to the function
@@ -1316,6 +1317,7 @@ the current prefix argument.
1316 1317
1317@node Advising Named Functions 1318@node Advising Named Functions
1318@subsection Advising Named Functions 1319@subsection Advising Named Functions
1320@cindex advising named functions
1319 1321
1320A common use of advice is for named functions and macros. 1322A common use of advice is for named functions and macros.
1321You could just use @code{add-function} as in: 1323You could just use @code{add-function} as in:
@@ -1508,6 +1510,7 @@ More specifically, the composition of the two functions behaves like:
1508 1510
1509@node Porting old advice 1511@node Porting old advice
1510@subsection Adapting code using the old defadvice 1512@subsection Adapting code using the old defadvice
1513@cindex old advices, porting
1511 1514
1512A lot of code uses the old @code{defadvice} mechanism, which is largely made 1515A lot of code uses the old @code{defadvice} mechanism, which is largely made
1513obsolete by the new @code{advice-add}, whose implementation and semantics is 1516obsolete by the new @code{advice-add}, whose implementation and semantics is
diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi
index 536777add72..323a2edca12 100644
--- a/doc/lispref/hash.texi
+++ b/doc/lispref/hash.texi
@@ -188,6 +188,8 @@ Such objects may be added to the hash table after it is created.
188 188
189@node Hash Access 189@node Hash Access
190@section Hash Table Access 190@section Hash Table Access
191@cindex accessing hash tables
192@cindex hash table access
191 193
192 This section describes the functions for accessing and storing 194 This section describes the functions for accessing and storing
193associations in a hash table. In general, any Lisp object can be used 195associations in a hash table. In general, any Lisp object can be used
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi
index 20fb0e651f9..2e3b51e28e2 100644
--- a/doc/lispref/help.texi
+++ b/doc/lispref/help.texi
@@ -90,6 +90,7 @@ hyperlinks in the @file{*Help*} buffer.)
90 90
91@node Accessing Documentation 91@node Accessing Documentation
92@section Access to Documentation Strings 92@section Access to Documentation Strings
93@cindex accessing documentation strings
93 94
94@defun documentation-property symbol property &optional verbatim 95@defun documentation-property symbol property &optional verbatim
95This function returns the documentation string recorded in 96This function returns the documentation string recorded in
@@ -507,6 +508,7 @@ non-@code{nil}, the return value is always a vector.
507 508
508@node Help Functions 509@node Help Functions
509@section Help Functions 510@section Help Functions
511@cindex help functions
510 512
511 Emacs provides a variety of built-in help functions, all accessible to 513 Emacs provides a variety of built-in help functions, all accessible to
512the user as subcommands of the prefix @kbd{C-h}. For more information 514the user as subcommands of the prefix @kbd{C-h}. For more information
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi
index e652da03385..91dc5ea464e 100644
--- a/doc/lispref/keymaps.texi
+++ b/doc/lispref/keymaps.texi
@@ -782,6 +782,7 @@ Lookup}.
782 782
783@node Controlling Active Maps 783@node Controlling Active Maps
784@section Controlling the Active Keymaps 784@section Controlling the Active Keymaps
785@cindex active keymap, controlling
785 786
786@defvar global-map 787@defvar global-map
787This variable contains the default global keymap that maps Emacs 788This variable contains the default global keymap that maps Emacs
@@ -1806,6 +1807,8 @@ local map.
1806 1807
1807@node Scanning Keymaps 1808@node Scanning Keymaps
1808@section Scanning Keymaps 1809@section Scanning Keymaps
1810@cindex scanning keymaps
1811@cindex keymaps, scanning
1809 1812
1810 This section describes functions used to scan all the current keymaps 1813 This section describes functions used to scan all the current keymaps
1811for the sake of printing help information. 1814for the sake of printing help information.
@@ -2775,6 +2778,7 @@ function keys.
2775 2778
2776@node Modifying Menus 2779@node Modifying Menus
2777@subsection Modifying Menus 2780@subsection Modifying Menus
2781@cindex menu modification
2778 2782
2779 When you insert a new item in an existing menu, you probably want to 2783 When you insert a new item in an existing menu, you probably want to
2780put it in a particular place among the menu's existing items. If you 2784put it in a particular place among the menu's existing items. If you
diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi
index 21be5cca4fc..e4383354f6f 100644
--- a/doc/lispref/lists.texi
+++ b/doc/lispref/lists.texi
@@ -84,6 +84,8 @@ structure made out of cons cells as a @dfn{list structure}.
84 84
85@node List-related Predicates 85@node List-related Predicates
86@section Predicates on Lists 86@section Predicates on Lists
87@cindex predicates for lists
88@cindex list predicates
87 89
88 The following predicates test whether a Lisp object is an atom, 90 The following predicates test whether a Lisp object is an atom,
89whether it is a cons cell or is a list, or whether it is the 91whether it is a cons cell or is a list, or whether it is the
@@ -662,6 +664,8 @@ Some examples:
662 664
663@node List Variables 665@node List Variables
664@section Modifying List Variables 666@section Modifying List Variables
667@cindex modify a list
668@cindex list modification
665 669
666 These functions, and one macro, provide convenient ways 670 These functions, and one macro, provide convenient ways
667to modify a list which is stored in a variable. 671to modify a list which is stored in a variable.
@@ -818,6 +822,8 @@ new @sc{car} or @sc{cdr}.
818 822
819@node Setcar 823@node Setcar
820@subsection Altering List Elements with @code{setcar} 824@subsection Altering List Elements with @code{setcar}
825@cindex replace list element
826@cindex list, replace element
821 827
822 Changing the @sc{car} of a cons cell is done with @code{setcar}. When 828 Changing the @sc{car} of a cons cell is done with @code{setcar}. When
823used on a list, @code{setcar} replaces one element of a list with a 829used on a list, @code{setcar} replaces one element of a list with a
@@ -923,6 +929,7 @@ x2: |
923 929
924@node Setcdr 930@node Setcdr
925@subsection Altering the CDR of a List 931@subsection Altering the CDR of a List
932@cindex replace part of list
926 933
927 The lowest-level primitive for modifying a @sc{cdr} is @code{setcdr}: 934 The lowest-level primitive for modifying a @sc{cdr} is @code{setcdr}:
928 935
@@ -1759,6 +1766,8 @@ and later discarded; this is not possible with a property list.
1759 1766
1760@node Plist Access 1767@node Plist Access
1761@subsection Property Lists Outside Symbols 1768@subsection Property Lists Outside Symbols
1769@cindex plist access
1770@cindex accessing plist properties
1762 1771
1763 The following functions can be used to manipulate property lists. 1772 The following functions can be used to manipulate property lists.
1764They all compare property names using @code{eq}. 1773They all compare property names using @code{eq}.
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index a07c2e8a792..a0393c957d4 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -419,6 +419,8 @@ the shadowed files as a string.
419 419
420@node Loading Non-ASCII 420@node Loading Non-ASCII
421@section Loading Non-@acronym{ASCII} Characters 421@section Loading Non-@acronym{ASCII} Characters
422@cindex loading, and non-ASCII characters
423@cindex non-ASCII characters in loaded files
422 424
423 When Emacs Lisp programs contain string constants with non-@acronym{ASCII} 425 When Emacs Lisp programs contain string constants with non-@acronym{ASCII}
424characters, these can be represented within Emacs either as unibyte 426characters, these can be represented within Emacs either as unibyte
@@ -907,6 +909,8 @@ with a call to @code{provide}. The order of the elements in the
907 909
908@node Where Defined 910@node Where Defined
909@section Which File Defined a Certain Symbol 911@section Which File Defined a Certain Symbol
912@cindex symbol, where defined
913@cindex where was a symbol defined
910 914
911@defun symbol-file symbol &optional type 915@defun symbol-file symbol &optional type
912This function returns the name of the file that defined @var{symbol}. 916This function returns the name of the file that defined @var{symbol}.
diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi
index 9be12fa431b..8a4741c2ff1 100644
--- a/doc/lispref/macros.texi
+++ b/doc/lispref/macros.texi
@@ -194,6 +194,8 @@ During Compile}).
194 194
195@node Defining Macros 195@node Defining Macros
196@section Defining Macros 196@section Defining Macros
197@cindex defining macros
198@cindex macro, how to define
197 199
198 A Lisp macro object is a list whose @sc{car} is @code{macro}, and 200 A Lisp macro object is a list whose @sc{car} is @code{macro}, and
199whose @sc{cdr} is a function. Expansion of the macro works 201whose @sc{cdr} is a function. Expansion of the macro works
@@ -253,6 +255,7 @@ Form}.
253 255
254@node Problems with Macros 256@node Problems with Macros
255@section Common Problems Using Macros 257@section Common Problems Using Macros
258@cindex macro caveats
256 259
257 Macro expansion can have counterintuitive consequences. This 260 Macro expansion can have counterintuitive consequences. This
258section describes some important consequences that can lead to 261section describes some important consequences that can lead to
diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi
index 51b87ab1e5b..5902a3a836f 100644
--- a/doc/lispref/markers.texi
+++ b/doc/lispref/markers.texi
@@ -118,6 +118,8 @@ m1
118 118
119@node Predicates on Markers 119@node Predicates on Markers
120@section Predicates on Markers 120@section Predicates on Markers
121@cindex predicates for markers
122@cindex markers, predicates for
121 123
122 You can test an object to see whether it is a marker, or whether it is 124 You can test an object to see whether it is a marker, or whether it is
123either an integer or a marker. The latter test is useful in connection 125either an integer or a marker. The latter test is useful in connection
@@ -141,6 +143,8 @@ integer or floating point) or a marker, @code{nil} otherwise.
141 143
142@node Creating Markers 144@node Creating Markers
143@section Functions that Create Markers 145@section Functions that Create Markers
146@cindex creating markers
147@cindex marker creation
144 148
145 When you create a new marker, you can make it point nowhere, or point 149 When you create a new marker, you can make it point nowhere, or point
146to the present position of point, or to the beginning or end of the 150to the present position of point, or to the beginning or end of the
@@ -269,6 +273,7 @@ if they both point nowhere.
269 273
270@node Information from Markers 274@node Information from Markers
271@section Information from Markers 275@section Information from Markers
276@cindex marker information
272 277
273 This section describes the functions for accessing the components of a 278 This section describes the functions for accessing the components of a
274marker object. 279marker object.
@@ -342,6 +347,8 @@ specify the insertion type, create them with insertion type
342 347
343@node Moving Markers 348@node Moving Markers
344@section Moving Marker Positions 349@section Moving Marker Positions
350@cindex moving markers
351@cindex marker, how to move position
345 352
346 This section describes how to change the position of an existing 353 This section describes how to change the position of an existing
347marker. When you do this, be sure you know whether the marker is used 354marker. When you do this, be sure you know whether the marker is used
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index 57ae0e999b4..e6d6ad001e5 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -107,6 +107,7 @@ are available in batch mode.
107 107
108@node Text from Minibuffer 108@node Text from Minibuffer
109@section Reading Text Strings with the Minibuffer 109@section Reading Text Strings with the Minibuffer
110@cindex minibuffer input, reading text strings
110 111
111 The most basic primitive for minibuffer input is 112 The most basic primitive for minibuffer input is
112@code{read-from-minibuffer}, which can be used to read either a string 113@code{read-from-minibuffer}, which can be used to read either a string
@@ -390,6 +391,7 @@ following bindings, in addition to those of @code{minibuffer-local-map}:
390 391
391@node Object from Minibuffer 392@node Object from Minibuffer
392@section Reading Lisp Objects with the Minibuffer 393@section Reading Lisp Objects with the Minibuffer
394@cindex minibuffer input, reading lisp objects
393 395
394 This section describes functions for reading Lisp objects with the 396 This section describes functions for reading Lisp objects with the
395minibuffer. 397minibuffer.
@@ -2044,6 +2046,7 @@ Do you really want to remove everything? (yes or no)
2044 2046
2045@node Multiple Queries 2047@node Multiple Queries
2046@section Asking Multiple Y-or-N Questions 2048@section Asking Multiple Y-or-N Questions
2049@cindex multiple yes-or-no questions
2047 2050
2048 When you have a series of similar questions to ask, such as ``Do you 2051 When you have a series of similar questions to ask, such as ``Do you
2049want to save this buffer'' for each buffer in turn, you should use 2052want to save this buffer'' for each buffer in turn, you should use
@@ -2285,6 +2288,8 @@ default value is 0.25.
2285 2288
2286@node Minibuffer Contents 2289@node Minibuffer Contents
2287@section Minibuffer Contents 2290@section Minibuffer Contents
2291@cindex access minibuffer contents
2292@cindex minibuffer contents, accessing
2288 2293
2289 These functions access the minibuffer prompt and contents. 2294 These functions access the minibuffer prompt and contents.
2290 2295
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 902eb405411..fedf933b2d9 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -783,6 +783,8 @@ of them is @code{nil}, it defaults to the first or last codepoint of
783 783
784@node Scanning Charsets 784@node Scanning Charsets
785@section Scanning for Character Sets 785@section Scanning for Character Sets
786@cindex scanning for character sets
787@cindex character set, searching
786 788
787 Sometimes it is useful to find out which character set a particular 789 Sometimes it is useful to find out which character set a particular
788character belongs to. One use for this is in determining which coding 790character belongs to. One use for this is in determining which coding
@@ -1620,6 +1622,9 @@ contents (as it usually does), it should examine the contents of
1620 1622
1621@node Specifying Coding Systems 1623@node Specifying Coding Systems
1622@subsection Specifying a Coding System for One Operation 1624@subsection Specifying a Coding System for One Operation
1625@cindex specify coding system
1626@cindex force coding system for operation
1627@cindex coding system for operation
1623 1628
1624 You can specify the coding system for a specific operation by binding 1629 You can specify the coding system for a specific operation by binding
1625the variables @code{coding-system-for-read} and/or 1630the variables @code{coding-system-for-read} and/or
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index b7094479db2..e3e5613025d 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -1208,6 +1208,7 @@ return value is @code{nil}.
1208 1208
1209@node Time of Day 1209@node Time of Day
1210@section Time of Day 1210@section Time of Day
1211@cindex time of day
1211 1212
1212 This section explains how to determine the current time and time 1213 This section explains how to determine the current time and time
1213zone. 1214zone.
@@ -1320,6 +1321,7 @@ time zone.
1320@node Time Conversion 1321@node Time Conversion
1321@section Time Conversion 1322@section Time Conversion
1322@cindex calendrical information 1323@cindex calendrical information
1324@cindex time conversion
1323 1325
1324 These functions convert time values (@pxref{Time of Day}) into 1326 These functions convert time values (@pxref{Time of Day}) into
1325calendrical information and vice versa. 1327calendrical information and vice versa.
@@ -1415,6 +1417,9 @@ on others, years as early as 1901 do work.
1415 1417
1416@node Time Parsing 1418@node Time Parsing
1417@section Parsing and Formatting Times 1419@section Parsing and Formatting Times
1420@cindex time parsing
1421@cindex time formatting
1422@cindex formatting time values
1418 1423
1419 These functions convert time values to text in a string, and vice versa. 1424 These functions convert time values to text in a string, and vice versa.
1420Time values are lists of two to four integers (@pxref{Time of Day}). 1425Time values are lists of two to four integers (@pxref{Time of Day}).
@@ -1643,6 +1648,9 @@ interactively, it prints the duration in the echo area.
1643 1648
1644@node Time Calculations 1649@node Time Calculations
1645@section Time Calculations 1650@section Time Calculations
1651@cindex time calculations
1652@cindex comparing time values
1653@cindex calendrical computations
1646 1654
1647 These functions perform calendrical computations using time values 1655 These functions perform calendrical computations using time values
1648(@pxref{Time of Day}). 1656(@pxref{Time of Day}).
@@ -1823,6 +1831,7 @@ cause anything special to happen.
1823 1831
1824@node Idle Timers 1832@node Idle Timers
1825@section Idle Timers 1833@section Idle Timers
1834@cindex idle timers
1826 1835
1827 Here is how to set up a timer that runs when Emacs is idle for a 1836 Here is how to set up a timer that runs when Emacs is idle for a
1828certain length of time. Aside from how to set them up, idle timers 1837certain length of time. Aside from how to set them up, idle timers
diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi
index 032baa9d2e3..24ff5d8c86b 100644
--- a/doc/lispref/positions.texi
+++ b/doc/lispref/positions.texi
@@ -465,6 +465,7 @@ beginning or end of a line.
465 465
466@node Screen Lines 466@node Screen Lines
467@subsection Motion by Screen Lines 467@subsection Motion by Screen Lines
468@cindex screen lines, moving by
468 469
469 The line functions in the previous section count text lines, delimited 470 The line functions in the previous section count text lines, delimited
470only by newline characters. By contrast, these functions count screen 471only by newline characters. By contrast, these functions count screen
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index 0952cc15f03..856831d16c6 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -63,6 +63,8 @@ Processes}.
63 63
64@node Subprocess Creation 64@node Subprocess Creation
65@section Functions that Create Subprocesses 65@section Functions that Create Subprocesses
66@cindex create subprocess
67@cindex process creation
66 68
67 There are three primitives that create a new subprocess in which to run 69 There are three primitives that create a new subprocess in which to run
68a program. One of them, @code{start-process}, creates an asynchronous 70a program. One of them, @code{start-process}, creates an asynchronous
@@ -734,6 +736,7 @@ happen sooner or later).
734 736
735@node Process Information 737@node Process Information
736@section Process Information 738@section Process Information
739@cindex process information
737 740
738 Several functions return information about processes. 741 Several functions return information about processes.
739 742
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 992ad001fe7..19c515f3ca2 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -257,6 +257,8 @@ it easier to verify even very complex regexps.
257 257
258@node Syntax of Regexps 258@node Syntax of Regexps
259@subsection Syntax of Regular Expressions 259@subsection Syntax of Regular Expressions
260@cindex regexp syntax
261@cindex syntax of regular expressions
260 262
261 Regular expressions have a syntax in which a few characters are 263 Regular expressions have a syntax in which a few characters are
262special constructs and the rest are @dfn{ordinary}. An ordinary 264special constructs and the rest are @dfn{ordinary}. An ordinary
@@ -294,6 +296,7 @@ need to use one of the special regular expression constructs.
294 296
295@node Regexp Special 297@node Regexp Special
296@subsubsection Special Characters in Regular Expressions 298@subsubsection Special Characters in Regular Expressions
299@cindex regexp, special characters in
297 300
298 Here is a list of the characters that are special in a regular 301 Here is a list of the characters that are special in a regular
299expression. 302expression.
@@ -894,6 +897,7 @@ beyond the minimum needed to end a sentence.
894 897
895 These functions operate on regular expressions. 898 These functions operate on regular expressions.
896 899
900@cindex quote special characters in regexp
897@defun regexp-quote string 901@defun regexp-quote string
898This function returns a regular expression whose only exact match is 902This function returns a regular expression whose only exact match is
899@var{string}. Using this regular expression in @code{looking-at} will 903@var{string}. Using this regular expression in @code{looking-at} will
@@ -924,6 +928,7 @@ whitespace:
924@end example 928@end example
925@end defun 929@end defun
926 930
931@cindex optimize regexp
927@defun regexp-opt strings &optional paren 932@defun regexp-opt strings &optional paren
928This function returns an efficient regular expression that will match 933This function returns an efficient regular expression that will match
929any of the strings in the list @var{strings}. This is useful when you 934any of the strings in the list @var{strings}. This is useful when you
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index 1ecc5671a90..026c7a77df2 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -92,6 +92,8 @@ representations and to encode and decode character codes.
92 92
93@node Predicates for Strings 93@node Predicates for Strings
94@section Predicates for Strings 94@section Predicates for Strings
95@cindex predicates for strings
96@cindex string predicates
95 97
96For more information about general sequence and array predicates, 98For more information about general sequence and array predicates,
97see @ref{Sequences Arrays Vectors}, and @ref{Arrays}. 99see @ref{Sequences Arrays Vectors}, and @ref{Arrays}.
@@ -113,6 +115,8 @@ character (i.e., an integer), @code{nil} otherwise.
113 115
114@node Creating Strings 116@node Creating Strings
115@section Creating Strings 117@section Creating Strings
118@cindex creating strings
119@cindex string creation
116 120
117 The following functions create strings, either from scratch, or by 121 The following functions create strings, either from scratch, or by
118putting strings together, or by taking them apart. 122putting strings together, or by taking them apart.
@@ -367,6 +371,8 @@ usual value is @w{@code{"[ \f\t\n\r\v]+"}}.
367 371
368@node Modifying Strings 372@node Modifying Strings
369@section Modifying Strings 373@section Modifying Strings
374@cindex modifying strings
375@cindex string modification
370 376
371 The most basic way to alter the contents of an existing string is with 377 The most basic way to alter the contents of an existing string is with
372@code{aset} (@pxref{Array Functions}). @code{(aset @var{string} 378@code{aset} (@pxref{Array Functions}). @code{(aset @var{string}
@@ -400,6 +406,7 @@ zeros. It may also change @var{string}'s length.
400@node Text Comparison 406@node Text Comparison
401@section Comparison of Characters and Strings 407@section Comparison of Characters and Strings
402@cindex string equality 408@cindex string equality
409@cindex text comparison
403 410
404@defun char-equal character1 character2 411@defun char-equal character1 character2
405This function returns @code{t} if the arguments represent the same 412This function returns @code{t} if the arguments represent the same
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi
index 25e6089491e..33577e74157 100644
--- a/doc/lispref/syntax.texi
+++ b/doc/lispref/syntax.texi
@@ -592,6 +592,8 @@ in turn, repeatedly, until they all return @code{nil}.
592 592
593@node Motion and Syntax 593@node Motion and Syntax
594@section Motion and Syntax 594@section Motion and Syntax
595@cindex moving across syntax classes
596@cindex skipping characters of certain syntax
595 597
596 This section describes functions for moving across characters that 598 This section describes functions for moving across characters that
597have certain syntax classes. 599have certain syntax classes.
@@ -631,6 +633,8 @@ expression prefix syntax class, and characters with the @samp{p} flag.
631 633
632@node Parsing Expressions 634@node Parsing Expressions
633@section Parsing Expressions 635@section Parsing Expressions
636@cindex parsing expressions
637@cindex scanning expressions
634 638
635 This section describes functions for parsing and scanning balanced 639 This section describes functions for parsing and scanning balanced
636expressions. We will refer to such expressions as @dfn{sexps}, 640expressions. We will refer to such expressions as @dfn{sexps},
@@ -673,6 +677,7 @@ result, Emacs treats them as four consecutive empty string constants.
673 677
674@node Motion via Parsing 678@node Motion via Parsing
675@subsection Motion Commands Based on Parsing 679@subsection Motion Commands Based on Parsing
680@cindex motion based on parsing
676 681
677 This section describes simple point-motion functions that operate 682 This section describes simple point-motion functions that operate
678based on parsing expressions. 683based on parsing expressions.
@@ -738,6 +743,7 @@ cannot exceed that many.
738 743
739@node Position Parse 744@node Position Parse
740@subsection Finding the Parse State for a Position 745@subsection Finding the Parse State for a Position
746@cindex parse state for a position
741 747
742 For syntactic analysis, such as in indentation, often the useful 748 For syntactic analysis, such as in indentation, often the useful
743thing is to compute the syntactic state corresponding to a given buffer 749thing is to compute the syntactic state corresponding to a given buffer
@@ -919,6 +925,7 @@ nicely.
919 925
920@node Control Parsing 926@node Control Parsing
921@subsection Parameters to Control Parsing 927@subsection Parameters to Control Parsing
928@cindex parsing, control parameters
922 929
923@defvar multibyte-syntax-as-symbol 930@defvar multibyte-syntax-as-symbol
924If this variable is non-@code{nil}, @code{scan-sexps} treats all 931If this variable is non-@code{nil}, @code{scan-sexps} treats all
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 06d1381278c..379fb295654 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -162,6 +162,7 @@ the end of a line.
162 162
163@node Buffer Contents 163@node Buffer Contents
164@section Examining Buffer Contents 164@section Examining Buffer Contents
165@cindex buffer portion as string
165 166
166 This section describes functions that allow a Lisp program to 167 This section describes functions that allow a Lisp program to
167convert any portion of the text in the buffer into a string. 168convert any portion of the text in the buffer into a string.
@@ -2679,6 +2680,8 @@ along with the characters; this includes such diverse functions as
2679 2680
2680@node Examining Properties 2681@node Examining Properties
2681@subsection Examining Text Properties 2682@subsection Examining Text Properties
2683@cindex examining text properties
2684@cindex text properties, examining
2682 2685
2683 The simplest way to examine text properties is to ask for the value of 2686 The simplest way to examine text properties is to ask for the value of
2684a particular property of a particular character. For that, use 2687a particular property of a particular character. For that, use
@@ -2770,6 +2773,8 @@ used instead. Here is an example:
2770 2773
2771@node Changing Properties 2774@node Changing Properties
2772@subsection Changing Text Properties 2775@subsection Changing Text Properties
2776@cindex changing text properties
2777@cindex text properties, changing
2773 2778
2774 The primitives for changing properties apply to a specified range of 2779 The primitives for changing properties apply to a specified range of
2775text in a buffer or string. The function @code{set-text-properties} 2780text in a buffer or string. The function @code{set-text-properties}
@@ -2933,6 +2938,8 @@ buffer but does not copy its properties.
2933 2938
2934@node Property Search 2939@node Property Search
2935@subsection Text Property Search Functions 2940@subsection Text Property Search Functions
2941@cindex searching text properties
2942@cindex text properties, searching
2936 2943
2937 In typical use of text properties, most of the time several or many 2944 In typical use of text properties, most of the time several or many
2938consecutive characters have the same value for a property. Rather than 2945consecutive characters have the same value for a property. Rather than
@@ -3991,6 +3998,8 @@ coalesced whenever possible. @xref{Property Search}.
3991 3998
3992@node Substitution 3999@node Substitution
3993@section Substituting for a Character Code 4000@section Substituting for a Character Code
4001@cindex replace characters in region
4002@cindex substitute characters
3994 4003
3995 The following functions replace characters within a specified region 4004 The following functions replace characters within a specified region
3996based on their character codes. 4005based on their character codes.
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index e890dbce359..b3466e60c4e 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -1951,6 +1951,7 @@ foo
1951 1951
1952@node Variables with Restricted Values 1952@node Variables with Restricted Values
1953@section Variables with Restricted Values 1953@section Variables with Restricted Values
1954@cindex lisp variables defined in C, restrictions
1954 1955
1955 Ordinary Lisp variables can be assigned any value that is a valid 1956 Ordinary Lisp variables can be assigned any value that is a valid
1956Lisp object. However, certain Lisp variables are not defined in Lisp, 1957Lisp object. However, certain Lisp variables are not defined in Lisp,
@@ -1987,6 +1988,8 @@ Attempting to assign them any other value will result in an error:
1987@node Generalized Variables 1988@node Generalized Variables
1988@section Generalized Variables 1989@section Generalized Variables
1989 1990
1991@cindex generalized variable
1992@cindex place form
1990A @dfn{generalized variable} or @dfn{place form} is one of the many places 1993A @dfn{generalized variable} or @dfn{place form} is one of the many places
1991in Lisp memory where values can be stored. The simplest place form is 1994in Lisp memory where values can be stored. The simplest place form is
1992a regular Lisp variable. But the @sc{car}s and @sc{cdr}s of lists, elements 1995a regular Lisp variable. But the @sc{car}s and @sc{cdr}s of lists, elements
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 7c8d0b084b5..a172a4a4d87 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -1252,6 +1252,8 @@ are the opposite of what they are in those other functions.
1252 1252
1253@node Recombining Windows 1253@node Recombining Windows
1254@section Recombining Windows 1254@section Recombining Windows
1255@cindex recombining windows
1256@cindex windows, recombining
1255 1257
1256When deleting the last sibling of a window @var{W}, its parent window 1258When deleting the last sibling of a window @var{W}, its parent window
1257is deleted too, with @var{W} replacing it in the window tree. This 1259is deleted too, with @var{W} replacing it in the window tree. This
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 81740630e2a..61e2e425ccd 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,50 @@
12014-12-27 Michael Albinus <michael.albinus@gmx.de> 12014-12-27 Michael Albinus <michael.albinus@gmx.de>
2 2
3 * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
4 Use `tramp-rsh-end-of-line', it ought to be more robust.
5
62014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
7
8 * progmodes/js.el (js-syntax-propertize): "return" can't be divided
9 (bug#19397).
10
112014-12-27 Michael Albinus <michael.albinus@gmx.de>
12
13 * net/tramp.el (tramp-read-passwd): Ignore errors from `auth-source-*'.
14
15 * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use "\n"
16 as end-of-line delimeter for passwords, when running on MS Windows.
17
182014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
19
20 * progmodes/sh-script.el (sh-set-shell): Don't change the global value
21 of indent-line-function (bug#19433).
22
232014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
24
25 Fix line numbers on Python shell.
26 * progmodes/python.el (python-shell--save-temp-file): Do not
27 append coding cookie.
28 (python-shell-send-string): Generalize for
29 python-shell-send-region.
30 (python--use-fake-loc): Delete var.
31 (python-shell-buffer-substring): Cleanup fake-loc logic.
32 (python-shell-send-region): Remove fake-loc logic, simplify.
33
342014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
35
36 * progmodes/python.el (python-indent-post-self-insert-function):
37 Make colon to re-indent only for dedenters, handling
38 multiline-statements gracefully.
39
402014-12-27 Michael Albinus <michael.albinus@gmx.de>
41
42 * net/tramp.el (tramp-handle-insert-file-contents):
43 Set `find-file-not-found-functions' in case of errors. (Bug#18623)
44
452014-12-27 Michael Albinus <michael.albinus@gmx.de>
462014-12-27 Michael Albinus <michael.albinus@gmx.de>
47
3 * net/tramp-sh.el (tramp-send-command-and-read): New optional 48 * net/tramp-sh.el (tramp-send-command-and-read): New optional
4 arg MARKER. 49 arg MARKER.
5 (tramp-get-remote-path): Use it. 50 (tramp-get-remote-path): Use it.
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 2e2e2ac3698..6fc2effbe0f 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -2471,8 +2471,12 @@ The method used must be an out-of-band method."
2471 (mapconcat 'identity (process-command p) " ")) 2471 (mapconcat 'identity (process-command p) " "))
2472 (tramp-set-connection-property p "vector" orig-vec) 2472 (tramp-set-connection-property p "vector" orig-vec)
2473 (tramp-compat-set-process-query-on-exit-flag p nil) 2473 (tramp-compat-set-process-query-on-exit-flag p nil)
2474 (tramp-process-actions 2474
2475 p v nil tramp-actions-copy-out-of-band) 2475 ;; We must adapt `tramp-local-end-of-line' for
2476 ;; sending the password.
2477 (let ((tramp-local-end-of-line tramp-rsh-end-of-line))
2478 (tramp-process-actions
2479 p v nil tramp-actions-copy-out-of-band))
2476 2480
2477 ;; Check the return code. 2481 ;; Check the return code.
2478 (goto-char (point-max)) 2482 (goto-char (point-max))
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 7aba7494672..dc62ceeceb9 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -3086,115 +3086,118 @@ User is always nil."
3086 (setq filename (expand-file-name filename)) 3086 (setq filename (expand-file-name filename))
3087 (let (result local-copy remote-copy) 3087 (let (result local-copy remote-copy)
3088 (with-parsed-tramp-file-name filename nil 3088 (with-parsed-tramp-file-name filename nil
3089 (with-tramp-progress-reporter 3089 (unwind-protect
3090 v 3 (format "Inserting `%s'" filename) 3090 (if (not (file-exists-p filename))
3091 (unwind-protect 3091 (tramp-error
3092 (if (not (file-exists-p filename)) 3092 v 'file-error "File `%s' not found on remote host" filename)
3093 (progn 3093
3094 ;; We don't raise a Tramp error, because it might be 3094 (with-tramp-progress-reporter
3095 ;; suppressed, like in `find-file-noselect-1'. 3095 v 3 (format "Inserting `%s'" filename)
3096 (tramp-message 3096 (condition-case err
3097 v 1 "File not `%s' found on remote host" filename) 3097 (if (and (tramp-local-host-p v)
3098 (signal 'file-error 3098 (let (file-name-handler-alist)
3099 (list "File not found on remote host" filename))) 3099 (file-readable-p localname)))
3100 3100 ;; Short track: if we are on the local host, we can
3101 (if (and (tramp-local-host-p v) 3101 ;; run directly.
3102 (let (file-name-handler-alist) 3102 (setq result
3103 (file-readable-p localname))) 3103 (tramp-run-real-handler
3104 ;; Short track: if we are on the local host, we can 3104 'insert-file-contents
3105 ;; run directly. 3105 (list localname visit beg end replace)))
3106 (setq result 3106
3107 (tramp-run-real-handler 3107 ;; When we shall insert only a part of the file, we
3108 'insert-file-contents 3108 ;; copy this part. This works only for the shell file
3109 (list localname visit beg end replace))) 3109 ;; name handlers.
3110 3110 (when (and (or beg end)
3111 ;; When we shall insert only a part of the file, we 3111 (tramp-get-method-parameter
3112 ;; copy this part. This works only for the shell file 3112 (tramp-file-name-method v)
3113 ;; name handlers. 3113 'tramp-login-program))
3114 (when (and (or beg end) 3114 (setq remote-copy (tramp-make-tramp-temp-file v))
3115 (tramp-get-method-parameter 3115 ;; This is defined in tramp-sh.el. Let's assume
3116 (tramp-file-name-method v) 'tramp-login-program)) 3116 ;; this is loaded already.
3117 (setq remote-copy (tramp-make-tramp-temp-file v)) 3117 (tramp-compat-funcall
3118 ;; This is defined in tramp-sh.el. Let's assume 3118 'tramp-send-command
3119 ;; this is loaded already. 3119 v
3120 (tramp-compat-funcall 3120 (cond
3121 'tramp-send-command 3121 ((and beg end)
3122 v 3122 (format "dd bs=1 skip=%d if=%s count=%d of=%s"
3123 (cond 3123 beg (tramp-shell-quote-argument localname)
3124 ((and beg end) 3124 (- end beg) remote-copy))
3125 (format "dd bs=1 skip=%d if=%s count=%d of=%s" 3125 (beg
3126 beg (tramp-shell-quote-argument localname) 3126 (format "dd bs=1 skip=%d if=%s of=%s"
3127 (- end beg) remote-copy)) 3127 beg (tramp-shell-quote-argument localname)
3128 (beg 3128 remote-copy))
3129 (format "dd bs=1 skip=%d if=%s of=%s" 3129 (end
3130 beg (tramp-shell-quote-argument localname) 3130 (format "dd bs=1 count=%d if=%s of=%s"
3131 remote-copy)) 3131 end (tramp-shell-quote-argument localname)
3132 (end 3132 remote-copy))))
3133 (format "dd bs=1 count=%d if=%s of=%s" 3133 (setq tramp-temp-buffer-file-name nil beg nil end nil))
3134 end (tramp-shell-quote-argument localname) 3134
3135 remote-copy)))) 3135 ;; `insert-file-contents-literally' takes care to
3136 (setq tramp-temp-buffer-file-name nil beg nil end nil)) 3136 ;; avoid calling jka-compr. By let-binding
3137 3137 ;; `inhibit-file-name-operation', we propagate that
3138 ;; `insert-file-contents-literally' takes care to 3138 ;; care to the `file-local-copy' operation.
3139 ;; avoid calling jka-compr. By let-binding 3139 (setq local-copy
3140 ;; `inhibit-file-name-operation', we propagate that 3140 (let ((inhibit-file-name-operation
3141 ;; care to the `file-local-copy' operation. 3141 (when (eq inhibit-file-name-operation
3142 (setq local-copy 3142 'insert-file-contents)
3143 (let ((inhibit-file-name-operation 3143 'file-local-copy)))
3144 (when (eq inhibit-file-name-operation 3144 (cond
3145 'insert-file-contents) 3145 ((stringp remote-copy)
3146 'file-local-copy))) 3146 (file-local-copy
3147 (cond 3147 (tramp-make-tramp-file-name
3148 ((stringp remote-copy) 3148 method user host remote-copy)))
3149 (file-local-copy 3149 ((stringp tramp-temp-buffer-file-name)
3150 (tramp-make-tramp-file-name 3150 (copy-file
3151 method user host remote-copy))) 3151 filename tramp-temp-buffer-file-name 'ok)
3152 ((stringp tramp-temp-buffer-file-name) 3152 tramp-temp-buffer-file-name)
3153 (copy-file filename tramp-temp-buffer-file-name 'ok) 3153 (t (file-local-copy filename)))))
3154 tramp-temp-buffer-file-name) 3154
3155 (t (file-local-copy filename))))) 3155 ;; When the file is not readable for the owner, it
3156 3156 ;; cannot be inserted, even if it is readable for the
3157 ;; When the file is not readable for the owner, it 3157 ;; group or for everybody.
3158 ;; cannot be inserted, even if it is readable for the 3158 (set-file-modes
3159 ;; group or for everybody. 3159 local-copy (tramp-compat-octal-to-decimal "0600"))
3160 (set-file-modes 3160
3161 local-copy (tramp-compat-octal-to-decimal "0600")) 3161 (when (and (null remote-copy)
3162 3162 (tramp-get-method-parameter
3163 (when (and (null remote-copy) 3163 method 'tramp-copy-keep-tmpfile))
3164 (tramp-get-method-parameter 3164 ;; We keep the local file for performance reasons,
3165 method 'tramp-copy-keep-tmpfile)) 3165 ;; useful for "rsync".
3166 ;; We keep the local file for performance reasons, 3166 (setq tramp-temp-buffer-file-name local-copy))
3167 ;; useful for "rsync". 3167
3168 (setq tramp-temp-buffer-file-name local-copy)) 3168 ;; We must ensure that `file-coding-system-alist'
3169 3169 ;; matches `local-copy'. We must also use `visit',
3170 ;; We must ensure that `file-coding-system-alist' 3170 ;; otherwise there might be an error in the
3171 ;; matches `local-copy'. We must also use `visit', 3171 ;; `revert-buffer' function under XEmacs.
3172 ;; otherwise there might be an error in the 3172 (let ((file-coding-system-alist
3173 ;; `revert-buffer' function under XEmacs. 3173 (tramp-find-file-name-coding-system-alist
3174 (let ((file-coding-system-alist 3174 filename local-copy)))
3175 (tramp-find-file-name-coding-system-alist 3175 (setq result
3176 filename local-copy))) 3176 (insert-file-contents
3177 (setq result 3177 local-copy visit beg end replace))))
3178 (insert-file-contents 3178 (error
3179 local-copy visit beg end replace))))) 3179 (add-hook 'find-file-not-found-functions
3180 3180 `(lambda () (signal ',(car err) ',(cdr err)))
3181 ;; Save exit. 3181 nil t)
3182 (progn 3182 (signal (car err) (cdr err))))))
3183 (when visit 3183
3184 (setq buffer-file-name filename) 3184 ;; Save exit.
3185 (setq buffer-read-only (not (file-writable-p filename))) 3185 (progn
3186 (set-visited-file-modtime) 3186 (when visit
3187 (set-buffer-modified-p nil)) 3187 (setq buffer-file-name filename)
3188 (when (and (stringp local-copy) 3188 (setq buffer-read-only (not (file-writable-p filename)))
3189 (or remote-copy (null tramp-temp-buffer-file-name))) 3189 (set-visited-file-modtime)
3190 (delete-file local-copy)) 3190 (set-buffer-modified-p nil))
3191 (when (stringp remote-copy) 3191 (when (and (stringp local-copy)
3192 (delete-file 3192 (or remote-copy (null tramp-temp-buffer-file-name)))
3193 (tramp-make-tramp-file-name method user host remote-copy))))))) 3193 (delete-file local-copy))
3194 3194 (when (stringp remote-copy)
3195 ;; Result. 3195 (delete-file
3196 (list (expand-file-name filename) 3196 (tramp-make-tramp-file-name method user host remote-copy)))))
3197 (cadr result)))) 3197
3198 ;; Result.
3199 (list (expand-file-name filename)
3200 (cadr result)))))
3198 3201
3199(defun tramp-handle-load (file &optional noerror nomessage nosuffix must-suffix) 3202(defun tramp-handle-load (file &optional noerror nomessage nosuffix must-suffix)
3200 "Like `load' for Tramp files." 3203 "Like `load' for Tramp files."
@@ -4188,25 +4191,27 @@ Invokes `password-read' if available, `read-passwd' else."
4188 ;; it's bound. `auth-source-user-or-password' is an 4191 ;; it's bound. `auth-source-user-or-password' is an
4189 ;; obsoleted function, it has been replaced by 4192 ;; obsoleted function, it has been replaced by
4190 ;; `auth-source-search'. 4193 ;; `auth-source-search'.
4191 (and (boundp 'auth-sources) 4194 (ignore-errors
4192 (tramp-get-connection-property 4195 (and (boundp 'auth-sources)
4193 v "first-password-request" nil) 4196 (tramp-get-connection-property
4194 ;; Try with Tramp's current method. 4197 v "first-password-request" nil)
4195 (if (fboundp 'auth-source-search) 4198 ;; Try with Tramp's current method.
4196 (setq auth-info 4199 (if (fboundp 'auth-source-search)
4197 (tramp-compat-funcall 4200 (setq auth-info
4198 'auth-source-search 4201 (tramp-compat-funcall
4199 :max 1 4202 'auth-source-search
4200 :user (or tramp-current-user t) 4203 :max 1
4201 :host tramp-current-host 4204 :user (or tramp-current-user t)
4202 :port tramp-current-method) 4205 :host tramp-current-host
4203 auth-passwd (plist-get (nth 0 auth-info) :secret) 4206 :port tramp-current-method)
4204 auth-passwd (if (functionp auth-passwd) 4207 auth-passwd (plist-get
4205 (funcall auth-passwd) 4208 (nth 0 auth-info) :secret)
4206 auth-passwd)) 4209 auth-passwd (if (functionp auth-passwd)
4207 (tramp-compat-funcall 4210 (funcall auth-passwd)
4208 'auth-source-user-or-password 4211 auth-passwd))
4209 "password" tramp-current-host tramp-current-method))) 4212 (tramp-compat-funcall
4213 'auth-source-user-or-password
4214 "password" tramp-current-host tramp-current-method))))
4210 ;; Try the password cache. 4215 ;; Try the password cache.
4211 (when (functionp 'password-read) 4216 (when (functionp 'password-read)
4212 (let ((password 4217 (let ((password
diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 45074d338d3..f6a9440610e 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -1673,7 +1673,7 @@ This performs fontification according to `js--class-styles'."
1673 ;; We can probably just add +, -, !, <, >, %, ^, ~, |, &, ?, : at which 1673 ;; We can probably just add +, -, !, <, >, %, ^, ~, |, &, ?, : at which
1674 ;; point I think only * and / would be missing which could also be added, 1674 ;; point I think only * and / would be missing which could also be added,
1675 ;; but need care to avoid affecting the // and */ comment markers. 1675 ;; but need care to avoid affecting the // and */ comment markers.
1676 ("\\(?:^\\|[=([{,:;]\\)\\(?:[ \t]\\)*\\(/\\)[^/*]" 1676 ("\\(?:^\\|[=([{,:;]\\|\\_<return\\_>\\)\\(?:[ \t]\\)*\\(/\\)[^/*]"
1677 (1 (ignore 1677 (1 (ignore
1678 (forward-char -1) 1678 (forward-char -1)
1679 (when (or (not (memq (char-after (match-beginning 0)) '(?\s ?\t))) 1679 (when (or (not (memq (char-after (match-beginning 0)) '(?\s ?\t)))
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index bd8c734e0b9..b1c6b01c4dc 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1206,12 +1206,18 @@ the line will be re-indented automatically if needed."
1206 (eolp) 1206 (eolp)
1207 ;; Avoid re-indenting on extra colon 1207 ;; Avoid re-indenting on extra colon
1208 (not (equal ?: (char-before (1- (point))))) 1208 (not (equal ?: (char-before (1- (point)))))
1209 (not (python-syntax-comment-or-string-p)) 1209 (not (python-syntax-comment-or-string-p)))
1210 ;; Never re-indent at beginning of defun 1210 ;; Just re-indent dedenters
1211 (not (save-excursion 1211 (let ((dedenter-pos (python-info-dedenter-statement-p))
1212 (python-nav-beginning-of-statement) 1212 (current-pos (point)))
1213 (python-info-looking-at-beginning-of-defun)))) 1213 (when dedenter-pos
1214 (python-indent-line))))) 1214 (save-excursion
1215 (goto-char dedenter-pos)
1216 (python-indent-line)
1217 (unless (= (line-number-at-pos dedenter-pos)
1218 (line-number-at-pos current-pos))
1219 ;; Reindent region if this is a multiline statement
1220 (python-indent-region dedenter-pos current-pos)))))))))
1215 1221
1216 1222
1217;;; Navigation 1223;;; Navigation
@@ -2608,9 +2614,12 @@ there for compatibility with CEDET.")
2608 (concat (file-remote-p default-directory) "/tmp") 2614 (concat (file-remote-p default-directory) "/tmp")
2609 temporary-file-directory)) 2615 temporary-file-directory))
2610 (temp-file-name (make-temp-file "py")) 2616 (temp-file-name (make-temp-file "py"))
2617 ;; XXX: Python's built-in compile function accepts utf-8 as
2618 ;; input so there's no need to enforce a coding cookie. In
2619 ;; the future making `coding-system-for-write' match the
2620 ;; current buffer's coding may be a good idea.
2611 (coding-system-for-write 'utf-8)) 2621 (coding-system-for-write 'utf-8))
2612 (with-temp-file temp-file-name 2622 (with-temp-file temp-file-name
2613 (insert "# -*- coding: utf-8 -*-\n") ;Not needed for Python-3.
2614 (insert string) 2623 (insert string)
2615 (delete-trailing-whitespace)) 2624 (delete-trailing-whitespace))
2616 temp-file-name)) 2625 temp-file-name))
@@ -2620,8 +2629,9 @@ there for compatibility with CEDET.")
2620 (interactive "sPython command: ") 2629 (interactive "sPython command: ")
2621 (let ((process (or process (python-shell-get-or-create-process)))) 2630 (let ((process (or process (python-shell-get-or-create-process))))
2622 (if (string-match ".\n+." string) ;Multiline. 2631 (if (string-match ".\n+." string) ;Multiline.
2623 (let* ((temp-file-name (python-shell--save-temp-file string))) 2632 (let* ((temp-file-name (python-shell--save-temp-file string))
2624 (python-shell-send-file temp-file-name process temp-file-name t)) 2633 (file-name (or (buffer-file-name) temp-file-name)))
2634 (python-shell-send-file file-name process temp-file-name t))
2625 (comint-send-string process string) 2635 (comint-send-string process string)
2626 (when (or (not (string-match "\n\\'" string)) 2636 (when (or (not (string-match "\n\\'" string))
2627 (string-match "\n[ \t].*\n?\\'" string)) 2637 (string-match "\n[ \t].*\n?\\'" string))
@@ -2697,12 +2707,6 @@ Returns the output. See `python-shell-send-string-no-output'."
2697(define-obsolete-function-alias 2707(define-obsolete-function-alias
2698 'python-send-string 'python-shell-internal-send-string "24.3") 2708 'python-send-string 'python-shell-internal-send-string "24.3")
2699 2709
2700(defvar python--use-fake-loc nil
2701 "If non-nil, use `compilation-fake-loc' to trace errors back to the buffer.
2702If nil, regions of text are prepended by the corresponding number of empty
2703lines and Python is told to output error messages referring to the whole
2704source file.")
2705
2706(defun python-shell-buffer-substring (start end &optional nomain) 2710(defun python-shell-buffer-substring (start end &optional nomain)
2707 "Send buffer substring from START to END formatted for shell. 2711 "Send buffer substring from START to END formatted for shell.
2708This is a wrapper over `buffer-substring' that takes care of 2712This is a wrapper over `buffer-substring' that takes care of
@@ -2715,8 +2719,7 @@ the python shell:
2715 3. Wraps indented regions under an \"if True:\" block so the 2719 3. Wraps indented regions under an \"if True:\" block so the
2716 interpreter evaluates them correctly." 2720 interpreter evaluates them correctly."
2717 (let ((substring (buffer-substring-no-properties start end)) 2721 (let ((substring (buffer-substring-no-properties start end))
2718 (fillstr (unless python--use-fake-loc 2722 (fillstr (make-string (1- (line-number-at-pos start)) ?\n))
2719 (make-string (1- (line-number-at-pos start)) ?\n)))
2720 (toplevel-block-p (save-excursion 2723 (toplevel-block-p (save-excursion
2721 (goto-char start) 2724 (goto-char start)
2722 (or (zerop (line-number-at-pos start)) 2725 (or (zerop (line-number-at-pos start))
@@ -2728,11 +2731,6 @@ the python shell:
2728 (if fillstr (insert fillstr)) 2731 (if fillstr (insert fillstr))
2729 (insert substring) 2732 (insert substring)
2730 (goto-char (point-min)) 2733 (goto-char (point-min))
2731 (unless python--use-fake-loc
2732 ;; python-shell--save-temp-file adds an extra coding line, which would
2733 ;; throw off the line-counts, so let's try to compensate here.
2734 (if (looking-at "[ \t]*[#\n]")
2735 (delete-region (point) (line-beginning-position 2))))
2736 (when (not toplevel-block-p) 2734 (when (not toplevel-block-p)
2737 (insert "if True:") 2735 (insert "if True:")
2738 (delete-region (point) (line-end-position))) 2736 (delete-region (point) (line-end-position)))
@@ -2756,26 +2754,14 @@ the python shell:
2756 (line-number-at-pos if-name-main-start)) ?\n))))) 2754 (line-number-at-pos if-name-main-start)) ?\n)))))
2757 (buffer-substring-no-properties (point-min) (point-max))))) 2755 (buffer-substring-no-properties (point-min) (point-max)))))
2758 2756
2759(declare-function compilation-fake-loc "compile"
2760 (marker file &optional line col))
2761
2762(defun python-shell-send-region (start end &optional nomain) 2757(defun python-shell-send-region (start end &optional nomain)
2763 "Send the region delimited by START and END to inferior Python process." 2758 "Send the region delimited by START and END to inferior Python process."
2764 (interactive "r") 2759 (interactive "r")
2765 (let* ((python--use-fake-loc 2760 (let* ((string (python-shell-buffer-substring start end nomain))
2766 (or python--use-fake-loc (not buffer-file-name)))
2767 (string (python-shell-buffer-substring start end nomain))
2768 (process (python-shell-get-or-create-process)) 2761 (process (python-shell-get-or-create-process))
2769 (_ (string-match "\\`\n*\\(.*\\)" string))) 2762 (_ (string-match "\\`\n*\\(.*\\)" string)))
2770 (message "Sent: %s..." (match-string 1 string)) 2763 (message "Sent: %s..." (match-string 1 string))
2771 (let* ((temp-file-name (python-shell--save-temp-file string)) 2764 (python-shell-send-string string process)))
2772 (file-name (or (buffer-file-name) temp-file-name)))
2773 (python-shell-send-file file-name process temp-file-name t)
2774 (unless python--use-fake-loc
2775 (with-current-buffer (process-buffer process)
2776 (compilation-fake-loc (copy-marker start) temp-file-name
2777 2)) ;; Not 1, because of the added coding line.
2778 ))))
2779 2765
2780(defun python-shell-send-buffer (&optional arg) 2766(defun python-shell-send-buffer (&optional arg)
2781 "Send the entire buffer to inferior Python process. 2767 "Send the entire buffer to inferior Python process.
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index 524749d6266..904e9dfc289 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -2374,7 +2374,7 @@ Calls the value of `sh-set-shell-hook' if set."
2374 (sh-make-vars-local)) 2374 (sh-make-vars-local))
2375 (message "Indentation setup for shell type %s" sh-shell)) 2375 (message "Indentation setup for shell type %s" sh-shell))
2376 (message "No indentation for this shell type.") 2376 (message "No indentation for this shell type.")
2377 (setq indent-line-function 'sh-basic-indent-line)) 2377 (setq-local indent-line-function 'sh-basic-indent-line))
2378 (when font-lock-mode 2378 (when font-lock-mode
2379 (setq font-lock-set-defaults nil) 2379 (setq font-lock-set-defaults nil)
2380 (font-lock-set-defaults) 2380 (font-lock-set-defaults)
diff --git a/src/ChangeLog b/src/ChangeLog
index 8e72ddbf9c4..9bc28de6813 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
12014-12-27 Jan Djärv <jan.h.d@swipnet.se>
2
3 * xterm.c (do_ewmh_fullscreen): Don't remove maximized_horz/vert
4 when going to fullscreen (Bug#0x180004f).
12014-12-27 Stefan Monnier <monnier@iro.umontreal.ca> 52014-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
2 6
3 * buffer.c (syms_of_buffer) <Vafter_change_functions>: fix docstring. 7 * buffer.c (syms_of_buffer) <Vafter_change_functions>: fix docstring.
diff --git a/src/xterm.c b/src/xterm.c
index 0640208ca14..130174dff19 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -9230,13 +9230,9 @@ do_ewmh_fullscreen (struct frame *f)
9230 switch (f->want_fullscreen) 9230 switch (f->want_fullscreen)
9231 { 9231 {
9232 case FULLSCREEN_BOTH: 9232 case FULLSCREEN_BOTH:
9233 if (cur == FULLSCREEN_WIDTH || cur == FULLSCREEN_MAXIMIZED 9233 if (cur != FULLSCREEN_BOTH)
9234 || cur == FULLSCREEN_HEIGHT) 9234 set_wm_state (frame, true, dpyinfo->Xatom_net_wm_state_fullscreen,
9235 set_wm_state (frame, false, 9235 None);
9236 dpyinfo->Xatom_net_wm_state_maximized_horz,
9237 dpyinfo->Xatom_net_wm_state_maximized_vert);
9238 set_wm_state (frame, true,
9239 dpyinfo->Xatom_net_wm_state_fullscreen, None);
9240 break; 9236 break;
9241 case FULLSCREEN_WIDTH: 9237 case FULLSCREEN_WIDTH:
9242 if (cur == FULLSCREEN_BOTH || cur == FULLSCREEN_HEIGHT 9238 if (cur == FULLSCREEN_BOTH || cur == FULLSCREEN_HEIGHT
diff --git a/test/ChangeLog b/test/ChangeLog
index 4e59ee0afbf..e7b8fec0ec9 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,9 @@
12014-12-27 Fabián Ezequiel Gallina <fgallina@gnu.org>
2
3 * automated/python-tests.el (python-indent-electric-colon-2)
4 (python-indent-electric-colon-3): New tests.
5
62014-12-27 João Távora <joaotavora@gmail.com>
12014-12-27 João Távora <joaotavora@gmail.com> 72014-12-27 João Távora <joaotavora@gmail.com>
2 8
3 * automated/electric-tests.el (autowrapping-7): Tests for 9 * automated/electric-tests.el (autowrapping-7): Tests for
diff --git a/test/automated/python-tests.el b/test/automated/python-tests.el
index fd427941bf1..ab0ab2d54d7 100644
--- a/test/automated/python-tests.el
+++ b/test/automated/python-tests.el
@@ -740,6 +740,39 @@ def b()
740 (python-tests-self-insert ":") 740 (python-tests-self-insert ":")
741 (should (= (current-indentation) 0)))) 741 (should (= (current-indentation) 0))))
742 742
743(ert-deftest python-indent-electric-colon-2 ()
744 "Test indentation case for dedenter."
745 (python-tests-with-temp-buffer
746 "
747if do:
748 something()
749 else
750"
751 (python-tests-look-at "else")
752 (goto-char (line-end-position))
753 (python-tests-self-insert ":")
754 (should (= (current-indentation) 0))))
755
756(ert-deftest python-indent-electric-colon-3 ()
757 "Test indentation case for multi-line dedenter."
758 (python-tests-with-temp-buffer
759 "
760if do:
761 something()
762 elif (this
763 and
764 that)
765"
766 (python-tests-look-at "that)")
767 (goto-char (line-end-position))
768 (python-tests-self-insert ":")
769 (python-tests-look-at "elif" -1)
770 (should (= (current-indentation) 0))
771 (python-tests-look-at "and")
772 (should (= (current-indentation) 6))
773 (python-tests-look-at "that)")
774 (should (= (current-indentation) 6))))
775
743(ert-deftest python-indent-region-1 () 776(ert-deftest python-indent-region-1 ()
744 "Test indentation case from Bug#18843." 777 "Test indentation case from Bug#18843."
745 (let ((contents " 778 (let ((contents "