emacs-diffs
[Top][All Lists]
Advanced

[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/**



reply via email to

[Prev in Thread] Current Thread [Next in Thread]