From a541c21e864112267126b1388d4d8553ec294b00 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 5 Feb 2017 21:50:49 +0200 Subject: [PATCH 01/14] Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos' * doc/lispref/nonascii.texi (Text Representations): Clarify that 'exact' value of QUALITY argument to 'bufferpos-to-filepos' and 'filepos-to-bufferpos' can lead to expensive and slow processing. * lisp/international/mule-util.el (filepos-to-bufferpos) (bufferpos-to-filepos): Doc fix. (Bug#25626) --- doc/lispref/nonascii.texi | 2 +- lisp/international/mule-util.el | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index e3cb5d0d369..2c3e6ef2c60 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -142,7 +142,7 @@ be one of the following: @table @code @item exact The result must be accurate. The function may need to encode and -decode a large part of the buffer. +decode a large part of the buffer, which is expensive and can be slow. @item approximate The value can be an approximation. The function may avoid expensive processing and return an inexact result. diff --git a/lisp/international/mule-util.el b/lisp/international/mule-util.el index 06b63eae370..7657e40eed8 100644 --- a/lisp/international/mule-util.el +++ b/lisp/international/mule-util.el @@ -352,7 +352,7 @@ QUALITY can be: `approximate', in which case we may cut some corners to avoid excessive work. `exact', in which case we may end up re-(en/de)coding a large - part of the file/buffer. + part of the file/buffer, this can be expensive and slow. nil, in which case we may return nil rather than an approximation." (unless coding-system (setq coding-system buffer-file-coding-system)) (let ((eol (coding-system-eol-type coding-system)) @@ -428,7 +428,7 @@ QUALITY can be: `approximate', in which case we may cut some corners to avoid excessive work. `exact', in which case we may end up re-(en/de)coding a large - part of the file/buffer. + part of the file/buffer, this can be expensive and slow. nil, in which case we may return nil rather than an approximation." (unless coding-system (setq coding-system buffer-file-coding-system)) (let* ((eol (coding-system-eol-type coding-system)) From 00e75bab624bb00e1c72f354474df23423d528c4 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 5 Feb 2017 21:55:21 +0200 Subject: [PATCH 02/14] ; * src/coding.c (Fencode_coding_region): Fix a typo in the doc string. --- src/coding.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/coding.c b/src/coding.c index 6d8e1998dc0..55eb2ab97c2 100644 --- a/src/coding.c +++ b/src/coding.c @@ -9391,8 +9391,8 @@ When called from a program, takes four arguments: START, END, CODING-SYSTEM and DESTINATION. START and END are buffer positions. -Optional 4th arguments DESTINATION specifies where the encoded text goes. -If nil, the region between START and END is replace by the encoded text. +Optional 4th argument DESTINATION specifies where the encoded text goes. +If nil, the region between START and END is replaced by the encoded text. If buffer, the encoded text is inserted in that buffer after point (point does not move). In those cases, the length of the encoded text is returned. From 38fc456d27973843685a1e51ea992641303e2145 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 7 Feb 2017 18:29:02 +0200 Subject: [PATCH 03/14] Fix a typo in ada-mode manual * doc/misc/ada-mode.texi (Project file variables): Add a missing right bracket. Reported by Jean-Christophe Helary . --- doc/misc/ada-mode.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index 127a009417e..2ea4c7f36b2 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi @@ -540,7 +540,7 @@ Lisp variable: @code{ada-prj-default-bind-opt}. @item @code{build_dir} [default: @code{"."}] The compile commands will be issued in this directory. -@item @code{casing} [default: @code{("~/.emacs_case_exceptions")} +@item @code{casing} [default: @code{("~/.emacs_case_exceptions")}] List of files containing casing exceptions. See the help on @code{ada-case-exception-file} for more info. @c FIXME: section on case exceptions From 0ba9932d1446e91fcc96f1d3303fac5ca5029d71 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Tue, 7 Feb 2017 21:13:17 -0500 Subject: [PATCH 04/14] Disable native completion for ipython (Bug#25067) * lisp/progmodes/python.el: (python-shell-completion-native-disabled-interpreters): Add "ipython". --- lisp/progmodes/python.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 306402d8e3b..2e08ab4f15c 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -3255,8 +3255,10 @@ the full statement in the case of imports." "Completion string code must work for (i)pdb.") (defcustom python-shell-completion-native-disabled-interpreters - ;; PyPy's readline cannot handle some escape sequences yet. - (list "pypy") + ;; PyPy's readline cannot handle some escape sequences yet. Native + ;; completion was found to be non-functional for IPython (see + ;; Bug#25067). + (list "pypy" "ipython") "List of disabled interpreters. When a match is found, native completion is disabled." :version "25.1" From 8b92f8672b5ed6fe38d10654962aa373e8e7bda8 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 8 Feb 2017 12:48:34 -0500 Subject: [PATCH 05/14] ; * admin/make-tarball.txt: Cross-reference admin/release-process. --- admin/make-tarball.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt index 01dd63c9ddd..03d7adad0b0 100644 --- a/admin/make-tarball.txt +++ b/admin/make-tarball.txt @@ -55,9 +55,12 @@ General steps (for each step, check for possible errors): M-x set-version RET). For a pretest, start at version .90. After .99, use .990 (so that it sorts). - The final pretest should be a release candidate. Set the version - number to that of the actual release. Pick a date about a week - from now when you intend to make the release. Use M-x + The final pretest should be a release candidate. + Before a release candidate is made, the tasks listed in + admin/release-process must be completed. + + Set the version number to that of the actual release. Pick a date + about a week from now when you intend to make the release. Use M-x add-release-logs to add entries to etc/HISTORY and the ChangeLog file. It's best not to commit these files until the release is actually made. Merge the entries from (unversioned) ChangeLog From c54cf8dcfd016783bc4881eb218d7b556020a18c Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 10 Feb 2017 12:12:49 +0200 Subject: [PATCH 06/14] Improve commentary in lisp.h * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc object is discouraged. --- src/lisp.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lisp.h b/src/lisp.h index b410ee45aed..5aee80cea11 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -511,10 +511,14 @@ enum Lisp_Fwd_Type to add a new Lisp_Misc, extend the Lisp_Misc_Type enumeration. For a Lisp_Misc, you will also need to add your entry to union - Lisp_Misc (but make sure the first word has the same structure as + Lisp_Misc, but make sure the first word has the same structure as the others, starting with a 16-bit member of the Lisp_Misc_Type - enumeration and a 1-bit GC markbit) and make sure the overall size - of the union is not increased by your addition. + enumeration and a 1-bit GC markbit. Also make sure the overall + size of the union is not increased by your addition. The latter + requirement is to keep Lisp_Misc objects small enough, so they + are handled faster: since all Lisp_Misc types use the same space, + enlarging any of them will affect all the rest. If you really + need a larger object, it is best to use Lisp_Vectorlike instead. For a new pseudovector, it's highly desirable to limit the size of your data type by VBLOCK_BYTES_MAX bytes (defined in alloc.c). From 3f7493e27c57bec21806c579cdb6e419b9102bed Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Fri, 10 Feb 2017 20:05:11 +0900 Subject: [PATCH 07/14] ; Fix a typo in comment * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge): Fix a typo in comment. --- lisp/vc/ediff-wind.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/vc/ediff-wind.el b/lisp/vc/ediff-wind.el index cd10288643d..eb76988293f 100644 --- a/lisp/vc/ediff-wind.el +++ b/lisp/vc/ediff-wind.el @@ -556,7 +556,7 @@ into icons, regardless of the window manager." (if (and (window-live-p wind-A) (null use-same-frame) ; implies wind-A is suitable (null use-same-frame-for-AB)) - (progn ; bug A on its own + (progn ; buf A on its own ;; buffer buf-A is seen in live wind-A (select-window wind-A) (delete-other-windows) From 8303c326d7532aba321de0158de997a6a20d848e Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 11 Feb 2017 17:19:59 -0800 Subject: [PATCH 08/14] ; * etc/NEWS: Copyedits. --- etc/NEWS | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 58ac617a790..539e56e42a0 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -17,45 +17,37 @@ with a prefix argument or by typing C-u C-h C-n. * Changes in Emacs 25.2 -This is a bug-fix release with (almost) no new features. ---- +This is mainly a bug-fix release, but there are some other changes. + ** 'find-library', 'help-function-def' and 'help-variable-def' now run 'find-function-after-hook'. -+++ ** New basic face 'fixed-pitch-serif', for a fixed-width font with serifs. -The 'Info-quoted' and 'tex-verbatim' faces now default to inheriting -from it. +The 'Info-quoted' and 'tex-verbatim' faces inherit from it by default. ---- -** New variable 'use-default-font-for-symbols' for backward compatibility. -This variable allows to get back pre-Emacs 25 behavior whereby the +** New variable 'use-default-font-for-symbols', for backward compatibility. +This variable allows you to get back pre-Emacs 25 behavior where the font for displaying symbol and punctuation characters was always -selected according to your fontset setup. Emacs 25 by default tries -to use the default face's font for such characters, disregarding the -fontsets if the default font supports these characters. Set this -variable to nil to disable the new behavior and get back the old -behavior. +selected according to your fontset setup. By default, Emacs 25 tries +to use the default face's font for such characters, if it supports +them, disregarding the fontsets. Set this variable to nil to disable +this and get back the old behavior. -+++ ** 'electric-quote-mode' is no longer suppressed in a buffer whose -whose coding system cannot represent curved quote characters. +coding system cannot represent curved quote characters. Instead, users can deal with the unrepresentable characters in the usual way when they save the buffer. ---- ** New variable 'inhibit-compacting-font-caches'. Set this variable to a non-nil value to speed up display of characters -using large fonts, at the price of a larger memory footprint of the -Emacs session. +using large fonts, at the price of a larger memory footprint. -+++ ** The version number of CC Mode has been changed from 5.33 to 5.32.99, although the software itself hasn't changed. This aims to reduce confusion with the standalone CC Mode 5.33 (available from http://cc-mode.sourceforge.net), which is a more mature version than -the one in Emacs 25.2. +the one included in Emacs 25.2. * Installation Changes in Emacs 25.1 From 4c51ef4e803f9e956b2a1c1dc78ed50087c9507e Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 12 Feb 2017 17:56:14 +0200 Subject: [PATCH 09/14] Clarify what is the "cursor" * doc/lispref/windows.texi (Window Point): Clarify the notion of "cursor". --- doc/lispref/windows.texi | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index d03e07e0a1f..290fb98dcf8 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi @@ -3062,9 +3062,13 @@ point and the buffer's point always move together; they remain equal. @end itemize @cindex cursor - As far as the user is concerned, point is where the cursor is, and -when the user switches to another buffer, the cursor jumps to the -position of point in that buffer. + Emacs displays the cursor, by default as a rectangular block, in +each window at the position of that window's point. When the user +switches to another buffer in a window, Emacs moves that window's +cursor to where point is in that buffer. If the exact position of +point is hidden behind some display element, such as a display string +or an image, Emacs displays the cursor immediately before or after +that display element. @defun window-point &optional window This function returns the current position of point in @var{window}. From 5c3105e55bd28f2d4786b798a11566f6876c237a Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 13 Feb 2017 02:29:01 -0500 Subject: [PATCH 10/14] * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic --- doc/lispref/modes.texi | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 0015a9f318d..132dda3fc60 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -806,14 +806,15 @@ this mode. (Not all major modes have one.) The command Here is a hypothetical example: @example +(defvar hypertext-mode-map + (let ((map (make-sparse-keymap))) + (define-key map [down-mouse-3] 'do-hyper-link) + map)) + (define-derived-mode hypertext-mode text-mode "Hypertext" - "Major mode for hypertext. -\\@{hypertext-mode-map@}" - (setq case-fold-search nil)) - -(define-key hypertext-mode-map - [down-mouse-3] 'do-hyper-link) + "Major mode for hypertext." + (setq-local case-fold-search nil)) @end example Do not write an @code{interactive} spec in the definition; From 2fdb5a90bb80d527496ec873ec8ab3b229bd2035 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 18 Feb 2017 12:25:38 +0200 Subject: [PATCH 11/14] ; Details about pinning Emacs to w32 task bar * nt/README.W32: Describe how to set up the pinned task-bar shortcut for Emacs. (Bug#8268) --- nt/README.W32 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nt/README.W32 b/nt/README.W32 index bdd8bd4cb9f..7f929384ade 100644 --- a/nt/README.W32 +++ b/nt/README.W32 @@ -105,7 +105,9 @@ See the end of the file for license conditions. + runemacs.exe - A wrapper for running Emacs as a GUI application without popping up a command prompt window. If you create a desktop shortcut for invoking Emacs, make it point to this - executable, not to emacs.exe. + executable, not to emacs.exe. If you pin Emacs to the task bar, + edit the properties of the pinned shortcut (with Shift-right mouse + click) to point to this executable. + emacsclient.exe - A command-line client program that can communicate with a running Emacs process. See the `Emacs Server' From ae60d0c051eab38d3f1f51a0570c31e914066c25 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 18 Feb 2017 12:36:43 +0200 Subject: [PATCH 12/14] Document problems with nerd-fonts * etc/PROBLEMS (fonts): Describe the potential problems with nerd-fonts that cause slow display. (Bug#25697) --- etc/PROBLEMS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/PROBLEMS b/etc/PROBLEMS index be15afaa7cb..bb7e1b6f9c3 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS @@ -771,6 +771,10 @@ The solution is to install the appropriate fonts on your machine. For instance if you are editing a text with a lot of math symbols, then installing a font like 'Symbola' should solve this problem. +Another reason for slow display is reportedly the nerd-fonts +installation, even when Symbola is installed as well. Uninstalling +nerd-fonts was reported to solve the problem in that case. + * Internationalization problems ** M-{ does not work on a Spanish PC keyboard. From 2b774fa873e2e16bf12c6aa4298588b3c8527d9d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 18 Feb 2017 13:32:45 +0200 Subject: [PATCH 13/14] Mention "editor" in Emacs man page header * doc/man/emacs.1.in: Mention "editor" in the header line. (Bug#25771, Bug#25779) --- doc/man/emacs.1.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/man/emacs.1.in b/doc/man/emacs.1.in index 5f1976a3c38..3637174d244 100644 --- a/doc/man/emacs.1.in +++ b/doc/man/emacs.1.in @@ -3,7 +3,7 @@ . . .SH NAME -emacs \- GNU project Emacs +emacs \- GNU project Emacs editor . . .SH SYNOPSIS From ec4226d81074751c105264a3a3383c48d0a05e41 Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sat, 18 Feb 2017 13:34:37 -0500 Subject: [PATCH 14/14] * lisp/woman.el (woman): Fix docstring prefix arg description. --- lisp/woman.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/woman.el b/lisp/woman.el index 546a955dbe4..894710f8df0 100644 --- a/lisp/woman.el +++ b/lisp/woman.el @@ -1165,7 +1165,7 @@ The major browsing mode used is essentially the standard Man mode. Choose the filename for the man page using completion, based on the topic selected from the directories specified in `woman-manpath' and `woman-path'. The directory expansions and topics are cached for -speed, but a non-nil interactive argument forces the caches to be +speed. With a prefix argument, force the caches to be updated (e.g. to re-interpret the current directory). Used non-interactively, arguments are optional: if given then TOPIC