diff options
| author | Glenn Morris | 2014-10-29 22:15:28 -0700 |
|---|---|---|
| committer | Glenn Morris | 2014-10-29 22:15:28 -0700 |
| commit | 52b410c60aebeb769ec9580af25ca50df2a44751 (patch) | |
| tree | ba5de0b896c5ea410ceb2f2f1866c0fac73ea236 | |
| parent | cc99f920f507d28bb1422f8a3d52723ddc734c8a (diff) | |
| parent | 237bf45a48999d5a8a3617822dddf3ea305bc269 (diff) | |
| download | emacs-52b410c60aebeb769ec9580af25ca50df2a44751.tar.gz emacs-52b410c60aebeb769ec9580af25ca50df2a44751.zip | |
Merge from emacs-24; up to 117634
| -rw-r--r-- | doc/emacs/ChangeLog | 17 | ||||
| -rw-r--r-- | doc/emacs/display.texi | 17 | ||||
| -rw-r--r-- | doc/emacs/frames.texi | 14 | ||||
| -rw-r--r-- | doc/emacs/killing.texi | 1 | ||||
| -rw-r--r-- | doc/emacs/search.texi | 3 | ||||
| -rw-r--r-- | doc/emacs/windows.texi | 12 | ||||
| -rw-r--r-- | doc/misc/ChangeLog | 9 | ||||
| -rw-r--r-- | doc/misc/efaq.texi | 22 | ||||
| -rw-r--r-- | doc/misc/eieio.texi | 10 | ||||
| -rw-r--r-- | etc/DEBUG | 19 | ||||
| -rw-r--r-- | etc/NEWS.24 | 31 | ||||
| -rw-r--r-- | lisp/ChangeLog | 24 | ||||
| -rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 23 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-extra.el | 1 | ||||
| -rw-r--r-- | lisp/emulation/viper-util.el | 2 | ||||
| -rw-r--r-- | lisp/emulation/viper.el | 3 | ||||
| -rw-r--r-- | lisp/erc/erc-track.el | 6 | ||||
| -rw-r--r-- | lisp/progmodes/cc-defs.el | 10 | ||||
| -rw-r--r-- | lisp/progmodes/cc-langs.el | 6 | ||||
| -rw-r--r-- | lisp/progmodes/compile.el | 11 | ||||
| -rw-r--r-- | lisp/startup.el | 5 | ||||
| -rw-r--r-- | src/ChangeLog | 9 | ||||
| -rw-r--r-- | src/dispnew.c | 2 | ||||
| -rw-r--r-- | src/fileio.c | 4 |
24 files changed, 197 insertions, 64 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 901eaac42c3..adf61e833b3 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2014-10-30 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * frames.texi (Scroll Bars): Improve indexing of faces. | ||
| 4 | |||
| 5 | * killing.texi (Secondary Selection): Improve indexing of faces. | ||
| 6 | |||
| 7 | * search.texi (Basic Isearch, Query Replace): Improve indexing of faces. | ||
| 8 | |||
| 9 | * display.texi (Standard Faces, Text Display) | ||
| 10 | (Useless Whitespace): Improve indexing of faces. | ||
| 11 | |||
| 12 | * frames.texi (Frame Commands): Document and index | ||
| 13 | 'frame-resize-pixelwise'. | ||
| 14 | |||
| 15 | * windows.texi (Split Window): Document and index | ||
| 16 | 'window-resize-pixelwise'. | ||
| 17 | |||
| 1 | 2014-10-22 Tassilo Horn <tsdh@gnu.org> | 18 | 2014-10-22 Tassilo Horn <tsdh@gnu.org> |
| 2 | 19 | ||
| 3 | * misc.texi (Document View): Adapt to latest doc-view changes wrt | 20 | * misc.texi (Document View): Adapt to latest doc-view changes wrt |
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 0a77e722d32..a5555d58054 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi | |||
| @@ -578,6 +578,7 @@ Parameters}. | |||
| 578 | 578 | ||
| 579 | @node Standard Faces | 579 | @node Standard Faces |
| 580 | @section Standard Faces | 580 | @section Standard Faces |
| 581 | @cindex standard faces | ||
| 581 | 582 | ||
| 582 | Here are the standard faces for specifying text appearance. You can | 583 | Here are the standard faces for specifying text appearance. You can |
| 583 | apply them to specific text when you want the effects they produce. | 584 | apply them to specific text when you want the effects they produce. |
| @@ -598,8 +599,10 @@ This face underlines text. | |||
| 598 | This face forces use of a fixed-width font. It's reasonable to | 599 | This face forces use of a fixed-width font. It's reasonable to |
| 599 | customize this face to use a different fixed-width font, if you like, | 600 | customize this face to use a different fixed-width font, if you like, |
| 600 | but you should not make it a variable-width font. | 601 | but you should not make it a variable-width font. |
| 602 | @cindex variable-pitch face | ||
| 601 | @item variable-pitch | 603 | @item variable-pitch |
| 602 | This face forces use of a variable-width font. | 604 | This face forces use of a variable-width font. |
| 605 | @cindex shadow face | ||
| 603 | @item shadow | 606 | @item shadow |
| 604 | This face is used for making the text less noticeable than the surrounding | 607 | This face is used for making the text less noticeable than the surrounding |
| 605 | ordinary text. Usually this can be achieved by using shades of gray in | 608 | ordinary text. Usually this can be achieved by using shades of gray in |
| @@ -647,25 +650,34 @@ frame: | |||
| 647 | 650 | ||
| 648 | @table @code | 651 | @table @code |
| 649 | @item mode-line | 652 | @item mode-line |
| 653 | @cindex mode-line face | ||
| 654 | @cindex faces for mode lines | ||
| 650 | This face is used for the mode line of the currently selected window, | 655 | This face is used for the mode line of the currently selected window, |
| 651 | and for menu bars when toolkit menus are not used. By default, it's | 656 | and for menu bars when toolkit menus are not used. By default, it's |
| 652 | drawn with shadows for a ``raised'' effect on graphical displays, and | 657 | drawn with shadows for a ``raised'' effect on graphical displays, and |
| 653 | drawn as the inverse of the default face on non-windowed terminals. | 658 | drawn as the inverse of the default face on non-windowed terminals. |
| 654 | @item mode-line-inactive | 659 | @item mode-line-inactive |
| 660 | @cindex mode-line-inactive face | ||
| 655 | Like @code{mode-line}, but used for mode lines of the windows other | 661 | Like @code{mode-line}, but used for mode lines of the windows other |
| 656 | than the selected one (if @code{mode-line-in-non-selected-windows} is | 662 | than the selected one (if @code{mode-line-in-non-selected-windows} is |
| 657 | non-@code{nil}). This face inherits from @code{mode-line}, so changes | 663 | non-@code{nil}). This face inherits from @code{mode-line}, so changes |
| 658 | in that face affect mode lines in all windows. | 664 | in that face affect mode lines in all windows. |
| 659 | @item mode-line-highlight | 665 | @item mode-line-highlight |
| 660 | Like @code{highlight}, but used for portions of text on mode lines. | 666 | @cindex mode-line-highlight face |
| 667 | Like @code{highlight}, but used for mouse-sensitive portions of text | ||
| 668 | on mode lines. Such portions of text typically pop up tooltips | ||
| 669 | (@pxref{Tooltips}) when the mouse pointer hovers above them. | ||
| 661 | @item mode-line-buffer-id | 670 | @item mode-line-buffer-id |
| 671 | @cindex mode-line-buffer-id face | ||
| 662 | This face is used for buffer identification parts in the mode line. | 672 | This face is used for buffer identification parts in the mode line. |
| 663 | @item header-line | 673 | @item header-line |
| 674 | @cindex header-line face | ||
| 664 | Similar to @code{mode-line} for a window's header line, which appears | 675 | Similar to @code{mode-line} for a window's header line, which appears |
| 665 | at the top of a window just as the mode line appears at the bottom. | 676 | at the top of a window just as the mode line appears at the bottom. |
| 666 | Most windows do not have a header line---only some special modes, such | 677 | Most windows do not have a header line---only some special modes, such |
| 667 | Info mode, create one. | 678 | Info mode, create one. |
| 668 | @item vertical-border | 679 | @item vertical-border |
| 680 | @cindex vertical-border face | ||
| 669 | This face is used for the vertical divider between windows on text | 681 | This face is used for the vertical divider between windows on text |
| 670 | terminals. | 682 | terminals. |
| 671 | @item minibuffer-prompt | 683 | @item minibuffer-prompt |
| @@ -1110,6 +1122,7 @@ empty lines at the end of a buffer, without realizing it. In most | |||
| 1110 | cases, this @dfn{trailing whitespace} has no effect, but sometimes it | 1122 | cases, this @dfn{trailing whitespace} has no effect, but sometimes it |
| 1111 | can be a nuisance. | 1123 | can be a nuisance. |
| 1112 | 1124 | ||
| 1125 | @cindex trailing-whitespace face | ||
| 1113 | You can make trailing whitespace at the end of a line visible by | 1126 | You can make trailing whitespace at the end of a line visible by |
| 1114 | setting the buffer-local variable @code{show-trailing-whitespace} to | 1127 | setting the buffer-local variable @code{show-trailing-whitespace} to |
| 1115 | @code{t}. Then Emacs displays trailing whitespace, using the face | 1128 | @code{t}. Then Emacs displays trailing whitespace, using the face |
| @@ -1418,6 +1431,8 @@ as octal escape sequences instead of caret escape sequences. | |||
| 1418 | @cindex non-breaking space | 1431 | @cindex non-breaking space |
| 1419 | @cindex non-breaking hyphen | 1432 | @cindex non-breaking hyphen |
| 1420 | @cindex soft hyphen | 1433 | @cindex soft hyphen |
| 1434 | @cindex escape-glyph face | ||
| 1435 | @cindex nobreak-space face | ||
| 1421 | Some non-@acronym{ASCII} characters have the same appearance as an | 1436 | Some non-@acronym{ASCII} characters have the same appearance as an |
| 1422 | @acronym{ASCII} space or hyphen (minus) character. Such characters | 1437 | @acronym{ASCII} space or hyphen (minus) character. Such characters |
| 1423 | can cause problems if they are entered into a buffer without your | 1438 | can cause problems if they are entered into a buffer without your |
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index da0dd8aa6ac..27380cd565e 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi | |||
| @@ -376,6 +376,9 @@ position (@pxref{Split Window}). | |||
| 376 | between two side-by-side mode lines, you can move the vertical | 376 | between two side-by-side mode lines, you can move the vertical |
| 377 | boundary to the left or right. | 377 | boundary to the left or right. |
| 378 | 378 | ||
| 379 | Note that resizing windows is affected by the value of | ||
| 380 | @code{window-resize-pixelwise}, see @ref{Split Window}. | ||
| 381 | |||
| 379 | @node Creating Frames | 382 | @node Creating Frames |
| 380 | @section Creating Frames | 383 | @section Creating Frames |
| 381 | @cindex creating frames | 384 | @cindex creating frames |
| @@ -469,9 +472,13 @@ hides window manager decorations, giving slightly more screen space to | |||
| 469 | Emacs itself.) | 472 | Emacs itself.) |
| 470 | @end table | 473 | @end table |
| 471 | 474 | ||
| 475 | @vindex frame-resize-pixelwise | ||
| 472 | Note that with some window managers you may have to customize the | 476 | Note that with some window managers you may have to customize the |
| 473 | variable @code{frame-resize-pixelwise} to a non-@code{nil} value in | 477 | variable @code{frame-resize-pixelwise} to a non-@code{nil} value in |
| 474 | order to make a frame truly ``maximized'' or ``fullscreen''. | 478 | order to make a frame truly ``maximized'' or ``fullscreen''. This |
| 479 | variable, when set to a non-@code{nil} value, in general allows | ||
| 480 | resizing frames at pixel resolution, rather than in integral multiples | ||
| 481 | of lines and columns. | ||
| 475 | 482 | ||
| 476 | The @kbd{C-x 5 0} (@code{delete-frame}) command deletes the selected | 483 | The @kbd{C-x 5 0} (@code{delete-frame}) command deletes the selected |
| 477 | frame. However, it will refuse to delete the last frame in an Emacs | 484 | frame. However, it will refuse to delete the last frame in an Emacs |
| @@ -955,6 +962,10 @@ end of the buffer is shown; if @code{nil}, the thumb will be at the | |||
| 955 | bottom when the end of the buffer is shown. You can not over-scroll | 962 | bottom when the end of the buffer is shown. You can not over-scroll |
| 956 | when the entire buffer is visible. | 963 | when the entire buffer is visible. |
| 957 | 964 | ||
| 965 | @cindex scroll-bar face | ||
| 966 | The visual appearance of the scroll bars is controlled by the | ||
| 967 | @code{scroll-bar} face. | ||
| 968 | |||
| 958 | @cindex Horizontal Scroll Bar | 969 | @cindex Horizontal Scroll Bar |
| 959 | @cindex Horizontal Scroll Bar mode | 970 | @cindex Horizontal Scroll Bar mode |
| 960 | On graphical displays with toolkit support, Emacs may also supply a | 971 | On graphical displays with toolkit support, Emacs may also supply a |
| @@ -987,7 +998,6 @@ or disable horizontal scroll bars (@pxref{Resources}). To control the | |||
| 987 | scroll bar height, change the @code{scroll-bar-height} frame parameter | 998 | scroll bar height, change the @code{scroll-bar-height} frame parameter |
| 988 | (@pxref{Frame Parameters,,, elisp, The Emacs Lisp Reference Manual}). | 999 | (@pxref{Frame Parameters,,, elisp, The Emacs Lisp Reference Manual}). |
| 989 | 1000 | ||
| 990 | |||
| 991 | @node Drag and Drop | 1001 | @node Drag and Drop |
| 992 | @section Drag and Drop | 1002 | @section Drag and Drop |
| 993 | @cindex drag and drop | 1003 | @cindex drag and drop |
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi index f4b1752643d..e258d1ca1a0 100644 --- a/doc/emacs/killing.texi +++ b/doc/emacs/killing.texi | |||
| @@ -588,6 +588,7 @@ you can access it using the following Emacs commands: | |||
| 588 | @table @kbd | 588 | @table @kbd |
| 589 | @findex mouse-set-secondary | 589 | @findex mouse-set-secondary |
| 590 | @kindex M-Drag-Mouse-1 | 590 | @kindex M-Drag-Mouse-1 |
| 591 | @cindex secondary-selection face | ||
| 591 | @item M-Drag-Mouse-1 | 592 | @item M-Drag-Mouse-1 |
| 592 | Set the secondary selection, with one end at the place where you press | 593 | Set the secondary selection, with one end at the place where you press |
| 593 | down the button, and the other end at the place where you release it | 594 | down the button, and the other end at the place where you release it |
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index bdfb534e186..bd0bd0bf641 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi | |||
| @@ -86,6 +86,7 @@ not be the first @samp{F} previously found. After another @kbd{O}, | |||
| 86 | the cursor moves to just after the first @samp{FOO}. | 86 | the cursor moves to just after the first @samp{FOO}. |
| 87 | 87 | ||
| 88 | @cindex faces for highlighting search matches | 88 | @cindex faces for highlighting search matches |
| 89 | @cindex isearch face | ||
| 89 | At each step, Emacs highlights the @dfn{current match}---the buffer | 90 | At each step, Emacs highlights the @dfn{current match}---the buffer |
| 90 | text that matches the search string---using the @code{isearch} face | 91 | text that matches the search string---using the @code{isearch} face |
| 91 | (@pxref{Faces}). The current search string is also displayed in the | 92 | (@pxref{Faces}). The current search string is also displayed in the |
| @@ -1280,6 +1281,8 @@ It works like @code{replace-regexp} except that it queries | |||
| 1280 | like @code{query-replace}. | 1281 | like @code{query-replace}. |
| 1281 | 1282 | ||
| 1282 | @cindex faces for highlighting query replace | 1283 | @cindex faces for highlighting query replace |
| 1284 | @cindex query-replace face | ||
| 1285 | @cindex lazy-highlight face | ||
| 1283 | These commands highlight the current match using the face | 1286 | These commands highlight the current match using the face |
| 1284 | @code{query-replace}. They highlight other matches using | 1287 | @code{query-replace}. They highlight other matches using |
| 1285 | @code{lazy-highlight} just like incremental search (@pxref{Incremental | 1288 | @code{lazy-highlight} just like incremental search (@pxref{Incremental |
diff --git a/doc/emacs/windows.texi b/doc/emacs/windows.texi index 4a5f24c13fb..4045908d4d5 100644 --- a/doc/emacs/windows.texi +++ b/doc/emacs/windows.texi | |||
| @@ -134,6 +134,18 @@ clicking @kbd{C-Mouse-2} in the scroll bar, which puts a horizontal | |||
| 134 | divider where you click (this feature does not work when Emacs uses | 134 | divider where you click (this feature does not work when Emacs uses |
| 135 | GTK+ scroll bars). | 135 | GTK+ scroll bars). |
| 136 | 136 | ||
| 137 | @vindex window-resize-pixelwise | ||
| 138 | By default, when you split a window, Emacs gives each of the | ||
| 139 | resulting windows dimensions that are an integral multiple of the | ||
| 140 | default font size of the frame. That might subdivide the screen | ||
| 141 | estate unevenly between the resulting windows. If you set the | ||
| 142 | variable @code{window-resize-pixelwise} to a non-@code{nil} value, | ||
| 143 | Emacs will give each window the same number of pixels (give or take | ||
| 144 | one pixel if the initial dimension was an odd number of pixels). Note | ||
| 145 | that when a frame's pixel size is not a multiple of the frame's | ||
| 146 | character size, at least one window may get resized pixelwise even if | ||
| 147 | this option is @code{nil}. | ||
| 148 | |||
| 137 | @node Other Window | 149 | @node Other Window |
| 138 | @section Using Other Windows | 150 | @section Using Other Windows |
| 139 | 151 | ||
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 82e768c6564..1ecc0a65741 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2014-10-30 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * efaq.texi (Gnus does not work with NNTP): Remove; ancient. | ||
| 4 | |||
| 5 | 2014-10-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 6 | |||
| 7 | * eieio.texi (Accessing Slots, CLOS compatibility): Adjust wording | ||
| 8 | since `setf' is in core rather than in CL nowadays. | ||
| 9 | |||
| 1 | 2014-10-29 Paul Eggert <eggert@cs.ucla.edu> | 10 | 2014-10-29 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 11 | ||
| 3 | Simplify use of current-time and friends. | 12 | Simplify use of current-time and friends. |
diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 4d1df8b97dc..0159101916d 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi | |||
| @@ -4190,7 +4190,6 @@ fontset, or you can select it by setting the default font in your | |||
| 4190 | * Replying to the sender of a message:: | 4190 | * Replying to the sender of a message:: |
| 4191 | * Automatically starting a mail or news reader:: | 4191 | * Automatically starting a mail or news reader:: |
| 4192 | * Reading news with Emacs:: | 4192 | * Reading news with Emacs:: |
| 4193 | * Gnus does not work with NNTP:: | ||
| 4194 | * Making Gnus faster:: | 4193 | * Making Gnus faster:: |
| 4195 | * Catching up in all newsgroups:: | 4194 | * Catching up in all newsgroups:: |
| 4196 | @end menu | 4195 | @end menu |
| @@ -4384,27 +4383,6 @@ Manual, gnus, The Gnus Manual}, which includes @ref{Frequently Asked | |||
| 4384 | Questions,, the Gnus FAQ, gnus, The Gnus Manual}. | 4383 | Questions,, the Gnus FAQ, gnus, The Gnus Manual}. |
| 4385 | 4384 | ||
| 4386 | 4385 | ||
| 4387 | @node Gnus does not work with NNTP | ||
| 4388 | @section Why doesn't Gnus work via NNTP? | ||
| 4389 | @cindex Gnus and NNTP | ||
| 4390 | @cindex NNTP, Gnus fails to work with | ||
| 4391 | |||
| 4392 | There is a bug in NNTP version 1.5.10, such that when multiple requests | ||
| 4393 | are sent to the NNTP server, the server only handles the first one | ||
| 4394 | before blocking waiting for more input which never comes. NNTP version | ||
| 4395 | 1.5.11 claims to fix this. | ||
| 4396 | |||
| 4397 | You can work around the bug inside Emacs like this: | ||
| 4398 | |||
| 4399 | @lisp | ||
| 4400 | (setq nntp-maximum-request 1) | ||
| 4401 | @end lisp | ||
| 4402 | |||
| 4403 | You can find out what version of NNTP your news server is running by | ||
| 4404 | telnetting to the NNTP port (usually 119) on the news server machine | ||
| 4405 | (i.e., @kbd{telnet server-machine 119}). The server should give its | ||
| 4406 | version number in the welcome message. Type @kbd{quit} to get out. | ||
| 4407 | |||
| 4408 | @node Making Gnus faster | 4386 | @node Making Gnus faster |
| 4409 | @section How do I make Gnus faster? | 4387 | @section How do I make Gnus faster? |
| 4410 | @cindex Faster, starting Gnus | 4388 | @cindex Faster, starting Gnus |
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 8f93300e24a..80e52baf255 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi | |||
| @@ -755,8 +755,8 @@ Unlike @code{oref}, the symbol for @var{slot} must be quoted. | |||
| 755 | 755 | ||
| 756 | @defun set-slot-value object slot value | 756 | @defun set-slot-value object slot value |
| 757 | @anchor{set-slot-value} | 757 | @anchor{set-slot-value} |
| 758 | This is not a CLOS function, but is meant to mirror @code{slot-value} if | 758 | This is not a CLOS function, but is the setter for @code{slot-value} |
| 759 | you don't want to use the cl package's @code{setf} function. This | 759 | used by the @code{setf} macro. This |
| 760 | function sets the value of @var{slot} from @var{object}. Unlike | 760 | function sets the value of @var{slot} from @var{object}. Unlike |
| 761 | @code{oset}, the symbol for @var{slot} must be quoted. | 761 | @code{oset}, the symbol for @var{slot} must be quoted. |
| 762 | @end defun | 762 | @end defun |
| @@ -790,7 +790,7 @@ This establishes a lexical environment for referring to the slots in | |||
| 790 | the instance named by the given slot-names as though they were | 790 | the instance named by the given slot-names as though they were |
| 791 | variables. Within such a context the value of the slot can be | 791 | variables. Within such a context the value of the slot can be |
| 792 | specified by using its slot name, as if it were a lexically bound | 792 | specified by using its slot name, as if it were a lexically bound |
| 793 | variable. Both setf and setq can be used to set the value of the | 793 | variable. Both @code{setf} and @code{setq} can be used to set the value of the |
| 794 | slot. | 794 | slot. |
| 795 | 795 | ||
| 796 | @var{spec-list} is of a form similar to @dfn{let}. For example: | 796 | @var{spec-list} is of a form similar to @dfn{let}. For example: |
| @@ -1850,10 +1850,6 @@ for the given object. This is different than that found in CLOS because | |||
| 1850 | in @eieio{} this function accepts replacement arguments. This permits | 1850 | in @eieio{} this function accepts replacement arguments. This permits |
| 1851 | subclasses to modify arguments as they are passed up the tree. If no | 1851 | subclasses to modify arguments as they are passed up the tree. If no |
| 1852 | arguments are given, the expected CLOS behavior is used. | 1852 | arguments are given, the expected CLOS behavior is used. |
| 1853 | @item setf | ||
| 1854 | If the common-lisp subsystem is loaded, the setf parameters are also | ||
| 1855 | loaded so the form @code{(setf (slot-value object slot) t)} should | ||
| 1856 | work. | ||
| 1857 | @end table | 1853 | @end table |
| 1858 | 1854 | ||
| 1859 | CLOS supports the @code{describe} command, but @eieio{} provides | 1855 | CLOS supports the @code{describe} command, but @eieio{} provides |
| @@ -398,9 +398,13 @@ to start debugging. | |||
| 398 | Don't assume Emacs is `hung'--it may instead be in an infinite loop. | 398 | Don't assume Emacs is `hung'--it may instead be in an infinite loop. |
| 399 | To find out which, make the problem happen under GDB and stop Emacs | 399 | To find out which, make the problem happen under GDB and stop Emacs |
| 400 | once it is not responding. (If Emacs is using X Windows directly, you | 400 | once it is not responding. (If Emacs is using X Windows directly, you |
| 401 | can stop Emacs by typing C-z at the GDB job.) Then try stepping with | 401 | can stop Emacs by typing C-z at the GDB job. On MS-Windows, run Emacs |
| 402 | `step'. If Emacs is hung, the `step' command won't return. If it is | 402 | as usual, and then attach GDB to it -- that will usually interrupt |
| 403 | looping, `step' will return. | 403 | whatever Emacs is doing and let you perform the steps described |
| 404 | below.) | ||
| 405 | |||
| 406 | Then try stepping with `step'. If Emacs is hung, the `step' command | ||
| 407 | won't return. If it is looping, `step' will return. | ||
| 404 | 408 | ||
| 405 | If this shows Emacs is hung in a system call, stop it again and | 409 | If this shows Emacs is hung in a system call, stop it again and |
| 406 | examine the arguments of the call. If you report the bug, it is very | 410 | examine the arguments of the call. If you report the bug, it is very |
| @@ -420,10 +424,11 @@ stepping, you will see where the loop starts and ends. Also, examine | |||
| 420 | the data being used in the loop and try to determine why the loop does | 424 | the data being used in the loop and try to determine why the loop does |
| 421 | not exit when it should. | 425 | not exit when it should. |
| 422 | 426 | ||
| 423 | You can also trying sending Emacs SIGUSR2, which, if `debug-on-event' | 427 | On GNU and Unix systems, you can also trying sending Emacs SIGUSR2, |
| 424 | has its default value, will cause Emacs to attempt to break it out of | 428 | which, if `debug-on-event' has its default value, will cause Emacs to |
| 425 | its current loop and into the Lisp debugger. This feature is useful | 429 | attempt to break it out of its current loop and into the Lisp |
| 426 | when a C-level debugger is not conveniently available. | 430 | debugger. This feature is useful when a C-level debugger is not |
| 431 | conveniently available. | ||
| 427 | 432 | ||
| 428 | ** If certain operations in Emacs are slower than they used to be, here | 433 | ** If certain operations in Emacs are slower than they used to be, here |
| 429 | is some advice for how to find out why. | 434 | is some advice for how to find out why. |
diff --git a/etc/NEWS.24 b/etc/NEWS.24 index eba9b940585..8c039a55a2f 100644 --- a/etc/NEWS.24 +++ b/etc/NEWS.24 | |||
| @@ -14,6 +14,37 @@ and NEWS.1-17 for changes in older Emacs versions. | |||
| 14 | You can narrow news to a specific version by calling `view-emacs-news' | 14 | You can narrow news to a specific version by calling `view-emacs-news' |
| 15 | with a prefix argument or by typing C-u C-h C-n. | 15 | with a prefix argument or by typing C-u C-h C-n. |
| 16 | 16 | ||
| 17 | Temporary note: | ||
| 18 | +++ indicates that all necessary documentation updates are complete. | ||
| 19 | (This means all relevant manuals in doc/ AND lisp doc-strings.) | ||
| 20 | --- means no change in the manuals is needed. | ||
| 21 | When you add a new item, use the appropriate mark if you are sure it applies, | ||
| 22 | otherwise leave it unmarked. | ||
| 23 | |||
| 24 | |||
| 25 | * Changes in Emacs 24.5 | ||
| 26 | |||
| 27 | --- | ||
| 28 | ** The default value of `history-length' has increased to 100. | ||
| 29 | |||
| 30 | |||
| 31 | * Changes in Specialized Modes and Packages in Emacs 24.5 | ||
| 32 | |||
| 33 | ** `call-process-shell-command' and `process-file-shell-command' | ||
| 34 | don't take "&rest args" any more. | ||
| 35 | |||
| 36 | ** Obsolete packages | ||
| 37 | |||
| 38 | *** cc-compat.el | ||
| 39 | |||
| 40 | --- | ||
| 41 | *** crisp.el, tpu-edt.el, ws-mode.el | ||
| 42 | These emulations of old editors are believed to be no longer relevant | ||
| 43 | - contact emacs-devel@gnu.org if you disagree. | ||
| 44 | |||
| 45 | --- | ||
| 46 | *** vi.el, vip.el (try M-x viper instead) | ||
| 47 | |||
| 17 | 48 | ||
| 18 | * Installation Changes in Emacs 24.4 | 49 | * Installation Changes in Emacs 24.4 |
| 19 | 50 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1def6877f2c..56da0d6e154 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,27 @@ | |||
| 1 | 2014-10-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * progmodes/cc-defs.el (c--macroexpand-all): New function (bug#18845). | ||
| 4 | (c-lang-defconst): | ||
| 5 | * progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use it. | ||
| 6 | |||
| 7 | 2014-10-30 Eli Zaretskii <eliz@gnu.org> | ||
| 8 | |||
| 9 | * progmodes/compile.el (compilation-start): | ||
| 10 | If compilation-scroll-output is non-nil, don't force window-start of | ||
| 11 | the compilation buffer to be at beginning of buffer. (Bug#18874) | ||
| 12 | |||
| 13 | * startup.el (fancy-about-text): Read the entire tutorial, not | ||
| 14 | just its first 256 bytes. (Bug#18760) | ||
| 15 | |||
| 16 | 2014-10-30 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 17 | |||
| 18 | * emacs-lisp/bytecomp.el: Require cl-extra (bug#18804). | ||
| 19 | * emacs-lisp/cl-extra.el: Add missing provide. | ||
| 20 | |||
| 21 | * emacs-lisp/bytecomp.el (byte-compile-and-folded): Optimize case where | ||
| 22 | all args are copyable (bug#18767). | ||
| 23 | (=, <, >, <=, >=): Re-enable the optimization. | ||
| 24 | |||
| 1 | 2014-10-29 Glenn Morris <rgm@gnu.org> | 25 | 2014-10-29 Glenn Morris <rgm@gnu.org> |
| 2 | 26 | ||
| 3 | * net/rcirc.el (rcirc-fill-column): Unbump :version. Mark :risky. | 27 | * net/rcirc.el (rcirc-fill-column): Unbump :version. Mark :risky. |
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 62de943f1be..392f6ee83cd 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -120,7 +120,11 @@ | |||
| 120 | (require 'backquote) | 120 | (require 'backquote) |
| 121 | (require 'macroexp) | 121 | (require 'macroexp) |
| 122 | (require 'cconv) | 122 | (require 'cconv) |
| 123 | (eval-when-compile (require 'cl-lib)) | 123 | |
| 124 | ;; During bootstrap, cl-loaddefs.el is not created yet, so loading cl-lib | ||
| 125 | ;; doesn't setup autoloads for things like cl-every, which is why we have to | ||
| 126 | ;; require cl-extra instead (bug#18804). | ||
| 127 | (require 'cl-extra) | ||
| 124 | 128 | ||
| 125 | (or (fboundp 'defsubst) | 129 | (or (fboundp 'defsubst) |
| 126 | ;; This really ought to be loaded already! | 130 | ;; This really ought to be loaded already! |
| @@ -3283,11 +3287,11 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\"" | |||
| 3283 | (byte-defop-compiler cons 2) | 3287 | (byte-defop-compiler cons 2) |
| 3284 | (byte-defop-compiler aref 2) | 3288 | (byte-defop-compiler aref 2) |
| 3285 | (byte-defop-compiler set 2) | 3289 | (byte-defop-compiler set 2) |
| 3286 | (byte-defop-compiler (= byte-eqlsign) 2) ;; -and bug#18767 | 3290 | (byte-defop-compiler (= byte-eqlsign) 2-and) |
| 3287 | (byte-defop-compiler (< byte-lss) 2) ;; -and bug#18767 | 3291 | (byte-defop-compiler (< byte-lss) 2-and) |
| 3288 | (byte-defop-compiler (> byte-gtr) 2) ;; -and bug#18767 | 3292 | (byte-defop-compiler (> byte-gtr) 2-and) |
| 3289 | (byte-defop-compiler (<= byte-leq) 2) ;; -and bug#18767 | 3293 | (byte-defop-compiler (<= byte-leq) 2-and) |
| 3290 | (byte-defop-compiler (>= byte-geq) 2) ;; -and bug#18767 | 3294 | (byte-defop-compiler (>= byte-geq) 2-and) |
| 3291 | (byte-defop-compiler get 2) | 3295 | (byte-defop-compiler get 2) |
| 3292 | (byte-defop-compiler nth 2) | 3296 | (byte-defop-compiler nth 2) |
| 3293 | (byte-defop-compiler substring 2-3) | 3297 | (byte-defop-compiler substring 2-3) |
| @@ -3354,13 +3358,14 @@ If it is nil, then the handler is \"byte-compile-SYMBOL.\"" | |||
| 3354 | (defun byte-compile-and-folded (form) | 3358 | (defun byte-compile-and-folded (form) |
| 3355 | "Compile calls to functions like `<='. | 3359 | "Compile calls to functions like `<='. |
| 3356 | These implicitly `and' together a bunch of two-arg bytecodes." | 3360 | These implicitly `and' together a bunch of two-arg bytecodes." |
| 3357 | ;; FIXME: bug#18767 means we can't do it this way! | ||
| 3358 | (let ((l (length form))) | 3361 | (let ((l (length form))) |
| 3359 | (cond | 3362 | (cond |
| 3360 | ((< l 3) (byte-compile-form `(progn ,(nth 1 form) t))) | 3363 | ((< l 3) (byte-compile-form `(progn ,(nth 1 form) t))) |
| 3361 | ((= l 3) (byte-compile-two-args form)) | 3364 | ((= l 3) (byte-compile-two-args form)) |
| 3362 | (t (byte-compile-form `(and (,(car form) ,(nth 1 form) ,(nth 2 form)) | 3365 | ((cl-every #'macroexp-copyable-p (nthcdr 2 form)) |
| 3363 | (,(car form) ,@(nthcdr 2 form)))))))) | 3366 | (byte-compile-form `(and (,(car form) ,(nth 1 form) ,(nth 2 form)) |
| 3367 | (,(car form) ,@(nthcdr 2 form))))) | ||
| 3368 | (t (byte-compile-normal-call form))))) | ||
| 3364 | 3369 | ||
| 3365 | (defun byte-compile-three-args (form) | 3370 | (defun byte-compile-three-args (form) |
| 3366 | (if (not (= (length form) 4)) | 3371 | (if (not (= (length form) 4)) |
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el index a7970261608..b8b7b2c170b 100644 --- a/lisp/emacs-lisp/cl-extra.el +++ b/lisp/emacs-lisp/cl-extra.el | |||
| @@ -720,4 +720,5 @@ including `cl-block' and `cl-eval-when'." | |||
| 720 | ;; generated-autoload-file: "cl-loaddefs.el" | 720 | ;; generated-autoload-file: "cl-loaddefs.el" |
| 721 | ;; End: | 721 | ;; End: |
| 722 | 722 | ||
| 723 | (provide 'cl-extra) | ||
| 723 | ;;; cl-extra.el ends here | 724 | ;;; cl-extra.el ends here |
diff --git a/lisp/emulation/viper-util.el b/lisp/emulation/viper-util.el index 178b23e1fca..4e3b71e3104 100644 --- a/lisp/emulation/viper-util.el +++ b/lisp/emulation/viper-util.el | |||
| @@ -984,7 +984,7 @@ Otherwise return the normal value." | |||
| 984 | ;; macros, since it enables certain macros to be shared between X and TTY modes | 984 | ;; macros, since it enables certain macros to be shared between X and TTY modes |
| 985 | ;; by correctly mapping key sequences for Left/Right/... (on an ascii | 985 | ;; by correctly mapping key sequences for Left/Right/... (on an ascii |
| 986 | ;; terminal) into logical keys left, right, etc. | 986 | ;; terminal) into logical keys left, right, etc. |
| 987 | (defun viper-read-key () | 987 | (defun viper-read-key () ;; FIXME: Use `read-key'? |
| 988 | (let ((overriding-local-map viper-overriding-map) | 988 | (let ((overriding-local-map viper-overriding-map) |
| 989 | (inhibit-quit t) | 989 | (inhibit-quit t) |
| 990 | help-char key) | 990 | help-char key) |
diff --git a/lisp/emulation/viper.el b/lisp/emulation/viper.el index d1353bdc8fa..c7394e1cea5 100644 --- a/lisp/emulation/viper.el +++ b/lisp/emulation/viper.el | |||
| @@ -531,6 +531,7 @@ If Viper is enabled, turn it off. Otherwise, turn it on." | |||
| 531 | (if viper-mode | 531 | (if viper-mode |
| 532 | () | 532 | () |
| 533 | (setq viper-mode t) | 533 | (setq viper-mode t) |
| 534 | ;; FIXME: Don't reload! | ||
| 534 | (load-library "viper")) | 535 | (load-library "viper")) |
| 535 | 536 | ||
| 536 | (if viper-first-time ; Important check. Prevents mix-up of startup | 537 | (if viper-first-time ; Important check. Prevents mix-up of startup |
| @@ -887,6 +888,7 @@ Two differences: | |||
| 887 | ;; When viper-mode is executed in such a case, it will set the major mode | 888 | ;; When viper-mode is executed in such a case, it will set the major mode |
| 888 | ;; back to fundamental-mode. | 889 | ;; back to fundamental-mode. |
| 889 | (if (eq (default-value 'major-mode) 'fundamental-mode) | 890 | (if (eq (default-value 'major-mode) 'fundamental-mode) |
| 891 | ;; FIXME: We should use after-change-major-mode-hook instead! | ||
| 890 | (setq-default major-mode 'viper-mode)) | 892 | (setq-default major-mode 'viper-mode)) |
| 891 | 893 | ||
| 892 | (viper-setup-ESC-to-escape t) | 894 | (viper-setup-ESC-to-escape t) |
| @@ -936,6 +938,7 @@ Two differences: | |||
| 936 | 938 | ||
| 937 | (defadvice self-insert-command (around viper-self-insert-ad activate) | 939 | (defadvice self-insert-command (around viper-self-insert-ad activate) |
| 938 | "Ignore all self-inserting keys in the vi-state." | 940 | "Ignore all self-inserting keys in the vi-state." |
| 941 | ;; FIXME: Use remapping? | ||
| 939 | (if (and (eq viper-current-state 'vi-state) | 942 | (if (and (eq viper-current-state 'vi-state) |
| 940 | ;; Do not use called-interactively-p here. XEmacs does not have it | 943 | ;; Do not use called-interactively-p here. XEmacs does not have it |
| 941 | ;; and interactive-p is just fine. | 944 | ;; and interactive-p is just fine. |
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el index 47e76c3ea1e..fae6be433fd 100644 --- a/lisp/erc/erc-track.el +++ b/lisp/erc/erc-track.el | |||
| @@ -265,9 +265,7 @@ nil - don't add to mode line." | |||
| 265 | (erc-track-add-to-mode-line val)))) | 265 | (erc-track-add-to-mode-line val)))) |
| 266 | 266 | ||
| 267 | (defun erc-modified-channels-object (strings) | 267 | (defun erc-modified-channels-object (strings) |
| 268 | "Generate a new `erc-modified-channels-object' based on STRINGS. | 268 | "Generate a new `erc-modified-channels-object' based on STRINGS." |
| 269 | If STRINGS is nil, we initialize `erc-modified-channels-object' to | ||
| 270 | an appropriate initial value for this flavor of Emacs." | ||
| 271 | (if strings | 269 | (if strings |
| 272 | (if (featurep 'xemacs) | 270 | (if (featurep 'xemacs) |
| 273 | (let ((e-m-c-s '("["))) | 271 | (let ((e-m-c-s '("["))) |
| @@ -743,7 +741,7 @@ only consider active buffers visible.") | |||
| 743 | (defvar erc-modified-channels-update-inside nil | 741 | (defvar erc-modified-channels-update-inside nil |
| 744 | "Variable to prevent running `erc-modified-channels-update' multiple | 742 | "Variable to prevent running `erc-modified-channels-update' multiple |
| 745 | times. Without it, you cannot debug `erc-modified-channels-display', | 743 | times. Without it, you cannot debug `erc-modified-channels-display', |
| 746 | because the debugger also cases changes to the window-configuration.") | 744 | because the debugger also causes changes to the window-configuration.") |
| 747 | 745 | ||
| 748 | (defun erc-modified-channels-update (&rest _args) | 746 | (defun erc-modified-channels-update (&rest _args) |
| 749 | "This function updates the information in `erc-modified-channels-alist' | 747 | "This function updates the information in `erc-modified-channels-alist' |
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el index dc31fde131d..1d8b8abeb2f 100644 --- a/lisp/progmodes/cc-defs.el +++ b/lisp/progmodes/cc-defs.el | |||
| @@ -174,6 +174,10 @@ This variant works around bugs in `eval-when-compile' in various | |||
| 174 | 174 | ||
| 175 | (put 'cc-eval-when-compile 'lisp-indent-hook 0)) | 175 | (put 'cc-eval-when-compile 'lisp-indent-hook 0)) |
| 176 | 176 | ||
| 177 | (eval-and-compile | ||
| 178 | (defalias 'c--macroexpand-all | ||
| 179 | (if (fboundp 'macroexpand-all) | ||
| 180 | 'macroexpand-all 'cl-macroexpand-all))) | ||
| 177 | 181 | ||
| 178 | ;;; Macros. | 182 | ;;; Macros. |
| 179 | 183 | ||
| @@ -1841,7 +1845,7 @@ system." | |||
| 1841 | immediately, i.e. at the same time as the `c-lang-defconst' form | 1845 | immediately, i.e. at the same time as the `c-lang-defconst' form |
| 1842 | itself is evaluated." | 1846 | itself is evaluated." |
| 1843 | ;; Evaluate at macro expansion time, i.e. in the | 1847 | ;; Evaluate at macro expansion time, i.e. in the |
| 1844 | ;; `macroexpand-all' inside `c-lang-defconst'. | 1848 | ;; `c--macroexpand-all' inside `c-lang-defconst'. |
| 1845 | (eval form)) | 1849 | (eval form)) |
| 1846 | 1850 | ||
| 1847 | (defmacro c-lang-defconst (name &rest args) | 1851 | (defmacro c-lang-defconst (name &rest args) |
| @@ -1885,7 +1889,7 @@ constant. A file is identified by its base name." | |||
| 1885 | 1889 | ||
| 1886 | (let* ((sym (intern (symbol-name name) c-lang-constants)) | 1890 | (let* ((sym (intern (symbol-name name) c-lang-constants)) |
| 1887 | ;; Make `c-lang-const' expand to a straightforward call to | 1891 | ;; Make `c-lang-const' expand to a straightforward call to |
| 1888 | ;; `c-get-lang-constant' in `macroexpand-all' below. | 1892 | ;; `c-get-lang-constant' in `c--macroexpand-all' below. |
| 1889 | ;; | 1893 | ;; |
| 1890 | ;; (The default behavior, i.e. to expand to a call inside | 1894 | ;; (The default behavior, i.e. to expand to a call inside |
| 1891 | ;; `eval-when-compile' should be equivalent, since that macro | 1895 | ;; `eval-when-compile' should be equivalent, since that macro |
| @@ -1948,7 +1952,7 @@ constant. A file is identified by its base name." | |||
| 1948 | ;; reason, but we also use this expansion handle | 1952 | ;; reason, but we also use this expansion handle |
| 1949 | ;; `c-lang-defconst-eval-immediately' and to register | 1953 | ;; `c-lang-defconst-eval-immediately' and to register |
| 1950 | ;; dependencies on the `c-lang-const's in VAL.) | 1954 | ;; dependencies on the `c-lang-const's in VAL.) |
| 1951 | (setq val (macroexpand-all val)) | 1955 | (setq val (c--macroexpand-all val)) |
| 1952 | 1956 | ||
| 1953 | (setq bindings `(cons (cons ',assigned-mode (lambda () ,val)) ,bindings) | 1957 | (setq bindings `(cons (cons ',assigned-mode (lambda () ,val)) ,bindings) |
| 1954 | args (cdr args)))) | 1958 | args (cdr args)))) |
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el index bab928ac5dd..a8dc3b8968c 100644 --- a/lisp/progmodes/cc-langs.el +++ b/lisp/progmodes/cc-langs.el | |||
| @@ -3238,7 +3238,7 @@ accomplish that conveniently." | |||
| 3238 | `(lambda () | 3238 | `(lambda () |
| 3239 | 3239 | ||
| 3240 | ;; This let sets up the context for `c-mode-var' and similar | 3240 | ;; This let sets up the context for `c-mode-var' and similar |
| 3241 | ;; that could be in the result from `macroexpand-all'. | 3241 | ;; that could be in the result from `c--macroexpand-all'. |
| 3242 | (let ((c-buffer-is-cc-mode ',mode) | 3242 | (let ((c-buffer-is-cc-mode ',mode) |
| 3243 | current-var source-eval) | 3243 | current-var source-eval) |
| 3244 | (c-make-emacs-variables-local) | 3244 | (c-make-emacs-variables-local) |
| @@ -3248,12 +3248,12 @@ accomplish that conveniently." | |||
| 3248 | (setq ,@(let ((c-buffer-is-cc-mode mode) | 3248 | (setq ,@(let ((c-buffer-is-cc-mode mode) |
| 3249 | (c-lang-const-expansion 'immediate)) | 3249 | (c-lang-const-expansion 'immediate)) |
| 3250 | ;; `c-lang-const' will expand to the evaluated | 3250 | ;; `c-lang-const' will expand to the evaluated |
| 3251 | ;; constant immediately in `macroexpand-all' | 3251 | ;; constant immediately in `c--macroexpand-all' |
| 3252 | ;; below. | 3252 | ;; below. |
| 3253 | (mapcan | 3253 | (mapcan |
| 3254 | (lambda (init) | 3254 | (lambda (init) |
| 3255 | `(current-var ',(car init) | 3255 | `(current-var ',(car init) |
| 3256 | ,(car init) ,(macroexpand-all | 3256 | ,(car init) ,(c--macroexpand-all |
| 3257 | (elt init 1)))) | 3257 | (elt init 1)))) |
| 3258 | ;; Note: The following `append' copies the | 3258 | ;; Note: The following `append' copies the |
| 3259 | ;; first argument. That list is small, so | 3259 | ;; first argument. That list is small, so |
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index ee066f4c56c..d3d03cd2030 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -1676,7 +1676,16 @@ Returns the compilation buffer created." | |||
| 1676 | (list command mode name-function highlight-regexp)) | 1676 | (list command mode name-function highlight-regexp)) |
| 1677 | (set (make-local-variable 'revert-buffer-function) | 1677 | (set (make-local-variable 'revert-buffer-function) |
| 1678 | 'compilation-revert-buffer) | 1678 | 'compilation-revert-buffer) |
| 1679 | (and outwin (set-window-start outwin (point-min))) | 1679 | (and outwin |
| 1680 | ;; Forcing the window-start overrides the usual redisplay | ||
| 1681 | ;; feature of bringing point into view, so setting the | ||
| 1682 | ;; window-start to top of the buffer risks losing the | ||
| 1683 | ;; effect of moving point to EOB below, per | ||
| 1684 | ;; compilation-scroll-output, if the command is long | ||
| 1685 | ;; enough to push point outside of the window. This | ||
| 1686 | ;; could happen, e.g., in `rgrep'. | ||
| 1687 | (not compilation-scroll-output) | ||
| 1688 | (set-window-start outwin (point-min))) | ||
| 1680 | 1689 | ||
| 1681 | ;; Position point as the user will see it. | 1690 | ;; Position point as the user will see it. |
| 1682 | (let ((desired-visible-point | 1691 | (let ((desired-visible-point |
diff --git a/lisp/startup.el b/lisp/startup.el index 0dacf191c14..88611a0cd8f 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -1496,7 +1496,10 @@ Each element in the list should be a list of strings or pairs | |||
| 1496 | (title (with-temp-buffer | 1496 | (title (with-temp-buffer |
| 1497 | (insert-file-contents | 1497 | (insert-file-contents |
| 1498 | (expand-file-name tut tutorial-directory) | 1498 | (expand-file-name tut tutorial-directory) |
| 1499 | nil 0 256) | 1499 | ;; Reat the entire file, to make sure any |
| 1500 | ;; coding cookies and other local variables | ||
| 1501 | ;; get acted upon. | ||
| 1502 | nil) | ||
| 1500 | (search-forward ".") | 1503 | (search-forward ".") |
| 1501 | (buffer-substring (point-min) (1- (point)))))) | 1504 | (buffer-substring (point-min) (1- (point)))))) |
| 1502 | ;; If there is a specific tutorial for the current language | 1505 | ;; If there is a specific tutorial for the current language |
diff --git a/src/ChangeLog b/src/ChangeLog index 25009f8a310..89c0bb8fd8e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2014-10-30 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * fileio.c (Fexpand_file_name): Use make_unibyte_string, not | ||
| 4 | build_string, when importing a home directory. (Bug#18873) | ||
| 5 | |||
| 6 | * dispnew.c (buffer_posn_from_coords): Use | ||
| 7 | WINDOW_WANTS_HEADER_LINE_P, not WINDOW_WANTS_MODELINE_P, to | ||
| 8 | account for the header-line height. (Bug#18839) | ||
| 9 | |||
| 1 | 2014-10-28 Ulf Jasper <ulf.jasper@web.de> | 10 | 2014-10-28 Ulf Jasper <ulf.jasper@web.de> |
| 2 | 11 | ||
| 3 | * xml.c (parse_region): Do not forget the first document child. | 12 | * xml.c (parse_region): Do not forget the first document child. |
diff --git a/src/dispnew.c b/src/dispnew.c index 3ab8bcf3e64..900912d9d97 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -5205,7 +5205,7 @@ buffer_posn_from_coords (struct window *w, int *x, int *y, struct display_pos *p | |||
| 5205 | start position, i.e. it excludes the header-line row, but | 5205 | start position, i.e. it excludes the header-line row, but |
| 5206 | MATRIX_ROW includes the header-line row. Adjust for a possible | 5206 | MATRIX_ROW includes the header-line row. Adjust for a possible |
| 5207 | header-line row. */ | 5207 | header-line row. */ |
| 5208 | it_vpos = it.vpos + WINDOW_WANTS_MODELINE_P (w); | 5208 | it_vpos = it.vpos + WINDOW_WANTS_HEADER_LINE_P (w); |
| 5209 | if (it_vpos < w->current_matrix->nrows | 5209 | if (it_vpos < w->current_matrix->nrows |
| 5210 | && (row = MATRIX_ROW (w->current_matrix, it_vpos), | 5210 | && (row = MATRIX_ROW (w->current_matrix, it_vpos), |
| 5211 | row->enabled_p)) | 5211 | row->enabled_p)) |
diff --git a/src/fileio.c b/src/fileio.c index 4ba1c5914e8..cdbd0be28ad 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -1163,7 +1163,7 @@ filesystem tree, not (expand-file-name ".." dirname). */) | |||
| 1163 | char newdir_utf8[MAX_UTF8_PATH]; | 1163 | char newdir_utf8[MAX_UTF8_PATH]; |
| 1164 | 1164 | ||
| 1165 | filename_from_ansi (newdir, newdir_utf8); | 1165 | filename_from_ansi (newdir, newdir_utf8); |
| 1166 | tem = build_string (newdir_utf8); | 1166 | tem = make_unibyte_string (newdir_utf8, strlen (newdir_utf8)); |
| 1167 | } | 1167 | } |
| 1168 | else | 1168 | else |
| 1169 | #endif | 1169 | #endif |
| @@ -1199,7 +1199,7 @@ filesystem tree, not (expand-file-name ".." dirname). */) | |||
| 1199 | /* `getpwnam' may return a unibyte string, which will | 1199 | /* `getpwnam' may return a unibyte string, which will |
| 1200 | bite us since we expect the directory to be | 1200 | bite us since we expect the directory to be |
| 1201 | multibyte. */ | 1201 | multibyte. */ |
| 1202 | tem = build_string (newdir); | 1202 | tem = make_unibyte_string (newdir, strlen (newdir)); |
| 1203 | newdirlim = newdir + SBYTES (tem); | 1203 | newdirlim = newdir + SBYTES (tem); |
| 1204 | if (multibyte && !STRING_MULTIBYTE (tem)) | 1204 | if (multibyte && !STRING_MULTIBYTE (tem)) |
| 1205 | { | 1205 | { |