From b3fe0ac62e97ea2e05fc2767989dbd7e83bc0e5c Mon Sep 17 00:00:00 2001 From: Vasilij Schneidermann Date: Sat, 19 Dec 2020 17:57:50 +0100 Subject: [PATCH 1/7] Correct argument order in comment * etc/ETAGS.EBNF (position): Correct comment. --- etc/ETAGS.EBNF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/ETAGS.EBNF b/etc/ETAGS.EBNF index 80deb162186..04db4e3dc8a 100644 --- a/etc/ETAGS.EBNF +++ b/etc/ETAGS.EBNF @@ -52,7 +52,7 @@ pattern ::= regstring /* a tag pattern */ tagname ::= regchar regstring /* a tag name */ -position ::= realposition | "," /* charpos,linepos */ +position ::= realposition | "," /* linepos,charpos */ realposition ::= "," unsint | unsint "," | unsint "," unsint From 52b30834fb1cf7bb20ed08ec8dc7d2d9b8a770e6 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 19 Dec 2020 20:54:11 +0200 Subject: [PATCH 2/7] * lisp/face-remap.el (face-remap-set-base): Doc fix. (Bug#45264) --- lisp/face-remap.el | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lisp/face-remap.el b/lisp/face-remap.el index 028269a4b0c..cfda6428c3a 100644 --- a/lisp/face-remap.el +++ b/lisp/face-remap.el @@ -33,7 +33,7 @@ ;; ;; (face RELATIVE_SPECS_1 RELATIVE_SPECS_2 ... BASE_SPECS) ;; -;; The "specs" values are a lists of face names or face attribute-value +;; The "specs" values are lists of face names or face attribute-value ;; pairs, and are merged together, with earlier values taking precedence. ;; ;; The RELATIVE_SPECS_* values are added by `face-remap-add-relative' @@ -183,13 +183,13 @@ to apply on top of the normal definition of FACE." This causes the remappings specified by `face-remap-add-relative' to apply on top of the face specification given by SPECS. -The remaining arguments, SPECS, should form a list of faces. -Each list element should be either a face name or a property list +The remaining arguments, SPECS, specify the base of the remapping. +Each one of SPECS should be either a face name or a property list of face attribute/value pairs, like in a `face' text property. -If SPECS is empty, call `face-remap-reset-base' to use the normal -definition of FACE as the base remapping; note that this is -different from SPECS containing a single value nil, which means +If SPECS is empty or a single face `eq' to FACE, call `face-remap-reset-base' +to use the normal definition of FACE as the base remapping; note that +this is different from SPECS containing a single value nil, which means not to inherit from the global definition of FACE at all." (while (and (consp specs) (not (null (car specs))) (null (cdr specs))) (setq specs (car specs))) From 711fe70dd8bcee840ba9b91e85eac56b97850ada Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Mon, 21 Dec 2020 15:43:05 +0100 Subject: [PATCH 3/7] * doc/misc/efaq.texi (Latest version of Emacs): Bump version. --- doc/misc/efaq.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index f948a489f44..0fc91933f4b 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -951,7 +951,7 @@ conventions}). Emacs @value{EMACSVER} is the current version as of this writing. A version number with two components (e.g., @samp{24.5}) indicates a released version; three components indicate a development -version (e.g., @samp{27.0.50} is what will eventually become @samp{27.1}). +version (e.g., @samp{28.0.50} is what will eventually become @samp{28.1}). Emacs is under active development, hosted at @uref{https://savannah.gnu.org/projects/emacs/, Savannah}. From a90836c6386f6b35c0d36c720a529292090cf690 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Mon, 21 Dec 2020 15:57:30 +0100 Subject: [PATCH 4/7] * doc/misc/efaq.texi (New in Emacs 27): Add section. --- doc/misc/efaq.texi | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 0fc91933f4b..e9703e75197 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -901,6 +901,7 @@ status of its latest version. @menu * Origin of the term Emacs:: * Latest version of Emacs:: +* New in Emacs 27:: * New in Emacs 26:: * New in Emacs 25:: * New in Emacs 24:: @@ -970,6 +971,63 @@ Emacs, type @kbd{C-h C-n} (@kbd{M-x view-emacs-news}). As of Emacs 22, you can give this command a prefix argument to read about which features were new in older versions. +@node New in Emacs 27 +@section What is different about Emacs 27? +@cindex Differences between Emacs 26 and Emacs 27 +@cindex Emacs 27, new features in + +@itemize +@cindex bignum support +@item +Emacs now uses the GNU Multiple Precision (@acronym{GMP}) library to +support integers whose size is too large to support natively. The +integers supported natively are known as ``fixnums'', while the larger +ones are ``bignums''. All the arithmetic, comparison, and logical +(also known as ``bitwise'') operations where bignums make sense now +support both fixnums and bignums. + +@cindex HarfBuzz +@item +Emacs now uses HarfBuzz as its default shaping engine. + +@cindex JSON, native parsing +@item +Native support for @acronym{JSON} parsing that is much faster than +@file{json.el}. + +@item +Cairo drawing is no longer experimental. + +@cindex portable dumper +@item +Emacs now uses a ``portable dumper'' instead of unexec. This improves +compatibility with memory allocation on modern systems, and in +particular better supports the Address Space Layout Randomization +(@acronym{ASLR}) feature, a security technique used by most modern +operating systems. + +@cindex XDG convention +@item +Emacs can now use the @acronym{XDG} convention for init files. + +@cindex early init file +@item +Emacs can now be configured using an early init file. The primary +purpose is to allow customizing how the package system is initialized +given that initialization now happens before loading the regular init +file. + +@cindex tabs +@item +Built-in support for tabs (tab bar and tab line). + +@item +Support for resizing and rotating of images without ImageMagick. +@end itemize + +Consult the Emacs @file{NEWS} file (@kbd{C-h n}) for the full list of +changes in Emacs 27. + @node New in Emacs 26 @section What is different about Emacs 26? @cindex Differences between Emacs 25 and Emacs 26 From 7b3367a0b5727170a7b3f1aca022b992174cd426 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Mon, 21 Dec 2020 18:44:40 +0100 Subject: [PATCH 5/7] * lisp/so-long.el: Decrease use of passive voice. Suggested by Richard Stallman . --- lisp/so-long.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lisp/so-long.el b/lisp/so-long.el index c800c7a1430..ad0f6e2add0 100644 --- a/lisp/so-long.el +++ b/lisp/so-long.el @@ -41,9 +41,9 @@ ;; simply aren't optimised (remotely) for this scenario, so performance can ;; suffer significantly. ;; -;; When such files are detected, the command `so-long' is automatically called, -;; overriding certain minor modes and variables with performance implications -;; (all configurable), in order to enhance performance in the buffer. +;; When so-long detects such a file, it calls the command `so-long', which +;; overrides certain minor modes and variables (you can configure the details) +;; to improve performance in the buffer. ;; ;; The default action enables the major mode `so-long-mode' in place of the mode ;; that Emacs selected. This ensures that the original major mode cannot affect From 7f8793e5f1c69cf9311479e69d18a62ae87e35ce Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Tue, 22 Dec 2020 10:29:37 +0100 Subject: [PATCH 6/7] Update to Org 9.4.4 --- lisp/org/org-agenda.el | 4 ---- lisp/org/org-capture.el | 4 ---- lisp/org/org-macs.el | 41 +++++++++++++++++++++++------------------ lisp/org/org-version.el | 4 ++-- 4 files changed, 25 insertions(+), 28 deletions(-) diff --git a/lisp/org/org-agenda.el b/lisp/org/org-agenda.el index 83f30bf96af..2da6451523e 100644 --- a/lisp/org/org-agenda.el +++ b/lisp/org/org-agenda.el @@ -10751,8 +10751,4 @@ when defining today." (provide 'org-agenda) -;; Local variables: -;; generated-autoload-file: "org-loaddefs.el" -;; End: - ;;; org-agenda.el ends here diff --git a/lisp/org/org-capture.el b/lisp/org/org-capture.el index a9a1181935c..d3dc0ab3e75 100644 --- a/lisp/org/org-capture.el +++ b/lisp/org/org-capture.el @@ -1947,8 +1947,4 @@ Assume sexps have been marked with (provide 'org-capture) -;; Local variables: -;; generated-autoload-file: "org-loaddefs.el" -;; End: - ;;; org-capture.el ends here diff --git a/lisp/org/org-macs.el b/lisp/org/org-macs.el index 506fba8aaf5..d397e3ed05b 100644 --- a/lisp/org/org-macs.el +++ b/lisp/org/org-macs.el @@ -377,18 +377,25 @@ error when the user input is empty." 'org-time-stamp-inactive) (apply #'completing-read args))) -(defun org--mks-read-key (allowed-keys prompt) +(defun org--mks-read-key (allowed-keys prompt navigation-keys) "Read a key and ensure it is a member of ALLOWED-KEYS. +Enable keys to scroll the window if NAVIGATION-KEYS is set. TAB, SPC and RET are treated equivalently." - (let* ((key (char-to-string - (pcase (read-char-exclusive prompt) - ((or ?\s ?\t ?\r) ?\t) - (char char))))) - (if (member key allowed-keys) - key - (message "Invalid key: `%s'" key) - (sit-for 1) - (org--mks-read-key allowed-keys prompt)))) + (setq header-line-format (when navigation-keys "Use C-n, C-p, C-v, M-v to navigate.")) + (let ((char-key (read-char-exclusive prompt))) + (if (and navigation-keys (memq char-key '(14 16 22 134217846))) + (progn + (org-scroll char-key) + (org--mks-read-key allowed-keys prompt navigation-keys)) + (let ((key (char-to-string + (pcase char-key + ((or ?\s ?\t ?\r) ?\t) + (char char))))) + (if (member key allowed-keys) + key + (message "Invalid key: `%s'" key) + (sit-for 1) + (org--mks-read-key allowed-keys prompt navigation-keys)))))) (defun org-mks (table title &optional prompt specials) "Select a member of an alist with multiple keys. @@ -461,15 +468,13 @@ is selected, only the bare key is returned." ;; Display UI and let user select an entry or ;; a sub-level prefix. (goto-char (point-min)) - (setq header-line-format nil) (org-fit-window-to-buffer) - (unless (pos-visible-in-window-p (1- (point-max))) - (setq header-line-format "Use C-n, C-p or C-v to navigate.") - (setq allowed-keys (append allowed-keys '("\C-n" "\C-p" "\C-v")))) - (let ((pressed (org--mks-read-key allowed-keys prompt))) - (while (and (member pressed '("\C-n" "\C-p" "\C-v"))) - (org-scroll (string-to-char pressed)) - (setq pressed (org--mks-read-key allowed-keys prompt))) + (message "") ; With this line the prompt appears in + ; the minibuffer. Else keystrokes may + ; appear, which is spurious. + (let ((pressed (org--mks-read-key + allowed-keys prompt + (not (pos-visible-in-window-p (1- (point-max))))))) (setq current (concat current pressed)) (cond ((equal pressed "\C-g") (user-error "Abort")) diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el index 479ca460852..25b3354bdd7 100644 --- a/lisp/org/org-version.el +++ b/lisp/org/org-version.el @@ -5,13 +5,13 @@ (defun org-release () "The release version of Org. Inserted by installing Org mode or when a release is made." - (let ((org-release "9.4.3")) + (let ((org-release "9.4.4")) org-release)) ;;;###autoload (defun org-git-version () "The Git version of Org mode. Inserted by installing Org or when a release is made." - (let ((org-git-version "release_9.4.3")) + (let ((org-git-version "release_9.4.4")) org-git-version)) (provide 'org-version) From 5d46593568073b43fb0a901cbd7e019a1797cf93 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Mon, 14 Sep 2020 12:34:56 +0200 Subject: [PATCH 7/7] Support build of Emacs on ARM Macos machines * configure.ac: Add support for aarch64-* on Macos (i.e., 64-bit ARM) (bug#43369). --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index e93a3331b72..c683e31f688 100644 --- a/configure.ac +++ b/configure.ac @@ -703,7 +703,7 @@ case "${canonical}" in *-apple-darwin* ) case "${canonical}" in *-apple-darwin[0-9].*) unported=yes ;; - i[3456]86-* | x86_64-* ) ;; + i[3456]86-* | x86_64-* | arm-* | aarch64-* ) ;; * ) unported=yes ;; esac opsys=darwin