emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 4a8c112 3/3: Merge from origin/emacs-27


From: Glenn Morris
Subject: master 4a8c112 3/3: Merge from origin/emacs-27
Date: Mon, 16 Nov 2020 12:05:41 -0500 (EST)

branch: master
commit 4a8c1120f5deac6d4b4a5e7109af583818510735
Merge: 5fe469f 75723ec
Author: Glenn Morris <rgm@gnu.org>
Commit: Glenn Morris <rgm@gnu.org>

    Merge from origin/emacs-27
    
    75723ec212 (origin/emacs-27) ; * lisp/emacs-lisp/benchmark.el (benchm...
    53e2a612ad ; * lib-src/make-fingerprint.c: Update commentary.
    286c632772 Reformat argument commentary in etags.c
    4ec740866a Make the invocation of combine-change-calls in comment-reg...
    66bcec8838 * lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix ...
    03eeab469e ; Update the expected result files in test/manual/etags.
    d875a22bc6 Update the various INSTALL files
    
    # Conflicts:
    #   INSTALL
---
 INSTALL                        | 28 +++++++++++++++++-----------
 etc/PROBLEMS                   |  6 +++---
 lib-src/etags.c                | 36 ++++++++++++++++--------------------
 lib-src/make-fingerprint.c     |  9 ++++++---
 lisp/emacs-lisp/benchmark.el   |  2 +-
 lisp/newcomment.el             | 10 +++++++++-
 lisp/progmodes/cc-langs.el     |  2 +-
 nt/INSTALL                     | 18 ++++++++++++++++++
 nt/INSTALL.W64                 | 12 +++++++-----
 test/manual/etags/ETAGS.good_1 | 14 +++++++-------
 test/manual/etags/ETAGS.good_2 | 14 +++++++-------
 test/manual/etags/ETAGS.good_3 | 14 +++++++-------
 test/manual/etags/ETAGS.good_4 | 14 +++++++-------
 test/manual/etags/ETAGS.good_5 | 14 +++++++-------
 test/manual/etags/ETAGS.good_6 | 14 +++++++-------
 15 files changed, 120 insertions(+), 87 deletions(-)

diff --git a/INSTALL b/INSTALL
index e880b4e..5909e8c 100644
--- a/INSTALL
+++ b/INSTALL
@@ -117,19 +117,25 @@ ADDITIONAL DISTRIBUTION FILES
 
 * Complex Text Layout support libraries
 
-On GNU and Unix systems, Emacs needs the optional libraries "m17n-db",
-"libm17n-flt", "libotf" to correctly display such complex scripts as
-Indic and Khmer, and also for scripts that require Arabic shaping
-support (Arabic and Farsi).  On some systems, particularly GNU/Linux,
-these libraries may be already present or available as additional
-packages.  Note that if there is a separate 'dev' or 'devel' package,
-for use at compilation time rather than run time, you will need that
-as well as the corresponding run time package; typically the dev
-package will contain header files and a library archive.  Otherwise,
-you can download the libraries from <https://www.nongnu.org/m17n/>.
+On GNU and Unix systems, Emacs needs optional libraries to correctly
+display such complex scripts as Indic and Khmer, and also for scripts
+that require Arabic shaping support (Arabic and Farsi).  If the
+HarfBuzz library is installed, Emacs will build with it and use it for
+this purpose.  HarfBuzz is the preferred shaping engine, both on Posix
+hosts and on MS-Windows, so we recommend installing it before building
+Emacs.  The alternative for GNU/Linux and Posix systems is to use the
+"m17n-db", "libm17n-flt", and "libotf" libraries.  (On some systems,
+particularly GNU/Linux, these libraries may be already present or
+available as additional packages.)  Note that if there is a separate
+'dev' or 'devel' package, for use at compilation time rather than run
+time, you will need that as well as the corresponding run time
+package; typically the dev package will contain header files and a
+library archive.  On MS-Windows, if HarfBuzz is not available, Emacs
+will use the Uniscribe shaping engine that is part of the OS.
 
 Note that Emacs cannot support complex scripts on a TTY, unless the
-terminal includes such a support.
+terminal includes such a support.  However, most modern terminal
+emulators, such as xterm, do support such scripts.
 
 * intlfonts-VERSION.tar.gz
 
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 8ed92ab..f24c6f0 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -352,11 +352,11 @@ is the current directory.
 *** Set find-function-C-source-directory accordingly.
 
 Once you have installed the source package, for example at
-/home/myself/deb-src/emacs-26.3, add the following line to your
+/home/myself/deb-src/emacs-27.1, add the following line to your
 startup file:
 
      (setq find-function-C-source-directory
-           "/home/myself/deb-src/emacs-26.3/src/")
+           "/home/myself/deb-src/emacs-27.1/src/")
 
 The installation directory of the Emacs source package will contain
 the exact package name and version number of Emacs that is installed
@@ -386,7 +386,7 @@ To get describe-function and similar commands to work, you 
can then
 add something like the following to your startup file:
 
      (setq find-function-C-source-directory
-           "/usr/src/debug/emacs-26.3-1.fc31.x86_64/src/")
+           "/usr/src/debug/emacs-27.1-1.fc31.x86_64/src/")
 
 However, the exact directory name will depend on the system, and you
 will need to both upgrade source and debug info when your system
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 146cf61..4315771 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -1974,14 +1974,13 @@ make_tag (const char *name,     /* tag name, or NULL if 
unnamed */
 
 /* Record a tag. */
 static void
-pfnote (char *name, bool is_func, char *linestart, ptrdiff_t linelen,
-       intmax_t lno, intmax_t cno)
-                               /* tag name, or NULL if unnamed */
-                               /* tag is a function */
-                               /* start of the line where tag is */
-                               /* length of the line where tag is */
-                               /* line number */
-                               /* character number */
+pfnote (char *name,            /* tag name, or NULL if unnamed */
+       bool is_func,           /* tag is a function */
+       char *linestart,        /* start of the line where tag is */
+       ptrdiff_t linelen,      /* length of the line where tag is */
+       intmax_t lno,           /* line number */
+       intmax_t cno)           /* character number */
+
 {
   register node *np;
 
@@ -2905,15 +2904,13 @@ static void make_C_tag (bool);
  */
 
 static bool
-consider_token (char *str, ptrdiff_t len, int c, int *c_extp,
-               ptrdiff_t bracelev, ptrdiff_t parlev, bool *is_func_or_var)
-                               /* IN: token pointer */
-                               /* IN: token length */
-                               /* IN: first char after the token */
-                               /* IN, OUT: C extensions mask */
-                               /* IN: brace level */
-                               /* IN: parenthesis level */
-                               /* OUT: function or variable found */
+consider_token (char *str,           /* IN: token pointer */
+               ptrdiff_t len,        /* IN: token length */
+               int c,                /* IN: first char after the token */
+               int *c_extp,          /* IN, OUT: C extensions mask */
+               ptrdiff_t bracelev,   /* IN: brace level */
+               ptrdiff_t parlev,     /* IN: parenthesis level */
+               bool *is_func_or_var) /* OUT: function or variable found */
 {
   /* When structdef is stagseen, scolonseen, or snone with bracelev > 0,
      structtype is the type of the preceding struct-like keyword, and
@@ -3312,9 +3309,8 @@ perhaps_more_input (FILE *inf)
  *     C syntax and adds them to the list.
  */
 static void
-C_entries (int c_ext, FILE *inf)
-                                       /* extension of C */
-                                       /* input file */
+C_entries (int c_ext,          /* extension of C */
+          FILE *inf)           /* input file */
 {
   char c;                      /* latest char read; '\0' for end of line */
   char *lp;                    /* pointer one beyond the character `c' */
diff --git a/lib-src/make-fingerprint.c b/lib-src/make-fingerprint.c
index c013d0a..b72ee90 100644
--- a/lib-src/make-fingerprint.c
+++ b/lib-src/make-fingerprint.c
@@ -19,9 +19,12 @@ You should have received a copy of the GNU General Public 
License
 along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
 
 
-/* The arguments given to this program are all the object files that
- go into building GNU Emacs.  There is no special search logic to find
- the files.  */
+/* The argument given to this program is the initial version of the
+ temacs executable file used when building GNU Emacs.  This program computes
+ a digest fingerprint for the executable, and modifies the binary in
+ place, replacing all instances of the existing fingerprint (normally
+ the default fingerprint from libgnu's lib/fingerprint.c) with the
+ new value.  With option -r, it just prints the digest.   */
 
 #include <config.h>
 
diff --git a/lisp/emacs-lisp/benchmark.el b/lisp/emacs-lisp/benchmark.el
index 2fa5a87..8cf1f54 100644
--- a/lisp/emacs-lisp/benchmark.el
+++ b/lisp/emacs-lisp/benchmark.el
@@ -43,7 +43,7 @@
 ;;;###autoload
 (defmacro benchmark-run (&optional repetitions &rest forms)
   "Time execution of FORMS.
-If REPETITIONS is supplied as a number, run forms that many times,
+If REPETITIONS is supplied as a number, run FORMS that many times,
 accounting for the overhead of the resulting loop.  Otherwise run
 FORMS once.
 Return a list of the total elapsed time for execution, the number of
diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index e111ae8..3eb158d 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -1292,7 +1292,15 @@ changed with `comment-style'."
 
 (defun comment-region-default (beg end &optional arg)
   (if comment-combine-change-calls
-      (combine-change-calls beg end (comment-region-default-1 beg end arg))
+      (combine-change-calls beg
+          ;; A new line might get inserted and whitespace deleted
+          ;; after END for line comments.  Ensure the next argument is
+          ;; after any and all changes.
+          (save-excursion
+            (goto-char end)
+            (forward-line)
+            (point))
+        (comment-region-default-1 beg end arg))
     (comment-region-default-1 beg end arg)))
 
 ;;;###autoload
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 80c461c..d6089ea 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -3683,7 +3683,7 @@ When \"(\" is present, that defun will attempt to parse a
 parenthesized expression inside the template.  When \")\" is
 present it will treat an unbalanced closing paren as a sign of
 the invalidity of the putative template construct."
-  t "[<;{},|+&->)]"
+  t "[<;{},|+&>)-]"
   c++ "[<;{},>()]")
 (c-lang-defvar c-<>-notable-chars-re (c-lang-const c-<>-notable-chars-re))
 
diff --git a/nt/INSTALL b/nt/INSTALL
index 2fe2c8c..27fb5f0 100644
--- a/nt/INSTALL
+++ b/nt/INSTALL
@@ -502,11 +502,21 @@ build will run on Windows 9X and newer systems).
        Does Emacs use -lgnutls?                                yes
        Does Emacs use -lxml2?                                  yes
        Does Emacs use -lfreetype?                              no
+       Does Emacs use HarfBuzz?                                yes
        Does Emacs use -lm17n-flt?                              no
        Does Emacs use -lotf?                                   no
        Does Emacs use -lxft?                                   no
+       Does Emacs use -lsystemd?                               no
+       Does Emacs use -ljansson?                               yes
+       Does Emacs use the GMP library?                         yes
        Does Emacs directly use zlib?                           yes
+       Does Emacs have dynamic modules support?                yes
        Does Emacs use toolkit scroll bars?                     yes
+       Does Emacs support Xwidgets?                            no
+       Does Emacs have threading support in lisp?              yes
+       Does Emacs support the portable dumper?                 yes
+       Does Emacs support the legacy unexec dumping?           no
+       Which dumping strategy does Emacs use?                  pdumper
 
   You are almost there, hang on.
 
@@ -815,6 +825,14 @@ build will run on Windows 9X and newer systems).
   the libjansson DLL (for 32-bit builds of Emacs) are available from
   the ezwinports site and from the MSYS2 project.
 
+* Optional support for HarfBuzzz shaping library
+
+  Emacs supports display of complex scripts and Arabic shaping.  The
+  preferred library for that is HarfBuzz; prebuilt binaries are
+  available from the ezwinports site (for 32-bit builds of Emacs) and
+  from the MSYS2 project.  If HarfBuzz is not available, Emacs will
+  use the Uniscribe shaping engine that is part of MS-Windows.
+
 
 This file is part of GNU Emacs.
 
diff --git a/nt/INSTALL.W64 b/nt/INSTALL.W64
index 0a0e033..4724116 100644
--- a/nt/INSTALL.W64
+++ b/nt/INSTALL.W64
@@ -55,14 +55,16 @@ packages (you can copy and paste it into the shell with 
Shift + Insert):
   mingw-w64-x86_64-jansson \
   mingw-w64-x86_64-libxml2 \
   mingw-w64-x86_64-gnutls \
-  mingw-w64-x86_64-zlib
+  mingw-w64-x86_64-zlib \
+  mingw-w64-x86_64-harfbuzz
 
 The packages include the base developer tools (autoconf, grep, make, etc.),
 the compiler toolchain (gcc, gdb, etc.), several image libraries, an XML
-library, the GnuTLS (transport layer security) library, and zlib for
-decompressing text.  Only the first three packages are required (base-devel,
-toolchain, xpm-nox); the rest are optional.  You can select only part of the
-libraries if you don't need them all.
+library, the GnuTLS (transport layer security) library, zlib for
+decompressing text, and HarfBuzz for use as the shaping engine.  Only the
+first three packages are required (base-devel,  toolchain, xpm-nox); the
+rest are optional.  You can select only part of the libraries if you don't
+need them all.
 
 You now have a complete build environment for Emacs.
 
diff --git a/test/manual/etags/ETAGS.good_1 b/test/manual/etags/ETAGS.good_1
index 5451a79..3de1551 100644
--- a/test/manual/etags/ETAGS.good_1
+++ b/test/manual/etags/ETAGS.good_1
@@ -3153,13 +3153,13 @@ tex-src/gzip.texi,303
 @node Top,62,2139
 @node Copying,80,2652
 @node Overview,83,2705
-@node Sample,166,7272
-@node Invoking gzip,Invoking gzip210,8828
-@node Advanced usage,Advanced usage357,13496
-@node Environment,420,15208
-@node Tapes,437,15769
-@node Problems,460,16768
-@node Concept Index,Concept Index473,17288
+@node Sample,166,7273
+@node Invoking gzip,Invoking gzip210,8829
+@node Advanced usage,Advanced usage357,13497
+@node Environment,420,15209
+@node Tapes,437,15770
+@node Problems,460,16769
+@node Concept Index,Concept Index473,17289
 
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\texinfoversion26,1035
diff --git a/test/manual/etags/ETAGS.good_2 b/test/manual/etags/ETAGS.good_2
index ab2111e..ddb8d19 100644
--- a/test/manual/etags/ETAGS.good_2
+++ b/test/manual/etags/ETAGS.good_2
@@ -3726,13 +3726,13 @@ tex-src/gzip.texi,303
 @node Top,62,2139
 @node Copying,80,2652
 @node Overview,83,2705
-@node Sample,166,7272
-@node Invoking gzip,Invoking gzip210,8828
-@node Advanced usage,Advanced usage357,13496
-@node Environment,420,15208
-@node Tapes,437,15769
-@node Problems,460,16768
-@node Concept Index,Concept Index473,17288
+@node Sample,166,7273
+@node Invoking gzip,Invoking gzip210,8829
+@node Advanced usage,Advanced usage357,13497
+@node Environment,420,15209
+@node Tapes,437,15770
+@node Problems,460,16769
+@node Concept Index,Concept Index473,17289
 
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\texinfoversion26,1035
diff --git a/test/manual/etags/ETAGS.good_3 b/test/manual/etags/ETAGS.good_3
index e53fb96..40be768 100644
--- a/test/manual/etags/ETAGS.good_3
+++ b/test/manual/etags/ETAGS.good_3
@@ -3560,13 +3560,13 @@ tex-src/gzip.texi,303
 @node Top,62,2139
 @node Copying,80,2652
 @node Overview,83,2705
-@node Sample,166,7272
-@node Invoking gzip,Invoking gzip210,8828
-@node Advanced usage,Advanced usage357,13496
-@node Environment,420,15208
-@node Tapes,437,15769
-@node Problems,460,16768
-@node Concept Index,Concept Index473,17288
+@node Sample,166,7273
+@node Invoking gzip,Invoking gzip210,8829
+@node Advanced usage,Advanced usage357,13497
+@node Environment,420,15209
+@node Tapes,437,15770
+@node Problems,460,16769
+@node Concept Index,Concept Index473,17289
 
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\texinfoversion26,1035
diff --git a/test/manual/etags/ETAGS.good_4 b/test/manual/etags/ETAGS.good_4
index 5a4b5b4..15f67c5 100644
--- a/test/manual/etags/ETAGS.good_4
+++ b/test/manual/etags/ETAGS.good_4
@@ -3317,13 +3317,13 @@ tex-src/gzip.texi,303
 @node Top,62,2139
 @node Copying,80,2652
 @node Overview,83,2705
-@node Sample,166,7272
-@node Invoking gzip,Invoking gzip210,8828
-@node Advanced usage,Advanced usage357,13496
-@node Environment,420,15208
-@node Tapes,437,15769
-@node Problems,460,16768
-@node Concept Index,Concept Index473,17288
+@node Sample,166,7273
+@node Invoking gzip,Invoking gzip210,8829
+@node Advanced usage,Advanced usage357,13497
+@node Environment,420,15209
+@node Tapes,437,15770
+@node Problems,460,16769
+@node Concept Index,Concept Index473,17289
 
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\texinfoversion26,1035
diff --git a/test/manual/etags/ETAGS.good_5 b/test/manual/etags/ETAGS.good_5
index f89cfef..583de5c 100644
--- a/test/manual/etags/ETAGS.good_5
+++ b/test/manual/etags/ETAGS.good_5
@@ -4297,13 +4297,13 @@ tex-src/gzip.texi,303
 @node Top,62,2139
 @node Copying,80,2652
 @node Overview,83,2705
-@node Sample,166,7272
-@node Invoking gzip,Invoking gzip210,8828
-@node Advanced usage,Advanced usage357,13496
-@node Environment,420,15208
-@node Tapes,437,15769
-@node Problems,460,16768
-@node Concept Index,Concept Index473,17288
+@node Sample,166,7273
+@node Invoking gzip,Invoking gzip210,8829
+@node Advanced usage,Advanced usage357,13497
+@node Environment,420,15209
+@node Tapes,437,15770
+@node Problems,460,16769
+@node Concept Index,Concept Index473,17289
 
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\texinfoversion26,1035
diff --git a/test/manual/etags/ETAGS.good_6 b/test/manual/etags/ETAGS.good_6
index 0a31ed0..86df93a 100644
--- a/test/manual/etags/ETAGS.good_6
+++ b/test/manual/etags/ETAGS.good_6
@@ -4297,13 +4297,13 @@ tex-src/gzip.texi,303
 @node Top,62,2139
 @node Copying,80,2652
 @node Overview,83,2705
-@node Sample,166,7272
-@node Invoking gzip,Invoking gzip210,8828
-@node Advanced usage,Advanced usage357,13496
-@node Environment,420,15208
-@node Tapes,437,15769
-@node Problems,460,16768
-@node Concept Index,Concept Index473,17288
+@node Sample,166,7273
+@node Invoking gzip,Invoking gzip210,8829
+@node Advanced usage,Advanced usage357,13497
+@node Environment,420,15209
+@node Tapes,437,15770
+@node Problems,460,16769
+@node Concept Index,Concept Index473,17289
 
 tex-src/texinfo.tex,30627
 \def\texinfoversion{\texinfoversion26,1035



reply via email to

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