emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r117992: Merge from emacs-24


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r117992: Merge from emacs-24
Date: Tue, 30 Sep 2014 23:19:55 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117992 [merge]
revision-id: address@hidden
parent: address@hidden
parent: address@hidden
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Tue 2014-09-30 19:19:31 -0400
message:
  Merge from emacs-24
added:
  etc/package-keyring.gpg        
packagekeyring.gpg-20140924142722-1kpzhxfllm02de47-1
modified:
  etc/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1485
  etc/charsets/README            readme-20091113204419-o5vbwnq5f7feedwu-8511
  etc/themes/leuven-theme.el     
leuventheme.el-20121206024958-v64mu6tqwo1lx54k-1
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/emacs-lisp/package.el     package.el-20100617020707-ybavz666awsxwin6-2
  lisp/erc/ChangeLog             changelog-20091113204419-o5vbwnq5f7feedwu-4305
  lisp/erc/erc-track.el          
erctrack.el-20091113204419-o5vbwnq5f7feedwu-4342
  lisp/mh-e/ChangeLog            changelog-20091113204419-o5vbwnq5f7feedwu-2547
  lisp/progmodes/python.el       python.el-20091113204419-o5vbwnq5f7feedwu-3008
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/dispnew.c                  dispnew.c-20091113204419-o5vbwnq5f7feedwu-258
  src/w32fns.c                   w32fns.c-20091113204419-o5vbwnq5f7feedwu-945
  src/w32term.c                  w32term.c-20091113204419-o5vbwnq5f7feedwu-950
  src/window.c                   window.c-20091113204419-o5vbwnq5f7feedwu-231
  src/xdisp.c                    xdisp.c-20091113204419-o5vbwnq5f7feedwu-240
=== modified file 'etc/ChangeLog'
--- a/etc/ChangeLog     2014-09-30 05:49:54 +0000
+++ b/etc/ChangeLog     2014-09-30 23:19:31 +0000
@@ -1,3 +1,17 @@
+2014-09-30  Bill Wohler         <address@hidden>
+
+       Release MH-E version 8.6
+
+       * NEWS, MH-E-NEWS: Update for MH-E release 8.6.
+
+2014-09-30  Fabrice Niessen  <address@hidden>
+
+       * themes/leuven-theme.el: Updates.
+
+2014-09-30  Stefan Monnier  <address@hidden>
+
+       * package-keyring.gpg: New file.
+
 2014-09-30  Paul Eggert  <address@hidden>
 
        * TODO: Remove char/unsigned char, long long, IRIX unexelf.c.

=== modified file 'etc/charsets/README'
--- a/etc/charsets/README       2014-01-01 07:43:34 +0000
+++ b/etc/charsets/README       2014-09-27 09:36:08 +0000
@@ -38,5 +38,5 @@
 (2) Source of mapping files
 
 All mapping files are generated automatically from data files freely
-available on the Internet (e.g. glibc/localedata/charmaps").  See the
+available on the Internet (e.g. glibc/localedata/charmaps).  See the
 file ../../admin/charsets/mapfiles/README for the detail.

=== added file 'etc/package-keyring.gpg'
Binary files a/etc/package-keyring.gpg  1970-01-01 00:00:00 +0000 and 
b/etc/package-keyring.gpg 2014-09-24 14:28:27 +0000 differ
=== modified file 'etc/themes/leuven-theme.el'
--- a/etc/themes/leuven-theme.el        2014-01-16 20:18:55 +0000
+++ b/etc/themes/leuven-theme.el        2014-09-29 12:30:16 +0000
@@ -4,7 +4,7 @@
 
 ;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")>
 ;; URL: https://github.com/fniessen/emacs-leuven-theme
-;; Version: 20140113.1205
+;; Version: 20140929.1232
 ;; Keywords: color theme
 
 ;; This file is part of GNU Emacs.
@@ -24,7 +24,7 @@
 
 ;;; Commentary:
 
-;; This Org-enhancing color theme "leuven" ROCKS!
+;; This elegant Org-enhancing color theme "leuven" ROCKS!
 ;; ... and not just for Org mode.
 ;;
 ;; To use it, put the following in your Emacs configuration file:
@@ -46,18 +46,26 @@
       (cancel '(:slant italic :strike-through t :foreground "gray55"))
       (clock-line '(:box (:line-width 1 :color "#335EA8") :foreground "black" 
:background "#EEC900"))
       (code-block '(:foreground "#000088" :background "#FFFFE0"))
-      (code-inline '(:foreground "#007300" :background "#EBF5EB"))
+      (code-inline '(:foreground "#006400" :background "#FDFFF7"))
       (column '(:height 1.0 :weight normal :slant normal :underline nil 
:strike-through nil :foreground "#E6AD4F" :background "#FFF2DE"))
       (diff-added '(:foreground "#008000" :background "#DDFFDD"))
+      (diff-changed '(:foreground "#0000FF" :background "#DDDDFF"))
+      (diff-header '(:foreground "#800000" :background "#FFFFAF"))
       (diff-hunk-header '(:foreground "#990099" :background "#FFEEFF"))
       (diff-none '(:foreground "gray33"))
       (diff-removed '(:foreground "#A60000" :background "#FFDDDD"))
       (directory '(:weight bold :foreground "blue" :background "#FFFFD2"))
-      (highlight-line '(:background "#FEFCAE")) ; #F5F5F5 or #CCDEED
-      (link '(:underline t :foreground "#006DAF"))
-      (mail-header-name '(:weight bold :foreground "black"))
+      (highlight-line '(:background "#FFFFD7")) ; #F5F5F5
+      (highlight-line-gnus '(:background "#DAEAFC")) ; defined in 
`gnus-leuven.el'
+      (link '(:weight normal :underline t :foreground "#006DAF"))
+      (mail-header-name '(:family "Sans Serif" :weight normal :foreground 
"#A3A3A2"))
+      (mail-header-other '(:family "Sans Serif" :slant normal :foreground 
"#666666"))
+      (mail-read '(:weight normal :foreground "#86878B"))
+      (mail-ticked '(:weight bold :background "#FBE6EF"))
+      (mail-to '(:family "Sans Serif" :underline nil :foreground "#006DAF"))
+      (mail-unread '(:weight bold :foreground "black"))
       (marked-line '(:weight bold :foreground "white" :background "red"))
-      (match '(:background "#FBE448"))
+      (match '(:weight bold :background "#FBE448")) ; occur patterns
       (ol1 '(:height 1.3 :weight bold :overline "#A7A7A7" :foreground 
"#3C3C3C" :background "#F0F0F0"))
       (ol2 '(:height 1.0 :weight bold :overline "#123555" :foreground 
"#123555" :background "#E5F4FB"))
       (ol3 '(:height 1.0 :weight bold :foreground "#005522" :background 
"#EFFFEF"))
@@ -66,12 +74,14 @@
       (ol6 '(:height 1.0 :weight bold :slant italic :foreground "#0077CC"))
       (ol7 '(:height 1.0 :weight bold :slant italic :foreground "#2EAE2C"))
       (ol8 '(:height 1.0 :weight bold :slant italic :foreground "#FD8008"))
-      (region '(:background "#ADD6FF")) ; #CCCCCC
+      (paren-matched '(:background "#99CCFF"))
+      (paren-unmatched '(:underline "red" :foreground nil :background 
"#FFDCDC"))
+      (region '(:background "#ABDFFA"))
       (shadow '(:foreground "#7F7F7F"))
-      (string '(:foreground "#036A07")) ; #D0372D or #23238E or #20590C
-      (subject '(:weight bold :foreground "#CF5D60"))
+      (string '(:foreground "#008000")) ; or #D0372D
+      (subject '(:family "Sans Serif" :weight bold :foreground "black"))
       (symlink '(:foreground "deep sky blue"))
-      (volatile-highlight '(:background "#FBE448"))
+      (volatile-highlight '(:underline nil :background "#FFF876"))
       (vc-branch '(:box (:line-width 1 :color "#00CC33") :foreground "black" 
:background "#AAFFAA")))
 
   (custom-theme-set-faces
@@ -84,19 +94,19 @@
    `(cursor ((,class (:background "#0FB300"))))
 
    ;; Highlighting faces
-   `(fringe ((,class (:foreground "#F7A421" :background "#F2F2F2"))))
+   `(fringe ((,class (:foreground "#9B9B9B" :background "#EDEDED"))))
    `(highlight ((,class ,volatile-highlight)))
    `(region ((,class ,region)))
    `(secondary-selection ((,class ,match))) ; used by Org-mode for 
highlighting matched entries and keywords
-   `(isearch ((,class (:weight bold :foreground "#00AA00" :background 
"#99FF99"))))
+   `(isearch ((,class (:weight bold :underline "#FF9632" :foreground nil 
:background "#FDBD33"))))
    `(isearch-fail ((,class (:weight bold :foreground "black" :background 
"#FF9999"))))
-   `(lazy-highlight ((,class (:weight bold :foreground "#990099" :background 
"#FF66FF"))))
-   `(trailing-whitespace ((,class (:background "#F6EBFE"))))
+   `(lazy-highlight ((,class (:underline "#FF9632" :background "#FFFF00")))) ; 
isearch others
+   `(trailing-whitespace ((,class (:background "#FFFF57"))))
    `(whitespace-hspace ((,class (:foreground "#D2D2D2"))))
-   `(whitespace-indentation ((,class (:foreground "firebrick" :background 
"yellow"))))
+   `(whitespace-indentation ((,class (:foreground "#A1A1A1" :background 
"white"))))
    `(whitespace-line ((,class (:foreground "#CC0000" :background "#FFFF88"))))
-   `(whitespace-tab ((,class (:foreground "lightgray" :background "beige"))))
-   `(whitespace-trailing ((,class (:weight bold :foreground "yellow" 
:background "red1"))))
+   `(whitespace-tab ((,class (:foreground "#A1A1A1" :background "white"))))
+   `(whitespace-trailing ((,class (:foreground "#B3B3B3" :background 
"#FFFF57"))))
 
    ;; Mode line faces
    `(mode-line ((,class (:box (:line-width 1 :color "#1A2F54") :foreground 
"#85CEEB" :background "#335EA8"))))
@@ -118,8 +128,8 @@
    `(font-lock-comment-delimiter-face ((,class (:foreground "#8D8D84")))) ; 
#696969
    `(font-lock-comment-face ((,class (:slant italic :foreground "#8D8D84")))) 
; #696969
    `(font-lock-constant-face ((,class (:foreground "#D0372D"))))
-   `(font-lock-doc-face ((,class (:foreground "#008000"))))
-   `(font-lock-doc-string-face ((,class (:foreground "#008000"))))
+   `(font-lock-doc-face ((,class (:foreground "#036A07"))))
+   ;; `(font-lock-doc-string-face ((,class (:foreground "#008000")))) ; XEmacs 
only, but is used for HTML exports from org2html (and not interactively)
    `(font-lock-function-name-face ((,class (:weight normal :foreground 
"#006699"))))
    `(font-lock-keyword-face ((,class (:bold nil :foreground "#0000FF")))) ; 
#3654DC
    `(font-lock-preprocessor-face ((,class (:foreground "#808080"))))
@@ -131,12 +141,13 @@
    `(font-lock-warning-face ((,class (:weight bold :foreground "red"))))
 
    ;; Button and link faces
-   `(link ((,class (:underline t :foreground "#8AC6F2"))))
+   `(link ((,class ,link)))
    `(link-visited ((,class (:underline t :foreground "#E5786D"))))
    `(button ((,class (:underline t :foreground "#006DAF"))))
    `(header-line ((,class (:weight bold :underline "black" :overline "black" 
:foreground "black" :background "#FFFF88"))))
 
    ;; Gnus faces
+   `(gnus-button ((,class (:weight normal))))
    `(gnus-cite-attribution-face ((,class (:foreground "#5050B0"))))
    `(gnus-cite-face-1 ((,class (:foreground "#5050B0"))))
    `(gnus-cite-face-10 ((,class (:foreground "#990000"))))
@@ -155,7 +166,7 @@
    `(gnus-group-mail-2 ((,class (:weight bold :foreground "#FF0066"))))
    `(gnus-group-mail-2-empty ((,class (:foreground "#660066"))))
    `(gnus-group-mail-3 ((,class (:weight bold :foreground "black"))))
-   `(gnus-group-mail-3-empty ((,class (:foreground "#808080"))))
+   `(gnus-group-mail-3-empty ((,class ,mail-read)))
    `(gnus-group-mail-low ((,class ,cancel)))
    `(gnus-group-mail-low-empty ((,class ,cancel)))
    `(gnus-group-news-1 ((,class (:weight bold :foreground "#FF50B0"))))
@@ -170,8 +181,8 @@
    `(gnus-group-news-5-empty ((,class (:foreground "#000099"))))
    `(gnus-group-news-6 ((,class (:weight bold :foreground "gray50"))))
    `(gnus-group-news-6-empty ((,class (:foreground "#808080"))))
-   `(gnus-header-content ((,class (:family "Sans Serif" :foreground 
"#3399CC"))))
-   `(gnus-header-from ((,class (:family "Sans Serif" :foreground "blue"))))
+   `(gnus-header-content ((,class ,mail-header-other)))
+   `(gnus-header-from ((,class (:family "Sans Serif" :foreground "black"))))
    `(gnus-header-name ((,class ,mail-header-name)))
    `(gnus-header-newsgroups ((,class (:family "Sans Serif" :foreground 
"#3399CC"))))
    `(gnus-header-subject ((,class ,subject)))
@@ -179,50 +190,51 @@
    `(gnus-picon-xbm ((,class (:foreground "yellow" :background "white"))))
    `(gnus-server-closed ((,class (:slant italic :foreground "blue" :background 
"white"))))
    `(gnus-server-denied ((,class (:weight bold :foreground "red" :background 
"white"))))
-   `(gnus-server-opened ((,class (:foreground "white" :background "#83B869"))))
-   `(gnus-signature ((,class (:slant italic :foreground "#7F7F7F"))))
+   `(gnus-server-opened ((,class (:family "Sans Serif" :foreground "white" 
:foreground "#466BD7"))))
+   `(gnus-signature ((,class (:slant italic :foreground "#8B8D8E"))))
    `(gnus-splash ((,class (:foreground "#FF8C00"))))
    `(gnus-summary-cancelled ((,class ,cancel)))
    `(gnus-summary-high-ancient ((,class (:weight normal :foreground "#808080" 
:background "#FFFFE6"))))
-   `(gnus-summary-high-read ((,class (:weight normal :foreground "#808080" 
:background "#FFFFE6"))))
-   `(gnus-summary-high-ticked ((,class (:weight normal :foreground "black" 
:background "#E7AEB0"))))
-   `(gnus-summary-high-unread ((,class (:weight normal :foreground "black" 
:background "#FFFFCC"))))
+   `(gnus-summary-high-read ((,class (:weight normal :foreground "#999999" 
:background "#FFFFE6"))))
+   `(gnus-summary-high-ticked ((,class ,mail-ticked)))
+   `(gnus-summary-high-unread ((,class (:weight bold :foreground "black" 
:background "#FFFFCC"))))
    `(gnus-summary-low-ancient ((,class (:slant italic :foreground "gray55"))))
-   `(gnus-summary-low-read ((,class (:slant italic :foreground "gray55" 
:background "#E0E0E0"))))
-   `(gnus-summary-low-ticked ((,class (:slant italic :foreground "black" 
:background "#E7AEB0"))))
+   `(gnus-summary-low-read ((,class (:slant italic :foreground "#999999" 
:background "#E0E0E0"))))
+   `(gnus-summary-low-ticked ((,class ,mail-ticked)))
    `(gnus-summary-low-unread ((,class (:slant italic :foreground "black"))))
-   `(gnus-summary-normal-ancient ((,class (:foreground "#808080"))))
-   `(gnus-summary-normal-read ((,class (:foreground "#808080"))))
-   `(gnus-summary-normal-ticked ((,class (:foreground "black" :background 
"#E7AEB0"))))
-   `(gnus-summary-normal-unread ((,class (:foreground "black"))))
-   `(gnus-summary-selected ((,class (:underline t :foreground "black" 
:background "#FFD0D0"))))
+   `(gnus-summary-normal-ancient ((,class ,mail-read)))
+   `(gnus-summary-normal-read ((,class ,mail-read)))
+   `(gnus-summary-normal-ticked ((,class ,mail-ticked)))
+   `(gnus-summary-normal-unread ((,class ,mail-unread)))
+   `(gnus-summary-selected ((,class (:foreground "white" :background 
"#008CD7"))))
    `(gnus-x-face ((,class (:foreground "black" :background "white"))))
 
    ;; Message faces
    `(message-header-name ((,class ,mail-header-name)))
-   `(message-header-cc ((,class (:family "Sans Serif" :foreground "blue"))))
-   `(message-header-other ((,class (:family "Sans Serif" :foreground 
"#3399CC"))))
+   `(message-header-cc ((,class ,mail-to)))
+   `(message-header-other ((,class ,mail-header-other)))
    `(message-header-subject ((,class ,subject)))
-   `(message-header-to ((,class (:family "Sans Serif" :foreground "blue"))))
+   `(message-header-to ((,class ,mail-to)))
    `(message-cited-text ((,class (:foreground "#5050B0"))))
-   `(message-separator ((,class (:family "Sans Serif" :weight bold :foreground 
"red"))))
+   `(message-separator ((,class (:family "Sans Serif" :weight normal 
:foreground "#BDC2C6"))))
    `(message-header-newsgroups ((,class (:family "Sans Serif" :foreground 
"#3399CC"))))
-   `(message-header-xheader ((,class (:family "Sans Serif" :foreground 
"#3399CC"))))
+   `(message-header-xheader ((,class ,mail-header-other)))
    `(message-mml ((,class (:foreground "forest green"))))
 
    ;; Diff
    `(diff-added ((,class ,diff-added)))
-   `(diff-changed ((,class (:foreground "blue" :background "#DDDDFF"))))
+   `(diff-changed ((,class ,diff-changed)))
    `(diff-context ((,class ,diff-none)))
-   `(diff-file-header ((,class (:foreground "#0000CC" :background "#EAF2F5"))))
+   `(diff-file-header ((,class ,diff-header)))
    `(diff-file1-hunk-header ((,class (:foreground "dark magenta" :background 
"#EAF2F5"))))
    `(diff-file2-hunk-header ((,class (:foreground "#2B7E2A" :background 
"#EAF2F5"))))
-   `(diff-header ((,class (:foreground "#999999" :background "#EAF2F5"))))
+   `(diff-function ((,class (:foreground "darkgray"))))
+   `(diff-header ((,class ,diff-header)))
    `(diff-hunk-header ((,class ,diff-hunk-header)))
-   `(diff-index ((,class (:foreground "#4183C4" :background "#EAF2F5")))) ; my 
foreground is NOT applied!?
-   `(diff-indicator-added ((,class (:foreground "#008000" :background 
"#AAFFAA"))))
-   `(diff-indicator-changed ((,class (:foreground "black" :background 
"#AAAAFF"))))
-   `(diff-indicator-removed ((,class (:foreground "#A60000" :background 
"#FFAAAA"))))
+   `(diff-index ((,class ,diff-header)))
+   `(diff-indicator-added ((,class (:background "#AAFFAA"))))
+   `(diff-indicator-changed ((,class (:background "#8080FF"))))
+   `(diff-indicator-removed ((,class (:background "#FFBBBB"))))
    `(diff-refine-change ((,class (:background "#DDDDFF"))))
    `(diff-removed ((,class ,diff-removed)))
 
@@ -241,8 +253,11 @@
    `(ediff-odd-diff-B ((,class (:foreground "black" :background "light 
grey"))))
 
    ;; Flyspell
+;; (when (version< emacs-version "24.XXX")
    `(flyspell-duplicate ((,class (:underline "#008000" :inherit nil))))
    `(flyspell-incorrect ((,class (:underline "red" :inherit nil))))
+;; `(flyspell-duplicate ((,class (:underline (:style wave :color "#008000") 
:inherit nil))))
+;; `(flyspell-incorrect ((,class (:underline (:style wave :color "red") 
:inherit nil))))
 
    ;; ;; Semantic faces
    ;; `(semantic-decoration-on-includes ((,class (:underline ,cham-4))))
@@ -257,13 +272,19 @@
    `(Info-title-2-face ((,class ,ol2)))
    `(Info-title-3-face ((,class ,ol3)))
    `(Info-title-4-face ((,class ,ol4)))
+   `(ac-completion-face ((,class (:underline nil :foreground "#C0C0C0")))) ; 
like Google
    `(ace-jump-face-foreground ((,class (:foreground "black" :background 
"#FBE448"))))
+   `(auto-dim-other-buffers-face ((,class (:background "#F7F7F7"))))
    `(bbdb-company ((,class (:slant italic :foreground "steel blue"))))
    `(bbdb-field-name ((,class (:weight bold :foreground "steel blue"))))
    `(bbdb-field-value ((,class (:foreground "steel blue"))))
    `(bbdb-name ((,class (:underline t :foreground "#FF6633"))))
+   `(bmkp-light-autonamed ((,class (:background "#C2DDFD"))))
+   `(bmkp-light-fringe-autonamed ((,class (:background "#90AFD5"))))
+   `(bmkp-light-fringe-non-autonamed ((,class (:background "#D5FFD5"))))
+   `(bmkp-light-non-autonamed ((,class (:background "#C4FFC4"))))
    `(browse-kill-ring-separator-face ((,class (:weight bold :foreground "slate 
gray"))))
-   `(calendar-today ((,class (:weight bold :foreground "#4F4A3D" :background 
"#FFFABE"))))
+   `(calendar-today ((,class (:weight bold :foreground "#4F4A3D" :background 
"#FFFFCC"))))
    `(cfw:face-annotation ((,class (:foreground "green" :background "red"))))
    `(cfw:face-day-title ((,class (:foreground "#C9C9C9"))))
    `(cfw:face-default-content ((,class (:foreground "#2952A3"))))
@@ -277,8 +298,8 @@
    `(cfw:face-select ((,class (:foreground "#4A95EB" :background "#EDF1FA"))))
    `(cfw:face-sunday ((,class (:foreground "#4E4E4E" :background "white" 
:weight bold))))
    `(cfw:face-title ((,class (:height 2.0 :foreground "#676767" :weight bold 
:inherit variable-pitch))))
-   `(cfw:face-today ((,class (:foreground "#4F4A3D" :background "#FFFABE"))))
-   `(cfw:face-today-title ((,class (:foreground "#4A95EB" :background 
"#FFFABE"))))
+   `(cfw:face-today ((,class (:foreground "#4F4A3D" :background "#FFFFCC"))))
+   `(cfw:face-today-title ((,class (:foreground "#4A95EB" :background 
"#FFFFCC"))))
    `(cfw:face-toolbar ((,class (:background "white"))))
    `(cfw:face-toolbar-button-off ((,class (:foreground "#CFCFCF" :background 
"white"))))
    `(cfw:face-toolbar-button-on ((,class (:foreground "#5E5E5E" :background 
"#F6F6F6"))))
@@ -290,8 +311,13 @@
    `(circe-originator-face ((,class (:foreground "blue"))))
    `(circe-prompt-face ((,class (:foreground "red"))))
    `(circe-server-face ((,class (:foreground "#99CAE5"))))
-   `(comint-highlight-input ((,class (:weight bold :foreground "#0000FF"))))
-   `(comint-highlight-prompt ((,class (:weight bold :foreground "black" 
:background "gold"))))
+   `(comint-highlight-input ((,class (:weight bold :foreground "#0000FF" 
:inherit nil))))
+   ;; `(comint-highlight-prompt ((,class (:weight bold :foreground "black" 
:background "gold"))))
+   `(comint-highlight-prompt ((,class (:weight bold :foreground "#0000FF" 
:inherit nil))))
+   `(company-preview-common ((,class (:foreground "#C0C0C0" :background 
"#FFFFD7")))) ; same background as highlight-line
+   `(company-tooltip-annotation ((,class (:foreground "#999999" :background 
"cornsilk"))))
+   `(company-tooltip-common ((,class (:weight bold :inherit company-tooltip))))
+   `(company-tooltip-common-selection ((,class (:weight bold :inherit 
company-tooltip-selection))))
    `(compare-windows ((,class (:background "#FFFF00"))))
    `(compilation-error ((,class (:weight bold :foreground "red"))))
    `(compilation-info ((,class (:weight bold :foreground "#2A489E")))) ; used 
for grep
@@ -322,25 +348,31 @@
    `(custom-variable-button ((,class (:weight bold :underline t))))
    `(custom-variable-tag ((,class (:family "Sans Serif" :height 1.2 :weight 
bold :foreground "blue1"))))
    `(custom-visibility ((,class ,link)))
+   `(diff-hl-change ((,class (:foreground "blue3" :inherit diff-changed))))
+   `(diff-hl-delete ((,class (:foreground "red3" :inherit diff-removed))))
+   `(diff-hl-dired-change ((,class (:background "#FFA335" :foreground "black" 
:weight bold))))
+   `(diff-hl-dired-unknown ((,class (:foreground "white" :background 
"#3F3BB4"))))
+   `(diff-hl-insert ((,class (:foreground "green4" :inherit diff-added))))
+   `(diff-hl-unknown ((,class (:foreground "white" :background "#3F3BB4"))))
    `(diary-face ((,class (:foreground "#87C9FC"))))
    `(dircolors-face-asm ((,class (:foreground "black"))))
    `(dircolors-face-backup ((,class (:foreground "black"))))
    `(dircolors-face-compress ((,class (:foreground "red"))))
    `(dircolors-face-dir ((,class ,directory)))
    `(dircolors-face-doc ((,class (:foreground "black"))))
-   `(dircolors-face-dos ((,class (:foreground "green3"))))
+   `(dircolors-face-dos ((,class (:foreground "ForestGreen"))))
    `(dircolors-face-emacs ((,class (:foreground "black"))))
-   `(dircolors-face-exec ((,class (:foreground "green3"))))
+   `(dircolors-face-exec ((,class (:foreground "ForestGreen"))))
    `(dircolors-face-html ((,class (:foreground "black"))))
-   `(dircolors-face-img ((,class (:foreground "black"))))
+   `(dircolors-face-img ((,class (:foreground "magenta3"))))
    `(dircolors-face-lang ((,class (:foreground "black"))))
    `(dircolors-face-lang-interface ((,class (:foreground "black"))))
    `(dircolors-face-make ((,class (:foreground "black"))))
    `(dircolors-face-objet ((,class (:foreground "black"))))
-   `(dircolors-face-package ((,class (:foreground "red"))))
+   `(dircolors-face-package ((,class (:foreground "black"))))
    `(dircolors-face-paddb ((,class (:foreground "black"))))
    `(dircolors-face-ps ((,class (:foreground "black"))))
-   `(dircolors-face-sound ((,class (:foreground "black"))))
+   `(dircolors-face-sound ((,class (:foreground "DeepSkyBlue"))))
    `(dircolors-face-tar ((,class (:foreground "red"))))
    `(dircolors-face-text ((,class (:foreground "black"))))
    `(dircolors-face-yacc ((,class (:foreground "black"))))
@@ -355,9 +387,9 @@
    `(diredp-dir-heading ((,class ,directory)))
    `(diredp-dir-priv ((,class ,directory)))
    `(diredp-exec-priv ((,class (:background "#03C03C"))))
-   `(diredp-executable-tag ((,class (:foreground "green3" :background 
"white"))))
+   `(diredp-executable-tag ((,class (:foreground "ForestGreen" :background 
"white"))))
    `(diredp-file-name ((,class (:foreground "black"))))
-   `(diredp-file-suffix ((,class (:foreground "#008000"))))
+   `(diredp-file-suffix ((,class (:foreground "#C0C0C0"))))
    `(diredp-flag-mark-line ((,class ,marked-line)))
    `(diredp-ignored-file-name ((,class ,shadow)))
    `(diredp-read-priv ((,class (:background "#0A99FF"))))
@@ -389,14 +421,18 @@
    `(helm-ff-symlink ((,class ,symlink)))
    `(helm-file-name ((,class (:foreground "blue"))))
    `(helm-gentoo-match-face ((,class (:foreground "red"))))
+   `(helm-grep-match ((,class ,match)))
    `(helm-grep-running ((,class (:weight bold :foreground "white"))))
    `(helm-grep-lineno ((,class ,shadow)))
    `(helm-isearch-match ((,class (:background "#CCFFCC"))))
    `(helm-match ((,class ,match)))
    `(helm-moccur-buffer ((,class (:foreground "#0066CC"))))
-   `(helm-selection ((,class ,highlight-line)))
+   `(helm-selection ((,class ,volatile-highlight)))
    `(helm-selection-line ((,class ,volatile-highlight)))
    `(helm-source-header ((,class (:family "Sans Serif" :height 1.3 :weight 
bold :foreground "white" :background "#2F69BF"))))
+   `(helm-swoop-target-line-face ((,class ,volatile-highlight)))
+   `(helm-swoop-target-line-block-face ((,class (:background "#CCCC00" 
:foreground "#222222"))))
+   `(helm-swoop-target-word-face ((,class (:weight bold :foreground nil 
:background "#FDBD33"))))
    `(helm-visible-mark ((,class ,marked-line)))
    `(helm-w3m-bookmarks-face ((,class (:underline t :foreground "cyan1"))))
    `(highlight-symbol-face ((,class (:background "#FFFFA0"))))
@@ -424,7 +460,7 @@
    `(info-xref ((,class (:underline t :foreground "#006DAF")))) ; unvisited 
cross-references
    `(info-xref-visited ((,class (:underline t :foreground "magenta4")))) ; 
previously visited cross-references
    `(light-symbol-face ((,class (:background "#FFFFA0"))))
-   `(linum ((,class (:foreground "#AFAFAF" :background "white"))))
+   `(linum ((,class (:foreground "#9A9A9A" :background "#EDEDED"))))
    `(log-view-file ((,class (:foreground "#0000CC" :background "#EAF2F5"))))
    `(lui-button-face ((,class ,link)))
    `(lui-highlight-face ((,class (:box '(:line-width 1 :color "#CC0000") 
:foreground "#CC0000" :background "#FFFF88")))) ; my nickname
@@ -440,7 +476,7 @@
    `(magit-item-mark ((,class ,marked-line)))
    `(magit-log-head-label ((,class (:box (:line-width 1 :color "blue" :style 
nil)))))
    `(magit-log-tag-label ((,class (:box (:line-width 1 :color "#00CC00" :style 
nil)))))
-   `(magit-section-title ((,class (:family "Sans Serif" :height 1.8 :weight 
bold :foreground "cornflower blue"))))
+   `(magit-section-title ((,class (:family "Sans Serif" :height 1.8 :weight 
bold :foreground "cornflower blue" :inherit nil))))
    `(makefile-space-face ((,class (:background "hot pink"))))
    `(makefile-targets ((,class (:weight bold :foreground "blue"))))
    `(match ((,class ,match)))
@@ -459,23 +495,22 @@
    `(nxml-processing-instruction-target-face ((,class (:foreground 
"purple1"))))
    `(nxml-tag-delimiter-face ((,class (:foreground "blue"))))
    `(nxml-tag-slash-face ((,class (:foreground "blue"))))
-   `(org-agenda-block-count ((,class (:weight bold :foreground "blue"))))
+   `(org-agenda-block-count ((,class (:weight bold :foreground "#A5A5A5"))))
    `(org-agenda-calendar-event ((,class (:weight bold :foreground "#3774CC" 
:background "#A8C5EF"))))
    `(org-agenda-calendar-sexp ((,class (:foreground "#777777" :background 
"#E4EBFE"))))
-   `(org-agenda-clocking ((,class ,clock-line)))
+   `(org-agenda-clocking ((,class (:foreground "black" :background 
"#EEC900"))))
    `(org-agenda-column-dateline ((,class ,column)))
    `(org-agenda-current-time ((,class (:underline t :foreground "#1662AF"))))
    `(org-agenda-date ((,class (:height 1.6 :weight bold :foreground 
"#1662AF"))))
-   `(org-agenda-date-today ((,class (:height 1.6 :weight bold :foreground 
"#4F4A3D" :background "#FFFABE"))))
+   `(org-agenda-date-today ((,class (:height 1.6 :weight bold :foreground 
"#4F4A3D" :background "#FFFFCC"))))
    `(org-agenda-date-weekend ((,class (:height 1.6 :weight bold :foreground 
"#4E4E4E"))))
    `(org-agenda-diary ((,class (:weight bold :foreground "green4" :background 
"light blue"))))
    `(org-agenda-dimmed-todo-face ((,class (:foreground "gold2"))))
-   `(org-agenda-done ((,class (:foreground "#555555" :background "#EEEEEE"))))
+   `(org-agenda-done ((,class (:foreground "#555555"))))
    `(org-agenda-filter-category ((,class (:weight bold :foreground "orange"))))
    `(org-agenda-filter-tags ((,class (:weight bold :foreground "orange"))))
    `(org-agenda-restriction-lock ((,class (:background "#E77D63"))))
-   ;; `(org-agenda-structure ((,class (:height 1.6 :weight bold :box 
(:line-width 1 :color "#999999") :foreground "#666666" :background "#CCCCCC"))))
-   `(org-agenda-structure ((,class (:height 1.6 :bold nil :foreground 
"#999999"))))
+   `(org-agenda-structure ((,class (:height 1.6 :weight bold :foreground 
"#1F8DD6"))))
    `(org-archived ((,class (:foreground "gray70"))))
    `(org-beamer-tag ((,class (:box (:line-width 1 :color "#FABC18") 
:foreground "#2C2C2C" :background "#FFF8D0"))))
    `(org-block ((,class ,code-block)))
@@ -488,7 +523,7 @@
    `(org-column ((,class ,column)))
    `(org-column-title ((,class ,column)))
    `(org-date ((,class (:underline t :foreground "#00459E"))))
-   `(org-default ((,class (:foreground "#333333"))))
+   `(org-default ((,class (:foreground "#333333" :background "#FFFFFF"))))
    `(org-dim ((,class (:foreground "#AAAAAA"))))
    `(org-document-info ((,class (:foreground "#484848"))))
    `(org-document-info-keyword ((,class (:foreground "#008ED1" :background 
"#EAEAFF"))))
@@ -499,10 +534,10 @@
    `(org-example ((,class (:foreground "blue" :background "#EAFFEA"))))
    `(org-footnote ((,class (:underline t :foreground "#008ED1"))))
    `(org-formula ((,class (:foreground "chocolate1"))))
-   `(org-headline-done ((,class (:height 1.0 :weight normal :foreground 
"#999999"))))
+   `(org-headline-done ((,class (:height 1.0 :weight normal :strike-through t 
:foreground "#ADADAD"))))
    `(org-hide ((,class (:foreground "#E2E2E2"))))
    `(org-inlinetask ((,class (:box (:line-width 1 :color "#EBEBEB") 
:foreground "#777777" :background "#FFFFD6"))))
-   `(org-latex-and-related ((,class ,code-block)))
+   `(org-latex-and-related ((,class (:foreground "#336699" :background 
"white"))))
    `(org-level-1 ((,class ,ol1)))
    `(org-level-2 ((,class ,ol2)))
    `(org-level-3 ((,class ,ol3)))
@@ -513,6 +548,7 @@
    `(org-level-8 ((,class ,ol8)))
    `(org-link ((,class ,link)))
    `(org-list-dt ((,class (:weight bold :foreground "#335EA8"))))
+   `(org-macro ((,class (:foreground "white" :background "#EDB802"))))
    `(org-meta-line ((,class (:slant normal :foreground "#008ED1" :background 
"#EAEAFF"))))
    `(org-mode-line-clock ((,class ,clock-line)))
    `(org-mode-line-clock-overrun ((,class (:weight bold :box (:line-width 1 
:color "#335EA8") :foreground "white" :background "#FF4040"))))
@@ -520,12 +556,12 @@
    `(org-property-value ((,class (:foreground "#00A000"))))
    `(org-quote ((,class (:slant italic :foreground "dim gray" :background 
"#FFFFE0"))))
    `(org-scheduled ((,class (:foreground "#333333"))))
-   `(org-scheduled-previously ((,class (:weight bold :foreground "#373737"))))
-   `(org-scheduled-today ((,class (:foreground "#4F4A3D" :background 
"#FFFABE"))))
+   `(org-scheduled-previously ((,class (:foreground "#F22659"))))
+   `(org-scheduled-today ((,class (:weight bold :foreground "#4F4A3D" 
:background "#FFFFCC"))))
    `(org-sexp-date ((,class (:foreground "#3774CC"))))
    `(org-special-keyword ((,class (:weight bold :foreground "#00BB00" 
:background "#EAFFEA"))))
    `(org-table ((,class (:foreground "dark green" :background "#EAFFEA"))))
-   `(org-tag ((,class (:weight normal :slant italic :foreground "#9A9FA4" 
:background "#F3F3F3"))))
+   `(org-tag ((,class (:weight normal :slant italic :foreground "#9A9FA4" 
:background "white"))))
    `(org-target ((,class ,link)))
    `(org-time-grid ((,class (:foreground "#CFCFCF"))))
    `(org-todo ((,class (:weight bold :box (:line-width 1 :color "#D8ABA7") 
:foreground "#D8ABA7" :background "#FFE6E4"))))
@@ -544,9 +580,25 @@
    `(pabbrev-debug-display-label-face ((,class (:background "chartreuse"))))
    `(pabbrev-suggestions-face ((,class (:weight bold :foreground "white" 
:background "red"))))
    `(pabbrev-suggestions-label-face ((,class (:weight bold :foreground "white" 
:background "purple"))))
-   `(paren-face-match ((,class (:foreground "#E2464C" :background "#FFE182"))))
-   `(paren-face-mismatch ((,class (:weight bold :foreground "white" 
:background "#FF3F3F"))))
-   `(paren-face-no-match ((,class (:weight bold :foreground "white" 
:background "#FF3F3F"))))
+   `(paren-face-match ((,class ,paren-matched)))
+   `(paren-face-mismatch ((,class ,paren-unmatched)))
+   `(paren-face-no-match ((,class ,paren-unmatched)))
+   `(persp-selected-face ((,class (:weight bold :foreground "#EEF5FE"))))
+   `(powerline-active1 ((,class (:background "grey22" :inherit mode-line))))
+   `(powerline-active2 ((,class (:background "#4070B6" :inherit mode-line))))
+   `(powerline-inactive1 ((,class (:background "#686868" :inherit 
mode-line-inactive))))
+   `(powerline-inactive2 ((,class (:background "#A9A9A9" :inherit 
mode-line-inactive))))
+   `(rainbow-delimiters-depth-1-face ((,class (:foreground "#707183"))))
+   `(rainbow-delimiters-depth-2-face ((,class (:foreground "#7388D6"))))
+   `(rainbow-delimiters-depth-3-face ((,class (:foreground "#909183"))))
+   `(rainbow-delimiters-depth-4-face ((,class (:foreground "#709870"))))
+   `(rainbow-delimiters-depth-5-face ((,class (:foreground "#907373"))))
+   `(rainbow-delimiters-depth-6-face ((,class (:foreground "#6276BA"))))
+   `(rainbow-delimiters-depth-7-face ((,class (:foreground "#858580"))))
+   `(rainbow-delimiters-depth-8-face ((,class (:foreground "#80A880"))))
+   `(rainbow-delimiters-depth-9-face ((,class (:foreground "#887070"))))
+   `(rainbow-delimiters-mismatched-face ((,class ,paren-unmatched)))
+   `(rainbow-delimiters-unmatched-face ((,class ,paren-unmatched)))
    `(recover-this-file ((,class (:weight bold :background "#FF3F3F"))))
    `(rng-error ((,class (:weight bold :foreground "red" :background 
"#FBE3E4"))))
    `(sh-heredoc ((,class (:foreground "blue" :background "#EEF5FE"))))
@@ -556,9 +608,9 @@
    `(shell-output-2-face ((,class (:foreground "blue"))))
    `(shell-output-3-face ((,class (:foreground "purple"))))
    `(shell-output-face ((,class (:foreground "black"))))
-   `(shell-prompt-face ((,class (:weight bold :foreground "yellow"))))
-   `(show-paren-match ((,class (:foreground "#E2464C" :background "#FFFF00"))))
-   `(show-paren-mismatch ((,class (:weight bold :foreground "white" 
:background "#FF3F3F"))))
+   ;; `(shell-prompt-face ((,class (:weight bold :foreground "yellow"))))
+   `(show-paren-match ((,class ,paren-matched)))
+   `(show-paren-mismatch ((,class ,paren-unmatched)))
    `(sml-modeline-end-face ((,class (:background "#6BADF6")))) ; #335EA8
    `(sml-modeline-vis-face ((,class (:background "#1979CA"))))
    `(speedbar-button-face ((,class (:foreground "green4"))))
@@ -625,10 +677,13 @@
    `(yas/field-highlight-face ((,class (:background "DarkSeaGreen1"))))
    ))
 
-(custom-theme-set-variables
- 'leuven
- '(ansi-color-names-vector ["#242424" "#E5786D" "#95E454" "#CAE682"
-                            "#8AC6F2" "#333366" "#CCAA8F" "#F6F3E8"]))
+(custom-theme-set-variables 'leuven
+ '(ansi-color-faces-vector
+   [default default default italic underline success warning error])
+ '(ansi-color-names-vector
+   ["black" "red3" "ForestGreen" "yellow3" "blue" "magenta3" "DeepSkyBlue" 
"gray50"])
+                                        ; colors used in Shell mode
+ )
 
 ;;;###autoload
 (when (and (boundp 'custom-theme-load-path)

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-09-30 17:52:11 +0000
+++ b/lisp/ChangeLog    2014-09-30 23:19:31 +0000
@@ -1,3 +1,15 @@
+2014-09-30  Leonardo Nobrega  <address@hidden>  (tiny change)
+
+       * progmodes/python.el (python-fill-paren): Don't inf-loop at EOB
+       (bug#18462).
+
+2014-09-30  Stefan Monnier  <address@hidden>
+
+       * emacs-lisp/package.el (package-check-signature): Default to nil if
+       GPG is not available.
+       (package-refresh-contents): Don't mess with the keyring if we won't
+       check the signatures anyway.
+
 2014-09-30  Stefan Monnier  <address@hidden>
 
        * ses.el (ses--row, ses--col): New dyn-scoped vars, to replace row&col.

=== modified file 'lisp/emacs-lisp/package.el'
--- a/lisp/emacs-lisp/package.el        2014-09-03 04:21:40 +0000
+++ b/lisp/emacs-lisp/package.el        2014-09-30 23:19:31 +0000
@@ -289,7 +289,9 @@
   :group 'package
   :version "24.1")
 
-(defcustom package-check-signature 'allow-unsigned
+(defcustom package-check-signature
+  (if (progn (require 'epg-config) (executable-find epg-gpg-program))
+      'allow-unsigned)
   "Non-nil means to check package signatures when installing.
 The value `allow-unsigned' means to still install a package even if
 it is unsigned.
@@ -1314,12 +1316,12 @@
     (make-directory package-user-dir t))
   (let ((default-keyring (expand-file-name "package-keyring.gpg"
                                           data-directory)))
-    (if (file-exists-p default-keyring)
-       (condition-case-unless-debug error
-           (progn
-             (epg-check-configuration (epg-configuration))
-             (package-import-keyring default-keyring))
-         (error (message "Cannot import default keyring: %S" (cdr error))))))
+    (when (and package-check-signature (file-exists-p default-keyring))
+      (condition-case-unless-debug error
+         (progn
+           (epg-check-configuration (epg-configuration))
+           (package-import-keyring default-keyring))
+       (error (message "Cannot import default keyring: %S" (cdr error))))))
   (dolist (archive package-archives)
     (condition-case-unless-debug nil
        (package--download-one-archive archive "archive-contents")

=== modified file 'lisp/erc/ChangeLog'
--- a/lisp/erc/ChangeLog        2014-09-26 13:05:28 +0000
+++ b/lisp/erc/ChangeLog        2014-09-30 23:19:31 +0000
@@ -1,3 +1,11 @@
+2014-09-30  Stefan Monnier  <address@hidden>
+
+       * erc-track.el (erc-modified-channels-display): Update all mode lines
+       if needed (bug#18510).  Remove call to erc-modified-channels-object
+       where we ignored the return value.
+       (erc-modified-channels-update): Don't force-mode-line-update here
+       any more.
+
 2014-09-26  Kelvin White  <address@hidden>
 
        * erc.el (erc-format-nick): Fix code regression - Bug #18551
@@ -12,7 +20,7 @@
        (erc-cmd-SV, erc-ctcp-query-VERSION, erc-version, erc-version-string):
        Change version string.
 
-2014-08-13  Kelvin White  <address@hidden> 
+2014-08-13  Kelvin White  <address@hidden>
 
        * erc.el (erc-send-input): Disable display commands in current buffer
        (erc-format-target-and/or-network): Fix cases when buffer name is set

=== modified file 'lisp/erc/erc-track.el'
--- a/lisp/erc/erc-track.el     2014-02-10 01:34:22 +0000
+++ b/lisp/erc/erc-track.el     2014-09-24 17:31:59 +0000
@@ -767,8 +767,7 @@
                  (erc-modified-channels-remove-buffer buffer))))
            erc-modified-channels-alist)
       (when removed-channel
-       (erc-modified-channels-display)
-       (force-mode-line-update t)))
+       (erc-modified-channels-display)))
     (remove-hook 'post-command-hook 'erc-modified-channels-update)))
 
 (defvar erc-track-mouse-face (if (featurep 'xemacs)
@@ -825,43 +824,45 @@
        ((eq 'importance erc-track-switch-direction)
         (erc-track-sort-by-importance)))
   (run-hooks 'erc-track-list-changed-hook)
-  (unless (eq erc-track-position-in-mode-line nil)
-  (if (null erc-modified-channels-alist)
-      (setq erc-modified-channels-object (erc-modified-channels-object nil))
-    ;; erc-modified-channels-alist contains all the data we need.  To
-    ;; better understand what is going on, we split things up into
-    ;; four lists: BUFFERS, COUNTS, SHORT-NAMES, and FACES.  These
-    ;; four lists we use to create a new
-    ;; `erc-modified-channels-object' using
-    ;; `erc-make-mode-line-buffer-name'.
-    (let* ((buffers (mapcar 'car erc-modified-channels-alist))
-          (counts (mapcar 'cadr erc-modified-channels-alist))
-          (faces (mapcar 'cddr erc-modified-channels-alist))
-          (long-names (mapcar #'(lambda (buf)
-                                  (or (buffer-name buf)
-                                      ""))
-                              buffers))
-          (short-names (if (functionp erc-track-shorten-function)
-                           (funcall erc-track-shorten-function
-                                    long-names)
-                         long-names))
-          strings)
-      (while buffers
-       (when (car short-names)
-         (setq strings (cons (erc-make-mode-line-buffer-name
-                              (car short-names)
-                              (car buffers)
-                              (car faces)
-                              (car counts))
-                             strings)))
-       (setq short-names (cdr short-names)
-             buffers (cdr buffers)
-             counts (cdr counts)
-             faces (cdr faces)))
-      (when (featurep 'xemacs)
-       (erc-modified-channels-object nil))
-      (setq erc-modified-channels-object
-           (erc-modified-channels-object strings))))))
+  (when erc-track-position-in-mode-line
+    (let* ((oldobject erc-modified-channels-object)
+          (strings
+           (when erc-modified-channels-alist
+             ;; erc-modified-channels-alist contains all the data we need.  To
+             ;; better understand what is going on, we split things up into
+             ;; four lists: BUFFERS, COUNTS, SHORT-NAMES, and FACES.  These
+             ;; four lists we use to create a new
+             ;; `erc-modified-channels-object' using
+             ;; `erc-make-mode-line-buffer-name'.
+             (let* ((buffers (mapcar 'car erc-modified-channels-alist))
+                    (counts (mapcar 'cadr erc-modified-channels-alist))
+                    (faces (mapcar 'cddr erc-modified-channels-alist))
+                    (long-names (mapcar #'(lambda (buf)
+                                            (or (buffer-name buf)
+                                                ""))
+                                        buffers))
+                    (short-names (if (functionp erc-track-shorten-function)
+                                     (funcall erc-track-shorten-function
+                                              long-names)
+                                   long-names))
+                    strings)
+               (while buffers
+                 (when (car short-names)
+                   (setq strings (cons (erc-make-mode-line-buffer-name
+                                        (car short-names)
+                                        (car buffers)
+                                        (car faces)
+                                        (car counts))
+                                       strings)))
+                 (setq short-names (cdr short-names)
+                       buffers (cdr buffers)
+                       counts (cdr counts)
+                       faces (cdr faces)))
+               strings)))
+          (newobject (erc-modified-channels-object strings)))
+      (unless (equal oldobject newobject)
+       (setq erc-modified-channels-object newobject)
+       (force-mode-line-update t)))))
 
 (defun erc-modified-channels-remove-buffer (buffer)
   "Remove BUFFER from `erc-modified-channels-alist'."

=== modified file 'lisp/mh-e/ChangeLog'
--- a/lisp/mh-e/ChangeLog       2014-09-30 05:06:42 +0000
+++ b/lisp/mh-e/ChangeLog       2014-09-30 23:19:31 +0000
@@ -9,8 +9,8 @@
        * mh-comp.el (mh-insert-x-face): Ensure that mh-x-face-file is a
        string before trying to use it (closes SF #474).
        (mh-bare-components): New function to create a temporary initial
-       components file; replaces mh-find-components. Improve the temp
-       folder and file names as per a suggestion from Bill Wohler. Also
+       components file; replaces mh-find-components.  Improve the temp
+       folder and file names as per a suggestion from Bill Wohler.  Also
        address XEmacs compatibility issues: use mm-make-temp-file instead
        of make-temp-file, and only pass one argument to delete-directory.
        (mh-edit-again, mh-send-sub): Use mh-bare-components instead of

=== modified file 'lisp/progmodes/python.el'
--- a/lisp/progmodes/python.el  2014-09-29 18:14:08 +0000
+++ b/lisp/progmodes/python.el  2014-09-30 23:19:31 +0000
@@ -3300,7 +3300,8 @@
                           (end-of-line)
                           (when (not (python-syntax-context 'paren))
                             (skip-syntax-backward "^)")))
-                        (while (python-syntax-context 'paren)
+                        (while (and (python-syntax-context 'paren)
+                                    (not (eobp)))
                           (goto-char (1+ (point-marker))))
                         (point-marker)))
     (let ((paragraph-start "\f\\|[ \t]*$")
@@ -3311,7 +3312,8 @@
     (while (not (eobp))
       (forward-line 1)
       (python-indent-line)
-      (goto-char (line-end-position)))) t)
+      (goto-char (line-end-position))))
+  t)
 
 
 ;;; Skeletons

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-09-30 20:17:36 +0000
+++ b/src/ChangeLog     2014-09-30 23:19:31 +0000
@@ -1,3 +1,43 @@
+2014-09-30  Eli Zaretskii  <address@hidden>
+
+       * w32fns.c (w32_createwindow): Accept an additional argument, an
+       array of 2 values specifying the coordinates of the frame's
+       top-left corner.  Use these values instead of calling x_get_arg,
+       which can cons Lisp objects, and therefore cannot be called except
+       from the main thread.  Remove redundant tests for the default
+       values.
+       (my_create_window): Move the calculation of the coordinates of the
+       frame's top-left edge here.  Pass them to the input thread via the
+       second parameter of the WM_EMACS_CREATEWINDOW message.  See
+       http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00892.html
+       for the details.
+
+2014-09-30  Eli Zaretskii  <address@hidden>
+
+       * xdisp.c (cursor_row_fully_visible_p): Update commentary.
+       (redisplay_window): Treat the frame's frozen_window_starts flag
+       the same way as the optional_new_start flag for the window: only
+       obey it if the glyph row showing point will be fully visible.
+       Likewise when the window start is in a continuation line.  If,
+       after trying everything under the 'force_start' label, point is
+       still not fully visible, give up and scroll the window.  Add
+       debugging traces.  (Bug#18545)
+
+       * window.c (Frecenter): Set the window's redisplay flag.
+
+2014-09-30  Eli Zaretskii  <address@hidden>
+
+       * w32term.c (w32_read_socket): Don't use frame dimensions for
+       resizing if GetClientRect returned an empty (0, 0, 0, 0)
+       rectangle.  Check the return value of GetClientRect, and don't use
+       the results if it didn't succeed.
+
+       * dispnew.c (change_frame_size_1): Recompute the frame dimensions
+       in columns and lines after correcting the pixel dimensions in
+       check_frame_size.
+       (adjust_decode_mode_spec_buffer): Add assertion to avoid passing
+       negative values to xrealloc.  (Bug#18528)
+
 2014-09-30  Paul Eggert  <address@hidden>
 
        * alloc.c: Remove now-unnecessary check.

=== modified file 'src/dispnew.c'
--- a/src/dispnew.c     2014-09-18 11:34:24 +0000
+++ b/src/dispnew.c     2014-09-30 23:19:31 +0000
@@ -2137,8 +2137,11 @@
 static void
 adjust_decode_mode_spec_buffer (struct frame *f)
 {
+  ssize_t frame_message_buf_size = FRAME_MESSAGE_BUF_SIZE (f);
+
+  eassert (frame_message_buf_size >= 0);
   f->decode_mode_spec_buffer = xrealloc (f->decode_mode_spec_buffer,
-                                        FRAME_MESSAGE_BUF_SIZE (f) + 1);
+                                        frame_message_buf_size + 1);
 }
 
 

=== modified file 'src/w32fns.c'
--- a/src/w32fns.c      2014-09-25 09:34:53 +0000
+++ b/src/w32fns.c      2014-09-30 23:19:31 +0000
@@ -1956,13 +1956,12 @@
 }
 
 static void
-w32_createwindow (struct frame *f)
+w32_createwindow (struct frame *f, int *coords)
 {
   HWND hwnd;
   RECT rect;
-  Lisp_Object top = Qunbound;
-  Lisp_Object left = Qunbound;
-  struct w32_display_info *dpyinfo = &one_w32_display_info;
+  int top;
+  int left;
 
   rect.left = rect.top = 0;
   rect.right = FRAME_PIXEL_WIDTH (f);
@@ -1977,25 +1976,21 @@
 
   if (f->size_hint_flags & USPosition || f->size_hint_flags & PPosition)
     {
-      XSETINT (left, f->left_pos);
-      XSETINT (top, f->top_pos);
+      left = f->left_pos;
+      top = f->top_pos;
     }
-  else if (EQ (left, Qunbound) && EQ (top, Qunbound))
+  else
     {
-      /* When called with RES_TYPE_NUMBER, w32_get_arg will return zero
-        for anything that is not a number and is not Qunbound.  */
-      left = x_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", RES_TYPE_NUMBER);
-      top = x_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER);
+      left = coords[0];
+      top = coords[1];
     }
 
   FRAME_W32_WINDOW (f) = hwnd
     = CreateWindow (EMACS_CLASS,
                    f->namebuf,
                    f->output_data.w32->dwStyle | WS_CLIPCHILDREN,
-                   EQ (left, Qunbound) ? CW_USEDEFAULT : XINT (left),
-                   EQ (top, Qunbound) ? CW_USEDEFAULT : XINT (top),
-                   rect.right - rect.left,
-                   rect.bottom - rect.top,
+                   left, top,
+                   rect.right - rect.left, rect.bottom - rect.top,
                    NULL,
                    NULL,
                    hinst,
@@ -2516,7 +2511,8 @@
                  the patch for XP is not publicly available until XP SP3,
                  and older versions will never be patched.  */
               CoInitialize (NULL);
-             w32_createwindow ((struct frame *) msg.wParam);
+             w32_createwindow ((struct frame *) msg.wParam,
+                               (int *) msg.lParam);
              if (!PostThreadMessage (dwMainThreadId, WM_EMACS_DONE, 0, 0))
                emacs_abort ();
              break;
@@ -4136,8 +4132,25 @@
 my_create_window (struct frame * f)
 {
   MSG msg;
-
-  if (!PostThreadMessage (dwWindowsThreadId, WM_EMACS_CREATEWINDOW, (WPARAM)f, 
0))
+  static int coords[2];
+  Lisp_Object left, top;
+  struct w32_display_info *dpyinfo = &one_w32_display_info;
+
+  /* When called with RES_TYPE_NUMBER, x_get_arg will return zero for
+     anything that is not a number and is not Qunbound.  */
+  left = x_get_arg (dpyinfo, Qnil, Qleft, "left", "Left", RES_TYPE_NUMBER);
+  top = x_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER);
+  if (EQ (left, Qunbound))
+    coords[0] = CW_USEDEFAULT;
+  else
+    coords[0] = XINT (left);
+  if (EQ (top, Qunbound))
+    coords[1] = CW_USEDEFAULT;
+  else
+    coords[1] = XINT (top);
+
+  if (!PostThreadMessage (dwWindowsThreadId, WM_EMACS_CREATEWINDOW,
+                         (WPARAM)f, (LPARAM)coords))
     emacs_abort ();
   GetMessage (&msg, NULL, WM_EMACS_DONE, WM_EMACS_DONE);
 }

=== modified file 'src/w32term.c'
--- a/src/w32term.c     2014-09-24 10:06:53 +0000
+++ b/src/w32term.c     2014-09-30 23:19:31 +0000
@@ -5144,30 +5144,38 @@
              RECT rect;
              int rows, columns, width, height, text_width, text_height;
 
-             GetClientRect (msg.msg.hwnd, &rect);
-
-             height = rect.bottom - rect.top;
-             width = rect.right - rect.left;
-             text_width = FRAME_PIXEL_TO_TEXT_WIDTH (f, width);
-             text_height = FRAME_PIXEL_TO_TEXT_HEIGHT (f, height);
-             /* rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, height); */
-             /* columns = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, width); */
-
-             /* TODO: Clip size to the screen dimensions.  */
-
-             /* Even if the number of character rows and columns has
-                not changed, the font size may have changed, so we need
-                to check the pixel dimensions as well.  */
-
-             if (width != FRAME_PIXEL_WIDTH (f)
-                 || height != FRAME_PIXEL_HEIGHT (f)
-                 || text_width != FRAME_TEXT_WIDTH (f)
-                 || text_height != FRAME_TEXT_HEIGHT (f))
+             if (GetClientRect (msg.msg.hwnd, &rect)
+                 /* GetClientRect evidently returns (0, 0, 0, 0) if
+                    called on a minimized frame.  Such "dimensions"
+                    aren't useful anyway.  */
+                 && !(rect.bottom == 0
+                      && rect.top == 0
+                      && rect.left == 0
+                      && rect.right == 0))
                {
-                 change_frame_size (f, text_width, text_height, 0, 1, 0, 1);
-                 SET_FRAME_GARBAGED (f);
-                 cancel_mouse_face (f);
-                 f->win_gravity = NorthWestGravity;
+                 height = rect.bottom - rect.top;
+                 width = rect.right - rect.left;
+                 text_width = FRAME_PIXEL_TO_TEXT_WIDTH (f, width);
+                 text_height = FRAME_PIXEL_TO_TEXT_HEIGHT (f, height);
+                 /* rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, height); */
+                 /* columns = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, width); */
+
+                 /* TODO: Clip size to the screen dimensions.  */
+
+                 /* Even if the number of character rows and columns
+                    has not changed, the font size may have changed,
+                    so we need to check the pixel dimensions as well.  */
+
+                 if (width != FRAME_PIXEL_WIDTH (f)
+                     || height != FRAME_PIXEL_HEIGHT (f)
+                     || text_width != FRAME_TEXT_WIDTH (f)
+                     || text_height != FRAME_TEXT_HEIGHT (f))
+                   {
+                     change_frame_size (f, text_width, text_height, 0, 1, 0, 
1);
+                     SET_FRAME_GARBAGED (f);
+                     cancel_mouse_face (f);
+                     f->win_gravity = NorthWestGravity;
+                   }
                }
            }
 

=== modified file 'src/window.c'
--- a/src/window.c      2014-09-25 07:01:35 +0000
+++ b/src/window.c      2014-09-30 23:19:31 +0000
@@ -5914,6 +5914,8 @@
   w->start_at_line_beg = (bytepos == BEGV_BYTE
                          || FETCH_BYTE (bytepos - 1) == '\n');
 
+  wset_redisplay (w);
+
   return Qnil;
 }
 

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2014-09-30 02:43:23 +0000
+++ b/src/xdisp.c       2014-09-30 23:19:31 +0000
@@ -15002,6 +15002,10 @@
    If FORCE_P is non-zero, return 0 even if partial visible cursor row
    is higher than window.
 
+   If CURRENT_MATRIX_P is non-zero, use the information from the
+   window's current glyph matrix; otherwise use the desired glyph
+   matrix.
+
    A value of 0 means the caller should do scrolling
    as if point had gone off the screen.  */
 
@@ -16175,26 +16179,48 @@
 
   /* If someone specified a new starting point but did not insist,
      check whether it can be used.  */
-  if (w->optional_new_start
+  if ((w->optional_new_start || window_frozen_p (w))
       && CHARPOS (startp) >= BEGV
       && CHARPOS (startp) <= ZV)
     {
+      ptrdiff_t it_charpos;
+
       w->optional_new_start = 0;
       start_display (&it, w, startp);
       move_it_to (&it, PT, 0, it.last_visible_y, -1,
                  MOVE_TO_POS | MOVE_TO_X | MOVE_TO_Y);
-      if (IT_CHARPOS (it) == PT)
-       w->force_start = 1;
-      /* IT may overshoot PT if text at PT is invisible.  */
-      else if (IT_CHARPOS (it) > PT && CHARPOS (startp) <= PT)
-       w->force_start = 1;
+      /* Record IT's position now, since line_bottom_y might change
+        that.  */
+      it_charpos = IT_CHARPOS (it);
+      /* Make sure we set the force_start flag only if the cursor row
+        will be fully visible.  Otherwise, the code under force_start
+        label below will try to move point back into view, which is
+        not what the code which sets optional_new_start wants.  */
+      if ((it.current_y == 0 || line_bottom_y (&it) < it.last_visible_y)
+         && !w->force_start)
+       {
+         if (it_charpos == PT)
+           w->force_start = 1;
+         /* IT may overshoot PT if text at PT is invisible.  */
+         else if (it_charpos > PT && CHARPOS (startp) <= PT)
+           w->force_start = 1;
+#ifdef GLYPH_DEBUG
+         if (w->force_start)
+           {
+             if (window_frozen_p (w))
+               debug_method_add (w, "set force_start from frozen window 
start");
+             else
+               debug_method_add (w, "set force_start from optional_new_start");
+           }
+#endif
+       }
     }
 
  force_start:
 
   /* Handle case where place to start displaying has been specified,
      unless the specified location is outside the accessible range.  */
-  if (w->force_start || window_frozen_p (w))
+  if (w->force_start)
     {
       /* We set this later on if we have to adjust point.  */
       int new_vpos = -1;
@@ -16239,7 +16265,7 @@
          goto need_larger_matrices;
        }
 
-      if (w->cursor.vpos < 0 && !window_frozen_p (w))
+      if (w->cursor.vpos < 0)
        {
          /* If point does not appear, try to move point so it does
             appear. The desired matrix has been built above, so we
@@ -16332,6 +16358,11 @@
            }
          */
        }
+      if (w->cursor.vpos < 0 || !cursor_row_fully_visible_p (w, 0, 0))
+       {
+         clear_glyph_matrix (w->desired_matrix);
+         goto try_to_scroll;
+       }
 
 #ifdef GLYPH_DEBUG
       debug_method_add (w, "forced window start");
@@ -16396,7 +16427,8 @@
               || CHARPOS (startp) == BEGV
               || !window_outdated (w)))
     {
-      int d1, d2, d3, d4, d5, d6;
+      int d1, d2, d5, d6;
+      int rtop, rbot;
 
       /* If first window line is a continuation line, and window start
         is inside the modified region, but the first change is before
@@ -16421,14 +16453,20 @@
          && compute_window_start_on_continuation_line (w)
          /* It doesn't make sense to force the window start like we
             do at label force_start if it is already known that point
-            will not be visible in the resulting window, because
+            will not be fully visible in the resulting window, because
             doing so will move point from its correct position
             instead of scrolling the window to bring point into view.
             See bug#9324.  */
-         && pos_visible_p (w, PT, &d1, &d2, &d3, &d4, &d5, &d6))
+         && pos_visible_p (w, PT, &d1, &d2, &rtop, &rbot, &d5, &d6)
+         /* A very tall row could need more than the window height,
+            in which case we accept that it is partially visible.  */
+         && (rtop != 0) == (rbot != 0))
        {
          w->force_start = 1;
          SET_TEXT_POS_FROM_MARKER (startp, w->start);
+#ifdef GLYPH_DEBUG
+         debug_method_add (w, "recomputed window start in continuation line");
+#endif
          goto force_start;
        }
 


reply via email to

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