mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 04:10:54 -08:00
Merge from origin/emacs-27
5d46593568Support build of Emacs on ARM Macos machines7f8793e5f1Update to Org 9.4.47b3367a0b5* lisp/so-long.el: Decrease use of passive voice.a90836c638* doc/misc/efaq.texi (New in Emacs 27): Add section.711fe70dd8* doc/misc/efaq.texi (Latest version of Emacs): Bump version.52b30834fb* lisp/face-remap.el (face-remap-set-base): Doc fix. (Bug...b3fe0ac62eCorrect argument order in comment
This commit is contained in:
commit
2e20749e57
8 changed files with 94 additions and 39 deletions
|
|
@ -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::
|
||||
|
|
@ -951,7 +952,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}.
|
||||
|
|
@ -970,6 +971,63 @@ Emacs, type @kbd{C-h C-n} (@kbd{M-x view-emacs-news}). 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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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)))
|
||||
|
|
|
|||
|
|
@ -10752,8 +10752,4 @@ when defining today."
|
|||
|
||||
(provide 'org-agenda)
|
||||
|
||||
;; Local variables:
|
||||
;; generated-autoload-file: "org-loaddefs.el"
|
||||
;; End:
|
||||
|
||||
;;; org-agenda.el ends here
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"))
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue