[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master a2684967270 3/3: Merge from savannah/emacs-30
From: |
Po Lu |
Subject: |
master a2684967270 3/3: Merge from savannah/emacs-30 |
Date: |
Tue, 20 Aug 2024 09:57:47 -0400 (EDT) |
branch: master
commit a2684967270387d2e7ec79de148f04b7f54f2260
Merge: e1ee82f7387 3419e7ea522
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Merge from savannah/emacs-30
3419e7ea522 Correct Android failure to open an old CJK font
45ae4de0e7c * lisp/help-fns.el (help-definition-prefixes): Don't dele...
fc7581ae2ee ; Fix documentation of secure-hash functions
21be5cadaf1 ; * lisp/subr.el (sha1): Fix typo in docstring.
8715619d485 ; * etc/NEWS: Fix wording of last change.
023d387a7bd Update to Org 9.7.10
b54e8b3741b ; * etc/NEWS: Announce 'shr-fill-text'.
acfd91bc0c7 ; * lisp/emacs-lisp/compat.el: Fix header style.
55337dc36a2 * test/infra/gitlab-ci.yml (.tree-sitter-template): Adapt...
d8e9eb73c2b Bump use-package version for Emacs 30.1
4d9d3fec1b9 * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump.
502285e84aa ; * admin/make-tarball.txt: Some clarifications.
---
Makefile.in | 2 +-
admin/make-tarball.txt | 13 ++++++++-----
doc/lispref/text.texi | 14 +++++++-------
etc/NEWS | 10 ++++++++++
etc/refcards/orgcard.tex | 2 +-
lisp/emacs-lisp/compat.el | 12 +++++-------
lisp/help-fns.el | 6 +++---
lisp/org/org-persist.el | 4 +++-
lisp/org/org-version.el | 4 ++--
lisp/org/org.el | 2 +-
lisp/org/ox-html.el | 2 +-
lisp/org/ox.el | 1 +
lisp/subr.el | 4 ++--
lisp/use-package/use-package.el | 2 +-
src/fns.c | 4 +++-
src/sfnt.c | 19 ++++++++++++-------
test/infra/gitlab-ci.yml | 3 +++
17 files changed, 64 insertions(+), 40 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 93e8f1ae5cd..1b6c7eb05dc 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1309,7 +1309,7 @@ emacslog = build-aux/gitlog-to-emacslog
# The ChangeLog history files are called ChangeLog.1, ChangeLog.2, ...,
# ChangeLog.$(CHANGELOG_HISTORY_INDEX_MAX). $(CHANGELOG_N) stands for
# the newest (highest-numbered) ChangeLog history file.
-CHANGELOG_HISTORY_INDEX_MAX = 3
+CHANGELOG_HISTORY_INDEX_MAX = 4
CHANGELOG_N = ChangeLog.$(CHANGELOG_HISTORY_INDEX_MAX)
# Convert git commit log to ChangeLog file. make-dist uses this.
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt
index 15342319829..1b6d9744ecc 100644
--- a/admin/make-tarball.txt
+++ b/admin/make-tarball.txt
@@ -95,11 +95,14 @@ General steps (for each step, check for possible errors):
CHANGELOG_HISTORY_INDEX_MAX = N
by incrementing the value of N by 1; then regenerate Makefile.
- After bumping N, you need to actually create and commit
- ChangeLog.N with the updated N, otherwise "M-x authors" below will
- fail. The easiest way of creating the new ChangeLog.N is to
- rename the file ChangeLog (without the .N suffix) left over from
- the last major release (it is usually unversioned) and commit it.
+ After bumping N, you need to actually create and commit ChangeLog.N
+ with the updated N, otherwise "M-x authors" below will fail. The
+ easiest way of creating the new ChangeLog.N is to rename the file
+ ChangeLog (without the .N suffix) left over from the last release
+ (it is usually unversioned) and commit it, together with the
+ modified Makefile.in. If you don't have the unversioned ChangeLog
+ file from the last release, you can take it from the release
+ tarball.
Now:
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 196fe89a092..278b53d7f65 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -4992,22 +4992,22 @@ of the returned string depends on @var{algorithm}:
@itemize
@item
-For @code{md5}: 32 characters (32 bytes if @var{binary} is
+For @code{md5}: 32 characters (16 bytes if @var{binary} is
non-@code{nil}).
@item
-For @code{sha1}: 40 characters (40 bytes if @var{binary} is
+For @code{sha1}: 40 characters (20 bytes if @var{binary} is
non-@code{nil}).
@item
-For @code{sha224}: 56 characters (56 bytes if @var{binary} is
+For @code{sha224}: 56 characters (28 bytes if @var{binary} is
non-@code{nil}).
@item
-For @code{sha256}: 64 characters (64 bytes if @var{binary} is
+For @code{sha256}: 64 characters (32 bytes if @var{binary} is
non-@code{nil}).
@item
-For @code{sha384}: 96 characters (96 bytes if @var{binary} is
+For @code{sha384}: 96 characters (48 bytes if @var{binary} is
non-@code{nil}).
@item
-For @code{sha512}: 128 characters (128 bytes if @var{binary} is
+For @code{sha512}: 128 characters (64 bytes if @var{binary} is
non-@code{nil}).
@end itemize
@@ -5062,7 +5062,7 @@ This function is equivalent to calling @code{secure-hash}
like this:
@end lisp
It returns a 40-character string if @var{binary} is @code{nil}, or a
-40-byte unibyte string otherwise.
+20-byte unibyte string otherwise.
@end defun
@node Suspicious Text
diff --git a/etc/NEWS b/etc/NEWS
index 2ddbab29528..c5e3bb5a6c3 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -150,6 +150,16 @@ Advanced" node in the EWW manual.
By customizing 'shr-image-zoom-levels', you can change the list of zoom
levels that SHR cycles through when calling 'shr-zoom-image'.
+** SHR
+
+---
+*** New user option 'shr-fill-text'.
+When 'shr-fill-text' is non-nil (the default), SHR will fill text
+according to the width of the window. If you customize it to nil, SHR
+will leave the text as-is; in that case, EWW will automatically enable
+'visual-line-mode' when displaying a page so that long lines are
+visually wrapped at word boundaries.
+
** EWW
---
diff --git a/etc/refcards/orgcard.tex b/etc/refcards/orgcard.tex
index b112e957d1d..65e9caa26d2 100644
--- a/etc/refcards/orgcard.tex
+++ b/etc/refcards/orgcard.tex
@@ -1,5 +1,5 @@
% Reference Card for Org Mode
-\def\orgversionnumber{9.7.9}
+\def\orgversionnumber{9.7.10}
\def\versionyear{2024} % latest update
\input emacsver.tex
diff --git a/lisp/emacs-lisp/compat.el b/lisp/emacs-lisp/compat.el
index f7037dc4101..7f95702286a 100644
--- a/lisp/emacs-lisp/compat.el
+++ b/lisp/emacs-lisp/compat.el
@@ -2,13 +2,11 @@
;; Copyright (C) 2021-2024 Free Software Foundation, Inc.
-;; Author: \
-;; Philip Kaludercic <philipk@posteo.net>, \
-;; Daniel Mendler <mail@daniel-mendler.de>
-;; Maintainer: \
-;; Daniel Mendler <mail@daniel-mendler.de>, \
-;; Compat Development <~pkal/compat-devel@lists.sr.ht>,
-;; emacs-devel@gnu.org
+;; Author: Philip Kaludercic <philipk@posteo.net>,
+;; Daniel Mendler <mail@daniel-mendler.de>
+;; Maintainers: Daniel Mendler <mail@daniel-mendler.de>,
+;; Compat Development <~pkal/compat-devel@lists.sr.ht>,
+;; emacs-devel@gnu.org
;; URL: https://github.com/emacs-compat/compat
;; Keywords: lisp, maint
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 8ea5b301684..8a2ae79736f 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -85,14 +85,14 @@ current help buffer.")
(defun help-definition-prefixes ()
"Return the up-to-date radix-tree form of `definition-prefixes'."
- (when (> (hash-table-count definition-prefixes) 0)
+ (when (and (null help-definition-prefixes)
+ (> (hash-table-count definition-prefixes) 0))
(maphash (lambda (prefix files)
(let ((old (radix-tree-lookup help-definition-prefixes prefix)))
(setq help-definition-prefixes
(radix-tree-insert help-definition-prefixes
prefix (append old files)))))
- definition-prefixes)
- (clrhash definition-prefixes))
+ definition-prefixes))
help-definition-prefixes)
(defun help--loaded-p (file)
diff --git a/lisp/org/org-persist.el b/lisp/org/org-persist.el
index 8b0d9b110f9..7fa836d0d7a 100644
--- a/lisp/org/org-persist.el
+++ b/lisp/org/org-persist.el
@@ -448,6 +448,8 @@ FORMAT and ARGS are passed to `message'."
buffer-or-file (error-message-string err)))
nil)))))
+;; FIXME: `pp' is very slow when writing even moderately large datasets
+;; We should probably drop it or find some fast formatter.
(defun org-persist--write-elisp-file (file data &optional no-circular pp)
"Write elisp DATA to FILE."
;; Fsync slightly reduces the chance of an incomplete filesystem
@@ -898,7 +900,7 @@ Otherwise, return t."
(let ((index-file
(org-file-name-concat org-persist-directory
org-persist-index-file)))
(org-persist--merge-index-with-disk)
- (org-persist--write-elisp-file index-file org-persist--index t t)
+ (org-persist--write-elisp-file index-file org-persist--index t)
(setq org-persist--index-age
(file-attribute-modification-time (file-attributes index-file)))
index-file)))
diff --git a/lisp/org/org-version.el b/lisp/org/org-version.el
index d5a434e805d..989fadf69fa 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.7.9"))
+ (let ((org-release "9.7.10"))
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.7.9"))
+ (let ((org-git-version "release_9.7.10"))
org-git-version))
(provide 'org-version)
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 0b3566121d9..26812bbfb29 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -9,7 +9,7 @@
;; URL: https://orgmode.org
;; Package-Requires: ((emacs "26.1"))
-;; Version: 9.7.9
+;; Version: 9.7.10
;; This file is part of GNU Emacs.
;;
diff --git a/lisp/org/ox-html.el b/lisp/org/ox-html.el
index d1687cf5a80..446698758c4 100644
--- a/lisp/org/ox-html.el
+++ b/lisp/org/ox-html.el
@@ -2351,7 +2351,7 @@ is the language used for CODE, as a string, or nil."
((not (progn (require 'htmlize nil t)
(fboundp 'htmlize-region-for-paste)))
;; Emit a warning.
- (warn "Cannot fontify source block (htmlize.el >= 1.34 required)")
+ (warn "Cannot fontify source block (htmlize.el >= 1.34 required).
Falling back to plain text. (see `org-html-htmlize-output-type')")
(org-html-encode-plain-text code))
(t
;; Map language
diff --git a/lisp/org/ox.el b/lisp/org/ox.el
index 75839e6c88a..1024bdc4bae 100644
--- a/lisp/org/ox.el
+++ b/lisp/org/ox.el
@@ -81,6 +81,7 @@
(require 'ol)
(require 'org-element)
(require 'org-macro)
+(require 'org-attach) ; org-attach adds staff to
`org-export-before-parsing-functions'
(require 'tabulated-list)
(declare-function org-src-coderef-format "org-src" (&optional element))
diff --git a/lisp/subr.el b/lisp/subr.el
index 9ea18ca5bff..2eaed682406 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -4487,8 +4487,8 @@ Otherwise, return nil."
"Return the SHA-1 (Secure Hash Algorithm) of an OBJECT.
OBJECT is either a string or a buffer. Optional arguments START and
END are character positions specifying which portion of OBJECT for
-computing the hash. If BINARY is non-nil, return a 40-byte unibyte
-string; otherwise returna 40-character string.
+computing the hash. If BINARY is non-nil, return a 20-byte unibyte
+string; otherwise return a 40-character string.
Note that SHA-1 is not collision resistant and should not be used
for anything security-related. See `secure-hash' for
diff --git a/lisp/use-package/use-package.el b/lisp/use-package/use-package.el
index fc5c994a5f9..fd2496651df 100644
--- a/lisp/use-package/use-package.el
+++ b/lisp/use-package/use-package.el
@@ -5,7 +5,7 @@
;; Author: John Wiegley <johnw@newartisans.com>
;; Maintainer: John Wiegley <johnw@newartisans.com>
;; Created: 17 Jun 2012
-;; Version: 2.4.5
+;; Version: 2.4.6
;; Package-Requires: ((emacs "24.3") (bind-key "2.4"))
;; Keywords: dotemacs startup speed config package extensions
;; URL: https://github.com/jwiegley/use-package
diff --git a/src/fns.c b/src/fns.c
index c788ea54ec7..80794bc73a0 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -6422,7 +6422,9 @@ whole OBJECT.
The full list of algorithms can be obtained with `secure-hash-algorithms'.
-If BINARY is non-nil, returns a string in binary form.
+If BINARY is non-nil, returns a string in binary form. In this case,
+the function returns a unibyte string whose length is half the number
+of characters it returns when BINARY is nil.
Note that MD5 and SHA-1 are not collision resistant and should not be
used for anything security-related. For these applications, use one
diff --git a/src/sfnt.c b/src/sfnt.c
index 1ed492b7506..02b8a33041c 100644
--- a/src/sfnt.c
+++ b/src/sfnt.c
@@ -383,15 +383,18 @@ sfnt_read_cmap_format_2 (int fd,
for (i = 0; i < 256; ++i)
{
+ /* Values in sub_header_keys are actually offsets from the end of
+ that array. Since the language of the spec is such as to imply
+ that they must be divisible by eight, divide them by the
+ same. */
sfnt_swap16 (&format2->sub_header_keys[i]);
if (format2->sub_header_keys[i] > nsub)
- nsub = format2->sub_header_keys[i];
+ nsub = format2->sub_header_keys[i] / 8;
}
- if (!nsub)
- /* If there are no subheaders, then things are finished. */
- return format2;
+ /* There always exists a subheader at index zero. */
+ nsub ++;
/* Otherwise, read the rest of the variable length data to the end
of format2. */
@@ -1108,9 +1111,11 @@ sfnt_lookup_glyph_2 (sfnt_char character,
&& j <= ((int) subheader->first_code
+ (int) subheader->entry_count))
{
- /* id_range_offset is actually the number of bytes past
- itself containing the uint16_t ``slice''. It is possibly
- unaligned. */
+ /* id_range_offset is actually the number of bytes past itself
+ containing the uint16_t ``slice''. Whether this may be
+ unaligned is not stated in the specification, but I doubt
+ it, for that would render values meaningless if the array
+ were byte swapped when read. */
slice = (unsigned char *) &subheader->id_range_offset;
slice += subheader->id_range_offset;
slice += (j - subheader->first_code) * sizeof (uint16_t);
diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml
index 24bb179af54..e16dcd54a45 100644
--- a/test/infra/gitlab-ci.yml
+++ b/test/infra/gitlab-ci.yml
@@ -192,10 +192,13 @@ default:
- lisp/textmodes/*-ts-mode.el
- src/treesit.{h,c}
- test/infra/*
+ - test/lisp/align-resources/**
- test/lisp/align-tests.el
- test/lisp/progmodes/*-ts-mode-resources/**
- test/lisp/progmodes/*-ts-mode-tests.el
+ - test/lisp/progmodes/csharp-mode-resources/**
- test/lisp/progmodes/csharp-mode-tests.el
+ - test/lisp/progmodes/js-resources/**
- test/lisp/progmodes/js-tests.el
- test/lisp/progmodes/python-tests.el
- test/lisp/textmodes/*-ts-mode-resources/**