]> code.delx.au - gnu-emacs/commitdiff
Merge from origin/emacs-25
authorJohn Wiegley <johnw@newartisans.com>
Fri, 4 Mar 2016 07:52:27 +0000 (23:52 -0800)
committerJohn Wiegley <johnw@newartisans.com>
Fri, 4 Mar 2016 07:52:27 +0000 (23:52 -0800)
e6a3819 Update HISTORY section in readme for the NextStep interface.
f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
7c81a0b Improve documentation of 'save-place-mode'
cab3f0a Allocate glyph matrices for the initial frame
e01c72f Fix white space in last checkin
370eb67 Make `insert-pair' always leave the cursor where documented
b594393 etc/NEWS: Mention the new second parameter to `package-install'

1  2 
etc/NEWS
src/dispnew.c
src/frame.c

diff --combined etc/NEWS
index cf09350d173a6e8ee83105f8daa87f469e3c2955,ae34a37b335417f980c1f767f599a9466b4a2c83..8c7f4942ac5b3c54b724edacbc097a7779d132b2
+++ b/etc/NEWS
@@@ -22,138 -22,6 +22,138 @@@ Temporary note
  When you add a new item, use the appropriate mark if you are sure it applies,
  otherwise leave it unmarked.
  
 +\f
 +* Installation Changes in Emacs 25.2
 +
 ++++
 +** New configure option ‘--disable-build-details’ attempts to build an
 +Emacs that is more likely to be reproducible; that is, if you build
 +and install Emacs twice, the second Emacs is a copy of the first.
 +Deterministic builds omit the build date from the output of the
 +emacs-version and erc-cmd-SV functions, and the leave the following
 +variables nil: emacs-build-system, emacs-build-time,
 +erc-emacs-build-time.
 +
 +\f
 +* Startup Changes in Emacs 25.2
 +
 +\f
 +* Changes in Emacs 25.2
 +
 +---
 +** `align-regexp' has a separate history for its interactive argument
 +`align-regexp' no longer shares its history with all other
 +history-less functions that use `read-string'
 +
 ++++
 +** The networking code has been reworked so that it's more
 +asynchronous than it was (when specifying :nowait t in
 +`make-network-process').  How asynchronous it is varies based on the
 +capabilities of the system, but on a typical GNU/Linux system the DNS
 +resolution, the connection, and (for TLS streams) the TLS negotiation
 +are all done without blocking the main Emacs thread.  To get
 +asynchronous TLS, the TLS boot parameters have to be passed in (see
 +the manual for details).
 +
 +Certain process oriented functions (like `process-datagram-address')
 +will block until socket setup has been performed.  The recommended way
 +to deal with asynchronous sockets is to avoid interacting with them
 +until they have changed status to "run".  This is most easily done
 +from a process sentinel.
 +
 +** `make-network-stream' has always allowed :service to be specified
 +as a "number string" (i.e., :service "993") when using gethostbyname,
 +but has required using a real number (i.e., :service 993) on systems
 +without gethostbyname.  This difference has now been eliminated, and
 +you can use "number strings" on all systems.
 +
 +** It is possible to disable attempted recovery on fatal signals
 +
 +Two new variables allow to disable attempts to recover from stack
 +overflow and to avoid automatic auto-save when Emacs is delivered a
 +fatal signal.  `attempt-stack-overflow-recovery', if set to `nil',
 +will disable attempts to recover from C stack overflows; Emacs will
 +then crash as with any other fatal signal.
 +`attempt-orderly-shutdown-on-fatal-signal', if set to `nil', will
 +disable attempts to auto-save the session and shut down in an orderly
 +fashion when Emacs receives a fatal signal; instead, Emacs will
 +terminate immediately.  Both variables are non-`nil' by default.
 +These variables are for users who would like to avoid the small
 +probability of data corruption due to techniques Emacs uses to recover
 +in these situations.
 +
 +\f
 +* Editing Changes in Emacs 25.2
 +
 +\f
 +* Changes in Specialized Modes and Packages in Emacs 25.2
 +
 +** eww
 +
 ++++
 +*** A new `s' command for switching to another eww buffer via the minibuffer.
 +
 +---
 +*** The `o' command (`shr-save-contents') has moved to `O' to avoid collision
 +with the `o' command from `image-map'.
 +
 ++++
 +** The commands that add ChangeLog entries now prefer a VCS root directory
 +for the ChangeLog file, if none already exists.  Customize
 +`change-log-directory-files' to nil for the old behavior.
 +
 +---
 +** Support for non-string values of `time-stamp-format' has been removed.
 +
 +** Tramp
 +
 ++++
 +*** New connection method "sg", which allows to edit files under
 +different group ID.
 +
 ++++
 +*** New connection method "doas" for OpenBSD hosts.
 +
 +\f
 +* New Modes and Packages in Emacs 25.2
 +
 +\f
 +* Incompatible Lisp Changes in Emacs 25.2
 +
 ++++
 +** Resizing a frame no longer runs `window-configuration-change-hook'.
 +Put your function on `window-size-change-functions' instead.
 +
 +\f
 +* Lisp Changes in Emacs 25.2
 +
 +** New var syntax-ppss-table to control the syntax-table used in syntax-ppss
 +
 +** Autoload files can be generated without timestamps,
 +by setting `autoload-timestamps' to nil.
 +FIXME As an experiment, nil is the current default.
 +If no insurmountable problems before next release, it can stay that way.
 +
 +** `ert-with-function-mocked' of 'ert-x package allows mocking of functions
 +in unit tests.
 +
 ++++
 +** New functions `window-pixel-width-before-size-change' and
 +`window-pixel-height-before-size-change' allow to detect which window
 +changed size when `window-size-change-functions' are run.
 +
 +\f
 +* Changes in Emacs 25.2 on Non-Free Operating Systems
 +
 +** Intercepting hotkeys on Windows 7 and later now works better.
 +The new keyboard hooking code properly grabs system hotkeys such as
 +Win-* and Alt-TAB, in a way that Emacs can get at them before the
 +system.  This makes the `w32-register-hot-key' functionality work
 +again on all versions of MS-Windows starting with Windows 7.  On
 +Windows NT and later you can now register any hotkey combination.  (On
 +Windows 9X, the previous limitations, spelled out in the Emacs manual,
 +still apply.)
 +
  \f
  * Installation Changes in Emacs 25.1
  
@@@ -312,33 -180,17 +312,33 @@@ change in future releases.  For that re
  by default, and must be enabled by using the `--with-modules' option
  at configure time.
  
 ++++
 +** A second dir-local file (.dir-locals-2.el) is now accepted.
 +See the variable `dir-locals-file-2' for more information.
 +
  +++
  ** Network security (TLS/SSL certificate validity and the like) is
  added via the new Network Security Manager (NSM) and controlled via
  the `network-security-level' variable.
  
 +---
 +** International domain names (IDNA) are now encoded via the new
 +puny.el library, so that one can visit web sites like
 +"http://méxico.icom.museum".
 +
  +++
  ** C-h l now also lists the commands that were run.
  
 +** The new M-s M-w key binding uses eww to search the web for the
 +text in the region.
 +
  +++
 -** x-select-enable-clipboard is renamed select-enable-clipboard
 -and x-select-enable-primary is renamed select-enable-primary.
 +** The new `timer-list' command lists all active timers in a buffer
 +where you can cancel them with the `c' command.
 +
 +** M-x suggests shorthands and ignores obsolete commands for completion.
 +** x-select-enable-clipboard is renamed select-enable-clipboard.
 +x-select-enable-primary and renamed select-enable-primary.
  Additionally they both now apply to all systems (OSX, GNUstep, Windows, you
  name it), with the proviso that on some systems (e.g. Windows)
  select-enable-primary is ineffective since the system doesn't
@@@ -353,10 -205,6 +353,10 @@@ selected window is strongly dedicated t
  ** The option `even-window-heights' has been renamed to
  `even-window-sizes' and now handles window widths as well.
  
 ++++
 +** New function `read-multiple-choice' use to prompt for
 +multiple-choice questions, with a handy way to display help texts.
 +
  +++
  ** terpri gets an optional arg ENSURE to conditionally output a newline.
  
@@@ -379,6 -227,14 +379,6 @@@ for use in Emacs bug reports
  hiding character but the default `.' can be used by let-binding the
  variable `read-hide-char'.
  
 -+++
 -** The Emacs pseudo-random number generator can be securely seeded.
 -On system where Emacs can access the system entropy or some other
 -cryptographically secure random stream, it now uses that when `random'
 -is called with its argument `t'.  This allows cryptographically strong
 -random values; in particular, the Emacs server now uses this facility
 -to produce its authentication key.
 -
  ---
  ** New input methods: `tamil-dvorak' and `programmer-dvorak'.
  
@@@ -470,11 -326,6 +470,11 @@@ is intended for adding to 'kill-emacs-q
  in favor of the global `M-s h' bindings introduced in Emacs-23.1.
  They'll disappear soon.
  
 ++++
 +** New bindings for 'query-replace-map'.
 +`undo', undo the last replacement; bound to `u'.
 +`undo-all', undo all replacements; bound to `U'.
 +
  \f
  * Changes in Specialized Modes and Packages in Emacs 25.1
  
@@@ -588,7 -439,13 +588,13 @@@ additionally need to add `getSelection
  *** `xterm-mouse-mode' now supports mouse-tracking (if your xterm supports it).
  
  ---
- ** The `save-place' variable is replaced by `save-place-mode'.
+ ** To turn on `save-place' mode globally, you must call `(save-place-mode 1)'.
+ In order to have the last place in every file saved it is no longer
+ sufficient to load the saveplace library and set the default value of
+ `save-place' to non-nil.  You must explicitly call the function
+ `save-place-mode' with a positive argument instead.  The `save-place'
+ variable is now an obsolete alias for `save-place-mode', which
+ replaces it.
  
  ** ERC
  
  `erc-network-hide-list' and `erc-channel-hide-list' will only hide the
  specified message types for the respective specified targets.
  
 +*** New variable `erc-default-port-tls' used to connect to TLS IRC
 +servers.
 +
  ---
  *** Reconnection is now asynchronous.
  
@@@ -702,6 -556,11 +708,11 @@@ dependencies).  This variable can also 
  *** New command `package-install-selected-packages' installs all
  packages from `package-selected-packages' which are currently missing.
  
+ ---
+ *** `package-install' function now takes a DONT-SELECT argument.  If
+ this function is called interactively or if DONT-SELECT is nil, add the
+ package being installed to `package-selected-packages'.
  ---
  *** New command `package-autoremove' removes all packages which were
  installed strictly as dependencies but are no longer needed.
@@@ -844,23 -703,11 +855,23 @@@ useful when, for example, one needs to 
  whether to use variable-pitch fonts or not.  The user can also
  customize the `shr-use-fonts' variable.
  
 ++++
 +*** A new command `C' (`eww-toggle-colors') can be used to toggle
 +whether to use the HTML-specified colors or not.  The user can also
 +customize the `shr-use-colors' variable.
 +
  +++
  *** A new command `R' (`eww-readable') will try do identify the main
  textual parts of a web page and display only that, leaving menus and
  the like off the page.
  
 +---
 +*** Images that are being loaded are now marked with grey
 +"placeholder" images of the size specified by the HTML.  They are then
 +replaced by the real images asynchronously, which will also now
 +respect width/height HTML specs (unless they specify widths/heights
 +bigger than the current window).
 +
  ---
  *** You can now use several eww buffers in parallel by renaming eww
  buffers you want to keep separate.
@@@ -900,17 -747,6 +911,17 @@@ invalid certificates are marked in red
  *** text/html messages that contain inline image parts will be
  transformed into multipart/related messages before sending.
  
 +---
 +*** The `message-valid-fqdn-regexp' variable has been removed, since
 +there are now top-level domains added all the time.  Message will no
 +longer warn about sending emails to top-level domains it hasn't heard
 +about.
 +
 +*** `message-beginning-of-line' (bound to C-a) understands folded headers.
 +In `visual-line-mode' it will look for the true beginning of a header
 +while in non-`visual-line-mode' it will move the point to the indented
 +header’s value.
 +
  +++
  ** In Show Paren Mode, a parenthesis can be highlighted when point
  stands inside it, and certain parens can be highlighted when point is
@@@ -922,30 -758,6 +933,30 @@@ respectively, `show-paren-when-point-in
  ** If gpg2 exists on the system, it is now used as the default value
  of `epg-gpg-program' (instead of gpg).
  
 +** Images
 +
 ++++
 +*** Images are automatically scaled before displaying based on the
 +`image-scaling-factor' variable (if Emacs supports scaling the images
 +in question).
 +
 ++++
 +*** Images inserted with `insert-image' and related functions get a
 +keymap put into the text properties (or overlays) that span the
 +image.  This keymap binds keystrokes for manipulating size and
 +rotation, as well as saving the image to a file.  These commands are
 +also available in `image-mode'.
 +
 ++++
 +*** A new library for creating and manipulating SVG images has been
 +added.  See the "SVG Images" section in the lispref manual for
 +details.
 +
 ++++
 +*** New setf-able function to access and set image parameters is
 +provided: `image-property'.
 +
 +
  ** Lisp mode
  
  ---
@@@ -1033,8 -845,6 +1044,8 @@@ to produce a neat summary
  
  ---
  ** New js.el option `js-indent-first-init'.
 +It was renamed from `js-indent-first-initialiser', to avoid issues
 +with American vs British spelling.
  
  ** Info
  
@@@ -1112,20 -922,11 +1123,20 @@@ a function
  to specify that we're running in a noninteractive context, and that
  we should not be queried about things like TLS certificate validity.
  
 +---
 +*** `url-mime-accept-string' can now be used as in "interface"
 +variable, meaning you can bind it around an `url-retrieve' call.
 +
  ---
  *** If URL is used with a https connection, the first callback argument
  plist will contain a :peer element that has the output of
  `gnutls-peer-status' (if Emacs is built with GnuTLS support).
  
 ++++
 +*** The new function `url-cookie-delete-cookie' can be used to
 +programmatically delete all cookies, or cookies from a specific
 +domain.
 +
  ** Tramp
  
  +++
@@@ -1175,11 -976,6 +1186,11 @@@ This command is useful when you perfor
  outside Emacs (e.g., from the shell prompt), or if you switch the VC
  back-end for the buffer's file, or remove it from version control.
  
 +---
 +*** The VC state indicator in the mode line now defaults to more
 +colorful faces to make it more obvious to the user what the state is.
 +See the `vc-faces' customization group.
 +
  +++
  *** New option `vc-annotate-background-mode' controls whether
  the color range from `vc-annotate-color-map' is applied to the
@@@ -1451,15 -1247,6 +1462,15 @@@ compression command is determined from 
  `dired-compress-files-alist' variable.
  
  +++
 +*** In wdired, when editing files to contain slash characters,
 +the resulting directories are automatically created.  Whether
 +to do this or not is controlled by the
 +`wdired-create-parent-directories' variable.
 +
 ++++
 +*** `W' is now bound to `browse-url-of-dired-file', and is useful for
 +viewing HTML files and the like.
 +
  *** New user interface for the `A' and `Q' commands.
  These keys, now bound to `dired-do-find-regexp' and
  `dired-do-find-regexp-and-replace', work similarly to `xref-find-apropos'
@@@ -1556,6 -1343,14 +1567,6 @@@ eliminated
  Removed font-lock-beginning-of-syntax-function and the SYNTAX-BEGIN
  slot in font-lock-defaults.
  
 -+++
 -** The new implementation of Subword mode affects word movement everywhere.
 -When Subword mode is turned on, `forward-word', `backward-word', and
 -everything that uses them will move by sub-words, effectively
 -overriding the buffer's syntax table.  Lisp programs that shouldn't be
 -affected by Subword mode should call the new functions
 -`forward-word-strictly' and `backward-word-strictly' instead.
 -
  +++
  ** `package-initialize' now sets `package-enable-at-startup' to nil if
  called during startup.  Users who call this function in their init
@@@ -1594,14 -1389,6 +1605,14 @@@ symbol-function was changed not to sign
  ** Comint, term, and compile do not set the EMACS env var any more.
  Use the INSIDE_EMACS environment variable instead.
  
 +** `C-up', `C-down', `C-left' and `C-right' are now defined in term
 +mode to send the same escape sequences that xterm does.  This makes
 +things like forward-word in readline work.
 +
 +---
 +** hideshow mode got four key bindings that are analogous to outline
 +mode bindings: `C-c @ C-a',  `C-c @ C-t',  `C-c @ C-d', and `C-c @ C-e.'
 +
  +++
  ** `save-excursion' does not save&restore the mark any more.
  Use `save-mark-and-excursion' if you want the old behavior.
@@@ -1696,10 -1483,6 +1707,10 @@@ behavior, set `diff-switches' to `-c'
  dynamically.  Any third-party code that changes these templates should
  be updated accordingly.
  
 +** The grep/rgrep/lgrep functions will now ask about saving files
 +before running.  This is controlled by the `grep-save-buffers'
 +variable.
 +
  +++
  ** ‘(/ N)’ is now equivalent to ‘(/ 1 N)’ rather than to ‘(/ N 1)’.
  The new behavior is compatible with Common Lisp and with XEmacs.
@@@ -1805,10 -1588,6 +1816,10 @@@ details
  It should be placed right where the docstring would be, and FORM is then
  evaluated (and should return a string) when the closure is built.
  
 +---
 +** The new command `fortune-message' has been added, which displays
 +fortunes in the echo area.
 +
  +++
  ** define-inline provides a new way to define inlinable functions.
  
@@@ -1835,12 -1614,6 +1846,12 @@@ environment.  For the time being this i
  systems and for MS-Windows, for other systems they fall back to their
  counterparts `string-lessp' and `string-equal'.
  
 ++++
 +** The new function `string-version-lessp' compares strings by
 +interpreting consecutive runs of numerical characters as numbers, and
 +compares their numerical values.  According to this predicate,
 +"foo2.png" is smaller than "foo12.png".
 +
  ---
  *** The ls-lisp package uses `string-collate-lessp' to sort file names.
  The effect is that, on systems that use ls-lisp for Dired, the default
@@@ -2030,14 -1803,6 +2041,14 @@@ coding-system of your choice when invok
  ** New possible value for `system-type': `nacl'.
  This is used by Google's Native Client (NaCl).
  
 +---
 +** `read-color' will now display the color names using the color itself
 +as the background color.
 +
 +---
 +** There is now a new variable `flyspell-sort-corrections-function'
 +that allows changing the way corrections are sorted.
 +
  ** Miscellaneous name change
  
  ---
diff --combined src/dispnew.c
index fe07f793cb5d39cb0e7f11f018a4afb278f341d7,f96db302781bba543bb451f0d070d1d3b1a9cb6f..b05356a3b64e2a181a6ace6fb62527bd363c84ae
@@@ -321,7 -321,9 +321,7 @@@ margin_glyphs_to_reserve (struct windo
        int width = w->total_cols;
        double d = max (0, margin);
        d = min (width / 2 - 1, d);
 -      /* Since MARGIN is positive, we cannot possibly have less than
 -       one glyph for the marginal area.  */
 -      return max (1, (int) ((double) total_glyphs / width * d));
 +      return (int) ((double) total_glyphs / width * d);
      }
    return 0;
  }
@@@ -681,7 -683,7 +681,7 @@@ voi
  clear_glyph_matrix_rows (struct glyph_matrix *matrix, int start, int end)
  {
    eassert (start <= end);
-   eassert (start >= 0 && start < matrix->nrows);
+   eassert (start >= 0 && start <= matrix->nrows);
    eassert (end >= 0 && end <= matrix->nrows);
  
    for (; start < end; ++start)
diff --combined src/frame.c
index df473aebc213134fbe93b56955edb54cb59edcfe,4f61332ace1f2a000cabdd18c1dfc018acc40d54..fd9f3ce0203a9f703ae813ff35a5f4f33f2af04d
@@@ -591,6 -591,8 +591,6 @@@ adjust_frame_size (struct frame *f, in
                  || new_pixel_height != old_pixel_height);
  
    unblock_input ();
 -
 -  run_window_configuration_change_hook (f);
  }
  
  /* Allocate basically initialized frame.  */
@@@ -865,6 -867,9 +865,9 @@@ make_initial_frame (void
    /* The default value of menu-bar-mode is t.  */
    set_menu_bar_lines (f, make_number (1), Qnil);
  
+   /* Allocate glyph matrices.  */
+   adjust_frame_glyphs (f);
    if (!noninteractive)
      init_frame_faces (f);