emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r118079: Merge from emacs-24; up to r117563


From: Glenn Morris
Subject: [Emacs-diffs] trunk r118079: Merge from emacs-24; up to r117563
Date: Thu, 09 Oct 2014 04:23:45 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 118079 [merge]
revision-id: address@hidden
parent: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Wed 2014-10-08 21:23:09 -0700
message:
  Merge from emacs-24; up to r117563
modified:
  doc/emacs/ChangeLog            changelog-20091113204419-o5vbwnq5f7feedwu-6227
  doc/emacs/package.texi         package.texi-20110825190024-lpvyu1zke977csqu-1
  doc/lispref/ChangeLog          changelog-20091113204419-o5vbwnq5f7feedwu-6155
  doc/lispref/frames.texi        
frames.texi-20091113204419-o5vbwnq5f7feedwu-6180
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/faces.el                  faces.el-20091113204419-o5vbwnq5f7feedwu-562
  lisp/frame.el                  frame.el-20091113204419-o5vbwnq5f7feedwu-275
  lisp/term.el                   term.el-20091113204419-o5vbwnq5f7feedwu-794
  nt/README.W32                  readme.w32-20091113204419-o5vbwnq5f7feedwu-2212
  src/ChangeLog.10               
changelog.10-20091113204419-o5vbwnq5f7feedwu-7288
  src/w32term.c                  w32term.c-20091113204419-o5vbwnq5f7feedwu-950
=== modified file 'doc/emacs/ChangeLog'
--- a/doc/emacs/ChangeLog       2014-10-05 17:19:23 +0000
+++ b/doc/emacs/ChangeLog       2014-10-09 04:23:09 +0000
@@ -1,3 +1,8 @@
+2014-10-09  Glenn Morris  <address@hidden>
+
+       * package.texi (Package Menu): The package list was changed to not
+       say "unsigned" any more.
+
 2014-10-05  Glenn Morris  <address@hidden>
 
        * misc.texi (Sorting):

=== modified file 'doc/emacs/package.texi'
--- a/doc/emacs/package.texi    2014-10-01 23:29:46 +0000
+++ b/doc/emacs/package.texi    2014-10-06 06:34:21 +0000
@@ -60,7 +60,7 @@
 @item
 The package's status---normally one of @samp{available} (can be
 downloaded from the package archive), @samp{installed},
address@hidden (installed, but not signed; @pxref{Package Signing}),
address@hidden @samp{unsigned} (installed, but not signed; @pxref{Package 
Signing}),
 or @samp{built-in} (included in Emacs by default).
 
 The status can also be @samp{new}.  This is equivalent to

=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2014-10-08 22:05:48 +0000
+++ b/doc/lispref/ChangeLog     2014-10-09 04:23:09 +0000
@@ -1,3 +1,20 @@
+2014-10-09  Glenn Morris  <address@hidden>
+
+       * frames.texi (Multiple Terminals): Copyedits.
+
+2014-10-09  Eli Zaretskii  <address@hidden>
+
+       * frames.texi (Multiple Terminals): Improve the description of X
+       display names.  Add index entries.
+       (Basic Parameters): Add a cross-reference to where X display names
+       are described.
+       (Position Parameters): Mention that positional parameters of the
+       form (+ POS) can be negative if they are on a non-primary monitor
+       of a multi-monitor display.  (Bug#18636)
+       (Creating Frames): Mention that on multi-monitor displays the
+       frame might be positioned differently than specified by the frame
+       parameters alist.
+
 2014-10-08  Leo Liu  <address@hidden>
 
        * streams.texi (Output Functions): Document new argument ENSURE to

=== modified file 'doc/lispref/frames.texi'
--- a/doc/lispref/frames.texi   2014-10-04 08:20:24 +0000
+++ b/doc/lispref/frames.texi   2014-10-09 04:23:09 +0000
@@ -131,6 +131,13 @@
 (see below) and not present in the argument, taking the values from
 the frame that was selected when @code{make-frame} was called.
 
+Note that on multi-monitor displays (@pxref{Multiple Terminals}), the
+window manager might position the frame differently than specified by
+the positional parameters in @var{alist} (@pxref{Position
+Parameters}).  For example, some window managers have a policy of
+displaying the frame on the monitor that contains the largest part of
+the window (a.k.a.@: the @dfn{dominating} monitor).
+
 This function itself does not make the new frame the selected frame.
 @xref{Input Focus}.  The previously selected frame remains selected.
 On graphical terminals, however, the windowing system may select the
@@ -258,13 +265,27 @@
 terminals, by interacting with the @command{emacsclient} program.
 @xref{Emacs Server,,, emacs, The GNU Emacs Manual}.
 
address@hidden X display names
address@hidden display name on X
   A single X server can handle more than one display.  Each X display
-has a three-part name, @address@hidden:@address@hidden
-The first two parts, @var{host} and @var{server}, identify the X
-server; the third part, @var{screen}, identifies a screen number on
-that X server.  When you use two or more screens belonging to one
-server, Emacs knows by the similarity in their names that they share a
-single keyboard.
+has a three-part name,
address@hidden@var{hostname}:@address@hidden  The
+first part, @var{hostname}, specifies the name of the machine to which
+the display is physically connected.  The second part,
address@hidden, is a zero-based number that identifies one or
+more monitors connected to that machine that share a common keyboard
+and pointing device (mouse, tablet, etc.).  The third part,
address@hidden, identifies a zero-based screen number (a separate
+monitor) that is part of a single monitor collection on that X server.
+When you use two or more screens belonging to one server, Emacs knows
+by the similarity in their names that they share a single keyboard.
+
+  Systems that don't use the X window system, such as MS-Windows,
+don't support the notion of X displays, and have only one display on
+each host.  The display name on these systems doesn't follow the above
+3-part format; for example, the display name on MS-Windows systems is
+a constant string @samp{w32}, and exists for compatibility, so that
+you could pass it to functions that expect a display name.
 
 @deffn Command make-frame-on-display display &optional parameters
 This function creates and returns a new frame on @var{display}, taking
@@ -320,19 +341,29 @@
 
 @defun display-monitor-attributes-list &optional display
 This function returns a list of physical monitor attributes on
address@hidden, which defaults to that of the selected frame.
-Each element of the list is an association list, representing the
-attributes of a physical monitor.  The first element corresponds to
-the primary monitor.  The attribute keys and values are:
address@hidden, which can be a display name (a string), a terminal, or
+a frame; if omitted or @code{nil}, it defaults to the selected frame's
+display.  Each element of the list is an association list,
+representing the attributes of a physical monitor.  The first element
+corresponds to the primary monitor.  The attribute keys and values
+are:
 
 @table @samp
 @item geometry
-Position and size in pixels as @samp{(@var{x} @var{y}
address@hidden @var{height})}.
+Position of the top-left corner of the monitor's screen and its size,
+in pixels, as @samp{(@var{x} @var{y} @var{width} @var{height})}.  Note
+that, if the monitor is not the primary monitor, some of the
+coordinates might be negative.
 
 @item workarea
-Position and size of the work area in pixels as
address@hidden(@var{x} @var{y} @var{width} @var{height})}.
+Position of the top-left corner and size of the work area (``usable''
+space) in pixels as @samp{(@var{x} @var{y} @var{width} @var{height})}.
+This may be different from @samp{geometry} in that space occupied by
+various window manager features (docks, taskbars, etc.) may be
+excluded from the work area.  Whether or not such features actually
+subtract from the work area depends on the platform and environment.
+Again, if the monitor is not the primary monitor, some of the
+coordinates might be negative.
 
 @item mm-size
 Width and height in millimeters as @samp{(@var{width} @var{height})}
@@ -342,10 +373,14 @@
 
 @item name
 Name of the physical monitor as @var{string}.
+
address@hidden source
+Source of the multi-monitor information as @var{string};
+e.g., @samp{XRandr} or @samp{Xinerama}.
 @end table
 
 @var{x}, @var{y}, @var{width}, and @var{height} are integers.
address@hidden may not be present.
address@hidden and @samp{source} may be absent.
 
 A frame is @dfn{dominated} by a physical monitor when either the
 largest area of the frame resides in that monitor, or (if the frame
@@ -353,6 +388,26 @@
 to the frame.  Every (non-tooltip) frame (whether visible or not) in a
 graphical display is dominated by exactly one physical monitor at a
 time, though the frame can span multiple (or no) physical monitors.
+
+Here's an example of the data produced by this function on a 2-monitor
+display:
+
address@hidden
+  (display-monitor-attributes-list)
+  @result{}
+  (((geometry 0 0 1920 1080) ;; @r{Left-hand, primary monitor}
+    (workarea 0 0 1920 1050) ;; @r{A taskbar occupies some of the height}
+    (mm-size 677 381)
+    (name . "DISPLAY1")
+    (frames #<frame emacs@@host *Messages* 0x11578c0>
+            #<frame emacs@@host *scratch* 0x114b838>))
+   ((geometry 1920 0 1680 1050) ;; @r{Right-hand monitor}
+    (workarea 1920 0 1680 1050) ;; @r{Whole screen can be used}
+    (mm-size 593 370)
+    (name . "DISPLAY2")
+    (frames)))
address@hidden lisp
+
 @end defun
 
 @defun frame-monitor-attributes &optional frame
@@ -529,8 +584,9 @@
 @vindex display, a frame parameter
 @item display
 The display on which to open this frame.  It should be a string of the
-form @code{"@var{host}:@address@hidden"}, just like the
address@hidden environment variable.
+form @address@hidden:@address@hidden, just like the
address@hidden environment variable.  @xref{Multiple Terminals}, for
+more details about display names.
 
 @vindex display-type, a frame parameter
 @item display-type
@@ -586,12 +642,14 @@
 @item @code{(+ @var{pos})}
 This specifies the position of the left frame edge relative to the left
 screen edge.  The integer @var{pos} may be positive or negative; a
-negative value specifies a position outside the screen.
+negative value specifies a position outside the screen or on a monitor
+other than the primary one (for multi-monitor displays).
 
 @item @code{(- @var{pos})}
 This specifies the position of the right frame edge relative to the right
 screen edge.  The integer @var{pos} may be positive or negative; a
-negative value specifies a position outside the screen.
+negative value specifies a position outside the screen or on a monitor
+other than the primary one (for multi-monitor displays).
 @end table
 
 Some window managers ignore program-specified positions.  If you want to

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-10-09 03:04:59 +0000
+++ b/lisp/ChangeLog    2014-10-09 04:23:09 +0000
@@ -1,3 +1,25 @@
+2014-10-09  Glenn Morris  <address@hidden>
+
+       * frame.el (display-monitor-attributes-list): Doc tweaks.
+
+2014-10-09  Eli Zaretskii  <address@hidden>
+
+       * faces.el (display-grayscale-p): Mention in the doc string that
+       the argument can be either a display name or a frame.
+
+       * frame.el (display-pixel-height, display-pixel-width)
+       (display-mm-height, display-mm-width, display-backing-store)
+       (display-save-under, display-planes, display-color-cells)
+       (display-visual-class, display-monitor-attributes-list)
+       (display-screens): Mention in the doc string that the argument can
+       be either a display name or a frame.  Improve the docs of the
+       monitor attributes.  (Bug#18636)
+
+2014-10-09  Martin Rudalics  <address@hidden>
+
+       * term.el (term-window-width): Subtract 1 from the width when
+       any fringe has zero width, not just the right fringe.  (Bug#18601)
+
 2014-10-09  Stefan Monnier  <address@hidden>
 
        * frame.el (make-frame): Use t rather than nil for `w' (bug#18653).

=== modified file 'lisp/faces.el'
--- a/lisp/faces.el     2014-09-29 18:14:08 +0000
+++ b/lisp/faces.el     2014-10-09 04:23:09 +0000
@@ -1825,7 +1825,9 @@
 (declare-function x-display-grayscale-p "xfns.c" (&optional terminal))
 
 (defun display-grayscale-p (&optional display)
-  "Return non-nil if frames on DISPLAY can display shades of gray."
+  "Return non-nil if frames on DISPLAY can display shades of gray.
+DISPLAY should be either a frame or a display name (a string).
+If omitted or nil, that stands for the selected frame's display."
   (let ((frame-type (framep-on-display display)))
     (cond
      ((memq frame-type '(x w32 ns))

=== modified file 'lisp/frame.el'
--- a/lisp/frame.el     2014-10-09 03:04:59 +0000
+++ b/lisp/frame.el     2014-10-09 04:23:09 +0000
@@ -1373,6 +1373,7 @@
 
 (defun display-screens (&optional display)
   "Return the number of screens associated with DISPLAY.
+DISPLAY should be either a frame or a display name (a string).
 If DISPLAY is omitted or nil, it defaults to the selected frame's display."
   (let ((frame-type (framep-on-display display)))
     (cond
@@ -1385,6 +1386,7 @@
 
 (defun display-pixel-height (&optional display)
   "Return the height of DISPLAY's screen in pixels.
+DISPLAY can be a display name or a frame.
 If DISPLAY is omitted or nil, it defaults to the selected frame's display.
 
 For character terminals, each character counts as a single pixel.
@@ -1404,6 +1406,7 @@
 
 (defun display-pixel-width (&optional display)
   "Return the width of DISPLAY's screen in pixels.
+DISPLAY can be a display name or a frame.
 If DISPLAY is omitted or nil, it defaults to the selected frame's display.
 
 For character terminals, each character counts as a single pixel.
@@ -1442,6 +1445,7 @@
 (defun display-mm-height (&optional display)
   "Return the height of DISPLAY's screen in millimeters.
 If the information is unavailable, this function returns nil.
+DISPLAY can be a display name or a frame.
 If DISPLAY is omitted or nil, it defaults to the selected frame's display.
 
 You can override what the system thinks the result should be by
@@ -1462,6 +1466,7 @@
 (defun display-mm-width (&optional display)
   "Return the width of DISPLAY's screen in millimeters.
 If the information is unavailable, this function returns nil.
+DISPLAY can be a display name or a frame.
 If DISPLAY is omitted or nil, it defaults to the selected frame's display.
 
 You can override what the system thinks the result should be by
@@ -1485,6 +1490,7 @@
   "Return the backing store capability of DISPLAY's screen.
 The value may be `always', `when-mapped', `not-useful', or nil if
 the question is inapplicable to a certain kind of display.
+DISPLAY can be a display name or a frame.
 If DISPLAY is omitted or nil, it defaults to the selected frame's display."
   (let ((frame-type (framep-on-display display)))
     (cond
@@ -1497,6 +1503,7 @@
 
 (defun display-save-under (&optional display)
   "Return non-nil if DISPLAY's screen supports the SaveUnder feature.
+DISPLAY can be a display name or a frame.
 If DISPLAY is omitted or nil, it defaults to the selected frame's display."
   (let ((frame-type (framep-on-display display)))
     (cond
@@ -1509,6 +1516,7 @@
 
 (defun display-planes (&optional display)
   "Return the number of planes supported by DISPLAY.
+DISPLAY can be a display name or a frame.
 If DISPLAY is omitted or nil, it defaults to the selected frame's display."
   (let ((frame-type (framep-on-display display)))
     (cond
@@ -1523,6 +1531,7 @@
 
 (defun display-color-cells (&optional display)
   "Return the number of color cells supported by DISPLAY.
+DISPLAY can be a display name or a frame.
 If DISPLAY is omitted or nil, it defaults to the selected frame's display."
   (let ((frame-type (framep-on-display display)))
     (cond
@@ -1539,6 +1548,7 @@
   "Return the visual class of DISPLAY.
 The value is one of the symbols `static-gray', `gray-scale',
 `static-color', `pseudo-color', `true-color', or `direct-color'.
+DISPLAY can be a display name or a frame.
 If DISPLAY is omitted or nil, it defaults to the selected frame's display."
   (let ((frame-type (framep-on-display display)))
     (cond
@@ -1559,6 +1569,7 @@
 
 (defun display-monitor-attributes-list (&optional display)
   "Return a list of physical monitor attributes on DISPLAY.
+DISPLAY can be a display name, a terminal name, or a frame.
 If DISPLAY is omitted or nil, it defaults to the selected frame's display.
 Each element of the list represents the attributes of a physical
 monitor.  The first element corresponds to the primary monitor.
@@ -1573,9 +1584,20 @@
             (WIDTH HEIGHT)
  frames   -- List of frames dominated by the physical monitor
  name (*) -- Name of the physical monitor as a string
-
-where X, Y, WIDTH, and HEIGHT are integers.  Keys labeled
-with (*) are optional.
+ source (*) -- Source of multi-monitor information as a string
+
+where X, Y, WIDTH, and HEIGHT are integers.  X and Y are coordinates
+of the top-left corner, and might be negative for monitors other than
+the primary one.  Keys labeled with (*) are optional.
+
+The \"work area\" is a measure of the \"usable\" display space.
+It may be less than the total screen size, owing to space taken up
+by window manager features (docks, taskbars, etc.).  The precise
+details depend on the platform and environment.
+
+The `source' attribute describes the source from which the information
+was obtained.  On X, this may be one of: \"Gdk\", \"XRandr\", \"Xinerama\",
+or \"fallback\".
 
 A frame is dominated by a physical monitor when either the
 largest area of the frame resides in the monitor, or the monitor

=== modified file 'lisp/term.el'
--- a/lisp/term.el      2014-10-02 03:19:32 +0000
+++ b/lisp/term.el      2014-10-09 04:23:09 +0000
@@ -972,6 +972,9 @@
   (if (and (not (featurep 'xemacs))
           (display-graphic-p)
           overflow-newline-into-fringe
+          ;; Subtract 1 from the width when any fringe has zero width,
+          ;; not just the right fringe.  Bug#18601.
+          (/= (frame-parameter nil 'left-fringe) 0)
           (/= (frame-parameter nil 'right-fringe) 0))
       (window-body-width)
     (1- (window-body-width))))

=== modified file 'nt/README.W32'
--- a/nt/README.W32     2014-02-08 10:25:33 +0000
+++ b/nt/README.W32     2014-10-09 00:47:30 +0000
@@ -220,7 +220,7 @@
   key in HKEY_CURRENT_USER.  Just delete the whole Software\GNU\Emacs
   key.
 
-  The Start menu entry can be removed by right-clicking on the Task bar
+  The Start menu entry can be removed by right-clicking on the Taskbar
   and selecting Properties, then using the Remove option on the Start
   Menu Programs page.  (If you installed under an account with
   administrator privileges, then you need to click the Advanced button

=== modified file 'src/ChangeLog.10'
--- a/src/ChangeLog.10  2014-01-15 03:06:07 +0000
+++ b/src/ChangeLog.10  2014-10-09 00:47:30 +0000
@@ -3264,7 +3264,7 @@
        * w32term.c (x_make_frame_visible): Use SystemParametersInfo with
        SPI_GETWORKAREA to find the dimensions of the screen work area,
        and adjust vertical position of the frame in order to avoid being
-       covered by the task bar.
+       covered by the taskbar.
 
        * w32fns.c (w32_createwindow): Use CW_USEDEFAULT instead of
        f->left_pos and SH_SHOW instead of f->top_pos in the call to

=== modified file 'src/w32term.c'
--- a/src/w32term.c     2014-09-30 23:19:31 +0000
+++ b/src/w32term.c     2014-10-09 04:23:09 +0000
@@ -6347,7 +6347,7 @@
          RECT window_rect;
 
          /* Adjust vertical window position in order to avoid being
-            covered by a task bar placed at the bottom of the desktop. */
+            covered by a taskbar placed at the bottom of the desktop. */
          SystemParametersInfo (SPI_GETWORKAREA, 0, &workarea_rect, 0);
          GetWindowRect (FRAME_W32_WINDOW (f), &window_rect);
          if (window_rect.bottom > workarea_rect.bottom


reply via email to

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