aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPo Lu2024-08-20 21:57:25 +0800
committerPo Lu2024-08-20 21:57:25 +0800
commita2684967270387d2e7ec79de148f04b7f54f2260 (patch)
tree41098b24a2e99cd9f05448d18ea4f1c9fa808606
parente1ee82f7387fa4e8c2d2bc096eae393298906329 (diff)
parent3419e7ea522462c47a5ab4389a879d8b7c14452b (diff)
downloademacs-a2684967270387d2e7ec79de148f04b7f54f2260.tar.gz
emacs-a2684967270387d2e7ec79de148f04b7f54f2260.zip
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.
-rw-r--r--Makefile.in2
-rw-r--r--admin/make-tarball.txt13
-rw-r--r--doc/lispref/text.texi14
-rw-r--r--etc/NEWS10
-rw-r--r--etc/refcards/orgcard.tex2
-rw-r--r--lisp/emacs-lisp/compat.el12
-rw-r--r--lisp/help-fns.el6
-rw-r--r--lisp/org/org-persist.el4
-rw-r--r--lisp/org/org-version.el4
-rw-r--r--lisp/org/org.el2
-rw-r--r--lisp/org/ox-html.el2
-rw-r--r--lisp/org/ox.el1
-rw-r--r--lisp/subr.el4
-rw-r--r--lisp/use-package/use-package.el2
-rw-r--r--src/fns.c4
-rw-r--r--src/sfnt.c19
-rw-r--r--test/infra/gitlab-ci.yml3
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
1309# The ChangeLog history files are called ChangeLog.1, ChangeLog.2, ..., 1309# The ChangeLog history files are called ChangeLog.1, ChangeLog.2, ...,
1310# ChangeLog.$(CHANGELOG_HISTORY_INDEX_MAX). $(CHANGELOG_N) stands for 1310# ChangeLog.$(CHANGELOG_HISTORY_INDEX_MAX). $(CHANGELOG_N) stands for
1311# the newest (highest-numbered) ChangeLog history file. 1311# the newest (highest-numbered) ChangeLog history file.
1312CHANGELOG_HISTORY_INDEX_MAX = 3 1312CHANGELOG_HISTORY_INDEX_MAX = 4
1313CHANGELOG_N = ChangeLog.$(CHANGELOG_HISTORY_INDEX_MAX) 1313CHANGELOG_N = ChangeLog.$(CHANGELOG_HISTORY_INDEX_MAX)
1314 1314
1315# Convert git commit log to ChangeLog file. make-dist uses this. 1315# 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):
95 CHANGELOG_HISTORY_INDEX_MAX = N 95 CHANGELOG_HISTORY_INDEX_MAX = N
96 96
97 by incrementing the value of N by 1; then regenerate Makefile. 97 by incrementing the value of N by 1; then regenerate Makefile.
98 After bumping N, you need to actually create and commit 98 After bumping N, you need to actually create and commit ChangeLog.N
99 ChangeLog.N with the updated N, otherwise "M-x authors" below will 99 with the updated N, otherwise "M-x authors" below will fail. The
100 fail. The easiest way of creating the new ChangeLog.N is to 100 easiest way of creating the new ChangeLog.N is to rename the file
101 rename the file ChangeLog (without the .N suffix) left over from 101 ChangeLog (without the .N suffix) left over from the last release
102 the last major release (it is usually unversioned) and commit it. 102 (it is usually unversioned) and commit it, together with the
103 modified Makefile.in. If you don't have the unversioned ChangeLog
104 file from the last release, you can take it from the release
105 tarball.
103 106
104 Now: 107 Now:
105 108
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}:
4992 4992
4993@itemize 4993@itemize
4994@item 4994@item
4995For @code{md5}: 32 characters (32 bytes if @var{binary} is 4995For @code{md5}: 32 characters (16 bytes if @var{binary} is
4996non-@code{nil}). 4996non-@code{nil}).
4997@item 4997@item
4998For @code{sha1}: 40 characters (40 bytes if @var{binary} is 4998For @code{sha1}: 40 characters (20 bytes if @var{binary} is
4999non-@code{nil}). 4999non-@code{nil}).
5000@item 5000@item
5001For @code{sha224}: 56 characters (56 bytes if @var{binary} is 5001For @code{sha224}: 56 characters (28 bytes if @var{binary} is
5002non-@code{nil}). 5002non-@code{nil}).
5003@item 5003@item
5004For @code{sha256}: 64 characters (64 bytes if @var{binary} is 5004For @code{sha256}: 64 characters (32 bytes if @var{binary} is
5005non-@code{nil}). 5005non-@code{nil}).
5006@item 5006@item
5007For @code{sha384}: 96 characters (96 bytes if @var{binary} is 5007For @code{sha384}: 96 characters (48 bytes if @var{binary} is
5008non-@code{nil}). 5008non-@code{nil}).
5009@item 5009@item
5010For @code{sha512}: 128 characters (128 bytes if @var{binary} is 5010For @code{sha512}: 128 characters (64 bytes if @var{binary} is
5011non-@code{nil}). 5011non-@code{nil}).
5012@end itemize 5012@end itemize
5013 5013
@@ -5062,7 +5062,7 @@ This function is equivalent to calling @code{secure-hash} like this:
5062@end lisp 5062@end lisp
5063 5063
5064It returns a 40-character string if @var{binary} is @code{nil}, or a 5064It returns a 40-character string if @var{binary} is @code{nil}, or a
506540-byte unibyte string otherwise. 506520-byte unibyte string otherwise.
5066@end defun 5066@end defun
5067 5067
5068@node Suspicious Text 5068@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.
150By customizing 'shr-image-zoom-levels', you can change the list of zoom 150By customizing 'shr-image-zoom-levels', you can change the list of zoom
151levels that SHR cycles through when calling 'shr-zoom-image'. 151levels that SHR cycles through when calling 'shr-zoom-image'.
152 152
153** SHR
154
155---
156*** New user option 'shr-fill-text'.
157When 'shr-fill-text' is non-nil (the default), SHR will fill text
158according to the width of the window. If you customize it to nil, SHR
159will leave the text as-is; in that case, EWW will automatically enable
160'visual-line-mode' when displaying a page so that long lines are
161visually wrapped at word boundaries.
162
153** EWW 163** EWW
154 164
155--- 165---
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 @@
1% Reference Card for Org Mode 1% Reference Card for Org Mode
2\def\orgversionnumber{9.7.9} 2\def\orgversionnumber{9.7.10}
3\def\versionyear{2024} % latest update 3\def\versionyear{2024} % latest update
4\input emacsver.tex 4\input emacsver.tex
5 5
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 @@
2 2
3;; Copyright (C) 2021-2024 Free Software Foundation, Inc. 3;; Copyright (C) 2021-2024 Free Software Foundation, Inc.
4 4
5;; Author: \ 5;; Author: Philip Kaludercic <philipk@posteo.net>,
6;; Philip Kaludercic <philipk@posteo.net>, \ 6;; Daniel Mendler <mail@daniel-mendler.de>
7;; Daniel Mendler <mail@daniel-mendler.de> 7;; Maintainers: Daniel Mendler <mail@daniel-mendler.de>,
8;; Maintainer: \ 8;; Compat Development <~pkal/compat-devel@lists.sr.ht>,
9;; Daniel Mendler <mail@daniel-mendler.de>, \ 9;; emacs-devel@gnu.org
10;; Compat Development <~pkal/compat-devel@lists.sr.ht>,
11;; emacs-devel@gnu.org
12;; URL: https://github.com/emacs-compat/compat 10;; URL: https://github.com/emacs-compat/compat
13;; Keywords: lisp, maint 11;; Keywords: lisp, maint
14 12
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.")
85 85
86(defun help-definition-prefixes () 86(defun help-definition-prefixes ()
87 "Return the up-to-date radix-tree form of `definition-prefixes'." 87 "Return the up-to-date radix-tree form of `definition-prefixes'."
88 (when (> (hash-table-count definition-prefixes) 0) 88 (when (and (null help-definition-prefixes)
89 (> (hash-table-count definition-prefixes) 0))
89 (maphash (lambda (prefix files) 90 (maphash (lambda (prefix files)
90 (let ((old (radix-tree-lookup help-definition-prefixes prefix))) 91 (let ((old (radix-tree-lookup help-definition-prefixes prefix)))
91 (setq help-definition-prefixes 92 (setq help-definition-prefixes
92 (radix-tree-insert help-definition-prefixes 93 (radix-tree-insert help-definition-prefixes
93 prefix (append old files))))) 94 prefix (append old files)))))
94 definition-prefixes) 95 definition-prefixes))
95 (clrhash definition-prefixes))
96 help-definition-prefixes) 96 help-definition-prefixes)
97 97
98(defun help--loaded-p (file) 98(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'."
448 buffer-or-file (error-message-string err))) 448 buffer-or-file (error-message-string err)))
449 nil))))) 449 nil)))))
450 450
451;; FIXME: `pp' is very slow when writing even moderately large datasets
452;; We should probably drop it or find some fast formatter.
451(defun org-persist--write-elisp-file (file data &optional no-circular pp) 453(defun org-persist--write-elisp-file (file data &optional no-circular pp)
452 "Write elisp DATA to FILE." 454 "Write elisp DATA to FILE."
453 ;; Fsync slightly reduces the chance of an incomplete filesystem 455 ;; Fsync slightly reduces the chance of an incomplete filesystem
@@ -898,7 +900,7 @@ Otherwise, return t."
898 (let ((index-file 900 (let ((index-file
899 (org-file-name-concat org-persist-directory org-persist-index-file))) 901 (org-file-name-concat org-persist-directory org-persist-index-file)))
900 (org-persist--merge-index-with-disk) 902 (org-persist--merge-index-with-disk)
901 (org-persist--write-elisp-file index-file org-persist--index t t) 903 (org-persist--write-elisp-file index-file org-persist--index t)
902 (setq org-persist--index-age 904 (setq org-persist--index-age
903 (file-attribute-modification-time (file-attributes index-file))) 905 (file-attribute-modification-time (file-attributes index-file)))
904 index-file))) 906 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 @@
5(defun org-release () 5(defun org-release ()
6 "The release version of Org. 6 "The release version of Org.
7Inserted by installing Org mode or when a release is made." 7Inserted by installing Org mode or when a release is made."
8 (let ((org-release "9.7.9")) 8 (let ((org-release "9.7.10"))
9 org-release)) 9 org-release))
10;;;###autoload 10;;;###autoload
11(defun org-git-version () 11(defun org-git-version ()
12 "The Git version of Org mode. 12 "The Git version of Org mode.
13Inserted by installing Org or when a release is made." 13Inserted by installing Org or when a release is made."
14 (let ((org-git-version "release_9.7.9")) 14 (let ((org-git-version "release_9.7.10"))
15 org-git-version)) 15 org-git-version))
16 16
17(provide 'org-version) 17(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 @@
9;; URL: https://orgmode.org 9;; URL: https://orgmode.org
10;; Package-Requires: ((emacs "26.1")) 10;; Package-Requires: ((emacs "26.1"))
11 11
12;; Version: 9.7.9 12;; Version: 9.7.10
13 13
14;; This file is part of GNU Emacs. 14;; This file is part of GNU Emacs.
15;; 15;;
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."
2351 ((not (progn (require 'htmlize nil t) 2351 ((not (progn (require 'htmlize nil t)
2352 (fboundp 'htmlize-region-for-paste))) 2352 (fboundp 'htmlize-region-for-paste)))
2353 ;; Emit a warning. 2353 ;; Emit a warning.
2354 (warn "Cannot fontify source block (htmlize.el >= 1.34 required)") 2354 (warn "Cannot fontify source block (htmlize.el >= 1.34 required). Falling back to plain text. (see `org-html-htmlize-output-type')")
2355 (org-html-encode-plain-text code)) 2355 (org-html-encode-plain-text code))
2356 (t 2356 (t
2357 ;; Map language 2357 ;; 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 @@
81(require 'ol) 81(require 'ol)
82(require 'org-element) 82(require 'org-element)
83(require 'org-macro) 83(require 'org-macro)
84(require 'org-attach) ; org-attach adds staff to `org-export-before-parsing-functions'
84(require 'tabulated-list) 85(require 'tabulated-list)
85 86
86(declare-function org-src-coderef-format "org-src" (&optional element)) 87(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."
4487 "Return the SHA-1 (Secure Hash Algorithm) of an OBJECT. 4487 "Return the SHA-1 (Secure Hash Algorithm) of an OBJECT.
4488OBJECT is either a string or a buffer. Optional arguments START and 4488OBJECT is either a string or a buffer. Optional arguments START and
4489END are character positions specifying which portion of OBJECT for 4489END are character positions specifying which portion of OBJECT for
4490computing the hash. If BINARY is non-nil, return a 40-byte unibyte 4490computing the hash. If BINARY is non-nil, return a 20-byte unibyte
4491string; otherwise returna 40-character string. 4491string; otherwise return a 40-character string.
4492 4492
4493Note that SHA-1 is not collision resistant and should not be used 4493Note that SHA-1 is not collision resistant and should not be used
4494for anything security-related. See `secure-hash' for 4494for 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 @@
5;; Author: John Wiegley <johnw@newartisans.com> 5;; Author: John Wiegley <johnw@newartisans.com>
6;; Maintainer: John Wiegley <johnw@newartisans.com> 6;; Maintainer: John Wiegley <johnw@newartisans.com>
7;; Created: 17 Jun 2012 7;; Created: 17 Jun 2012
8;; Version: 2.4.5 8;; Version: 2.4.6
9;; Package-Requires: ((emacs "24.3") (bind-key "2.4")) 9;; Package-Requires: ((emacs "24.3") (bind-key "2.4"))
10;; Keywords: dotemacs startup speed config package extensions 10;; Keywords: dotemacs startup speed config package extensions
11;; URL: https://github.com/jwiegley/use-package 11;; 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.
6422 6422
6423The full list of algorithms can be obtained with `secure-hash-algorithms'. 6423The full list of algorithms can be obtained with `secure-hash-algorithms'.
6424 6424
6425If BINARY is non-nil, returns a string in binary form. 6425If BINARY is non-nil, returns a string in binary form. In this case,
6426the function returns a unibyte string whose length is half the number
6427of characters it returns when BINARY is nil.
6426 6428
6427Note that MD5 and SHA-1 are not collision resistant and should not be 6429Note that MD5 and SHA-1 are not collision resistant and should not be
6428used for anything security-related. For these applications, use one 6430used 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,
383 383
384 for (i = 0; i < 256; ++i) 384 for (i = 0; i < 256; ++i)
385 { 385 {
386 /* Values in sub_header_keys are actually offsets from the end of
387 that array. Since the language of the spec is such as to imply
388 that they must be divisible by eight, divide them by the
389 same. */
386 sfnt_swap16 (&format2->sub_header_keys[i]); 390 sfnt_swap16 (&format2->sub_header_keys[i]);
387 391
388 if (format2->sub_header_keys[i] > nsub) 392 if (format2->sub_header_keys[i] > nsub)
389 nsub = format2->sub_header_keys[i]; 393 nsub = format2->sub_header_keys[i] / 8;
390 } 394 }
391 395
392 if (!nsub) 396 /* There always exists a subheader at index zero. */
393 /* If there are no subheaders, then things are finished. */ 397 nsub ++;
394 return format2;
395 398
396 /* Otherwise, read the rest of the variable length data to the end 399 /* Otherwise, read the rest of the variable length data to the end
397 of format2. */ 400 of format2. */
@@ -1108,9 +1111,11 @@ sfnt_lookup_glyph_2 (sfnt_char character,
1108 && j <= ((int) subheader->first_code 1111 && j <= ((int) subheader->first_code
1109 + (int) subheader->entry_count)) 1112 + (int) subheader->entry_count))
1110 { 1113 {
1111 /* id_range_offset is actually the number of bytes past 1114 /* id_range_offset is actually the number of bytes past itself
1112 itself containing the uint16_t ``slice''. It is possibly 1115 containing the uint16_t ``slice''. Whether this may be
1113 unaligned. */ 1116 unaligned is not stated in the specification, but I doubt
1117 it, for that would render values meaningless if the array
1118 were byte swapped when read. */
1114 slice = (unsigned char *) &subheader->id_range_offset; 1119 slice = (unsigned char *) &subheader->id_range_offset;
1115 slice += subheader->id_range_offset; 1120 slice += subheader->id_range_offset;
1116 slice += (j - subheader->first_code) * sizeof (uint16_t); 1121 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:
192 - lisp/textmodes/*-ts-mode.el 192 - lisp/textmodes/*-ts-mode.el
193 - src/treesit.{h,c} 193 - src/treesit.{h,c}
194 - test/infra/* 194 - test/infra/*
195 - test/lisp/align-resources/**
195 - test/lisp/align-tests.el 196 - test/lisp/align-tests.el
196 - test/lisp/progmodes/*-ts-mode-resources/** 197 - test/lisp/progmodes/*-ts-mode-resources/**
197 - test/lisp/progmodes/*-ts-mode-tests.el 198 - test/lisp/progmodes/*-ts-mode-tests.el
199 - test/lisp/progmodes/csharp-mode-resources/**
198 - test/lisp/progmodes/csharp-mode-tests.el 200 - test/lisp/progmodes/csharp-mode-tests.el
201 - test/lisp/progmodes/js-resources/**
199 - test/lisp/progmodes/js-tests.el 202 - test/lisp/progmodes/js-tests.el
200 - test/lisp/progmodes/python-tests.el 203 - test/lisp/progmodes/python-tests.el
201 - test/lisp/textmodes/*-ts-mode-resources/** 204 - test/lisp/textmodes/*-ts-mode-resources/**