diff options
| author | Glenn Morris | 2014-10-08 21:23:09 -0700 |
|---|---|---|
| committer | Glenn Morris | 2014-10-08 21:23:09 -0700 |
| commit | 32ade3f01a0185f2a836c313d9d50564abe4e254 (patch) | |
| tree | 195ed03adf2f7757d67caf79dd2baff44911748c | |
| parent | fdcb06012a36a8ec800e33554ae94c26e43a7c05 (diff) | |
| parent | 942a57a2a5c56575a15dd22e1feebd1825f281b0 (diff) | |
| download | emacs-32ade3f01a0185f2a836c313d9d50564abe4e254.tar.gz emacs-32ade3f01a0185f2a836c313d9d50564abe4e254.zip | |
Merge from emacs-24; up to 2014-07-22T06:37:31Z!yamaoka@jpl.org
| -rw-r--r-- | doc/emacs/ChangeLog | 5 | ||||
| -rw-r--r-- | doc/emacs/package.texi | 2 | ||||
| -rw-r--r-- | doc/lispref/ChangeLog | 17 | ||||
| -rw-r--r-- | doc/lispref/frames.texi | 96 | ||||
| -rw-r--r-- | lisp/ChangeLog | 22 | ||||
| -rw-r--r-- | lisp/faces.el | 4 | ||||
| -rw-r--r-- | lisp/frame.el | 26 | ||||
| -rw-r--r-- | lisp/term.el | 3 | ||||
| -rw-r--r-- | nt/README.W32 | 2 | ||||
| -rw-r--r-- | src/ChangeLog.10 | 2 | ||||
| -rw-r--r-- | src/w32term.c | 2 |
11 files changed, 155 insertions, 26 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 59d4280e789..cafe925dec0 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2014-10-09 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * package.texi (Package Menu): The package list was changed to not | ||
| 4 | say "unsigned" any more. | ||
| 5 | |||
| 1 | 2014-10-05 Glenn Morris <rgm@gnu.org> | 6 | 2014-10-05 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * misc.texi (Sorting): | 8 | * misc.texi (Sorting): |
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi index 1af90edd953..136eff7e2fe 100644 --- a/doc/emacs/package.texi +++ b/doc/emacs/package.texi | |||
| @@ -60,7 +60,7 @@ The package's version number (e.g., @samp{11.86}). | |||
| 60 | @item | 60 | @item |
| 61 | The package's status---normally one of @samp{available} (can be | 61 | The package's status---normally one of @samp{available} (can be |
| 62 | downloaded from the package archive), @samp{installed}, | 62 | downloaded from the package archive), @samp{installed}, |
| 63 | @samp{unsigned} (installed, but not signed; @pxref{Package Signing}), | 63 | @c @samp{unsigned} (installed, but not signed; @pxref{Package Signing}), |
| 64 | or @samp{built-in} (included in Emacs by default). | 64 | or @samp{built-in} (included in Emacs by default). |
| 65 | 65 | ||
| 66 | The status can also be @samp{new}. This is equivalent to | 66 | The status can also be @samp{new}. This is equivalent to |
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 4d4d0b529cc..ba95d11399a 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2014-10-09 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * frames.texi (Multiple Terminals): Copyedits. | ||
| 4 | |||
| 5 | 2014-10-09 Eli Zaretskii <eliz@gnu.org> | ||
| 6 | |||
| 7 | * frames.texi (Multiple Terminals): Improve the description of X | ||
| 8 | display names. Add index entries. | ||
| 9 | (Basic Parameters): Add a cross-reference to where X display names | ||
| 10 | are described. | ||
| 11 | (Position Parameters): Mention that positional parameters of the | ||
| 12 | form (+ POS) can be negative if they are on a non-primary monitor | ||
| 13 | of a multi-monitor display. (Bug#18636) | ||
| 14 | (Creating Frames): Mention that on multi-monitor displays the | ||
| 15 | frame might be positioned differently than specified by the frame | ||
| 16 | parameters alist. | ||
| 17 | |||
| 1 | 2014-10-08 Leo Liu <sdl.web@gmail.com> | 18 | 2014-10-08 Leo Liu <sdl.web@gmail.com> |
| 2 | 19 | ||
| 3 | * streams.texi (Output Functions): Document new argument ENSURE to | 20 | * streams.texi (Output Functions): Document new argument ENSURE to |
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 464c5fccc4f..a14702a7ce1 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi | |||
| @@ -131,6 +131,13 @@ applies any parameters listed in @code{frame-inherited-parameters} | |||
| 131 | (see below) and not present in the argument, taking the values from | 131 | (see below) and not present in the argument, taking the values from |
| 132 | the frame that was selected when @code{make-frame} was called. | 132 | the frame that was selected when @code{make-frame} was called. |
| 133 | 133 | ||
| 134 | Note that on multi-monitor displays (@pxref{Multiple Terminals}), the | ||
| 135 | window manager might position the frame differently than specified by | ||
| 136 | the positional parameters in @var{alist} (@pxref{Position | ||
| 137 | Parameters}). For example, some window managers have a policy of | ||
| 138 | displaying the frame on the monitor that contains the largest part of | ||
| 139 | the window (a.k.a.@: the @dfn{dominating} monitor). | ||
| 140 | |||
| 134 | This function itself does not make the new frame the selected frame. | 141 | This function itself does not make the new frame the selected frame. |
| 135 | @xref{Input Focus}. The previously selected frame remains selected. | 142 | @xref{Input Focus}. The previously selected frame remains selected. |
| 136 | On graphical terminals, however, the windowing system may select the | 143 | On graphical terminals, however, the windowing system may select the |
| @@ -258,13 +265,27 @@ of those frames is ``@emph{the} selected frame'' at any given moment | |||
| 258 | terminals, by interacting with the @command{emacsclient} program. | 265 | terminals, by interacting with the @command{emacsclient} program. |
| 259 | @xref{Emacs Server,,, emacs, The GNU Emacs Manual}. | 266 | @xref{Emacs Server,,, emacs, The GNU Emacs Manual}. |
| 260 | 267 | ||
| 268 | @cindex X display names | ||
| 269 | @cindex display name on X | ||
| 261 | A single X server can handle more than one display. Each X display | 270 | A single X server can handle more than one display. Each X display |
| 262 | has a three-part name, @samp{@var{host}:@var{server}.@var{screen}}. | 271 | has a three-part name, |
| 263 | The first two parts, @var{host} and @var{server}, identify the X | 272 | @samp{@var{hostname}:@var{displaynumber}.@var{screennumber}}. The |
| 264 | server; the third part, @var{screen}, identifies a screen number on | 273 | first part, @var{hostname}, specifies the name of the machine to which |
| 265 | that X server. When you use two or more screens belonging to one | 274 | the display is physically connected. The second part, |
| 266 | server, Emacs knows by the similarity in their names that they share a | 275 | @var{displaynumber}, is a zero-based number that identifies one or |
| 267 | single keyboard. | 276 | more monitors connected to that machine that share a common keyboard |
| 277 | and pointing device (mouse, tablet, etc.). The third part, | ||
| 278 | @var{screennumber}, identifies a zero-based screen number (a separate | ||
| 279 | monitor) that is part of a single monitor collection on that X server. | ||
| 280 | When you use two or more screens belonging to one server, Emacs knows | ||
| 281 | by the similarity in their names that they share a single keyboard. | ||
| 282 | |||
| 283 | Systems that don't use the X window system, such as MS-Windows, | ||
| 284 | don't support the notion of X displays, and have only one display on | ||
| 285 | each host. The display name on these systems doesn't follow the above | ||
| 286 | 3-part format; for example, the display name on MS-Windows systems is | ||
| 287 | a constant string @samp{w32}, and exists for compatibility, so that | ||
| 288 | you could pass it to functions that expect a display name. | ||
| 268 | 289 | ||
| 269 | @deffn Command make-frame-on-display display &optional parameters | 290 | @deffn Command make-frame-on-display display &optional parameters |
| 270 | This function creates and returns a new frame on @var{display}, taking | 291 | This function creates and returns a new frame on @var{display}, taking |
| @@ -320,19 +341,29 @@ to obtain information about such setups. | |||
| 320 | 341 | ||
| 321 | @defun display-monitor-attributes-list &optional display | 342 | @defun display-monitor-attributes-list &optional display |
| 322 | This function returns a list of physical monitor attributes on | 343 | This function returns a list of physical monitor attributes on |
| 323 | @var{display}, which defaults to that of the selected frame. | 344 | @var{display}, which can be a display name (a string), a terminal, or |
| 324 | Each element of the list is an association list, representing the | 345 | a frame; if omitted or @code{nil}, it defaults to the selected frame's |
| 325 | attributes of a physical monitor. The first element corresponds to | 346 | display. Each element of the list is an association list, |
| 326 | the primary monitor. The attribute keys and values are: | 347 | representing the attributes of a physical monitor. The first element |
| 348 | corresponds to the primary monitor. The attribute keys and values | ||
| 349 | are: | ||
| 327 | 350 | ||
| 328 | @table @samp | 351 | @table @samp |
| 329 | @item geometry | 352 | @item geometry |
| 330 | Position and size in pixels as @samp{(@var{x} @var{y} | 353 | Position of the top-left corner of the monitor's screen and its size, |
| 331 | @var{width} @var{height})}. | 354 | in pixels, as @samp{(@var{x} @var{y} @var{width} @var{height})}. Note |
| 355 | that, if the monitor is not the primary monitor, some of the | ||
| 356 | coordinates might be negative. | ||
| 332 | 357 | ||
| 333 | @item workarea | 358 | @item workarea |
| 334 | Position and size of the work area in pixels as | 359 | Position of the top-left corner and size of the work area (``usable'' |
| 335 | @samp{(@var{x} @var{y} @var{width} @var{height})}. | 360 | space) in pixels as @samp{(@var{x} @var{y} @var{width} @var{height})}. |
| 361 | This may be different from @samp{geometry} in that space occupied by | ||
| 362 | various window manager features (docks, taskbars, etc.) may be | ||
| 363 | excluded from the work area. Whether or not such features actually | ||
| 364 | subtract from the work area depends on the platform and environment. | ||
| 365 | Again, if the monitor is not the primary monitor, some of the | ||
| 366 | coordinates might be negative. | ||
| 336 | 367 | ||
| 337 | @item mm-size | 368 | @item mm-size |
| 338 | Width and height in millimeters as @samp{(@var{width} @var{height})} | 369 | Width and height in millimeters as @samp{(@var{width} @var{height})} |
| @@ -342,10 +373,14 @@ List of frames that this physical monitor dominates (see below). | |||
| 342 | 373 | ||
| 343 | @item name | 374 | @item name |
| 344 | Name of the physical monitor as @var{string}. | 375 | Name of the physical monitor as @var{string}. |
| 376 | |||
| 377 | @item source | ||
| 378 | Source of the multi-monitor information as @var{string}; | ||
| 379 | e.g., @samp{XRandr} or @samp{Xinerama}. | ||
| 345 | @end table | 380 | @end table |
| 346 | 381 | ||
| 347 | @var{x}, @var{y}, @var{width}, and @var{height} are integers. | 382 | @var{x}, @var{y}, @var{width}, and @var{height} are integers. |
| 348 | @samp{name} may not be present. | 383 | @samp{name} and @samp{source} may be absent. |
| 349 | 384 | ||
| 350 | A frame is @dfn{dominated} by a physical monitor when either the | 385 | A frame is @dfn{dominated} by a physical monitor when either the |
| 351 | largest area of the frame resides in that monitor, or (if the frame | 386 | largest area of the frame resides in that monitor, or (if the frame |
| @@ -353,6 +388,26 @@ does not intersect any physical monitors) that monitor is the closest | |||
| 353 | to the frame. Every (non-tooltip) frame (whether visible or not) in a | 388 | to the frame. Every (non-tooltip) frame (whether visible or not) in a |
| 354 | graphical display is dominated by exactly one physical monitor at a | 389 | graphical display is dominated by exactly one physical monitor at a |
| 355 | time, though the frame can span multiple (or no) physical monitors. | 390 | time, though the frame can span multiple (or no) physical monitors. |
| 391 | |||
| 392 | Here's an example of the data produced by this function on a 2-monitor | ||
| 393 | display: | ||
| 394 | |||
| 395 | @lisp | ||
| 396 | (display-monitor-attributes-list) | ||
| 397 | @result{} | ||
| 398 | (((geometry 0 0 1920 1080) ;; @r{Left-hand, primary monitor} | ||
| 399 | (workarea 0 0 1920 1050) ;; @r{A taskbar occupies some of the height} | ||
| 400 | (mm-size 677 381) | ||
| 401 | (name . "DISPLAY1") | ||
| 402 | (frames #<frame emacs@@host *Messages* 0x11578c0> | ||
| 403 | #<frame emacs@@host *scratch* 0x114b838>)) | ||
| 404 | ((geometry 1920 0 1680 1050) ;; @r{Right-hand monitor} | ||
| 405 | (workarea 1920 0 1680 1050) ;; @r{Whole screen can be used} | ||
| 406 | (mm-size 593 370) | ||
| 407 | (name . "DISPLAY2") | ||
| 408 | (frames))) | ||
| 409 | @end lisp | ||
| 410 | |||
| 356 | @end defun | 411 | @end defun |
| 357 | 412 | ||
| 358 | @defun frame-monitor-attributes &optional frame | 413 | @defun frame-monitor-attributes &optional frame |
| @@ -529,8 +584,9 @@ frame. @code{title} and @code{name} are meaningful on all terminals. | |||
| 529 | @vindex display, a frame parameter | 584 | @vindex display, a frame parameter |
| 530 | @item display | 585 | @item display |
| 531 | The display on which to open this frame. It should be a string of the | 586 | The display on which to open this frame. It should be a string of the |
| 532 | form @code{"@var{host}:@var{dpy}.@var{screen}"}, just like the | 587 | form @samp{@var{host}:@var{dpy}.@var{screen}}, just like the |
| 533 | @env{DISPLAY} environment variable. | 588 | @env{DISPLAY} environment variable. @xref{Multiple Terminals}, for |
| 589 | more details about display names. | ||
| 534 | 590 | ||
| 535 | @vindex display-type, a frame parameter | 591 | @vindex display-type, a frame parameter |
| 536 | @item display-type | 592 | @item display-type |
| @@ -586,12 +642,14 @@ right screen edge. | |||
| 586 | @item @code{(+ @var{pos})} | 642 | @item @code{(+ @var{pos})} |
| 587 | This specifies the position of the left frame edge relative to the left | 643 | This specifies the position of the left frame edge relative to the left |
| 588 | screen edge. The integer @var{pos} may be positive or negative; a | 644 | screen edge. The integer @var{pos} may be positive or negative; a |
| 589 | negative value specifies a position outside the screen. | 645 | negative value specifies a position outside the screen or on a monitor |
| 646 | other than the primary one (for multi-monitor displays). | ||
| 590 | 647 | ||
| 591 | @item @code{(- @var{pos})} | 648 | @item @code{(- @var{pos})} |
| 592 | This specifies the position of the right frame edge relative to the right | 649 | This specifies the position of the right frame edge relative to the right |
| 593 | screen edge. The integer @var{pos} may be positive or negative; a | 650 | screen edge. The integer @var{pos} may be positive or negative; a |
| 594 | negative value specifies a position outside the screen. | 651 | negative value specifies a position outside the screen or on a monitor |
| 652 | other than the primary one (for multi-monitor displays). | ||
| 595 | @end table | 653 | @end table |
| 596 | 654 | ||
| 597 | Some window managers ignore program-specified positions. If you want to | 655 | Some window managers ignore program-specified positions. If you want to |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c8c6f61cdcf..ef31fc2ead0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,25 @@ | |||
| 1 | 2014-10-09 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * frame.el (display-monitor-attributes-list): Doc tweaks. | ||
| 4 | |||
| 5 | 2014-10-09 Eli Zaretskii <eliz@gnu.org> | ||
| 6 | |||
| 7 | * faces.el (display-grayscale-p): Mention in the doc string that | ||
| 8 | the argument can be either a display name or a frame. | ||
| 9 | |||
| 10 | * frame.el (display-pixel-height, display-pixel-width) | ||
| 11 | (display-mm-height, display-mm-width, display-backing-store) | ||
| 12 | (display-save-under, display-planes, display-color-cells) | ||
| 13 | (display-visual-class, display-monitor-attributes-list) | ||
| 14 | (display-screens): Mention in the doc string that the argument can | ||
| 15 | be either a display name or a frame. Improve the docs of the | ||
| 16 | monitor attributes. (Bug#18636) | ||
| 17 | |||
| 18 | 2014-10-09 Martin Rudalics <rudalics@gmx.at> | ||
| 19 | |||
| 20 | * term.el (term-window-width): Subtract 1 from the width when | ||
| 21 | any fringe has zero width, not just the right fringe. (Bug#18601) | ||
| 22 | |||
| 1 | 2014-10-09 Stefan Monnier <monnier@iro.umontreal.ca> | 23 | 2014-10-09 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 24 | ||
| 3 | * frame.el (make-frame): Use t rather than nil for `w' (bug#18653). | 25 | * frame.el (make-frame): Use t rather than nil for `w' (bug#18653). |
diff --git a/lisp/faces.el b/lisp/faces.el index aedd5db72f1..d7b330ee64c 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -1825,7 +1825,9 @@ If omitted or nil, that stands for the selected frame's display." | |||
| 1825 | (declare-function x-display-grayscale-p "xfns.c" (&optional terminal)) | 1825 | (declare-function x-display-grayscale-p "xfns.c" (&optional terminal)) |
| 1826 | 1826 | ||
| 1827 | (defun display-grayscale-p (&optional display) | 1827 | (defun display-grayscale-p (&optional display) |
| 1828 | "Return non-nil if frames on DISPLAY can display shades of gray." | 1828 | "Return non-nil if frames on DISPLAY can display shades of gray. |
| 1829 | DISPLAY should be either a frame or a display name (a string). | ||
| 1830 | If omitted or nil, that stands for the selected frame's display." | ||
| 1829 | (let ((frame-type (framep-on-display display))) | 1831 | (let ((frame-type (framep-on-display display))) |
| 1830 | (cond | 1832 | (cond |
| 1831 | ((memq frame-type '(x w32 ns)) | 1833 | ((memq frame-type '(x w32 ns)) |
diff --git a/lisp/frame.el b/lisp/frame.el index 34f35db34b7..952a3568156 100644 --- a/lisp/frame.el +++ b/lisp/frame.el | |||
| @@ -1373,6 +1373,7 @@ frame's display)." | |||
| 1373 | 1373 | ||
| 1374 | (defun display-screens (&optional display) | 1374 | (defun display-screens (&optional display) |
| 1375 | "Return the number of screens associated with DISPLAY. | 1375 | "Return the number of screens associated with DISPLAY. |
| 1376 | DISPLAY should be either a frame or a display name (a string). | ||
| 1376 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." | 1377 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." |
| 1377 | (let ((frame-type (framep-on-display display))) | 1378 | (let ((frame-type (framep-on-display display))) |
| 1378 | (cond | 1379 | (cond |
| @@ -1385,6 +1386,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display." | |||
| 1385 | 1386 | ||
| 1386 | (defun display-pixel-height (&optional display) | 1387 | (defun display-pixel-height (&optional display) |
| 1387 | "Return the height of DISPLAY's screen in pixels. | 1388 | "Return the height of DISPLAY's screen in pixels. |
| 1389 | DISPLAY can be a display name or a frame. | ||
| 1388 | If DISPLAY is omitted or nil, it defaults to the selected frame's display. | 1390 | If DISPLAY is omitted or nil, it defaults to the selected frame's display. |
| 1389 | 1391 | ||
| 1390 | For character terminals, each character counts as a single pixel. | 1392 | For character terminals, each character counts as a single pixel. |
| @@ -1404,6 +1406,7 @@ with DISPLAY. To get information for each physical monitor, use | |||
| 1404 | 1406 | ||
| 1405 | (defun display-pixel-width (&optional display) | 1407 | (defun display-pixel-width (&optional display) |
| 1406 | "Return the width of DISPLAY's screen in pixels. | 1408 | "Return the width of DISPLAY's screen in pixels. |
| 1409 | DISPLAY can be a display name or a frame. | ||
| 1407 | If DISPLAY is omitted or nil, it defaults to the selected frame's display. | 1410 | If DISPLAY is omitted or nil, it defaults to the selected frame's display. |
| 1408 | 1411 | ||
| 1409 | For character terminals, each character counts as a single pixel. | 1412 | For character terminals, each character counts as a single pixel. |
| @@ -1442,6 +1445,7 @@ not explicitly specified." | |||
| 1442 | (defun display-mm-height (&optional display) | 1445 | (defun display-mm-height (&optional display) |
| 1443 | "Return the height of DISPLAY's screen in millimeters. | 1446 | "Return the height of DISPLAY's screen in millimeters. |
| 1444 | If the information is unavailable, this function returns nil. | 1447 | If the information is unavailable, this function returns nil. |
| 1448 | DISPLAY can be a display name or a frame. | ||
| 1445 | If DISPLAY is omitted or nil, it defaults to the selected frame's display. | 1449 | If DISPLAY is omitted or nil, it defaults to the selected frame's display. |
| 1446 | 1450 | ||
| 1447 | You can override what the system thinks the result should be by | 1451 | You can override what the system thinks the result should be by |
| @@ -1462,6 +1466,7 @@ monitor, use `display-monitor-attributes-list'." | |||
| 1462 | (defun display-mm-width (&optional display) | 1466 | (defun display-mm-width (&optional display) |
| 1463 | "Return the width of DISPLAY's screen in millimeters. | 1467 | "Return the width of DISPLAY's screen in millimeters. |
| 1464 | If the information is unavailable, this function returns nil. | 1468 | If the information is unavailable, this function returns nil. |
| 1469 | DISPLAY can be a display name or a frame. | ||
| 1465 | If DISPLAY is omitted or nil, it defaults to the selected frame's display. | 1470 | If DISPLAY is omitted or nil, it defaults to the selected frame's display. |
| 1466 | 1471 | ||
| 1467 | You can override what the system thinks the result should be by | 1472 | You can override what the system thinks the result should be by |
| @@ -1485,6 +1490,7 @@ monitor, use `display-monitor-attributes-list'." | |||
| 1485 | "Return the backing store capability of DISPLAY's screen. | 1490 | "Return the backing store capability of DISPLAY's screen. |
| 1486 | The value may be `always', `when-mapped', `not-useful', or nil if | 1491 | The value may be `always', `when-mapped', `not-useful', or nil if |
| 1487 | the question is inapplicable to a certain kind of display. | 1492 | the question is inapplicable to a certain kind of display. |
| 1493 | DISPLAY can be a display name or a frame. | ||
| 1488 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." | 1494 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." |
| 1489 | (let ((frame-type (framep-on-display display))) | 1495 | (let ((frame-type (framep-on-display display))) |
| 1490 | (cond | 1496 | (cond |
| @@ -1497,6 +1503,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display." | |||
| 1497 | 1503 | ||
| 1498 | (defun display-save-under (&optional display) | 1504 | (defun display-save-under (&optional display) |
| 1499 | "Return non-nil if DISPLAY's screen supports the SaveUnder feature. | 1505 | "Return non-nil if DISPLAY's screen supports the SaveUnder feature. |
| 1506 | DISPLAY can be a display name or a frame. | ||
| 1500 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." | 1507 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." |
| 1501 | (let ((frame-type (framep-on-display display))) | 1508 | (let ((frame-type (framep-on-display display))) |
| 1502 | (cond | 1509 | (cond |
| @@ -1509,6 +1516,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display." | |||
| 1509 | 1516 | ||
| 1510 | (defun display-planes (&optional display) | 1517 | (defun display-planes (&optional display) |
| 1511 | "Return the number of planes supported by DISPLAY. | 1518 | "Return the number of planes supported by DISPLAY. |
| 1519 | DISPLAY can be a display name or a frame. | ||
| 1512 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." | 1520 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." |
| 1513 | (let ((frame-type (framep-on-display display))) | 1521 | (let ((frame-type (framep-on-display display))) |
| 1514 | (cond | 1522 | (cond |
| @@ -1523,6 +1531,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display." | |||
| 1523 | 1531 | ||
| 1524 | (defun display-color-cells (&optional display) | 1532 | (defun display-color-cells (&optional display) |
| 1525 | "Return the number of color cells supported by DISPLAY. | 1533 | "Return the number of color cells supported by DISPLAY. |
| 1534 | DISPLAY can be a display name or a frame. | ||
| 1526 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." | 1535 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." |
| 1527 | (let ((frame-type (framep-on-display display))) | 1536 | (let ((frame-type (framep-on-display display))) |
| 1528 | (cond | 1537 | (cond |
| @@ -1539,6 +1548,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display." | |||
| 1539 | "Return the visual class of DISPLAY. | 1548 | "Return the visual class of DISPLAY. |
| 1540 | The value is one of the symbols `static-gray', `gray-scale', | 1549 | The value is one of the symbols `static-gray', `gray-scale', |
| 1541 | `static-color', `pseudo-color', `true-color', or `direct-color'. | 1550 | `static-color', `pseudo-color', `true-color', or `direct-color'. |
| 1551 | DISPLAY can be a display name or a frame. | ||
| 1542 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." | 1552 | If DISPLAY is omitted or nil, it defaults to the selected frame's display." |
| 1543 | (let ((frame-type (framep-on-display display))) | 1553 | (let ((frame-type (framep-on-display display))) |
| 1544 | (cond | 1554 | (cond |
| @@ -1559,6 +1569,7 @@ If DISPLAY is omitted or nil, it defaults to the selected frame's display." | |||
| 1559 | 1569 | ||
| 1560 | (defun display-monitor-attributes-list (&optional display) | 1570 | (defun display-monitor-attributes-list (&optional display) |
| 1561 | "Return a list of physical monitor attributes on DISPLAY. | 1571 | "Return a list of physical monitor attributes on DISPLAY. |
| 1572 | DISPLAY can be a display name, a terminal name, or a frame. | ||
| 1562 | If DISPLAY is omitted or nil, it defaults to the selected frame's display. | 1573 | If DISPLAY is omitted or nil, it defaults to the selected frame's display. |
| 1563 | Each element of the list represents the attributes of a physical | 1574 | Each element of the list represents the attributes of a physical |
| 1564 | monitor. The first element corresponds to the primary monitor. | 1575 | monitor. The first element corresponds to the primary monitor. |
| @@ -1573,9 +1584,20 @@ of attribute keys and values as follows: | |||
| 1573 | (WIDTH HEIGHT) | 1584 | (WIDTH HEIGHT) |
| 1574 | frames -- List of frames dominated by the physical monitor | 1585 | frames -- List of frames dominated by the physical monitor |
| 1575 | name (*) -- Name of the physical monitor as a string | 1586 | name (*) -- Name of the physical monitor as a string |
| 1587 | source (*) -- Source of multi-monitor information as a string | ||
| 1576 | 1588 | ||
| 1577 | where X, Y, WIDTH, and HEIGHT are integers. Keys labeled | 1589 | where X, Y, WIDTH, and HEIGHT are integers. X and Y are coordinates |
| 1578 | with (*) are optional. | 1590 | of the top-left corner, and might be negative for monitors other than |
| 1591 | the primary one. Keys labeled with (*) are optional. | ||
| 1592 | |||
| 1593 | The \"work area\" is a measure of the \"usable\" display space. | ||
| 1594 | It may be less than the total screen size, owing to space taken up | ||
| 1595 | by window manager features (docks, taskbars, etc.). The precise | ||
| 1596 | details depend on the platform and environment. | ||
| 1597 | |||
| 1598 | The `source' attribute describes the source from which the information | ||
| 1599 | was obtained. On X, this may be one of: \"Gdk\", \"XRandr\", \"Xinerama\", | ||
| 1600 | or \"fallback\". | ||
| 1579 | 1601 | ||
| 1580 | A frame is dominated by a physical monitor when either the | 1602 | A frame is dominated by a physical monitor when either the |
| 1581 | largest area of the frame resides in the monitor, or the monitor | 1603 | largest area of the frame resides in the monitor, or the monitor |
diff --git a/lisp/term.el b/lisp/term.el index 611a0c660e1..282dfe2ea80 100644 --- a/lisp/term.el +++ b/lisp/term.el | |||
| @@ -972,6 +972,9 @@ is buffer-local." | |||
| 972 | (if (and (not (featurep 'xemacs)) | 972 | (if (and (not (featurep 'xemacs)) |
| 973 | (display-graphic-p) | 973 | (display-graphic-p) |
| 974 | overflow-newline-into-fringe | 974 | overflow-newline-into-fringe |
| 975 | ;; Subtract 1 from the width when any fringe has zero width, | ||
| 976 | ;; not just the right fringe. Bug#18601. | ||
| 977 | (/= (frame-parameter nil 'left-fringe) 0) | ||
| 975 | (/= (frame-parameter nil 'right-fringe) 0)) | 978 | (/= (frame-parameter nil 'right-fringe) 0)) |
| 976 | (window-body-width) | 979 | (window-body-width) |
| 977 | (1- (window-body-width)))) | 980 | (1- (window-body-width)))) |
diff --git a/nt/README.W32 b/nt/README.W32 index c4e4cf351d4..c73b3b3ad09 100644 --- a/nt/README.W32 +++ b/nt/README.W32 | |||
| @@ -220,7 +220,7 @@ See the end of the file for license conditions. | |||
| 220 | key in HKEY_CURRENT_USER. Just delete the whole Software\GNU\Emacs | 220 | key in HKEY_CURRENT_USER. Just delete the whole Software\GNU\Emacs |
| 221 | key. | 221 | key. |
| 222 | 222 | ||
| 223 | The Start menu entry can be removed by right-clicking on the Task bar | 223 | The Start menu entry can be removed by right-clicking on the Taskbar |
| 224 | and selecting Properties, then using the Remove option on the Start | 224 | and selecting Properties, then using the Remove option on the Start |
| 225 | Menu Programs page. (If you installed under an account with | 225 | Menu Programs page. (If you installed under an account with |
| 226 | administrator privileges, then you need to click the Advanced button | 226 | administrator privileges, then you need to click the Advanced button |
diff --git a/src/ChangeLog.10 b/src/ChangeLog.10 index 19adb22b869..1b77eaf5803 100644 --- a/src/ChangeLog.10 +++ b/src/ChangeLog.10 | |||
| @@ -3264,7 +3264,7 @@ | |||
| 3264 | * w32term.c (x_make_frame_visible): Use SystemParametersInfo with | 3264 | * w32term.c (x_make_frame_visible): Use SystemParametersInfo with |
| 3265 | SPI_GETWORKAREA to find the dimensions of the screen work area, | 3265 | SPI_GETWORKAREA to find the dimensions of the screen work area, |
| 3266 | and adjust vertical position of the frame in order to avoid being | 3266 | and adjust vertical position of the frame in order to avoid being |
| 3267 | covered by the task bar. | 3267 | covered by the taskbar. |
| 3268 | 3268 | ||
| 3269 | * w32fns.c (w32_createwindow): Use CW_USEDEFAULT instead of | 3269 | * w32fns.c (w32_createwindow): Use CW_USEDEFAULT instead of |
| 3270 | f->left_pos and SH_SHOW instead of f->top_pos in the call to | 3270 | f->left_pos and SH_SHOW instead of f->top_pos in the call to |
diff --git a/src/w32term.c b/src/w32term.c index 2a4c30af12d..e8bcf3ef639 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -6347,7 +6347,7 @@ x_make_frame_visible (struct frame *f) | |||
| 6347 | RECT window_rect; | 6347 | RECT window_rect; |
| 6348 | 6348 | ||
| 6349 | /* Adjust vertical window position in order to avoid being | 6349 | /* Adjust vertical window position in order to avoid being |
| 6350 | covered by a task bar placed at the bottom of the desktop. */ | 6350 | covered by a taskbar placed at the bottom of the desktop. */ |
| 6351 | SystemParametersInfo (SPI_GETWORKAREA, 0, &workarea_rect, 0); | 6351 | SystemParametersInfo (SPI_GETWORKAREA, 0, &workarea_rect, 0); |
| 6352 | GetWindowRect (FRAME_W32_WINDOW (f), &window_rect); | 6352 | GetWindowRect (FRAME_W32_WINDOW (f), &window_rect); |
| 6353 | if (window_rect.bottom > workarea_rect.bottom | 6353 | if (window_rect.bottom > workarea_rect.bottom |