]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge from origin/emacs-28
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 7 Nov 2021 17:06:24 +0000 (18:06 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 7 Nov 2021 17:06:24 +0000 (18:06 +0100)
7fdb2ae412 Add some unit tests for 'abbreviate-file-name'
21de5e7b2e Fix compilation MinGW warnings
54b726c815 ; * etc/PROBLEMS: More specific recipe for WebKit-related ...
d85cf33e49 Escape '%' in filenames to fix flymake warnings
6243a43ac2 Fix search string generation in nnimap-make-thread-query
f05b8a939b Update to Org 9.5-68-g77e2ec

1  2 
etc/PROBLEMS
lisp/gnus/nnimap.el
src/w32.h
test/lisp/files-tests.el

diff --cc etc/PROBLEMS
Simple merge
Simple merge
diff --cc src/w32.h
index ec0f37123e8311d0eead3733384d790c5d26b0df,5aba0aed9a682ae57531e2923d5a5bc1a1c096d1..b31d66646c9605c60e89652bd8a98e3c127053c6
+++ b/src/w32.h
@@@ -159,11 -159,10 +159,11 @@@ extern void prepare_standard_handles (i
  
  /* Reset our standard handles to their original state.  */
  extern void reset_standard_handles (int in, int out,
-                                   int err, HANDLE handles[4]);
+                                   int err, HANDLE handles[3]);
  
 -/* Return the string resource associated with KEY of type TYPE.  */
 -extern LPBYTE w32_get_resource (const char * key, LPDWORD type);
 +/* Query Windows Registry and return the resource associated
 +   associated with KEY and NAME of type TYPE.  */
 +extern LPBYTE w32_get_resource (const char * key, const char * name, LPDWORD type);
  
  extern void release_listen_threads (void);
  extern void init_ntproc (int);
index c641851261d84e8ed017627566c8c7bb77211209,9547ac2b6952059190711ec6d7ebdaf7c9d5af6b..cf9d87f76d7f66de3790eedd14659c5f290df3ca
@@@ -1315,22 -1326,55 +1315,55 @@@ name (Bug#28412).
          (should (eq (buffer-size) 1))))))
  
  (ert-deftest files-tests-copy-directory ()
 -  (let* ((dir (make-temp-file "files-mkdir-test" t))
 -       (dirname (file-name-as-directory dir))
 -       (source (concat dirname "source"))
 -       (dest (concat dirname "dest/new/directory/"))
 -       (file (concat (file-name-as-directory source) "file"))
 -       (source2 (concat dirname "source2"))
 -       (dest2 (concat dirname "dest/new2")))
 -    (make-directory source)
 -    (write-region "" nil file)
 -    (copy-directory source dest t t t)
 -    (should (file-exists-p (concat dest "file")))
 -    (make-directory (concat (file-name-as-directory source2) "a") t)
 -    (copy-directory source2 dest2)
 -    (should (file-directory-p (concat (file-name-as-directory dest2) "a")))
 -    (delete-directory dir 'recursive)))
 +  (ert-with-temp-directory dir
 +    (let* ((dirname (file-name-as-directory dir))
 +           (source (concat dirname "source"))
 +           (dest (concat dirname "dest/new/directory/"))
 +           (file (concat (file-name-as-directory source) "file"))
 +           (source2 (concat dirname "source2"))
 +           (dest2 (concat dirname "dest/new2")))
 +      (make-directory source)
 +      (write-region "" nil file)
 +      (copy-directory source dest t t t)
 +      (should (file-exists-p (concat dest "file")))
 +      (make-directory (concat (file-name-as-directory source2) "a") t)
 +      (copy-directory source2 dest2)
 +      (should (file-directory-p (concat (file-name-as-directory dest2) "a")))
 +      (delete-directory dir 'recursive))))
  
+ (ert-deftest files-tests-abbreviate-file-name-homedir ()
+   ;; Check homedir abbreviation.
+   (let* ((homedir temporary-file-directory)
+          (process-environment (cons (format "HOME=%s" homedir)
+                                     process-environment))
+          (abbreviated-home-dir nil))
+     (should (equal "~/foo/bar"
+                    (abbreviate-file-name (concat homedir "foo/bar")))))
+   ;; Check that homedir abbreviation doesn't occur when homedir is just /.
+   (let* ((homedir "/")
+          (process-environment (cons (format "HOME=%s" homedir)
+                                     process-environment))
+          (abbreviated-home-dir nil))
+     (should (equal "/foo/bar"
+                    (abbreviate-file-name (concat homedir "foo/bar"))))))
+ (ert-deftest files-tests-abbreviate-file-name-directory-abbrev-alist ()
+     ;; Check `directory-abbrev-alist' abbreviation.
+     (let ((directory-abbrev-alist '(("\\`/nowhere/special" . "/nw/sp"))))
+       (should (equal "/nw/sp/here"
+                      (abbreviate-file-name "/nowhere/special/here"))))
+     ;; Check homedir and `directory-abbrev-alist' abbreviation.
+     (let* ((homedir temporary-file-directory)
+            (process-environment (cons (format "HOME=%s" homedir)
+                                       process-environment))
+            (abbreviated-home-dir nil)
+            (directory-abbrev-alist
+             `((,(concat "\\`" (regexp-quote homedir) "nowhere/special")
+               . ,(concat homedir "nw/sp")))))
+       (should (equal "~/nw/sp/here"
+                      (abbreviate-file-name
+                       (concat homedir "nowhere/special/here"))))))
  (ert-deftest files-tests-abbreviated-home-dir ()
    "Test that changing HOME does not confuse `abbreviate-file-name'.
  See <https://debbugs.gnu.org/19657#20>."