aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2016-02-09 14:23:10 -0800
committerPaul Eggert2016-02-09 14:23:10 -0800
commitb3fc7a3e763fb260cd932dc6aedbe7b4c810a73c (patch)
tree72495a45c9e58f16f6b09448f6956507da6ccf89
parentc71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5 (diff)
parent9ffe7ddd5e1ba93f327cfe985e9476571d7a2873 (diff)
downloademacs-b3fc7a3e763fb260cd932dc6aedbe7b4c810a73c.tar.gz
emacs-b3fc7a3e763fb260cd932dc6aedbe7b4c810a73c.zip
Merge from origin/emacs-25
9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic 16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu 3db6adb * lisp/isearch.el (search-default-mode) 4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode c77ffc8 Use monitor's resolution for positioning tooltips 49e5749 Fix file-notify-test on MS-Windows be1d874 Fix issues found by auditing w32notify code 87ae218 Extend etags Ruby support for accessors aa35257 Update publicsuffix.txt. 6816bff Ensure that Gnus dribble handling allows removing entries 691feae Be consistent when using encoded strings in nnimap data 3ed423b Display the decoded Gnus group name 5428b5b Use completion-ignore-case instead of defining command
-rw-r--r--doc/emacs/search.texi4
-rw-r--r--etc/NEWS2
-rw-r--r--etc/publicsuffix.txt215
-rw-r--r--lib-src/etags.c6
-rw-r--r--lisp/erc/erc.el10
-rw-r--r--lisp/gnus/gnus-start.el4
-rw-r--r--lisp/gnus/gnus-sum.el3
-rw-r--r--lisp/gnus/nnimap.el26
-rw-r--r--lisp/isearch.el36
-rw-r--r--lisp/menu-bar.el57
-rw-r--r--src/w32inevt.c1
-rw-r--r--src/w32notify.c5
-rw-r--r--src/xfns.c61
-rw-r--r--test/etags/ruby-src/test1.ru6
-rw-r--r--test/lisp/filenotify-tests.el12
-rw-r--r--test/manual/etags/CTAGS.good8
-rw-r--r--test/manual/etags/ETAGS.good_112
-rw-r--r--test/manual/etags/ETAGS.good_212
-rw-r--r--test/manual/etags/ETAGS.good_312
-rw-r--r--test/manual/etags/ETAGS.good_412
-rw-r--r--test/manual/etags/ETAGS.good_512
-rw-r--r--test/manual/etags/ETAGS.good_612
22 files changed, 330 insertions, 198 deletions
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index e854646d056..10c1f73b331 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -1268,7 +1268,7 @@ character sequences}.
1268 Generally, search commands in Emacs by default perform character 1268 Generally, search commands in Emacs by default perform character
1269folding, thus matching equivalent character sequences. You can 1269folding, thus matching equivalent character sequences. You can
1270disable this behavior by customizing the variable 1270disable this behavior by customizing the variable
1271@code{search-default-regexp-mode} to @code{nil}. @xref{Search 1271@code{search-default-mode} to @code{nil}. @xref{Search
1272Customizations}. Within an incremental search, typing @kbd{M-s '} 1272Customizations}. Within an incremental search, typing @kbd{M-s '}
1273(@code{isearch-toggle-character-fold}) toggles character folding, but 1273(@code{isearch-toggle-character-fold}) toggles character folding, but
1274only for that search. (Replace commands have a different default, 1274only for that search. (Replace commands have a different default,
@@ -1800,7 +1800,7 @@ not described elsewhere.
1800@cindex default search mode 1800@cindex default search mode
1801@cindex search mode, default 1801@cindex search mode, default
1802 The default search mode for the incremental search is specified by 1802 The default search mode for the incremental search is specified by
1803the variable @code{search-default-regexp-mode}. It can be @code{nil}, 1803the variable @code{search-default-mode}. It can be @code{nil},
1804@code{t}, or a function. If it is @code{nil}, the default mode is to 1804@code{t}, or a function. If it is @code{nil}, the default mode is to
1805do literal searches without character folding, but with case folding 1805do literal searches without character folding, but with case folding
1806and lax-whitespace matches as determined by @code{case-fold-search} 1806and lax-whitespace matches as determined by @code{case-fold-search}
diff --git a/etc/NEWS b/etc/NEWS
index c2c5950891c..d6ffb3879bc 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -670,7 +670,7 @@ item as before.
670** Search and Replace 670** Search and Replace
671 671
672+++ 672+++
673*** New user option `search-default-regexp-mode' 673*** New user option `search-default-mode'
674specifies the default mode for I-search. 674specifies the default mode for I-search.
675 675
676+++ 676+++
diff --git a/etc/publicsuffix.txt b/etc/publicsuffix.txt
index a6f596ad43b..ee0269c3a28 100644
--- a/etc/publicsuffix.txt
+++ b/etc/publicsuffix.txt
@@ -395,7 +395,7 @@ mil.bo
395tv.bo 395tv.bo
396 396
397// br : http://registro.br/dominio/categoria.html 397// br : http://registro.br/dominio/categoria.html
398// Submitted by registry <fneves@registro.br> 2014-08-11 398// Submitted by registry <fneves@registro.br>
399br 399br
400adm.br 400adm.br
401adv.br 401adv.br
@@ -485,7 +485,7 @@ net.bt
485org.bt 485org.bt
486 486
487// bv : No registrations at this time. 487// bv : No registrations at this time.
488// Submitted by registry <jarle@uninett.no> 2006-06-16 488// Submitted by registry <jarle@uninett.no>
489bv 489bv
490 490
491// bw : http://en.wikipedia.org/wiki/.bw 491// bw : http://en.wikipedia.org/wiki/.bw
@@ -597,7 +597,7 @@ gov.cm
597net.cm 597net.cm
598 598
599// cn : http://en.wikipedia.org/wiki/.cn 599// cn : http://en.wikipedia.org/wiki/.cn
600// Submitted by registry <tanyaling@cnnic.cn> 2008-06-11 600// Submitted by registry <tanyaling@cnnic.cn>
601cn 601cn
602ac.cn 602ac.cn
603com.cn 603com.cn
@@ -646,7 +646,7 @@ mo.cn
646tw.cn 646tw.cn
647 647
648// co : http://en.wikipedia.org/wiki/.co 648// co : http://en.wikipedia.org/wiki/.co
649// Submitted by registry <tecnico@uniandes.edu.co> 2008-06-11 649// Submitted by registry <tecnico@uniandes.edu.co>
650co 650co
651arts.co 651arts.co
652com.co 652com.co
@@ -766,7 +766,7 @@ pol.dz
766art.dz 766art.dz
767 767
768// ec : http://www.nic.ec/reg/paso1.asp 768// ec : http://www.nic.ec/reg/paso1.asp
769// Submitted by registry <vabboud@nic.ec> 2008-07-04 769// Submitted by registry <vabboud@nic.ec>
770ec 770ec
771com.ec 771com.ec
772info.ec 772info.ec
@@ -887,7 +887,7 @@ veterinaire.fr
887ga 887ga
888 888
889// gb : This registry is effectively dormant 889// gb : This registry is effectively dormant
890// Submitted by registry <Damien.Shaw@ja.net> 2008-06-12 890// Submitted by registry <Damien.Shaw@ja.net>
891gb 891gb
892 892
893// gd : http://en.wikipedia.org/wiki/.gd 893// gd : http://en.wikipedia.org/wiki/.gd
@@ -946,7 +946,7 @@ org.gl
946gm 946gm
947 947
948// gn : http://psg.com/dns/gn/gn.txt 948// gn : http://psg.com/dns/gn/gn.txt
949// Submitted by registry <randy@psg.com> 2008-06-17 949// Submitted by registry <randy@psg.com>
950gn 950gn
951ac.gn 951ac.gn
952com.gn 952com.gn
@@ -971,7 +971,7 @@ asso.gp
971gq 971gq
972 972
973// gr : https://grweb.ics.forth.gr/english/1617-B-2005.html 973// gr : https://grweb.ics.forth.gr/english/1617-B-2005.html
974// Submitted by registry <segred@ics.forth.gr> 2008-06-09 974// Submitted by registry <segred@ics.forth.gr>
975gr 975gr
976com.gr 976com.gr
977edu.gr 977edu.gr
@@ -1009,7 +1009,7 @@ net.gy
1009org.gy 1009org.gy
1010 1010
1011// hk : https://www.hkdnr.hk 1011// hk : https://www.hkdnr.hk
1012// Submitted by registry <hk.tech@hkirc.hk> 2008-06-11 1012// Submitted by registry <hk.tech@hkirc.hk>
1013hk 1013hk
1014com.hk 1014com.hk
1015edu.hk 1015edu.hk
@@ -1137,7 +1137,7 @@ net.il
1137org.il 1137org.il
1138 1138
1139// im : https://www.nic.im/ 1139// im : https://www.nic.im/
1140// Submitted by registry <info@nic.im> 2013-11-15 1140// Submitted by registry <info@nic.im>
1141im 1141im
1142ac.im 1142ac.im
1143co.im 1143co.im
@@ -1618,7 +1618,7 @@ jobs
1618 1618
1619// jp : http://en.wikipedia.org/wiki/.jp 1619// jp : http://en.wikipedia.org/wiki/.jp
1620// http://jprs.co.jp/en/jpdomain.html 1620// http://jprs.co.jp/en/jpdomain.html
1621// Submitted by registry <info@jprs.jp> 2014-10-30 1621// Submitted by registry <info@jprs.jp>
1622jp 1622jp
1623// jp organizational type names 1623// jp organizational type names
1624ac.jp 1624ac.jp
@@ -3542,7 +3542,7 @@ mil.kz
3542com.kz 3542com.kz
3543 3543
3544// la : http://en.wikipedia.org/wiki/.la 3544// la : http://en.wikipedia.org/wiki/.la
3545// Submitted by registry <gavin.brown@nic.la> 2008-06-10 3545// Submitted by registry <gavin.brown@nic.la>
3546la 3546la
3547int.la 3547int.la
3548net.la 3548net.la
@@ -3554,7 +3554,7 @@ com.la
3554org.la 3554org.la
3555 3555
3556// lb : http://en.wikipedia.org/wiki/.lb 3556// lb : http://en.wikipedia.org/wiki/.lb
3557// Submitted by registry <randy@psg.com> 2008-06-17 3557// Submitted by registry <randy@psg.com>
3558lb 3558lb
3559com.lb 3559com.lb
3560edu.lb 3560edu.lb
@@ -3594,7 +3594,7 @@ hotel.lk
3594ac.lk 3594ac.lk
3595 3595
3596// lr : http://psg.com/dns/lr/lr.txt 3596// lr : http://psg.com/dns/lr/lr.txt
3597// Submitted by registry <randy@psg.com> 2008-06-17 3597// Submitted by registry <randy@psg.com>
3598lr 3598lr
3599com.lr 3599com.lr
3600edu.lr 3600edu.lr
@@ -3748,7 +3748,7 @@ net.ms
3748org.ms 3748org.ms
3749 3749
3750// mt : https://www.nic.org.mt/go/policy 3750// mt : https://www.nic.org.mt/go/policy
3751// Submitted by registry <help@nic.org.mt> 2013-11-19 3751// Submitted by registry <help@nic.org.mt>
3752mt 3752mt
3753com.mt 3753com.mt
3754edu.mt 3754edu.mt
@@ -4350,7 +4350,7 @@ net.mw
4350org.mw 4350org.mw
4351 4351
4352// mx : http://www.nic.mx/ 4352// mx : http://www.nic.mx/
4353// Submitted by registry <farias@nic.mx> 2008-06-19 4353// Submitted by registry <farias@nic.mx>
4354mx 4354mx
4355com.mx 4355com.mx
4356org.mx 4356org.mx
@@ -4419,17 +4419,18 @@ info.nf
4419other.nf 4419other.nf
4420store.nf 4420store.nf
4421 4421
4422// ng : http://psg.com/dns/ng/ 4422// ng : http://www.nira.org.ng/index.php/join-us/register-ng-domain/189-nira-slds
4423ng 4423ng
4424com.ng 4424com.ng
4425edu.ng 4425edu.ng
4426gov.ng
4427i.ng
4428mil.ng
4429mobi.ng
4426name.ng 4430name.ng
4427net.ng 4431net.ng
4428org.ng 4432org.ng
4429sch.ng 4433sch.ng
4430gov.ng
4431mil.ng
4432mobi.ng
4433 4434
4434// ni : http://www.nic.ni/ 4435// ni : http://www.nic.ni/
4435com.ni 4436com.ni
@@ -5226,7 +5227,7 @@ våler.hedmark.no
5226*.np 5227*.np
5227 5228
5228// nr : http://cenpac.net.nr/dns/index.html 5229// nr : http://cenpac.net.nr/dns/index.html
5229// Confirmed by registry <technician@cenpac.net.nr> 2008-06-17 5230// Submitted by registry <technician@cenpac.net.nr>
5230nr 5231nr
5231biz.nr 5232biz.nr
5232info.nr 5233info.nr
@@ -5240,7 +5241,7 @@ com.nr
5240nu 5241nu
5241 5242
5242// nz : http://en.wikipedia.org/wiki/.nz 5243// nz : http://en.wikipedia.org/wiki/.nz
5243// Confirmed by registry <jay@nzrs.net.nz> 2014-05-19 5244// Submitted by registry <jay@nzrs.net.nz>
5244nz 5245nz
5245ac.nz 5246ac.nz
5246co.nz 5247co.nz
@@ -5310,7 +5311,7 @@ edu.pf
5310*.pg 5311*.pg
5311 5312
5312// ph : http://www.domains.ph/FAQ2.asp 5313// ph : http://www.domains.ph/FAQ2.asp
5313// Submitted by registry <jed@email.com.ph> 2008-06-13 5314// Submitted by registry <jed@email.com.ph>
5314ph 5315ph
5315com.ph 5316com.ph
5316net.ph 5317net.ph
@@ -5339,7 +5340,7 @@ gos.pk
5339info.pk 5340info.pk
5340 5341
5341// pl http://www.dns.pl/english/index.html 5342// pl http://www.dns.pl/english/index.html
5342// updated by .PL registry on 2015-04-28 5343// Submitted by registry
5343pl 5344pl
5344com.pl 5345com.pl
5345net.pl 5346net.pl
@@ -5618,7 +5619,7 @@ go.pw
5618belau.pw 5619belau.pw
5619 5620
5620// py : http://www.nic.py/pautas.html#seccion_9 5621// py : http://www.nic.py/pautas.html#seccion_9
5621// Confirmed by registry 2012-10-03 5622// Submitted by registry
5622py 5623py
5623com.py 5624com.py
5624coop.py 5625coop.py
@@ -5641,32 +5642,32 @@ sch.qa
5641 5642
5642// re : http://www.afnic.re/obtenir/chartes/nommage-re/annexe-descriptifs 5643// re : http://www.afnic.re/obtenir/chartes/nommage-re/annexe-descriptifs
5643re 5644re
5644com.re
5645asso.re 5645asso.re
5646com.re
5646nom.re 5647nom.re
5647 5648
5648// ro : http://www.rotld.ro/ 5649// ro : http://www.rotld.ro/
5649ro 5650ro
5651arts.ro
5650com.ro 5652com.ro
5651org.ro 5653firm.ro
5652tm.ro
5653nt.ro
5654nom.ro
5655info.ro 5654info.ro
5655nom.ro
5656nt.ro
5657org.ro
5656rec.ro 5658rec.ro
5657arts.ro
5658firm.ro
5659store.ro 5659store.ro
5660tm.ro
5660www.ro 5661www.ro
5661 5662
5662// rs : http://en.wikipedia.org/wiki/.rs 5663// rs : https://www.rnids.rs/en/domains/national-domains
5663rs 5664rs
5665ac.rs
5664co.rs 5666co.rs
5665org.rs
5666edu.rs 5667edu.rs
5667ac.rs
5668gov.rs 5668gov.rs
5669in.rs 5669in.rs
5670org.rs
5670 5671
5671// ru : http://www.cctld.ru/ru/docs/aktiv_8.php 5672// ru : http://www.cctld.ru/ru/docs/aktiv_8.php
5672// Industry domains 5673// Industry domains
@@ -5831,7 +5832,7 @@ edu.sa
5831sch.sa 5832sch.sa
5832 5833
5833// sb : http://www.sbnic.net.sb/ 5834// sb : http://www.sbnic.net.sb/
5834// Submitted by registry <lee.humphries@telekom.com.sb> 2008-06-08 5835// Submitted by registry <lee.humphries@telekom.com.sb>
5835sb 5836sb
5836com.sb 5837com.sb
5837edu.sb 5838edu.sb
@@ -5848,7 +5849,7 @@ org.sc
5848edu.sc 5849edu.sc
5849 5850
5850// sd : http://www.isoc.sd/sudanic.isoc.sd/billing_pricing.htm 5851// sd : http://www.isoc.sd/sudanic.isoc.sd/billing_pricing.htm
5851// Submitted by registry <admin@isoc.sd> 2008-06-17 5852// Submitted by registry <admin@isoc.sd>
5852sd 5853sd
5853com.sd 5854com.sd
5854net.sd 5855net.sd
@@ -5860,7 +5861,7 @@ gov.sd
5860info.sd 5861info.sd
5861 5862
5862// se : http://en.wikipedia.org/wiki/.se 5863// se : http://en.wikipedia.org/wiki/.se
5863// Submitted by registry <patrik.wallstrom@iis.se> 2014-03-18 5864// Submitted by registry <patrik.wallstrom@iis.se>
5864se 5865se
5865a.se 5866a.se
5866ac.se 5867ac.se
@@ -5923,7 +5924,7 @@ mil.sh
5923si 5924si
5924 5925
5925// sj : No registrations at this time. 5926// sj : No registrations at this time.
5926// Submitted by registry <jarle@uninett.no> 2008-06-16 5927// Submitted by registry <jarle@uninett.no>
5927sj 5928sj
5928 5929
5929// sk : http://en.wikipedia.org/wiki/.sk 5930// sk : http://en.wikipedia.org/wiki/.sk
@@ -5931,7 +5932,7 @@ sj
5931sk 5932sk
5932 5933
5933// sl : http://www.nic.sl 5934// sl : http://www.nic.sl
5934// Submitted by registry <adam@neoip.com> 2008-06-12 5935// Submitted by registry <adam@neoip.com>
5935sl 5936sl
5936com.sl 5937com.sl
5937net.sl 5938net.sl
@@ -6020,7 +6021,7 @@ org.sv
6020red.sv 6021red.sv
6021 6022
6022// sx : http://en.wikipedia.org/wiki/.sx 6023// sx : http://en.wikipedia.org/wiki/.sx
6023// Confirmed by registry <jcvignes@openregistry.com> 2012-05-31 6024// Submitted by registry <jcvignes@openregistry.com>
6024sx 6025sx
6025gov.sx 6026gov.sx
6026 6027
@@ -6059,7 +6060,7 @@ tf
6059tg 6060tg
6060 6061
6061// th : http://en.wikipedia.org/wiki/.th 6062// th : http://en.wikipedia.org/wiki/.th
6062// Submitted by registry <krit@thains.co.th> 2008-06-17 6063// Submitted by registry <krit@thains.co.th>
6063th 6064th
6064ac.th 6065ac.th
6065co.th 6066co.th
@@ -6130,7 +6131,7 @@ defense.tn
6130turen.tn 6131turen.tn
6131 6132
6132// to : http://en.wikipedia.org/wiki/.to 6133// to : http://en.wikipedia.org/wiki/.to
6133// Submitted by registry <egullich@colo.to> 2008-06-17 6134// Submitted by registry <egullich@colo.to>
6134to 6135to
6135com.to 6136com.to
6136gov.to 6137gov.to
@@ -6141,7 +6142,7 @@ mil.to
6141 6142
6142// subTLDs: https://www.nic.tr/forms/eng/policies.pdf 6143// subTLDs: https://www.nic.tr/forms/eng/policies.pdf
6143// and: https://www.nic.tr/forms/politikalar.pdf 6144// and: https://www.nic.tr/forms/politikalar.pdf
6144// Submitted by <mehmetgurevin@gmail.com> 2014-07-19 6145// Submitted by <mehmetgurevin@gmail.com>
6145tr 6146tr
6146com.tr 6147com.tr
6147info.tr 6148info.tr
@@ -6215,7 +6216,7 @@ club.tw
6215商業.tw 6216商業.tw
6216 6217
6217// tz : http://www.tznic.or.tz/index.php/domains 6218// tz : http://www.tznic.or.tz/index.php/domains
6218// Confirmed by registry <manager@tznic.or.tz> 2013-01-22 6219// Submitted by registry <manager@tznic.or.tz>
6219tz 6220tz
6220ac.tz 6221ac.tz
6221co.tz 6222co.tz
@@ -6231,7 +6232,7 @@ sc.tz
6231tv.tz 6232tv.tz
6232 6233
6233// ua : https://hostmaster.ua/policy/?ua 6234// ua : https://hostmaster.ua/policy/?ua
6234// Submitted by registry <dk@cctld.ua> 2012-04-27 6235// Submitted by registry <dk@cctld.ua>
6235ua 6236ua
6236// ua 2LD 6237// ua 2LD
6237com.ua 6238com.ua
@@ -6601,7 +6602,7 @@ org.uz
6601va 6602va
6602 6603
6603// vc : http://en.wikipedia.org/wiki/.vc 6604// vc : http://en.wikipedia.org/wiki/.vc
6604// Submitted by registry <kshah@ca.afilias.info> 2008-06-13 6605// Submitted by registry <kshah@ca.afilias.info>
6605vc 6606vc
6606com.vc 6607com.vc
6607net.vc 6608net.vc
@@ -6611,8 +6612,7 @@ mil.vc
6611edu.vc 6612edu.vc
6612 6613
6613// ve : https://registro.nic.ve/ 6614// ve : https://registro.nic.ve/
6614// Confirmed by registry 2012-10-04 6615// Submitted by registry
6615// Updated 2014-05-20 - Bug 940478
6616ve 6616ve
6617arts.ve 6617arts.ve
6618co.ve 6618co.ve
@@ -6826,7 +6826,7 @@ yt
6826فلسطين 6826فلسطين
6827 6827
6828// xn--90a3ac ("srb", Cyrillic) : RS 6828// xn--90a3ac ("srb", Cyrillic) : RS
6829// http://www.rnids.rs/en/the-.срб-domain 6829// https://www.rnids.rs/en/domains/national-domains
6830срб 6830срб
6831пр.срб 6831пр.срб
6832орг.срб 6832орг.срб
@@ -6905,7 +6905,7 @@ xxx
6905 6905
6906// za : http://www.zadna.org.za/content/page/domain-information 6906// za : http://www.zadna.org.za/content/page/domain-information
6907ac.za 6907ac.za
6908agrica.za 6908agric.za
6909alt.za 6909alt.za
6910co.za 6910co.za
6911edu.za 6911edu.za
@@ -10591,11 +10591,11 @@ zuerich
10591// (Note: these are in alphabetical order by company name) 10591// (Note: these are in alphabetical order by company name)
10592 10592
10593// Amazon CloudFront : https://aws.amazon.com/cloudfront/ 10593// Amazon CloudFront : https://aws.amazon.com/cloudfront/
10594// Submitted by Donavan Miller <donavanm@amazon.com> 2013-03-22 10594// Submitted by Donavan Miller <donavanm@amazon.com>
10595cloudfront.net 10595cloudfront.net
10596 10596
10597// Amazon Elastic Compute Cloud: https://aws.amazon.com/ec2/ 10597// Amazon Elastic Compute Cloud: https://aws.amazon.com/ec2/
10598// Submitted by Osman Surkatty <osmans@amazon.com> 2014-12-16 10598// Submitted by Osman Surkatty <osmans@amazon.com>
10599ap-northeast-1.compute.amazonaws.com 10599ap-northeast-1.compute.amazonaws.com
10600ap-southeast-1.compute.amazonaws.com 10600ap-southeast-1.compute.amazonaws.com
10601ap-southeast-2.compute.amazonaws.com 10601ap-southeast-2.compute.amazonaws.com
@@ -10614,15 +10614,15 @@ z-1.compute-1.amazonaws.com
10614z-2.compute-1.amazonaws.com 10614z-2.compute-1.amazonaws.com
10615 10615
10616// Amazon Elastic Beanstalk : https://aws.amazon.com/elasticbeanstalk/ 10616// Amazon Elastic Beanstalk : https://aws.amazon.com/elasticbeanstalk/
10617// Submitted by Adam Stein <astein@amazon.com> 2013-04-02 10617// Submitted by Adam Stein <astein@amazon.com>
10618elasticbeanstalk.com 10618elasticbeanstalk.com
10619 10619
10620// Amazon Elastic Load Balancing : https://aws.amazon.com/elasticloadbalancing/ 10620// Amazon Elastic Load Balancing : https://aws.amazon.com/elasticloadbalancing/
10621// Submitted by Scott Vidmar <svidmar@amazon.com> 2013-03-27 10621// Submitted by Scott Vidmar <svidmar@amazon.com>
10622elb.amazonaws.com 10622elb.amazonaws.com
10623 10623
10624// Amazon S3 : https://aws.amazon.com/s3/ 10624// Amazon S3 : https://aws.amazon.com/s3/
10625// Submitted by Eric Kinolik <kilo@amazon.com> 2015-04-08 10625// Submitted by Eric Kinolik <kilo@amazon.com>
10626s3.amazonaws.com 10626s3.amazonaws.com
10627s3-ap-northeast-1.amazonaws.com 10627s3-ap-northeast-1.amazonaws.com
10628s3-ap-southeast-1.amazonaws.com 10628s3-ap-southeast-1.amazonaws.com
@@ -10640,11 +10640,11 @@ s3.cn-north-1.amazonaws.com.cn
10640s3.eu-central-1.amazonaws.com 10640s3.eu-central-1.amazonaws.com
10641 10641
10642// BetaInABox 10642// BetaInABox
10643// Submitted by adrian@betainabox.com 2012-09-13 10643// Submitted by Adrian <adrian@betainabox.com>
10644betainabox.com 10644betainabox.com
10645 10645
10646// CentralNic : http://www.centralnic.com/names/domains 10646// CentralNic : http://www.centralnic.com/names/domains
10647// Submitted by registry <gavin.brown@centralnic.com> 2012-09-27 10647// Submitted by registry <gavin.brown@centralnic.com>
10648ae.org 10648ae.org
10649ar.com 10649ar.com
10650br.com 10650br.com
@@ -10675,38 +10675,42 @@ za.bz
10675za.com 10675za.com
10676 10676
10677// Africa.com Web Solutions Ltd : https://registry.africa.com 10677// Africa.com Web Solutions Ltd : https://registry.africa.com
10678// Submitted by Gavin Brown <gavin.brown@centralnic.com> 2014-02-04 10678// Submitted by Gavin Brown <gavin.brown@centralnic.com>
10679africa.com 10679africa.com
10680 10680
10681// iDOT Services Limited : http://www.domain.gr.com 10681// iDOT Services Limited : http://www.domain.gr.com
10682// Submitted by Gavin Brown <gavin.brown@centralnic.com> 2014-02-04 10682// Submitted by Gavin Brown <gavin.brown@centralnic.com>
10683gr.com 10683gr.com
10684 10684
10685// Radix FZC : http://domains.in.net 10685// Radix FZC : http://domains.in.net
10686// Submitted by Gavin Brown <gavin.brown@centralnic.com> 2014-02-04 10686// Submitted by Gavin Brown <gavin.brown@centralnic.com>
10687in.net 10687in.net
10688 10688
10689// US REGISTRY LLC : http://us.org 10689// US REGISTRY LLC : http://us.org
10690// Submitted by Gavin Brown <gavin.brown@centralnic.com> 2014-02-04 10690// Submitted by Gavin Brown <gavin.brown@centralnic.com>
10691us.org 10691us.org
10692 10692
10693// co.com Registry, LLC : https://registry.co.com 10693// co.com Registry, LLC : https://registry.co.com
10694// Submitted by Gavin Brown <gavin.brown@centralnic.com> 2014-02-04 10694// Submitted by Gavin Brown <gavin.brown@centralnic.com>
10695co.com 10695co.com
10696 10696
10697// c.la : http://www.c.la/ 10697// c.la : http://www.c.la/
10698c.la 10698c.la
10699 10699
10700// cloudControl : https://www.cloudcontrol.com/ 10700// cloudControl : https://www.cloudcontrol.com/
10701// Submitted by Tobias Wilken <tw@cloudcontrol.com> 2013-07-23 10701// Submitted by Tobias Wilken <tw@cloudcontrol.com>
10702cloudcontrolled.com 10702cloudcontrolled.com
10703cloudcontrolapp.com 10703cloudcontrolapp.com
10704 10704
10705// co.ca : http://registry.co.ca/ 10705// co.ca : http://registry.co.ca/
10706co.ca 10706co.ca
10707 10707
10708// i-registry s.r.o. : http://www.i-registry.cz/
10709// Submitted by Martin Semrad <semrad@i-registry.cz>
10710co.cz
10711
10708// CDN77.com : http://www.cdn77.com 10712// CDN77.com : http://www.cdn77.com
10709// Submitted by Jan Krpes <jan.krpes@cdn77.com> 2015-07-13 10713// Submitted by Jan Krpes <jan.krpes@cdn77.com>
10710c.cdn77.org 10714c.cdn77.org
10711cdn77-ssl.net 10715cdn77-ssl.net
10712r.cdn77.net 10716r.cdn77.net
@@ -10718,19 +10722,23 @@ co.nl
10718co.no 10722co.no
10719 10723
10720// Commerce Guys, SAS 10724// Commerce Guys, SAS
10721// Submitted by Damien Tournoud <damien@commerceguys.com> 2015-01-22 10725// Submitted by Damien Tournoud <damien@commerceguys.com>
10722*.platform.sh 10726*.platform.sh
10723 10727
10724// Cupcake : https://cupcake.io/ 10728// Cupcake : https://cupcake.io/
10725// Submitted by Jonathan Rudenberg <jonathan@cupcake.io> 2013-10-08 10729// Submitted by Jonathan Rudenberg <jonathan@cupcake.io>
10726cupcake.is 10730cupcake.is
10727 10731
10728// DreamHost : http://www.dreamhost.com/ 10732// DreamHost : http://www.dreamhost.com/
10729// Submitted by Andrew Farmer <andrew.farmer@dreamhost.com> 2012-10-02 10733// Submitted by Andrew Farmer <andrew.farmer@dreamhost.com>
10730dreamhosters.com 10734dreamhosters.com
10731 10735
10736// Drobo : http://www.drobo.com/
10737// Submitted by Ricardo Padilha <rpadilha@drobo.com>
10738mydrobo.com
10739
10732// DuckDNS : http://www.duckdns.org/ 10740// DuckDNS : http://www.duckdns.org/
10733// Submitted by Richard Harper <richard@duckdns.org> 2015-05-17 10741// Submitted by Richard Harper <richard@duckdns.org>
10734duckdns.org 10742duckdns.org
10735 10743
10736// DynDNS.com : http://www.dyndns.com/services/dns/dyndns/ 10744// DynDNS.com : http://www.dyndns.com/services/dns/dyndns/
@@ -11015,8 +11023,7 @@ worse-than.tv
11015writesthisblog.com 11023writesthisblog.com
11016 11024
11017// EU.org https://eu.org/ 11025// EU.org https://eu.org/
11018// Submitted by Pierre Beyssac <hostmaster@eu.org> 2015-04-17 11026// Submitted by Pierre Beyssac <hostmaster@eu.org>
11019
11020eu.org 11027eu.org
11021al.eu.org 11028al.eu.org
11022asso.eu.org 11029asso.eu.org
@@ -11075,7 +11082,7 @@ uk.eu.org
11075us.eu.org 11082us.eu.org
11076 11083
11077// Fastly Inc. http://www.fastly.com/ 11084// Fastly Inc. http://www.fastly.com/
11078// Submitted by Vladimir Vuksan <vladimir@fastly.com> 2013-05-31 11085// Submitted by Vladimir Vuksan <vladimir@fastly.com>
11079a.ssl.fastly.net 11086a.ssl.fastly.net
11080b.ssl.fastly.net 11087b.ssl.fastly.net
11081global.ssl.fastly.net 11088global.ssl.fastly.net
@@ -11083,28 +11090,28 @@ a.prod.fastly.net
11083global.prod.fastly.net 11090global.prod.fastly.net
11084 11091
11085// Firebase, Inc. 11092// Firebase, Inc.
11086// Submitted by Chris Raynor <chris@firebase.com> 2014-01-21 11093// Submitted by Chris Raynor <chris@firebase.com>
11087firebaseapp.com 11094firebaseapp.com
11088 11095
11089// Flynn : https://flynn.io 11096// Flynn : https://flynn.io
11090// Submitted by Jonathan Rudenberg <jonathan@flynn.io> 2014-07-12 11097// Submitted by Jonathan Rudenberg <jonathan@flynn.io>
11091flynnhub.com 11098flynnhub.com
11092 11099
11093// GDS : https://www.gov.uk/service-manual/operations/operating-servicegovuk-subdomains 11100// GDS : https://www.gov.uk/service-manual/operations/operating-servicegovuk-subdomains
11094// Submitted by David Illsley <david.illsley@digital.cabinet-office.gov.uk> 2014-08-28 11101// Submitted by David Illsley <david.illsley@digital.cabinet-office.gov.uk>
11095service.gov.uk 11102service.gov.uk
11096 11103
11097// GitHub, Inc. 11104// GitHub, Inc.
11098// Submitted by Ben Toews <btoews@github.com> 2014-02-06 11105// Submitted by Ben Toews <btoews@github.com>
11099github.io 11106github.io
11100githubusercontent.com 11107githubusercontent.com
11101 11108
11102// GlobeHosting, Inc. 11109// GlobeHosting, Inc.
11103// Submitted by Zoltan Egresi <egresi@globehosting.com> 2013-07-12 11110// Submitted by Zoltan Egresi <egresi@globehosting.com>
11104ro.com 11111ro.com
11105 11112
11106// Google, Inc. 11113// Google, Inc.
11107// Submitted by Eduardo Vela <evn@google.com> 2014-12-19 11114// Submitted by Eduardo Vela <evn@google.com>
11108appspot.com 11115appspot.com
11109blogspot.ae 11116blogspot.ae
11110blogspot.al 11117blogspot.al
@@ -11192,12 +11199,12 @@ withyoutube.com
11192hashbang.sh 11199hashbang.sh
11193 11200
11194// Heroku : https://www.heroku.com/ 11201// Heroku : https://www.heroku.com/
11195// Submitted by Tom Maher <tmaher@heroku.com> 2013-05-02 11202// Submitted by Tom Maher <tmaher@heroku.com>
11196herokuapp.com 11203herokuapp.com
11197herokussl.com 11204herokussl.com
11198 11205
11199// iki.fi 11206// iki.fi
11200// Submitted by Hannu Aronsson <haa@iki.fi> 2009-11-05 11207// Submitted by Hannu Aronsson <haa@iki.fi>
11201iki.fi 11208iki.fi
11202 11209
11203// info.at : http://www.info.at/ 11210// info.at : http://www.info.at/
@@ -11208,45 +11215,45 @@ info.at
11208co.pl 11215co.pl
11209 11216
11210// Microsoft : http://microsoft.com 11217// Microsoft : http://microsoft.com
11211// Submitted by Barry Dorrans <bdorrans@microsoft.com> 2014-01-24 11218// Submitted by Barry Dorrans <bdorrans@microsoft.com>
11212azurewebsites.net 11219azurewebsites.net
11213azure-mobile.net 11220azure-mobile.net
11214cloudapp.net 11221cloudapp.net
11215 11222
11216// Mozilla Foundation : https://mozilla.org/ 11223// Mozilla Foundation : https://mozilla.org/
11217// Submited by glob <glob@mozilla.com> 2015-07-06 11224// Submitted by glob <glob@mozilla.com>
11218bmoattachments.org 11225bmoattachments.org
11219 11226
11220// Neustar Inc. 11227// Neustar Inc.
11221// Submitted by Trung Tran <Trung.Tran@neustar.biz> 2015-04-23 11228// Submitted by Trung Tran <Trung.Tran@neustar.biz>
112224u.com 112294u.com
11223 11230
11224// ngrok : https://ngrok.com/ 11231// ngrok : https://ngrok.com/
11225// Submitted by Alan Shreve <alan@ngrok.com> 2015-11-10 11232// Submitted by Alan Shreve <alan@ngrok.com>
11226ngrok.io 11233ngrok.io
11227 11234
11228// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/ 11235// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
11229// Submitted by Jeff Wheelhouse <support@nearlyfreespeech.net> 2014-02-02 11236// Submitted by Jeff Wheelhouse <support@nearlyfreespeech.net>
11230nfshost.com 11237nfshost.com
11231 11238
11232// NYC.mn : http://www.information.nyc.mn 11239// NYC.mn : http://www.information.nyc.mn
11233// Submitted by Matthew Brown <mattbrown@nyc.mn> 2013-03-11 11240// Submitted by Matthew Brown <mattbrown@nyc.mn>
11234nyc.mn 11241nyc.mn
11235 11242
11236// One Fold Media : http://www.onefoldmedia.com/ 11243// One Fold Media : http://www.onefoldmedia.com/
11237// Submitted by Eddie Jones <eddie@onefoldmedia.com> 2014-06-10 11244// Submitted by Eddie Jones <eddie@onefoldmedia.com>
11238nid.io 11245nid.io
11239 11246
11240// Opera Software, A.S.A. 11247// Opera Software, A.S.A.
11241// Submitted by Yngve Pettersen <yngve@opera.com> 2009-11-26 11248// Submitted by Yngve Pettersen <yngve@opera.com>
11242operaunite.com 11249operaunite.com
11243 11250
11244// OutSystems 11251// OutSystems
11245// Submitted by Duarte Santos <domain-admin@outsystemscloud.com> 2014-03-11 11252// Submitted by Duarte Santos <domain-admin@outsystemscloud.com>
11246outsystemscloud.com 11253outsystemscloud.com
11247 11254
11248// Pagefront : https://www.pagefronthq.com/ 11255// Pagefront : https://www.pagefronthq.com/
11249// Submitted by Jason Kriss <jason@pagefronthq.com> 2015-12-02 11256// Submitted by Jason Kriss <jason@pagefronthq.com>
11250pagefrontapp.com 11257pagefrontapp.com
11251 11258
11252// .pl domains (grandfathered) 11259// .pl domains (grandfathered)
@@ -11258,45 +11265,49 @@ wroc.pl
11258zakopane.pl 11265zakopane.pl
11259 11266
11260// Pantheon Systems, Inc. : https://pantheon.io/ 11267// Pantheon Systems, Inc. : https://pantheon.io/
11261// Submitted by Gary Dylina <gary@pantheon.io> 2015-09-14 11268// Submitted by Gary Dylina <gary@pantheon.io>
11262pantheon.io 11269pantheon.io
11263gotpantheon.com 11270gotpantheon.com
11264 11271
11272// prgmr.com : https://prgmr.com/
11273// Submitted by Sarah Newman <owner@prgmr.com>
11274xen.prgmr.com
11275
11265// priv.at : http://www.nic.priv.at/ 11276// priv.at : http://www.nic.priv.at/
11266// Submitted by registry <lendl@nic.at> 2008-06-09 11277// Submitted by registry <lendl@nic.at>
11267priv.at 11278priv.at
11268 11279
11269// QA2 11280// QA2
11270// Submitted by Daniel Dent (https://www.danieldent.com/) 2015-07-16 11281// Submitted by Daniel Dent (https://www.danieldent.com/)
11271qa2.com 11282qa2.com
11272 11283
11273// Rackmaze LLC : https://www.rackmaze.com 11284// Rackmaze LLC : https://www.rackmaze.com
11274// Submitted by Kirill Pertsev <kika@rackmaze.com> 2015-12-02 11285// Submitted by Kirill Pertsev <kika@rackmaze.com>
11275rackmaze.com 11286rackmaze.com
11276rackmaze.net 11287rackmaze.net
11277 11288
11278// Red Hat, Inc. OpenShift : https://openshift.redhat.com/ 11289// Red Hat, Inc. OpenShift : https://openshift.redhat.com/
11279// Submitted by Tim Kramer <tkramer@rhcloud.com> 2012-10-24 11290// Submitted by Tim Kramer <tkramer@rhcloud.com>
11280rhcloud.com 11291rhcloud.com
11281 11292
11282// Sandstorm Development Group, Inc. : https://sandcats.io/ 11293// Sandstorm Development Group, Inc. : https://sandcats.io/
11283// Submitted by Asheesh Laroia <asheesh@sandstorm.io> 2015-07-21 11294// Submitted by Asheesh Laroia <asheesh@sandstorm.io>
11284sandcats.io 11295sandcats.io
11285 11296
11286// Service Online LLC : http://drs.ua/ 11297// Service Online LLC : http://drs.ua/
11287// Submitted by Serhii Bulakh <support@drs.ua> 2015-07-30 11298// Submitted by Serhii Bulakh <support@drs.ua>
11288biz.ua 11299biz.ua
11289co.ua 11300co.ua
11290pp.ua 11301pp.ua
11291 11302
11292// SinaAppEngine : http://sae.sina.com.cn/ 11303// SinaAppEngine : http://sae.sina.com.cn/
11293// Submitted by SinaAppEngine <saesupport@sinacloud.com> 2015-02-02 11304// Submitted by SinaAppEngine <saesupport@sinacloud.com>
11294sinaapp.com 11305sinaapp.com
11295vipsinaapp.com 11306vipsinaapp.com
112961kapp.com 113071kapp.com
11297 11308
11298// Synology, Inc. : https://www.synology.com/ 11309// Synology, Inc. : https://www.synology.com/
11299// Submitted by Rony Weng <ronyweng@synology.com> 2015-12-02 11310// Submitted by Rony Weng <ronyweng@synology.com>
11300diskstation.me 11311diskstation.me
11301dscloud.biz 11312dscloud.biz
11302dscloud.me 11313dscloud.me
@@ -11319,18 +11330,18 @@ med.pl
11319sopot.pl 11330sopot.pl
11320 11331
11321// UDR Limited : http://www.udr.hk.com 11332// UDR Limited : http://www.udr.hk.com
11322// Submitted by registry <hostmaster@udr.hk.com> 2014-11-07 11333// Submitted by registry <hostmaster@udr.hk.com>
11323hk.com 11334hk.com
11324hk.org 11335hk.org
11325ltd.hk 11336ltd.hk
11326inc.hk 11337inc.hk
11327 11338
11328// Yola : https://www.yola.com/ 11339// Yola : https://www.yola.com/
11329// Submitted by Stefano Rivera <stefano@yola.com> 2014-07-09 11340// Submitted by Stefano Rivera <stefano@yola.com>
11330yolasite.com 11341yolasite.com
11331 11342
11332// ZaNiC : http://www.za.net/ 11343// ZaNiC : http://www.za.net/
11333// Submitted by registry <hostmaster@nic.za.net> 2009-10-03 11344// Submitted by registry <hostmaster@nic.za.net>
11334za.net 11345za.net
11335za.org 11346za.org
11336 11347
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 65720e85f49..796adaa5d05 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -4731,8 +4731,12 @@ Ruby_functions (FILE *inf)
4731 if (reader || writer || alias) 4731 if (reader || writer || alias)
4732 { 4732 {
4733 do { 4733 do {
4734 char *np = cp; 4734 char *np;
4735 4735
4736 cp = skip_spaces (cp);
4737 if (*cp == '(')
4738 cp = skip_spaces (cp + 1);
4739 np = cp;
4736 cp = skip_name (cp); 4740 cp = skip_name (cp);
4737 if (*np != ':') 4741 if (*np != ':')
4738 continue; 4742 continue;
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index d52a83b1029..68460d15c4e 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -1141,7 +1141,7 @@ which the local user typed."
1141 (define-key map "\C-c\C-u" 'erc-kill-input) 1141 (define-key map "\C-c\C-u" 'erc-kill-input)
1142 (define-key map "\C-c\C-x" 'erc-quit-server) 1142 (define-key map "\C-c\C-x" 'erc-quit-server)
1143 (define-key map "\M-\t" 'ispell-complete-word) 1143 (define-key map "\M-\t" 'ispell-complete-word)
1144 (define-key map "\t" 'erc-completion-at-point) 1144 (define-key map "\t" 'completion-at-point)
1145 1145
1146 ;; Suppress `font-lock-fontify-block' key binding since it 1146 ;; Suppress `font-lock-fontify-block' key binding since it
1147 ;; destroys face properties. 1147 ;; destroys face properties.
@@ -1463,6 +1463,7 @@ Defaults to the server buffer."
1463 (concat "\C-l\\|\\(^" (regexp-quote (erc-prompt)) "\\)")) 1463 (concat "\C-l\\|\\(^" (regexp-quote (erc-prompt)) "\\)"))
1464 (set (make-local-variable 'paragraph-start) 1464 (set (make-local-variable 'paragraph-start)
1465 (concat "\\(" (regexp-quote (erc-prompt)) "\\)")) 1465 (concat "\\(" (regexp-quote (erc-prompt)) "\\)"))
1466 (setq-local completion-ignore-case t)
1466 (add-hook 'completion-at-point-functions 'erc-complete-word-at-point nil t)) 1467 (add-hook 'completion-at-point-functions 'erc-complete-word-at-point nil t))
1467 1468
1468;; activation 1469;; activation
@@ -3996,13 +3997,6 @@ Prompt for one if called interactively."
3996 (format "MODE %s +k %s" tgt key) 3997 (format "MODE %s +k %s" tgt key)
3997 (format "MODE %s -k" tgt))))) 3998 (format "MODE %s -k" tgt)))))
3998 3999
3999(defun erc-completion-at-point ()
4000 "Perform completion on the text around point case-insensitively.
4001See `completion-at-point'."
4002 (interactive)
4003 (let ((completion-ignore-case t))
4004 (completion-at-point)))
4005
4006(defun erc-quit-server (reason) 4000(defun erc-quit-server (reason)
4007 "Disconnect from current server after prompting for REASON. 4001 "Disconnect from current server after prompting for REASON.
4008`erc-quit-reason' works with this just like with `erc-cmd-QUIT'." 4002`erc-quit-reason' works with this just like with `erc-cmd-QUIT'."
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index f2e69781fc1..692c8346130 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -862,7 +862,9 @@ If REGEXP is given, lines that match it will be deleted."
862 (goto-char (match-beginning 0)) 862 (goto-char (match-beginning 0))
863 (delete-region (point-at-bol) end)))) 863 (delete-region (point-at-bol) end))))
864 (goto-char (point-max)) 864 (goto-char (point-max))
865 (insert string "\n") 865 ;; Make sure that each dribble entry is a single line, so that
866 ;; the "remove" code above works.
867 (insert (replace-regexp-in-string "\n" "\\\\n" string) "\n")
866 ;; This has been commented by Josh Huber <huber@alum.wpi.edu> 868 ;; This has been commented by Josh Huber <huber@alum.wpi.edu>
867 ;; It causes problems with both XEmacs and Emacs 21, and doesn't 869 ;; It causes problems with both XEmacs and Emacs 21, and doesn't
868 ;; seem to be of much value. (FIXME: remove this after we make sure 870 ;; seem to be of much value. (FIXME: remove this after we make sure
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index bc31ce91346..c8f0fa31300 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -4011,7 +4011,8 @@ If SELECT-ARTICLES, only select those articles from GROUP."
4011 (gnus-group-next-unread-group 1)) 4011 (gnus-group-next-unread-group 1))
4012 (gnus-handle-ephemeral-exit quit-config))) 4012 (gnus-handle-ephemeral-exit quit-config)))
4013 (if (null (gnus-list-of-unread-articles group)) 4013 (if (null (gnus-list-of-unread-articles group))
4014 (gnus-message 3 "Group %s contains no messages" group) 4014 (gnus-message 3 "Group %s contains no messages"
4015 (gnus-group-decoded-name group))
4015 (gnus-message 3 "Can't select group")) 4016 (gnus-message 3 "Can't select group"))
4016 nil) 4017 nil)
4017 ;; The user did a `C-g' while prompting for number of articles, 4018 ;; The user did a `C-g' while prompting for number of articles,
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index 05251ed464a..c285befc760 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -113,6 +113,12 @@ some servers.")
113 113
114(defvoo nnimap-current-infos nil) 114(defvoo nnimap-current-infos nil)
115 115
116(defun nnimap-decode-gnus-group (group)
117 (decode-coding-string group 'utf-8))
118
119(defun nnimap-encode-gnus-group (group)
120 (encode-coding-string group 'utf-8))
121
116(defvoo nnimap-fetch-partial-articles nil 122(defvoo nnimap-fetch-partial-articles nil
117 "If non-nil, Gnus will fetch partial articles. 123 "If non-nil, Gnus will fetch partial articles.
118If t, Gnus will fetch only the first part. If a string, it 124If t, Gnus will fetch only the first part. If a string, it
@@ -794,9 +800,6 @@ textual parts.")
794 (incf num))) 800 (incf num)))
795 (nreverse parts))) 801 (nreverse parts)))
796 802
797(defun nnimap-decode-gnus-group (group)
798 (decode-coding-string group 'utf-8))
799
800(deffoo nnimap-request-group (group &optional server dont-check info) 803(deffoo nnimap-request-group (group &optional server dont-check info)
801 (setq group (nnimap-decode-gnus-group group)) 804 (setq group (nnimap-decode-gnus-group group))
802 (let ((result (nnimap-change-group 805 (let ((result (nnimap-change-group
@@ -825,7 +828,7 @@ textual parts.")
825 (- (cdr active) (car active)) 828 (- (cdr active) (car active))
826 (car active) 829 (car active)
827 (cdr active) 830 (cdr active)
828 group)) 831 (nnimap-encode-gnus-group group)))
829 t)))) 832 t))))
830 833
831(deffoo nnimap-request-group-scan (group &optional server info) 834(deffoo nnimap-request-group-scan (group &optional server info)
@@ -860,7 +863,8 @@ textual parts.")
860 (erase-buffer) 863 (erase-buffer)
861 (insert 864 (insert
862 (format 865 (format
863 "211 %d %d %d %S\n" (1+ (- high low)) low high group)) 866 "211 %d %d %d %S\n" (1+ (- high low)) low high
867 (nnimap-encode-gnus-group group)))
864 t)))) 868 t))))
865 869
866(deffoo nnimap-request-create-group (group &optional server _args) 870(deffoo nnimap-request-create-group (group &optional server _args)
@@ -1323,7 +1327,7 @@ If LIMIT, first try to limit the search to the N last articles."
1323 (let* ((sequence (car response)) 1327 (let* ((sequence (car response))
1324 (response (cadr response)) 1328 (response (cadr response))
1325 (group (cadr (assoc sequence sequences))) 1329 (group (cadr (assoc sequence sequences)))
1326 (egroup (encode-coding-string group 'utf-8))) 1330 (egroup (nnimap-encode-gnus-group group)))
1327 (when (and group 1331 (when (and group
1328 (equal (caar response) "OK")) 1332 (equal (caar response) "OK"))
1329 (let ((uidnext (nnimap-find-parameter "UIDNEXT" response)) 1333 (let ((uidnext (nnimap-find-parameter "UIDNEXT" response))
@@ -1354,7 +1358,7 @@ If LIMIT, first try to limit the search to the N last articles."
1354 (nnimap-get-groups))) 1358 (nnimap-get-groups)))
1355 (unless (assoc group nnimap-current-infos) 1359 (unless (assoc group nnimap-current-infos)
1356 ;; Insert dummy numbers here -- they don't matter. 1360 ;; Insert dummy numbers here -- they don't matter.
1357 (insert (format "%S 0 1 y\n" (encode-coding-string group 'utf-8))))) 1361 (insert (format "%S 0 1 y\n" (nnimap-encode-gnus-group group)))))
1358 t))) 1362 t)))
1359 1363
1360(deffoo nnimap-retrieve-group-data-early (server infos) 1364(deffoo nnimap-retrieve-group-data-early (server infos)
@@ -1453,8 +1457,9 @@ If LIMIT, first try to limit the search to the N last articles."
1453 (active (gnus-active group))) 1457 (active (gnus-active group)))
1454 (when active 1458 (when active
1455 (insert (format "%S %d %d y\n" 1459 (insert (format "%S %d %d y\n"
1456 (decode-coding-string 1460 (nnimap-encode-gnus-group
1457 (gnus-group-real-name group) 'utf-8) 1461 (nnimap-decode-gnus-group
1462 (gnus-group-real-name group)))
1458 (cdr active) 1463 (cdr active)
1459 (car active)))))))))))) 1464 (car active))))))))))))
1460 1465
@@ -1672,7 +1677,8 @@ If LIMIT, first try to limit the search to the N last articles."
1672 (nreverse result)))) 1677 (nreverse result))))
1673 1678
1674(defun nnimap-store-info (info active) 1679(defun nnimap-store-info (info active)
1675 (let* ((group (gnus-group-real-name (gnus-info-group info))) 1680 (let* ((group (nnimap-decode-gnus-group
1681 (gnus-group-real-name (gnus-info-group info))))
1676 (entry (assoc group nnimap-current-infos))) 1682 (entry (assoc group nnimap-current-infos)))
1677 (if entry 1683 (if entry
1678 (setcdr entry (list info active)) 1684 (setcdr entry (list info active))
diff --git a/lisp/isearch.el b/lisp/isearch.el
index c36f4631549..2efa4c7e8ef 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -224,7 +224,7 @@ Default value, nil, means edit the string instead."
224 224
225(autoload 'character-fold-to-regexp "character-fold") 225(autoload 'character-fold-to-regexp "character-fold")
226 226
227(defcustom search-default-regexp-mode #'character-fold-to-regexp 227(defcustom search-default-mode #'character-fold-to-regexp
228 "Default mode to use when starting isearch. 228 "Default mode to use when starting isearch.
229Value is nil, t, or a function. 229Value is nil, t, or a function.
230 230
@@ -234,9 +234,9 @@ If t, default to regexp searches (as if typing `\\[isearch-toggle-regexp]' durin
234isearch). 234isearch).
235 235
236If a function, use that function as an `isearch-regexp-function'. 236If a function, use that function as an `isearch-regexp-function'.
237Example functions are `word-search-regexp' \(`\\[isearch-toggle-word]'), 237Example functions (and the keys to toggle them during isearch)
238`isearch-symbol-regexp' \(`\\[isearch-toggle-symbol]'), and 238are `word-search-regexp' \(`\\[isearch-toggle-word]'), `isearch-symbol-regexp'
239`character-fold-to-regexp' \(`\\[isearch-toggle-character-fold]')." 239\(`\\[isearch-toggle-symbol]'), and `character-fold-to-regexp' \(`\\[isearch-toggle-character-fold]')."
240 ;; :type is set below by `isearch-define-mode-toggle'. 240 ;; :type is set below by `isearch-define-mode-toggle'.
241 :type '(choice (const :tag "Literal search" nil) 241 :type '(choice (const :tag "Literal search" nil)
242 (const :tag "Regexp search" t) 242 (const :tag "Regexp search" t)
@@ -558,7 +558,11 @@ If the value is a function (e.g. `isearch-symbol-regexp'), it is
558called to convert a plain search string to a regexp used by 558called to convert a plain search string to a regexp used by
559regexp search functions. 559regexp search functions.
560The symbol property `isearch-message-prefix' put on this function 560The symbol property `isearch-message-prefix' put on this function
561specifies the prefix string displayed in the search message.") 561specifies the prefix string displayed in the search message.
562
563This variable is set and changed during isearch. To change the
564default behaviour used for searches, see `search-default-mode'
565instead.")
562;; We still support setting this to t for backwards compatibility. 566;; We still support setting this to t for backwards compatibility.
563(define-obsolete-variable-alias 'isearch-word 567(define-obsolete-variable-alias 'isearch-word
564 'isearch-regexp-function "25.1") 568 'isearch-regexp-function "25.1")
@@ -868,11 +872,11 @@ used to set the value of `isearch-regexp-function'."
868 (setq isearch-forward forward 872 (setq isearch-forward forward
869 isearch-regexp (or regexp 873 isearch-regexp (or regexp
870 (and (not regexp-function) 874 (and (not regexp-function)
871 (eq search-default-regexp-mode t))) 875 (eq search-default-mode t)))
872 isearch-regexp-function (or regexp-function 876 isearch-regexp-function (or regexp-function
873 (and (functionp search-default-regexp-mode) 877 (and (functionp search-default-mode)
874 (not regexp) 878 (not regexp)
875 search-default-regexp-mode)) 879 search-default-mode))
876 isearch-op-fun op-fun 880 isearch-op-fun op-fun
877 isearch-last-case-fold-search isearch-case-fold-search 881 isearch-last-case-fold-search isearch-case-fold-search
878 isearch-case-fold-search case-fold-search 882 isearch-case-fold-search case-fold-search
@@ -1506,7 +1510,7 @@ Use `isearch-exit' to quit without signaling."
1506 (isearch-repeat 'backward)) 1510 (isearch-repeat 'backward))
1507 1511
1508 1512
1509;;; Toggles for `isearch-regexp-function' and `search-default-regexp-mode'. 1513;;; Toggles for `isearch-regexp-function' and `search-default-mode'.
1510(defmacro isearch-define-mode-toggle (mode key function &optional docstring &rest body) 1514(defmacro isearch-define-mode-toggle (mode key function &optional docstring &rest body)
1511 "Define a command called `isearch-toggle-MODE' and bind it to `M-s KEY'. 1515 "Define a command called `isearch-toggle-MODE' and bind it to `M-s KEY'.
1512The first line of the command's docstring is auto-generated, the 1516The first line of the command's docstring is auto-generated, the
@@ -1524,21 +1528,19 @@ The command then executes BODY and updates the isearch prompt."
1524 (if docstring (concat "\n" docstring) "")) 1528 (if docstring (concat "\n" docstring) ""))
1525 (interactive) 1529 (interactive)
1526 ,@(when function 1530 ,@(when function
1527 `((setq isearch-regexp-function 1531 `((setq isearch-regexp-function #',function)
1528 (unless (eq isearch-regexp-function #',function) 1532 (setq isearch-regexp nil)))
1529 #',function))
1530 (when isearch-regexp-function (setq isearch-regexp nil))))
1531 ,@body 1533 ,@body
1532 (setq isearch-success t isearch-adjusted t) 1534 (setq isearch-success t isearch-adjusted t)
1533 (isearch-update)) 1535 (isearch-update))
1534 (define-key isearch-mode-map ,key #',command-name) 1536 (define-key isearch-mode-map ,key #',command-name)
1535 ,@(when (symbolp function) 1537 ,@(when (and function (symbolp function))
1536 `((put ',function 'isearch-message-prefix ,(format "%s " mode)) 1538 `((put ',function 'isearch-message-prefix ,(format "%s " mode))
1537 (put ',function :advertised-binding ,key) 1539 (put ',function :advertised-binding ,key)
1538 (cl-callf (lambda (types) (cons 'choice 1540 (cl-callf (lambda (types) (cons 'choice
1539 (cons '(const :tag ,(capitalize (format "%s search" mode)) ,function) 1541 (cons '(const :tag ,(capitalize (format "%s search" mode)) ,function)
1540 (cdr types)))) 1542 (cdr types))))
1541 (get 'search-default-regexp-mode 'custom-type))))))) 1543 (get 'search-default-mode 'custom-type)))))))
1542 1544
1543(isearch-define-mode-toggle word "w" word-search-regexp "\ 1545(isearch-define-mode-toggle word "w" word-search-regexp "\
1544Turning on word search turns off regexp mode.") 1546Turning on word search turns off regexp mode.")
@@ -2571,7 +2573,7 @@ the word mode."
2571 (setq regexp-function #'word-search-regexp)) 2573 (setq regexp-function #'word-search-regexp))
2572 (let ((description 2574 (let ((description
2573 ;; Don't use a description on the default search mode. 2575 ;; Don't use a description on the default search mode.
2574 (cond ((equal regexp-function search-default-regexp-mode) "") 2576 (cond ((equal regexp-function search-default-mode) "")
2575 (regexp-function 2577 (regexp-function
2576 (and (symbolp regexp-function) 2578 (and (symbolp regexp-function)
2577 (or (get regexp-function 'isearch-message-prefix) 2579 (or (get regexp-function 'isearch-message-prefix)
@@ -2579,7 +2581,7 @@ the word mode."
2579 (isearch-regexp "regexp ") 2581 (isearch-regexp "regexp ")
2580 ;; We're in literal mode. If the default mode is not 2582 ;; We're in literal mode. If the default mode is not
2581 ;; literal, then describe it. 2583 ;; literal, then describe it.
2582 ((functionp search-default-regexp-mode) "literal ")))) 2584 ((functionp search-default-mode) "literal "))))
2583 (if space-before 2585 (if space-before
2584 ;; Move space from the end to the beginning. 2586 ;; Move space from the end to the beginning.
2585 (replace-regexp-in-string "\\(.*\\) \\'" " \\1" description) 2587 (replace-regexp-in-string "\\(.*\\) \\'" " \\1" description)
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 512d65fa580..cc7233e193f 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -244,7 +244,7 @@
244 (setq menu-bar-last-search-type 'string) 244 (setq menu-bar-last-search-type 'string)
245 ;; Ideally, this whole command would be equivalent to `C-s RET'. 245 ;; Ideally, this whole command would be equivalent to `C-s RET'.
246 (let ((isearch-forward (not backward)) 246 (let ((isearch-forward (not backward))
247 (isearch-regexp-function search-default-regexp-mode) 247 (isearch-regexp-function search-default-mode)
248 (isearch-regexp nil)) 248 (isearch-regexp nil))
249 (if (or (equal string "") (not string)) 249 (if (or (equal string "") (not string))
250 (funcall (isearch-search-fun-default) (car search-ring)) 250 (funcall (isearch-search-fun-default) (car search-ring))
@@ -1256,6 +1256,52 @@ mail status in mode line"))
1256 :enable (not (truncated-partial-width-window-p)))) 1256 :enable (not (truncated-partial-width-window-p))))
1257 menu)) 1257 menu))
1258 1258
1259(defvar menu-bar-search-options-menu
1260 (let ((menu (make-sparse-keymap "Search Options")))
1261
1262 (dolist (x '((character-fold-to-regexp "Fold Characters" "Character folding")
1263 (isearch-symbol-regexp "Whole Symbols" "Whole symbol")
1264 (word-search-regexp "Whole Words" "Whole word")))
1265 (bindings--define-key menu (vector (nth 0 x))
1266 `(menu-item ,(nth 1 x)
1267 (lambda ()
1268 (interactive)
1269 (setq search-default-mode #',(nth 0 x))
1270 (message ,(format "%s search enabled" (nth 2 x))))
1271 :help ,(format "Enable %s search" (downcase (nth 2 x)))
1272 :button (:radio . (eq search-default-mode #',(nth 0 x))))))
1273
1274 (bindings--define-key menu [regexp-search]
1275 '(menu-item "Regular Expression"
1276 (lambda ()
1277 (interactive)
1278 (setq search-default-mode t)
1279 (message "Regular-expression search enabled"))
1280 :help "Enable regular-expression search"
1281 :button (:radio . (eq search-default-mode t))))
1282
1283 (bindings--define-key menu [regular-search]
1284 '(menu-item "Literal Search"
1285 (lambda ()
1286 (interactive)
1287 (when search-default-mode
1288 (setq search-default-mode nil)
1289 (when (symbolp search-default-mode)
1290 (message "Literal search enabled"))))
1291 :help "Disable special search modes"
1292 :button (:radio . (not search-default-mode))))
1293
1294 (bindings--define-key menu [custom-separator]
1295 menu-bar-separator)
1296 (bindings--define-key menu [case-fold-search]
1297 (menu-bar-make-toggle
1298 toggle-case-fold-search case-fold-search
1299 "Ignore Case"
1300 "Case-Insensitive Search %s"
1301 "Ignore letter-case in search commands"))
1302
1303 menu))
1304
1259(defvar menu-bar-options-menu 1305(defvar menu-bar-options-menu
1260 (let ((menu (make-sparse-keymap "Options"))) 1306 (let ((menu (make-sparse-keymap "Options")))
1261 (bindings--define-key menu [customize] 1307 (bindings--define-key menu [customize]
@@ -1367,12 +1413,9 @@ mail status in mode line"))
1367 (:visible (and (boundp 'cua-enable-cua-keys) 1413 (:visible (and (boundp 'cua-enable-cua-keys)
1368 (not cua-enable-cua-keys))))) 1414 (not cua-enable-cua-keys)))))
1369 1415
1370 (bindings--define-key menu [case-fold-search] 1416 (bindings--define-key menu [search-options]
1371 (menu-bar-make-toggle 1417 `(menu-item "Default Search Options"
1372 toggle-case-fold-search case-fold-search 1418 ,menu-bar-search-options-menu))
1373 "Ignore Case for Search"
1374 "Case-Insensitive Search %s"
1375 "Ignore letter-case in search commands"))
1376 1419
1377 (bindings--define-key menu [line-wrapping] 1420 (bindings--define-key menu [line-wrapping]
1378 `(menu-item "Line Wrapping in This Buffer" 1421 `(menu-item "Line Wrapping in This Buffer"
diff --git a/src/w32inevt.c b/src/w32inevt.c
index 54b0b13f54e..e714e27f4bc 100644
--- a/src/w32inevt.c
+++ b/src/w32inevt.c
@@ -660,6 +660,7 @@ handle_file_notifications (struct input_event *hold_quit)
660 inev.arg = list3 (make_pointer_integer (notifications_desc), 660 inev.arg = list3 (make_pointer_integer (notifications_desc),
661 action, fname); 661 action, fname);
662 kbd_buffer_store_event_hold (&inev, hold_quit); 662 kbd_buffer_store_event_hold (&inev, hold_quit);
663 nevents++;
663 664
664 if (!fni->NextEntryOffset) 665 if (!fni->NextEntryOffset)
665 break; 666 break;
diff --git a/src/w32notify.c b/src/w32notify.c
index 576cf844dab..71787c45db8 100644
--- a/src/w32notify.c
+++ b/src/w32notify.c
@@ -144,8 +144,9 @@ send_notifications (BYTE *info, DWORD info_size, void *desc,
144 if (!notification_buffer_in_use) 144 if (!notification_buffer_in_use)
145 { 145 {
146 if (info_size) 146 if (info_size)
147 memcpy (file_notifications, info, info_size); 147 memcpy (file_notifications, info,
148 notifications_size = info_size; 148 min (info_size, sizeof (file_notifications)));
149 notifications_size = min (info_size, sizeof (file_notifications));
149 notifications_desc = desc; 150 notifications_desc = desc;
150 /* If PostMessage fails, the message queue is full. If that 151 /* If PostMessage fails, the message queue is full. If that
151 happens, the last thing they will worry about is file 152 happens, the last thing they will worry about is file
diff --git a/src/xfns.c b/src/xfns.c
index 9624ac5d9ac..20ac6271715 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5683,6 +5683,7 @@ compute_tip_xy (struct frame *f, Lisp_Object parms, Lisp_Object dx, Lisp_Object
5683 int win_x, win_y; 5683 int win_x, win_y;
5684 Window root, child; 5684 Window root, child;
5685 unsigned pmask; 5685 unsigned pmask;
5686 int min_x, min_y, max_x, max_y = -1;
5686 5687
5687 /* User-specified position? */ 5688 /* User-specified position? */
5688 left = Fcdr (Fassq (Qleft, parms)); 5689 left = Fcdr (Fassq (Qleft, parms));
@@ -5695,45 +5696,81 @@ compute_tip_xy (struct frame *f, Lisp_Object parms, Lisp_Object dx, Lisp_Object
5695 if ((!INTEGERP (left) && !INTEGERP (right)) 5696 if ((!INTEGERP (left) && !INTEGERP (right))
5696 || (!INTEGERP (top) && !INTEGERP (bottom))) 5697 || (!INTEGERP (top) && !INTEGERP (bottom)))
5697 { 5698 {
5699 Lisp_Object frame, attributes, monitor, geometry;
5700
5698 block_input (); 5701 block_input ();
5699 XQueryPointer (FRAME_X_DISPLAY (f), FRAME_DISPLAY_INFO (f)->root_window, 5702 XQueryPointer (FRAME_X_DISPLAY (f), FRAME_DISPLAY_INFO (f)->root_window,
5700 &root, &child, root_x, root_y, &win_x, &win_y, &pmask); 5703 &root, &child, root_x, root_y, &win_x, &win_y, &pmask);
5701 unblock_input (); 5704 unblock_input ();
5705
5706 XSETFRAME(frame, f);
5707 attributes = Fx_display_monitor_attributes_list (frame);
5708
5709 /* Try to determine the monitor where the mouse pointer is and
5710 its geometry. See bug#22549. */
5711 while (CONSP (attributes))
5712 {
5713 monitor = XCAR (attributes);
5714 geometry = Fassq (Qgeometry, monitor);
5715 if (CONSP (geometry))
5716 {
5717 min_x = XINT (Fnth (make_number (1), geometry));
5718 min_y = XINT (Fnth (make_number (2), geometry));
5719 max_x = min_x + XINT (Fnth (make_number (3), geometry));
5720 max_y = min_y + XINT (Fnth (make_number (4), geometry));
5721 if (min_x <= *root_x && *root_x < max_x
5722 && min_y <= *root_y && *root_y < max_y)
5723 {
5724 break;
5725 }
5726 max_y = -1;
5727 }
5728
5729 attributes = XCDR (attributes);
5730 }
5731 }
5732
5733 /* It was not possible to determine the monitor's geometry, so we
5734 assign some sane defaults here: */
5735 if ( max_y < 0 )
5736 {
5737 min_x = 0;
5738 min_y = 0;
5739 max_x = x_display_pixel_width (FRAME_DISPLAY_INFO (f));
5740 max_y = x_display_pixel_height (FRAME_DISPLAY_INFO (f));
5702 } 5741 }
5703 5742
5704 if (INTEGERP (top)) 5743 if (INTEGERP (top))
5705 *root_y = XINT (top); 5744 *root_y = XINT (top);
5706 else if (INTEGERP (bottom)) 5745 else if (INTEGERP (bottom))
5707 *root_y = XINT (bottom) - height; 5746 *root_y = XINT (bottom) - height;
5708 else if (*root_y + XINT (dy) <= 0) 5747 else if (*root_y + XINT (dy) <= min_y)
5709 *root_y = 0; /* Can happen for negative dy */ 5748 *root_y = min_y; /* Can happen for negative dy */
5710 else if (*root_y + XINT (dy) + height 5749 else if (*root_y + XINT (dy) + height <= max_y)
5711 <= x_display_pixel_height (FRAME_DISPLAY_INFO (f)))
5712 /* It fits below the pointer */ 5750 /* It fits below the pointer */
5713 *root_y += XINT (dy); 5751 *root_y += XINT (dy);
5714 else if (height + XINT (dy) <= *root_y) 5752 else if (height + XINT (dy) + min_y <= *root_y)
5715 /* It fits above the pointer. */ 5753 /* It fits above the pointer. */
5716 *root_y -= height + XINT (dy); 5754 *root_y -= height + XINT (dy);
5717 else 5755 else
5718 /* Put it on the top. */ 5756 /* Put it on the top. */
5719 *root_y = 0; 5757 *root_y = min_y;
5720 5758
5721 if (INTEGERP (left)) 5759 if (INTEGERP (left))
5722 *root_x = XINT (left); 5760 *root_x = XINT (left);
5723 else if (INTEGERP (right)) 5761 else if (INTEGERP (right))
5724 *root_x = XINT (right) - width; 5762 *root_x = XINT (right) - width;
5725 else if (*root_x + XINT (dx) <= 0) 5763 else if (*root_x + XINT (dx) <= min_x)
5726 *root_x = 0; /* Can happen for negative dx */ 5764 *root_x = 0; /* Can happen for negative dx */
5727 else if (*root_x + XINT (dx) + width 5765 else if (*root_x + XINT (dx) + width <= max_x)
5728 <= x_display_pixel_width (FRAME_DISPLAY_INFO (f)))
5729 /* It fits to the right of the pointer. */ 5766 /* It fits to the right of the pointer. */
5730 *root_x += XINT (dx); 5767 *root_x += XINT (dx);
5731 else if (width + XINT (dx) <= *root_x) 5768 else if (width + XINT (dx) + min_x <= *root_x)
5732 /* It fits to the left of the pointer. */ 5769 /* It fits to the left of the pointer. */
5733 *root_x -= width + XINT (dx); 5770 *root_x -= width + XINT (dx);
5734 else 5771 else
5735 /* Put it left-justified on the screen--it ought to fit that way. */ 5772 /* Put it left justified on the screen -- it ought to fit that way. */
5736 *root_x = 0; 5773 *root_x = min_x;
5737} 5774}
5738 5775
5739 5776
diff --git a/test/etags/ruby-src/test1.ru b/test/etags/ruby-src/test1.ru
index 93888c1040b..eafaec6248b 100644
--- a/test/etags/ruby-src/test1.ru
+++ b/test/etags/ruby-src/test1.ru
@@ -29,9 +29,13 @@ module A
29 :baz, 29 :baz,
30 :more 30 :more
31 attr_accessor :tee 31 attr_accessor :tee
32 alias_method :qux, :tee, attr_accessor :bogus 32 alias_method :qux, :tee, attr_accessor(:bogus)
33 alias_method :xyz, 33 alias_method :xyz,
34 :tee ; attr_reader :subtle 34 :tee ; attr_reader :subtle
35 attr_reader(:foo1, :bar1, # comment
36 :qux1)
37 alias_method ( :foo2, #cmmt
38 :bar2)
35 end 39 end
36end 40end
37 41
diff --git a/test/lisp/filenotify-tests.el b/test/lisp/filenotify-tests.el
index 629d85be1ef..5fc4ff8bf42 100644
--- a/test/lisp/filenotify-tests.el
+++ b/test/lisp/filenotify-tests.el
@@ -66,7 +66,7 @@
66 "Timeout to wait for arriving events, in seconds." 66 "Timeout to wait for arriving events, in seconds."
67 (cond 67 (cond
68 ((file-remote-p temporary-file-directory) 6) 68 ((file-remote-p temporary-file-directory) 6)
69 ((string-equal (file-notify--test-library) "w32notify") 20) 69 ((string-equal (file-notify--test-library) "w32notify") 10)
70 ((eq system-type 'cygwin) 10) 70 ((eq system-type 'cygwin) 10)
71 (t 3))) 71 (t 3)))
72 72
@@ -797,10 +797,7 @@ longer than timeout seconds for the events to be delivered."
797 file-notify--test-tmpfile 797 file-notify--test-tmpfile
798 '(change) 'file-notify--test-event-handler))) 798 '(change) 'file-notify--test-event-handler)))
799 (unwind-protect 799 (unwind-protect
800 ;; In case of w32notify, the upper limit of events to handle 800 (let ((n 1000)
801 ;; seems to be 260. Reason unknown.
802 (let ((n (if (string-equal (file-notify--test-library) "w32notify")
803 250 1000))
804 source-file-list target-file-list 801 source-file-list target-file-list
805 (default-directory file-notify--test-tmpfile)) 802 (default-directory file-notify--test-tmpfile))
806 (dotimes (i n) 803 (dotimes (i n)
@@ -832,10 +829,11 @@ longer than timeout seconds for the events to be delivered."
832 (let ((source-file-list source-file-list) 829 (let ((source-file-list source-file-list)
833 (target-file-list target-file-list)) 830 (target-file-list target-file-list))
834 (while (and source-file-list target-file-list) 831 (while (and source-file-list target-file-list)
835 (rename-file (pop source-file-list) (pop target-file-list) t)))) 832 (rename-file (pop source-file-list) (pop target-file-list) t)
833 (read-event nil nil 0.02))))
836 (file-notify--test-with-events (make-list n 'deleted) 834 (file-notify--test-with-events (make-list n 'deleted)
837 (dolist (file target-file-list) 835 (dolist (file target-file-list)
838 (delete-file file)))) 836 (prog1 (delete-file file) (read-event nil nil 0.02)))))
839 (file-notify--test-cleanup))) 837 (file-notify--test-cleanup)))
840 838
841(file-notify--deftest-remote file-notify-test06-many-events 839(file-notify--deftest-remote file-notify-test06-many-events
diff --git a/test/manual/etags/CTAGS.good b/test/manual/etags/CTAGS.good
index 58b1db6b0a3..ebde715272a 100644
--- a/test/manual/etags/CTAGS.good
+++ b/test/manual/etags/CTAGS.good
@@ -454,7 +454,7 @@ Condition_Variable/t ada-src/2ataspri.ads /^ type Condition_Variable is privat
454Condition_Variable/t ada-src/2ataspri.ads /^ type Condition_Variable is$/ 454Condition_Variable/t ada-src/2ataspri.ads /^ type Condition_Variable is$/
455Configure pyt-src/server.py /^class Configure(Frame, ControlEdit):$/ 455Configure pyt-src/server.py /^class Configure(Frame, ControlEdit):$/
456ConfirmQuit pyt-src/server.py /^def ConfirmQuit(frame, context):$/ 456ConfirmQuit pyt-src/server.py /^def ConfirmQuit(frame, context):$/
457Constant ruby-src/test1.ru 38 457Constant ruby-src/test1.ru 42
458ControlEdit pyt-src/server.py /^class ControlEdit(Frame):$/ 458ControlEdit pyt-src/server.py /^class ControlEdit(Frame):$/
459Controls pyt-src/server.py /^class Controls:$/ 459Controls pyt-src/server.py /^class Controls:$/
460CopyTextString pas-src/common.pas /^function CopyTextString;(*($/ 460CopyTextString pas-src/common.pas /^function CopyTextString;(*($/
@@ -2555,6 +2555,7 @@ bar c-src/c.c /^void bar() {while(0) {}}$/
2555bar c.c 143 2555bar c.c 143
2556bar c-src/h.h 19 2556bar c-src/h.h 19
2557bar cp-src/x.cc /^XX::bar()$/ 2557bar cp-src/x.cc /^XX::bar()$/
2558bar1 ruby-src/test1.ru /^ attr_reader(:foo1, :bar1, # comment$/
2558bar= ruby-src/test1.ru /^ attr_writer :bar,$/ 2559bar= ruby-src/test1.ru /^ attr_writer :bar,$/
2559bas_syn prol-src/natded.prolog /^bas_syn(n(_)).$/ 2560bas_syn prol-src/natded.prolog /^bas_syn(n(_)).$/
2560base c-src/emacs/src/lisp.h 2188 2561base c-src/emacs/src/lisp.h 2188
@@ -3008,6 +3009,8 @@ foo f-src/entry.strange /^ character*(*) function foo()$/
3008foo php-src/ptest.php /^foo()$/ 3009foo php-src/ptest.php /^foo()$/
3009foo ruby-src/test1.ru /^ attr_reader :foo$/ 3010foo ruby-src/test1.ru /^ attr_reader :foo$/
3010foo! ruby-src/test1.ru /^ def foo!$/ 3011foo! ruby-src/test1.ru /^ def foo!$/
3012foo1 ruby-src/test1.ru /^ attr_reader(:foo1, :bar1, # comment$/
3013foo2 ruby-src/test1.ru /^ alias_method ( :foo2, #cmmt$/
3011foobar c-src/c.c /^int foobar() {;}$/ 3014foobar c-src/c.c /^int foobar() {;}$/
3012foobar c.c /^extern void foobar (void) __attribute__ ((section / 3015foobar c.c /^extern void foobar (void) __attribute__ ((section /
3013foobar2 c-src/h.h 20 3016foobar2 c-src/h.h 20
@@ -3880,7 +3883,8 @@ questo ../c/c.web 34
3880quiettest make-src/Makefile /^quiettest:$/ 3883quiettest make-src/Makefile /^quiettest:$/
3881quit_char c-src/emacs/src/keyboard.c 192 3884quit_char c-src/emacs/src/keyboard.c 192
3882quit_throw_to_read_char c-src/emacs/src/keyboard.c /^quit_throw_to_read_char (bool from_signal)$/ 3885quit_throw_to_read_char c-src/emacs/src/keyboard.c /^quit_throw_to_read_char (bool from_signal)$/
3883qux ruby-src/test1.ru /^ alias_method :qux, :tee, attr_accessor :bogus$/ 3886qux ruby-src/test1.ru /^ alias_method :qux, :tee, attr_accessor(:bogus)/
3887qux1 ruby-src/test1.ru /^ :qux1)$/
3884qux= ruby-src/test1.ru /^ def qux=(tee)$/ 3888qux= ruby-src/test1.ru /^ def qux=(tee)$/
3885r0 c-src/sysdep.h 54 3889r0 c-src/sysdep.h 54
3886r1 c-src/sysdep.h 55 3890r1 c-src/sysdep.h 55
diff --git a/test/manual/etags/ETAGS.good_1 b/test/manual/etags/ETAGS.good_1
index 90bbe774f05..d2550863428 100644
--- a/test/manual/etags/ETAGS.good_1
+++ b/test/manual/etags/ETAGS.good_1
@@ -3061,7 +3061,7 @@ module ModuleExample1,0
3061 def module_instance_method46,1051 3061 def module_instance_method46,1051
3062 def ModuleExample.module_class_methodmodule_class_method49,1131 3062 def ModuleExample.module_class_methodmodule_class_method49,1131
3063 3063
3064ruby-src/test1.ru,785 3064ruby-src/test1.ru,935
3065class A1,0 3065class A1,0
3066 def a(2,8 3066 def a(2,8
3067 def b(5,38 3067 def b(5,38
@@ -3084,9 +3084,13 @@ module A9,57
3084 attr_accessor :teetee31,382 3084 attr_accessor :teetee31,382
3085 attr_accessor :teetee=31,382 3085 attr_accessor :teetee=31,382
3086 alias_method :qux,qux32,405 3086 alias_method :qux,qux32,405
3087 alias_method :xyz,xyz33,455 3087 alias_method :xyz,xyz33,456
3088 :tee ; attr_reader :subtlesubtle34,478 3088 :tee ; attr_reader :subtlesubtle34,479
3089A::Constant Constant38,533 3089 attr_reader(:foo1,foo135,523
3090 attr_reader(:foo1, :bar1,bar135,523
3091 :qux1)qux136,563
3092 alias_method ( :foo2,foo237,586
3093A::Constant Constant42,655
3090 3094
3091tex-src/testenv.tex,52 3095tex-src/testenv.tex,52
3092\newcommand{\nm}\nm4,77 3096\newcommand{\nm}\nm4,77
diff --git a/test/manual/etags/ETAGS.good_2 b/test/manual/etags/ETAGS.good_2
index d774bb1b190..9eb1d4297c8 100644
--- a/test/manual/etags/ETAGS.good_2
+++ b/test/manual/etags/ETAGS.good_2
@@ -3631,7 +3631,7 @@ module ModuleExample1,0
3631 def module_instance_method46,1051 3631 def module_instance_method46,1051
3632 def ModuleExample.module_class_methodmodule_class_method49,1131 3632 def ModuleExample.module_class_methodmodule_class_method49,1131
3633 3633
3634ruby-src/test1.ru,785 3634ruby-src/test1.ru,935
3635class A1,0 3635class A1,0
3636 def a(2,8 3636 def a(2,8
3637 def b(5,38 3637 def b(5,38
@@ -3654,9 +3654,13 @@ module A9,57
3654 attr_accessor :teetee31,382 3654 attr_accessor :teetee31,382
3655 attr_accessor :teetee=31,382 3655 attr_accessor :teetee=31,382
3656 alias_method :qux,qux32,405 3656 alias_method :qux,qux32,405
3657 alias_method :xyz,xyz33,455 3657 alias_method :xyz,xyz33,456
3658 :tee ; attr_reader :subtlesubtle34,478 3658 :tee ; attr_reader :subtlesubtle34,479
3659A::Constant Constant38,533 3659 attr_reader(:foo1,foo135,523
3660 attr_reader(:foo1, :bar1,bar135,523
3661 :qux1)qux136,563
3662 alias_method ( :foo2,foo237,586
3663A::Constant Constant42,655
3660 3664
3661tex-src/testenv.tex,52 3665tex-src/testenv.tex,52
3662\newcommand{\nm}\nm4,77 3666\newcommand{\nm}\nm4,77
diff --git a/test/manual/etags/ETAGS.good_3 b/test/manual/etags/ETAGS.good_3
index e3855a59309..1f5a34272e3 100644
--- a/test/manual/etags/ETAGS.good_3
+++ b/test/manual/etags/ETAGS.good_3
@@ -3408,7 +3408,7 @@ module ModuleExample1,0
3408 def module_instance_method46,1051 3408 def module_instance_method46,1051
3409 def ModuleExample.module_class_methodmodule_class_method49,1131 3409 def ModuleExample.module_class_methodmodule_class_method49,1131
3410 3410
3411ruby-src/test1.ru,785 3411ruby-src/test1.ru,935
3412class A1,0 3412class A1,0
3413 def a(2,8 3413 def a(2,8
3414 def b(5,38 3414 def b(5,38
@@ -3431,9 +3431,13 @@ module A9,57
3431 attr_accessor :teetee31,382 3431 attr_accessor :teetee31,382
3432 attr_accessor :teetee=31,382 3432 attr_accessor :teetee=31,382
3433 alias_method :qux,qux32,405 3433 alias_method :qux,qux32,405
3434 alias_method :xyz,xyz33,455 3434 alias_method :xyz,xyz33,456
3435 :tee ; attr_reader :subtlesubtle34,478 3435 :tee ; attr_reader :subtlesubtle34,479
3436A::Constant Constant38,533 3436 attr_reader(:foo1,foo135,523
3437 attr_reader(:foo1, :bar1,bar135,523
3438 :qux1)qux136,563
3439 alias_method ( :foo2,foo237,586
3440A::Constant Constant42,655
3437 3441
3438tex-src/testenv.tex,52 3442tex-src/testenv.tex,52
3439\newcommand{\nm}\nm4,77 3443\newcommand{\nm}\nm4,77
diff --git a/test/manual/etags/ETAGS.good_4 b/test/manual/etags/ETAGS.good_4
index dbae59bd59e..b8a3d9de6db 100644
--- a/test/manual/etags/ETAGS.good_4
+++ b/test/manual/etags/ETAGS.good_4
@@ -3225,7 +3225,7 @@ module ModuleExample1,0
3225 def module_instance_method46,1051 3225 def module_instance_method46,1051
3226 def ModuleExample.module_class_methodmodule_class_method49,1131 3226 def ModuleExample.module_class_methodmodule_class_method49,1131
3227 3227
3228ruby-src/test1.ru,785 3228ruby-src/test1.ru,935
3229class A1,0 3229class A1,0
3230 def a(2,8 3230 def a(2,8
3231 def b(5,38 3231 def b(5,38
@@ -3248,9 +3248,13 @@ module A9,57
3248 attr_accessor :teetee31,382 3248 attr_accessor :teetee31,382
3249 attr_accessor :teetee=31,382 3249 attr_accessor :teetee=31,382
3250 alias_method :qux,qux32,405 3250 alias_method :qux,qux32,405
3251 alias_method :xyz,xyz33,455 3251 alias_method :xyz,xyz33,456
3252 :tee ; attr_reader :subtlesubtle34,478 3252 :tee ; attr_reader :subtlesubtle34,479
3253A::Constant Constant38,533 3253 attr_reader(:foo1,foo135,523
3254 attr_reader(:foo1, :bar1,bar135,523
3255 :qux1)qux136,563
3256 alias_method ( :foo2,foo237,586
3257A::Constant Constant42,655
3254 3258
3255tex-src/testenv.tex,52 3259tex-src/testenv.tex,52
3256\newcommand{\nm}\nm4,77 3260\newcommand{\nm}\nm4,77
diff --git a/test/manual/etags/ETAGS.good_5 b/test/manual/etags/ETAGS.good_5
index 9ea77977ab6..9e3b258eabc 100644
--- a/test/manual/etags/ETAGS.good_5
+++ b/test/manual/etags/ETAGS.good_5
@@ -4142,7 +4142,7 @@ module ModuleExample1,0
4142 def module_instance_method46,1051 4142 def module_instance_method46,1051
4143 def ModuleExample.module_class_methodmodule_class_method49,1131 4143 def ModuleExample.module_class_methodmodule_class_method49,1131
4144 4144
4145ruby-src/test1.ru,785 4145ruby-src/test1.ru,935
4146class A1,0 4146class A1,0
4147 def a(2,8 4147 def a(2,8
4148 def b(5,38 4148 def b(5,38
@@ -4165,9 +4165,13 @@ module A9,57
4165 attr_accessor :teetee31,382 4165 attr_accessor :teetee31,382
4166 attr_accessor :teetee=31,382 4166 attr_accessor :teetee=31,382
4167 alias_method :qux,qux32,405 4167 alias_method :qux,qux32,405
4168 alias_method :xyz,xyz33,455 4168 alias_method :xyz,xyz33,456
4169 :tee ; attr_reader :subtlesubtle34,478 4169 :tee ; attr_reader :subtlesubtle34,479
4170A::Constant Constant38,533 4170 attr_reader(:foo1,foo135,523
4171 attr_reader(:foo1, :bar1,bar135,523
4172 :qux1)qux136,563
4173 alias_method ( :foo2,foo237,586
4174A::Constant Constant42,655
4171 4175
4172tex-src/testenv.tex,52 4176tex-src/testenv.tex,52
4173\newcommand{\nm}\nm4,77 4177\newcommand{\nm}\nm4,77
diff --git a/test/manual/etags/ETAGS.good_6 b/test/manual/etags/ETAGS.good_6
index 7420a41b108..f5e0ad4407f 100644
--- a/test/manual/etags/ETAGS.good_6
+++ b/test/manual/etags/ETAGS.good_6
@@ -4142,7 +4142,7 @@ module ModuleExample1,0
4142 def module_instance_method46,1051 4142 def module_instance_method46,1051
4143 def ModuleExample.module_class_methodmodule_class_method49,1131 4143 def ModuleExample.module_class_methodmodule_class_method49,1131
4144 4144
4145ruby-src/test1.ru,785 4145ruby-src/test1.ru,935
4146class A1,0 4146class A1,0
4147 def a(2,8 4147 def a(2,8
4148 def b(5,38 4148 def b(5,38
@@ -4165,9 +4165,13 @@ module A9,57
4165 attr_accessor :teetee31,382 4165 attr_accessor :teetee31,382
4166 attr_accessor :teetee=31,382 4166 attr_accessor :teetee=31,382
4167 alias_method :qux,qux32,405 4167 alias_method :qux,qux32,405
4168 alias_method :xyz,xyz33,455 4168 alias_method :xyz,xyz33,456
4169 :tee ; attr_reader :subtlesubtle34,478 4169 :tee ; attr_reader :subtlesubtle34,479
4170A::Constant Constant38,533 4170 attr_reader(:foo1,foo135,523
4171 attr_reader(:foo1, :bar1,bar135,523
4172 :qux1)qux136,563
4173 alias_method ( :foo2,foo237,586
4174A::Constant Constant42,655
4171 4175
4172tex-src/testenv.tex,52 4176tex-src/testenv.tex,52
4173\newcommand{\nm}\nm4,77 4177\newcommand{\nm}\nm4,77