emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] xwidget d464b0e 2/3: merge master


From: Joakim Verona
Subject: [Emacs-diffs] xwidget d464b0e 2/3: merge master
Date: Tue, 27 Jan 2015 21:12:19 +0000

branch: xwidget
commit d464b0ee300a1919f4398195974396e3e3d66d57
Merge: f93da81 81f7fcb
Author: Joakim Verona <address@hidden>
Commit: Joakim Verona <address@hidden>

    merge master
---
 ChangeLog                          |    4 +
 INSTALL.REPO                       |    2 +
 etc/ChangeLog                      |    5 +
 etc/publicsuffix.txt               | 2745 ++++++++++++++++++++++++------------
 lisp/ChangeLog                     |   51 +
 lisp/calculator.el                 |   16 +-
 lisp/emacs-lisp/cl-generic.el      |  323 +++--
 lisp/emacs-lisp/eieio-compat.el    |   13 +-
 lisp/emacs-lisp/eieio-datadebug.el |   16 -
 lisp/emacs-lisp/eieio-opt.el       |   18 +-
 lisp/gnus/ChangeLog                |   29 +
 lisp/gnus/gnus-group.el            |    4 +-
 lisp/gnus/gnus-int.el              |    8 +
 lisp/gnus/mm-decode.el             |   20 +-
 lisp/gnus/nnimap.el                |  137 ++-
 lisp/net/eww.el                    |   25 +-
 lisp/net/shr.el                    |    2 +-
 src/ChangeLog                      |   54 +
 src/image.c                        |   16 +-
 src/w32fns.c                       |   79 +-
 src/w32term.c                      |  119 +-
 src/w32term.h                      |    2 +-
 src/xfaces.c                       |    4 +-
 src/xfns.c                         |  219 ++--
 src/xterm.h                        |    6 +-
 test/ChangeLog                     |   10 +
 test/automated/cl-generic-tests.el |   12 +-
 27 files changed, 2594 insertions(+), 1345 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index eecdad6..2ab8235 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-01-26  Paul Eggert  <address@hidden>
+
+       * INSTALL.REPO: Mention minimum Git version.
+
 2015-01-25  Paul Eggert  <address@hidden>
 
        Use gnustep-config if available
diff --git a/INSTALL.REPO b/INSTALL.REPO
index df997fb..3431ee4 100644
--- a/INSTALL.REPO
+++ b/INSTALL.REPO
@@ -12,6 +12,8 @@ autoconf  - at least the version specified near the start of
   configure.ac (in the AC_PREREQ command).
 automake  - at least the version specified near the start of
   configure.ac (in the AM_INIT_AUTOMAKE command).
+git - at least Git 1.7.1.  If your repository was created by an older
+  Git version, you may need to reclone it.
 makeinfo  - not strictly necessary, but highly recommended, so that
   you can build the manuals.
 
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 55b835c..71ecf7f 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-26  Lars Ingebrigtsen  <address@hidden>
+
+       * publicsuffix.txt: Install an updated version of the file from
+       https://publicsuffix.org/list/effective_tld_names.dat.
+
 2015-01-25  Paul Eggert  <address@hidden>
 
        Use gnustep-config if available
diff --git a/etc/publicsuffix.txt b/etc/publicsuffix.txt
index fd84dc6..5c0baaf 100644
--- a/etc/publicsuffix.txt
+++ b/etc/publicsuffix.txt
@@ -404,7 +404,7 @@ mil.bo
 tv.bo
 
 // br : http://registro.br/dominio/categoria.html
-// Submitted by registry <address@hidden> 2014-03-04
+// Submitted by registry <address@hidden> 2014-08-11
 br
 adm.br
 adv.br
@@ -452,7 +452,7 @@ mil.br
 mp.br
 mus.br
 net.br
-nom.br
+*.nom.br
 not.br
 ntr.br
 odo.br
@@ -818,7 +818,14 @@ gob.es
 edu.es
 
 // et : http://en.wikipedia.org/wiki/.et
-*.et
+et
+com.et
+gov.et
+org.et
+edu.et
+biz.et
+name.et
+info.et
 
 // eu : http://en.wikipedia.org/wiki/.eu
 eu
@@ -1591,7 +1598,7 @@ jobs
 
 // jp : http://en.wikipedia.org/wiki/.jp
 // http://jprs.co.jp/en/jpdomain.html
-// Submitted by registry <address@hidden> 2014-02-28
+// Submitted by registry <address@hidden> 2014-10-30
 jp
 // jp organizational type names
 ac.jp
@@ -1603,7 +1610,7 @@ gr.jp
 lg.jp
 ne.jp
 or.jp
-// jp preficture type names
+// jp prefecture type names
 aichi.jp
 akita.jp
 aomori.jp
@@ -1651,6 +1658,53 @@ wakayama.jp
 yamagata.jp
 yamaguchi.jp
 yamanashi.jp
+栃木.jp
+愛知.jp
+愛媛.jp
+兵庫.jp
+熊本.jp
+茨城.jp
+北海道.jp
+千葉.jp
+和歌山.jp
+長崎.jp
+長野.jp
+新潟.jp
+青森.jp
+静岡.jp
+東京.jp
+石川.jp
+埼玉.jp
+三重.jp
+京都.jp
+佐賀.jp
+大分.jp
+大阪.jp
+奈良.jp
+宮城.jp
+宮崎.jp
+富山.jp
+山口.jp
+山形.jp
+山梨.jp
+岩手.jp
+岐阜.jp
+岡山.jp
+島根.jp
+広島.jp
+徳島.jp
+沖縄.jp
+滋賀.jp
+神奈川.jp
+福井.jp
+福岡.jp
+福島.jp
+秋田.jp
+群馬.jp
+香川.jp
+高知.jp
+鳥取.jp
+鹿児島.jp
 // jp geographic type names
 // http://jprs.jp/doc/rule/saisoku-1.html
 *.kawasaki.jp
@@ -5249,27 +5303,30 @@ gop.pk
 gos.pk
 info.pk
 
-// pl : http://www.dns.pl/english/
+// pl http://www.dns.pl/english/index.html
+// confirmed on 26.09.2014 from Bogna Tchórzewska <address@hidden>
 pl
-// NASK functional domains (nask.pl / dns.pl) : 
http://www.dns.pl/english/dns-funk.html
+com.pl
+net.pl
+org.pl
+info.pl
+waw.pl
+gov.pl
+// pl functional domains (http://www.dns.pl/english/index.html)
 aid.pl
 agro.pl
 atm.pl
 auto.pl
 biz.pl
-com.pl
 edu.pl
 gmina.pl
 gsm.pl
-info.pl
 mail.pl
 miasta.pl
 media.pl
 mil.pl
-net.pl
 nieruchomosci.pl
 nom.pl
-org.pl
 pc.pl
 powiat.pl
 priv.pl
@@ -5285,12 +5342,7 @@ tm.pl
 tourism.pl
 travel.pl
 turystyka.pl
-// ICM functional domains (icm.edu.pl)
-6bone.pl
-art.pl
-mbone.pl
 // Government domains (administred by ippt.gov.pl)
-gov.pl
 uw.gov.pl
 um.gov.pl
 ug.gov.pl
@@ -5300,11 +5352,7 @@ so.gov.pl
 sr.gov.pl
 po.gov.pl
 pa.gov.pl
-// other functional domains
-ngo.pl
-irc.pl
-usenet.pl
-// NASK geographical domains : http://www.dns.pl/english/dns-regiony.html
+// pl regional domains (http://www.dns.pl/english/index.html)
 augustow.pl
 babia-gora.pl
 bedzin.pl
@@ -5390,7 +5438,6 @@ rybnik.pl
 rzeszow.pl
 sanok.pl
 sejny.pl
-siedlce.pl
 slask.pl
 slupsk.pl
 sosnowiec.pl
@@ -5412,7 +5459,6 @@ ustka.pl
 walbrzych.pl
 warmia.pl
 warszawa.pl
-waw.pl
 wegrow.pl
 wielun.pl
 wlocl.pl
@@ -5425,18 +5471,6 @@ zagan.pl
 zarow.pl
 zgora.pl
 zgorzelec.pl
-// TASK geographical domains (www.task.gda.pl/uslugi/dns)
-gda.pl
-gdansk.pl
-gdynia.pl
-med.pl
-sopot.pl
-// other geographical domains
-gliwice.pl
-krakow.pl
-poznan.pl
-wroc.pl
-zakopane.pl
 
 // pm : http://www.afnic.fr/medias/documents/AFNIC-naming-policy2012.pdf
 pm
@@ -5621,7 +5655,7 @@ mari.ru
 mari-el.ru
 marine.ru
 mordovia.ru
-mosreg.ru
+// mosreg.ru  Bug 1090800 - removed at request of Aleksey Konstantinov 
<address@hidden>
 msk.ru
 murmansk.ru
 nalchik.ru
@@ -6005,11 +6039,35 @@ mil.to
 // Submitted by Ryan Sleevi <address@hidden> 2014-01-03
 tp
 
-// tr : http://en.wikipedia.org/wiki/.tr
-*.tr
-!nic.tr
-// Used by government in the TRNC
-// http://en.wikipedia.org/wiki/.nc.tr
+// subTLDs: https://www.nic.tr/forms/eng/policies.pdf
+//     and: https://www.nic.tr/forms/politikalar.pdf
+// Submitted by <address@hidden> 2014-07-19
+tr
+com.tr
+info.tr
+biz.tr
+net.tr
+org.tr
+web.tr
+gen.tr
+tv.tr
+av.tr
+dr.tr
+bbs.tr
+name.tr
+tel.tr
+gov.tr
+bel.tr
+pol.tr
+mil.tr
+k12.tr
+edu.tr
+kep.tr
+
+// Used by Northern Cyprus
+nc.tr
+
+// Used by government agencies of Northern Cyprus
 gov.nc.tr
 
 // travel : http://en.wikipedia.org/wiki/.travel
@@ -6284,7 +6342,7 @@ k12.mo.us
 k12.ms.us
 k12.mt.us
 k12.nc.us
-k12.nd.us
+// k12.nd.us  Bug 1028347 - Removed at request of Travis Rosso <address@hidden>
 k12.ne.us
 k12.nh.us
 k12.nj.us
@@ -6309,7 +6367,6 @@ k12.wa.us
 k12.wi.us
 // k12.wv.us  Bug 947705 - Removed at request of Verne Britton <address@hidden>
 k12.wy.us
-
 cc.ak.us
 cc.al.us
 cc.ar.us
@@ -6365,7 +6422,6 @@ cc.wa.us
 cc.wi.us
 cc.wv.us
 cc.wy.us
-
 lib.ak.us
 lib.al.us
 lib.ar.us
@@ -6421,7 +6477,6 @@ lib.wa.us
 lib.wi.us
 // lib.wv.us  Bug 941670 - Removed at request of Larry W Arnold 
<address@hidden>
 lib.wy.us
-
 // k12.ma.us contains school districts in Massachusetts. The 4LDs are
 //  managed indepedently except for private (PVT), charter (CHTR) and
 //  parochial (PAROCH) schools.  Those are delegated dorectly to the
@@ -6725,1268 +6780,2173 @@ xxx
 *.zw
 
 
-// xn--80asehdb : 2013-07-14 CORE Association
-онлайн
+// List of new gTLDs imported from https://newgtlds.icann.org/newgtlds.csv on 
2014-12-22T18:02:07Z
 
-// xn--80aswg : 2013-07-14 CORE Association
-сайт
+// abb : 2014-10-24 ABB Ltd
+abb
 
-// xn--ngbc5azd : 2013-07-14 International Domain Registry Pty. Ltd.
-شبكة
+// abbott : 2014-07-24 Abbott Laboratories, Inc.
+abbott
 
-// xn--unup4y : 2013-07-14 Spring Fields, LLC
-游戏
+// abogado : 2014-04-24 Top Level Domain Holdings Limited
+abogado
 
-// xn--vhquv : 2013-08-28 Dash McCook, LLC
-企业
+// academy : 2013-11-07 Half Oaks, LLC
+academy
 
-// camera : 2013-08-28 Atomic Maple, LLC
-camera
+// accenture : 2014-08-15 Accenture plc
+accenture
 
-// clothing : 2013-08-28 Steel Lake, LLC
-clothing
+// accountant : 2014-11-20 dot Accountant Limited
+accountant
 
-// lighting : 2013-08-28 John McCook, LLC
-lighting
+// accountants : 2014-03-20 Knob Town, LLC
+accountants
 
-// singles : 2013-08-28 Fern Madison, LLC
-singles
+// active : 2014-05-01 The Active Network, Inc
+active
 
-// ventures : 2013-08-28 Binky Lake, LLC
-ventures
+// actor : 2013-12-12 United TLD Holdco Ltd.
+actor
 
-// voyage : 2013-08-28 Ruby House, LLC
-voyage
+// ads : 2014-12-04 Charleston Road Registry Inc.
+ads
 
-// guru : 2013-08-28 Pioneer Cypress, LLC
-guru
+// adult : 2014-10-16 ICM Registry AD LLC
+adult
 
-// holdings : 2013-08-28 John Madison, LLC
-holdings
+// afl : 2014-10-02 Australian Football League
+afl
 
-// equipment : 2013-08-28 Corn Station, LLC
-equipment
+// africa : 2014-03-24 ZA Central Registry NPC trading as Registry.Africa
+africa
 
-// bike : 2013-08-28 Grand Hollow, LLC
-bike
+// agency : 2013-11-14 Steel Falls, LLC
+agency
 
-// estate : 2013-08-28 Trixy Park, LLC
-estate
+// aig : 2014-12-18 American International Group, Inc.
+aig
 
-// tattoo : 2013-08-30 Uniregistry,Corp.
-tattoo
+// airforce : 2014-03-06 United TLD Holdco Ltd.
+airforce
 
-// xn--3ds443g : 2013-09-09 TLD Registry Limited
-在线
+// airtel : 2014-10-24 Bharti Airtel Limited
+airtel
 
-// xn--fiq228c5hs : 2013-09-09 TLD Registry Limited
-中文网
+// allfinanz : 2014-07-03 Allfinanz Deutsche Vermögensberatung 
Aktiengesellschaft
+allfinanz
 
-// land : 2013-09-10 Pine Moon, LLC
-land
+// alsace : 2014-07-02 REGION D ALSACE
+alsace
 
-// plumbing : 2013-09-10 Spring Tigers, LLC
-plumbing
+// amsterdam : 2014-07-24 Gemeente Amsterdam
+amsterdam
 
-// contractors : 2013-09-10 Magic Woods, LLC
-contractors
+// analytics : 2014-12-18 Campus IP LLC
+analytics
 
-// sexy : 2013-09-11 Uniregistry,Corp.
-sexy
+// android : 2014-08-07 Charleston Road Registry Inc.
+android
 
-// menu : 2013-09-11 Wedding TLD2, LLC
-menu
+// apartments : 2014-12-11 June Maple, LLC
+apartments
 
-// xn--rhqv96g : 2013-09-11 Stable Tone Limited
-世界
+// aquarelle : 2014-07-24 Aquarelle.com
+aquarelle
 
-// uno : 2013-09-11 Dot Latin, LLC
-uno
+// aramco : 2014-11-20 Aramco Services Company
+aramco
 
-// gallery : 2013-09-13 Sugar House, LLC
-gallery
+// archi : 2014-02-06 STARTING DOT LIMITED
+archi
 
-// technology : 2013-09-13 Auburn Falls
-technology
+// army : 2014-03-06 United TLD Holdco Ltd.
+army
 
-// xn--3bst00m : 2013-09-13 Eagle Horizon Limited
-集团
+// arte : 2014-12-11 Association Relative à la Télévision Européenne G.E.I.E.
+arte
 
-// reviews : 2013-09-13 Extra Cover, LLC
-reviews
+// associates : 2014-03-06 Baxter Hill, LLC
+associates
 
-// guide : 2013-09-13 Snow Moon, LLC
-guide
+// attorney : 2014-03-20
+attorney
 
-// xn--6qq986b3x1 : 2013-09-13 Tycoon Treasure Limited
-我爱你
+// auction : 2014-03-20
+auction
 
-// graphics : 2013-09-13 Over Madison, LLC
-graphics
+// audio : 2014-03-20 Uniregistry, Corp.
+audio
 
-// construction : 2013-09-13 Fox Dynamite, LLC
-construction
+// author : 2014-12-18 Amazon EU S.à r.l.
+author
 
-// onl : 2013-09-16 I-Registry Ltd.
-onl
+// auto : 2014-11-13 Uniregistry, Corp.
+auto
 
-// xn--q9jyb4c : 2013-09-17 Charleston Road Registry
-みんな
+// autos : 2014-01-09 DERAutos, LLC
+autos
 
-// diamonds : 2013-09-23 John Edge, LLC
-diamonds
+// axa : 2013-12-19 AXA SA
+axa
 
-// kiwi : 2013-09-23 Dot Kiwi Limited
-kiwi
+// azure : 2014-12-18 Microsoft Corporation
+azure
 
-// enterprises : 2013-09-23 Snow Oaks LLC
-enterprises
+// band : 2014-06-12
+band
 
-// today : 2013-09-23 Pearl Woods, LLC
-today
+// bank : 2014-09-25 fTLD Registry Services LLC
+bank
 
-// futbol : 2013-09-23 Atomic Falls, LLC
-futbol
+// bar : 2013-12-12 Punto 2012 Sociedad Anonima Promotora de Inversion de 
Capital Variable
+bar
 
-// photography : 2013-09-23 Sugar Glen, LLC
-photography
+// barcelona : 2014-07-24 Municipi de Barcelona
+barcelona
 
-// tips : 2013-09-23 Corn Willow, LLC
-tips
+// barclaycard : 2014-11-20 Barclays Bank PLC
+barclaycard
 
-// directory : 2013-09-23 Extra Madison, LLC
-directory
+// barclays : 2014-11-20 Barclays Bank PLC
+barclays
 
-// kitchen : 2013-09-23 Just Goodbye, LLC
-kitchen
+// bargains : 2013-11-14 Half Hallow, LLC
+bargains
 
-// xn--6frz82g : 2013-09-24 Afilias Limited
-移动
+// bauhaus : 2014-04-17 Werkhaus GmbH
+bauhaus
 
-// kim : 2013-09-24 Afilias Limited
-kim
+// bayern : 2014-01-23 Bayern Connect GmbH
+bayern
 
-// xn--cg4bki : 2013-09-27 Samsung SDS Co., LTD
-삼성
+// bbc : 2014-12-18 British Broadcasting Corporation
+bbc
 
-// monash : 2013-10-01 Monash University
-monash
+// bbva : 2014-10-02 BANCO BILBAO VIZCAYA ARGENTARIA, S.A.
+bbva
 
-// wed : 2013-10-02 Atgron, Inc.
-wed
+// bcn : 2014-07-24 Municipi de Barcelona
+bcn
 
-// pink : 2013-10-02 Afilias Limited
-pink
+// beer : 2014-01-09 Top Level Domain Holdings Limited
+beer
 
-// ruhr : 2013-10-02 regiodot GmbH & Co. KG
-ruhr
+// bentley : 2014-12-18 Bentley Motors Limited
+bentley
 
-// buzz : 2013-10-03 DOTSTRATEGY CO.
-buzz
+// berlin : 2013-10-31 dotBERLIN GmbH & Co. KG
+berlin
 
-// careers : 2013-10-03 Wild Corner, LLC
-careers
+// best : 2013-12-19 BestTLD Pty Ltd
+best
 
-// shoes : 2013-10-03 Binky Galley, LLC
-shoes
+// bharti : 2014-01-09 Bharti Enterprises (Holding) Private Limited
+bharti
 
-// xn--4gbrim : 2013-10-07 Suhub Electronic Establishment
-موقع
+// bible : 2014-06-19 American Bible Society
+bible
 
-// career : 2013-10-09 dotCareer, LLC
-career
+// bid : 2013-12-19 dot Bid Limited
+bid
 
-// otsuka : 2013-10-11 Otsuka Holdings Co. Ltd.
-otsuka
+// bike : 2013-08-27 Grand Hollow, LLC
+bike
 
-// xn--fiQ64b : 2013-10-14 CITIC Group Corporation
-中信
+// bing : 2014-12-18 Microsoft Corporation
+bing
 
-// gift : 2013-10-18 Uniregistry Corp.
-gift
+// bingo : 2014-12-04 Sand Cedar, LLC
+bingo
 
-// recipes : 2013-10-18 Grand Island, LLC
-recipes
+// bio : 2014-03-06 STARTING DOT LIMITED
+bio
 
-// coffee : 2013-10-18 Trixy Cover, LLC
-coffee
+// black : 2014-01-16 Afilias Limited
+black
 
-// luxury : 2013-10-18 Luxury Partners, LLC
-luxury
+// blackfriday : 2014-01-16 Uniregistry, Corp.
+blackfriday
 
-// domains : 2013-10-18 Sugar Cross, LLC
-domains
+// bloomberg : 2014-07-17 Bloomberg IP Holdings LLC
+bloomberg
 
-// photos : 2013-10-18 Sea Corner, LLC
-photos
+// blue : 2013-11-07 Afilias Limited
+blue
 
-// limo : 2013-10-18 Hidden Frostbite, LLC
-limo
+// bms : 2014-10-30 Bristol-Myers Squibb Company
+bms
 
-// viajes : 2013-10-18 Black Madison, LLC
-viajes
+// bmw : 2014-01-09 Bayerische Motoren Werke Aktiengesellschaft
+bmw
 
-// wang : 2013-10-24 Zodiac Leo Limited
-wang
+// bnl : 2014-07-24 Banca Nazionale del Lavoro
+bnl
 
-// democrat : 2013-10-24 United TLD Holdco Ltd.
-democrat
+// bnpparibas : 2014-05-29 BNP Paribas
+bnpparibas
 
-// mango : 2013-10-25 PUNTO FA S.L.
-mango
+// boats : 2014-12-04 DERBoats, LLC
+boats
 
-// cab : 2013-10-25 Half Sunset, LLC
-cab
+// bom : 2014-10-16 Núcleo de Informação e Coordenação do Ponto BR - NIC.br
+bom
 
-// support : 2013-10-25 Grand Orchard, LLC
-support
+// bond : 2014-06-05 Bond University Limited
+bond
 
-// dance : 2013-10-25 United TLD Holdco Ltd.
-dance
+// boo : 2014-01-30 Charleston Road Registry Inc.
+boo
 
-// nagoya : 2013-10-25 GMO Registry, Inc.
-nagoya
+// bot : 2014-12-18 Amazon EU S.à r.l.
+bot
 
-// computer : 2013-10-25 Pine Mill, LLC
-computer
+// boutique : 2013-11-14 Over Galley, LLC
+boutique
 
-// wien : 2013-10-28 punkt.wien GmbH
-wien
+// bradesco : 2014-12-18 Banco Bradesco S.A.
+bradesco
 
-// berlin : 2013-10-31 dotBERLIN GmbH & Co. KG
-berlin
+// bridgestone : 2014-12-18 Bridgestone Corporation
+bridgestone
 
-// codes : 2013-10-31 Puff Willow, LLC
-codes
+// broker : 2014-12-11 IG Group Holdings PLC
+broker
 
-// email : 2013-10-31 Spring Madison, LLC
-email
+// brussels : 2014-02-06 DNS.be vzw
+brussels
 
-// xn--mgbab2bd : 2013-10-31 CORE Association
-بازار
+// budapest : 2013-11-21 Top Level Domain Holdings Limited
+budapest
 
-// repair : 2013-11-07 Lone Sunset, LLC
-repair
+// build : 2013-11-07 Plan Bee LLC
+build
 
-// holiday : 2013-11-07 Goose Woods, LLC
-holiday
+// builders : 2013-11-07 Atomic Madison, LLC
+builders
 
-// center : 2013-11-07 Tin Mill, LLC
-center
+// business : 2013-11-07 Spring Cross, LLC
+business
 
-// systems : 2013-11-07 Dash Cypress, LLC
-systems
+// buy : 2014-12-18 Amazon EU S.à r.l.
+buy
 
-// wiki : 2013-11-07 Top Level Design, LLC
-wiki
+// buzz : 2013-10-02 DOTSTRATEGY CO.
+buzz
 
-// ceo : 2013-11-07 CEOTLD Pty Ltd
-ceo
+// bzh : 2014-02-27 Association www.bzh
+bzh
 
-// international : 2013-11-07 Wild Way, LLC
-international
+// cab : 2013-10-24 Half Sunset, LLC
+cab
 
-// solar : 2013-11-07 Ruby Town, LLC
-solar
+// cal : 2014-07-24 Charleston Road Registry Inc.
+cal
 
-// company : 2013-11-07 Silver Avenue, LLC
-company
+// call : 2014-12-18 Amazon EU S.à r.l.
+call
 
-// education : 2013-11-07 Brice Way, LLC
-education
+// camera : 2013-08-27 Atomic Maple, LLC
+camera
 
-// training : 2013-11-07 Wild Willow, LLC
-training
+// camp : 2013-11-07 Delta Dynamite, LLC
+camp
 
-// academy : 2013-11-07 Half Oaks, LLC
-academy
+// cancerresearch : 2014-05-15 Australian Cancer Research Foundation
+cancerresearch
 
-// marketing : 2013-11-07 Fern Pass, LLC
-marketing
+// canon : 2014-09-12 Canon Inc.
+canon
 
-// florist : 2013-11-08 Half Cypress, LLC
-florist
+// capetown : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
+capetown
 
-// solutions : 2013-11-07 Silver Cover, LLC
-solutions
+// capital : 2014-03-06 Delta Mill, LLC
+capital
 
-// build : 2013-11-07 Plan Bee LLC
-build
+// caravan : 2013-12-12 Caravan International, Inc.
+caravan
 
-// institute : 2013-11-07 Outer Maple, LLC
-institute
+// cards : 2013-12-05 Foggy Hollow, LLC
+cards
 
-// builders : 2013-11-07 Atomic Madison, LLC
-builders
+// care : 2014-03-06 Goose Cross
+care
 
-// red : 2013-11-07 Afilias Limited
-red
+// career : 2013-10-09 dotCareer LLC
+career
 
-// blue : 2013-11-07 Afilias Limited
-blue
+// careers : 2013-10-02 Wild Corner, LLC
+careers
 
-// ninja : 2013-11-07 United TLD Holdco Ltd.
-ninja
+// cars : 2014-11-13 Uniregistry, Corp.
+cars
 
-// business : 2013-11-07 Spring Cross, LLC
-business
+// cartier : 2014-06-23 Richemont DNS Inc.
+cartier
 
-// gal : 2013-11-07 Asociación puntoGAL
-gal
+// casa : 2013-11-21 Top Level Domain Holdings Limited
+casa
 
-// social : 2013-11-07 United TLD Holdco Ltd.
-social
+// cash : 2014-03-06 Delta Lake, LLC
+cash
 
-// house : 2013-11-07 Sugar Park, LLC
-house
+// casino : 2014-12-18 Binky Sky, LLC
+casino
 
-// camp : 2013-11-07 Delta Dynamite, LLC
-camp
+// catering : 2013-12-05 New Falls. LLC
+catering
+
+// cba : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
+cba
+
+// cbn : 2014-08-22 The Christian Broadcasting Network, Inc.
+cbn
+
+// center : 2013-11-07 Tin Mill, LLC
+center
+
+// ceo : 2013-11-07 CEOTLD Pty Ltd
+ceo
+
+// cern : 2014-06-05 European Organization for Nuclear Research (\
+cern
+
+// cfa : 2014-08-28 CFA Institute
+cfa
+
+// cfd : 2014-12-11 IG Group Holdings PLC
+cfd
+
+// channel : 2014-05-08 Charleston Road Registry Inc.
+channel
+
+// chat : 2014-12-04 Sand Fields, LLC
+chat
+
+// cheap : 2013-11-14 Sand Cover, LLC
+cheap
+
+// chloe : 2014-10-16 Richemont DNS Inc.
+chloe
+
+// christmas : 2013-11-21 Uniregistry, Corp.
+christmas
+
+// chrome : 2014-07-24 Charleston Road Registry Inc.
+chrome
+
+// church : 2014-02-06 Holly Fileds, LLC
+church
+
+// circle : 2014-12-18 Amazon EU S.à r.l.
+circle
+
+// citic : 2014-01-09 CITIC Group Corporation
+citic
+
+// city : 2014-05-29 Snow Sky, LLC
+city
+
+// cityeats : 2014-12-11 Lifestyle Domain Holdings, Inc.
+cityeats
+
+// claims : 2014-03-20 Black Corner, LLC
+claims
+
+// cleaning : 2013-12-05 Fox Shadow, LLC
+cleaning
+
+// click : 2014-06-05 Uniregistry, Corp.
+click
+
+// clinic : 2014-03-20 Goose Park, LLC
+clinic
+
+// clothing : 2013-08-27 Steel Lake, LLC
+clothing
+
+// club : 2013-11-08 .CLUB DOMAINS, LLC
+club
+
+// coach : 2014-10-09 Koko Island, LLC
+coach
+
+// codes : 2013-10-31 Puff Willow, LLC
+codes
+
+// coffee : 2013-10-17 Trixy Cover, LLC
+coffee
+
+// college : 2014-01-16 XYZ.COM LLC
+college
+
+// cologne : 2014-02-05 NetCologne Gesellschaft für Telekommunikation mbH
+cologne
+
+// commbank : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
+commbank
+
+// community : 2013-12-05 Fox Orchard, LLC
+community
+
+// company : 2013-11-07 Silver Avenue, LLC
+company
+
+// computer : 2013-10-24 Pine Mill, LLC
+computer
+
+// condos : 2013-12-05 Pine House, LLC
+condos
+
+// construction : 2013-09-16 Fox Dynamite, LLC
+construction
+
+// consulting : 2013-12-05
+consulting
+
+// contractors : 2013-09-10 Magic Woods, LLC
+contractors
+
+// cooking : 2013-11-21 Top Level Domain Holdings Limited
+cooking
+
+// cool : 2013-11-14 Koko Lake, LLC
+cool
+
+// corsica : 2014-09-25 Collectivité Territoriale de Corse
+corsica
+
+// country : 2013-12-19 Top Level Domain Holdings Limited
+country
+
+// courses : 2014-12-04 OPEN UNIVERSITIES AUSTRALIA PTY LTD
+courses
+
+// credit : 2014-03-20 Snow Shadow, LLC
+credit
+
+// creditcard : 2014-03-20 Binky Frostbite, LLC
+creditcard
+
+// cricket : 2014-10-09 dot Cricket Limited
+cricket
+
+// crown : 2014-10-24 Crown Equipment Corporation
+crown
+
+// crs : 2014-04-03 Federated Co-operatives Limited
+crs
+
+// cruises : 2013-12-05 Spring Way, LLC
+cruises
+
+// csc : 2014-09-25 Alliance-One Services, Inc.
+csc
+
+// cuisinella : 2014-04-03 SALM S.A.S.
+cuisinella
+
+// cymru : 2014-05-08 Nominet UK
+cymru
+
+// dabur : 2014-02-06 Dabur India Limited
+dabur
+
+// dad : 2014-01-23 Charleston Road Registry Inc.
+dad
+
+// dance : 2013-10-24 United TLD Holdco Ltd.
+dance
+
+// date : 2014-11-20 dot Date Limited
+date
+
+// dating : 2013-12-05 Pine Fest, LLC
+dating
+
+// datsun : 2014-03-27 NISSAN MOTOR CO., LTD.
+datsun
+
+// day : 2014-01-30 Charleston Road Registry Inc.
+day
+
+// dclk : 2014-11-20 Charleston Road Registry Inc.
+dclk
+
+// deals : 2014-05-22 Sand Sunset, LLC
+deals
+
+// degree : 2014-03-06
+degree
+
+// delivery : 2014-09-11 Steel Station, LLC
+delivery
+
+// dell : 2014-10-24 Dell Inc.
+dell
+
+// democrat : 2013-10-24 United TLD Holdco Ltd.
+democrat
+
+// dental : 2014-03-20 Tin Birch, LLC
+dental
+
+// dentist : 2014-03-20
+dentist
+
+// desi : 2013-11-14 Desi Networks LLC
+desi
+
+// design : 2014-11-07 Top Level Design, LLC
+design
+
+// dev : 2014-10-16 Charleston Road Registry Inc.
+dev
+
+// diamonds : 2013-09-22 John Edge, LLC
+diamonds
+
+// diet : 2014-06-26 Uniregistry, Corp.
+diet
+
+// digital : 2014-03-06 Dash Park, LLC
+digital
+
+// direct : 2014-04-10 Half Trail, LLC
+direct
+
+// directory : 2013-09-20 Extra Madison, LLC
+directory
+
+// discount : 2014-03-06 Holly Hill, LLC
+discount
+
+// dnp : 2013-12-13 Dai Nippon Printing Co., Ltd.
+dnp
+
+// docs : 2014-10-16 Charleston Road Registry Inc.
+docs
+
+// dog : 2014-12-04 Koko Mill, LLC
+dog
+
+// doha : 2014-09-18 Communications Regulatory Authority (CRA)
+doha
+
+// domains : 2013-10-17 Sugar Cross, LLC
+domains
+
+// doosan : 2014-04-03 Doosan Corporation
+doosan
+
+// download : 2014-11-20 dot Support Limited
+download
+
+// durban : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
+durban
+
+// dvag : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG
+dvag
+
+// earth : 2014-12-04 Interlink Co., Ltd.
+earth
+
+// eat : 2014-01-23 Charleston Road Registry Inc.
+eat
+
+// edeka : 2014-12-18 EDEKA Verband kaufmännischer Genossenschaften e.V.
+edeka
+
+// education : 2013-11-07 Brice Way, LLC
+education
+
+// email : 2013-10-31 Spring Madison, LLC
+email
+
+// emerck : 2014-04-03 Merck KGaA
+emerck
+
+// energy : 2014-09-11 Binky Birch, LLC
+energy
+
+// engineer : 2014-03-06 United TLD Holdco Ltd.
+engineer
+
+// engineering : 2014-03-06 Romeo Canyon
+engineering
+
+// enterprises : 2013-09-20 Snow Oaks, LLC
+enterprises
+
+// epson : 2014-12-04 Seiko Epson Corporation
+epson
+
+// equipment : 2013-08-27 Corn Station, LLC
+equipment
+
+// erni : 2014-04-03 ERNI Group Holding AG
+erni
+
+// esq : 2014-05-08 Charleston Road Registry Inc.
+esq
+
+// estate : 2013-08-27 Trixy Park, LLC
+estate
+
+// eurovision : 2014-04-24 European Broadcasting Union (EBU)
+eurovision
+
+// eus : 2013-12-12 Puntueus Fundazioa
+eus
+
+// events : 2013-12-05 Pioneer Maple, LLC
+events
+
+// everbank : 2014-05-15 EverBank
+everbank
+
+// exchange : 2014-03-06 Spring Falls, LLC
+exchange
+
+// expert : 2013-11-21 Magic Pass, LLC
+expert
+
+// exposed : 2013-12-05 Victor Beach, LLC
+exposed
+
+// fage : 2014-12-18 Fage International S.A.
+fage
+
+// fail : 2014-03-06 Atomic Pipe, LLC
+fail
+
+// fairwinds : 2014-11-13 FairWinds Partners, LLC
+fairwinds
+
+// faith : 2014-11-20 dot Faith Limited
+faith
+
+// fan : 2014-03-06
+fan
+
+// fans : 2014-11-07 Asiamix Digital Limited
+fans
+
+// farm : 2013-11-07 Just Maple, LLC
+farm
+
+// fashion : 2014-07-03 Top Level Domain Holdings Limited
+fashion
+
+// fast : 2014-12-18 Amazon EU S.à r.l.
+fast
+
+// feedback : 2013-12-19 Top Level Spectrum, Inc.
+feedback
+
+// ferrero : 2014-12-18 Ferrero Trading Lux S.A.
+ferrero
+
+// final : 2014-10-16 Núcleo de Informação e Coordenação do Ponto BR - NIC.br
+final
+
+// finance : 2014-03-20 Cotton Cypress, LLC
+finance
+
+// financial : 2014-03-06 Just Cover, LLC
+financial
+
+// firestone : 2014-12-18 Bridgestone Corporation
+firestone
+
+// firmdale : 2014-03-27 Firmdale Holdings Limited
+firmdale
+
+// fish : 2013-12-12 Fox Woods, LLC
+fish
+
+// fishing : 2013-11-21 Top Level Domain Holdings Limited
+fishing
+
+// fit : 2014-11-07 Top Level Domain Holdings Limited
+fit
+
+// fitness : 2014-03-06 Brice Orchard, LLC
+fitness
+
+// flights : 2013-12-05 Fox Station, LLC
+flights
+
+// florist : 2013-11-07 Half Cypress, LLC
+florist
+
+// flowers : 2014-10-09 Uniregistry, Corp.
+flowers
+
+// flsmidth : 2014-07-24 FLSmidth A/S
+flsmidth
+
+// fly : 2014-05-08 Charleston Road Registry Inc.
+fly
+
+// foo : 2014-01-23 Charleston Road Registry Inc.
+foo
+
+// football : 2014-12-18 Foggy Farms, LLC
+football
+
+// ford : 2014-11-13 Ford Motor Company
+ford
+
+// forex : 2014-12-11 IG Group Holdings PLC
+forex
+
+// forsale : 2014-05-22
+forsale
+
+// foundation : 2013-12-05 John Dale, LLC
+foundation
+
+// frl : 2014-05-15 FRLregistry B.V.
+frl
+
+// frogans : 2013-12-19 OP3FT
+frogans
+
+// fund : 2014-03-20 John Castle, LLC
+fund
+
+// furniture : 2014-03-20 Lone Fields, LLC
+furniture
+
+// futbol : 2013-09-20
+futbol
+
+// gal : 2013-11-07 Asociación puntoGAL
+gal
+
+// gallery : 2013-09-13 Sugar House, LLC
+gallery
+
+// garden : 2014-06-26 Top Level Domain Holdings Limited
+garden
+
+// gbiz : 2014-07-17 Charleston Road Registry Inc.
+gbiz
+
+// gdn : 2014-07-31 Joint Stock Company \
+gdn
+
+// gea : 2014-12-04 GEA Group Aktiengesellschaft
+gea
+
+// gent : 2014-01-23 COMBELL GROUP NV/SA
+gent
+
+// ggee : 2014-01-09 GMO Internet, Inc.
+ggee
+
+// gift : 2013-10-17 Uniregistry, Corp.
+gift
+
+// gifts : 2014-07-03 Goose Sky, LLC
+gifts
+
+// gives : 2014-03-06 United TLD Holdco Ltd.
+gives
+
+// giving : 2014-11-13 Giving Limited
+giving
+
+// glass : 2013-11-07 Black Cover, LLC
+glass
+
+// gle : 2014-07-24 Charleston Road Registry Inc.
+gle
+
+// global : 2014-04-17 Dot GLOBAL AS
+global
+
+// globo : 2013-12-19 Globo Comunicação e Participações S.A
+globo
+
+// gmail : 2014-05-01 Charleston Road Registry Inc.
+gmail
+
+// gmo : 2014-01-09 GMO Internet, Inc.
+gmo
+
+// gmx : 2014-04-24 1&1 Mail & Media GmbH
+gmx
+
+// goldpoint : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
+goldpoint
+
+// golf : 2014-12-18 Lone falls, LLC
+golf
+
+// goo : 2014-12-18 NTT Resonant Inc.
+goo
+
+// goog : 2014-11-20 Charleston Road Registry Inc.
+goog
+
+// google : 2014-07-24 Charleston Road Registry Inc.
+google
+
+// gop : 2014-01-16 Republican State Leadership Committee, Inc.
+gop
+
+// got : 2014-12-18 Amazon EU S.à r.l.
+got
+
+// graphics : 2013-09-13 Over Madison, LLC
+graphics
+
+// gratis : 2014-03-20 Pioneer Tigers, LLC
+gratis
+
+// green : 2014-05-08 Afilias Limited
+green
+
+// gripe : 2014-03-06 Corn Sunset, LLC
+gripe
+
+// group : 2014-08-15 Romeo Town, LLC
+group
+
+// gucci : 2014-11-13 Guccio Gucci S.p.a.
+gucci
+
+// guge : 2014-08-28 Charleston Road Registry Inc.
+guge
+
+// guide : 2013-09-13 Snow Moon, LLC
+guide
+
+// guitars : 2013-11-14 Uniregistry, Corp.
+guitars
+
+// guru : 2013-08-27 Pioneer Cypress, LLC
+guru
+
+// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
+hamburg
+
+// hangout : 2014-11-13 Charleston Road Registry Inc.
+hangout
+
+// haus : 2013-12-05
+haus
+
+// healthcare : 2014-06-12 Silver Glen, LLC
+healthcare
+
+// help : 2014-06-26 Uniregistry, Corp.
+help
+
+// here : 2014-02-06 Charleston Road Registry Inc.
+here
+
+// hermes : 2014-07-10 HERMES INTERNATIONAL
+hermes
+
+// hiphop : 2014-03-06 Uniregistry, Corp.
+hiphop
+
+// hitachi : 2014-10-31 Hitachi, Ltd.
+hitachi
+
+// hiv : 2014-03-13 dotHIV gemeinnuetziger e.V.
+hiv
+
+// holdings : 2013-08-27 John Madison, LLC
+holdings
+
+// holiday : 2013-11-07 Goose Woods, LLC
+holiday
+
+// homes : 2014-01-09 DERHomes, LLC
+homes
+
+// honda : 2014-12-18 Honda Motor Co., Ltd.
+honda
+
+// horse : 2013-11-21 Top Level Domain Holdings Limited
+horse
+
+// host : 2014-04-17 DotHost Inc.
+host
+
+// hosting : 2014-05-29 Uniregistry, Corp.
+hosting
+
+// hotmail : 2014-12-18 Microsoft Corporation
+hotmail
+
+// house : 2013-11-07 Sugar Park, LLC
+house
+
+// how : 2014-01-23 Charleston Road Registry Inc.
+how
+
+// hsbc : 2014-10-24 HSBC Holdings PLC
+hsbc
+
+// ibm : 2014-07-31 International Business Machines Corporation
+ibm
+
+// ice : 2014-10-30 IntercontinentalExchange, Inc.
+ice
+
+// ifm : 2014-01-30 ifm electronic gmbh
+ifm
+
+// iinet : 2014-07-03 Connect West Pty. Ltd.
+iinet
+
+// immo : 2014-07-10 Auburn Bloom, LLC
+immo
 
 // immobilien : 2013-11-07 United TLD Holdco Ltd.
 immobilien
 
-// moda : 2013-11-07 United TLD Holdco Ltd.
-moda
+// industries : 2013-12-05 Outer House, LLC
+industries
+
+// infiniti : 2014-03-27 NISSAN MOTOR CO., LTD.
+infiniti
+
+// ing : 2014-01-23 Charleston Road Registry Inc.
+ing
+
+// ink : 2013-12-05 Top Level Design, LLC
+ink
+
+// institute : 2013-11-07 Outer Maple, LLC
+institute
+
+// insure : 2014-03-20 Pioneer Willow, LLC
+insure
+
+// international : 2013-11-07 Wild Way, LLC
+international
+
+// investments : 2014-03-20 Holly Glen, LLC
+investments
+
+// ipiranga : 2014-08-28 Ipiranga Produtos de Petroleo S.A.
+ipiranga
+
+// irish : 2014-08-07 Dot-Irish LLC
+irish
+
+// ist : 2014-08-28 Istanbul Metropolitan Municipality
+ist
+
+// istanbul : 2014-08-28 Istanbul Metropolitan Municipality
+istanbul
+
+// itau : 2014-10-02 Itau Unibanco Holding S.A.
+itau
+
+// iwc : 2014-06-23 Richemont DNS Inc.
+iwc
+
+// jaguar : 2014-11-13 Jaguar Land Rover Ltd
+jaguar
+
+// java : 2014-06-19 Oracle Corporation
+java
+
+// jcb : 2014-11-20 JCB Co., Ltd.
+jcb
+
+// jetzt : 2014-01-09 New TLD Company AB
+jetzt
+
+// jlc : 2014-12-04 Richemont DNS Inc.
+jlc
+
+// joburg : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry
+joburg
+
+// jot : 2014-12-18 Amazon EU S.à r.l.
+jot
+
+// joy : 2014-12-18 Amazon EU S.à r.l.
+joy
+
+// jprs : 2014-09-18 Japan Registry Services Co., Ltd.
+jprs
+
+// juegos : 2014-03-20 Uniregistry, Corp.
+juegos
+
+// kaufen : 2013-11-07 United TLD Holdco Ltd.
+kaufen
+
+// kddi : 2014-09-12 KDDI CORPORATION
+kddi
+
+// kfh : 2014-12-04 Kuwait Finance House
+kfh
+
+// kim : 2013-09-23 Afilias Limited
+kim
+
+// kinder : 2014-11-07 Ferrero Trading Lux S.A.
+kinder
+
+// kitchen : 2013-09-20 Just Goodbye, LLC
+kitchen
+
+// kiwi : 2013-09-20 DOT KIWI LIMITED
+kiwi
+
+// koeln : 2014-01-09 NetCologne Gesellschaft für Telekommunikation mbH
+koeln
+
+// krd : 2013-12-05 KRG Department of Information Technology
+krd
+
+// kred : 2013-12-19 KredTLD Pty Ltd
+kred
+
+// kyoto : 2014-11-07 Academic Institution: Kyoto Jyoho Gakuen
+kyoto
+
+// lacaixa : 2014-01-09 CAIXA D'ESTALVIS I PENSIONS DE BARCELONA
+lacaixa
+
+// land : 2013-09-10 Pine Moon, LLC
+land
+
+// landrover : 2014-11-13 Jaguar Land Rover Ltd
+landrover
+
+// lat : 2014-10-16 ECOM-LAC Federaciòn de Latinoamèrica y el Caribe para 
Internet y el Comercio Electrònico
+lat
+
+// latrobe : 2014-06-16 La Trobe University
+latrobe
+
+// lawyer : 2014-03-20
+lawyer
+
+// lds : 2014-03-20 IRI Domain Management, LLC (\
+lds
+
+// lease : 2014-03-06 Victor Trail, LLC
+lease
+
+// leclerc : 2014-08-07 A.C.D. LEC Association des Centres Distributeurs 
Edouard Leclerc
+leclerc
+
+// legal : 2014-10-16 Blue Falls, LLC
+legal
+
+// lgbt : 2014-05-08 Afilias Limited
+lgbt
+
+// liaison : 2014-10-02 Liaison Technologies, Incorporated
+liaison
+
+// lidl : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG
+lidl
+
+// life : 2014-02-06 Trixy Oaks, LLC
+life
+
+// lifestyle : 2014-12-11 Lifestyle Domain Holdings, Inc.
+lifestyle
+
+// lighting : 2013-08-27 John McCook, LLC
+lighting
+
+// like : 2014-12-18 Amazon EU S.à r.l.
+like
+
+// limited : 2014-03-06 Big Fest, LLC
+limited
+
+// limo : 2013-10-17 Hidden Frostbite, LLC
+limo
+
+// lincoln : 2014-11-13 Ford Motor Company
+lincoln
+
+// linde : 2014-12-04 Linde Aktiengesellschaft
+linde
+
+// link : 2013-11-14 Uniregistry, Corp.
+link
+
+// live : 2014-12-04 Half Woods, LLC
+live
+
+// loan : 2014-11-20 dot Loan Limited
+loan
+
+// loans : 2014-03-20 June Woods, LLC
+loans
+
+// london : 2013-11-14 Dot London Domains Limited
+london
+
+// lotte : 2014-11-07 Lotte Holdings Co., Ltd.
+lotte
+
+// lotto : 2014-04-10 Afilias Limited
+lotto
+
+// ltd : 2014-09-25 Over Corner, LLC
+ltd
+
+// ltda : 2014-04-17 DOMAIN ROBOT SERVICOS DE HOSPEDAGEM NA INTERNET LTDA
+ltda
+
+// lupin : 2014-11-07 LUPIN LIMITED
+lupin
+
+// luxe : 2014-01-09 Top Level Domain Holdings Limited
+luxe
+
+// luxury : 2013-10-17 Luxury Partners, LLC
+luxury
+
+// madrid : 2014-05-01 Comunidad de Madrid
+madrid
+
+// maif : 2014-10-02 Mutuelle Assurance Instituteur France (MAIF)
+maif
+
+// maison : 2013-12-05 Victor Frostbite, LLC
+maison
+
+// man : 2014-12-04 MAN SE
+man
+
+// management : 2013-11-07 John Goodbye, LLC
+management
+
+// mango : 2013-10-24 PUNTO FA S.L.
+mango
+
+// market : 2014-03-06
+market
+
+// marketing : 2013-11-07 Fern Pass, LLC
+marketing
+
+// markets : 2014-12-11 IG Group Holdings PLC
+markets
+
+// marriott : 2014-10-09 Marriott Worldwide Corporation
+marriott
+
+// media : 2014-03-06 Grand Glen, LLC
+media
+
+// meet : 2014-01-16 Afilias Limited
+meet
+
+// melbourne : 2014-05-29 The Crown in right of the State of Victoria, 
represented by its Department of State Development, Business and Innovation
+melbourne
 
-// glass : 2013-11-07 Black Cover, LLC
-glass
+// meme : 2014-01-30 Charleston Road Registry Inc.
+meme
 
-// management : 2013-11-07 John Goodbye, LLC
-management
+// memorial : 2014-10-16 Dog Beach, LLC
+memorial
 
-// kaufen : 2013-11-07 United TLD Holdco Ltd.
-kaufen
+// menu : 2013-09-11 Wedding TLD2, LLC
+menu
 
-// farm : 2013-11-07 Just Maple, LLC
-farm
+// meo : 2014-11-07 PT Comunicacoes S.A.
+meo
 
-// xn--55qw42g : 2013-11-08 China Organizational Name Administration Center
-公益
+// miami : 2013-12-19 Top Level Domain Holdings Limited
+miami
 
-// xn--zfr164b : 2013-11-08 China Organizational Name Administration Center
-政务
+// microsoft : 2014-12-18 Microsoft Corporation
+microsoft
 
-// club : 2013-11-08 .CLUB DOMAINS, LLC
-club
+// mini : 2014-01-09 Bayerische Motoren Werke Aktiengesellschaft
+mini
 
-// voting : 2013-11-13 Valuetainment Corp.
-voting
+// mma : 2014-11-07 MMA IARD
+mma
 
-// TOKYO : 2013-11-13 GMO Registry, Inc.
-tokyo
+// mobily : 2014-12-18 GreenTech Consultancy Company W.L.L.
+mobily
+
+// moda : 2013-11-07 United TLD Holdco Ltd.
+moda
 
 // moe : 2013-11-13 Interlink Co., Ltd.
 moe
 
-// guitars : 2013-11-14 Uniregistry, Corp.
-guitars
+// moi : 2014-12-18 Amazon EU S.à r.l.
+moi
 
-// bargains : 2013-11-14 Half Hallow, LLC
-bargains
+// monash : 2013-09-30 Monash University
+monash
 
-// xn--nqv7fs00ema : 2013-11-14 Public Interest Registry
-组织机构
+// money : 2014-10-16 Outer McCook, LLC
+money
 
-// desi : 2013-11-14 Desi Networks LLC
-desi
+// montblanc : 2014-06-23 Richemont DNS Inc.
+montblanc
 
-// cool : 2013-11-14 Koko Lake, LLC
-cool
+// mormon : 2013-12-05 IRI Domain Management, LLC (\
+mormon
 
-// boutique : 2013-11-14 Over Galley, LLC
-boutique
+// mortgage : 2014-03-20
+mortgage
 
-// pics : 2013-11-14 Uniregistry, Corp.
-pics
+// moscow : 2013-12-19 Foundation for Assistance for Internet Technologies and 
Infrastructure Development (FAITID)
+moscow
 
-// xn--c1avg : 2013-11-14 Public Interest Registry
-орг
+// motorcycles : 2014-01-09 DERMotorcycles, LLC
+motorcycles
 
-// xn--55qx5d : 2013-11-14 Computer Network Information Center of Chinese 
Academy of Sciences (China Internet Network Information Center)
-公司
+// mov : 2014-01-30 Charleston Road Registry Inc.
+mov
 
-// xn--io0a7i : 2013-11-14 Computer Network Information Center of Chinese 
Academy of Sciences (China Internet Network Information Center)
-网络
+// movistar : 2014-10-16 Telefónica S.A.
+movistar
 
-// cheap : 2013-11-14 Sand Cover, LLC
-cheap
+// mtn : 2014-12-04 MTN Dubai Limited
+mtn
 
-// xn--xhq521b : 2013-11-14 Guangzhou YU Wei Information Technology Co., Ltd.
-广东
+// mtpc : 2014-11-20 Mitsubishi Tanabe Pharma Corporation
+mtpc
 
-// photo : 2013-11-14 Uniregistry, Corp.
-photo
+// nadex : 2014-12-11 IG Group Holdings PLC
+nadex
 
-// network : 2013-11-14 Trixy Manor, LLC
-network
+// nagoya : 2013-10-24 GMO Registry, Inc.
+nagoya
 
-// zone : 2013-11-14 Outer Falls, LLC
-zone
+// navy : 2014-03-06 United TLD Holdco Ltd.
+navy
 
-// xn--nqv7f : 2013-11-14 Public Interest Registry
-机构
+// netbank : 2014-06-26 COMMONWEALTH BANK OF AUSTRALIA
+netbank
 
-// link : 2013-11-14 Uniregistry, Corp.
-link
+// network : 2013-11-14 Trixy Manor, LLC
+network
 
-// QPON : 2013-11-14 dotCOOL, Inc.
-qpon
+// neustar : 2013-12-05 NeuStar, Inc.
+neustar
 
-// xn--i1b6b1a6a2e : 2013-11-14 Public Interest Registry
-संगठन
+// new : 2014-01-30 Charleston Road Registry Inc.
+new
 
-// agency : 2013-11-14 Steel Falls, LLC
-agency
+// news : 2014-12-18 Hidden Bloom, LLC
+news
 
-// tienda : 2013-11-14 Victor Manor, LLC
-tienda
+// nexus : 2014-07-24 Charleston Road Registry Inc.
+nexus
 
-// works : 2013-11-14 Little Dynamite, LLC
-works
+// ngo : 2014-03-06 Public Interest Registry
+ngo
 
-// london : 2013-11-14 Dot London Domains Limited
-london
+// nhk : 2014-02-13 Japan Broadcasting Corporation (NHK)
+nhk
 
-// watch : 2013-11-14 Sand Shadow, LLC
-watch
+// nico : 2014-12-04 DWANGO Co., Ltd.
+nico
 
-// rocks : 2013-11-14 Ruby Moon, LLC
-rocks
+// ninja : 2013-11-07 United TLD Holdco Ltd.
+ninja
 
-// SHIKSHA : 2013-11-14 Afilias Limited
-shiksha
+// nissan : 2014-03-27 NISSAN MOTOR CO., LTD.
+nissan
 
-// xn--d1acj3b : 2013-11-21 The Foundation for Network Initiatives “The Smart 
Internet”
-дети
+// norton : 2014-12-04 Symantec Corporation
+norton
 
-// budapest : 2013-11-21 Top Level Domain Holdings Limited
-budapest
+// nowruz : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+nowruz
+
+// nra : 2014-05-22 NRA Holdings Company, INC.
+nra
 
 // nrw : 2013-11-21 Minds + Machines GmbH
 nrw
 
-// VOTE : 2013-11-21 Monolith Registry LLC
-vote
+// ntt : 2014-10-31 NIPPON TELEGRAPH AND TELEPHONE CORPORATION
+ntt
 
-// fishing : 2013-11-21 Top Level Domain Holdings Limited
-fishing
+// nyc : 2014-01-23 The City of New York by and through the New York City 
Department of Information Technology & Telecommunications
+nyc
 
-// expert : 2013-11-21 Magic Pass, LLC
-expert
+// obi : 2014-09-25 OBI Group Holding SE & Co. KGaA
+obi
 
-// horse : 2013-11-21 Top Level Domain Holdings Limited
-horse
+// okinawa : 2013-12-05 BusinessRalliart Inc.
+okinawa
 
-// christmas : 2013-11-21 Uniregistry, Corp.
-christmas
+// one : 2014-11-07 One.com A/S
+one
 
-// cooking : 2013-11-21 Top Level Domain Holdings Limited
-cooking
+// ong : 2014-03-06 Public Interest Registry
+ong
 
-// xn--czru2d : 2013-11-21 Zodiac Capricorn Limited
-商城
+// onl : 2013-09-16 I-Registry Ltd.
+onl
 
-// casa : 2013-11-21 Top Level Domain Holdings Limited
-casa
+// ooo : 2014-01-09 INFIBEAM INCORPORATION LIMITED
+ooo
 
-// rich : 2013-11-21 I-REGISTRY Ltd., Niederlassung Deutschland
-rich
+// oracle : 2014-06-19 Oracle Corporation
+oracle
 
-// VOTO : 2013-11-21 Monolith Registry LLC
-voto
+// organic : 2014-03-27 Afilias Limited
+organic
 
-// tools : 2013-11-21 Pioneer North, LLC
-tools
+// osaka : 2014-09-04 Interlink Co., Ltd.
+osaka
 
-// xn--45q11c : 2013-11-21 Zodiac Scorpio Limited
-八卦
+// otsuka : 2013-10-11 Otsuka Holdings Co., Ltd.
+otsuka
 
-// praxi : 2013-12-05 Praxi S.p.A.
-praxi
+// ovh : 2014-01-16 OVH SAS
+ovh
 
-// events : 2013-12-05 Pioneer Maple, LLC
-events
+// page : 2014-12-04 Charleston Road Registry Inc.
+page
 
-// flights : 2013-12-05 Fox Station, LLC
-flights
+// panerai : 2014-11-07 Richemont DNS Inc.
+panerai
 
-// report : 2013-12-05 Binky Glen, LLC
-report
+// paris : 2014-01-30 City of Paris
+paris
+
+// pars : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+pars
 
 // partners : 2013-12-05 Magic Glen, LLC
 partners
 
-// neustar : 2013-12-05 NeuStar, Inc.
-neustar
+// parts : 2013-12-05 Sea Goodbye, LLC
+parts
 
-// rentals : 2013-12-05 Big Hollow,LLC
-rentals
+// party : 2014-09-11 Blue Sky Registry Limited
+party
 
-// catering : 2013-12-05 New Falls. LLC
-catering
+// pharmacy : 2014-06-19 National Association of Boards of Pharmacy
+pharmacy
 
-// community : 2013-12-05 Fox Orchard, LLC
-community
+// philips : 2014-11-07 Koninklijke Philips N.V.
+philips
 
-// maison : 2013-12-05 Victor Frostbite, LLC
-maison
+// photo : 2013-11-14 Uniregistry, Corp.
+photo
 
-// parts : 2013-12-05 Sea Goodbye, LLC
-parts
+// photography : 2013-09-20 Sugar Glen, LLC
+photography
 
-// cleaning : 2013-12-05 Fox Shadow, LLC
-cleaning
+// photos : 2013-10-17 Sea Corner, LLC
+photos
 
-// okinawa : 2013-12-05 BusinessRalliart inc.
-okinawa
+// physio : 2014-05-01 PhysBiz Pty Ltd
+physio
 
-// foundation : 2013-12-05 John Dale, LLC
-foundation
+// piaget : 2014-10-16 Richemont DNS Inc.
+piaget
 
-// properties : 2013-12-05 Big Pass, LLC
-properties
+// pics : 2013-11-14 Uniregistry, Corp.
+pics
 
-// vacations : 2013-12-05 Atomic Tigers, LLC
-vacations
+// pictet : 2014-06-26 Pictet Europe S.A.
+pictet
 
-// productions : 2013-12-05 Magic Birch, LLC
-productions
+// pictures : 2014-03-06 Foggy Sky, LLC
+pictures
 
-// industries : 2013-12-05 Outer House, LLC
-industries
+// pin : 2014-12-18 Amazon EU S.à r.l.
+pin
 
-// haus : 2013-12-05 Pixie Edge, LLC
-haus
+// pink : 2013-10-01 Afilias Limited
+pink
 
-// vision : 2013-12-05 Koko Station, LLC
-vision
+// pizza : 2014-06-26 Foggy Moon, LLC
+pizza
 
-// mormon : 2013-12-05 IRI Domain Management, LLC (""Applicant"")
-mormon
+// place : 2014-04-24 Snow Galley, LLC
+place
 
-// cards : 2013-12-05 Foggy Hollow, LLC
-cards
+// plumbing : 2013-09-10 Spring Tigers, LLC
+plumbing
 
-// ink : 2013-12-05 Top Level Design, LLC
-ink
+// pohl : 2014-06-23 Deutsche Vermögensberatung Aktiengesellschaft DVAG
+pohl
 
-// villas : 2013-12-05 New Sky, LLC
-villas
+// poker : 2014-07-03 Afilias Domains No. 5 Limited
+poker
 
-// consulting : 2013-12-05 Pixie Station, LLC
-consulting
+// porn : 2014-10-16 ICM Registry PN LLC
+porn
 
-// cruises : 2013-12-05 Spring Way, LLC
-cruises
+// praxi : 2013-12-05 Praxi S.p.A.
+praxi
 
-// krd : 2013-12-05 KRG Department of Information Technology
-krd
+// press : 2014-04-03 DotPress Inc.
+press
 
-// xyz : 2013-12-05 XYZ.COM LLC
-xyz
+// prod : 2014-01-23 Charleston Road Registry Inc.
+prod
 
-// dating : 2013-12-05 Pine Fest, LLC
-dating
+// productions : 2013-12-05 Magic Birch, LLC
+productions
 
-// exposed : 2013-12-05 Victor Beach, LLC
-exposed
+// prof : 2014-07-24 Charleston Road Registry Inc.
+prof
 
-// condos : 2013-12-05 Pine House, LLC
-condos
+// promo : 2014-12-18 Play.PROMO Oy
+promo
 
-// eus : 2013-12-12 Puntueus Fundazioa
-eus
+// properties : 2013-12-05 Big Pass, LLC
+properties
 
-// Caravan : 2013-12-12 Caravan International, Inc.
-caravan
+// property : 2014-05-22 Uniregistry, Corp.
+property
 
-// actor : 2013-12-12 United TLD Holdco Ltd.
-actor
+// pub : 2013-12-12 United TLD Holdco Ltd.
+pub
 
-// saarland : 2013-12-12 dotSaarland GmbH
-saarland
+// qpon : 2013-11-14 dotCOOL, Inc.
+qpon
 
-// yokohama : 2013-12-12 GMO Registry, Inc.
-yokohama
+// quebec : 2013-12-19 PointQuébec Inc
+quebec
 
-// pub : 2013-12-12 United TLD Holdco Ltd.
-pub
+// racing : 2014-12-04 Premier Registry Limited
+racing
 
-// xn--p1acf : 2013-12-12 Rusnames Limited
-рус
+// read : 2014-12-18 Amazon EU S.à r.l.
+read
 
-// ren : 2013-12-12 Beijing Qianxiang Wangjing Technology Development Co., Ltd.
-ren
+// realtor : 2014-05-29 Real Estate Domains LLC
+realtor
 
-// fish : 2013-12-12 Fox Woods, LLC
-fish
+// recipes : 2013-10-17 Grand Island, LLC
+recipes
 
-// BAR : 2013-12-12 Punto 2012 Sociedad Anonima Promotora de Inversion de 
Capital Variable
-bar
+// red : 2013-11-07 Afilias Limited
+red
+
+// redstone : 2014-10-31 Redstone Haute Couture Co., Ltd.
+redstone
+
+// rehab : 2014-03-06 United TLD Holdco Ltd.
+rehab
+
+// reise : 2014-03-13 dotreise GmbH
+reise
+
+// reisen : 2014-03-06 New Cypress, LLC
+reisen
+
+// reit : 2014-09-04 National Association of Real Estate Investment Trusts, 
Inc.
+reit
+
+// ren : 2013-12-12 Beijing Qianxiang Wangjing Technology Development Co., Ltd.
+ren
 
-// DNP : 2013-12-13 Dai Nippon Printing Co., Ltd.
-dnp
+// rent : 2014-12-04 DERRent, LLC
+rent
 
-// bid : 2013-12-19 dot Bid Limited
-bid
+// rentals : 2013-12-05 Big Hollow,LLC
+rentals
 
-// supply : 2013-12-19 Half Falls, LLC
-supply
+// repair : 2013-11-07 Lone Sunset, LLC
+repair
 
-// Miami : 2013-12-19 Top Level Domain Holdings Limited
-miami
+// report : 2013-12-05 Binky Glen, LLC
+report
 
-// supplies : 2013-12-19 Atomic Fields, LLC
-supplies
+// republican : 2014-03-20 United TLD Holdco Ltd.
+republican
 
-// quebec : 2013-12-19 PointQuébec Inc
-quebec
+// rest : 2013-12-19 Punto 2012 Sociedad Anonima Promotora de Inversion de 
Capital Variable
+rest
 
-// MOSCOW : 2013-12-19 Foundation for Assistance for Internet Technologies and 
Infrastructure Development (FAITID)
-moscow
+// restaurant : 2014-07-03 Snow Avenue, LLC
+restaurant
 
-// globo : 2013-12-19 Globo Comunicação e Participações S.A
-globo
+// review : 2014-11-20 dot Review Limited
+review
 
-// AXA : 2013-12-19 AXA SA
-axa
+// reviews : 2013-09-13
+reviews
 
-// xn--80adxhks : 2013-12-19 Foundation for Assistance for Internet 
Technologies and Infrastructure Development (FAITID)
-москва
+// rich : 2013-11-21 I-Registry Ltd.
+rich
 
-// xn--czrs0t : 2013-12-19 Wild Island, LLC
-商店
+// ricoh : 2014-11-20 Ricoh Company, Ltd.
+ricoh
 
-// vodka : 2013-12-19 Top Level Domain Holdings Limited
-vodka
+// rio : 2014-02-27 Empresa Municipal de Informática SA - IPLANRIO
+rio
 
-// REST : 2013-12-19 Punto 2012 Sociedad Anonima Promotora de Inversion de 
Capital Variable
-rest
+// rip : 2014-07-10 United TLD Holdco Ltd.
+rip
 
-// frogans : 2013-12-19 OP3FT
-frogans
+// rocher : 2014-12-18 Ferrero Trading Lux S.A.
+rocher
 
-// WTC : 2013-12-19 World Trade Centers Association, Inc.
-wtc
+// rocks : 2013-11-14
+rocks
 
 // rodeo : 2013-12-19 Top Level Domain Holdings Limited
 rodeo
 
-// sohu : 2013-12-19 Sohu.com Limited
-sohu
+// room : 2014-12-18 Amazon EU S.à r.l.
+room
 
-// BEST : 2013-12-19 BestTLD Pty Ltd
-best
+// rsvp : 2014-05-08 Charleston Road Registry Inc.
+rsvp
 
-// country : 2013-12-19 Top Level Domain Holdings Limited
-country
+// ruhr : 2013-10-02 regiodot GmbH & Co. KG
+ruhr
 
-// KRED : 2013-12-19 KredTLD Pty Ltd
-kred
+// ryukyu : 2014-01-09 BusinessRalliart Inc.
+ryukyu
 
-// feedback : 2013-12-19 Top Level Spectrum, Inc.
-feedback
+// saarland : 2013-12-12 dotSaarland GmbH
+saarland
 
-// work : 2013-12-19 Top Level Domain Holdings Limited
-work
+// safe : 2014-12-18 Amazon EU S.à r.l.
+safe
 
-// luxe : 2014-01-09 Top Level Domain Holdings Limited
-luxe
+// sakura : 2014-12-18 SAKURA Internet Inc.
+sakura
 
-// ryukyu : 2014-01-09 BusinessRalliart inc.
-ryukyu
+// sale : 2014-10-16
+sale
 
-// autos : 2014-01-09 DERAutos, LLC
-autos
+// salon : 2014-12-11 Outer Orchard, LLC
+salon
 
-// homes : 2014-01-09 DERHomes, LLC
-homes
+// samsung : 2014-04-03 SAMSUNG SDS CO., LTD
+samsung
 
-// jetzt : 2014-01-09 New TLD Company AB
-jetzt
+// sandvik : 2014-11-13 Sandvik AB
+sandvik
 
-// yachts : 2014-01-09 DERYachts, LLC
-yachts
+// sandvikcoromant : 2014-11-07 Sandvik AB
+sandvikcoromant
 
-// motorcycles : 2014-01-09 DERMotorcycles, LLC
-motorcycles
+// sanofi : 2014-10-09 Sanofi
+sanofi
 
-// mini : 2014-01-09 Bayerische Motoren Werke Aktiengesellschaft
-mini
+// sap : 2014-03-27 SAP AG
+sap
 
-// ggee : 2014-01-09 GMO Internet, Inc.
-ggee
+// sapo : 2014-11-07 PT Comunicacoes S.A.
+sapo
 
-// beer : 2014-01-09 Top Level Domain Holdings Limited
-beer
+// sarl : 2014-07-03 Delta Orchard, LLC
+sarl
 
-// xn--1qqw23a : 2014-01-13 Guangzhou YU Wei Information Technology Co., Ltd.
-佛山
+// saxo : 2014-10-31 Saxo Bank A/S
+saxo
 
-// college : 2014-01-16 XYZ.COM LLC
-college
+// sbs : 2014-11-07 SPECIAL BROADCASTING SERVICE CORPORATION
+sbs
 
-// ovh : 2014-01-16 OVH SAS
-ovh
+// sca : 2014-03-13 SVENSKA CELLULOSA AKTIEBOLAGET SCA (publ)
+sca
 
-// meet : 2014-01-16 Afilias Limited
-meet
+// scb : 2014-02-20 The Siam Commercial Bank Public Company Limited (\
+scb
 
-// xn--ses554g : 2014-01-16 HU YI GLOBAL INFORMATION RESOURCES (HOLDING) 
COMPANY. HONGKONG LIMITED
-网址
+// schmidt : 2014-04-03 SALM S.A.S.
+schmidt
 
-// gop : 2014-01-16 Republican State Leadership Committee, Inc.
-gop
+// scholarships : 2014-04-24 Scholarships.com, LLC
+scholarships
 
-// blackfriday : 2014-01-16 Uniregistry, Corp.
-blackfriday
+// school : 2014-12-18 Little Galley, LLC
+school
 
-// lacaixa : 2014-01-16 CAIXA D'ESTALVIS I PENSIONS DE BARCELONA
-lacaixa
+// schule : 2014-03-06 Outer Moon, LLC
+schule
 
-// xn--czr694b : 2014-01-16 HU YI GLOBAL INFORMATION RESOURCES(HOLDING) 
COMPANY.HONGKONG LIMITED
-商标
+// schwarz : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG
+schwarz
 
-// vegas : 2014-01-16 Dot Vegas, Inc.
-vegas
+// science : 2014-09-11 dot Science Limited
+science
 
-// black : 2014-01-16 Afilias Limited
-black
+// scor : 2014-10-31 SCOR SE
+scor
 
-// soy : 2014-01-23 Charleston Road Registry Inc.
-soy
+// scot : 2014-01-23 Dot Scot Registry Limited
+scot
 
-// trade : 2014-01-23 Elite Registry Limited
-trade
+// seat : 2014-05-22 SEAT, S.A. (Sociedad Unipersonal)
+seat
 
-// gent : 2014-01-23 COMBELL GROUP NV/SA
-gent
+// seek : 2014-12-04 Seek Limited
+seek
 
-// ing : 2014-01-23 Charleston Road Registry Inc.
-ing
+// sener : 2014-10-24 Sener Ingeniería y Sistemas, S.A.
+sener
 
-// dad : 2014-01-23 Charleston Road Registry Inc.
-dad
+// services : 2014-02-27 Fox Castle, LLC
+services
 
-// shriram : 2014-01-23 Shriram Capital Ltd.
-shriram
+// sew : 2014-07-17 SEW-EURODRIVE GmbH & Co KG
+sew
 
-// bayern : 2014-01-23 Bayern Connect GmbH
-bayern
+// sex : 2014-11-13 ICM Registry SX LLC
+sex
 
-// scot : 2014-01-23 Dot Scot Registry Limited
-scot
+// sexy : 2013-09-11 Uniregistry, Corp.
+sexy
 
-// webcam : 2014-01-23 dot Webcam Limited
-webcam
+// sharp : 2014-05-01 Sharp Corporation
+sharp
 
-// foo : 2014-01-23 Charleston Road Registry Inc.
-foo
+// shia : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+shia
 
-// eat : 2014-01-23 Charleston Road Registry Inc.
-eat
+// shiksha : 2013-11-14 Afilias Limited
+shiksha
 
-// nyc : 2014-01-23 The City of New York
-nyc
+// shoes : 2013-10-02 Binky Galley, LLC
+shoes
 
-// prod : 2014-01-23 Charleston Road Registry Inc.
-prod
+// shriram : 2014-01-23 Shriram Capital Ltd.
+shriram
 
-// how : 2014-01-23 Charleston Road Registry Inc.
-how
+// singles : 2013-08-27 Fern Madison, LLC
+singles
 
-// day : 2014-01-30 Charleston Road Registry Inc.
-day
+// sky : 2014-06-19 Sky IP International Ltd, a company incorporated in 
England and Wales, operating via its registered Swiss branch
+sky
 
-// meme : 2014-01-30 Charleston Road Registry Inc.
-meme
+// skype : 2014-12-18 Microsoft Corporation
+skype
 
-// mov : 2014-01-30 Charleston Road Registry Inc.
-mov
+// smile : 2014-12-18 Amazon EU S.à r.l.
+smile
 
-// paris : 2014-01-30 City of Paris
-paris
+// social : 2013-11-07 United TLD Holdco Ltd.
+social
 
-// boo : 2014-01-30 Charleston Road Registry Inc.
-boo
+// software : 2014-03-20
+software
 
-// new : 2014-01-30 Charleston Road Registry Inc.
-new
+// sohu : 2013-12-19 Sohu.com Limited
+sohu
 
-// ifm : 2014-01-30 ifm electronic gmbh
-ifm
+// solar : 2013-11-07 Ruby Town, LLC
+solar
 
-// life : 2014-02-06 Trixy Oaks, LLC
-life
+// solutions : 2013-11-07 Silver Cover, LLC
+solutions
 
-// archi : 2014-02-06 STARTING DOT LIMITED
-archi
+// soy : 2014-01-23 Charleston Road Registry Inc.
+soy
+
+// space : 2014-04-03 DotSpace Inc.
+space
 
-// spiegel : 2014-02-06 SPIEGEL-Verlag Rudolf Augstein GmbH & Co. KG
+// spiegel : 2014-02-05 SPIEGEL-Verlag Rudolf Augstein GmbH & Co. KG
 spiegel
 
-// brussels : 2014-02-06 DNS.be vzw
-brussels
+// spreadbetting : 2014-12-11 IG Group Holdings PLC
+spreadbetting
 
-// church : 2014-02-06 Holly Fileds, LLC
-church
+// stada : 2014-11-13 STADA Arzneimittel AG
+stada
 
-// here : 2014-02-06 Charleston Road Registry Inc.
-here
+// statoil : 2014-12-04 Statoil ASA
+statoil
 
-// dabur : 2014-02-06 Dabur India Limited
-dabur
+// stc : 2014-10-09 Saudi Telecom Company
+stc
 
-// vlaanderen : 2014-02-06 DNS.be vzw
-vlaanderen
+// stcgroup : 2014-10-09 Saudi Telecom Company
+stcgroup
 
-// cologne : 2014-02-06 NetCologne Gesellschaft für Telekommunikation mbH
-cologne
+// stockholm : 2014-12-18 Stockholms kommun
+stockholm
 
-// xn--kput3i : 2014-02-13 Beijing RITT-Net Technology Development Co., Ltd
-手机
+// study : 2014-12-11 OPEN UNIVERSITIES AUSTRALIA PTY LTD
+study
 
-// wme : 2014-02-13 William Morris Endeavor Entertainment, LLC
-wme
+// style : 2014-12-04 Binky Moon, LLC
+style
 
-// nhk : 2014-02-13 Japan Broadcasting Corporation (NHK)
-nhk
+// supplies : 2013-12-19 Atomic Fields, LLC
+supplies
+
+// supply : 2013-12-19 Half Falls, LLC
+supply
+
+// support : 2013-10-24 Grand Orchard, LLC
+support
+
+// surf : 2014-01-09 Top Level Domain Holdings Limited
+surf
+
+// surgery : 2014-03-20 Tin Avenue, LLC
+surgery
 
 // suzuki : 2014-02-20 SUZUKI MOTOR CORPORATION
 suzuki
 
-// whoswho : 2014-02-20 Who's Who Registry
-whoswho
+// swiss : 2014-10-16 Swiss Confederation
+swiss
 
-// scb : 2014-02-20 The Siam Commercial Bank Public Company Limited ("SCB""\)
-scb
+// sydney : 2014-09-18 State of New South Wales, Department of Premier and 
Cabinet
+sydney
 
-// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
-hamburg
+// symantec : 2014-12-04 Symantec Corporation
+symantec
 
-// services : 2014-02-27 Fox Castle, LLC
-services
+// systems : 2013-11-07 Dash Cypress, LLC
+systems
 
-// bzh : 2014-02-27 Association www.bzh
-bzh
+// tab : 2014-12-04 Tabcorp Holdings Limited
+tab
 
-// rio : 2014-02-27 Empresa Municipal de Informática SA - IPLANRIO
-rio
+// taipei : 2014-07-10 Taipei City Government
+taipei
 
-// cash : 2014-03-07 Delta Lake, LLC
-cash
+// tatar : 2014-04-24 Limited Liability Company \
+tatar
 
-// gives : 2014-03-07 United TLD Holdco Ltd.
-gives
+// tattoo : 2013-08-30 Uniregistry, Corp.
+tattoo
 
-// hiphop : 2014-03-07 Uniregistry, Corp.
-hiphop
+// tax : 2014-03-20 Storm Orchard, LLC
+tax
 
-// degree : 2014-03-07 Puff House, LLC
-degree
+// tci : 2014-09-12 Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.
+tci
 
-// digital : 2014-03-07 Dash Park, LLC
-digital
+// technology : 2013-09-13 Auburn Falls
+technology
 
-// rehab : 2014-03-07 United TLD Holdco Ltd.
-rehab
+// telefonica : 2014-10-16 Telefónica S.A.
+telefonica
 
-// wtf : 2014-03-07 Hidden Way, LLC
-wtf
+// temasek : 2014-08-07 Temasek Holdings (Private) Limited
+temasek
 
-// financial : 2014-03-07 Just Cover, LLC
-financial
+// tennis : 2014-12-04 Cotton Bloom, LLC
+tennis
 
-// limited : 2014-03-07 Big Fest, LLC
-limited
+// tienda : 2013-11-14 Victor Manor, LLC
+tienda
 
-// discount : 2014-03-07 Holly Hill, LLC
-discount
+// tips : 2013-09-20 Corn Willow, LLC
+tips
 
-// fail : 2014-03-07 Atomic Pipe, LLC
-fail
+// tires : 2014-11-07 Dog Edge, LLC
+tires
 
-// vet : 2014-03-07 Wild Dale, LLC
-vet
+// tirol : 2014-04-24 punkt Tirol GmbH
+tirol
 
-// ngo : 2014-03-07 Public Interest Registry
-ngo
+// today : 2013-09-20 Pearl Woods, LLC
+today
 
-// fitness : 2014-03-07 Brice Orchard, LLC
-fitness
+// tokyo : 2013-11-13 GMO Registry, Inc.
+tokyo
 
-// schule : 2014-03-07 Outer Moon, LLC
-schule
+// tools : 2013-11-21 Pioneer North, LLC
+tools
 
-// navy : 2014-03-07 United TLD Holdco Ltd.
-navy
+// top : 2014-03-20 Jiangsu Bangning Science & Technology Co.,Ltd.
+top
 
-// bio : 2014-03-07 STARTING DOT LIMITED
-bio
+// toray : 2014-12-18 Toray Industries, Inc.
+toray
 
-// ong : 2014-03-07 Public Interest Registry
-ong
+// toshiba : 2014-04-10 TOSHIBA Corporation
+toshiba
 
-// town : 2014-03-07 Koko Moon, LLC
+// town : 2014-03-06 Koko Moon, LLC
 town
 
-// toys : 2014-03-07 Pioneer Orchard, LLC
+// toys : 2014-03-06 Pioneer Orchard, LLC
 toys
 
-// army : 2014-03-07 United TLD Holdco Ltd.
-army
-
-// engineering : 2014-03-07 Romeo Canyon
-engineering
+// trade : 2014-01-23 Elite Registry Limited
+trade
 
-// capital : 2014-03-07 Delta Mill, LLC
-capital
+// trading : 2014-12-11 IG Group Holdings PLC
+trading
 
-// exchange : 2014-03-07 Spring Falls, LLC
-exchange
+// training : 2013-11-07 Wild Willow, LLC
+training
 
-// fan : 2014-03-07 Goose Glen, LLC
-fan
+// trust : 2014-10-16
+trust
 
-// market : 2014-03-07 Victor Way, LLC
-market
+// tui : 2014-07-03 TUI AG
+tui
 
-// media : 2014-03-07 Grand Glen, LLC
-media
+// tushu : 2014-12-18 Amazon EU S.à r.l.
+tushu
 
-// lease : 2014-03-07 Victor Trail, LLC
-lease
+// ubs : 2014-12-11 UBS AG
+ubs
 
-// university : 2014-03-07 Little Station, LLC
+// university : 2014-03-06 Little Station, LLC
 university
 
-// reisen : 2014-03-07 New Cypress, LLC
-reisen
+// uno : 2013-09-11 Dot Latin LLC
+uno
 
-// airforce : 2014-03-07 United TLD Holdco Ltd.
-airforce
+// uol : 2014-05-01 UBN INTERNET LTDA.
+uol
 
-// pictures : 2014-03-07 Foggy Sky, LLC
-pictures
+// vacations : 2013-12-05 Atomic Tigers, LLC
+vacations
 
-// gripe : 2014-03-07 Corn Sunset, LLC
-gripe
+// vana : 2014-12-11 Lifestyle Domain Holdings, Inc.
+vana
 
-// engineering : 2014-03-07 United TLD Holdco Ltd.
-engineering
+// vegas : 2014-01-16 Dot Vegas, Inc.
+vegas
 
-// associates : 2014-03-07 Baxter Hill, LLC
-associates
+// ventures : 2013-08-27 Binky Lake, LLC
+ventures
 
-// xn--mxtq1m : 2014-03-07 Net-Chinese Co., Ltd.
-政府
+// versicherung : 2014-03-20 dotversicherung-registry GmbH
+versicherung
 
-// williamhill : 2014-03-13 William Hill Organization Limited
-williamhill
+// vet : 2014-03-06
+vet
 
-// hiv : 2014-03-13 dotHIV gemeinnuetziger e.V.
-hiv
+// viajes : 2013-10-17 Black Madison, LLC
+viajes
 
-// sca : 2014-03-13 SVENSKA CELLULOSA AKTIEBOLAGET SCA (publ)
-sca
+// video : 2014-10-16
+video
 
-// reise : 2014-03-13 dotreise GmbH 
-reise
+// villas : 2013-12-05 New Sky, LLC
+villas
 
-// accountants : 2014-03-20 Knob Town, LLC 
-accountants
+// virgin : 2014-09-25 Virgin Enterprises Limited
+virgin
 
-// clinic : 2014-03-20 Goose Park, LLC 
-clinic
+// vision : 2013-12-05 Koko Station, LLC
+vision
 
-// versicherung : 2014-03-20 dotversicherung-registry GmbH 
-versicherung
+// vista : 2014-09-18 Vistaprint Limited
+vista
 
-// top : 2014-03-20 Jiangsu Bangning Science & Technology Co.,Ltd. 
-top
+// vistaprint : 2014-09-18 Vistaprint Limited
+vistaprint
 
-// furniture : 2014-03-20 Lone Fields, LLC 
-furniture
+// viva : 2014-11-07 Saudi Telecom Company
+viva
 
-// dental : 2014-03-20 Tin Birch, LLC 
-dental
+// vlaanderen : 2014-02-06 DNS.be vzw
+vlaanderen
 
-// fund : 2014-03-20 John Castle, LLC 
-fund
+// vodka : 2013-12-19 Top Level Domain Holdings Limited
+vodka
 
-// creditcard : 2014-03-20 Binky Frostbite, LLC 
-creditcard
+// vote : 2013-11-21 Monolith Registry LLC
+vote
 
-// insure : 2014-03-20 Pioneer Willow, LLC 
-insure
+// voting : 2013-11-13 Valuetainment Corp.
+voting
 
-// audio : 2014-03-20 Uniregistry, Corp. 
-audio
+// voto : 2013-11-21 Monolith Registry LLC
+voto
 
-// claims : 2014-03-20 Black Corner, LLC 
-claims
+// voyage : 2013-08-27 Ruby House, LLC
+voyage
 
-// loans : 2014-03-20 June Woods, LLC 
-loans
+// wales : 2014-05-08 Nominet UK
+wales
 
-// auction : 2014-03-20 Sand Galley, LLC 
-auction
+// walter : 2014-11-13 Sandvik AB
+walter
 
-// attorney : 2014-03-20 Victor North, LLC 
-attorney
+// wang : 2013-10-24 Zodiac Leo Limited
+wang
 
-// finance : 2014-03-20 Cotton Cypress, LLC 
-finance
+// wanggou : 2014-12-18 Amazon EU S.à r.l.
+wanggou
 
-// investments : 2014-03-20 Holly Glen, LLC 
-investments
+// watch : 2013-11-14 Sand Shadow, LLC
+watch
 
-// juegos : 2014-03-20 Uniregistry, Corp. 
-juegos
+// webcam : 2014-01-23 dot Webcam Limited
+webcam
 
-// dentist : 2014-03-20 Outer Lake, LLC 
-dentist
+// website : 2014-04-03 DotWebsite Inc.
+website
 
-// lds : 2014-03-20 IRI Domain Management, LLC 
-lds
+// wed : 2013-10-01 Atgron, Inc.
+wed
 
-// lawyer : 2014-03-20 Atomic Station, LLC 
-lawyer
+// wedding : 2014-04-24 Top Level Domain Holdings Limited
+wedding
 
-// surgery : 2014-03-20 Tin Avenue, LLC 
-surgery
+// whoswho : 2014-02-20 Who's Who Registry
+whoswho
 
-// gratis : 2014-03-20 Pioneer Tigers, LLC 
-gratis
+// wien : 2013-10-28 punkt.wien GmbH
+wien
 
-// software : 2014-03-20 Over Birch, LLC 
-software
+// wiki : 2013-11-07 Top Level Design, LLC
+wiki
 
-// mortgage : 2014-03-20 Outer Gardens, LLC 
-mortgage
+// williamhill : 2014-03-13 William Hill Organization Limited
+williamhill
 
-// republican : 2014-03-20 United TLD Holdco Ltd. 
-republican
+// win : 2014-11-20 First Registry Limited
+win
 
-// credit : 2014-03-20 Snow Shadow, LLC 
-credit
+// windows : 2014-12-18 Microsoft Corporation
+windows
 
-// tax : 2014-03-20 Storm Orchard, LLC 
-tax
+// wme : 2014-02-13 William Morris Endeavor Entertainment, LLC
+wme
 
-// africa : 2014-03-24 ZA Central Registry NPC trading as Registry.Africa 
-africa
+// work : 2013-12-19 Top Level Domain Holdings Limited
+work
 
-// joburg : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry 
-joburg
+// works : 2013-11-14 Little Dynamite, LLC
+works
 
-// durban : 2014-03-24 ZA Central Registry NPC trading as ZA Central Registry 
-durban
+// world : 2014-06-12 Bitter Fields, LLC
+world
 
-// capetown : 2014-03-24 ZA Central Registry NPC trading as ZA Central 
Registry 
-capetown
+// wtc : 2013-12-19 World Trade Centers Association, Inc.
+wtc
 
-// sap : 2014-03-27 SAP AG 
-sap
+// wtf : 2014-03-06 Hidden Way, LLC
+wtf
 
-// datsun : 2014-03-27 NISSAN MOTOR CO., LTD. 
-datsun
+// xbox : 2014-12-18 Microsoft Corporation
+xbox
 
-// infiniti : 2014-03-27 NISSAN MOTOR CO., LTD. 
-infiniti
+// xerox : 2014-10-24 Xerox DNHC LLC
+xerox
 
-// firmdale : 2014-03-27 Firmdale Holdings Limited 
-firmdale
+// xin : 2014-12-11 Elegant Leader Limited
+xin
 
-// organic : 2014-03-27 Afilias Limited 
-organic
+// xn--1qqw23a : 2014-01-09 Guangzhou YU Wei Information Technology Co., Ltd.
+佛山
 
-// nissan : 2014-03-27 NISSAN MOTOR CO., LTD. 
-nissan
+// xn--30rr7y : 2014-06-12 Excellent First Limited
+慈善
 
-// website : 2014-04-03 DotWebsite Inc. 
-website
+// xn--3bst00m : 2013-09-13 Eagle Horizon Limited
+集团
 
-// space : 2014-04-03 DotSpace Inc. 
-space
+// xn--3ds443g : 2013-09-08 TLD REGISTRY LIMITED
+在线
 
-// schmidt : 2014-04-03 SALM S.A.S. 
-schmidt
+// xn--45q11c : 2013-11-21 Zodiac Scorpio Limited
+八卦
 
-// cuisinella : 2014-04-03 SALM S.A.S. 
-cuisinella
+// xn--4gbrim : 2013-10-04 Suhub Electronic Establishment
+موقع
 
-// samsung : 2014-04-03 SAMSUNG SDS CO., LTD 
-samsung
+// xn--55qw42g : 2013-11-08 China Organizational Name Administration Center
+公益
 
-// crs : 2014-04-03 Federated Co operatives Limited 
-crs
+// xn--55qx5d : 2013-11-14 Computer Network Information Center of Chinese 
Academy of Sciences (China Internet Network Information Center)
+公司
 
-// doosan : 2014-04-03 Doosan Corporation 
-doosan
+// xn--6frz82g : 2013-09-23 Afilias Limited
+移动
 
-// press : 2014-04-03 DotPress Inc. 
-press
+// xn--6qq986b3xl : 2013-09-13 Tycoon Treasure Limited
+我爱你
 
-// emerck : 2014-04-03 Merck KGaA 
-emerck
+// xn--80adxhks : 2013-12-19 Foundation for Assistance for Internet 
Technologies and Infrastructure Development (FAITID)
+москва
 
-// erni : 2014-04-03 ERNI Group Holding AG 
-erni
+// xn--80asehdb : 2013-07-14 CORE Association
+онлайн
 
-// direct : 2014-04-10 Half Trail, LLC 
-direct
+// xn--80aswg : 2013-07-14 CORE Association
+сайт
 
-// yandex : 2014-04-10 YANDEX, LLC 
-yandex
+// xn--9et52u : 2014-06-12 RISE VICTORY LIMITED
+时尚
 
-// lotto : 2014-04-10 Afilias Limited 
-lotto
+// xn--b4w605ferd : 2014-08-07 Temasek Holdings (Private) Limited
+淡马锡
 
-// toshiba : 2014-04-10 TOSHIBA Corporation 
-toshiba
+// xn--c1avg : 2013-11-14 Public Interest Registry
+орг
 
-// bauhaus : 2014-04-17 Werkhaus GmbH 
-bauhaus
+// xn--cg4bki : 2013-09-27 SAMSUNG SDS CO., LTD
+삼성
 
-// host : 2014-04-17 DotHost Inc. 
-host
+// xn--czr694b : 2014-01-16 HU YI GLOBAL INFORMATION RESOURCES(HOLDING) 
COMPANY.HONGKONG LIMITED
+商标
 
-// ltda : 2014-04-17 DOMAIN ROBOT SERVICOS DE HOSPEDAGEM NA INTERNET LTDA 
-ltda
+// xn--czrs0t : 2013-12-19 Wild Island, LLC
+商店
 
-// global : 2014-04-17 Dot GLOBAL AS 
-global
+// xn--czru2d : 2013-11-21 Zodiac Capricorn Limited
+商城
 
-// abogado : 2014-04-24 Top Level Domain Holdings Limited 
-abogado
+// xn--d1acj3b : 2013-11-20 The Foundation for Network Initiatives “The Smart 
Internet”
+дети
 
-// place : 2014-04-24 Snow Galley, LLC 
-place
+// xn--eckvdtc9d : 2014-12-18 Amazon EU S.à r.l.
+ポイント
 
-// tirol : 2014-04-24 punkt Tirol GmbH 
-tirol
+// xn--efvy88h : 2014-08-22 Xinhua News Agency Guangdong Branch 新华通讯社广东分社
+新闻
 
-// gmx : 2014-04-24 1&1 Mail & Media GmbH 
-gmx
+// xn--fiq228c5hs : 2013-09-08 TLD REGISTRY LIMITED
+中文网
 
-// tatar : 2014-04-24 Limited Liability Company "Coordination Center of 
Regional Domain of Tatarstan Republic" 
-tatar
+// xn--fiq64b : 2013-10-14 CITIC Group Corporation
+中信
 
-// scholarships : 2014-04-24 Scholarships.com, LLC 
-scholarships
+// xn--fjq720a : 2014-05-22 Will Bloom, LLC
+娱乐
 
-// eurovision : 2014-04-24 European Broadcasting Union (EBU) 
-eurovision
+// xn--flw351e : 2014-07-31 Charleston Road Registry Inc.
+谷歌
 
-// wedding : 2014-04-24 Top Level Domain Holdings Limited 
-wedding
+// xn--hxt814e : 2014-05-15 Zodiac Libra Limited
+网店
 
-// active : 2014-05-01 The Active Network, Inc 
-active
+// xn--i1b6b1a6a2e : 2013-11-14 Public Interest Registry
+संगठन
 
-// madrid : 2014-05-01 Comunidad de Madrid 
-madrid
+// xn--imr513n : 2014-12-11 HU YI GLOBAL INFORMATION RESOURCES (HOLDING) 
COMPANY. HONGKONG LIMITED
+餐厅
 
-// youtube : 2014-05-01 Charleston Road Registry Inc. 
-youtube
+// xn--io0a7i : 2013-11-14 Computer Network Information Center of Chinese 
Academy of Sciences (China Internet Network Information Center)
+网络
 
-// sharp : 2014-05-01 Sharp Corporation 
-sharp
+// xn--kcrx77d1x4a : 2014-11-07 Koninklijke Philips N.V.
+飞利浦
 
-// uol : 2014-05-01 UBN INTERNET LTDA. 
-uol
+// xn--kput3i : 2014-02-13 Beijing RITT-Net Technology Development Co., Ltd
+手机
 
-// physio : 2014-05-01 PhysBiz Pty Ltd 
-physio
+// xn--mgba3a3ejt : 2014-11-20 Aramco Services Company
+ارامكو
 
-// gmail : 2014-05-01 Charleston Road Registry Inc. 
-gmail
+// xn--mgbab2bd : 2013-10-31 CORE Association
+بازار
 
-// channel : 2014-05-08 Charleston Road Registry Inc. 
-channel
+// xn--mgbb9fbpob : 2014-12-18 GreenTech Consultancy Company W.L.L.
+موبايلي
 
-// fly : 2014-05-08 Charleston Road Registry Inc. 
-fly
+// xn--mgbt3dhd : 2014-09-04 Asia Green IT System Bilgisayar San. ve Tic. Ltd. 
Sti.
+همراه
 
-// zip : 2014-05-08 Charleston Road Registry Inc. 
-zip
+// xn--mxtq1m : 2014-03-06 Net-Chinese Co., Ltd.
+政府
 
-// esq : 2014-05-08 Charleston Road Registry Inc. 
-esq
+// xn--ngbc5azd : 2013-07-13 International Domain Registry Pty. Ltd.
+شبكة
 
-// rsvp : 2014-05-08 Charleston Road Registry Inc. 
-rsvp
+// xn--ngbe9e0a : 2014-12-04 Kuwait Finance House
+بيتك
 
-// wales : 2014-05-08 Nominet UK 
-wales
+// xn--nqv7f : 2013-11-14 Public Interest Registry
+机构
 
-// cymru : 2014-05-08 Nominet UK 
-cymru
+// xn--nqv7fs00ema : 2013-11-14 Public Interest Registry
+组织机构
 
-// green : 2014-05-08 Afilias Limited 
-green
+// xn--nyqy26a : 2014-11-07 Stable Tone Limited
+健康
 
-// lgbt : 2014-05-08 Afilias Limited 
-lgbt
+// xn--p1acf : 2013-12-12 Rusnames Limited
+рус
 
-// xn--hxt814e : 2014-05-15 Zodiac Libra Limited 
-网店
+// xn--q9jyb4c : 2013-09-17 Charleston Road Registry Inc.
+みんな
 
-// cancerresearch : 2014-05-15 Australian Cancer Research Foundation 
-cancerresearch
+// xn--qcka1pmc : 2014-07-31 Charleston Road Registry Inc.
+グーグル
 
-// everbank : 2014-05-15 EverBank 
-everbank
+// xn--rhqv96g : 2013-09-11 Stable Tone Limited
+世界
 
-// frl : 2014-05-15 FRLregistry B.V. 
-frl
+// xn--ses554g : 2014-01-16 HU YI GLOBAL INFORMATION RESOURCES (HOLDING) 
COMPANY. HONGKONG LIMITED
+网址
 
-// property : 2014-05-22 Uniregistry, Corp. 
-property
+// xn--unup4y : 2013-07-14 Spring Fields, LLC
+游戏
 
-// forsale : 2014-05-22 Sea Oaks, LLC 
-forsale
+// xn--vermgensberater-ctb : 2014-06-23 Deutsche Vermögensberatung 
Aktiengesellschaft DVAG
+vermögensberater
 
-// seat : 2014-05-22 SEAT, S.A. (Sociedad Unipersonal) 
-seat
+// xn--vermgensberatung-pwb : 2014-06-23 Deutsche Vermögensberatung 
Aktiengesellschaft DVAG
+vermögensberatung
 
-// deals : 2014-05-22 Sand Sunset, LLC 
-deals
+// xn--vhquv : 2013-08-27 Dash McCook, LLC
+企业
 
-// nra : 2014-05-22 NRA Holdings Company, INC. 
-nra
+// xn--vuq861b : 2014-10-16 Beijing Tele-info Network Technology Co., Ltd.
+信息
 
-// xn--fjq720a : 2014-05-22 Will Bloom, LLC 
-娱乐
+// xn--xhq521b : 2013-11-14 Guangzhou YU Wei Information Technology Co., Ltd.
+广东
 
-// realtor : 2014-05-29 Real Estate Domains LLC 
-realtor
+// xn--zfr164b : 2013-11-08 China Organizational Name Administration Center
+政务
 
-// bnpparibas : 2014-05-29 BNP Paribas 
-bnpparibas
+// xyz : 2013-12-05 XYZ.COM LLC
+xyz
 
-// melbourne : 2014-05-29 The Crown in right of the State of Victoria, 
represented by its Department of State Development, Business and Innovation 
-melbourne
+// yachts : 2014-01-09 DERYachts, LLC
+yachts
 
-// hosting : 2014-05-29 Uniregistry, Corp. 
-hosting
+// yamaxun : 2014-12-18 Amazon EU S.à r.l.
+yamaxun
+
+// yandex : 2014-04-10 YANDEX, LLC
+yandex
 
-// yoga : 2014-05-29 Top Level Domain Holdings Limited 
+// yodobashi : 2014-11-20 YODOBASHI CAMERA CO.,LTD.
+yodobashi
+
+// yoga : 2014-05-29 Top Level Domain Holdings Limited
 yoga
 
-// city : 2014-05-29 Snow Sky, LLC 
-city
+// yokohama : 2013-12-12 GMO Registry, Inc.
+yokohama
 
-// bond : 2014-06-05 Bond University Limited 
-bond
+// youtube : 2014-05-01 Charleston Road Registry Inc.
+youtube
 
-// click : 2014-06-05 Uniregistry, Corp. 
-click
+// zara : 2014-11-07 Industria de Diseño Textil, S.A. (INDITEX, S.A.)
+zara
 
-// cern : 2014-06-05 European Organization for Nuclear Research ("CERN") 
-cern
+// zero : 2014-12-18 Amazon EU S.à r.l.
+zero
+
+// zip : 2014-05-08 Charleston Road Registry Inc.
+zip
+
+// zone : 2013-11-14 Outer Falls, LLC
+zone
+
+// zuerich : 2014-11-07 Kanton Zürich (Canton of Zurich)
+zuerich
 
 // ===END ICANN DOMAINS===
 // ===BEGIN PRIVATE DOMAINS===
@@ -7996,7 +8956,7 @@ cern
 cloudfront.net
 
 // Amazon Elastic Compute Cloud: https://aws.amazon.com/ec2/
-// Submitted by Osman Surkatty <address@hidden> 2014-05-20
+// Submitted by Osman Surkatty <address@hidden> 2014-12-16
 ap-northeast-1.compute.amazonaws.com
 ap-southeast-1.compute.amazonaws.com
 ap-southeast-2.compute.amazonaws.com
@@ -8005,6 +8965,7 @@ compute.amazonaws.cn
 compute.amazonaws.com
 compute-1.amazonaws.com
 eu-west-1.compute.amazonaws.com
+eu-central-1.compute.amazonaws.com
 sa-east-1.compute.amazonaws.com
 us-east-1.amazonaws.com
 us-gov-west-1.compute.amazonaws.com
@@ -8414,6 +9375,10 @@ global.prod.fastly.net
 // Submitted by Chris Raynor <address@hidden> 2014-01-21
 firebaseapp.com
 
+// Flynn : https://flynn.io
+// Submitted by Jonathan Rudenberg <address@hidden> 2014-07-12
+flynnhub.com
+
 // GitHub, Inc.
 // Submitted by Ben Toews <address@hidden> 2014-02-06
 github.io
@@ -8424,8 +9389,9 @@ githubusercontent.com
 ro.com
 
 // Google, Inc.
-// Submitted by Eduardo Vela <address@hidden> 2012-10-24
+// Submitted by Eduardo Vela <address@hidden> 2014-12-19
 appspot.com
+blogspot.ae
 blogspot.be
 blogspot.bj
 blogspot.ca
@@ -8440,6 +9406,7 @@ blogspot.com.ar
 blogspot.com.au
 blogspot.com.br
 blogspot.com.es
+blogspot.com.tr
 blogspot.cv
 blogspot.cz
 blogspot.de
@@ -8461,6 +9428,7 @@ blogspot.no
 blogspot.pt
 blogspot.re
 blogspot.ro
+blogspot.ru
 blogspot.se
 blogspot.sg
 blogspot.sk
@@ -8469,6 +9437,7 @@ blogspot.tw
 codespot.com
 googleapis.com
 googlecode.com
+pagespeedmobilizer.com
 withgoogle.com
 
 // Heroku : https://www.heroku.com/
@@ -8513,14 +9482,44 @@ operaunite.com
 // Submitted by Duarte Santos <address@hidden> 2014-03-11
 outsystemscloud.com
 
+// .pl domains (grandfathered)
+art.pl
+gliwice.pl
+krakow.pl
+poznan.pl
+wroc.pl
+zakopane.pl
+
 // Red Hat, Inc. OpenShift : https://openshift.redhat.com/
 // Submitted by Tim Kramer <address@hidden> 2012-10-24
 rhcloud.com
 
+// GDS : 
https://www.gov.uk/service-manual/operations/operating-servicegovuk-subdomains
+// Submitted by David Illsley <address@hidden> 2014-08-28
+service.gov.uk
+
 // priv.at : http://www.nic.priv.at/
 // Submitted by registry <address@hidden> 2008-06-09
 priv.at
 
+// TASK geographical domains (www.task.gda.pl/uslugi/dns)
+gda.pl
+gdansk.pl
+gdynia.pl
+med.pl
+sopot.pl
+
+// UDR Limited : http://www.udr.hk.com
+// Submitted by registry <address@hidden> 2014-11-07
+hk.com
+hk.org
+ltd.hk
+inc.hk
+
+// Yola : https://www.yola.com/
+// Submitted by Stefano Rivera <address@hidden> 2014-07-09
+yolasite.com
+
 // ZaNiC : http://www.za.net/
 // Submitted by registry <address@hidden> 2009-10-03
 za.net
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 70293af..ff352a2 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,54 @@
+2015-01-26  Stefan Monnier  <address@hidden>
+
+
+       * emacs-lisp/cl-generic.el (cl--generic-method): New struct.
+       (cl--generic): The method-table is now a (list-of cl--generic-method).
+       (cl--generic-member-method): New function.
+       (cl-generic-define-method): Use it.
+       (cl--generic-build-combined-method, cl--generic-cache-miss):
+       Adapt to new method-table.
+       (cl--generic-no-next-method-function): Add `method' argument.
+       (cl-generic-call-method): Adapt to new method representation.
+       (cl--generic-cnm-sample, cl--generic-nnm-sample): Adjust.
+       (cl-find-method, cl-method-qualifiers): New functions.
+       (cl--generic-method-info): Adapt to new method representation.
+       Return a string for the qualifiers.
+       (cl--generic-describe):
+       * emacs-lisp/eieio-opt.el (eieio-help-class): Adjust accordingly.
+       (eieio-all-generic-functions, eieio-method-documentation):
+       Adjust to new method representation.
+
+       * emacs-lisp/eieio-compat.el (eieio--defmethod): Use cl-find-method.
+
+2015-01-26  Stefan Monnier  <address@hidden>
+
+       * emacs-lisp/cl-generic.el: Add a method-combination hook.
+       (cl-generic-method-combination-function): New var.
+       (cl--generic-lambda): Remove `with-cnm' arg.
+       (cl-defmethod): Change accordingly.
+       (cl-generic-define-method): Don't check qualifiers validity.
+       Preserve all qualifiers in `method-table'.
+       (cl-generic-call-method): New function.
+       (cl--generic-nest): Remove (morph into cl-generic-call-method).
+       (cl--generic-build-combined-method): Adjust to new format of 
method-table
+       and use cl-generic-method-combination-function.
+       (cl--generic-standard-method-combination): New function, extracted from
+       cl--generic-build-combined-method.
+       (cl--generic-cnm-sample): Adjust to new format of method-table.
+
+       * emacs-lisp/eieio-compat.el (eieio--defmethod): Use () qualifiers
+       instead of :primary.
+
+       * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke):
+       Remove obsolete function.
+
+2015-01-26  Lars Ingebrigtsen  <address@hidden>
+
+       * net/shr.el (shr-make-table-1): Fix colspan typo.
+
+       * net/eww.el (eww-add-bookmark): Fix prompt and clean up the code
+       slightly.
+
 2015-01-25  Stefan Monnier  <address@hidden>
 
        * emacs-lisp/cl-generic.el (cl--generic-no-next-method-function): New 
fun.
diff --git a/lisp/calculator.el b/lisp/calculator.el
index 7d7c73a..0aef07b 100644
--- a/lisp/calculator.el
+++ b/lisp/calculator.el
@@ -312,8 +312,8 @@ user-defined operators, use `calculator-user-operators' 
instead.")
 
 It it possible have a unary prefix version of a binary operator if it
 comes later in this list.  If the list begins with the symbol 'nobind,
-then no key binding will take place -- this is only useful for predefined
-keys.
+then no key binding will take place -- this is only useful for
+predefined keys.
 
 Use `calculator-user-operators' to add operators to this list, see its
 documentation for an example.")
@@ -1124,9 +1124,15 @@ If optional argument FORCE is non-nil, don't use the 
cached string."
                    " "
                    (and calculator-display-fragile
                         calculator-saved-list
-                        (= (car calculator-stack)
-                           (nth calculator-saved-ptr
-                                calculator-saved-list))
+                        ;; Hack: use `eq' to compare the number: it's a
+                        ;; flonum, so `eq' means that its the actual
+                        ;; number rather than a computation that had an
+                        ;; equal result (eg, enter 1,3,2, use "v" to see
+                        ;; the average -- it now shows "2" instead of
+                        ;; "2 [3]").
+                        (eq (car calculator-stack)
+                            (nth calculator-saved-ptr
+                                 calculator-saved-list))
                         (if (= 0 calculator-saved-ptr)
                           (format "[%s]" (length calculator-saved-list))
                           (format "[%s/%s]"
diff --git a/lisp/emacs-lisp/cl-generic.el b/lisp/emacs-lisp/cl-generic.el
index 02a4351..1bb7096 100644
--- a/lisp/emacs-lisp/cl-generic.el
+++ b/lisp/emacs-lisp/cl-generic.el
@@ -30,11 +30,9 @@
 ;;   CLOS's define-method-combination is IMO overly complicated, and it suffers
 ;;   from a significant problem: the method-combination code returns a sexp
 ;;   that needs to be `eval'uated or compiled.  IOW it requires run-time
-;;   code generation.
-;; - Method and generic function objects: CLOS defines methods as objects
-;;   (same for generic functions), whereas we don't offer such an abstraction.
-;; - `no-next-method' should receive the "calling method" object, but since we
-;;   don't have such a thing, we pass nil instead.
+;;   code generation.  Given how rarely method-combinations are used,
+;;   I just provided a cl-generic-method-combination-function, which
+;;   people can use if they are really desperate for such functionality.
 ;; - In defgeneric we don't support the options:
 ;;   declare, :method-combination, :generic-function-class, :method-class,
 ;;   :method.
@@ -48,6 +46,8 @@
 ;;   eieio-core adds dispatch on:
 ;;   - class of eieio objects
 ;;   - actual class argument, using the syntax (subclass <class>).
+;; - cl-generic-method-combination-function (i.s.o define-method-combination).
+;; - cl-generic-call-method (which replaces make-method and call-method).
 
 ;; Efficiency considerations: overall, I've made an effort to make this fairly
 ;; efficient for the expected case (e.g. no constant redefinition of methods).
@@ -101,6 +101,18 @@ that for all other (PRIORITY . TAGCODE) where PRIORITY ≤ 
N, then
   "Function to get the list of types that a given \"tag\" matches.
 They should be sorted from most specific to least specific.")
 
+(cl-defstruct (cl--generic-method
+               (:constructor nil)
+               (:constructor cl--generic-method-make
+                (specializers qualifiers uses-cnm function))
+               (:predicate nil))
+  (specializers nil :read-only t :type list)
+  (qualifiers   nil :read-only t :type (list-of atom))
+  ;; USES-CNM is a boolean indicating if FUNCTION expects an extra argument
+  ;; holding the next-method.
+  (uses-cnm     nil :read-only t :type boolean)
+  (function     nil :read-only t :type function))
+
 (cl-defstruct (cl--generic
                (:constructor nil)
                (:constructor cl--generic-make
@@ -114,12 +126,7 @@ They should be sorted from most specific to least 
specific.")
   ;; decide in which order to sort them.
   ;; The most important dispatch is last in the list (and the least is first).
   (dispatches nil :type (list-of (cons natnum (list-of tagcode))))
-  ;; `method-table' is a list of
-  ;; ((SPECIALIZERS . QUALIFIER) USES-CNM . FUNCTION), where
-  ;; USES-CNM is a boolean indicating if FUNCTION calls `cl-call-next-method'
-  ;; (and hence expects an extra argument holding the next-method).
-  (method-table nil :type (list-of (cons (cons (list-of type) keyword)
-                                         (cons boolean function)))))
+  (method-table nil :type (list-of cl--generic-method)))
 
 (defmacro cl--generic (name)
   `(get ,name 'cl--generic))
@@ -232,7 +239,7 @@ This macro can only be used within the lexical scope of a 
cl-generic method."
       (and (memq sexp vars) (not (memq sexp res)) (push sexp res))
       res))
 
-  (defun cl--generic-lambda (args body with-cnm)
+  (defun cl--generic-lambda (args body)
     "Make the lambda expression for a method with ARGS and BODY."
     (let ((plain-args ())
           (specializers nil)
@@ -255,36 +262,34 @@ This macro can only be used within the lexical scope of a 
cl-generic method."
                               . ,(lambda () specializers))
                             macroexpand-all-environment)))
         (require 'cl-lib)        ;Needed to expand `cl-flet' and `cl-function'.
-        (if (not with-cnm)
-            (cons nil (macroexpand-all fun macroenv))
-          ;; First macroexpand away the cl-function stuff (e.g. &key and
-          ;; destructuring args, `declare' and whatnot).
-          (pcase (macroexpand fun macroenv)
-            (`#'(lambda ,args . ,body)
-             (let* ((doc-string (and doc-string (stringp (car body)) (cdr body)
-                                     (pop body)))
-                    (cnm (make-symbol "cl--cnm"))
-                    (nmp (make-symbol "cl--nmp"))
-                    (nbody (macroexpand-all
-                            `(cl-flet ((cl-call-next-method ,cnm)
-                                       (cl-next-method-p ,nmp))
-                               ,@body)
-                            macroenv))
-                    ;; FIXME: Rather than `grep' after the fact, the
-                    ;; macroexpansion should directly set some flag when cnm
-                    ;; is used.
-                    ;; FIXME: Also, optimize the case where call-next-method is
-                    ;; only called with explicit arguments.
-                    (uses-cnm (cl--generic-fgrep (list cnm nmp) nbody)))
-               (cons (not (not uses-cnm))
-                     `#'(lambda (,@(if uses-cnm (list cnm)) ,@args)
-                          ,@(if doc-string (list doc-string))
-                          ,(if (not (memq nmp uses-cnm))
-                               nbody
-                             `(let ((,nmp (lambda ()
-                                            (cl--generic-isnot-nnm-p ,cnm))))
-                                ,nbody))))))
-            (f (error "Unexpected macroexpansion result: %S" f))))))))
+        ;; First macroexpand away the cl-function stuff (e.g. &key and
+        ;; destructuring args, `declare' and whatnot).
+        (pcase (macroexpand fun macroenv)
+          (`#'(lambda ,args . ,body)
+           (let* ((doc-string (and doc-string (stringp (car body)) (cdr body)
+                                   (pop body)))
+                  (cnm (make-symbol "cl--cnm"))
+                  (nmp (make-symbol "cl--nmp"))
+                  (nbody (macroexpand-all
+                          `(cl-flet ((cl-call-next-method ,cnm)
+                                     (cl-next-method-p ,nmp))
+                             ,@body)
+                          macroenv))
+                  ;; FIXME: Rather than `grep' after the fact, the
+                  ;; macroexpansion should directly set some flag when cnm
+                  ;; is used.
+                  ;; FIXME: Also, optimize the case where call-next-method is
+                  ;; only called with explicit arguments.
+                  (uses-cnm (cl--generic-fgrep (list cnm nmp) nbody)))
+             (cons (not (not uses-cnm))
+                   `#'(lambda (,@(if uses-cnm (list cnm)) ,@args)
+                        ,@(if doc-string (list doc-string))
+                        ,(if (not (memq nmp uses-cnm))
+                             nbody
+                           `(let ((,nmp (lambda ()
+                                          (cl--generic-isnot-nnm-p ,cnm))))
+                              ,nbody))))))
+          (f (error "Unexpected macroexpansion result: %S" f)))))))
 
 
 ;;;###autoload
@@ -324,8 +329,7 @@ which case this method will be invoked when the argument is 
`eql' to VAL.
     (while (not (listp args))
       (push args qualifiers)
       (setq args (pop body)))
-    (pcase-let* ((with-cnm (not (memq (car qualifiers) '(:before :after))))
-                 (`(,uses-cnm . ,fun) (cl--generic-lambda args body with-cnm)))
+    (pcase-let* ((`(,uses-cnm . ,fun) (cl--generic-lambda args body)))
       `(progn
          ,(when setfizer
             (setq name (car setfizer))
@@ -345,19 +349,25 @@ which case this method will be invoked when the argument 
is `eql' to VAL.
          (cl-generic-define-method ',name ',qualifiers ',args
                                    ,uses-cnm ,fun)))))
 
+(defun cl--generic-member-method (specializers qualifiers methods)
+  (while
+      (and methods
+           (let ((m (car methods)))
+             (not (and (equal (cl--generic-method-specializers m) specializers)
+                       (equal (cl--generic-method-qualifiers m) qualifiers)))))
+    (setq methods (cdr methods))
+    methods))
+
 ;;;###autoload
 (defun cl-generic-define-method (name qualifiers args uses-cnm function)
-  (when (> (length qualifiers) 1)
-    (error "We only support a single qualifier per method: %S" qualifiers))
-  (unless (memq (car qualifiers) '(nil :primary :around :after :before))
-    (error "Unsupported qualifier in: %S" qualifiers))
   (let* ((generic (cl-generic-ensure-function name))
          (mandatory (cl--generic-mandatory-args args))
          (specializers
           (mapcar (lambda (arg) (if (consp arg) (cadr arg) t)) mandatory))
-         (key (cons specializers (or (car qualifiers) ':primary)))
+         (method (cl--generic-method-make
+                  specializers qualifiers uses-cnm function))
          (mt (cl--generic-method-table generic))
-         (me (assoc key mt))
+         (me (cl--generic-member-method specializers qualifiers mt))
          (dispatches (cl--generic-dispatches generic))
          (i 0))
     (dolist (specializer specializers)
@@ -372,9 +382,8 @@ which case this method will be invoked when the argument is 
`eql' to VAL.
                 (nreverse (sort (cons tagcode (cdr x))
                                 #'car-less-than-car))))
         (setq i (1+ i))))
-    (if me (setcdr me (cons uses-cnm function))
-      (setf (cl--generic-method-table generic)
-            (cons `(,key ,uses-cnm . ,function) mt)))
+    (if me (setcar me method)
+      (setf (cl--generic-method-table generic) (cons method mt)))
     (cl-pushnew `(cl-defmethod . (,(cl--generic-name generic) . ,specializers))
                 current-load-list :test #'equal)
     (let ((gfun (cl--generic-make-function generic))
@@ -438,22 +447,19 @@ which case this method will be invoked when the argument 
is `eql' to VAL.
                          (cdr dispatch) (car dispatch))))
         (funcall dispatcher generic dispatches)))))
 
-(defun cl--generic-nest (fun methods)
-  (pcase-dolist (`(,uses-cnm . ,method) methods)
-    (setq fun
-          (if (not uses-cnm) method
-            (let ((next fun))
-              (lambda (&rest args)
-                (apply method
-                       ;; FIXME: This sucks: passing just `next' would
-                       ;; be a lot more efficient than the lambda+apply
-                       ;; quasi-η, but we need this to implement the
-                       ;; "if call-next-method is called with no
-                       ;; arguments, then use the previous arguments".
-                       (lambda (&rest cnm-args)
-                         (apply next (or cnm-args args)))
-                       args))))))
-  fun)
+(defvar cl-generic-method-combination-function
+  #'cl--generic-standard-method-combination
+  "Function to build the effective method.
+Called with 2 arguments: NAME and METHOD-ALIST.
+It should return an effective method, i.e. a function that expects the same
+arguments as the methods, and calls those methods in some appropriate order.
+NAME is the name (a symbol) of the corresponding generic function.
+METHOD-ALIST is a list of elements (QUALIFIERS . METHODS) where
+QUALIFIERS is a list of qualifiers, and METHODS is a list of the selected
+methods for that qualifier list.
+The METHODS lists are sorted from most generic first to most specific last.
+The function can use `cl-generic-call-method' to create functions that call 
those
+methods.")
 
 (defvar cl--generic-combined-method-memoization
   (make-hash-table :test #'equal :weakness 'value)
@@ -462,54 +468,82 @@ This is particularly useful when many different tags 
select the same set
 of methods, since this table then allows us to share a single combined-method
 for all those different tags in the method-cache.")
 
-(defun cl--generic-no-next-method-function (generic)
-  (lambda (&rest args)
-    ;; FIXME: CLOS passes as second arg the "calling method".
-    ;; We don't currently have "method objects" like CLOS
-    ;; does so we can't really do it the CLOS way.
-    ;; The closest would be to pass the lambda corresponding
-    ;; to the method, or maybe the ((SPECIALIZERS
-    ;; . QUALIFIER) USE-CNM . FUNCTION) entry from the method
-    ;; table, but the caller wouldn't be able to do much with
-    ;; it anyway.  So we pass nil for now.
-    (apply #'cl-no-next-method generic nil args)))
-
 (defun cl--generic-build-combined-method (generic-name methods)
-  (let ((mets-by-qual ()))
-    (dolist (qm methods)
-      (push (cdr qm) (alist-get (cdar qm) mets-by-qual)))
-    (cl--generic-with-memoization
-        (gethash (cons generic-name mets-by-qual)
-                 cl--generic-combined-method-memoization)
-      (cond
-       ((null mets-by-qual)
-        (lambda (&rest args)
-          (apply #'cl-no-applicable-method generic-name args)))
-       ((null (alist-get :primary mets-by-qual))
-        (lambda (&rest args)
-          (apply #'cl-no-primary-method generic-name args)))
-       (t
-        (let* ((fun (cl--generic-no-next-method-function generic-name))
-               ;; We use `cdr' to drop the `uses-cnm' annotations.
-               (before
-                (mapcar #'cdr (reverse (alist-get :before mets-by-qual))))
-               (after (mapcar #'cdr (alist-get :after mets-by-qual))))
-          (setq fun (cl--generic-nest fun (alist-get :primary mets-by-qual)))
-          (when (or after before)
-            (let ((next fun))
-              (setq fun (lambda (&rest args)
-                          (dolist (bf before)
-                            (apply bf args))
-                          (prog1
-                              (apply next args)
-                            (dolist (af after)
-                              (apply af args)))))))
-          (cl--generic-nest fun (alist-get :around mets-by-qual))))))))
-
-(defconst cl--generic-nnm-sample (cl--generic-no-next-method-function 'dummy))
+  (cl--generic-with-memoization
+      (gethash (cons generic-name methods)
+               cl--generic-combined-method-memoization)
+    (let ((mets-by-qual ()))
+      (dolist (method methods)
+        (let* ((qualifiers (cl--generic-method-qualifiers method))
+               (x (assoc qualifiers mets-by-qual)))
+          ;; FIXME: sadly, alist-get only uses `assq' and we need `assoc'.
+          ;;(push (cdr qm) (alist-get qualifiers mets-by-qual)))
+          (if x
+              (push method (cdr x))
+            (push (list qualifiers method) mets-by-qual))))
+      (funcall cl-generic-method-combination-function
+               generic-name mets-by-qual))))
+
+(defun cl--generic-no-next-method-function (generic method)
+  (lambda (&rest args)
+    (apply #'cl-no-next-method generic method args)))
+
+(defun cl-generic-call-method (generic-name method &optional fun)
+  "Return a function that calls METHOD.
+FUN is the function that should be called when METHOD calls
+`call-next-method'."
+  (if (not (cl--generic-method-uses-cnm method))
+      (cl--generic-method-function method)
+    (let ((met-fun (cl--generic-method-function method))
+          (next (or fun (cl--generic-no-next-method-function
+                         generic-name method))))
+      (lambda (&rest args)
+        (apply met-fun
+               ;; FIXME: This sucks: passing just `next' would
+               ;; be a lot more efficient than the lambda+apply
+               ;; quasi-η, but we need this to implement the
+               ;; "if call-next-method is called with no
+               ;; arguments, then use the previous arguments".
+               (lambda (&rest cnm-args)
+                 (apply next (or cnm-args args)))
+               args)))))
+
+(defun cl--generic-standard-method-combination (generic-name mets-by-qual)
+  (dolist (x mets-by-qual)
+    (unless (member (car x) '(() (:after) (:before) (:around)))
+      (error "Unsupported qualifiers in function %S: %S" generic-name (car 
x))))
+  (cond
+   ((null mets-by-qual)
+    (lambda (&rest args)
+      (apply #'cl-no-applicable-method generic-name args)))
+   ((null (alist-get nil mets-by-qual))
+    (lambda (&rest args)
+      (apply #'cl-no-primary-method generic-name args)))
+   (t
+    (let* ((fun nil)
+           (ab-call (lambda (m) (cl-generic-call-method generic-name m)))
+           (before
+            (mapcar ab-call (reverse (cdr (assoc '(:before) mets-by-qual)))))
+           (after (mapcar ab-call (cdr (assoc '(:after) mets-by-qual)))))
+      (dolist (method (cdr (assoc nil mets-by-qual)))
+        (setq fun (cl-generic-call-method generic-name method fun)))
+      (when (or after before)
+        (let ((next fun))
+          (setq fun (lambda (&rest args)
+                      (dolist (bf before)
+                        (apply bf args))
+                      (prog1
+                          (apply next args)
+                        (dolist (af after)
+                          (apply af args)))))))
+      (dolist (method (cdr (assoc '(:around) mets-by-qual)))
+        (setq fun (cl-generic-call-method generic-name method fun)))
+      fun))))
+
+(defconst cl--generic-nnm-sample (cl--generic-no-next-method-function t t))
 (defconst cl--generic-cnm-sample
   (funcall (cl--generic-build-combined-method
-            nil `(((specializer . :primary) t . ,#'identity)))))
+            nil (list (cl--generic-method-make () () t #'identity)))))
 
 (defun cl--generic-isnot-nnm-p (cnm)
   "Return non-nil if CNM is the function that calls `cl-no-next-method'."
@@ -540,11 +574,13 @@ for all those different tags in the method-cache.")
 (defun cl--generic-cache-miss (generic dispatch-arg dispatches-left tags)
   (let ((types (apply #'append (mapcar cl-generic-tag-types-function tags)))
         (methods '()))
-    (dolist (method-desc (cl--generic-method-table generic))
-      (let* ((specializer (or (nth dispatch-arg (caar method-desc)) t))
+    (dolist (method (cl--generic-method-table generic))
+      (let* ((specializer (or (nth dispatch-arg
+                                   (cl--generic-method-specializers method))
+                              t))
              (m (member specializer types)))
         (when m
-          (push (cons (length m) method-desc) methods))))
+          (push (cons (length m) method) methods))))
     ;; Sort the methods, most specific first.
     ;; It would be tempting to sort them once and for all in the method-table
     ;; rather than here, but the order might depend on the actual argument
@@ -587,6 +623,14 @@ Can only be used from within the lexical body of a primary 
or around method."
   (declare (obsolete "make sure there's always a next method, or catch 
`cl-no-next-method' instead" "25.1"))
   (error "cl-next-method-p only allowed inside primary and around methods"))
 
+;;;###autoload
+(defun cl-find-method (generic qualifiers specializers)
+  (car (cl--generic-member-method
+        specializers qualifiers
+        (cl--generic-method-table (cl--generic generic)))))
+
+(defalias 'cl-method-qualifiers 'cl--generic-method-qualifiers)
+
 ;;; Add support for describe-function
 
 (defun cl--generic-search-method (met-name)
@@ -611,22 +655,30 @@ Can only be used from within the lexical body of a 
primary or around method."
                `(cl-defmethod . ,#'cl--generic-search-method)))
 
 (defun cl--generic-method-info (method)
-  (pcase-let ((`((,specializers . ,qualifier) ,uses-cnm . ,function) method))
-    (let* ((args (help-function-arglist function 'names))
-           (docstring (documentation function))
-           (doconly (if docstring
-                        (let ((split (help-split-fundoc docstring nil)))
-                          (if split (cdr split) docstring))))
-           (combined-args ()))
-      (if uses-cnm (setq args (cdr args)))
-      (dolist (specializer specializers)
-        (let ((arg (if (eq '&rest (car args))
-                       (intern (format "arg%d" (length combined-args)))
-                     (pop args))))
-          (push (if (eq specializer t) arg (list arg specializer))
-                combined-args)))
-      (setq combined-args (append (nreverse combined-args) args))
-      (list qualifier combined-args doconly))))
+  (let* ((specializers (cl--generic-method-specializers method))
+         (qualifiers   (cl--generic-method-qualifiers method))
+         (uses-cnm     (cl--generic-method-uses-cnm method))
+         (function     (cl--generic-method-function method))
+         (args (help-function-arglist function 'names))
+         (docstring (documentation function))
+         (qual-string
+          (if (null qualifiers) ""
+            (cl-assert (consp qualifiers))
+            (let ((s (prin1-to-string qualifiers)))
+              (concat (substring s 1 -1) " "))))
+         (doconly (if docstring
+                      (let ((split (help-split-fundoc docstring nil)))
+                        (if split (cdr split) docstring))))
+         (combined-args ()))
+    (if uses-cnm (setq args (cdr args)))
+    (dolist (specializer specializers)
+      (let ((arg (if (eq '&rest (car args))
+                     (intern (format "arg%d" (length combined-args)))
+                   (pop args))))
+        (push (if (eq specializer t) arg (list arg specializer))
+              combined-args)))
+    (setq combined-args (append (nreverse combined-args) args))
+    (list qual-string combined-args doconly)))
 
 (add-hook 'help-fns-describe-function-functions #'cl--generic-describe)
 (defun cl--generic-describe (function)
@@ -640,8 +692,9 @@ Can only be used from within the lexical body of a primary 
or around method."
         (dolist (method (cl--generic-method-table generic))
           (let* ((info (cl--generic-method-info method)))
             ;; FIXME: Add hyperlinks for the types as well.
-            (insert (format "%S %S" (nth 0 info) (nth 1 info)))
-            (let* ((met-name (cons function (caar method)))
+            (insert (format "%s%S" (nth 0 info) (nth 1 info)))
+            (let* ((met-name (cons function
+                                   (cl--generic-method-specializers method)))
                    (file (find-lisp-object-file-name met-name 'cl-defmethod)))
               (when file
                 (insert " in `")
diff --git a/lisp/emacs-lisp/eieio-compat.el b/lisp/emacs-lisp/eieio-compat.el
index c2dabf7..fcca99d 100644
--- a/lisp/emacs-lisp/eieio-compat.el
+++ b/lisp/emacs-lisp/eieio-compat.el
@@ -181,7 +181,8 @@ Summary:
              (lambda (generic arg &rest args) (apply code arg generic args)))
             (_ code))))
     (cl-generic-define-method
-     method (if kind (list kind)) specializers uses-cnm
+     method (unless (memq kind '(nil :primary)) (list kind))
+     specializers uses-cnm
      (if uses-cnm
          (let* ((docstring (documentation code 'raw))
                 (args (help-function-arglist code 'preserve-names))
@@ -201,11 +202,11 @@ Summary:
     ;; applicable but only of the before/after kind.  So if we add a :before
     ;; or :after, make sure there's a matching dummy primary.
     (when (and (memq kind '(:before :after))
-               (not (assoc (cons (mapcar (lambda (arg)
-                                           (if (consp arg) (nth 1 arg) t))
-                                         specializers)
-                                 :primary)
-                           (cl--generic-method-table (cl--generic method)))))
+               ;; FIXME: Use `cl-find-method'?
+               (not (cl-find-method method ()
+                                    (mapcar (lambda (arg)
+                                              (if (consp arg) (nth 1 arg) t))
+                                            specializers))))
       (cl-generic-define-method method () specializers t
                                 (lambda (cnm &rest args)
                                   (if (cl--generic-isnot-nnm-p cnm)
diff --git a/lisp/emacs-lisp/eieio-datadebug.el 
b/lisp/emacs-lisp/eieio-datadebug.el
index 6534bd0..119f7cc 100644
--- a/lisp/emacs-lisp/eieio-datadebug.el
+++ b/lisp/emacs-lisp/eieio-datadebug.el
@@ -129,22 +129,6 @@ PREBUTTONTEXT is some text between PREFIX and the object 
button."
   (data-debug-new-buffer (format "*%s DDEBUG*" (eieio-object-name obj)))
   (data-debug-insert-object-slots obj "]"))
 
-;;; DEBUG FUNCTIONS
-;;
-(defun eieio-debug-methodinvoke (method class)
-  "Show the method invocation order for METHOD with CLASS object."
-  (interactive "aMethod: \nXClass Expression: ")
-  (let* ((eieio-pre-method-execution-functions
-         (lambda (l) (throw 'moose l) ))
-        (data
-         (catch 'moose (eieio--generic-call
-                        method (list class))))
-        (_buf (data-debug-new-buffer "*Method Invocation*"))
-        (data2 (mapcar (lambda (sym)
-                         (symbol-function (car sym)))
-                         data)))
-    (data-debug-insert-thing data2 ">" "")))
-
 (provide 'eieio-datadebug)
 
 ;;; eieio-datadebug.el ends here
diff --git a/lisp/emacs-lisp/eieio-opt.el b/lisp/emacs-lisp/eieio-opt.el
index a131b02..8d40edf 100644
--- a/lisp/emacs-lisp/eieio-opt.el
+++ b/lisp/emacs-lisp/eieio-opt.el
@@ -129,9 +129,9 @@ If CLASS is actually an object, then also display current 
values of that object.
         (insert "`")
         (help-insert-xref-button (symbol-name generic) 'help-function generic)
         (insert "'")
-       (pcase-dolist (`(,qualifier ,args ,doc)
+       (pcase-dolist (`(,qualifiers ,args ,doc)
                        (eieio-method-documentation generic class))
-          (insert (format " %S %S\n" qualifier args)
+          (insert (format " %s%S\n" qualifiers args)
                   (or doc "")))
        (insert "\n\n")))))
 
@@ -325,10 +325,9 @@ methods for CLASS."
          (and generic
              (catch 'found
                (if (null class) (throw 'found t))
-               (pcase-dolist (`((,specializers . ,_qualifier) . ,_)
-                              (cl--generic-method-table generic))
+               (dolist (method (cl--generic-method-table generic))
                  (if (eieio--specializers-apply-to-class-p
-                      specializers class)
+                      (cl--generic-method-specializers method) class)
                      (throw 'found t))))
              (push symbol l)))))
     l))
@@ -336,15 +335,14 @@ methods for CLASS."
 (defun eieio-method-documentation (generic class)
   "Return info for all methods of GENERIC applicable to CLASS.
 The value returned is a list of elements of the form
-\(QUALIFIER ARGS DOC)."
+\(QUALIFIERS ARGS DOC)."
   (let ((generic (cl--generic generic))
         (docs ()))
     (when generic
       (dolist (method (cl--generic-method-table generic))
-        (pcase-let ((`((,specializers . ,_qualifier) . ,_) method))
-          (when (eieio--specializers-apply-to-class-p
-                 specializers class)
-            (push (cl--generic-method-info method) docs)))))
+        (when (eieio--specializers-apply-to-class-p
+               (cl--generic-method-specializers method) class)
+          (push (cl--generic-method-info method) docs))))
     docs))
 
 ;;; METHOD STATS
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 08e904a..2f3f375 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,32 @@
+2015-01-26  Trevor Murphy  <address@hidden>
+
+       * nnimap.el (nnimap-header-parameters): Refactor and request
+       X-GM-LABELS if it's been announced.
+       (nnimap-transform-headers): Gather and output GM-LABELS.
+
+2015-01-26  Peder O. Klingenberg  <address@hidden>
+
+       * mm-decode.el (mm-display-part): Make non-string methods work.
+       Non-string methods are funcalled and work just fine, the test was
+       bogus.
+       * mm-decode.el (mm-display-external): Show "external" lisp viewers in
+       whole frame.
+
+2015-01-26  Lars Ingebrigtsen  <address@hidden>
+
+       * nnimap.el (nnimap-request-accept-article): Allow respooling using
+       nnimap.
+
+       * gnus-group.el (gnus-group-get-new-news-this-group): Explicitly
+       request rescans when being run interactively.
+
+       * nnimap.el (nnimap-request-group): Don't rescan the group here,
+       because that can be very slow in large groups.
+
+       * gnus-int.el (gnus-request-group-scan): New backend function.
+
+       * nnimap.el (nnimap-request-scan-group): Implement in on IMAP.
+
 2015-01-25  Lars Ingebrigtsen  <address@hidden>
 
        * gnus-group.el (gnus-group-suspend): Close all backends.
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index dc11442..e22138b 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -4075,7 +4075,9 @@ If DONT-SCAN is non-nil, scan non-activated groups as 
well."
       (gnus-group-remove-mark group)
       ;; Bypass any previous denials from the server.
       (gnus-remove-denial (setq method (gnus-find-method-for-group group)))
-      (if (gnus-activate-group group (if dont-scan nil 'scan) nil method)
+      (if (or (and (not dont-scan)
+                  (gnus-request-group-scan group (gnus-get-info group)))
+             (gnus-activate-group group (if dont-scan nil 'scan) nil method))
          (let ((info (gnus-get-info group))
                (active (gnus-active group)))
            (when info
diff --git a/lisp/gnus/gnus-int.el b/lisp/gnus/gnus-int.el
index 487b85f..dd938ce 100644
--- a/lisp/gnus/gnus-int.el
+++ b/lisp/gnus/gnus-int.el
@@ -439,6 +439,14 @@ If it is down, start it up (again)."
       (funcall (gnus-get-function gnus-command-method func)
               (gnus-group-real-name group) (nth 1 gnus-command-method)))))
 
+(defun gnus-request-group-scan (group info)
+  "Request that GROUP get a complete rescan."
+  (let ((gnus-command-method (gnus-find-method-for-group group))
+       (func 'request-group-description))
+    (when (gnus-check-backend-function func group)
+      (funcall (gnus-get-function gnus-command-method func)
+              (gnus-group-real-name group) (nth 1 gnus-command-method) info))))
+
 (defun gnus-close-group (group)
   "Request the GROUP be closed."
   (let ((gnus-command-method (inline (gnus-find-method-for-group group))))
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index fb32ad9..f03b9c9 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -833,18 +833,18 @@ external if displayed external."
                'inline)
            (setq external
                  (and method         ;; If nil, we always use "save".
-                      (stringp method) ;; 'mailcap-save-binary-file
                       (or (eq mm-enable-external t)
                           (and (eq mm-enable-external 'ask)
                                (y-or-n-p
                                 (concat
                                  "Display part (" type
-                                 ") using external program"
-                                 ;; Can non-string method ever happen?
+                                 ") "
                                  (if (stringp method)
                                      (concat
-                                      " \"" (format method filename) "\"")
-                                   "")
+                                      "using external program \""
+                                      (format method filename) "\"")
+                                   (format
+                                    "by calling `%s' on the contents)" method))
                                  "? "))))))
            (if external
                (mm-display-external
@@ -885,7 +885,15 @@ external if displayed external."
                                     (mm-handle-media-type handle) t))))
              (unwind-protect
                  (if method
-                     (funcall method)
+                     (progn
+                       (when (and (boundp 'gnus-summary-buffer)
+                                  (bufferp gnus-summary-buffer)
+                                  (buffer-name gnus-summary-buffer))
+                         ;; So that we pop back to the right place, sortof.
+                         (switch-to-buffer gnus-summary-buffer)
+                         (switch-to-buffer mm))
+                       (delete-other-windows)
+                       (funcall method))
                    (mm-save-part handle))
                (when (and (not non-viewer)
                           method)
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index f3a8957..8e81abc 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -166,14 +166,21 @@ textual parts.")
   (nnimap-find-process-buffer nntp-server-buffer))
 
 (defun nnimap-header-parameters ()
-  (format "(UID RFC822.SIZE BODYSTRUCTURE %s)"
-         (format
+  (let (params)
+    (push "UID" params)
+    (push "RFC822.SIZE" params)
+    (when (nnimap-capability "X-GM-EXT-1")
+      (push "X-GM-LABELS" params))
+    (push "BODYSTRUCTURE" params)
+    (push (format
           (if (nnimap-ver4-p)
               "BODY.PEEK[HEADER.FIELDS %s]"
             "RFC822.HEADER.LINES %s")
           (append '(Subject From Date Message-Id
                             References In-Reply-To Xref)
-                  nnmail-extra-headers))))
+                  nnmail-extra-headers))
+         params)
+    (format "%s" (nreverse params))))
 
 (deffoo nnimap-retrieve-headers (articles &optional group server fetch-old)
   (when group
@@ -197,7 +204,7 @@ textual parts.")
 
 (defun nnimap-transform-headers ()
   (goto-char (point-min))
-  (let (article lines size string)
+  (let (article lines size string labels)
     (block nil
       (while (not (eobp))
        (while (not (looking-at "\\* [0-9]+ FETCH"))
@@ -232,6 +239,9 @@ textual parts.")
                                      t)
                   (match-string 1)))
        (beginning-of-line)
+       (when (search-forward "X-GM-LABELS" (line-end-position) t)
+         (setq labels (ignore-errors (read (current-buffer)))))
+       (beginning-of-line)
        (when (search-forward "BODYSTRUCTURE" (line-end-position) t)
          (let ((structure (ignore-errors
                             (read (current-buffer)))))
@@ -251,6 +261,8 @@ textual parts.")
          (insert (format "Chars: %s\n" size)))
        (when lines
          (insert (format "Lines: %s\n" lines)))
+       (when labels
+         (insert (format "X-GM-LABELS: %s\n" labels)))
        ;; Most servers have a blank line after the headers, but
        ;; Davmail doesn't.
        (unless (re-search-forward "^\r$\\|^)\r?$" nil t)
@@ -792,43 +804,55 @@ textual parts.")
        articles active marks high low)
     (with-current-buffer nntp-server-buffer
       (when result
-       (if (and dont-check
-                (setq active (nth 2 (assoc group nnimap-current-infos))))
-           (insert (format "211 %d %d %d %S\n"
-                           (- (cdr active) (car active))
-                           (car active)
-                           (cdr active)
-                           group))
-         (with-current-buffer (nnimap-buffer)
-           (erase-buffer)
-           (let ((group-sequence
-                  (nnimap-send-command "SELECT %S" (utf7-encode group t)))
-                 (flag-sequence
-                  (nnimap-send-command "UID FETCH 1:* FLAGS")))
-             (setf (nnimap-group nnimap-object) group)
-             (nnimap-wait-for-response flag-sequence)
-             (setq marks
-                   (nnimap-flags-to-marks
-                    (nnimap-parse-flags
-                     (list (list group-sequence flag-sequence
-                                 1 group "SELECT")))))
-             (when (and info
-                        marks)
-               (nnimap-update-infos marks (list info))
-               (nnimap-store-info info (gnus-active (gnus-info-group info))))
-             (goto-char (point-max))
-             (let ((uidnext (nth 5 (car marks))))
-               (setq high (or (if uidnext
-                                   (1- uidnext)
-                                 (nth 3 (car marks)))
-                               0)
-                     low (or (nth 4 (car marks)) uidnext 1)))))
-         (erase-buffer)
-         (insert
-          (format
-           "211 %d %d %d %S\n" (1+ (- high low)) low high group)))
+       (when (or (not dont-check)
+                 (not (setq active
+                            (nth 2 (assoc group nnimap-current-infos)))))
+         (let ((sequences (nnimap-retrieve-group-data-early
+                           server (list info))))
+           (nnimap-finish-retrieve-group-infos server (list info) sequences
+                                               t)
+           (setq active (nth 2 (assoc group nnimap-current-infos)))))
+       (insert (format "211 %d %d %d %S\n"
+                       (- (cdr active) (car active))
+                       (car active)
+                       (cdr active)
+                       group))
        t))))
 
+(deffoo nnimap-request-scan-group (group &optional server info)
+  (setq group (nnimap-decode-gnus-group group))
+  (let (marks high low)
+    (with-current-buffer (nnimap-buffer)
+      (erase-buffer)
+      (let ((group-sequence
+            (nnimap-send-command "SELECT %S" (utf7-encode group t)))
+           (flag-sequence
+            (nnimap-send-command "UID FETCH 1:* FLAGS")))
+       (setf (nnimap-group nnimap-object) group)
+       (nnimap-wait-for-response flag-sequence)
+       (setq marks
+             (nnimap-flags-to-marks
+              (nnimap-parse-flags
+               (list (list group-sequence flag-sequence
+                           1 group "SELECT")))))
+       (when (and info
+                  marks)
+         (nnimap-update-infos marks (list info))
+         (nnimap-store-info info (gnus-active (gnus-info-group info))))
+       (goto-char (point-max))
+       (let ((uidnext (nth 5 (car marks))))
+         (setq high (or (if uidnext
+                            (1- uidnext)
+                          (nth 3 (car marks)))
+                        0)
+               low (or (nth 4 (car marks)) uidnext 1)))))
+    (with-current-buffer nntp-server-buffer
+      (erase-buffer)
+      (insert
+       (format
+       "211 %d %d %d %S\n" (1+ (- high low)) low high group))
+      t)))
+
 (deffoo nnimap-request-create-group (group &optional server args)
   (setq group (nnimap-decode-gnus-group group))
   (when (nnimap-change-group nil server)
@@ -1122,8 +1146,11 @@ If LIMIT, first try to limit the search to the N last 
articles."
     (setq group
          (caar
           (nnmail-article-group
+           ;; We don't really care about the article number, because
+           ;; that's determined by the IMAP server later.  So just
+           ;; return the group name.
            `(lambda (group)
-              (nnml-active-number group ,server))))))
+              (list (list group)))))))
   (setq group (nnimap-decode-gnus-group group))
   (when (nnimap-change-group nil server)
     (nnmail-check-syntax)
@@ -1371,7 +1398,8 @@ If LIMIT, first try to limit the search to the N last 
articles."
        command
       (nth 2 quirk))))
 
-(deffoo nnimap-finish-retrieve-group-infos (server infos sequences)
+(deffoo nnimap-finish-retrieve-group-infos (server infos sequences
+                                                  &optional dont-insert)
   (when (and sequences
             (nnimap-change-group nil server t)
             ;; Check that the process is still alive.
@@ -1391,19 +1419,20 @@ If LIMIT, first try to limit the search to the N last 
articles."
                              (nnimap-parse-flags
                               (nreverse sequences)))
                             infos)
-       ;; Finally, just return something resembling an active file in
-       ;; the nntp buffer, so that the agent can save the info, too.
-       (with-current-buffer nntp-server-buffer
-         (erase-buffer)
-         (dolist (info infos)
-           (let* ((group (gnus-info-group info))
-                  (active (gnus-active group)))
-             (when active
-               (insert (format "%S %d %d y\n"
-                               (decode-coding-string
-                                (gnus-group-real-name group) 'utf-8)
-                               (cdr active)
-                               (car active)))))))))))
+       (unless dont-insert
+         ;; Finally, just return something resembling an active file in
+         ;; the nntp buffer, so that the agent can save the info, too.
+         (with-current-buffer nntp-server-buffer
+           (erase-buffer)
+           (dolist (info infos)
+             (let* ((group (gnus-info-group info))
+                    (active (gnus-active group)))
+               (when active
+                 (insert (format "%S %d %d y\n"
+                                 (decode-coding-string
+                                  (gnus-group-real-name group) 'utf-8)
+                                 (cdr active)
+                                 (car active))))))))))))
 
 (defun nnimap-update-infos (flags infos)
   (dolist (info infos)
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index 879eb53..ec7a0ba 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -1430,24 +1430,23 @@ Differences in #targets are ignored."
 (defvar eww-bookmarks nil)
 
 (defun eww-add-bookmark ()
-  "Add the current page to the bookmarks."
+  "Bookmark the current page."
   (interactive)
   (eww-read-bookmarks)
   (dolist (bookmark eww-bookmarks)
     (when (equal (plist-get eww-data :url) (plist-get bookmark :url))
       (user-error "Already bookmarked")))
-  (if (y-or-n-p "bookmark this page? ")
-      (progn
-       (let ((title (replace-regexp-in-string "[\n\t\r]" " "
-                                              (plist-get eww-data :title))))
-         (setq title (replace-regexp-in-string "\\` +\\| +\\'" "" title))
-         (push (list :url (plist-get eww-data :url)
-                     :title title
-                     :time (current-time-string))
-               eww-bookmarks))
-       (eww-write-bookmarks)
-       (message "Bookmarked %s (%s)" (plist-get eww-data :url)
-                (plist-get eww-data :title)))))
+  (when (y-or-n-p "Bookmark this page?")
+    (let ((title (replace-regexp-in-string "[\n\t\r]" " "
+                                          (plist-get eww-data :title))))
+      (setq title (replace-regexp-in-string "\\` +\\| +\\'" "" title))
+      (push (list :url (plist-get eww-data :url)
+                 :title title
+                 :time (current-time-string))
+           eww-bookmarks))
+    (eww-write-bookmarks)
+    (message "Bookmarked %s (%s)" (plist-get eww-data :url)
+            (plist-get eww-data :title))))
 
 (defun eww-write-bookmarks ()
   (with-temp-file (expand-file-name "eww-bookmarks" eww-bookmarks-directory)
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index feb934c..a0c9eba 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -1660,7 +1660,7 @@ The preference is a float determined from 
`shr-prefer-media-type'."
                        (aref widths width-column)
                      10))
              (when (and fill
-                        (setq colspan (dom-attr column colspan)))
+                        (setq colspan (dom-attr column 'colspan)))
                (setq colspan (min (string-to-number colspan)
                                   ;; The colspan may be wrong, so
                                   ;; truncate it to the length of the
diff --git a/src/ChangeLog b/src/ChangeLog
index b137045..eb823b3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,59 @@
+2015-01-26  Andreas Schwab  <address@hidden>
+
+       * image.c (lookup_pixel_color): Reorder conditions that are
+       written backwards.
+       (x_to_xcolors): Likewise.
+       (x_detect_edges): Likewise.
+       (png_load_body): Likewise.
+       (gif_close): Likewise.
+       (gif_load): Likewise.
+
+2015-01-25  Eli Zaretskii  <address@hidden>
+
+       Use bool for boolean in w32term.c
+       * w32term.c (x_update_window_begin, x_update_window_end)
+       (x_update_end, x_after_update_window_line)
+       (x_set_glyph_string_gc, x_draw_glyph_string_background)
+       (x_draw_glyph_string_foreground)
+       (x_draw_composite_glyph_string_foreground)
+       (x_draw_glyphless_glyph_string_foreground)
+       (x_draw_image_glyph_string, x_draw_glyph_string)
+       (x_draw_stretch_glyph_string, note_mouse_movement)
+       (w32_mouse_position, x_scroll_bar_report_motion)
+       (x_horizontal_scroll_bar_report_motion, w32_read_socket)
+       (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
+       (w32_draw_window_cursor, x_new_font, x_set_offset)
+       (x_set_window_size, x_make_frame_invisible, x_iconify_frame): Use
+       bool where appropriate.
+
+       Use bool for boolean in w32fns.c
+       * w32fns.c (w32_defined_color, x_decode_color)
+       (Fxw_color_defined_p, Fxw_color_values, x_set_icon_type)
+       (x_set_menu_bar_lines, x_change_tool_bar_height)
+       (x_set_internal_border_width, x_explicitly_set_name)
+       (x_implicitly_set_name, Fx_create_frame, w32_window)
+       (x_create_tip_frame, Fx_show_tip): Use bool where appropriate.
+
 2015-01-25  Paul Eggert  <address@hidden>
 
+       Use bool for boolean in xfns.c
+       * xfaces.c (x_update_menu_appearance):
+       * xfns.c (x_real_positions, x_defined_color, x_decode_color)
+       (xg_set_icon, xg_set_icon_from_xpm_data, x_set_cursor_color)
+       (x_set_icon_type, x_set_icon_name, x_set_menu_bar_lines)
+       (x_change_tool_bar_height, x_set_internal_border_width)
+       (x_encode_text, x_set_name_internal, x_explicitly_set_name)
+       (x_implicitly_set_name, x_default_scroll_bar_color_parameter)
+       (hack_wm_protocols, xic_create_fontsetname, xic_free_xfontset)
+       (x_window, x_icon, Fx_wm_set_size_hint, Fx_create_frame)
+       (Fxw_color_defined_p, Fxw_color_values, x_create_tip_frame)
+       (Fx_show_tip, clean_up_file_dialog, Fx_file_dialog)
+       (clean_up_dialog, syms_of_xfns):
+       * xterm.h (xg_set_icon, xg_set_icon_from_xpm_data)
+       (xic_create_fontsetname):
+       Use bool for boolean.
+       * xfns.c: Include bitmaps/gray.xbm unconditionally.
+
        Count MANY function args more reliably
        * alloc.c (Fgc_status, purecopy, unbind_to, garbage_collect_1):
        * buffer.c (Fbuffer_list, Fkill_buffer):
diff --git a/src/image.c b/src/image.c
index 9c09c55..df299bb 100644
--- a/src/image.c
+++ b/src/image.c
@@ -4423,7 +4423,7 @@ lookup_pixel_color (struct frame *f, unsigned long pixel)
       Colormap cmap;
       bool rc;
 
-      if (ct_colors_allocated_max <= ct_colors_allocated)
+      if (ct_colors_allocated >= ct_colors_allocated_max)
        return FRAME_FOREGROUND_PIXEL (f);
 
 #ifdef HAVE_X_WINDOWS
@@ -4554,7 +4554,7 @@ x_to_xcolors (struct frame *f, struct image *img, bool 
rgb_p)
   HGDIOBJ prev;
 #endif /* HAVE_NTGUI */
 
-  if (min (PTRDIFF_MAX, SIZE_MAX) / sizeof *colors / img->width < img->height)
+  if (img->height > min (PTRDIFF_MAX, SIZE_MAX) / sizeof *colors / img->width)
     memory_full (SIZE_MAX);
   colors = xmalloc (sizeof *colors * img->width * img->height);
 
@@ -4695,7 +4695,7 @@ x_detect_edges (struct frame *f, struct image *img, int 
*matrix, int color_adjus
 
 #define COLOR(A, X, Y) ((A) + (Y) * img->width + (X))
 
-  if (min (PTRDIFF_MAX, SIZE_MAX) / sizeof *new / img->width < img->height)
+  if (img->height > min (PTRDIFF_MAX, SIZE_MAX) / sizeof *new / img->width)
     memory_full (SIZE_MAX);
   new = xmalloc (sizeof *new * img->width * img->height);
 
@@ -5917,8 +5917,8 @@ png_load_body (struct frame *f, struct image *img, struct 
png_load_context *c)
   row_bytes = png_get_rowbytes (png_ptr, info_ptr);
 
   /* Allocate memory for the image.  */
-  if (min (PTRDIFF_MAX, SIZE_MAX) / sizeof *rows < height
-      || min (PTRDIFF_MAX, SIZE_MAX) / sizeof *pixels / height < row_bytes)
+  if (height > min (PTRDIFF_MAX, SIZE_MAX) / sizeof *rows
+      || row_bytes > min (PTRDIFF_MAX, SIZE_MAX) / sizeof *pixels / height)
     memory_full (SIZE_MAX);
   c->pixels = pixels = xmalloc (sizeof *pixels * row_bytes * height);
   c->rows = rows = xmalloc (height * sizeof *rows);
@@ -7235,7 +7235,7 @@ gif_image_p (Lisp_Object object)
 # ifdef WINDOWSNT
 
 /* GIF library details.  */
-#  if 5 < GIFLIB_MAJOR + (1 <= GIFLIB_MINOR)
+#  if GIFLIB_MAJOR + (GIFLIB_MINOR >= 1) > 5
 DEF_DLL_FN (int, DGifCloseFile, (GifFileType *, int *));
 #   else
 DEF_DLL_FN (int, DGifCloseFile, (GifFileType *));
@@ -7316,7 +7316,7 @@ gif_close (GifFileType *gif, int *err)
 {
   int retval;
 
-#if 5 < GIFLIB_MAJOR + (1 <= GIFLIB_MINOR)
+#if GIFLIB_MAJOR + (GIFLIB_MINOR >= 1) > 5
   retval = DGifCloseFile (gif, err);
 #else
   retval = DGifCloseFile (gif);
@@ -7471,7 +7471,7 @@ gif_load (struct frame *f, struct image *img)
       int subimg_height = subimage->ImageDesc.Height;
       int subimg_top = subimage->ImageDesc.Top;
       int subimg_left = subimage->ImageDesc.Left;
-      if (! (0 <= subimg_width && 0 <= subimg_height
+      if (! (subimg_width >= 0 && subimg_height >= 0
             && 0 <= subimg_top && subimg_top <= height - subimg_height
             && 0 <= subimg_left && subimg_left <= width - subimg_width))
        {
diff --git a/src/w32fns.c b/src/w32fns.c
index 55e5829..c269c4f 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -1133,7 +1133,8 @@ gamma_correct (struct frame *f, COLORREF *color)
    If ALLOC is nonzero, allocate a new colormap cell.  */
 
 int
-w32_defined_color (struct frame *f, const char *color, XColor *color_def, int 
alloc)
+w32_defined_color (struct frame *f, const char *color, XColor *color_def,
+                  bool alloc_p)
 {
   register Lisp_Object tem;
   COLORREF w32_color_ref;
@@ -1167,7 +1168,7 @@ w32_defined_color (struct frame *f, const char *color, 
XColor *color_def, int al
              entry = entry->next;
            }
 
-         if (entry == NULL && alloc)
+         if (entry == NULL && alloc_p)
            {
              /* not already mapped, so add to list */
              entry = xmalloc (sizeof (struct w32_palette_entry));
@@ -1220,7 +1221,7 @@ x_decode_color (struct frame *f, Lisp_Object arg, int def)
 
   /* w32_defined_color is responsible for coping with failures
      by looking for a near-miss.  */
-  if (w32_defined_color (f, SDATA (arg), &cdef, 1))
+  if (w32_defined_color (f, SDATA (arg), &cdef, true))
     return cdef.pixel;
 
   /* defined_color failed; return an ultimate default.  */
@@ -1524,7 +1525,7 @@ x_set_cursor_type (struct frame *f, Lisp_Object arg, 
Lisp_Object oldval)
 void
 x_set_icon_type (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 {
-  int result;
+  bool result;
 
   if (NILP (arg) && NILP (oldval))
     return;
@@ -1632,7 +1633,7 @@ x_set_internal_border_width (struct frame *f, Lisp_Object 
arg, Lisp_Object oldva
 
       if (FRAME_X_WINDOW (f) != 0)
        {
-         adjust_frame_size (f, -1, -1, 3, 0, Qinternal_border_width);
+         adjust_frame_size (f, -1, -1, 3, false, Qinternal_border_width);
 
          if (FRAME_VISIBLE_P (f))
            x_clear_under_internal_border (f);
@@ -1678,7 +1679,7 @@ x_set_menu_bar_lines (struct frame *f, Lisp_Object value, 
Lisp_Object oldval)
         of the outer rectangle (including decorations) unchanged, and a
         second time because we want to keep the height of the inner
         rectangle (without the decorations unchanged).  */
-      adjust_frame_size (f, -1, -1, 2, 1, Qmenu_bar_lines);
+      adjust_frame_size (f, -1, -1, 2, true, Qmenu_bar_lines);
 
       /* Not sure whether this is needed.  */
       x_clear_under_internal_border (f);
@@ -1748,7 +1749,7 @@ x_change_tool_bar_height (struct frame *f, int height)
                     (!f->tool_bar_redisplayed_once ? 1
                      : (old_height == 0 || height == 0) ? 2
                      : 4),
-                    0, Qtool_bar_lines);
+                    false, Qtool_bar_lines);
 
   /* adjust_frame_size might not have done anything, garbage frame
      here.  */
@@ -1771,7 +1772,7 @@ x_change_tool_bar_height (struct frame *f, int height)
        F->explicit_name is set, ignore the new name; otherwise, set it.  */
 
 void
-x_set_name (struct frame *f, Lisp_Object name, int explicit)
+x_set_name (struct frame *f, Lisp_Object name, bool explicit)
 {
   /* Make sure that requests from lisp code override requests from
      Emacs redisplay code.  */
@@ -1826,7 +1827,7 @@ x_set_name (struct frame *f, Lisp_Object name, int 
explicit)
 void
 x_explicitly_set_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 {
-  x_set_name (f, arg, 1);
+  x_set_name (f, arg, true);
 }
 
 /* This function should be called by Emacs redisplay code to set the
@@ -1835,7 +1836,7 @@ x_explicitly_set_name (struct frame *f, Lisp_Object arg, 
Lisp_Object oldval)
 void
 x_implicitly_set_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 {
-  x_set_name (f, arg, 0);
+  x_set_name (f, arg, false);
 }
 
 /* Change the title of frame F to NAME.
@@ -4199,7 +4200,7 @@ my_create_tip_window (struct frame *f)
 /* Create and set up the w32 window for frame F.  */
 
 static void
-w32_window (struct frame *f, long window_prompting, int minibuffer_only)
+w32_window (struct frame *f, long window_prompting, bool minibuffer_only)
 {
   block_input ();
 
@@ -4418,7 +4419,7 @@ This function is an internal primitive--use `make-frame' 
instead.  */)
   struct frame *f;
   Lisp_Object frame, tem;
   Lisp_Object name;
-  int minibuffer_only = 0;
+  bool minibuffer_only = false;
   long window_prompting = 0;
   ptrdiff_t count = SPECPDL_INDEX ();
   struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
@@ -4478,12 +4479,12 @@ This function is an internal primitive--use 
`make-frame' instead.  */)
   else if (EQ (tem, Qonly))
     {
       f = make_minibuffer_frame ();
-      minibuffer_only = 1;
+      minibuffer_only = true;
     }
   else if (WINDOWP (tem))
     f = make_frame_without_minibuffer (tem, kb, display);
   else
-    f = make_frame (1);
+    f = make_frame (true);
 
   XSETFRAME (frame, f);
 
@@ -4520,12 +4521,12 @@ This function is an internal primitive--use 
`make-frame' instead.  */)
       /* Cast to UINT_PTR shuts up compiler warnings about cast to
         pointer from integer of different size.  */
       f->output_data.w32->parent_desc = (Window) (UINT_PTR) XFASTINT (parent);
-      f->output_data.w32->explicit_parent = 1;
+      f->output_data.w32->explicit_parent = true;
     }
   else
     {
       f->output_data.w32->parent_desc = FRAME_DISPLAY_INFO (f)->root_window;
-      f->output_data.w32->explicit_parent = 0;
+      f->output_data.w32->explicit_parent = false;
     }
 
   /* Set the name; the functions to which we pass f expect the name to
@@ -4533,12 +4534,12 @@ This function is an internal primitive--use 
`make-frame' instead.  */)
   if (EQ (name, Qunbound) || NILP (name))
     {
       fset_name (f, build_string (dpyinfo->w32_id_name));
-      f->explicit_name = 0;
+      f->explicit_name = false;
     }
   else
     {
       fset_name (f, name);
-      f->explicit_name = 1;
+      f->explicit_name = true;
       /* Use the frame's title when getting resources for this frame.  */
       specbind (Qx_resource_name, name);
     }
@@ -4616,7 +4617,7 @@ This function is an internal primitive--use `make-frame' 
instead.  */)
      had one frame line vs one toolbar line which left us with a zero
      root window height which was obviously wrong as well ...  */
   adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
-                    FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 5, 1,
+                    FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 5, true,
                     Qx_create_frame_1);
 
   /* The X resources controlling the menu-bar and tool-bar are
@@ -4651,7 +4652,7 @@ This function is an internal primitive--use `make-frame' 
instead.  */)
 
   f->output_data.w32->current_cursor = f->output_data.w32->nontext_cursor;
 
-  window_prompting = x_figure_window_size (f, parameters, 1);
+  window_prompting = x_figure_window_size (f, parameters, true);
 
   tem = x_get_arg (dpyinfo, parameters, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN);
   f->no_split = minibuffer_only || EQ (tem, Qt);
@@ -4685,14 +4686,14 @@ This function is an internal primitive--use 
`make-frame' instead.  */)
   /* Allow x_set_window_size, now.  */
   f->can_x_set_window_size = true;
 
-  adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, 1,
+  adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, true,
                     Qx_create_frame_2);
 
   /* Tell the server what size and position, etc, we want, and how
      badly we want them.  This should be done after we have the menu
      bar so that its size can be taken into account.  */
   block_input ();
-  x_wm_set_size_hint (f, window_prompting, 0);
+  x_wm_set_size_hint (f, window_prompting, false);
   unblock_input ();
 
   /* Make the window appear on the frame and enable display, unless
@@ -4762,7 +4763,7 @@ DEFUN ("xw-color-defined-p", Fxw_color_defined_p, 
Sxw_color_defined_p, 1, 2, 0,
 
   CHECK_STRING (color);
 
-  if (w32_defined_color (f, SDATA (color), &foo, 0))
+  if (w32_defined_color (f, SDATA (color), &foo, false))
     return Qt;
   else
     return Qnil;
@@ -4777,7 +4778,7 @@ DEFUN ("xw-color-values", Fxw_color_values, 
Sxw_color_values, 1, 2, 0,
 
   CHECK_STRING (color);
 
-  if (w32_defined_color (f, SDATA (color), &foo, 0))
+  if (w32_defined_color (f, SDATA (color), &foo, false))
     return list3i ((GetRValue (foo.pixel) << 8) | GetRValue (foo.pixel),
                   (GetGValue (foo.pixel) << 8) | GetGValue (foo.pixel),
                   (GetBValue (foo.pixel) << 8) | GetBValue (foo.pixel));
@@ -5647,7 +5648,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo,
   frame = Qnil;
   GCPRO3 (parms, name, frame);
   /* Make a frame without minibuffer nor mode-line.  */
-  f = make_frame (0);
+  f = make_frame (false);
   f->wants_modeline = 0;
   XSETFRAME (frame, f);
 
@@ -5655,7 +5656,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo,
   buffer = Fget_buffer_create (tip);
   /* Use set_window_buffer instead of Fset_window_buffer (see
      discussion of bug#11984, bug#12025, bug#12026).  */
-  set_window_buffer (FRAME_ROOT_WINDOW (f), buffer, 0, 0);
+  set_window_buffer (FRAME_ROOT_WINDOW (f), buffer, false, false);
   old_buffer = current_buffer;
   set_buffer_internal_1 (XBUFFER (buffer));
   bset_truncate_lines (current_buffer, Qnil);
@@ -5685,19 +5686,19 @@ x_create_tip_frame (struct w32_display_info *dpyinfo,
 #endif /* GLYPH_DEBUG */
   FRAME_KBOARD (f) = kb;
   f->output_data.w32->parent_desc = FRAME_DISPLAY_INFO (f)->root_window;
-  f->output_data.w32->explicit_parent = 0;
+  f->output_data.w32->explicit_parent = false;
 
   /* Set the name; the functions to which we pass f expect the name to
      be set.  */
   if (EQ (name, Qunbound) || NILP (name))
     {
       fset_name (f, build_string (dpyinfo->w32_id_name));
-      f->explicit_name = 0;
+      f->explicit_name = false;
     }
   else
     {
       fset_name (f, name);
-      f->explicit_name = 1;
+      f->explicit_name = true;
       /* use the frame's title when getting resources for this frame.  */
       specbind (Qx_resource_name, name);
     }
@@ -5758,7 +5759,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo,
   f->output_data.w32->dwStyle = WS_BORDER | WS_POPUP | WS_DISABLED;
   f->output_data.w32->parent_desc = FRAME_DISPLAY_INFO (f)->root_window;
 
-  window_prompting = x_figure_window_size (f, parms, 0);
+  window_prompting = x_figure_window_size (f, parms, false);
 
   /* No fringes on tip frame.  */
   f->fringe_cols = 0;
@@ -5786,7 +5787,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo,
   SET_FRAME_COLS (f, 0);
   SET_FRAME_LINES (f, 0);
   adjust_frame_size (f, width * FRAME_COLUMN_WIDTH (f),
-                    height * FRAME_LINE_HEIGHT (f), 0, 1, Qnil);
+                    height * FRAME_LINE_HEIGHT (f), 0, true, Qnil);
 
   /* Add `tooltip' frame parameter's default value. */
   if (NILP (Fframe_parameter (frame, Qtooltip)))
@@ -5818,7 +5819,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo,
       Fmodify_frame_parameters (frame, colors);
   }
 
-  f->no_split = 1;
+  f->no_split = true;
 
   UNGCPRO;
 
@@ -5965,7 +5966,8 @@ Text larger than the specified size is clipped.  */)
   int root_x, root_y;
   struct buffer *old_buffer;
   struct text_pos pos;
-  int i, width, height, seen_reversed_p;
+  int i, width, height;
+  bool seen_reversed_p;
   struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
   int old_windows_or_buffers_changed = windows_or_buffers_changed;
   ptrdiff_t count = SPECPDL_INDEX ();
@@ -6094,7 +6096,7 @@ Text larger than the specified size is clipped.  */)
 
   FRAME_TOTAL_COLS (f) = WINDOW_TOTAL_COLS (w);
   adjust_frame_glyphs (f);
-  w->pseudo_window_p = 1;
+  w->pseudo_window_p = true;
 
   /* Display the tooltip text in a temporary buffer.  */
   old_buffer = current_buffer;
@@ -6106,7 +6108,8 @@ Text larger than the specified size is clipped.  */)
   try_window (FRAME_ROOT_WINDOW (f), pos, TRY_WINDOW_IGNORE_FONTS_CHANGE);
 
   /* Compute width and height of the tooltip.  */
-  width = height = seen_reversed_p = 0;
+  width = height = 0;
+  seen_reversed_p = false;
   for (i = 0; i < w->desired_matrix->nrows; ++i)
     {
       struct glyph_row *row = &w->desired_matrix->rows[i];
@@ -6118,7 +6121,7 @@ Text larger than the specified size is clipped.  */)
        break;
 
       /* Let the row go over the full width of the frame.  */
-      row->full_width_p = 1;
+      row->full_width_p = true;
 
       row_width = row->pixel_width;
       if (row->used[TEXT_AREA])
@@ -6142,7 +6145,7 @@ Text larger than the specified size is clipped.  */)
              if (g->type == STRETCH_GLYPH && NILP (g->object))
                {
                  row_width -= g->pixel_width;
-                 seen_reversed_p = 1;
+                 seen_reversed_p = true;
                }
            }
        }
@@ -6183,7 +6186,7 @@ Text larger than the specified size is clipped.  */)
 
          if (!row->enabled_p || !MATRIX_ROW_DISPLAYS_TEXT_P (row))
            break;
-         row->full_width_p = 1;
+         row->full_width_p = true;
          row_width = row->pixel_width;
          if (row->used[TEXT_AREA] && !row->reversed_p)
            {
diff --git a/src/w32term.c b/src/w32term.c
index ce28e05..251c46c 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -559,7 +559,7 @@ x_update_window_begin (struct window *w)
   if (f == hlinfo->mouse_face_mouse_frame)
     {
       /* Don't do highlighting for mouse motion during the update.  */
-      hlinfo->mouse_face_defer = 1;
+      hlinfo->mouse_face_defer = true;
 
       /* If F needs to be redrawn, simply forget about any prior mouse
         highlighting.  */
@@ -682,11 +682,11 @@ x_update_window_end (struct window *w, bool cursor_on_p,
       block_input ();
 
       if (cursor_on_p)
-       display_and_set_cursor (w, 1,
+       display_and_set_cursor (w, true,
                                w->output_cursor.hpos, w->output_cursor.vpos,
                                w->output_cursor.x, w->output_cursor.y);
 
-      if (draw_window_fringes (w, 1))
+      if (draw_window_fringes (w, true))
        {
          if (WINDOW_RIGHT_DIVIDER_WIDTH (w))
            x_draw_right_divider (w);
@@ -728,7 +728,7 @@ x_update_end (struct frame *f)
     return;
 
   /* Mouse highlight may be displayed again.  */
-  MOUSE_HL_INFO (f)->mouse_face_defer = 0;
+  MOUSE_HL_INFO (f)->mouse_face_defer = false;
 }
 
 
@@ -758,7 +758,7 @@ x_after_update_window_line (struct window *w, struct 
glyph_row *desired_row)
   eassert (w);
 
   if (!desired_row->mode_line_p && !w->pseudo_window_p)
-    desired_row->redraw_fringe_bitmaps_p = 1;
+    desired_row->redraw_fringe_bitmaps_p = true;
 
   /* When a window has disappeared, make sure that no rest of
      full-width rows stays visible in the internal border.  Could
@@ -903,7 +903,7 @@ w32_destroy_fringe_bitmap (int which)
 static void x_set_glyph_string_clipping (struct glyph_string *);
 static void x_set_glyph_string_gc (struct glyph_string *);
 static void x_draw_glyph_string_background (struct glyph_string *,
-                                            int);
+                                            bool);
 static void x_draw_glyph_string_foreground (struct glyph_string *);
 static void x_draw_composite_glyph_string_foreground (struct glyph_string *);
 static void x_draw_glyph_string_box (struct glyph_string *);
@@ -925,7 +925,7 @@ static void w32_draw_relief_rect (struct frame *, int, int, 
int, int,
                                   int, int, int, int, int, int,
                                   RECT *);
 static void w32_draw_box_rect (struct glyph_string *, int, int, int, int,
-                               int, int, int, RECT *);
+                               int, bool, bool, RECT *);
 
 
 /* Set S->gc to a suitable GC for drawing glyph string S in cursor
@@ -1064,7 +1064,7 @@ x_set_glyph_string_gc (struct glyph_string *s)
   else if (s->hl == DRAW_CURSOR)
     {
       x_set_cursor_gc (s);
-      s->stippled_p = 0;
+      s->stippled_p = false;
     }
   else if (s->hl == DRAW_MOUSE_FACE)
     {
@@ -1190,7 +1190,7 @@ x_clear_glyph_string_rect (struct glyph_string *s,
    contains the first component of a composition.  */
 
 static void
-x_draw_glyph_string_background (struct glyph_string *s, int force_p)
+x_draw_glyph_string_background (struct glyph_string *s, bool force_p)
 {
   /* Nothing to do if background has already been drawn or if it
      shouldn't be drawn in the first place.  */
@@ -1208,7 +1208,7 @@ x_draw_glyph_string_background (struct glyph_string *s, 
int force_p)
                          s->background_width,
                          s->height - 2 * box_line_width);
          XSetFillStyle (s->display, s->gc, FillSolid);
-         s->background_filled_p = 1;
+         s->background_filled_p = true;
        }
       else
 #endif
@@ -1220,7 +1220,7 @@ x_draw_glyph_string_background (struct glyph_string *s, 
int force_p)
          x_clear_glyph_string_rect (s, s->x, s->y + box_line_width,
                                     s->background_width,
                                     s->height - 2 * box_line_width);
-         s->background_filled_p = 1;
+         s->background_filled_p = true;
        }
     }
 }
@@ -1273,11 +1273,11 @@ x_draw_glyph_string_foreground (struct glyph_string *s)
       y = s->ybase - boff;
       if (s->for_overlaps
          || (s->background_filled_p && s->hl != DRAW_CURSOR))
-       font->driver->draw (s, 0, s->nchars, x, y, 0);
+       font->driver->draw (s, 0, s->nchars, x, y, false);
       else
-       font->driver->draw (s, 0, s->nchars, x, y, 1);
+       font->driver->draw (s, 0, s->nchars, x, y, true);
       if (s->face->overstrike)
-       font->driver->draw (s, 0, s->nchars, x + 1, y, 0);
+       font->driver->draw (s, 0, s->nchars, x + 1, y, false);
 
       SelectObject (s->hdc, old_font);
     }
@@ -1331,9 +1331,9 @@ x_draw_composite_glyph_string_foreground (struct 
glyph_string *s)
            int xx = x + s->cmp->offsets[j * 2];
            int yy = y - s->cmp->offsets[j * 2 + 1];
 
-           font->driver->draw (s, j, j + 1, xx, yy, 0);
+           font->driver->draw (s, j, j + 1, xx, yy, false);
            if (s->face->overstrike)
-             font->driver->draw (s, j, j + 1, xx + 1, yy, 0);
+             font->driver->draw (s, j, j + 1, xx + 1, yy, false);
          }
       SelectObject (s->hdc, old_font);
     }
@@ -1358,20 +1358,20 @@ x_draw_composite_glyph_string_foreground (struct 
glyph_string *s)
 
              if (j < i)
                {
-                 font->driver->draw (s, j, i, x, y, 0);
+                 font->driver->draw (s, j, i, x, y, false);
                  x += width;
                }
              xoff = LGLYPH_XOFF (glyph);
              yoff = LGLYPH_YOFF (glyph);
              wadjust = LGLYPH_WADJUST (glyph);
-             font->driver->draw (s, i, i + 1, x + xoff, y + yoff, 0);
+             font->driver->draw (s, i, i + 1, x + xoff, y + yoff, false);
              x += wadjust;
              j = i + 1;
              width = 0;
            }
        }
       if (j < i)
-       font->driver->draw (s, j, i, x, y, 0);
+       font->driver->draw (s, j, i, x, y, false);
 
       SelectObject (s->hdc, old_font);
     }
@@ -1386,7 +1386,7 @@ x_draw_glyphless_glyph_string_foreground (struct 
glyph_string *s)
   struct glyph *glyph = s->first_glyph;
   XChar2b char2b[8];
   int x, i, j;
-  int with_background;
+  bool with_background;
 
   /* If first glyph of S has a left box line, start drawing the text
      of S to the right of that box line.  */
@@ -1401,8 +1401,8 @@ x_draw_glyphless_glyph_string_foreground (struct 
glyph_string *s)
   SetTextAlign (s->hdc, TA_BASELINE | TA_LEFT);
 
   s->char2b = char2b;
-  with_background = ! (s->for_overlaps
-                      || (s->background_filled_p && s->hl != DRAW_CURSOR));
+  with_background = ((s->for_overlaps
+                     || (s->background_filled_p && s->hl != DRAW_CURSOR))) == 
0;
   for (i = 0; i < s->nchars; i++, glyph++)
     {
       char buf[7], *str = NULL;
@@ -1712,7 +1712,7 @@ w32_draw_relief_rect (struct frame *f,
 static void
 w32_draw_box_rect (struct glyph_string *s,
                   int left_x, int top_y, int right_x, int bottom_y, int width,
-                   int left_p, int right_p, RECT *clip_rect)
+                   bool left_p, bool right_p, RECT *clip_rect)
 {
   w32_set_clip_rectangle (s->hdc, clip_rect);
 
@@ -1747,8 +1747,8 @@ w32_draw_box_rect (struct glyph_string *s,
 static void
 x_draw_glyph_string_box (struct glyph_string *s)
 {
-  int width, left_x, right_x, top_y, bottom_y, last_x, raised_p;
-  int left_p, right_p;
+  int width, left_x, right_x, top_y, bottom_y, last_x;
+  bool left_p, right_p, raised_p;
   struct glyph *last_glyph;
   RECT clip_rect;
 
@@ -2157,7 +2157,7 @@ x_draw_image_glyph_string (struct glyph_string *s)
 #endif
        x_draw_glyph_string_bg_rect (s, x, y, width, height);
 
-      s->background_filled_p = 1;
+      s->background_filled_p = true;
     }
 
   /* Draw the foreground.  */
@@ -2293,7 +2293,7 @@ x_draw_stretch_glyph_string (struct glyph_string *s)
        x_draw_glyph_string_bg_rect (s, x, s->y, background_width, s->height);
     }
 
-  s->background_filled_p = 1;
+  s->background_filled_p = true;
 }
 
 
@@ -2321,7 +2321,7 @@ x_draw_glyph_string (struct glyph_string *s)
            if (next->first_glyph->type == STRETCH_GLYPH)
              x_draw_stretch_glyph_string (next);
            else
-             x_draw_glyph_string_background (next, 1);
+             x_draw_glyph_string_background (next, true);
             next->num_clips = 0;
           }
     }
@@ -2338,7 +2338,7 @@ x_draw_glyph_string (struct glyph_string *s)
 
     {
       x_set_glyph_string_clipping (s);
-      x_draw_glyph_string_background (s, 1);
+      x_draw_glyph_string_background (s, true);
       x_draw_glyph_string_box (s);
       x_set_glyph_string_clipping (s);
       relief_drawn_p = 1;
@@ -2366,26 +2366,26 @@ x_draw_glyph_string (struct glyph_string *s)
 
     case CHAR_GLYPH:
       if (s->for_overlaps)
-       s->background_filled_p = 1;
+       s->background_filled_p = true;
       else
-        x_draw_glyph_string_background (s, 0);
+        x_draw_glyph_string_background (s, false);
       x_draw_glyph_string_foreground (s);
       break;
 
     case COMPOSITE_GLYPH:
       if (s->for_overlaps || (s->cmp_from > 0
                              && ! s->first_glyph->u.cmp.automatic))
-       s->background_filled_p = 1;
+       s->background_filled_p = true;
       else
-       x_draw_glyph_string_background (s, 1);
+       x_draw_glyph_string_background (s, true);
       x_draw_composite_glyph_string_foreground (s);
       break;
 
     case GLYPHLESS_GLYPH:
       if (s->for_overlaps)
-       s->background_filled_p = 1;
+       s->background_filled_p = true;
       else
-       x_draw_glyph_string_background (s, 0);
+       x_draw_glyph_string_background (s, false);
       x_draw_glyphless_glyph_string_foreground (s);
       break;
 
@@ -3302,7 +3302,7 @@ note_mouse_movement (struct frame *frame, MSG *msg)
 
   if (msg->hwnd != FRAME_W32_WINDOW (frame))
     {
-      frame->mouse_moved = 1;
+      frame->mouse_moved = true;
       dpyinfo->last_mouse_scroll_bar = NULL;
       note_mouse_highlight (frame, -1, -1);
       dpyinfo->last_mouse_glyph_frame = NULL;
@@ -3315,7 +3315,7 @@ note_mouse_movement (struct frame *frame, MSG *msg)
       || mouse_x < r->left || mouse_x >= r->right
       || mouse_y < r->top  || mouse_y >= r->bottom)
     {
-      frame->mouse_moved = 1;
+      frame->mouse_moved = true;
       dpyinfo->last_mouse_scroll_bar = NULL;
       note_mouse_highlight (frame, mouse_x, mouse_y);
       /* Remember the mouse position here, as w32_mouse_position only
@@ -3399,7 +3399,7 @@ w32_mouse_position (struct frame **fp, int insist, 
Lisp_Object *bar_window,
 
       /* Clear the mouse-moved flag for every frame on this display.  */
       FOR_EACH_FRAME (tail, frame)
-       XFRAME (frame)->mouse_moved = 0;
+       XFRAME (frame)->mouse_moved = false;
 
       dpyinfo->last_mouse_scroll_bar = NULL;
 
@@ -3822,7 +3822,7 @@ w32_set_vertical_scroll_bar (struct window *w,
        }
       unblock_input ();
 
-      bar = x_scroll_bar_create (w, left, top, width, height, 0);
+      bar = x_scroll_bar_create (w, left, top, width, height, false);
     }
   else
     {
@@ -3922,7 +3922,7 @@ w32_set_horizontal_scroll_bar (struct window *w,
        }
       unblock_input ();
 
-      bar = x_scroll_bar_create (w, left, top, width, height, 1);
+      bar = x_scroll_bar_create (w, left, top, width, height, true);
     }
   else
     {
@@ -4405,7 +4405,7 @@ x_scroll_bar_report_motion (struct frame **fp, 
Lisp_Object *bar_window,
   XSETINT (*x, pos);
   XSETINT (*y, top_range);
 
-  f->mouse_moved = 0;
+  f->mouse_moved = false;
   dpyinfo->last_mouse_scroll_bar = NULL;
 
   *time = dpyinfo->last_mouse_movement_time;
@@ -4456,7 +4456,7 @@ x_horizontal_scroll_bar_report_motion (struct frame **fp, 
Lisp_Object *bar_windo
   XSETINT (*y, pos);
   XSETINT (*x, left_range);
 
-  f->mouse_moved = 0;
+  f->mouse_moved = false;
   dpyinfo->last_mouse_scroll_bar = NULL;
 
   *time = dpyinfo->last_mouse_movement_time;
@@ -4596,7 +4596,7 @@ w32_read_socket (struct terminal *terminal,
 
                  /* Definitely not obscured, so mark as visible.  */
                  SET_FRAME_VISIBLE (f, 1);
-                 SET_FRAME_ICONIFIED (f, 0);
+                 SET_FRAME_ICONIFIED (f, false);
                  SET_FRAME_GARBAGED (f);
                  if (!f->output_data.w32->asked_for_visible)
                    DebPrint (("frame %p (%s) reexposed by WM_PAINT\n", f,
@@ -4658,7 +4658,7 @@ w32_read_socket (struct terminal *terminal,
                  && !EQ (f->tool_bar_window, hlinfo->mouse_face_window))
                {
                  clear_mouse_face (hlinfo);
-                 hlinfo->mouse_face_hidden = 1;
+                 hlinfo->mouse_face_hidden = true;
                }
 
              if (temp_index == sizeof temp_buffer / sizeof (short))
@@ -4683,7 +4683,7 @@ w32_read_socket (struct terminal *terminal,
                  && !EQ (f->tool_bar_window, hlinfo->mouse_face_window))
                {
                  clear_mouse_face (hlinfo);
-                 hlinfo->mouse_face_hidden = 1;
+                 hlinfo->mouse_face_hidden = true;
                }
 
              if (temp_index == sizeof temp_buffer / sizeof (short))
@@ -4761,7 +4761,7 @@ w32_read_socket (struct terminal *terminal,
                  && !EQ (f->tool_bar_window, hlinfo->mouse_face_window))
                {
                  clear_mouse_face (hlinfo);
-                 hlinfo->mouse_face_hidden = 1;
+                 hlinfo->mouse_face_hidden = true;
                }
 
              if (temp_index == sizeof temp_buffer / sizeof (short))
@@ -4794,7 +4794,7 @@ w32_read_socket (struct terminal *terminal,
 
          if (hlinfo->mouse_face_hidden)
            {
-             hlinfo->mouse_face_hidden = 0;
+             hlinfo->mouse_face_hidden = false;
              clear_mouse_face (hlinfo);
            }
 
@@ -4913,7 +4913,7 @@ w32_read_socket (struct terminal *terminal,
                    the ButtonPress.  */
                 if (f != 0)
                  {
-                   f->mouse_moved = 0;
+                   f->mouse_moved = false;
                    if (!tool_bar_p)
                      f->last_tool_bar_item = -1;
                  }
@@ -4940,7 +4940,7 @@ w32_read_socket (struct terminal *terminal,
                   event; any subsequent mouse-movement Emacs events
                   should reflect only motion after the
                   ButtonPress.  */
-               f->mouse_moved = 0;
+               f->mouse_moved = false;
                f->last_tool_bar_item = -1;
              }
            dpyinfo->last_mouse_frame = f;
@@ -5041,7 +5041,7 @@ w32_read_socket (struct terminal *terminal,
                {
                case SIZE_MINIMIZED:
                  SET_FRAME_VISIBLE (f, 0);
-                 SET_FRAME_ICONIFIED (f, 1);
+                 SET_FRAME_ICONIFIED (f, true);
 
                  inev.kind = ICONIFY_EVENT;
                  XSETFRAME (inev.frame_or_window, f);
@@ -5052,7 +5052,7 @@ w32_read_socket (struct terminal *terminal,
                    bool iconified = FRAME_ICONIFIED_P (f);
 
                    SET_FRAME_VISIBLE (f, 1);
-                   SET_FRAME_ICONIFIED (f, 0);
+                   SET_FRAME_ICONIFIED (f, false);
 
                    /* wait_reading_process_output will notice this
                       and update the frame's display structures.  */
@@ -5099,7 +5099,7 @@ w32_read_socket (struct terminal *terminal,
                       conditional again in revision 116727.  martin */
                    if (iconified)
                      SET_FRAME_VISIBLE (f, 1);
-                   SET_FRAME_ICONIFIED (f, 0);
+                   SET_FRAME_ICONIFIED (f, false);
 
                    /* wait_reading_process_output will notice this
                       and update the frame's display structures.  */
@@ -5636,7 +5636,7 @@ w32_draw_window_cursor (struct window *w, struct 
glyph_row *glyph_row,
          w->phys_cursor_type = cursor_type;
        }
 
-      w->phys_cursor_on_p = 1;
+      w->phys_cursor_on_p = true;
 
       /* If this is the active cursor, we need to track it with the
         system caret, so third party software like screen magnifiers
@@ -5674,7 +5674,7 @@ w32_draw_window_cursor (struct window *w, struct 
glyph_row *glyph_row,
              ? (w->phys_cursor.hpos < 0)
              : (w->phys_cursor.hpos >= glyph_row->used[TEXT_AREA])))
        {
-         glyph_row->cursor_in_fringe_p = 1;
+         glyph_row->cursor_in_fringe_p = true;
          draw_fringe_bitmap (w, glyph_row, glyph_row->reversed_p);
          return;
        }
@@ -5838,7 +5838,8 @@ x_new_font (struct frame *f, Lisp_Object font_object, int 
fontset)
         problems because the tip frame has no widget.  */
       if (NILP (tip_frame) || XFRAME (tip_frame) != f)
        adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
-                          FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3, 0, 
Qfont);
+                          FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 3,
+                          false, Qfont);
     }
 
   /* X version sets font of input methods here also.  */
@@ -5945,7 +5946,7 @@ x_set_offset (struct frame *f, register int xoff, 
register int yoff,
   x_calc_absolute_position (f);
 
   block_input ();
-  x_wm_set_size_hint (f, (long) 0, 0);
+  x_wm_set_size_hint (f, (long) 0, false);
 
   modified_left = f->left_pos;
   modified_top = f->top_pos;
@@ -6140,7 +6141,7 @@ x_set_window_size (struct frame *f, bool change_gravity,
     }
 
   f->win_gravity = NorthWestGravity;
-  x_wm_set_size_hint (f, (long) 0, 0);
+  x_wm_set_size_hint (f, (long) 0, false);
 
   f->want_fullscreen = FULLSCREEN_NONE;
   w32fullscreen_hook (f);
@@ -6452,7 +6453,7 @@ x_make_frame_invisible (struct frame *f)
      FRAME_SAMPLE_VISIBILITY set this.  So do it by hand,
      and synchronize with the server to make sure we agree.  */
   SET_FRAME_VISIBLE (f, 0);
-  SET_FRAME_ICONIFIED (f, 0);
+  SET_FRAME_ICONIFIED (f, false);
 
   unblock_input ();
 }
@@ -6477,7 +6478,7 @@ x_iconify_frame (struct frame *f)
   SendMessage (FRAME_W32_WINDOW (f), WM_SYSCOMMAND, SC_MINIMIZE, 0);
 
   SET_FRAME_VISIBLE (f, 0);
-  SET_FRAME_ICONIFIED (f, 1);
+  SET_FRAME_ICONIFIED (f, true);
 
   unblock_input ();
 }
diff --git a/src/w32term.h b/src/w32term.h
index c905ef1..3532e95 100644
--- a/src/w32term.h
+++ b/src/w32term.h
@@ -239,7 +239,7 @@ Lisp_Object display_x_get_resource (struct w32_display_info 
*,
 extern struct w32_display_info *w32_term_init (Lisp_Object,
                                               char *, char *);
 extern int w32_defined_color (struct frame *f, const char *color,
-                              XColor *color_def, int alloc);
+                              XColor *color_def, bool alloc_p);
 extern void x_set_window_size (struct frame *f, bool change_gravity,
                               int width, int height, bool pixelwise);
 extern int x_display_pixel_height (struct w32_display_info *);
diff --git a/src/xfaces.c b/src/xfaces.c
index 1ba6b51..31048ae 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -3489,7 +3489,7 @@ x_update_menu_appearance (struct frame *f)
          Lisp_Object xlfd = Ffont_xlfd_name (LFACE_FONT (lface), Qnil);
 #ifdef USE_MOTIF
          const char *suffix = "List";
-         Bool motif = True;
+         bool motif = true;
 #else
 #if defined HAVE_X_I18N
 
@@ -3497,7 +3497,7 @@ x_update_menu_appearance (struct frame *f)
 #else
          const char *suffix = "";
 #endif
-         Bool motif = False;
+         bool motif = false;
 #endif
 
          if (! NILP (xlfd))
diff --git a/src/xfns.c b/src/xfns.c
index a09e4a6..9dd0086 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -46,12 +46,7 @@ along with GNU Emacs.  If not, see 
<http://www.gnu.org/licenses/>.  */
 #include <sys/types.h>
 #include <sys/stat.h>
 
-#if 1 /* Used to be #ifdef EMACS_BITMAP_FILES, but this should always work.  */
 #include "bitmaps/gray.xbm"
-#else
-#include <X11/bitmaps/gray>
-#endif
-
 #include "xsettings.h"
 
 #ifdef HAVE_XRANDR
@@ -182,7 +177,7 @@ x_real_positions (struct frame *f, int *xptr, int *yptr)
 {
   int win_x, win_y, outer_x IF_LINT (= 0), outer_y IF_LINT (= 0);
   int real_x = 0, real_y = 0;
-  int had_errors = 0;
+  bool had_errors = false;
   Window win = f->output_data.x->parent_desc;
   Atom actual_type;
   unsigned long actual_size, bytes_remaining;
@@ -386,7 +381,7 @@ bool
 x_defined_color (struct frame *f, const char *color_name,
                 XColor *color, bool alloc_p)
 {
-  bool success_p = 0;
+  bool success_p = false;
   Display *dpy = FRAME_X_DISPLAY (f);
   Colormap cmap = FRAME_X_COLORMAP (f);
 
@@ -415,9 +410,9 @@ x_decode_color (struct frame *f, Lisp_Object color_name, 
int mono_color)
 
   CHECK_STRING (color_name);
 
-#if 0 /* Don't do this.  It's wrong when we're not using the default
-        colormap, it makes freeing difficult, and it's probably not
-        an important optimization.  */
+#if false /* Don't do this.  It's wrong when we're not using the default
+            colormap, it makes freeing difficult, and it's probably not
+            an important optimization.  */
   if (strcmp (SDATA (color_name), "black") == 0)
     return BLACK_PIX_DEFAULT (f);
   else if (strcmp (SDATA (color_name), "white") == 0)
@@ -430,7 +425,7 @@ x_decode_color (struct frame *f, Lisp_Object color_name, 
int mono_color)
 
   /* x_defined_color is responsible for coping with failures
      by looking for a near-miss.  */
-  if (x_defined_color (f, SSDATA (color_name), &cdef, 1))
+  if (x_defined_color (f, SSDATA (color_name), &cdef, true))
     return cdef.pixel;
 
   signal_error ("Undefined color", color_name);
@@ -477,10 +472,10 @@ x_set_tool_bar_position (struct frame *f,
 /* Set icon from FILE for frame F.  By using GTK functions the icon
    may be any format that GdkPixbuf knows about, i.e. not just bitmaps.  */
 
-int
+bool
 xg_set_icon (struct frame *f, Lisp_Object file)
 {
-  int result = 0;
+  bool result = false;
   Lisp_Object found;
 
   found = x_find_image_file (file);
@@ -500,7 +495,7 @@ xg_set_icon (struct frame *f, Lisp_Object file)
                               pixbuf);
          g_object_unref (pixbuf);
 
-         result = 1;
+         result = true;
        }
       else
        g_error_free (err);
@@ -511,17 +506,17 @@ xg_set_icon (struct frame *f, Lisp_Object file)
   return result;
 }
 
-int
+bool
 xg_set_icon_from_xpm_data (struct frame *f, const char **data)
 {
   GdkPixbuf *pixbuf = gdk_pixbuf_new_from_xpm_data (data);
 
   if (!pixbuf)
-    return 0;
+    return false;
 
   gtk_window_set_icon (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), pixbuf);
   g_object_unref (pixbuf);
-  return 1;
+  return true;
 }
 #endif /* USE_GTK */
 
@@ -778,20 +773,20 @@ static void
 x_set_cursor_color (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 {
   unsigned long fore_pixel, pixel;
-  bool fore_pixel_allocated_p = 0, pixel_allocated_p = 0;
+  bool fore_pixel_allocated_p = false, pixel_allocated_p = false;
   struct x_output *x = f->output_data.x;
 
   if (!NILP (Vx_cursor_fore_pixel))
     {
       fore_pixel = x_decode_color (f, Vx_cursor_fore_pixel,
                                   WHITE_PIX_DEFAULT (f));
-      fore_pixel_allocated_p = 1;
+      fore_pixel_allocated_p = true;
     }
   else
     fore_pixel = FRAME_BACKGROUND_PIXEL (f);
 
   pixel = x_decode_color (f, arg, BLACK_PIX_DEFAULT (f));
-  pixel_allocated_p = 1;
+  pixel_allocated_p = true;
 
   /* Make sure that the cursor color differs from the background color.  */
   if (pixel == FRAME_BACKGROUND_PIXEL (f))
@@ -799,7 +794,7 @@ x_set_cursor_color (struct frame *f, Lisp_Object arg, 
Lisp_Object oldval)
       if (pixel_allocated_p)
        {
          x_free_colors (f, &pixel, 1);
-         pixel_allocated_p = 0;
+         pixel_allocated_p = false;
        }
 
       pixel = x->mouse_pixel;
@@ -808,7 +803,7 @@ x_set_cursor_color (struct frame *f, Lisp_Object arg, 
Lisp_Object oldval)
          if (fore_pixel_allocated_p)
            {
              x_free_colors (f, &fore_pixel, 1);
-             fore_pixel_allocated_p = 0;
+             fore_pixel_allocated_p = false;
            }
          fore_pixel = FRAME_BACKGROUND_PIXEL (f);
        }
@@ -833,8 +828,8 @@ x_set_cursor_color (struct frame *f, Lisp_Object arg, 
Lisp_Object oldval)
 
       if (FRAME_VISIBLE_P (f))
        {
-         x_update_cursor (f, 0);
-         x_update_cursor (f, 1);
+         x_update_cursor (f, false);
+         x_update_cursor (f, true);
        }
     }
 
@@ -894,7 +889,7 @@ x_set_cursor_type (struct frame *f, Lisp_Object arg, 
Lisp_Object oldval)
 static void
 x_set_icon_type (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 {
-  int result;
+  bool result;
 
   if (STRINGP (arg))
     {
@@ -926,7 +921,7 @@ x_set_icon_type (struct frame *f, Lisp_Object arg, 
Lisp_Object oldval)
 static void
 x_set_icon_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 {
-  int result;
+  bool result;
 
   if (STRINGP (arg))
     {
@@ -992,7 +987,7 @@ x_set_menu_bar_lines (struct frame *f, Lisp_Object value, 
Lisp_Object oldval)
       FRAME_EXTERNAL_MENU_BAR (f) = 1;
       if (FRAME_X_P (f) && f->output_data.x->menubar_widget == 0)
        /* Make sure next redisplay shows the menu bar.  */
-       XWINDOW (FRAME_SELECTED_WINDOW (f))->update_mode_line = 1;
+       XWINDOW (FRAME_SELECTED_WINDOW (f))->update_mode_line = true;
     }
   else
     {
@@ -1005,7 +1000,7 @@ x_set_menu_bar_lines (struct frame *f, Lisp_Object value, 
Lisp_Object oldval)
 #else /* not USE_X_TOOLKIT && not USE_GTK */
   FRAME_MENU_BAR_LINES (f) = nlines;
   FRAME_MENU_BAR_HEIGHT (f) = nlines * FRAME_LINE_HEIGHT (f);
-  adjust_frame_size (f, -1, -1, 2, 1, Qmenu_bar_lines);
+  adjust_frame_size (f, -1, -1, 2, true, Qmenu_bar_lines);
   if (FRAME_X_WINDOW (f))
     x_clear_under_internal_border (f);
 
@@ -1084,17 +1079,17 @@ x_change_tool_bar_height (struct frame *f, int height)
   FRAME_TOOL_BAR_HEIGHT (f) = 0;
   if (height)
     {
-      FRAME_EXTERNAL_TOOL_BAR (f) = 1;
+      FRAME_EXTERNAL_TOOL_BAR (f) = true;
       if (FRAME_X_P (f) && f->output_data.x->toolbar_widget == 0)
        /* Make sure next redisplay shows the tool bar.  */
-       XWINDOW (FRAME_SELECTED_WINDOW (f))->update_mode_line = 1;
+       XWINDOW (FRAME_SELECTED_WINDOW (f))->update_mode_line = true;
       update_frame_tool_bar (f);
     }
   else
     {
       if (FRAME_EXTERNAL_TOOL_BAR (f))
         free_frame_tool_bar (f);
-      FRAME_EXTERNAL_TOOL_BAR (f) = 0;
+      FRAME_EXTERNAL_TOOL_BAR (f) = false;
     }
 #else /* !USE_GTK */
   int unit = FRAME_LINE_HEIGHT (f);
@@ -1134,7 +1129,7 @@ x_change_tool_bar_height (struct frame *f, int height)
                     (!f->tool_bar_redisplayed_once ? 1
                      : (old_height == 0 || height == 0) ? 2
                      : 4),
-                    0, Qtool_bar_lines);
+                    false, Qtool_bar_lines);
 
   /* adjust_frame_size might not have done anything, garbage frame
      here.  */
@@ -1166,7 +1161,7 @@ x_set_internal_border_width (struct frame *f, Lisp_Object 
arg, Lisp_Object oldva
 
       if (FRAME_X_WINDOW (f) != 0)
        {
-         adjust_frame_size (f, -1, -1, 3, 0, Qinternal_border_width);
+         adjust_frame_size (f, -1, -1, 3, false, Qinternal_border_width);
 
 #ifdef USE_GTK
          xg_clear_under_internal_border (f);
@@ -1271,14 +1266,14 @@ x_set_scroll_bar_background (struct frame *f, 
Lisp_Object value, Lisp_Object old
 
    Store the byte length of resulting text in *TEXT_BYTES.
 
-   If the text contains only ASCII and Latin-1, store 1 in *STRING_P,
+   If the text contains only ASCII and Latin-1, store true in *STRING_P,
    which means that the `encoding' of the result can be `STRING'.
-   Otherwise store 0 in *STRINGP, which means that the `encoding' of
+   Otherwise store false in *STRINGP, which means that the `encoding' of
    the result should be `COMPOUND_TEXT'.  */
 
 static unsigned char *
 x_encode_text (Lisp_Object string, Lisp_Object coding_system,
-              ptrdiff_t *text_bytes, int *stringp, bool *freep)
+              ptrdiff_t *text_bytes, bool *stringp, bool *freep)
 {
   int result = string_xstring_p (string);
   struct coding_system coding;
@@ -1287,8 +1282,8 @@ x_encode_text (Lisp_Object string, Lisp_Object 
coding_system,
     {
       /* No multibyte character in OBJ.  We need not encode it.  */
       *text_bytes = SBYTES (string);
-      *stringp = 1;
-      *freep = 0;
+      *stringp = true;
+      *freep = false;
       return SDATA (string);
     }
 
@@ -1302,7 +1297,7 @@ x_encode_text (Lisp_Object string, Lisp_Object 
coding_system,
                        SCHARS (string), SBYTES (string), Qnil);
   *text_bytes = coding.produced;
   *stringp = (result == 1 || !EQ (coding_system, Qcompound_text));
-  *freep = 1;
+  *freep = true;
   return coding.destination;
 }
 
@@ -1320,8 +1315,8 @@ x_set_name_internal (struct frame *f, Lisp_Object name)
       {
        XTextProperty text, icon;
        ptrdiff_t bytes;
-       int stringp;
-       bool do_free_icon_value = 0, do_free_text_value = 0;
+       bool stringp;
+       bool do_free_icon_value = false, do_free_text_value = false;
        Lisp_Object coding_system;
        Lisp_Object encoded_name;
        Lisp_Object encoded_icon_name;
@@ -1469,7 +1464,7 @@ x_set_name (struct frame *f, Lisp_Object name, bool 
explicit)
 static void
 x_explicitly_set_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 {
-  x_set_name (f, arg, 1);
+  x_set_name (f, arg, true);
 }
 
 /* This function should be called by Emacs redisplay code to set the
@@ -1478,7 +1473,7 @@ x_explicitly_set_name (struct frame *f, Lisp_Object arg, 
Lisp_Object oldval)
 void
 x_implicitly_set_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
 {
-  x_set_name (f, arg, 0);
+  x_set_name (f, arg, false);
 }
 
 /* Change the title of frame F to NAME.
@@ -1557,7 +1552,7 @@ static Lisp_Object
 x_default_scroll_bar_color_parameter (struct frame *f,
                                      Lisp_Object alist, Lisp_Object prop,
                                      const char *xprop, const char *xclass,
-                                     int foreground_p)
+                                     bool foreground_p)
 {
   struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f);
   Lisp_Object tem;
@@ -1614,9 +1609,9 @@ hack_wm_protocols (struct frame *f, Widget widget)
 {
   Display *dpy = XtDisplay (widget);
   Window w = XtWindow (widget);
-  int need_delete = 1;
-  int need_focus = 1;
-  int need_save = 1;
+  bool need_delete = true;
+  bool need_focus = true;
+  bool need_save = true;
 
   block_input ();
   {
@@ -1640,20 +1635,20 @@ hack_wm_protocols (struct frame *f, Widget widget)
            nitems--;
            if (atoms[nitems]
                == FRAME_DISPLAY_INFO (f)->Xatom_wm_delete_window)
-             need_delete = 0;
+             need_delete = false;
            else if (atoms[nitems]
                     == FRAME_DISPLAY_INFO (f)->Xatom_wm_take_focus)
-             need_focus = 0;
+             need_focus = false;
            else if (atoms[nitems]
                     == FRAME_DISPLAY_INFO (f)->Xatom_wm_save_yourself)
-             need_save = 0;
+             need_save = false;
          }
       }
     if (catoms)
       XFree (catoms);
   }
   {
-    Atom props [10];
+    Atom props[10];
     int count = 0;
     if (need_delete)
       props[count++] = FRAME_DISPLAY_INFO (f)->Xatom_wm_delete_window;
@@ -1705,7 +1700,7 @@ static const char xic_default_fontset[] = 
"-*-*-*-r-normal--14-*-*-*-*-*-*-*";
 /* Create an Xt fontset spec from the name of a base font.
    If `motif' is True use the Motif syntax.  */
 char *
-xic_create_fontsetname (const char *base_fontname, int motif)
+xic_create_fontsetname (const char *base_fontname, bool motif)
 {
   const char *sep = motif ? ";" : ",";
   char *fontsetname;
@@ -1947,7 +1942,7 @@ void
 xic_free_xfontset (struct frame *f)
 {
   Lisp_Object rest, frame;
-  bool shared_p = 0;
+  bool shared_p = false;
 
   if (!FRAME_XIC_FONTSET (f))
     return;
@@ -1960,7 +1955,7 @@ xic_free_xfontset (struct frame *f)
           && FRAME_DISPLAY_INFO (cf) == FRAME_DISPLAY_INFO (f)
           && FRAME_XIC_FONTSET (cf) == FRAME_XIC_FONTSET (f))
         {
-          shared_p = 1;
+          shared_p = true;
           break;
         }
     }
@@ -2220,7 +2215,7 @@ xic_set_xfontset (struct frame *f, const char 
*base_fontname)
 /* Create and set up the X widget for frame F.  */
 
 static void
-x_window (struct frame *f, long window_prompting, int minibuffer_only)
+x_window (struct frame *f, long window_prompting)
 {
   XClassHint class_hints;
   XSetWindowAttributes attributes;
@@ -2228,7 +2223,7 @@ x_window (struct frame *f, long window_prompting, int 
minibuffer_only)
   Widget shell_widget;
   Widget pane_widget;
   Widget frame_widget;
-  Arg al [25];
+  Arg al[25];
   int ac;
 
   block_input ();
@@ -2298,8 +2293,8 @@ x_window (struct frame *f, long window_prompting, int 
minibuffer_only)
            + f->output_data.x->menubar_widget->core.border_width)
         : 0);
 
-#if 0 /* Experimentally, we now get the right results
-        for -geometry -0-0 without this.  24 Aug 96, rms.  */
+#if false /* Experimentally, we now get the right results
+            for -geometry -0-0 without this.  24 Aug 96, rms.  */
     if (FRAME_EXTERNAL_MENU_BAR (f))
       {
         Dimension ibw = 0;
@@ -2328,9 +2323,9 @@ x_window (struct frame *f, long window_prompting, int 
minibuffer_only)
        We pass that information later, in x_wm_set_size_hints.  */
     {
       int left = f->left_pos;
-      int xneg = window_prompting & XNegative;
+      bool xneg = (window_prompting & XNegative) != 0;
       int top = f->top_pos;
-      int yneg = window_prompting & YNegative;
+      bool yneg = (window_prompting & YNegative) != 0;
       if (xneg)
        left = -left;
       if (yneg)
@@ -2429,7 +2424,7 @@ x_window (struct frame *f, long window_prompting, int 
minibuffer_only)
     Lisp_Object name;
     bool explicit = f->explicit_name;
 
-    f->explicit_name = 0;
+    f->explicit_name = false;
     name = f->name;
     fset_name (f, Qnil);
     x_set_name (f, name, explicit);
@@ -2568,7 +2563,7 @@ x_window (struct frame *f)
     Lisp_Object name;
     bool explicit = f->explicit_name;
 
-    f->explicit_name = 0;
+    f->explicit_name = false;
     name = f->name;
     fset_name (f, Qnil);
     x_set_name (f, name, explicit);
@@ -2614,15 +2609,12 @@ x_icon_verify (struct frame *f, Lisp_Object parms)
 static void
 x_icon (struct frame *f, Lisp_Object parms)
 {
-  Lisp_Object icon_x, icon_y;
-#if 0
-  struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f);
-#endif
-
   /* Set the position of the icon.  Note that twm groups all
      icons in an icon window.  */
-  icon_x = x_frame_get_and_record_arg (f, parms, Qicon_left, 0, 0, 
RES_TYPE_NUMBER);
-  icon_y = x_frame_get_and_record_arg (f, parms, Qicon_top, 0, 0, 
RES_TYPE_NUMBER);
+  Lisp_Object icon_x
+    = x_frame_get_and_record_arg (f, parms, Qicon_left, 0, 0, RES_TYPE_NUMBER);
+  Lisp_Object icon_y
+    = x_frame_get_and_record_arg (f, parms, Qicon_top, 0, 0, RES_TYPE_NUMBER);
   if (!EQ (icon_x, Qunbound) && !EQ (icon_y, Qunbound))
     {
       CHECK_TYPE_RANGED_INTEGER (int, icon_x);
@@ -2636,9 +2628,10 @@ x_icon (struct frame *f, Lisp_Object parms)
   if (! EQ (icon_x, Qunbound))
     x_wm_set_icon_position (f, XINT (icon_x), XINT (icon_y));
 
-#if 0 /* x_get_arg removes the visibility parameter as a side effect,
-         but x_create_frame still needs it.  */
+#if false /* x_get_arg removes the visibility parameter as a side effect,
+            but x_create_frame still needs it.  */
   /* Start up iconic or window? */
+  struct x_display_info *dpyinfo = FRAME_DISPLAY_INFO (f);
   x_wm_set_window_state
     (f, (EQ (x_get_arg (dpyinfo, parms, Qvisibility, 0, 0, RES_TYPE_SYMBOL),
             Qicon)
@@ -2866,7 +2859,7 @@ Signal error if FRAME is not an X frame.  */)
   struct frame *f = decode_window_system_frame (frame);
 
   block_input ();
-  x_wm_set_size_hint (f, 0, 0);
+  x_wm_set_size_hint (f, 0, false);
   unblock_input ();
   return Qnil;
 }
@@ -2906,7 +2899,7 @@ This function is an internal primitive--use `make-frame' 
instead.  */)
   struct frame *f;
   Lisp_Object frame, tem;
   Lisp_Object name;
-  int minibuffer_only = 0;
+  bool minibuffer_only = false;
   long window_prompting = 0;
   ptrdiff_t count = SPECPDL_INDEX ();
   struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
@@ -2960,12 +2953,12 @@ This function is an internal primitive--use 
`make-frame' instead.  */)
   else if (EQ (tem, Qonly))
     {
       f = make_minibuffer_frame ();
-      minibuffer_only = 1;
+      minibuffer_only = true;
     }
   else if (WINDOWP (tem))
     f = make_frame_without_minibuffer (tem, kb, display);
   else
-    f = make_frame (1);
+    f = make_frame (true);
 
   XSETFRAME (frame, f);
 
@@ -3032,12 +3025,12 @@ This function is an internal primitive--use 
`make-frame' instead.  */)
   if (!NILP (parent))
     {
       f->output_data.x->parent_desc = (Window) XFASTINT (parent);
-      f->output_data.x->explicit_parent = 1;
+      f->output_data.x->explicit_parent = true;
     }
   else
     {
       f->output_data.x->parent_desc = FRAME_DISPLAY_INFO (f)->root_window;
-      f->output_data.x->explicit_parent = 0;
+      f->output_data.x->explicit_parent = false;
     }
 
   /* Set the name; the functions to which we pass f expect the name to
@@ -3045,12 +3038,12 @@ This function is an internal primitive--use 
`make-frame' instead.  */)
   if (EQ (name, Qunbound) || NILP (name))
     {
       fset_name (f, build_string (dpyinfo->x_id_name));
-      f->explicit_name = 0;
+      f->explicit_name = false;
     }
   else
     {
       fset_name (f, name);
-      f->explicit_name = 1;
+      f->explicit_name = true;
       /* Use the frame's title when getting resources for this frame.  */
       specbind (Qx_resource_name, name);
     }
@@ -3137,10 +3130,10 @@ This function is an internal primitive--use 
`make-frame' instead.  */)
 
   x_default_scroll_bar_color_parameter (f, parms, Qscroll_bar_foreground,
                                        "scrollBarForeground",
-                                       "ScrollBarForeground", 1);
+                                       "ScrollBarForeground", true);
   x_default_scroll_bar_color_parameter (f, parms, Qscroll_bar_background,
                                        "scrollBarBackground",
-                                       "ScrollBarBackground", 0);
+                                       "ScrollBarBackground", false);
 
 #ifdef GLYPH_DEBUG
   image_cache_refcount =
@@ -3163,7 +3156,7 @@ This function is an internal primitive--use `make-frame' 
instead.  */)
      had one frame line vs one toolbar line which left us with a zero
      root window height which was obviously wrong as well ...  */
   adjust_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
-                    FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 5, 1,
+                    FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 5, true,
                     Qx_create_frame_1);
 
   /* Set the menu-bar-lines and tool-bar-lines parameters.  We don't
@@ -3193,7 +3186,7 @@ This function is an internal primitive--use `make-frame' 
instead.  */)
                        FRAME_TOOL_BAR_POSITION (f), 0, 0, RES_TYPE_SYMBOL);
 
   /* Compute the size of the X window.  */
-  window_prompting = x_figure_window_size (f, parms, 1);
+  window_prompting = x_figure_window_size (f, parms, true);
 
   tem = x_get_arg (dpyinfo, parms, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN);
   f->no_split = minibuffer_only || EQ (tem, Qt);
@@ -3202,7 +3195,7 @@ This function is an internal primitive--use `make-frame' 
instead.  */)
 
   /* Create the X widget or window.  */
 #ifdef USE_X_TOOLKIT
-  x_window (f, window_prompting, minibuffer_only);
+  x_window (f, window_prompting);
 #else
   x_window (f);
 #endif
@@ -3238,7 +3231,7 @@ This function is an internal primitive--use `make-frame' 
instead.  */)
   /* Consider frame official, now.  */
   f->can_x_set_window_size = true;
 
-  adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, 1,
+  adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, true,
                     Qx_create_frame_2);
 
 #if defined (USE_X_TOOLKIT) || defined (USE_GTK)
@@ -3263,7 +3256,7 @@ This function is an internal primitive--use `make-frame' 
instead.  */)
      badly we want them.  This should be done after we have the menu
      bar so that its size can be taken into account.  */
   block_input ();
-  x_wm_set_size_hint (f, window_prompting, 0);
+  x_wm_set_size_hint (f, window_prompting, false);
   unblock_input ();
 
   /* Make the window appear on the frame and enable display, unless
@@ -3392,7 +3385,7 @@ DEFUN ("xw-color-defined-p", Fxw_color_defined_p, 
Sxw_color_defined_p, 1, 2, 0,
 
   CHECK_STRING (color);
 
-  if (x_defined_color (f, SSDATA (color), &foo, 0))
+  if (x_defined_color (f, SSDATA (color), &foo, false))
     return Qt;
   else
     return Qnil;
@@ -3407,7 +3400,7 @@ DEFUN ("xw-color-values", Fxw_color_values, 
Sxw_color_values, 1, 2, 0,
 
   CHECK_STRING (color);
 
-  if (x_defined_color (f, SSDATA (color), &foo, 0))
+  if (x_defined_color (f, SSDATA (color), &foo, false))
     return list3i (foo.red, foo.green, foo.blue);
   else
     return Qnil;
@@ -4946,14 +4939,14 @@ x_create_tip_frame (struct x_display_info *dpyinfo,
 
   frame = Qnil;
   GCPRO3 (parms, name, frame);
-  f = make_frame (1);
+  f = make_frame (true);
   XSETFRAME (frame, f);
 
   AUTO_STRING (tip, " *tip*");
   buffer = Fget_buffer_create (tip);
   /* Use set_window_buffer instead of Fset_window_buffer (see
      discussion of bug#11984, bug#12025, bug#12026).  */
-  set_window_buffer (FRAME_ROOT_WINDOW (f), buffer, 0, 0);
+  set_window_buffer (FRAME_ROOT_WINDOW (f), buffer, false, false);
   old_buffer = current_buffer;
   set_buffer_internal_1 (XBUFFER (buffer));
   bset_truncate_lines (current_buffer, Qnil);
@@ -4987,7 +4980,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo,
   fset_icon_name (f, Qnil);
   FRAME_DISPLAY_INFO (f) = dpyinfo;
   f->output_data.x->parent_desc = FRAME_DISPLAY_INFO (f)->root_window;
-  f->output_data.x->explicit_parent = 0;
+  f->output_data.x->explicit_parent = false;
 
   /* These colors will be set anyway later, but it's important
      to get the color reference counts right, so initialize them!  */
@@ -5027,12 +5020,12 @@ x_create_tip_frame (struct x_display_info *dpyinfo,
   if (EQ (name, Qunbound) || NILP (name))
     {
       fset_name (f, build_string (dpyinfo->x_id_name));
-      f->explicit_name = 0;
+      f->explicit_name = false;
     }
   else
     {
       fset_name (f, name);
-      f->explicit_name = 1;
+      f->explicit_name = true;
       /* use the frame's title when getting resources for this frame.  */
       specbind (Qx_resource_name, name);
     }
@@ -5103,7 +5096,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo,
 
   f->output_data.x->parent_desc = FRAME_DISPLAY_INFO (f)->root_window;
 
-  x_figure_window_size (f, parms, 0);
+  x_figure_window_size (f, parms, false);
 
   {
     XSetWindowAttributes attrs;
@@ -5156,7 +5149,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo,
   height = FRAME_LINES (f);
   SET_FRAME_COLS (f, 0);
   SET_FRAME_LINES (f, 0);
-  change_frame_size (f, width, height, 1, 0, 0, 0);
+  change_frame_size (f, width, height, true, false, false, false);
 
   /* Add `tooltip' frame parameter's default value. */
   if (NILP (Fframe_parameter (frame, Qtooltip)))
@@ -5209,7 +5202,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo,
       }
   }
 
-  f->no_split = 1;
+  f->no_split = true;
 
   UNGCPRO;
 
@@ -5327,7 +5320,8 @@ Text larger than the specified size is clipped.  */)
   int root_x, root_y;
   struct buffer *old_buffer;
   struct text_pos pos;
-  int i, width, height, seen_reversed_p;
+  int i, width, height;
+  bool seen_reversed_p;
   struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
   int old_windows_or_buffers_changed = windows_or_buffers_changed;
   ptrdiff_t count = SPECPDL_INDEX ();
@@ -5465,7 +5459,7 @@ Text larger than the specified size is clipped.  */)
 
   FRAME_TOTAL_COLS (f) = w->total_cols;
   adjust_frame_glyphs (f);
-  w->pseudo_window_p = 1;
+  w->pseudo_window_p = true;
 
   /* Display the tooltip text in a temporary buffer.  */
   old_buffer = current_buffer;
@@ -5477,7 +5471,8 @@ Text larger than the specified size is clipped.  */)
   try_window (FRAME_ROOT_WINDOW (f), pos, TRY_WINDOW_IGNORE_FONTS_CHANGE);
 
   /* Compute width and height of the tooltip.  */
-  width = height = seen_reversed_p = 0;
+  width = height = 0;
+  seen_reversed_p = false;
   for (i = 0; i < w->desired_matrix->nrows; ++i)
     {
       struct glyph_row *row = &w->desired_matrix->rows[i];
@@ -5489,7 +5484,7 @@ Text larger than the specified size is clipped.  */)
        break;
 
       /* Let the row go over the full width of the frame.  */
-      row->full_width_p = 1;
+      row->full_width_p = true;
 
       row_width = row->pixel_width;
       if (row->used[TEXT_AREA])
@@ -5512,7 +5507,7 @@ Text larger than the specified size is clipped.  */)
              if (g->type == STRETCH_GLYPH && NILP (g->object))
                {
                  row_width -= g->pixel_width;
-                 seen_reversed_p = 1;
+                 seen_reversed_p = true;
                }
            }
        }
@@ -5548,7 +5543,7 @@ Text larger than the specified size is clipped.  */)
 
          if (!row->enabled_p || !MATRIX_ROW_DISPLAYS_TEXT_P (row))
            break;
-         row->full_width_p = 1;
+         row->full_width_p = true;
          row_width = row->pixel_width;
          if (row->used[TEXT_AREA] && !row->reversed_p)
            {
@@ -5715,7 +5710,7 @@ clean_up_file_dialog (void *arg)
   block_input ();
   XtUnmanageChild (dialog);
   XtDestroyWidget (dialog);
-  x_menu_set_in_use (0);
+  x_menu_set_in_use (false);
   unblock_input ();
 }
 
@@ -5839,7 +5834,7 @@ value of DIR as in previous invocations; this is standard 
Windows behavior.  */)
   record_unwind_protect_ptr (clean_up_file_dialog, dialog);
 
   /* Process events until the user presses Cancel or OK.  */
-  x_menu_set_in_use (1);
+  x_menu_set_in_use (true);
   result = 0;
   while (result == 0)
     {
@@ -5893,7 +5888,7 @@ value of DIR as in previous invocations; this is standard 
Windows behavior.  */)
 static void
 clean_up_dialog (void)
 {
-  x_menu_set_in_use (0);
+  x_menu_set_in_use (false);
 }
 
 DEFUN ("x-file-dialog", Fx_file_dialog, Sx_file_dialog, 2, 5, 0,
@@ -6192,7 +6187,7 @@ Changing the value does not affect existing frames
 unless you set the mouse color.  */);
   Vx_pointer_shape = Qnil;
 
-#if 0 /* This doesn't really do anything.  */
+#if false /* This doesn't really do anything.  */
   DEFVAR_LISP ("x-nontext-pointer-shape", Vx_nontext_pointer_shape,
     doc: /* The shape of the pointer when not over text.
 This variable takes effect when you create a new frame
@@ -6206,7 +6201,7 @@ This variable takes effect when you create a new frame
 or when you set the mouse color.  */);
   Vx_hourglass_pointer_shape = Qnil;
 
-#if 0 /* This doesn't really do anything.  */
+#if false /* This doesn't really do anything.  */
   DEFVAR_LISP ("x-mode-pointer-shape", Vx_mode_pointer_shape,
     doc: /* The shape of the pointer when over the mode line.
 This variable takes effect when you create a new frame
@@ -6268,25 +6263,25 @@ Chinese, Japanese, and Korean.  */);
 If nil or if the file selection dialog is not available, the new GTK file
 chooser is used instead.  To turn off all file dialogs set the
 variable `use-file-dialog'.  */);
-  x_gtk_use_old_file_dialog = 0;
+  x_gtk_use_old_file_dialog = false;
 
   DEFVAR_BOOL ("x-gtk-show-hidden-files", x_gtk_show_hidden_files,
     doc: /* If non-nil, the GTK file chooser will by default show hidden files.
 Note that this is just the default, there is a toggle button on the file
 chooser to show or not show hidden files on a case by case basis.  */);
-  x_gtk_show_hidden_files = 0;
+  x_gtk_show_hidden_files = false;
 
   DEFVAR_BOOL ("x-gtk-file-dialog-help-text", x_gtk_file_dialog_help_text,
     doc: /* If non-nil, the GTK file chooser will show additional help text.
 If more space for files in the file chooser dialog is wanted, set this to nil
 to turn the additional text off.  */);
-  x_gtk_file_dialog_help_text = 1;
+  x_gtk_file_dialog_help_text = true;
 
   DEFVAR_BOOL ("x-gtk-use-system-tooltips", x_gtk_use_system_tooltips,
     doc: /* If non-nil with a Gtk+ built Emacs, the Gtk+ tooltip is used.
 Otherwise use Emacs own tooltip implementation.
 When using Gtk+ tooltips, the tooltip face is not used.  */);
-  x_gtk_use_system_tooltips = 1;
+  x_gtk_use_system_tooltips = true;
 
   /* Tell Emacs about this window system.  */
   Fprovide (Qx, Qnil);
@@ -6317,7 +6312,7 @@ When using Gtk+ tooltips, the tooltip face is not used.  
*/);
     char gtk_version[sizeof ".." + 3 * INT_STRLEN_BOUND (int)];
     int len = sprintf (gtk_version, "%d.%d.%d",
                       GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
-    Vgtk_version_string = make_pure_string (gtk_version, len, len, 0);
+    Vgtk_version_string = make_pure_string (gtk_version, len, len, false);
   }
 #endif /* USE_GTK */
 
diff --git a/src/xterm.h b/src/xterm.h
index 123f31c..e597227 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -1067,8 +1067,8 @@ extern void x_clipboard_manager_save_frame (Lisp_Object);
 extern void x_clipboard_manager_save_all (void);
 
 #ifdef USE_GTK
-extern int xg_set_icon (struct frame *, Lisp_Object);
-extern int xg_set_icon_from_xpm_data (struct frame *, const char **);
+extern bool xg_set_icon (struct frame *, Lisp_Object);
+extern bool xg_set_icon_from_xpm_data (struct frame *, const char **);
 #endif /* USE_GTK */
 
 extern void xic_free_xfontset (struct frame *);
@@ -1081,7 +1081,7 @@ extern bool x_defined_color (struct frame *, const char 
*, XColor *, bool);
 #ifdef HAVE_X_I18N
 extern void free_frame_xic (struct frame *);
 # if defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT
-extern char * xic_create_fontsetname (const char *base_fontname, int motif);
+extern char *xic_create_fontsetname (const char *, bool);
 # endif
 #endif
 
diff --git a/test/ChangeLog b/test/ChangeLog
index d8cd367..61ab8b6 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,13 @@
+2015-01-26  Stefan Monnier  <address@hidden>
+
+       * automated/cl-generic-tests.el: Try and make sure cl-lib is not
+       required at run-time.
+
+2015-01-26  Stefan Monnier  <address@hidden>
+
+       * automated/cl-generic-tests.el (cl-generic-test-11-next-method-p):
+       New test.
+
 2015-01-25  Paul Eggert  <address@hidden>
 
        * indent/shell.sh (bar): Use '[ $# -eq 0 ]', not '[ $# == 0 ]'.
diff --git a/test/automated/cl-generic-tests.el 
b/test/automated/cl-generic-tests.el
index bc9a1ec..5194802 100644
--- a/test/automated/cl-generic-tests.el
+++ b/test/automated/cl-generic-tests.el
@@ -23,8 +23,8 @@
 
 ;;; Code:
 
-(require 'ert)
-(require 'cl-lib)
+(eval-when-compile (require 'ert)) ;Don't indirectly require cl-lib at 
run-time.
+(require 'cl-generic)
 
 (cl-defgeneric cl--generic-1 (x y))
 (cl-defgeneric (setf cl--generic-1) (v y z) "My generic doc.")
@@ -171,5 +171,13 @@
   (should (equal (cl--generic-1 'a 'b) '(a b)))
   (should (equal (cl--generic-1 1 2) '("integer" 2 1))))
 
+(ert-deftest cl-generic-test-11-next-method-p ()
+  (cl-defgeneric cl--generic-1 (x y))
+  (cl-defmethod cl--generic-1 ((x t) y)
+    (list x y (cl-next-method-p)))
+  (cl-defmethod cl--generic-1 ((_x (eql 4)) _y)
+    (cl-list* "quatre" (cl-next-method-p) (cl-call-next-method)))
+  (should (equal (cl--generic-1 4 5) '("quatre" t 4 5 nil))))
+
 (provide 'cl-generic-tests)
 ;;; cl-generic-tests.el ends here



reply via email to

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