emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r116928: Merge from emacs-24; up to r116894


From: Juanma Barranquero
Subject: [Emacs-diffs] trunk r116928: Merge from emacs-24; up to r116894
Date: Wed, 02 Apr 2014 15:15:47 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 116928 [merge]
revision-id: address@hidden
parent: address@hidden
parent: address@hidden
committer: Juanma Barranquero <address@hidden>
branch nick: trunk
timestamp: Wed 2014-04-02 17:14:50 +0200
message:
  Merge from emacs-24; up to r116894
modified:
  ChangeLog                      changelog-20091113204419-o5vbwnq5f7feedwu-1538
  configure.ac                   
configure.in-20091113204419-o5vbwnq5f7feedwu-783
  etc/CONTRIBUTE                 contribute-20091113204419-o5vbwnq5f7feedwu-6333
  etc/NEWS                       news-20100311060928-aoit31wvzf25yr1z-1
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/cedet/ede/dired.el        dired.el-20091113204419-o5vbwnq5f7feedwu-11207
  lisp/cedet/ede/project-am.el   
projectam.el-20091113204419-o5vbwnq5f7feedwu-11227
  lisp/dired-aux.el              diredaux.el-20091113204419-o5vbwnq5f7feedwu-484
  lisp/dired.el                  dired.el-20091113204419-o5vbwnq5f7feedwu-482
  lisp/emacs-lisp/package.el     package.el-20100617020707-ybavz666awsxwin6-2
  lisp/erc/erc-lang.el           erclang.el-20091113204419-o5vbwnq5f7feedwu-4324
  lisp/erc/erc-list.el           erclist.el-20091113204419-o5vbwnq5f7feedwu-8257
  lisp/gnus/nnmairix.el          
nnmairix.el-20091113204419-o5vbwnq5f7feedwu-8585
  lisp/menu-bar.el               menubar.el-20091113204419-o5vbwnq5f7feedwu-546
  lisp/progmodes/cc-guess.el     ccguess.el-20110630204248-vsloqms1pkdtruo4-1
  lisp/simple.el                 simple.el-20091113204419-o5vbwnq5f7feedwu-403
  lisp/vc/ediff.el               ediff.el-20091113204419-o5vbwnq5f7feedwu-769
  nt/INSTALL                     install.msys-20130416132004-cxmtwcclsy15p2r8-1
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/conf_post.h                conf_post.h-20120730211826-q0qbxxwh2emw52hd-1
  src/frame.c                    frame.c-20091113204419-o5vbwnq5f7feedwu-243
  src/xterm.c                    xterm.c-20091113204419-o5vbwnq5f7feedwu-244
=== modified file 'ChangeLog'
--- a/ChangeLog 2014-03-31 05:02:08 +0000
+++ b/ChangeLog 2014-04-02 15:14:50 +0000
@@ -1,3 +1,8 @@
+2014-04-02  Glenn Morris  <address@hidden>
+
+       * configure.ac: Make the final "Does Emacs use Gsettings" message
+       consistent with src/config.h.
+
 2014-03-31  Jan Djärv  <address@hidden>
 
        * configure.ac: Fix errors from previous checkin (GSettings check).

=== modified file 'configure.ac'
--- a/configure.ac      2014-04-01 16:17:19 +0000
+++ b/configure.ac      2014-04-02 15:14:50 +0000
@@ -2438,7 +2438,6 @@
       old_LIBS=$LIBS
       LIBS="$LIBS $GSETTINGS_LIBS"
       AC_MSG_CHECKING([whether GSettings is in gio])
-      GSETTINGS_COMPILES=no
       AC_LINK_IFELSE(
          [AC_LANG_PROGRAM(
             [[/* Check that gsettings really is present.  */
@@ -2449,10 +2448,10 @@
               GSettings *settings;
               GVariant *val = g_settings_get_value (settings, "");
             ]])],
-        [GSETTINGS_COMPILES=yes])
-      AC_MSG_RESULT([$GSETTINGS_COMPILES])
+        [], HAVE_GSETTINGS=no)
+      AC_MSG_RESULT([$HAVE_GSETTINGS])
 
-      if test "$GSETTINGS_COMPILES" = "yes"; then
+      if test "$HAVE_GSETTINGS" = "yes"; then
         AC_DEFINE(HAVE_GSETTINGS, 1, [Define to 1 if using GSettings.])
        SETTINGS_CFLAGS="$GSETTINGS_CFLAGS"
        SETTINGS_LIBS="$GSETTINGS_LIBS"

=== modified file 'etc/CONTRIBUTE'
--- a/etc/CONTRIBUTE    2014-01-12 16:37:42 +0000
+++ b/etc/CONTRIBUTE    2014-03-28 19:44:37 +0000
@@ -54,11 +54,15 @@
 require that the copyright be assigned to the FSF.  For the reasons
 behind this, see: http://www.gnu.org/licenses/why-assign.html .
 
-Copyright assignment is a simple process.  If you live in the US, you
+Copyright assignment is a simple process.  Residents of some countries
 can do it entirely electronically.  We can help you get started, and
 answer any questions you may have (or point you to the people with the
 answers), at the address@hidden mailing list.
 
+(Please note: general discussion about why some GNU projects ask
+for a copyright assignment is off-topic for emacs-devel.
+See gnu-misc-discuss instead.)
+
 A copyright disclaimer is also a possibility, but we prefer an assignment.
 Note that the disclaimer, like an assignment, involves you sending
 signed paperwork to the FSF (simply saying "this is in the public domain"

=== modified file 'etc/NEWS'
--- a/etc/NEWS  2014-04-01 13:20:20 +0000
+++ b/etc/NEWS  2014-04-02 15:14:50 +0000
@@ -1455,19 +1455,22 @@
 argument, with the same interpretation as the returned value of
 `visited-file-modtime'.
 
-** Autorevert changes
+** Revert and Autorevert changes
+
+*** The default value of `revert-buffer-function' is no longer nil.
+Instead it defaults to a function that does what the nil value used to.
+The same applies for `revert-buffer-insert-file-contents-function'.
 
 ---
-*** If Emacs is compiled with file notification support, notifications
-are used instead of checking the time stamp of the files.  You can
-disable this by setting the user option `auto-revert-use-notify' to
-nil.  Alternatively, a regular expression of directories to be
-excluded from file notifications can be specified by
+*** If Emacs is compiled with file notification support, it uses notifications
+instead of checking file time stamps.  To disable this, set the user option
+`auto-revert-use-notify' to nil.  Alternatively, you can specify a regular
+expression matching directories to be excluded from file notifications via
 `auto-revert-notify-exclude-dir-regexp'.
 
 ---
 *** The new user option `auto-revert-remote-files' enables reversion
-of remote files when set to non-nil.
+of remote files, if set to non-nil.
 
 ** Face changes
 

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-04-02 09:59:06 +0000
+++ b/lisp/ChangeLog    2014-04-02 15:14:50 +0000
@@ -1,3 +1,26 @@
+2014-04-02  Glenn Morris  <address@hidden>
+
+       * menu-bar.el (menu-bar-file-menu):
+       * vc/ediff.el (ediff-current-file):
+       Update for revert-buffer-function no longer being nil by default.
+
+       * simple.el (command-execute): Respect nil disabled-command-function.
+
+2014-04-02  Nicolas Richard  <address@hidden>
+
+       * simple.el (command-execute): Do not execute the command when it
+       is disabled; fixes thinko in 2013-02-20 conversion from C.  (Bug#17151)
+
+2014-04-02  Juri Linkov  <address@hidden>
+
+       * dired-aux.el (dired-compress-file): Don't use string-match-p
+       because its match data is used afterwards.
+
+2014-04-02  Stefan Monnier  <address@hidden>
+
+       * emacs-lisp/package.el (package-built-in-p): Treat a min-version of
+       0 like nil.
+
 2014-04-02  João Távora  <address@hidden>
 
        * elec-pair.el (electric-pair-inhibit-if-helps-balance): Inhibit
@@ -111,8 +134,8 @@
 
 2014-03-27  Dmitry Gutov  <address@hidden>
 
-       * progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight
-       special globals with font-lock-builtin-face.  (Bug#17057)
+       * progmodes/ruby-mode.el (ruby-font-lock-keywords):
+       Highlight special globals with font-lock-builtin-face.  (Bug#17057)
 
        * progmodes/ruby-mode.el (ruby-syntax-propertize-function):
        Don't propertize `?' or `!' as symbol constituent when after

=== modified file 'lisp/cedet/ede/dired.el'
--- a/lisp/cedet/ede/dired.el   2014-03-29 02:59:51 +0000
+++ b/lisp/cedet/ede/dired.el   2014-04-02 15:14:50 +0000
@@ -3,7 +3,7 @@
 ;; Copyright (C) 1998-2000, 2003, 2009-2014 Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <address@hidden>
-;; Version: 0.4
+;; Old-Version: 0.4
 ;; Keywords: project, make
 
 ;; This file is part of GNU Emacs.

=== modified file 'lisp/cedet/ede/project-am.el'
--- a/lisp/cedet/ede/project-am.el      2014-01-01 07:43:34 +0000
+++ b/lisp/cedet/ede/project-am.el      2014-03-31 17:01:19 +0000
@@ -1,10 +1,10 @@
 ;;; project-am.el --- A project management scheme based on automake files.
 
-;; Copyright (C) 1998-2000, 2003, 2005, 2007-2014 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1998-2000, 2003, 2005, 2007-2014
+;;   Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <address@hidden>
-;; Version: 0.0.3
+;; Old-Version: 0.0.3
 ;; Keywords: project, make
 
 ;; This file is part of GNU Emacs.

=== modified file 'lisp/dired-aux.el'
--- a/lisp/dired-aux.el 2014-03-22 23:56:19 +0000
+++ b/lisp/dired-aux.el 2014-04-02 15:14:50 +0000
@@ -887,7 +887,7 @@
     ;; See if any suffix rule matches this file name.
     (while suffixes
       (let (case-fold-search)
-       (if (string-match-p (car (car suffixes)) file)
+       (if (string-match (car (car suffixes)) file)
            (setq suffix (car suffixes) suffixes nil))
        (setq suffixes (cdr suffixes))))
     ;; If so, compute desired new name.

=== modified file 'lisp/dired.el'
--- a/lisp/dired.el     2014-03-23 10:24:01 +0000
+++ b/lisp/dired.el     2014-04-02 15:14:50 +0000
@@ -3867,7 +3867,7 @@
 
 ;;; Start of automatically extracted autoloads.
 
-;;;### (autoloads nil "dired-aux" "dired-aux.el" 
"edcfeacd242f6163e847594870855b9e")
+;;;### (autoloads nil "dired-aux" "dired-aux.el" 
"6969bb4414a8a31b91342ab922a94efb")
 ;;; Generated autoloads from dired-aux.el
 
 (autoload 'dired-diff "dired-aux" "\

=== modified file 'lisp/emacs-lisp/package.el'
--- a/lisp/emacs-lisp/package.el        2014-03-26 15:21:17 +0000
+++ b/lisp/emacs-lisp/package.el        2014-03-28 22:47:46 +0000
@@ -536,7 +536,7 @@
     (let ((bi (assq package package--builtin-versions)))
       (cond
        (bi (version-list-<= min-version (cdr bi)))
-       (min-version nil)
+       ((remove 0 min-version) nil)
        (t
         (require 'finder-inf nil t) ; For `package--builtins'.
         (assq package package--builtins))))))

=== modified file 'lisp/erc/erc-lang.el'
--- a/lisp/erc/erc-lang.el      2014-02-10 01:34:22 +0000
+++ b/lisp/erc/erc-lang.el      2014-03-31 19:01:59 +0000
@@ -4,7 +4,7 @@
 
 ;; Author: Alex Schroeder <address@hidden>
 ;; Maintainer: address@hidden
-;; Version: 1.0.0
+;; Old-Version: 1.0.0
 ;; URL: http://www.emacswiki.org/cgi-bin/wiki.pl?ErcLang
 ;; Keywords: comm languages processes
 

=== modified file 'lisp/erc/erc-list.el'
--- a/lisp/erc/erc-list.el      2014-02-10 01:34:22 +0000
+++ b/lisp/erc/erc-list.el      2014-03-31 19:01:59 +0000
@@ -4,7 +4,7 @@
 
 ;; Author: Tom Tromey <address@hidden>
 ;; Maintainer: address@hidden
-;; Version: 0.1
+;; Old-Version: 0.1
 ;; Keywords: comm
 
 ;; This file is part of GNU Emacs.

=== modified file 'lisp/gnus/nnmairix.el'
--- a/lisp/gnus/nnmairix.el     2014-01-01 07:43:34 +0000
+++ b/lisp/gnus/nnmairix.el     2014-03-31 19:01:59 +0000
@@ -4,7 +4,7 @@
 
 ;; Author: David Engster <address@hidden>
 ;; Keywords: mail searching
-;; Version: 0.6
+;; Old-Version: 0.6
 
 ;; This file is part of GNU Emacs.
 

=== modified file 'lisp/menu-bar.el'
--- a/lisp/menu-bar.el  2014-02-10 01:34:22 +0000
+++ b/lisp/menu-bar.el  2014-04-02 07:07:11 +0000
@@ -149,8 +149,11 @@
                   :help "Recover edits from a crashed session"))
     (bindings--define-key menu [revert-buffer]
       '(menu-item "Revert Buffer" revert-buffer
-                  :enable (or revert-buffer-function
-                              revert-buffer-insert-file-contents-function
+                  :enable (or (not (eq revert-buffer-function
+                                       'revert-buffer--default))
+                              (not (eq
+                                    revert-buffer-insert-file-contents-function
+                                    
'revert-buffer-insert-file-contents--default-function))
                               (and buffer-file-number
                                    (or (buffer-modified-p)
                                        (not (verify-visited-file-modtime

=== modified file 'lisp/progmodes/cc-guess.el'
--- a/lisp/progmodes/cc-guess.el        2014-01-01 07:43:34 +0000
+++ b/lisp/progmodes/cc-guess.el        2014-03-31 19:01:59 +0000
@@ -1,13 +1,12 @@
 ;;; cc-guess.el --- guess indentation values by scanning existing code
 
-;; Copyright (C) 1985, 1987, 1992-2006, 2011-2014 Free Software
-;; Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2006, 2011-2014
+;;   Free Software Foundation, Inc.
 
 ;; Author:     1994-1995 Barry A. Warsaw
 ;;             2011-     Masatake YAMATO
 ;; Maintainer: address@hidden
 ;; Created:    August 1994, split from cc-mode.el
-;; Version:    See cc-mode.el
 ;; Keywords:   c languages oop
 
 ;; This file is part of GNU Emacs.

=== modified file 'lisp/simple.el'
--- a/lisp/simple.el    2014-03-31 00:35:12 +0000
+++ b/lisp/simple.el    2014-04-02 15:14:50 +0000
@@ -1628,36 +1628,37 @@
                      (prog1 prefix-arg
                        (setq current-prefix-arg prefix-arg)
                        (setq prefix-arg nil)))))
-    (and (symbolp cmd)
-         (get cmd 'disabled)
-         ;; FIXME: Weird calling convention!
-         (run-hooks 'disabled-command-function))
-    (let ((final cmd))
-      (while
-          (progn
-            (setq final (indirect-function final))
-            (if (autoloadp final)
-                (setq final (autoload-do-load final cmd)))))
-      (cond
-       ((arrayp final)
-        ;; If requested, place the macro in the command history.  For
-        ;; other sorts of commands, call-interactively takes care of this.
-        (when record-flag
-          (push `(execute-kbd-macro ,final ,prefixarg) command-history)
-          ;; Don't keep command history around forever.
-          (when (and (numberp history-length) (> history-length 0))
-            (let ((cell (nthcdr history-length command-history)))
-              (if (consp cell) (setcdr cell nil)))))
-        (execute-kbd-macro final prefixarg))
-       (t
-        ;; Pass `cmd' rather than `final', for the backtrace's sake.
-        (prog1 (call-interactively cmd record-flag keys)
-          (when (and (symbolp cmd)
-                     (get cmd 'byte-obsolete-info)
-                     (not (get cmd 'command-execute-obsolete-warned)))
-            (put cmd 'command-execute-obsolete-warned t)
-            (message "%s" (macroexp--obsolete-warning
-                           cmd (get cmd 'byte-obsolete-info) "command")))))))))
+    (if (and (symbolp cmd)
+             (get cmd 'disabled)
+             disabled-command-function)
+        ;; FIXME: Weird calling convention!
+        (run-hooks 'disabled-command-function)
+      (let ((final cmd))
+        (while
+            (progn
+              (setq final (indirect-function final))
+              (if (autoloadp final)
+                  (setq final (autoload-do-load final cmd)))))
+        (cond
+         ((arrayp final)
+          ;; If requested, place the macro in the command history.  For
+          ;; other sorts of commands, call-interactively takes care of this.
+          (when record-flag
+            (push `(execute-kbd-macro ,final ,prefixarg) command-history)
+            ;; Don't keep command history around forever.
+            (when (and (numberp history-length) (> history-length 0))
+              (let ((cell (nthcdr history-length command-history)))
+                (if (consp cell) (setcdr cell nil)))))
+          (execute-kbd-macro final prefixarg))
+         (t
+          ;; Pass `cmd' rather than `final', for the backtrace's sake.
+          (prog1 (call-interactively cmd record-flag keys)
+            (when (and (symbolp cmd)
+                       (get cmd 'byte-obsolete-info)
+                       (not (get cmd 'command-execute-obsolete-warned)))
+              (put cmd 'command-execute-obsolete-warned t)
+              (message "%s" (macroexp--obsolete-warning
+                             cmd (get cmd 'byte-obsolete-info) 
"command"))))))))))
 
 (defvar minibuffer-history nil
   "Default minibuffer history list.

=== modified file 'lisp/vc/ediff.el'
--- a/lisp/vc/ediff.el  2014-01-01 07:43:34 +0000
+++ b/lisp/vc/ediff.el  2014-04-02 07:07:11 +0000
@@ -367,8 +367,10 @@
 This command can be used instead of `revert-buffer'.  If there is
 nothing to revert then this command fails."
   (interactive)
-  (unless (or revert-buffer-function
-              revert-buffer-insert-file-contents-function
+  ;; This duplicates code from menu-bar.el.
+  (unless (or (not (eq revert-buffer-function 'revert-buffer--default))
+              (not (eq revert-buffer-insert-file-contents-function
+                      'revert-buffer-insert-file-contents--default-function))
               (and buffer-file-number
                    (or (buffer-modified-p)
                        (not (verify-visited-file-modtime

=== modified file 'nt/INSTALL'
--- a/nt/INSTALL        2014-02-18 00:45:43 +0000
+++ b/nt/INSTALL        2014-03-30 18:55:19 +0000
@@ -9,15 +9,15 @@
 supported (but the Emacs binary produced by this build will run on
 Windows 9X as well).
 
+  Do not use this recipe with Cygwin.  For building on Cygwin, use the
+  normal installation instructions, ../INSTALL.
+
 * For the brave (a.k.a. "impatient"):
 
   For those who have a working MSYS/MinGW development environment and
   are comfortable with running Posix configure scripts, here are the
   concise instructions for configuring and building the native Windows
-  binary of Emacs with these tools.
-
-  Do not use this recipe with Cygwin.  For building on Cygwin, use the
-  normal installation instructions, ../INSTALL.
+  binary of Emacs with these tools:
 
   0. Start the MSYS Bash window.  Everything else below is done from
      that window's Bash prompt.
@@ -49,7 +49,7 @@
      You can pass other options to the configure script.  Here's a
      typical example (for an in-place debug build):
 
-       CPPFLAGS='-DGLYPH_DEBUG=1' CFLAGS='-O0 -g3' ./configure 
--prefix=/d/usr/emacs --enable-checking
+       CFLAGS='-O0 -g3' ./configure --prefix=/d/usr/emacs 
--enable-checking='yes,glyphs'
 
   3. After the configure script finishes, it should display the
      resulting configuration.  After that, type
@@ -82,7 +82,7 @@
   A correct installation makes all the rest almost trivial; a botched
   installation will likely make you miserable for quite some time.
 
-  There are two alternative to installing MinGW + MSYS: using the GUI
+  There are two alternatives to installing MinGW + MSYS: using the GUI
   installer, called mingw-get, provided by the MinGW project, or
   manual installation.  The next two sections describe each one of
   these.
@@ -169,7 +169,7 @@
   you are building from the repository:
 
    . Texinfo (needed to produce the Info manuals when building from
-     bzr, and for "make install")
+     bzr/git, and for "make install")
 
      Available from http://sourceforge.net/projects/ezwinports/files/.
 
@@ -373,11 +373,11 @@
   A few frequently used options are needed when you want to produce an
   unoptimized binary with runtime checks enabled:
 
-     CPPFLAGS='-DGLYPH_DEBUG=1' CFLAGS='-O0 -g3' ./configure --prefix=PREFIX 
--enable-checking
+     CFLAGS='-O0 -g3' ./configure --prefix=PREFIX 
--enable-checking='yes,glyphs'
 
   Once invoked, the configure script will run for some time, and, if
   successful, will eventually produce a summary of the configuration
-  like this:
+  similar to this:
 
      Configured for `i686-pc-mingw32'.
 
@@ -724,43 +724,6 @@
   You need the libiconv-X.Y.Z-N-mingw32-dev.tar.lzma tarball from that
   site.
 
-* Experimental SVG support
-
-  To compile with SVG, you will need pkg-config to be installed, as
-  the configure script invokes pkg-config to find out which compiler
-  switches to use for SVG.  See above for the URL where you can find
-  pkg-config for Windows.
-
-  SVG support is currently experimental, and not built by default.
-  Specify --with-rsvg and ensure you have all the dependencies in your
-  include path.  Unless you have built a minimalist librsvg yourself
-  (untested), librsvg depends on a significant chunk of GTK+ to build,
-  plus a few Gnome libraries, libxml2, libbz2 and zlib at runtime.  The
-  easiest way to obtain the dependencies required for building is to
-  download a pre-bundled GTK+ development environment for Windows.
-
-  To use librsvg at runtime, ensure that librsvg and its dependencies
-  are on your PATH.  If you didn't build librsvg yourself, you will
-  need to check with where you downloaded it from for the
-  dependencies, as there are different build options.  If it is a
-  short list, then it most likely only lists the immediate
-  dependencies of librsvg, but the dependencies themselves have
-  dependencies - so don't download individual libraries from GTK+,
-  download and install the whole thing.  If you think you've got all
-  the dependencies and SVG support is still not working, check your
-  PATH for other libraries that shadow the ones you downloaded.
-  Libraries of the same name from different sources may not be
-  compatible, this problem was encountered with libbzip2 from GnuWin32
-  with libcroco from gnome.org.
-
-  If you can see etc/images/splash.svg, then you have managed to get
-  SVG support working.  Congratulations for making it through DLL hell
-  to this point.  You'll probably find that some SVG images crash
-  Emacs.  Problems have been observed in some images that contain
-  text, they seem to be a problem in the Windows port of Pango, or
-  maybe a problem with the way Cairo or librsvg is using it that
-  doesn't show up on other platforms.
-
 
 This file is part of GNU Emacs.
 

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-04-02 13:24:19 +0000
+++ b/src/ChangeLog     2014-04-02 15:14:50 +0000
@@ -1,3 +1,22 @@
+2014-04-02  Martin Rudalics  <address@hidden>
+
+       * xterm.c (x_new_font): Don't calculate non-toolkit scrollbar
+       width from font width (Bug#17163).
+
+       * frame.c (x_set_frame_parameters): Calculate default values of
+       new frame sizes only after all other frame parameters have been
+       processed (Bug#17142).
+
+2014-04-02  Ken Brown  <address@hidden>
+
+       * conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Set to 10000.
+       (Bug#17112)
+
+2014-04-02  YAMAMOTO Mitsuharu  <address@hidden>
+
+       * xterm.c (x_draw_image_glyph_string): Adjust image background
+       width accordingly when its x position is adjusted.  (Bug#17115)
+
 2014-04-02  Dmitry Antipov  <address@hidden>
 
        * font.c (font_list_entities): Do not add empty vector to font cache.

=== modified file 'src/conf_post.h'
--- a/src/conf_post.h   2014-01-20 16:55:28 +0000
+++ b/src/conf_post.h   2014-03-28 16:32:54 +0000
@@ -161,6 +161,10 @@
 #endif
 #endif
 
+#ifdef CYGWIN
+#define SYSTEM_PURESIZE_EXTRA 10000
+#endif
+
 #if defined HAVE_NTGUI && !defined DebPrint
 # ifdef EMACSDEBUG
 extern void _DebPrint (const char *fmt, ...);

=== modified file 'src/frame.c'
--- a/src/frame.c       2014-03-20 14:09:37 +0000
+++ b/src/frame.c       2014-03-30 13:31:45 +0000
@@ -2795,6 +2795,7 @@
      set them both at once.  So we wait until we've looked at the
      entire list before we set them.  */
   int width, height;
+  bool width_change = 0, height_change = 0;
 
   /* Same here.  */
   Lisp_Object left, top;
@@ -2810,7 +2811,6 @@
 #ifdef HAVE_X_WINDOWS
   bool icon_left_no_change = 0, icon_top_no_change = 0;
 #endif
-  bool size_changed = 0;
   struct gcpro gcpro1, gcpro2;
 
   i = 0;
@@ -2844,18 +2844,6 @@
   top = left = Qunbound;
   icon_left = icon_top = Qunbound;
 
-  /* Provide default values for HEIGHT and WIDTH.  */
-  width = (f->new_width
-          ? (f->new_pixelwise
-             ? f->new_width
-             : (f->new_width * FRAME_COLUMN_WIDTH (f)))
-          : FRAME_TEXT_WIDTH (f));
-  height = (f->new_height
-           ? (f->new_pixelwise
-              ? f->new_height
-              : (f->new_height * FRAME_LINE_HEIGHT (f)))
-           : FRAME_TEXT_HEIGHT (f));
-
   /* Process foreground_color and background_color before anything else.
      They are independent of other properties, but other properties (e.g.,
      cursor_color) are dependent upon them.  */
@@ -2897,12 +2885,12 @@
 
       if (EQ (prop, Qwidth) && RANGED_INTEGERP (0, val, INT_MAX))
         {
-          size_changed = 1;
+         width_change = 1;
           width = XFASTINT (val) * FRAME_COLUMN_WIDTH (f) ;
         }
       else if (EQ (prop, Qheight) && RANGED_INTEGERP (0, val, INT_MAX))
         {
-          size_changed = 1;
+         height_change = 1;
           height = XFASTINT (val) * FRAME_LINE_HEIGHT (f);
         }
       else if (EQ (prop, Qtop))
@@ -2989,11 +2977,30 @@
 
     XSETFRAME (frame, f);
 
-    if (size_changed
+    if ((width_change || height_change)
         && (width != FRAME_TEXT_WIDTH (f)
             || height != FRAME_TEXT_HEIGHT (f)
             || f->new_height || f->new_width))
-      Fset_frame_size (frame, make_number (width), make_number (height), Qt);
+      {
+       /* If necessary provide default values for HEIGHT and WIDTH.  Do
+          that here since otherwise a size change implied by an
+          intermittent font change may get lost as in Bug#17142.  */
+       if (!width_change)
+         width = (f->new_width
+                  ? (f->new_pixelwise
+                     ? f->new_width
+                     : (f->new_width * FRAME_COLUMN_WIDTH (f)))
+                  : FRAME_TEXT_WIDTH (f));
+
+       if (!height_change)
+         height = (f->new_height
+                   ? (f->new_pixelwise
+                      ? f->new_height
+                      : (f->new_height * FRAME_LINE_HEIGHT (f)))
+                   : FRAME_TEXT_HEIGHT (f));
+
+       Fset_frame_size (frame, make_number (width), make_number (height), Qt);
+      }
 
     if ((!NILP (left) || !NILP (top))
        && ! (left_no_change && top_no_change)

=== modified file 'src/xterm.c'
--- a/src/xterm.c       2014-03-31 07:13:58 +0000
+++ b/src/xterm.c       2014-04-02 15:14:50 +0000
@@ -2399,15 +2399,19 @@
        {
          int x = s->x;
          int y = s->y;
+         int width = s->background_width;
 
          if (s->first_glyph->left_box_line_p
              && s->slice.x == 0)
-           x += box_line_hwidth;
+           {
+             x += box_line_hwidth;
+             width -= box_line_hwidth;
+           }
 
          if (s->slice.y == 0)
            y += box_line_vwidth;
 
-         x_draw_glyph_string_bg_rect (s, x, y, s->background_width, height);
+         x_draw_glyph_string_bg_rect (s, x, y, width, height);
        }
 
       s->background_filled_p = 1;
@@ -7775,20 +7779,16 @@
 
   compute_fringe_widths (f, 1);
 
+  /* Compute character columns occupied by scrollbar.
+
+     Don't do things differently for non-toolkit scrollbars
+     (Bug#17163).  */
   unit = FRAME_COLUMN_WIDTH (f);
-#ifdef USE_TOOLKIT_SCROLL_BARS
-  /* The width of a toolkit scrollbar does not change with the new
-     font but we have to calculate the number of columns it occupies
-     anew.  */
-  FRAME_CONFIG_SCROLL_BAR_COLS (f)
-    = (FRAME_CONFIG_SCROLL_BAR_WIDTH (f) + unit - 1) / unit;
-#else
-  /* The width of a non-toolkit scrollbar is at least 14 pixels and a
-     multiple of the frame's character width.  */
-  FRAME_CONFIG_SCROLL_BAR_COLS (f) = (14 + unit - 1) / unit;
-  FRAME_CONFIG_SCROLL_BAR_WIDTH (f)
-    = FRAME_CONFIG_SCROLL_BAR_COLS (f) * unit;
-#endif  
+  if (FRAME_CONFIG_SCROLL_BAR_WIDTH (f) > 0)
+    FRAME_CONFIG_SCROLL_BAR_COLS (f)
+      = (FRAME_CONFIG_SCROLL_BAR_WIDTH (f) + unit - 1) / unit;
+  else
+    FRAME_CONFIG_SCROLL_BAR_COLS (f) = (14 + unit - 1) / unit;
 
   if (FRAME_X_WINDOW (f) != 0)
     {
@@ -7994,7 +7994,7 @@
     {
 #ifdef HAVE_X11R6_XIM
       struct xim_inst_t *xim_inst = dpyinfo->xim_callback_data;
-      
+
       if (dpyinfo->display)
        {
          Bool ret = XUnregisterIMInstantiateCallback


reply via email to

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