commit 14649c889083ba9cc685846e508864830bdc0c9f (HEAD, refs/remotes/origin/master) Author: Paul Eggert Date: Mon Jun 6 10:43:10 2016 -0700 Use standard Unicode names for Thai, Lao * lisp/language/lao-util.el, lisp/language/thai-util.el: Don’t override standard Unicode character name (Bug#23698). diff --git a/lisp/language/lao-util.el b/lisp/language/lao-util.el index 6103860..a42904f 100644 --- a/lisp/language/lao-util.el +++ b/lisp/language/lao-util.el @@ -38,100 +38,100 @@ (define-category ?v "Lao upper/lower vowel" lao-category-table) (define-category ?t "Lao tone" lao-category-table) -(let ((l '((?ກ consonant "LETTER KOR KAI'" "CHICKEN") - (?ຂ consonant "LETTER KHOR KHAI'" "EGG") - (?຃ invalid nil) - (?ຄ consonant "LETTER QHOR QHWARGN" "BUFFALO") - (?຅ invalid nil) - (? invalid nil) - (?ງ consonant "LETTER NGOR NGUU" "SNAKE") - (?ຈ consonant "LETTER JOR JUA" "BUDDHIST NOVICE") - (?ຉ invalid nil) - (?ຊ consonant "LETTER XOR X\"ARNG" "ELEPHANT") - (?຋ invalid nil) - (?ຌ invalid nil) - (?ຍ consonant "LETTER YOR YUNG" "MOSQUITO") - (?ຎ invalid nil) - (?ຎ invalid nil) - (?ຎ invalid nil) - (?ຎ invalid nil) - (?ຎ invalid nil) - (?ຎ invalid nil) - (?ດ consonant "LETTER DOR DANG" "NOSE") - (?ຕ consonant "LETTER TOR TAR" "EYE") - (?ຖ consonant "LETTER THOR THUNG" "TO ASK,QUESTION") - (?ທ consonant "LETTER DHOR DHARM" "FLAG") - (?ຘ invalid nil) - (?ນ consonant "LETTER NOR NOK" "BIRD") - (?ບ consonant "LETTER BOR BED" "FISHHOOK") - (?ປ consonant "LETTER POR PAR" "FISH") - (?ຜ consonant "LETTER HPOR HPER\"" "BEE") - (?ຝ consonant "LETTER FHOR FHAR" "WALL") - (?ພ consonant "LETTER PHOR PHUU" "MOUNTAIN") - (?ຟ consonant "LETTER FOR FAI" "FIRE") - (?ຠ invalid nil) - (?ມ consonant "LETTER MOR MAR\"" "HORSE") - (?ຢ consonant "LETTER GNOR GNAR" "MEDICINE") - (?ຣ consonant "LETTER ROR ROD" "CAR") - (?຤ invalid nil) - (?ລ consonant "LETTER LOR LIING" "MONKEY") - (?຦ invalid nil) - (?ວ consonant "LETTER WOR WII" "HAND FAN") - (?ຨ invalid nil) - (?ຩ invalid nil) - (?ສ consonant "LETTER SOR SEA" "TIGER") - (?ຫ consonant "LETTER HHOR HHAI" "JAR") - (?ຬ invalid nil) - (?ອ consonant "LETTER OR OOW" "TAKE") - (?ຮ consonant "LETTER HOR HEA" "BOAT") - (?ຯ special "ELLIPSIS") - (?ະ vowel-base "VOWEL SIGN SARA A") - (?ັ vowel-upper "VOWEL SIGN MAI KAN") - (?າ vowel-base "VOWEL SIGN SARA AR") - (?ຳ vowel-base "VOWEL SIGN SARA AM") - (?ິ vowel-upper "VOWEL SIGN SARA I") - (?ີ vowel-upper "VOWEL SIGN SARA II") - (?ຶ vowel-upper "VOWEL SIGN SARA EU") - (?ື vowel-upper "VOWEL SIGN SARA UR") - (?ຸ vowel-lower "VOWEL SIGN SARA U") - (?ູ vowel-lower "VOWEL SIGN SARA UU") - (?຺ invalid nil) - (?ົ vowel-upper "VOWEL SIGN MAI KONG") - (?ຼ semivowel-lower "SEMIVOWEL SIGN LO") - (?ຽ vowel-base "SEMIVOWEL SIGN SARA IA") - (?຾ invalid nil) - (?຿ invalid nil) - (?ເ vowel-base "VOWEL SIGN SARA EE") - (?ແ vowel-base "VOWEL SIGN SARA AA") - (?ໂ vowel-base "VOWEL SIGN SARA OO") - (?ໃ vowel-base "VOWEL SIGN SARA EI MAI MUAN\"") - (?ໄ vowel-base "VOWEL SIGN SARA AI MAI MAY") - (?໅ invalid nil) - (?ໆ special "KO LA (REPETITION)") - (?໇ invalid nil) - (?່ tone "TONE MAI EK") - (?້ tone "TONE MAI THO") - (?໊ tone "TONE MAI TI") - (?໋ tone "TONE MAI JADTAWAR") - (?໌ tone "CANCELLATION MARK") - (?ໍ vowel-upper "VOWEL SIGN SARA OR") - (?໎ invalid nil) - (?໏ invalid nil) - (?໐ special "DIGIT ZERO") - (?໑ special "DIGIT ONE") - (?໒ special "DIGIT TWO") - (?໓ special "DIGIT THREE") - (?໔ special "DIGIT FOUR") - (?໕ special "DIGIT FIVE") - (?໖ special "DIGIT SIX") - (?໗ special "DIGIT SEVEN") - (?໘ special "DIGIT EIGHT") - (?໙ special "DIGIT NINE") - (?໚ invalid nil) - (?໛ invalid nil) - (?ໜ consonant "LETTER NHOR NHUU" "MOUSE") - (?ໝ consonant "LETTER MHOR MHAR" "DOG") - (?ໞ invalid nil))) +(let ((l '((?ກ consonant "CHICKEN") + (?ຂ consonant "EGG") + (?຃ invalid) + (?ຄ consonant "BUFFALO") + (?຅ invalid) + (? invalid) + (?ງ consonant "SNAKE") + (?ຈ consonant "BUDDHIST NOVICE") + (?ຉ invalid) + (?ຊ consonant "ELEPHANT") + (?຋ invalid) + (?ຌ invalid) + (?ຍ consonant "MOSQUITO") + (?ຎ invalid) + (?ຎ invalid) + (?ຎ invalid) + (?ຎ invalid) + (?ຎ invalid) + (?ຎ invalid) + (?ດ consonant "NOSE") + (?ຕ consonant "EYE") + (?ຖ consonant "TO ASK,QUESTION") + (?ທ consonant "FLAG") + (?ຘ invalid) + (?ນ consonant "BIRD") + (?ບ consonant "FISHHOOK") + (?ປ consonant "FISH") + (?ຜ consonant "BEE") + (?ຝ consonant "WALL") + (?ພ consonant "MOUNTAIN") + (?ຟ consonant "FIRE") + (?ຠ invalid) + (?ມ consonant "HORSE") + (?ຢ consonant "MEDICINE") + (?ຣ consonant "CAR") + (?຤ invalid) + (?ລ consonant "MONKEY") + (?຦ invalid) + (?ວ consonant "HAND FAN") + (?ຨ invalid) + (?ຩ invalid) + (?ສ consonant "TIGER") + (?ຫ consonant "JAR") + (?ຬ invalid) + (?ອ consonant "TAKE") + (?ຮ consonant "BOAT") + (?ຯ special) + (?ະ vowel-base) + (?ັ vowel-upper) + (?າ vowel-base) + (?ຳ vowel-base) + (?ິ vowel-upper) + (?ີ vowel-upper) + (?ຶ vowel-upper) + (?ື vowel-upper) + (?ຸ vowel-lower) + (?ູ vowel-lower) + (?຺ invalid) + (?ົ vowel-upper) + (?ຼ semivowel-lower) + (?ຽ vowel-base) + (?຾ invalid) + (?຿ invalid) + (?ເ vowel-base) + (?ແ vowel-base) + (?ໂ vowel-base) + (?ໃ vowel-base) + (?ໄ vowel-base) + (?໅ invalid) + (?ໆ special) + (?໇ invalid) + (?່ tone) + (?້ tone) + (?໊ tone) + (?໋ tone) + (?໌ tone) + (?ໍ vowel-upper) + (?໎ invalid) + (?໏ invalid) + (?໐ special) + (?໑ special) + (?໒ special) + (?໓ special) + (?໔ special) + (?໕ special) + (?໖ special) + (?໗ special) + (?໘ special) + (?໙ special) + (?໚ invalid) + (?໛ invalid) + (?ໜ consonant "MOUSE") + (?ໝ consonant "DOG") + (?ໞ invalid))) elm) (while l (setq elm (car l) l (cdr l)) @@ -146,8 +146,7 @@ ((eq ptype 'tone) (modify-category-entry char ?t lao-category-table))) (put-char-code-property char 'phonetic-type ptype) - (put-char-code-property char 'name (nth 2 elm)) - (put-char-code-property char 'meaning (nth 3 elm))))) + (put-char-code-property char 'meaning (nth 2 elm))))) ;; The general composing rules are as follows: ;; diff --git a/lisp/language/thai-util.el b/lisp/language/thai-util.el index a9af5cf..618af57 100644 --- a/lisp/language/thai-util.el +++ b/lisp/language/thai-util.el @@ -55,100 +55,100 @@ "\\cc\\(\\cu\\|\\cI\\cU\\|\\cv\\ct?\\)\\|\\cv\\ct\\|\\cI\\cU" "Regular expression matching a Thai composite sequence.") -(let ((l '((?ก consonant "LETTER KO KAI") ; 0xA1 - (?ข consonant "LETTER KHO KHAI") ; 0xA2 - (?ฃ consonant "LETTER KHO KHUAT") ; 0xA3 - (?ค consonant "LETTER KHO KHWAI") ; 0xA4 - (?ฅ consonant "LETTER KHO KHON") ; 0xA5 - (?ฆ consonant "LETTER KHO RAKHANG") ; 0xA6 - (?ง consonant "LETTER NGO NGU") ; 0xA7 - (?จ consonant "LETTER CHO CHAN") ; 0xA8 - (?ฉ consonant "LETTER CHO CHING") ; 0xA9 - (?ช consonant "LETTER CHO CHANG") ; 0xAA - (?ซ consonant "LETTER SO SO") ; 0xAB - (?ฌ consonant "LETTER CHO CHOE") ; 0xAC - (?ญ consonant "LETTER YO YING") ; 0xAD - (?ฎ consonant "LETTER DO CHADA") ; 0xAE - (?ฏ consonant "LETTER TO PATAK") ; 0xAF - (?ฐ consonant "LETTER THO THAN") ; 0xB0 - (?ฑ consonant "LETTER THO NANGMONTHO") ; 0xB1 - (?ฒ consonant "LETTER THO PHUTHAO") ; 0xB2 - (?ณ consonant "LETTER NO NEN") ; 0xB3 - (?ด consonant "LETTER DO DEK") ; 0xB4 - (?ต consonant "LETTER TO TAO") ; 0xB5 - (?ถ consonant "LETTER THO THUNG") ; 0xB6 - (?ท consonant "LETTER THO THAHAN") ; 0xB7 - (?ธ consonant "LETTER THO THONG") ; 0xB8 - (?น consonant "LETTER NO NU") ; 0xB9 - (?บ consonant "LETTER BO BAIMAI") ; 0xBA - (?ป consonant "LETTER PO PLA") ; 0xBB - (?ผ consonant "LETTER PHO PHUNG") ; 0xBC - (?ฝ consonant "LETTER FO FA") ; 0xBD - (?พ consonant "LETTER PHO PHAN") ; 0xBE - (?ฟ consonant "LETTER FO FAN") ; 0xBF - (?ภ consonant "LETTER PHO SAMPHAO") ; 0xC0 - (?ม consonant "LETTER MO MA") ; 0xC1 - (?ย consonant "LETTER YO YAK") ; 0xC2 - (?ร consonant "LETTER RO RUA") ; 0xC3 - (?ฤ vowel-base "LETTER RU (Pali vowel letter)") ; 0xC4 - (?ล consonant "LETTER LO LING") ; 0xC5 - (?ฦ vowel-base "LETTER LU (Pali vowel letter)") ; 0xC6 - (?ว consonant "LETTER WO WAEN") ; 0xC7 - (?ศ consonant "LETTER SO SALA") ; 0xC8 - (?ษ consonant "LETTER SO RUSI") ; 0xC9 - (?ส consonant "LETTER SO SUA") ; 0xCA - (?ห consonant "LETTER HO HIP") ; 0xCB - (?ฬ consonant "LETTER LO CHULA") ; 0xCC - (?อ consonant "LETTER O ANG") ; 0xCD - (?ฮ consonant "LETTER HO NOK HUK") ; 0xCE - (?ฯ special "PAI YAN NOI (abbreviation)") ; 0xCF - (?ะ vowel-base "VOWEL SIGN SARA A") ; 0xD0 - (?ั vowel-upper "VOWEL SIGN MAI HAN-AKAT N/S-T") ; 0xD1 - (?า vowel-base "VOWEL SIGN SARA AA") ; 0xD2 - (?ำ vowel-base "VOWEL SIGN SARA AM") ; 0xD3 - (?ิ vowel-upper "VOWEL SIGN SARA I N/S-T") ; 0xD4 - (?ี vowel-upper "VOWEL SIGN SARA II N/S-T") ; 0xD5 - (?ึ vowel-upper "VOWEL SIGN SARA UE N/S-T") ; 0xD6 - (?ื vowel-upper "VOWEL SIGN SARA UEE N/S-T") ; 0xD7 - (?ุ vowel-lower "VOWEL SIGN SARA U N/S-B") ; 0xD8 - (?ู vowel-lower "VOWEL SIGN SARA UU N/S-B") ; 0xD9 - (?ฺ vowel-lower "VOWEL SIGN PHINTHU N/S-B (Pali virama)") ; 0xDA - (?฻ invalid nil) ; 0xDA - (?฼ invalid nil) ; 0xDC - (?฽ invalid nil) ; 0xDC - (?฾ invalid nil) ; 0xDC - (?฿ special "BAHT SIGN (currency symbol)") ; 0xDF - (?เ vowel-base "VOWEL SIGN SARA E") ; 0xE0 - (?แ vowel-base "VOWEL SIGN SARA AE") ; 0xE1 - (?โ vowel-base "VOWEL SIGN SARA O") ; 0xE2 - (?ใ vowel-base "VOWEL SIGN SARA MAI MUAN") ; 0xE3 - (?ไ vowel-base "VOWEL SIGN SARA MAI MALAI") ; 0xE4 - (?ๅ vowel-base "LAK KHANG YAO") ; 0xE5 - (?ๆ special "MAI YAMOK (repetition)") ; 0xE6 - (?็ sign-upper "VOWEL SIGN MAI TAI KHU N/S-T") ; 0xE7 - (?่ tone "TONE MAI EK N/S-T") ; 0xE8 - (?้ tone "TONE MAI THO N/S-T") ; 0xE9 - (?๊ tone "TONE MAI TRI N/S-T") ; 0xEA - (?๋ tone "TONE MAI CHATTAWA N/S-T") ; 0xEB - (?์ sign-upper "THANTHAKHAT N/S-T (cancellation mark)") ; 0xEC - (?ํ sign-upper "NIKKHAHIT N/S-T (final nasal)") ; 0xED - (?๎ sign-upper "YAMAKKAN N/S-T") ; 0xEE - (?๏ special "FONRMAN") ; 0xEF - (?๐ special "DIGIT ZERO") ; 0xF0 - (?๑ special "DIGIT ONE") ; 0xF1 - (?๒ special "DIGIT TWO") ; 0xF2 - (?๓ special "DIGIT THREE") ; 0xF3 - (?๔ special "DIGIT FOUR") ; 0xF4 - (?๕ special "DIGIT FIVE") ; 0xF5 - (?๖ special "DIGIT SIX") ; 0xF6 - (?๗ special "DIGIT SEVEN") ; 0xF7 - (?๘ special "DIGIT EIGHT") ; 0xF8 - (?๙ special "DIGIT NINE") ; 0xF9 - (?๚ special "ANGKHANKHU (ellipsis)") ; 0xFA - (?๛ special "KHOMUT (beginning of religious texts)") ; 0xFB - (?๜ invalid nil) ; 0xFC - (?๝ invalid nil) ; 0xFD - (?๞ invalid nil) ; 0xFE +(let ((l '((?ก consonant) ; 0xA1 + (?ข consonant) ; 0xA2 + (?ฃ consonant) ; 0xA3 + (?ค consonant) ; 0xA4 + (?ฅ consonant) ; 0xA5 + (?ฆ consonant) ; 0xA6 + (?ง consonant) ; 0xA7 + (?จ consonant) ; 0xA8 + (?ฉ consonant) ; 0xA9 + (?ช consonant) ; 0xAA + (?ซ consonant) ; 0xAB + (?ฌ consonant) ; 0xAC + (?ญ consonant) ; 0xAD + (?ฎ consonant) ; 0xAE + (?ฏ consonant) ; 0xAF + (?ฐ consonant) ; 0xB0 + (?ฑ consonant) ; 0xB1 + (?ฒ consonant) ; 0xB2 + (?ณ consonant) ; 0xB3 + (?ด consonant) ; 0xB4 + (?ต consonant) ; 0xB5 + (?ถ consonant) ; 0xB6 + (?ท consonant) ; 0xB7 + (?ธ consonant) ; 0xB8 + (?น consonant) ; 0xB9 + (?บ consonant) ; 0xBA + (?ป consonant) ; 0xBB + (?ผ consonant) ; 0xBC + (?ฝ consonant) ; 0xBD + (?พ consonant) ; 0xBE + (?ฟ consonant) ; 0xBF + (?ภ consonant) ; 0xC0 + (?ม consonant) ; 0xC1 + (?ย consonant) ; 0xC2 + (?ร consonant) ; 0xC3 + (?ฤ vowel-base) ; 0xC4 + (?ล consonant) ; 0xC5 + (?ฦ vowel-base) ; 0xC6 + (?ว consonant) ; 0xC7 + (?ศ consonant) ; 0xC8 + (?ษ consonant) ; 0xC9 + (?ส consonant) ; 0xCA + (?ห consonant) ; 0xCB + (?ฬ consonant) ; 0xCC + (?อ consonant) ; 0xCD + (?ฮ consonant) ; 0xCE + (?ฯ special) ; 0xCF + (?ะ vowel-base) ; 0xD0 + (?ั vowel-upper) ; 0xD1 + (?า vowel-base) ; 0xD2 + (?ำ vowel-base) ; 0xD3 + (?ิ vowel-upper) ; 0xD4 + (?ี vowel-upper) ; 0xD5 + (?ึ vowel-upper) ; 0xD6 + (?ื vowel-upper) ; 0xD7 + (?ุ vowel-lower) ; 0xD8 + (?ู vowel-lower) ; 0xD9 + (?ฺ vowel-lower) ; 0xDA + (?฻ invalid) ; 0xDA + (?฼ invalid) ; 0xDC + (?฽ invalid) ; 0xDC + (?฾ invalid) ; 0xDC + (?฿ special) ; 0xDF + (?เ vowel-base) ; 0xE0 + (?แ vowel-base) ; 0xE1 + (?โ vowel-base) ; 0xE2 + (?ใ vowel-base) ; 0xE3 + (?ไ vowel-base) ; 0xE4 + (?ๅ vowel-base) ; 0xE5 + (?ๆ special) ; 0xE6 + (?็ sign-upper) ; 0xE7 + (?่ tone) ; 0xE8 + (?้ tone) ; 0xE9 + (?๊ tone) ; 0xEA + (?๋ tone) ; 0xEB + (?์ sign-upper) ; 0xEC + (?ํ sign-upper) ; 0xED + (?๎ sign-upper) ; 0xEE + (?๏ special) ; 0xEF + (?๐ special) ; 0xF0 + (?๑ special) ; 0xF1 + (?๒ special) ; 0xF2 + (?๓ special) ; 0xF3 + (?๔ special) ; 0xF4 + (?๕ special) ; 0xF5 + (?๖ special) ; 0xF6 + (?๗ special) ; 0xF7 + (?๘ special) ; 0xF8 + (?๙ special) ; 0xF9 + (?๚ special) ; 0xFA + (?๛ special) ; 0xFB + (?๜ invalid) ; 0xFC + (?๝ invalid) ; 0xFD + (?๞ invalid) ; 0xFE )) elm) (while l @@ -170,8 +170,7 @@ (modify-category-entry char ?u thai-category-table) (if (= char ?์) ;; Give category `U' to "THANTHAKHAT". - (modify-category-entry char ?U thai-category-table)))) - (put-char-code-property char 'name (nth 2 elm))))) + (modify-category-entry char ?U thai-category-table))))))) (defun thai-compose-syllable (beg end &optional category-set string) (or category-set commit eeb138d314ecb799eb16959c1367da27699a9ad0 Author: Glenn Morris Date: Mon Jun 6 13:04:43 2016 -0400 * lisp/man.el (Man-reference-regexp, Man-default-man-entry): Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8. diff --git a/lisp/man.el b/lisp/man.el index 0410626..d127dec 100644 --- a/lisp/man.el +++ b/lisp/man.el @@ -308,7 +308,7 @@ This regular expression should start with a `^' character.") (defvar Man-reference-regexp (concat "\\(" Man-name-regexp - "\\(\n[ \t]+" Man-name-regexp "\\)*\\)[ \t]*(\\(" + "\\(‐?\n[ \t]+" Man-name-regexp "\\)*\\)[ \t]*(\\(" Man-section-regexp "\\))") "Regular expression describing a reference to another manpage.") @@ -779,7 +779,7 @@ POS defaults to `point'." ;; see this- ;; command-here(1) ;; Note: This code gets executed iff our entry is after POS. - (when (looking-at "[ \t\r\n]+\\([-a-zA-Z0-9._+:]+\\)([0-9])") + (when (looking-at "‐?[ \t\r\n]+\\([-a-zA-Z0-9._+:]+\\)([0-9])") (setq word (concat word (match-string-no-properties 1))) ;; Make sure the section number gets included by the code below. (goto-char (match-end 1))) commit c0462e120d064cb5943b31a9c8dfec1c62712a9f Author: Michael Albinus Date: Mon Jun 6 18:25:28 2016 +0200 Some fixes in filenotify-tests.el for cygwin * test/lisp/filenotify-tests.el (file-notify--test-timeout): Reintroduce value for cygwin, it's needed on slow systems. (file-notify--wait-for-events): Move up definition. (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'. (file-notify--test-with-events-check, file-notify--test-with-events) (file-notify-test08-watched-file-in-watched-dir): Use :random rather than `random. (file-notify-test06-many-events): Do not skip for cygwin. diff --git a/test/lisp/filenotify-tests.el b/test/lisp/filenotify-tests.el index a7f89cf..518a1eb 100644 --- a/test/lisp/filenotify-tests.el +++ b/test/lisp/filenotify-tests.el @@ -73,14 +73,23 @@ It is different for local and remote file notification libraries.") (cond ((file-remote-p temporary-file-directory) 6) ((string-equal (file-notify--test-library) "w32notify") 4) + ((eq system-type 'cygwin) 6) (t 3))) +(defmacro file-notify--wait-for-events (timeout until) + "Wait for and return file notification events until form UNTIL is true. +TIMEOUT is the maximum time to wait for, in seconds." + `(with-timeout (,timeout (ignore)) + (while (null ,until) + (read-event nil nil file-notify--test-read-event-timeout)))) + (defun file-notify--test-no-descriptors () "Check that `file-notify-descriptors' is an empty hash table. Return nil when any other file notification watch is still active." ;; Give read events a last chance. - (unless (zerop (hash-table-count file-notify-descriptors)) - (read-event nil nil file-notify--test-read-event-timeout)) + (file-notify--wait-for-events + (file-notify--test-timeout) + (zerop (hash-table-count file-notify-descriptors))) ;; Now check. (zerop (hash-table-count file-notify-descriptors))) @@ -331,20 +340,13 @@ and the event to `file-notify--test-events'." (expand-file-name (make-temp-name "file-notify-test") temporary-file-directory)) -(defmacro file-notify--wait-for-events (timeout until) - "Wait for and return file notification events until form UNTIL is true. -TIMEOUT is the maximum time to wait for, in seconds." - `(with-timeout (,timeout (ignore)) - (while (null ,until) - (read-event nil nil file-notify--test-read-event-timeout)))) - (defun file-notify--test-with-events-check (events) "Check whether received events match one of the EVENTS alternatives." (let (result) (dolist (elt events result) (setq result (or result - (if (eq (car elt) 'random) + (if (eq (car elt) :random) (equal (sort (cdr elt) 'string-lessp) (sort (mapcar #'cadr file-notify--test-events) 'string-lessp)) @@ -366,7 +368,7 @@ TIMEOUT is the maximum time to wait for, in seconds." "Run BODY collecting events and then compare with EVENTS. EVENTS is either a simple list of events, or a list of lists of events, which represent different possible results. The first -event of a list could be the pseudo event `random', which is +event of a list could be the pseudo event `:random', which is just an indicator for comparison. Don't wait longer than timeout seconds for the events to be @@ -377,7 +379,7 @@ delivered." (apply 'max (mapcar - (lambda (x) (length (if (eq (car x) 'random) (cdr x) x))) + (lambda (x) (length (if (eq (car x) :random) (cdr x) x))) events))) create-lockfiles) ;; Flush pending events. @@ -862,8 +864,6 @@ delivered." "Check that events are not dropped." :tags '(:expensive-test) (skip-unless (file-notify--test-local-enabled)) - ;; Under cygwin events arrive in random order. Impossible to define a test. - (skip-unless (not (eq system-type 'cygwin))) (should (setq file-notify--test-tmpfile @@ -902,6 +902,12 @@ delivered." (let (r) (dotimes (_i n r) (setq r (append '(deleted renamed) r))))) + ;; cygwin fires `changed' and `deleted' events, sometimes + ;; in random order. + ((eq system-type 'cygwin) + (let ((r '(:random))) + (dotimes (_i n r) + (setq r (append r '(changed deleted)))))) (t (make-list n 'renamed))) (let ((source-file-list source-file-list) (target-file-list target-file-list)) @@ -1090,7 +1096,7 @@ the file watch." events))) ;; gvfs-monitor-dir returns the events in random order. (when (string-equal "gvfs-monitor-dir" (file-notify--test-library)) - (setq events (cons 'random events))) + (setq events (cons :random events))) ;; Run the test. (file-notify--test-with-events events @@ -1109,7 +1115,7 @@ the file watch." ;; directory and the file monitor. The `stopped' event is ;; from the file monitor. It's undecided in which order the ;; the directory and the file monitor are triggered. - (file-notify--test-with-events '(random deleted deleted stopped) + (file-notify--test-with-events '(:random deleted deleted stopped) (delete-file file-notify--test-tmpfile1)) (should (file-notify-valid-p file-notify--test-desc1)) (should-not (file-notify-valid-p file-notify--test-desc2))