emacs-diffs
[Top][All Lists]
Advanced

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

master 1b11fca: Merge from origin/emacs-28


From: Glenn Morris
Subject: master 1b11fca: Merge from origin/emacs-28
Date: Wed, 6 Oct 2021 10:57:26 -0400 (EDT)

branch: master
commit 1b11fcae92e583621e6ef90fe777b15a34ac2623
Merge: 444dfc0 1ccd3eb
Author: Glenn Morris <rgm@gnu.org>
Commit: Glenn Morris <rgm@gnu.org>

    Merge from origin/emacs-28
    
    1ccd3eb721 (origin/emacs-28) ; Fix typo in etc/NEWS
    0f28ee94ac * NEWS: Mention rcirc connects to #emacs by default
    aacafbe267 Refactor mh-utils-tests macro 'with-mh-test-env'
    ead5c5cc51 Avoid using variable before it has been initialized
    b2c50d7cf3 Clarify docstring of blink-matching-paren
    d2a34cabcf ; Very minor touch-up to a recent change
    36a7ce4393 ; * doc/emacs/trouble.texi (After a Crash): Fix typo.
    1cd1b2835b * doc/misc/gnus.texi (Loose Threads): Use regexp-opt in ex...
    9f041cdfac Bump project.el version
    ad2287e659 Retain compatibility with older project.el projects
    d86b2e59c7 native-comp-available-p is the definitive test
    1b383ac424 Minor fix of a recently installed documentation change
    4d76765b6c Fix md5 issue in recent Gnulib merge
    18308b739a Tweak recent 'configure' fix
    
    # Conflicts:
    #   etc/NEWS
---
 admin/merge-gnulib                  |   5 +-
 configure.ac                        |   3 -
 doc/emacs/search.texi               |   4 +-
 doc/emacs/trouble.texi              |   2 +-
 doc/lispintro/emacs-lisp-intro.texi |   2 +-
 doc/lispref/compile.texi            |   3 +-
 doc/misc/gnus.texi                  |  21 ++----
 etc/NEWS.28                         |   5 +-
 lib/gnulib.mk.in                    |  12 ++-
 lib/md5-stream.c                    | 141 ++++++++++++++++++++++++++++++++++++
 lisp/emacs-lisp/package.el          |   3 +-
 lisp/ibuffer.el                     |   3 +-
 lisp/progmodes/project.el           |   2 +-
 lisp/progmodes/xref.el              |   2 +-
 lisp/simple.el                      |  15 ++--
 m4/gnulib-comp.m4                   |   2 +
 test/lisp/mh-e/mh-utils-tests.el    |  38 +++++-----
 17 files changed, 209 insertions(+), 54 deletions(-)

diff --git a/admin/merge-gnulib b/admin/merge-gnulib
index 10cc73a..886f37e 100755
--- a/admin/merge-gnulib
+++ b/admin/merge-gnulib
@@ -30,7 +30,8 @@ GNULIB_MODULES='
   canonicalize-lgpl
   careadlinkat close-stream copy-file-range
   count-leading-zeros count-one-bits count-trailing-zeros
-  crypto/md5-buffer crypto/sha1-buffer crypto/sha256-buffer 
crypto/sha512-buffer
+  crypto/md5 crypto/md5-buffer
+  crypto/sha1-buffer crypto/sha256-buffer crypto/sha512-buffer
   d-type diffseq double-slash-root dtoastr dtotimespec dup2
   environ execinfo explicit_bzero faccessat
   fchmodat fcntl fcntl-h fdopendir file-has-acl
@@ -49,7 +50,7 @@ GNULIB_MODULES='
 '
 
 AVOIDED_MODULES='
-  btowc close dup fchdir fstat langinfo lock
+  btowc close crypto/af_alg dup fchdir fstat langinfo lock
   mbrtowc mbsinit memchr mkdir msvc-inval msvc-nothrow nl_langinfo
   openat-die opendir pthread-h raise
   save-cwd select setenv sigprocmask stat stdarg stdbool
diff --git a/configure.ac b/configure.ac
index 0797492..bd7ff2e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -875,9 +875,6 @@ done
 ac_func_list=$funcs
 # Emacs does not use the wchar or wctype-h modules.
 AC_DEFUN([gt_TYPE_WINT_T],
-  [GNULIB_OVERRIDES_WINT_T=0
-   AC_SUBST([GNULIB_OVERRIDES_WINT_T])])
-AC_DEFUN([gt_TYPE_WINT_T],
   [GNULIBHEADERS_OVERRIDE_WINT_T=0
    AC_SUBST([GNULIBHEADERS_OVERRIDE_WINT_T])])
 
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index 761161b..f6d9cb3 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -1331,8 +1331,8 @@ matches @w{@samp{foo bar}}, @w{@samp{foo@ @ bar}},
 precisely, Emacs matches each sequence of space characters in the
 search string to a regular expression specified by the variable
 @code{search-whitespace-regexp}.  For example, to make spaces match
-sequences of newlines as well as spaces, set it to
-@samp{"[[:space:]\n]+"}.  The default value of this variable considers
+sequences of newlines as well as spaces, set it to the regular expression
+@samp{[[:space:]\n]+}.  The default value of this variable considers
 any sequence of spaces and tab characters as whitespace.
 
   If you want whitespace characters to match exactly, you can turn lax
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index 60b5cc7..027086c 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -393,7 +393,7 @@ this---saving them---updates the files themselves.
 associated with any files, or if the autosave was not recent enough to
 have recorded important changes, you can use the
 @file{etc/emacs-buffer.gdb} script with GDB (the GNU Debugger) to
-retrieve them from a core dump--provided that a core dump was saved,
+retrieve them from a core dump---provided that a core dump was saved,
 and that the Emacs executable was not stripped of its debugging
 symbols.
 
diff --git a/doc/lispintro/emacs-lisp-intro.texi 
b/doc/lispintro/emacs-lisp-intro.texi
index 9dbf854..32c39c7 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -13475,7 +13475,7 @@ What we need to do is fill in the slots.
 
 The name of the function should be self-explanatory and easy
 to remember.  @code{count-words-region} is the obvious choice.  Since
-that name is now used for the standard Emacs command to count words, we
+that name is used for the standard Emacs command to count words, we
 will name our implementation @code{@value{COUNT-WORDS}}.
 
 The function counts words within a region.  This means that the
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index 15d1f4c..523758c 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -811,8 +811,7 @@ for you to be able to native-compile Lisp code.
 
 @vindex native-compile@r{, a Lisp feature}
   To determine whether the current Emacs process can produce and load
-natively-compiled Lisp code, test whether the @code{native-compile}
-feature is available (@pxref{Named Features}).  Alternatively, call
+natively-compiled Lisp code, call
 @code{native-comp-available-p} (@pxref{Native-Compilation Functions}).
 
   Unlike byte-compiled code, natively-compiled Lisp code is executed
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 0c06558..6c892bc 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -7130,20 +7130,15 @@ as 10, you might consider setting this variable to 
something sensible:
 (setq gnus-simplify-ignored-prefixes
       (concat
        "\\`\\[?\\("
-       (mapconcat
-        'identity
-        '("looking"
-          "wanted" "followup" "summary\\( of\\)?"
-          "help" "query" "problem" "question"
-          "answer" "reference" "announce"
-          "How can I" "How to" "Comparison of"
-          ;; ...
-          )
-        "\\|")
+       (regexp-opt '("looking"
+                     "wanted" "followup" "summary" "summary of"
+                     "help" "query" "problem" "question"
+                     "answer" "reference" "announce"
+                     "How can I" "How to" "Comparison of"
+                     ;; ...
+                     ))
        "\\)\\s *\\("
-       (mapconcat 'identity
-                  '("for" "for reference" "with" "about")
-                  "\\|")
+       (regexp-opt '("for" "for reference" "with" "about"))
        "\\)?\\]?:?[ \t]*"))
 @end lisp
 
diff --git a/etc/NEWS.28 b/etc/NEWS.28
index 2274588..8808413 100644
--- a/etc/NEWS.28
+++ b/etc/NEWS.28
@@ -1168,7 +1168,7 @@ search string is at least this long.  
'lazy-highlight-initial-delay'
 still applies for shorter search strings, which avoids flicker in the
 search buffer due to too many matches being highlighted.
 
----
++++
 *** The default 'search-whitespace-regexp' value has changed.
 This used to be "\\s-+", which meant that it was mode-dependent whether
 newlines were included in the whitespace set.  This has now been
@@ -3032,6 +3032,9 @@ Face 'mh-folder-whitelisted' is renamed 
'mh-folder-allowlisted'.
 *** rcirc now supports SASL authentication.
 
 ---
+*** #emacs on Libera.chat has been added to 'rcirc-server-alist'.
+
+---
 *** rcirc connects asynchronously.
 
 ---
diff --git a/lib/gnulib.mk.in b/lib/gnulib.mk.in
index bac27f3..e9a1a5d 100644
--- a/lib/gnulib.mk.in
+++ b/lib/gnulib.mk.in
@@ -36,6 +36,7 @@
 #  --no-vc-files \
 #  --avoid=btowc \
 #  --avoid=close \
+#  --avoid=crypto/af_alg \
 #  --avoid=dup \
 #  --avoid=fchdir \
 #  --avoid=fstat \
@@ -79,6 +80,7 @@
 #  count-leading-zeros \
 #  count-one-bits \
 #  count-trailing-zeros \
+#  crypto/md5 \
 #  crypto/md5-buffer \
 #  crypto/sha1-buffer \
 #  crypto/sha256-buffer \
@@ -544,8 +546,8 @@ GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
 GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
 GMALLOC_OBJ = @GMALLOC_OBJ@
 GMP_H = @GMP_H@
-GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
 GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@
 GNUSTEP_CFLAGS = @GNUSTEP_CFLAGS@
 GNU_OBJC_CFLAGS = @GNU_OBJC_CFLAGS@
@@ -1473,6 +1475,14 @@ EXTRA_DIST += count-trailing-zeros.h
 endif
 ## end   gnulib module count-trailing-zeros
 
+## begin gnulib module crypto/md5
+ifeq (,$(OMIT_GNULIB_MODULE_crypto/md5))
+
+libgnu_a_SOURCES += md5-stream.c
+
+endif
+## end   gnulib module crypto/md5
+
 ## begin gnulib module crypto/md5-buffer
 ifeq (,$(OMIT_GNULIB_MODULE_crypto/md5-buffer))
 
diff --git a/lib/md5-stream.c b/lib/md5-stream.c
new file mode 100644
index 0000000..fb483b7
--- /dev/null
+++ b/lib/md5-stream.c
@@ -0,0 +1,141 @@
+/* Functions to compute MD5 message digest of files or memory blocks.
+   according to the definition of MD5 in RFC 1321 from April 1992.
+   Copyright (C) 1995-1997, 1999-2001, 2005-2006, 2008-2021 Free Software
+   Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.  */
+
+#include <config.h>
+
+/* Specification.  */
+#if HAVE_OPENSSL_MD5
+# define GL_OPENSSL_INLINE _GL_EXTERN_INLINE
+#endif
+#include "md5.h"
+
+#include <stdlib.h>
+
+#if USE_UNLOCKED_IO
+# include "unlocked-io.h"
+#endif
+
+#include "af_alg.h"
+
+#ifdef _LIBC
+# include <endian.h>
+# if __BYTE_ORDER == __BIG_ENDIAN
+#  define WORDS_BIGENDIAN 1
+# endif
+/* We need to keep the namespace clean so define the MD5 function
+   protected using leading __ .  */
+# define md5_init_ctx __md5_init_ctx
+# define md5_process_block __md5_process_block
+# define md5_process_bytes __md5_process_bytes
+# define md5_finish_ctx __md5_finish_ctx
+# define md5_stream __md5_stream
+#endif
+
+#define BLOCKSIZE 32768
+#if BLOCKSIZE % 64 != 0
+# error "invalid BLOCKSIZE"
+#endif
+
+/* Compute MD5 message digest for bytes read from STREAM.  The
+   resulting message digest number will be written into the 16 bytes
+   beginning at RESBLOCK.  */
+int
+md5_stream (FILE *stream, void *resblock)
+{
+  switch (afalg_stream (stream, "md5", resblock, MD5_DIGEST_SIZE))
+    {
+    case 0: return 0;
+    case -EIO: return 1;
+    }
+
+  char *buffer = malloc (BLOCKSIZE + 72);
+  if (!buffer)
+    return 1;
+
+  struct md5_ctx ctx;
+  md5_init_ctx (&ctx);
+  size_t sum;
+
+  /* Iterate over full file contents.  */
+  while (1)
+    {
+      /* We read the file in blocks of BLOCKSIZE bytes.  One call of the
+         computation function processes the whole buffer so that with the
+         next round of the loop another block can be read.  */
+      size_t n;
+      sum = 0;
+
+      /* Read block.  Take care for partial reads.  */
+      while (1)
+        {
+          /* Either process a partial fread() from this loop,
+             or the fread() in afalg_stream may have gotten EOF.
+             We need to avoid a subsequent fread() as EOF may
+             not be sticky.  For details of such systems, see:
+             https://sourceware.org/bugzilla/show_bug.cgi?id=1190  */
+          if (feof (stream))
+            goto process_partial_block;
+
+          n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream);
+
+          sum += n;
+
+          if (sum == BLOCKSIZE)
+            break;
+
+          if (n == 0)
+            {
+              /* Check for the error flag IFF N == 0, so that we don't
+                 exit the loop after a partial read due to e.g., EAGAIN
+                 or EWOULDBLOCK.  */
+              if (ferror (stream))
+                {
+                  free (buffer);
+                  return 1;
+                }
+              goto process_partial_block;
+            }
+        }
+
+      /* Process buffer with BLOCKSIZE bytes.  Note that
+         BLOCKSIZE % 64 == 0
+       */
+      md5_process_block (buffer, BLOCKSIZE, &ctx);
+    }
+
+process_partial_block:
+
+  /* Process any remaining bytes.  */
+  if (sum > 0)
+    md5_process_bytes (buffer, sum, &ctx);
+
+  /* Construct result in desired memory.  */
+  md5_finish_ctx (&ctx, resblock);
+  free (buffer);
+  return 0;
+}
+
+/*
+ * Hey Emacs!
+ * Local Variables:
+ * coding: utf-8
+ * End:
+ */
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 62f5fc7..5445fa9 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1081,8 +1081,7 @@ This assumes that `pkg-desc' has already been activated 
with
   "Native compile installed package PKG-DESC asynchronously.
 This assumes that `pkg-desc' has already been activated with
 `package-activate-1'."
-  (when (and (featurep 'native-compile)
-             (native-comp-available-p))
+  (when (native-comp-available-p)
     (let ((warning-minimum-level :error))
       (native-compile-async (package-desc-dir pkg-desc) t))))
 
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 6c01805..046595a 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -1079,7 +1079,8 @@ a new window in the current frame, splitting vertically."
   ;; Make sure that redisplay is performed, otherwise there can be a
   ;; bad interaction with code in the window-scroll-functions hook
   (redisplay t)
-  (when (buffer-local-value 'ibuffer-auto-mode (window-buffer))
+  (when (and (boundp 'ibuffer-auto-mode) ; ibuf-ext.el might not be loaded yet
+             (buffer-local-value 'ibuffer-auto-mode (window-buffer)))
     (fit-window-to-buffer
      nil (and owin
               (/ (frame-height)
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index 57a961c..3eaa789 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -1,7 +1,7 @@
 ;;; project.el --- Operations on the current project  -*- lexical-binding: t; 
-*-
 
 ;; Copyright (C) 2015-2021 Free Software Foundation, Inc.
-;; Version: 0.7.1
+;; Version: 0.8.0
 ;; Package-Requires: ((emacs "26.1") (xref "1.0.2"))
 
 ;; This is a GNU ELPA :core package.  Avoid using functionality that
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el
index 210fc2b..f4716fe 100644
--- a/lisp/progmodes/xref.el
+++ b/lisp/progmodes/xref.el
@@ -1025,7 +1025,7 @@ Return an alist of the form ((GROUP . (XREF ...)) ...)."
                    (eq xref-file-name-display 'project-relative)
                    (project-current)))
          (project-root (and project
-                            (expand-file-name (project-root project)))))
+                            (expand-file-name (xref--project-root project)))))
     (mapcar
      (lambda (pair)
        (cons (xref--group-name-for-display (car pair) project-root)
diff --git a/lisp/simple.el b/lisp/simple.el
index 0427154..d7030c0 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -8429,11 +8429,16 @@ presented."
 
 (defcustom blink-matching-paren t
   "Non-nil means show matching open-paren when close-paren is inserted.
-If t, highlight the paren.  If `jump', briefly move cursor to its
-position.  If `jump-offscreen', move cursor there even if the
-position is off screen.  With any other non-nil value, the
-off-screen position of the opening paren will be shown in the
-echo area."
+In addition, if the opening paren is not visible on screen, show
+its position in the echo area.
+
+The valid values are:
+
+  nil               Disable.
+  non-nil           Highlight the opening paren.
+  `jump'            Briefly move cursor to its position.
+  `jump-offscreen'  Briefly move cursor to its position,
+                    even if the opening paren is not on screen."
   :type '(choice
           (const :tag "Disable" nil)
           (const :tag "Highlight" t)
diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4
index dd5bde8..a795fe7 100644
--- a/m4/gnulib-comp.m4
+++ b/m4/gnulib-comp.m4
@@ -63,6 +63,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module count-leading-zeros:
   # Code from module count-one-bits:
   # Code from module count-trailing-zeros:
+  # Code from module crypto/md5:
   # Code from module crypto/md5-buffer:
   # Code from module crypto/sha1-buffer:
   # Code from module crypto/sha256-buffer:
@@ -1207,6 +1208,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/malloc/scratch_buffer_grow.c
   lib/malloc/scratch_buffer_grow_preserve.c
   lib/malloc/scratch_buffer_set_array_size.c
+  lib/md5-stream.c
   lib/md5.c
   lib/md5.h
   lib/memmem.c
diff --git a/test/lisp/mh-e/mh-utils-tests.el b/test/lisp/mh-e/mh-utils-tests.el
index 82afbab..bf684db 100644
--- a/test/lisp/mh-e/mh-utils-tests.el
+++ b/test/lisp/mh-e/mh-utils-tests.el
@@ -95,26 +95,28 @@ install an MH variant and test it interactively."
              (mh-sub-folders-cache (make-hash-table :test #'equal))
              ;; remember the original value
              (original-mh-envvar (getenv "MH")))
-     (unless mh-test-variant-logged-already
-       (mh-variant-set mh-variant)
-       (setq mh-test-variant-logged-already t))
      (unwind-protect
          (progn
-           (if mh-variant-in-use
-               (setq temp-home-dir (mh-test-utils-setup-with-variant))
-             (mh-test-utils-setup-with-mocks))
+           (setq temp-home-dir (mh-test-utils-setup))
            ,@body)
        (if temp-home-dir (delete-directory temp-home-dir t))
        (setenv "MH" original-mh-envvar))))
 
-(defun mh-ensure-native-trampolines ()
-  "Build head of time the trampolines we'll need.
-As `call-process'' and `file-directory-p' will be redefined, the
-native compiler will invoke `call-process' to compile the
-respective trampolines.  To avoid interferences with the
-`call-process' mocking we build these AOT."
-  (when (featurep 'native-compile)
-    (mapc #'comp-subr-trampoline-install '(call-process file-directory-p))))
+(defun mh-test-utils-setup ()
+  "Set dynamically bound variables needed by mock and/or variants.
+Return the name of the root of the created directory tree, if any."
+  (unless mh-test-variant-logged-already
+    (mh-variant-set mh-variant)
+    (setq mh-test-variant-logged-already t))
+  ;; As `call-process'' and `file-directory-p' will be redefined, the
+  ;; native compiler will invoke `call-process' to compile the
+  ;; respective trampolines.  To avoid interference with the
+  ;; `call-process' mocking, we build these ahead of time.
+  (when (native-comp-available-p)
+    (mapc #'comp-subr-trampoline-install '(call-process file-directory-p)))
+  (if mh-variant-in-use
+      (mh-test-utils-setup-with-variant)
+    (mh-test-utils-setup-with-mocks)))
 
 (defun mh-test-utils-setup-with-mocks ()
   "Set dynamically bound variables so that MH programs are mocked out.
@@ -125,9 +127,10 @@ The tests use this method if no configured MH variant is 
found."
   (mh-populate-sub-folders-cache "+rela-folder/bar")
   (mh-populate-sub-folders-cache "+rela-folder/foo")
   (mh-populate-sub-folders-cache "+rela-folder/food")
-  (mh-ensure-native-trampolines)
   (fset 'call-process #'mh-test-utils-mock-call-process)
-  (fset 'file-directory-p #'mh-test-utils-mock-file-directory-p))
+  (fset 'file-directory-p #'mh-test-utils-mock-file-directory-p)
+  ;; no temp directory created
+  nil)
 
 (defun mh-test-utils-mock-call-process (program
                                         &optional _infile _destination _display
@@ -196,7 +199,7 @@ Return the name of the root of the created directory tree.
 Set dynamically bound variables so that MH programs may log.
 The tests use this method if a configured MH variant is found."
   (let* ((temp-home-dir
-          (make-temp-file "emacs-mh-e-unit-test" t))
+          (make-temp-file "emacs-mh-e-unit-test-" t))
          (profile (expand-file-name
                    ".mh_profile" temp-home-dir))
          (mail-dir (expand-file-name "Mail" temp-home-dir))
@@ -215,7 +218,6 @@ The tests use this method if a configured MH variant is 
found."
     (make-directory (expand-file-name "foo" abso-folder) t)
     (make-directory (expand-file-name "food" abso-folder) t)
     (setq mh-test-abs-folder abso-folder)
-    (mh-ensure-native-trampolines)
     (fset 'call-process #'mh-test-utils-log-call-process)
     (fset 'file-directory-p #'mh-test-utils-log-file-directory-p)
     temp-home-dir))



reply via email to

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