diff options
| author | Miles Bader | 2004-07-28 07:05:52 +0000 |
|---|---|---|
| committer | Miles Bader | 2004-07-28 07:05:52 +0000 |
| commit | 54685a78a73fcf2f53fd0e8a7a3c7478b8650f1b (patch) | |
| tree | 998cde32667cb156ef66ceda314d53b168370588 | |
| parent | 6bb4a8bf9aaa63141ad7c12ab6b6ba9939050178 (diff) | |
| parent | b687047c72d2d13ced9ce55d38193b24ec722773 (diff) | |
| download | emacs-54685a78a73fcf2f53fd0e8a7a3c7478b8650f1b.tar.gz emacs-54685a78a73fcf2f53fd0e8a7a3c7478b8650f1b.zip | |
Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-26
Merge from emacs--cvs-trunk--0
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-466
- miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-470
Update from CVS
| -rw-r--r-- | lisp/ChangeLog | 57 | ||||
| -rw-r--r-- | lisp/autorevert.el | 2 | ||||
| -rw-r--r-- | lisp/font-lock.el | 5 | ||||
| -rw-r--r-- | lisp/frame.el | 12 | ||||
| -rw-r--r-- | lisp/imenu.el | 19 | ||||
| -rw-r--r-- | lisp/mail/rmail.el | 2 | ||||
| -rw-r--r-- | lisp/makefile.w32-in | 2 | ||||
| -rw-r--r-- | lisp/ps-print.el | 44 | ||||
| -rw-r--r-- | lisp/replace.el | 8 | ||||
| -rw-r--r-- | lisp/select.el | 23 | ||||
| -rw-r--r-- | lisp/simple.el | 7 | ||||
| -rw-r--r-- | lisp/subr.el | 6 | ||||
| -rw-r--r-- | lisp/term/tty-colors.el | 13 | ||||
| -rw-r--r-- | lisp/textmodes/flyspell.el | 2 | ||||
| -rw-r--r-- | lisp/wdired.el | 5 | ||||
| -rw-r--r-- | lispref/ChangeLog | 33 | ||||
| -rw-r--r-- | lispref/frames.texi | 197 | ||||
| -rw-r--r-- | lispref/macros.texi | 2 | ||||
| -rw-r--r-- | lispref/minibuf.texi | 1 | ||||
| -rw-r--r-- | lispref/windows.texi | 3 | ||||
| -rw-r--r-- | man/ChangeLog | 8 | ||||
| -rw-r--r-- | man/search.texi | 35 | ||||
| -rw-r--r-- | man/text.texi | 10 | ||||
| -rw-r--r-- | nt/makefile.w32-in | 4 | ||||
| -rw-r--r-- | src/ChangeLog | 46 | ||||
| -rw-r--r-- | src/abbrev.c | 4 | ||||
| -rw-r--r-- | src/alloc.c | 11 | ||||
| -rw-r--r-- | src/dispextern.h | 3 | ||||
| -rw-r--r-- | src/fileio.c | 2 | ||||
| -rw-r--r-- | src/frame.c | 18 | ||||
| -rw-r--r-- | src/keyboard.h | 1 | ||||
| -rw-r--r-- | src/window.c | 18 | ||||
| -rw-r--r-- | src/xdisp.c | 32 | ||||
| -rw-r--r-- | src/xfaces.c | 1 | ||||
| -rw-r--r-- | src/xfns.c | 24 |
35 files changed, 479 insertions, 181 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3ece6ce0fb8..4f1d0859f65 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,11 +1,58 @@ | |||
| 1 | 2004-07-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * imenu.el (imenu-prev-index-position-function) | ||
| 4 | (imenu-extract-index-name-function, imenu-name-lookup-function) | ||
| 5 | (imenu--index-alist): Docstring redundancy fix. | ||
| 6 | |||
| 7 | 2004-07-25 Lars Hansen <larsh@math.ku.dk> | ||
| 8 | |||
| 9 | * wdired.el (wdired-finish-edit): Require dired-aux before locally | ||
| 10 | binding dired-backup-overwrite. | ||
| 11 | |||
| 12 | 2004-07-25 John Paul Wallington <jpw@gnu.org> | ||
| 13 | |||
| 14 | * subr.el (butlast, event-modifiers, event-basic-type): Doc fixes. | ||
| 15 | |||
| 16 | 2004-07-24 Luc Teirlinck <teirllm@auburn.edu> | ||
| 17 | |||
| 18 | * term/tty-colors.el (tty-color-approximate): Doc fix. | ||
| 19 | |||
| 20 | * select.el (x-get-selection, x-set-selection): Doc fixes. | ||
| 21 | |||
| 22 | * frame.el (make-frame): Doc fix. | ||
| 23 | |||
| 24 | 2004-07-24 Richard M. Stallman <rms@gnu.org> | ||
| 25 | |||
| 26 | * mail/rmail.el (rmail-mime-charset-pattern): | ||
| 27 | Don't include semicolon in the charset value. | ||
| 28 | |||
| 29 | * replace.el (occur-next-error): Call set-window-point. | ||
| 30 | (occur-engine): Handle negative NLINES. | ||
| 31 | |||
| 32 | 2004-07-23 Luc Teirlinck <teirllm@auburn.edu> | ||
| 33 | |||
| 34 | * frame.el (modify-all-frames-parameters): Minor doc fix. | ||
| 35 | (set-frame-configuration): Doc fix. | ||
| 36 | |||
| 37 | 2004-07-23 Matt Hodges <matt@stchem.bham.ac.uk> (tiny change) | ||
| 38 | |||
| 39 | * simple.el (completion-setup-function): Compute the common parts | ||
| 40 | and the first difference place correctly when | ||
| 41 | partial-completion-mode is on. | ||
| 42 | |||
| 1 | 2004-07-22 Vinicius Jose Latorre <viniciusjl@ig.com.br> | 43 | 2004-07-22 Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 2 | 44 | ||
| 3 | * ps-print.el: Doc fix. Improve the DSC compliance of the generated | 45 | * ps-print.el: Doc fix. |
| 4 | PostScript. Suggested by Michael Piotrowski <mxp@dynalabs.de>. | ||
| 5 | (ps-print-version): New version 6.6.5. | 46 | (ps-print-version): New version 6.6.5. |
| 6 | (ps-printing-region): Doc fix. | 47 | (ps-printing-region): Doc fix. |
| 7 | (ps-generate-string-list): Comment fix. | 48 | (ps-generate-string-list): Comment fix. |
| 8 | (ps-message-log-max, ps-begin-file): Code fix. | 49 | (ps-message-log-max): Code fix. |
| 50 | |||
| 51 | |||
| 52 | 2004-07-22 Michael Piotrowski <mxp@dynalabs.de> (tiny change) | ||
| 53 | |||
| 54 | * ps-print.el (ps-begin-file): Improve the DSC compliance of the | ||
| 55 | generated PostScript. | ||
| 9 | 56 | ||
| 10 | 2004-07-22 Kim F. Storm <storm@cua.dk> | 57 | 2004-07-22 Kim F. Storm <storm@cua.dk> |
| 11 | 58 | ||
| @@ -38,8 +85,8 @@ | |||
| 38 | 85 | ||
| 39 | 2004-07-17 Kai Grossjohann <kai.grossjohann@gmx.net> | 86 | 2004-07-17 Kai Grossjohann <kai.grossjohann@gmx.net> |
| 40 | 87 | ||
| 41 | * net/tramp.el (tramp-handle-verify-visited-file-modtime): New | 88 | * net/tramp.el (tramp-handle-verify-visited-file-modtime): |
| 42 | docstring. From Luc Teirlinck. | 89 | New docstring. From Luc Teirlinck. |
| 43 | 90 | ||
| 44 | 2004-07-17 Luc Teirlinck <teirllm@auburn.edu> | 91 | 2004-07-17 Luc Teirlinck <teirllm@auburn.edu> |
| 45 | 92 | ||
diff --git a/lisp/autorevert.el b/lisp/autorevert.el index ef438eb4b97..796ebaa27c8 100644 --- a/lisp/autorevert.el +++ b/lisp/autorevert.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; autorevert.el --- revert buffers when files on disk change | 1 | ;;; autorevert.el --- revert buffers when files on disk change |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1997, 1998, 1999, 2001, 2004 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Anders Lindgren <andersl@andersl.com> | 5 | ;; Author: Anders Lindgren <andersl@andersl.com> |
| 6 | ;; Keywords: convenience | 6 | ;; Keywords: convenience |
diff --git a/lisp/font-lock.el b/lisp/font-lock.el index 6e46676c871..04b22fd0280 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el | |||
| @@ -358,8 +358,9 @@ Each element in a user-level keywords list should have one of these forms: | |||
| 358 | (eval . FORM) | 358 | (eval . FORM) |
| 359 | 359 | ||
| 360 | where MATCHER can be either the regexp to search for, or the function name to | 360 | where MATCHER can be either the regexp to search for, or the function name to |
| 361 | call to make the search (called with one argument, the limit of the search) and | 361 | call to make the search (called with one argument, the limit of the search; |
| 362 | return non-nil if it succeeds (and set `match-data' appropriately). | 362 | it should return non-nil, move point, and set `match-data' appropriately iff |
| 363 | it succeeds; like `re-search-forward' would). | ||
| 363 | MATCHER regexps can be generated via the function `regexp-opt'. | 364 | MATCHER regexps can be generated via the function `regexp-opt'. |
| 364 | 365 | ||
| 365 | FORM is an expression, whose value should be a keyword element, evaluated when | 366 | FORM is an expression, whose value should be a keyword element, evaluated when |
diff --git a/lisp/frame.el b/lisp/frame.el index 521938cfc18..a364d7f491b 100644 --- a/lisp/frame.el +++ b/lisp/frame.el | |||
| @@ -520,7 +520,7 @@ React to settings of `default-frame-alist', `initial-frame-alist' there." | |||
| 520 | ;;;; Creation of additional frames, and other frame miscellanea | 520 | ;;;; Creation of additional frames, and other frame miscellanea |
| 521 | 521 | ||
| 522 | (defun modify-all-frames-parameters (alist) | 522 | (defun modify-all-frames-parameters (alist) |
| 523 | "Modify all current and future frames parameters according to ALIST. | 523 | "Modify all current and future frames' parameters according to ALIST. |
| 524 | This changes `default-frame-alist' and possibly `initial-frame-alist'. | 524 | This changes `default-frame-alist' and possibly `initial-frame-alist'. |
| 525 | See help of `modify-frame-parameters' for more information." | 525 | See help of `modify-frame-parameters' for more information." |
| 526 | (let (element) ;; temp | 526 | (let (element) ;; temp |
| @@ -612,7 +612,13 @@ You cannot specify either `width' or `height', you must use neither or both. | |||
| 612 | 612 | ||
| 613 | Before the frame is created (via `frame-creation-function'), functions on the | 613 | Before the frame is created (via `frame-creation-function'), functions on the |
| 614 | hook `before-make-frame-hook' are run. After the frame is created, functions | 614 | hook `before-make-frame-hook' are run. After the frame is created, functions |
| 615 | on `after-make-frame-functions' are run with one arg, the newly created frame." | 615 | on `after-make-frame-functions' are run with one arg, the newly created frame. |
| 616 | |||
| 617 | This function itself does not make the new frame the selected frame. | ||
| 618 | The previously selected frame remains selected. However, the | ||
| 619 | window system may select the new frame for its own reasons, for | ||
| 620 | instance if the frame appears under the mouse pointer and your | ||
| 621 | setup is for focus to follow the pointer." | ||
| 616 | (interactive) | 622 | (interactive) |
| 617 | (run-hooks 'before-make-frame-hook) | 623 | (run-hooks 'before-make-frame-hook) |
| 618 | (let ((frame (funcall frame-creation-function parameters))) | 624 | (let ((frame (funcall frame-creation-function parameters))) |
| @@ -789,6 +795,8 @@ where | |||
| 789 | "Restore the frames to the state described by CONFIGURATION. | 795 | "Restore the frames to the state described by CONFIGURATION. |
| 790 | Each frame listed in CONFIGURATION has its position, size, window | 796 | Each frame listed in CONFIGURATION has its position, size, window |
| 791 | configuration, and other parameters set as specified in CONFIGURATION. | 797 | configuration, and other parameters set as specified in CONFIGURATION. |
| 798 | However, this function does not restore deleted frames. | ||
| 799 | |||
| 792 | Ordinarily, this function deletes all existing frames not | 800 | Ordinarily, this function deletes all existing frames not |
| 793 | listed in CONFIGURATION. But if optional second argument NODELETE | 801 | listed in CONFIGURATION. But if optional second argument NODELETE |
| 794 | is given and non-nil, the unwanted frames are iconified instead." | 802 | is given and non-nil, the unwanted frames are iconified instead." |
diff --git a/lisp/imenu.el b/lisp/imenu.el index e0b57440fd8..238adfe9505 100644 --- a/lisp/imenu.el +++ b/lisp/imenu.el | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; imenu.el --- framework for mode-specific buffer indexes | 1 | ;;; imenu.el --- framework for mode-specific buffer indexes |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 2003 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 2003, 2004 |
| 4 | ;; Free Software Foundation, Inc. | ||
| 4 | 5 | ||
| 5 | ;; Author: Ake Stenhoff <etxaksf@aom.ericsson.se> | 6 | ;; Author: Ake Stenhoff <etxaksf@aom.ericsson.se> |
| 6 | ;; Lars Lindberg <lli@sypro.cap.se> | 7 | ;; Lars Lindberg <lli@sypro.cap.se> |
| @@ -255,9 +256,7 @@ to a function that will find the next index, looking backwards in the | |||
| 255 | file. | 256 | file. |
| 256 | 257 | ||
| 257 | The function should leave point at the place to be connected to the | 258 | The function should leave point at the place to be connected to the |
| 258 | index and it should return nil when it doesn't find another index. | 259 | index and it should return nil when it doesn't find another index.") |
| 259 | |||
| 260 | This variable is local in all buffers.") | ||
| 261 | ;;;###autoload | 260 | ;;;###autoload |
| 262 | (make-variable-buffer-local 'imenu-prev-index-position-function) | 261 | (make-variable-buffer-local 'imenu-prev-index-position-function) |
| 263 | 262 | ||
| @@ -267,9 +266,7 @@ This variable is local in all buffers.") | |||
| 267 | 266 | ||
| 268 | This function is called after `imenu-prev-index-position-function' | 267 | This function is called after `imenu-prev-index-position-function' |
| 269 | finds a position for an index item, with point at that position. | 268 | finds a position for an index item, with point at that position. |
| 270 | It should return the name for that index item. | 269 | It should return the name for that index item.") |
| 271 | |||
| 272 | This variable is local in all buffers.") | ||
| 273 | ;;;###autoload | 270 | ;;;###autoload |
| 274 | (make-variable-buffer-local 'imenu-extract-index-name-function) | 271 | (make-variable-buffer-local 'imenu-extract-index-name-function) |
| 275 | 272 | ||
| @@ -283,9 +280,7 @@ non-nil if they match. | |||
| 283 | If nil, comparison is done with `string='. | 280 | If nil, comparison is done with `string='. |
| 284 | Set this to some other function for more advanced comparisons, | 281 | Set this to some other function for more advanced comparisons, |
| 285 | such as \"begins with\" or \"name matches and number of | 282 | such as \"begins with\" or \"name matches and number of |
| 286 | arguments match\". | 283 | arguments match\".") |
| 287 | |||
| 288 | This variable is local in all buffers.") | ||
| 289 | ;;;###autoload | 284 | ;;;###autoload |
| 290 | (make-variable-buffer-local 'imenu-name-lookup-function) | 285 | (make-variable-buffer-local 'imenu-name-lookup-function) |
| 291 | 286 | ||
| @@ -453,9 +448,7 @@ The function in this variable is called when selecting a normal index-item.") | |||
| 453 | "The buffer index computed for this buffer in Imenu. | 448 | "The buffer index computed for this buffer in Imenu. |
| 454 | Simple elements in the alist look like (INDEX-NAME . INDEX-POSITION). | 449 | Simple elements in the alist look like (INDEX-NAME . INDEX-POSITION). |
| 455 | Special elements look like (INDEX-NAME INDEX-POSITION FUNCTION ARGUMENTS...). | 450 | Special elements look like (INDEX-NAME INDEX-POSITION FUNCTION ARGUMENTS...). |
| 456 | A nested sub-alist element looks like (INDEX-NAME SUB-ALIST). | 451 | A nested sub-alist element looks like (INDEX-NAME SUB-ALIST).") |
| 457 | |||
| 458 | This variable is local in all buffers, once set.") | ||
| 459 | 452 | ||
| 460 | (make-variable-buffer-local 'imenu--index-alist) | 453 | (make-variable-buffer-local 'imenu--index-alist) |
| 461 | 454 | ||
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 5fa4f34bbb8..8a4a3674b73 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el | |||
| @@ -484,7 +484,7 @@ the variable `rmail-mime-feature'.") | |||
| 484 | 484 | ||
| 485 | ;;;###autoload | 485 | ;;;###autoload |
| 486 | (defvar rmail-mime-charset-pattern | 486 | (defvar rmail-mime-charset-pattern |
| 487 | "^content-type:[ ]*text/plain;[ \t\n]*charset=\"?\\([^ \t\n\"]+\\)\"?" | 487 | "^content-type:[ ]*text/plain;[ \t\n]*charset=\"?\\([^ \t\n\";]+\\)\"?" |
| 488 | "Regexp to match MIME-charset specification in a header of message. | 488 | "Regexp to match MIME-charset specification in a header of message. |
| 489 | The first parenthesized expression should match the MIME-charset name.") | 489 | The first parenthesized expression should match the MIME-charset name.") |
| 490 | 490 | ||
diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in index 826cf89bfec..b2694bc2b78 100644 --- a/lisp/makefile.w32-in +++ b/lisp/makefile.w32-in | |||
| @@ -209,7 +209,7 @@ loaddefs.el-CMD: | |||
| 209 | echo (autoload 'define-derived-mode "derived")>> $@ | 209 | echo (autoload 'define-derived-mode "derived")>> $@ |
| 210 | echo (autoload 'encoded-kbd-mode "encoded-kb")>> $@ | 210 | echo (autoload 'encoded-kbd-mode "encoded-kb")>> $@ |
| 211 | echo (defvar cvs-global-menu nil)>> $@ | 211 | echo (defvar cvs-global-menu nil)>> $@ |
| 212 | echo.>> $@ | 212 | echo ;;; >> $@ |
| 213 | echo ;;; Local Variables:>> $@ | 213 | echo ;;; Local Variables:>> $@ |
| 214 | echo ;;; version-control: never>> $@ | 214 | echo ;;; version-control: never>> $@ |
| 215 | echo ;;; no-byte-compile: t>> $@ | 215 | echo ;;; no-byte-compile: t>> $@ |
diff --git a/lisp/ps-print.el b/lisp/ps-print.el index eff1b25fe42..293fb7e1143 100644 --- a/lisp/ps-print.el +++ b/lisp/ps-print.el | |||
| @@ -5544,17 +5544,15 @@ XSTART YSTART are the relative position for the first page in a sheet.") | |||
| 5544 | (setq ps-background-all-pages (nreverse ps-background-all-pages) | 5544 | (setq ps-background-all-pages (nreverse ps-background-all-pages) |
| 5545 | ps-background-pages (nreverse ps-background-pages)) | 5545 | ps-background-pages (nreverse ps-background-pages)) |
| 5546 | 5546 | ||
| 5547 | (ps-output "\n" ps-print-prologue-1) | 5547 | (ps-output "\n" ps-print-prologue-1 |
| 5548 | 5548 | "\n/printGlobalBackground{\n") | |
| 5549 | (ps-output "\n/printGlobalBackground{\n") | ||
| 5550 | (mapcar 'ps-output ps-background-all-pages) | 5549 | (mapcar 'ps-output ps-background-all-pages) |
| 5551 | (ps-output "}def\n/printLocalBackground{\n}def\n") | ||
| 5552 | |||
| 5553 | (ps-output "\n%%EndProlog\n\n%%BeginSetup\n") | ||
| 5554 | |||
| 5555 | (ps-output | 5550 | (ps-output |
| 5551 | "}def\n/printLocalBackground{\n}def\n" | ||
| 5552 | "\n%%EndProlog\n\n%%BeginSetup\n" | ||
| 5556 | "\n%%IncludeResource: font Times-Roman" | 5553 | "\n%%IncludeResource: font Times-Roman" |
| 5557 | "\n%%IncludeResource: font Times-Italic\n%%IncludeResource: font " | 5554 | "\n%%IncludeResource: font Times-Italic" |
| 5555 | "\n%%IncludeResource: font " | ||
| 5558 | (mapconcat 'identity | 5556 | (mapconcat 'identity |
| 5559 | (ps-remove-duplicates | 5557 | (ps-remove-duplicates |
| 5560 | (append (ps-fonts 'ps-font-for-text) | 5558 | (append (ps-fonts 'ps-font-for-text) |
| @@ -5563,22 +5561,20 @@ XSTART YSTART are the relative position for the first page in a sheet.") | |||
| 5563 | (ps-font 'ps-font-for-footer 'normal) | 5561 | (ps-font 'ps-font-for-footer 'normal) |
| 5564 | (ps-font 'ps-font-for-footer 'bold)))) | 5562 | (ps-font 'ps-font-for-footer 'bold)))) |
| 5565 | "\n%%IncludeResource: font ") | 5563 | "\n%%IncludeResource: font ") |
| 5566 | "\n") | 5564 | ;; Header/line number fonts |
| 5567 | 5565 | (format "\n/h0 %s(%s)cvn DefFont\n" ; /h0 14/Helvetica-Bold DefFont | |
| 5568 | ;; Header/line number fonts | 5566 | ps-header-title-font-size-internal |
| 5569 | (ps-output (format "/h0 %s(%s)cvn DefFont\n" ; /h0 14/Helvetica-Bold DefFont | 5567 | (ps-font 'ps-font-for-header 'bold)) |
| 5570 | ps-header-title-font-size-internal | 5568 | (format "/h1 %s(%s)cvn DefFont\n" ; /h1 12/Helvetica DefFont |
| 5571 | (ps-font 'ps-font-for-header 'bold)) | 5569 | ps-header-font-size-internal |
| 5572 | (format "/h1 %s(%s)cvn DefFont\n" ; /h1 12/Helvetica DefFont | 5570 | (ps-font 'ps-font-for-header 'normal)) |
| 5573 | ps-header-font-size-internal | 5571 | (format "/L0 %s(%s)cvn DefFont\n" ; /L0 6/Times-Italic DefFont |
| 5574 | (ps-font 'ps-font-for-header 'normal)) | 5572 | (ps-get-font-size 'ps-line-number-font-size) |
| 5575 | (format "/L0 %s(%s)cvn DefFont\n" ; /L0 6/Times-Italic DefFont | 5573 | ps-line-number-font) |
| 5576 | (ps-get-font-size 'ps-line-number-font-size) | 5574 | (format "/H0 %s(%s)cvn DefFont\n" ; /H0 12/Helvetica DefFont |
| 5577 | ps-line-number-font) | 5575 | ps-footer-font-size-internal |
| 5578 | (format "/H0 %s(%s)cvn DefFont\n" ; /H0 12/Helvetica DefFont | 5576 | (ps-font 'ps-font-for-footer 'normal)) |
| 5579 | ps-footer-font-size-internal | 5577 | "\n\n% ---- These lines must be kept together because... |
| 5580 | (ps-font 'ps-font-for-footer 'normal)) | ||
| 5581 | "\n\n% ---- These lines must be kept together because... | ||
| 5582 | 5578 | ||
| 5583 | /h0 F | 5579 | /h0 F |
| 5584 | /HeaderTitleLineHeight FontHeight def | 5580 | /HeaderTitleLineHeight FontHeight def |
diff --git a/lisp/replace.el b/lisp/replace.el index f81c6f53914..f09868cc6d3 100644 --- a/lisp/replace.el +++ b/lisp/replace.el | |||
| @@ -732,6 +732,8 @@ Compatibility function for \\[next-error] invocations." | |||
| 732 | #'previous-single-property-change | 732 | #'previous-single-property-change |
| 733 | #'next-single-property-change) | 733 | #'next-single-property-change) |
| 734 | "No more matches") | 734 | "No more matches") |
| 735 | ;; In case the *Occur* buffer is visible in a nonselected window. | ||
| 736 | (set-window-point (get-buffer-window (current-buffer)) (point)) | ||
| 735 | (occur-mode-goto-occurrence)) | 737 | (occur-mode-goto-occurrence)) |
| 736 | 738 | ||
| 737 | 739 | ||
| @@ -1009,9 +1011,11 @@ See also `multi-occur'." | |||
| 1009 | ;; concatenate them all together. | 1011 | ;; concatenate them all together. |
| 1010 | (apply #'concat | 1012 | (apply #'concat |
| 1011 | (nconc | 1013 | (nconc |
| 1012 | (occur-engine-add-prefix (nreverse (cdr (occur-accumulate-lines (- (1+ nlines)) keep-props)))) | 1014 | (occur-engine-add-prefix (nreverse (cdr (occur-accumulate-lines (- (1+ (abs nlines))) keep-props)))) |
| 1013 | (list out-line) | 1015 | (list out-line) |
| 1014 | (occur-engine-add-prefix (cdr (occur-accumulate-lines (1+ nlines) keep-props)))))))) | 1016 | (if (> nlines 0) |
| 1017 | (occur-engine-add-prefix | ||
| 1018 | (cdr (occur-accumulate-lines (1+ nlines) keep-props))))))))) | ||
| 1015 | ;; Actually insert the match display data | 1019 | ;; Actually insert the match display data |
| 1016 | (with-current-buffer out-buf | 1020 | (with-current-buffer out-buf |
| 1017 | (let ((beg (point)) | 1021 | (let ((beg (point)) |
diff --git a/lisp/select.el b/lisp/select.el index c095ea50c44..565ddd7d22e 100644 --- a/lisp/select.el +++ b/lisp/select.el | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | ;; Maintainer: FSF | 3 | ;; Maintainer: FSF |
| 4 | ;; Keywords: internal | 4 | ;; Keywords: internal |
| 5 | 5 | ||
| 6 | ;; Copyright (c) 1993, 1994 Free Software Foundation, Inc. | 6 | ;; Copyright (c) 1993, 1994, 2004 Free Software Foundation, Inc. |
| 7 | ;; Based partially on earlier release by Lucid. | 7 | ;; Based partially on earlier release by Lucid. |
| 8 | 8 | ||
| 9 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
| @@ -35,7 +35,11 @@ The argument TYPE (default `PRIMARY') says which selection, | |||
| 35 | and the argument DATA-TYPE (default `STRING') says | 35 | and the argument DATA-TYPE (default `STRING') says |
| 36 | how to convert the data. | 36 | how to convert the data. |
| 37 | 37 | ||
| 38 | TYPE may be `SECONDARY' or `CLIPBOARD', in addition to `PRIMARY'. | 38 | TYPE may be any symbol \(but nil stands for `PRIMARY'). However, |
| 39 | only a few symbols are commonly used. They conventionally have | ||
| 40 | all upper-case names. The most often used ones, in addition to | ||
| 41 | `PRIMARY', are `SECONDARY' and `CLIPBOARD'. | ||
| 42 | |||
| 39 | DATA-TYPE is usually `STRING', but can also be one of the symbols | 43 | DATA-TYPE is usually `STRING', but can also be one of the symbols |
| 40 | in `selection-converter-alist', which see." | 44 | in `selection-converter-alist', which see." |
| 41 | (let ((data (x-get-selection-internal (or type 'PRIMARY) | 45 | (let ((data (x-get-selection-internal (or type 'PRIMARY) |
| @@ -57,9 +61,11 @@ in `selection-converter-alist', which see." | |||
| 57 | 61 | ||
| 58 | (defun x-set-selection (type data) | 62 | (defun x-set-selection (type data) |
| 59 | "Make an X Windows selection of type TYPE and value DATA. | 63 | "Make an X Windows selection of type TYPE and value DATA. |
| 60 | The argument TYPE (default `PRIMARY') says which selection, | 64 | The argument TYPE (nil means `PRIMARY') says which selection, and |
| 61 | and DATA specifies the contents. DATA may be a string, | 65 | DATA specifies the contents. TYPE must be a symbol. \(It can also |
| 62 | a symbol, an integer (or a cons of two integers or list of two integers). | 66 | be a string, which stands for the symbol with that name, but this |
| 67 | is considered obsolete.) DATA may be a string, a symbol, an | ||
| 68 | integer (or a cons of two integers or list of two integers). | ||
| 63 | 69 | ||
| 64 | The selection may also be a cons of two markers pointing to the same buffer, | 70 | The selection may also be a cons of two markers pointing to the same buffer, |
| 65 | or an overlay. In these cases, the selection is considered to be the text | 71 | or an overlay. In these cases, the selection is considered to be the text |
| @@ -69,8 +75,11 @@ can alter the effective value of the selection. | |||
| 69 | 75 | ||
| 70 | The data may also be a vector of valid non-vector selection values. | 76 | The data may also be a vector of valid non-vector selection values. |
| 71 | 77 | ||
| 72 | Interactively, the text of the region is used as the selection value | 78 | The return value is DATA. |
| 73 | if the prefix arg is set." | 79 | |
| 80 | Interactively, this command sets the primary selection. Without | ||
| 81 | prefix argument, it reads the selection in the minibuffer. With | ||
| 82 | prefix argument, it uses the text of the region as the selection value ." | ||
| 74 | (interactive (if (not current-prefix-arg) | 83 | (interactive (if (not current-prefix-arg) |
| 75 | (list 'PRIMARY (read-string "Set text for pasting: ")) | 84 | (list 'PRIMARY (read-string "Set text for pasting: ")) |
| 76 | (list 'PRIMARY (buffer-substring (region-beginning) (region-end))))) | 85 | (list 'PRIMARY (buffer-substring (region-beginning) (region-end))))) |
diff --git a/lisp/simple.el b/lisp/simple.el index 547849740fa..1ffac99973c 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -4313,6 +4313,13 @@ of the differing parts is, by contrast, slightly highlighted." | |||
| 4313 | (if minibuffer-completing-file-name | 4313 | (if minibuffer-completing-file-name |
| 4314 | (with-current-buffer mainbuf | 4314 | (with-current-buffer mainbuf |
| 4315 | (setq default-directory (file-name-directory mbuf-contents)))) | 4315 | (setq default-directory (file-name-directory mbuf-contents)))) |
| 4316 | ;; If partial-completion-mode is on, point might not be after the | ||
| 4317 | ;; last character in the minibuffer. | ||
| 4318 | ;; FIXME: This still doesn't work if the text to be completed | ||
| 4319 | ;; starts with a `-'. | ||
| 4320 | (when (and partial-completion-mode (not (eobp))) | ||
| 4321 | (setq mbuf-contents | ||
| 4322 | (substring mbuf-contents 0 (- (point) (point-max))))) | ||
| 4316 | (with-current-buffer standard-output | 4323 | (with-current-buffer standard-output |
| 4317 | (completion-list-mode) | 4324 | (completion-list-mode) |
| 4318 | (make-local-variable 'completion-reference-buffer) | 4325 | (make-local-variable 'completion-reference-buffer) |
diff --git a/lisp/subr.el b/lisp/subr.el index 9ea9f01c551..354f911fe67 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -198,7 +198,7 @@ If N is bigger than the length of LIST, return LIST." | |||
| 198 | list)) | 198 | list)) |
| 199 | 199 | ||
| 200 | (defun butlast (list &optional n) | 200 | (defun butlast (list &optional n) |
| 201 | "Returns a copy of LIST with the last N elements removed." | 201 | "Return a copy of LIST with the last N elements removed." |
| 202 | (if (and n (<= n 0)) list | 202 | (if (and n (<= n 0)) list |
| 203 | (nbutlast (copy-sequence list) n))) | 203 | (nbutlast (copy-sequence list) n))) |
| 204 | 204 | ||
| @@ -641,7 +641,7 @@ The normal global definition of the character C-x indirects to this keymap.") | |||
| 641 | (get (car obj) 'event-symbol-elements)))) | 641 | (get (car obj) 'event-symbol-elements)))) |
| 642 | 642 | ||
| 643 | (defun event-modifiers (event) | 643 | (defun event-modifiers (event) |
| 644 | "Returns a list of symbols representing the modifier keys in event EVENT. | 644 | "Return a list of symbols representing the modifier keys in event EVENT. |
| 645 | The elements of the list may include `meta', `control', | 645 | The elements of the list may include `meta', `control', |
| 646 | `shift', `hyper', `super', `alt', `click', `double', `triple', `drag', | 646 | `shift', `hyper', `super', `alt', `click', `double', `triple', `drag', |
| 647 | and `down'." | 647 | and `down'." |
| @@ -670,7 +670,7 @@ and `down'." | |||
| 670 | list)))) | 670 | list)))) |
| 671 | 671 | ||
| 672 | (defun event-basic-type (event) | 672 | (defun event-basic-type (event) |
| 673 | "Returns the basic type of the given event (all modifiers removed). | 673 | "Return the basic type of the given event (all modifiers removed). |
| 674 | The value is a printing character (not upper case) or a symbol." | 674 | The value is a printing character (not upper case) or a symbol." |
| 675 | (if (consp event) | 675 | (if (consp event) |
| 676 | (setq event (car event))) | 676 | (setq event (car event))) |
diff --git a/lisp/term/tty-colors.el b/lisp/term/tty-colors.el index 956d46738df..1de35822b39 100644 --- a/lisp/term/tty-colors.el +++ b/lisp/term/tty-colors.el | |||
| @@ -864,15 +864,10 @@ of gray, thus the name." | |||
| 864 | (if (< mag 1) 0 (acos (/ (+ r g b) mag))))) | 864 | (if (< mag 1) 0 (acos (/ (+ r g b) mag))))) |
| 865 | 865 | ||
| 866 | (defun tty-color-approximate (rgb &optional frame) | 866 | (defun tty-color-approximate (rgb &optional frame) |
| 867 | "Given a list of 3 rgb values in RGB, find the color in `tty-color-alist' | 867 | "Find the color in `tty-color-alist' that best approximates RGB. |
| 868 | which is the best approximation in the 3-dimensional RGB space, | 868 | Value is a list of the form \(NAME INDEX R G B\). |
| 869 | and return its description. | 869 | The argument RGB should be an rgb value, that is, a list of three |
| 870 | 870 | integers in the 0..65535 range. | |
| 871 | Value is a list of the form \(NAME INDEX R G B\). Note that the returned | ||
| 872 | NAME is not necessarily the same string as the argument COLOR, because | ||
| 873 | the latter might need to be approximated if it is not supported directly. | ||
| 874 | |||
| 875 | Each value of the RGB triplet should be in the range 0..65535 range. | ||
| 876 | FRAME defaults to the selected frame." | 871 | FRAME defaults to the selected frame." |
| 877 | (let* ((color-list (tty-color-alist frame)) | 872 | (let* ((color-list (tty-color-alist frame)) |
| 878 | (candidate (car color-list)) | 873 | (candidate (car color-list)) |
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index aff42866349..5238e131ab6 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1998, 2000, 2001, 2002 Free Software Foundation, Inc. | 3 | ;; Copyright (C) 1998, 2000, 2001, 2002 Free Software Foundation, Inc. |
| 4 | 4 | ||
| 5 | ;; Author: Manuel Serrano <Manuel.Serrano@unice.fr> | 5 | ;; Author: Manuel Serrano <Manuel.Serrano@sophia.inria.fr> |
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| 7 | ;; Keywords: convenience | 7 | ;; Keywords: convenience |
| 8 | 8 | ||
diff --git a/lisp/wdired.el b/lisp/wdired.el index 30ba2a3cd45..928ecd65339 100644 --- a/lisp/wdired.el +++ b/lisp/wdired.el | |||
| @@ -455,6 +455,11 @@ non-nil means return old filename." | |||
| 455 | (setq file-new (substitute-in-file-name file-new)) | 455 | (setq file-new (substitute-in-file-name file-new)) |
| 456 | (if wdired-use-interactive-rename | 456 | (if wdired-use-interactive-rename |
| 457 | (wdired-search-and-rename file-ori file-new) | 457 | (wdired-search-and-rename file-ori file-new) |
| 458 | ;; If dired-rename-file autoloads dired-aux while | ||
| 459 | ;; dired-backup-overwrite is locally bound, | ||
| 460 | ;; dired-backup-overwrite won't be initialized. | ||
| 461 | ;; So we must ensure dired-aux is loaded. | ||
| 462 | (require 'dired-aux) | ||
| 458 | (condition-case err | 463 | (condition-case err |
| 459 | (let ((dired-backup-overwrite nil)) | 464 | (let ((dired-backup-overwrite nil)) |
| 460 | (dired-rename-file file-ori file-new | 465 | (dired-rename-file file-ori file-new |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 14b0fcb4606..146f2173864 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,36 @@ | |||
| 1 | 2004-07-24 Luc Teirlinck <teirllm@auburn.edu> | ||
| 2 | |||
| 3 | * frames.texi: Various changes in addition to: | ||
| 4 | (Creating Frames): Expand and clarify description of `make-frame'. | ||
| 5 | (Window Frame Parameters): Either none or both of the `icon-left' | ||
| 6 | and `icon-top' parameters must be specified. Put descriptions of | ||
| 7 | `menu-bar-lines' and `toolbar-lines' closer together and change | ||
| 8 | them accordingly. | ||
| 9 | (Frame Titles): `multiple-frames' is not guaranteed to be accurate | ||
| 10 | except while processing `frame-title-format' or `icon-title-format'. | ||
| 11 | (Deleting Frames): Correct description of `delete-frame'. | ||
| 12 | Non-nil return values of `frame-live-p' are like those of `framep'. | ||
| 13 | (Frames and Windows): mention return value of | ||
| 14 | `set-frame-selected-window'. | ||
| 15 | (Visibility of Frames): Mention `force' argument to | ||
| 16 | `make-frame-invisible'. `frame-visible-p' returns t for all | ||
| 17 | frames on text-only terminals. | ||
| 18 | (Frame Configurations): Restoring a frame configuration does not | ||
| 19 | restore deleted frames. | ||
| 20 | (Window System Selections): `x-set-selection' returns DATA. | ||
| 21 | (Resources): Add example. | ||
| 22 | (Display Feature Testing): Clarify descriptions of | ||
| 23 | `display-pixel-height', `display-pixel-width', `x-server-version' | ||
| 24 | and `x-server-vendor'. | ||
| 25 | |||
| 26 | * windows.texi (Choosing Window): Add anchor. | ||
| 27 | * minibuf.texi (Minibuffer Misc): Add anchor. | ||
| 28 | |||
| 29 | 2004-07-23 John Paul Wallington <jpw@gnu.org> | ||
| 30 | |||
| 31 | * macros.texi (Defining Macros): Declaration keyword for setting | ||
| 32 | Edebug spec is `debug' not `edebug'. | ||
| 33 | |||
| 1 | 2004-07-19 Luc Teirlinck <teirllm@auburn.edu> | 34 | 2004-07-19 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 35 | ||
| 3 | * windows.texi: Various small changes in addition to: | 36 | * windows.texi: Various small changes in addition to: |
diff --git a/lispref/frames.texi b/lispref/frames.texi index 61522e3598c..6d7b956af64 100644 --- a/lispref/frames.texi +++ b/lispref/frames.texi | |||
| @@ -79,8 +79,9 @@ controlling Emacs redisplay. | |||
| 79 | To create a new frame, call the function @code{make-frame}. | 79 | To create a new frame, call the function @code{make-frame}. |
| 80 | 80 | ||
| 81 | @defun make-frame &optional alist | 81 | @defun make-frame &optional alist |
| 82 | This function creates a new frame. If you are using a supported window | 82 | This function creates and returns a new frame, displaying the current |
| 83 | system, it makes a window frame; otherwise, it makes a terminal frame. | 83 | buffer. If you are using a supported window system, it makes a window |
| 84 | frame; otherwise, it makes a terminal frame. | ||
| 84 | 85 | ||
| 85 | The argument is an alist specifying frame parameters. Any parameters | 86 | The argument is an alist specifying frame parameters. Any parameters |
| 86 | not mentioned in @var{alist} default according to the value of the | 87 | not mentioned in @var{alist} default according to the value of the |
| @@ -91,6 +92,12 @@ your system. | |||
| 91 | The set of possible parameters depends in principle on what kind of | 92 | The set of possible parameters depends in principle on what kind of |
| 92 | window system Emacs uses to display its frames. @xref{Window Frame | 93 | window system Emacs uses to display its frames. @xref{Window Frame |
| 93 | Parameters}, for documentation of individual parameters you can specify. | 94 | Parameters}, for documentation of individual parameters you can specify. |
| 95 | |||
| 96 | This function itself does not make the new frame the selected frame. | ||
| 97 | @xref{Input Focus}. The previously selected frame remains selected. | ||
| 98 | However, the window system may select the new frame for its own reasons, | ||
| 99 | for instance if the frame appears under the mouse pointer and your | ||
| 100 | setup is for focus to follow the pointer. | ||
| 94 | @end defun | 101 | @end defun |
| 95 | 102 | ||
| 96 | @defvar before-make-frame-hook | 103 | @defvar before-make-frame-hook |
| @@ -138,9 +145,10 @@ names that they share a single keyboard, and it treats them as a single | |||
| 138 | terminal. | 145 | terminal. |
| 139 | 146 | ||
| 140 | @deffn Command make-frame-on-display display &optional parameters | 147 | @deffn Command make-frame-on-display display &optional parameters |
| 141 | This creates a new frame on display @var{display}, taking the other | 148 | This creates and returns a new frame on display @var{display}, taking |
| 142 | frame parameters from @var{parameters}. Aside from the @var{display} | 149 | the other frame parameters from @var{parameters}. Aside from the |
| 143 | argument, it is like @code{make-frame} (@pxref{Creating Frames}). | 150 | @var{display} argument, it is like @code{make-frame} (@pxref{Creating |
| 151 | Frames}). | ||
| 144 | @end deffn | 152 | @end deffn |
| 145 | 153 | ||
| 146 | @defun x-display-list | 154 | @defun x-display-list |
| @@ -165,7 +173,7 @@ look like: | |||
| 165 | "*BorderWidth: 3\n*InternalBorder: 2\n" | 173 | "*BorderWidth: 3\n*InternalBorder: 2\n" |
| 166 | @end example | 174 | @end example |
| 167 | 175 | ||
| 168 | @xref{Resources}. | 176 | @xref{X Resources,, X Resources, emacs, The GNU Emacs Manual}. |
| 169 | 177 | ||
| 170 | If @var{must-succeed} is non-@code{nil}, failure to open the connection | 178 | If @var{must-succeed} is non-@code{nil}, failure to open the connection |
| 171 | terminates Emacs. Otherwise, it is an ordinary Lisp error. | 179 | terminates Emacs. Otherwise, it is an ordinary Lisp error. |
| @@ -207,9 +215,10 @@ frame. | |||
| 207 | 215 | ||
| 208 | @defun frame-parameter frame parameter | 216 | @defun frame-parameter frame parameter |
| 209 | @tindex frame-parameter | 217 | @tindex frame-parameter |
| 210 | This function returns the value of the parameter named @var{parameter} | 218 | This function returns the value of the parameter @var{parameter} (a |
| 211 | of @var{frame}. If @var{frame} is @code{nil}, it returns the | 219 | symbol) of @var{frame}. If @var{frame} is @code{nil}, it returns the |
| 212 | selected frame's parameter. | 220 | selected frame's parameter. If @var{frame} has no setting for |
| 221 | @var{parameter}, this function returns @code{nil}. | ||
| 213 | @end defun | 222 | @end defun |
| 214 | 223 | ||
| 215 | @defun frame-parameters &optional frame | 224 | @defun frame-parameters &optional frame |
| @@ -230,8 +239,8 @@ frame. | |||
| 230 | @defun modify-all-frames-parameters alist | 239 | @defun modify-all-frames-parameters alist |
| 231 | This function alters the frame parameters of all existing frames | 240 | This function alters the frame parameters of all existing frames |
| 232 | according to @var{alist}, then modifies @code{default-frame-alist} | 241 | according to @var{alist}, then modifies @code{default-frame-alist} |
| 233 | to apply the same parameter values to frames that will be created | 242 | (and, if necessary, @code{initial-frame-alist}) to apply the same |
| 234 | henceforth. | 243 | parameter values to frames that will be created henceforth. |
| 235 | @end defun | 244 | @end defun |
| 236 | 245 | ||
| 237 | @node Initial Parameters | 246 | @node Initial Parameters |
| @@ -285,9 +294,12 @@ This is an alist specifying default values of frame parameters for all | |||
| 285 | Emacs frames---the first frame, and subsequent frames. When using the X | 294 | Emacs frames---the first frame, and subsequent frames. When using the X |
| 286 | Window System, you can get the same results by means of X resources | 295 | Window System, you can get the same results by means of X resources |
| 287 | in many cases. | 296 | in many cases. |
| 297 | |||
| 298 | Setting this variable does not affect existing frames. | ||
| 288 | @end defvar | 299 | @end defvar |
| 289 | 300 | ||
| 290 | See also @code{special-display-frame-alist}, in @ref{Choosing Window}. | 301 | See also @code{special-display-frame-alist}. @xref{Definition of |
| 302 | special-display-frame-alist}. | ||
| 291 | 303 | ||
| 292 | If you use options that specify window appearance when you invoke Emacs, | 304 | If you use options that specify window appearance when you invoke Emacs, |
| 293 | they take effect by adding elements to @code{default-frame-alist}. One | 305 | they take effect by adding elements to @code{default-frame-alist}. One |
| @@ -368,6 +380,10 @@ The screen position of the left edge @emph{of the frame's icon}, in | |||
| 368 | pixels, counting from the left edge of the screen. This takes effect if | 380 | pixels, counting from the left edge of the screen. This takes effect if |
| 369 | and when the frame is iconified. | 381 | and when the frame is iconified. |
| 370 | 382 | ||
| 383 | If you specify a value for this parameter, then you must also specify | ||
| 384 | a value for @code{icon-top} and vice versa. The window manager may | ||
| 385 | ignore these two parameters. | ||
| 386 | |||
| 371 | @item icon-top | 387 | @item icon-top |
| 372 | The screen position of the top edge @emph{of the frame's icon}, in | 388 | The screen position of the top edge @emph{of the frame's icon}, in |
| 373 | pixels, counting from the top edge of the screen. This takes effect if | 389 | pixels, counting from the top edge of the screen. This takes effect if |
| @@ -528,8 +544,8 @@ The combined fringe widths must add up to an integral number of | |||
| 528 | columns, so the actual default fringe widths for the frame may be | 544 | columns, so the actual default fringe widths for the frame may be |
| 529 | larger than the specified values. The extra width needed to reach an | 545 | larger than the specified values. The extra width needed to reach an |
| 530 | acceptable total is distributed evenly between the left and right | 546 | acceptable total is distributed evenly between the left and right |
| 531 | fringe. However, you can force one frame or the other to a precise | 547 | fringe. However, you can force one fringe or the other to a precise |
| 532 | width by specifying that width a negative integer. If both widths are | 548 | width by specifying that width as a negative integer. If both widths are |
| 533 | negative, only the left fringe gets the specified width. | 549 | negative, only the left fringe gets the specified width. |
| 534 | 550 | ||
| 535 | @item unsplittable | 551 | @item unsplittable |
| @@ -541,10 +557,15 @@ The state of visibility of the frame. There are three possibilities: | |||
| 541 | iconified. @xref{Visibility of Frames}. | 557 | iconified. @xref{Visibility of Frames}. |
| 542 | 558 | ||
| 543 | @item menu-bar-lines | 559 | @item menu-bar-lines |
| 544 | The number of lines to allocate at the top of the frame for a menu bar. | 560 | The number of lines to allocate at the top of the frame for a menu |
| 545 | The default is 1. @xref{Menu Bar}. (In Emacs versions that use the X | 561 | bar. The default is 1. A value of @code{nil} means don't display a |
| 546 | toolkit or GTK, there is only one menu bar line; all that matters about the | 562 | menu bar. @xref{Menu Bar}. (The X toolkit and GTK allow at most one |
| 547 | number you specify is whether it is greater than zero.) | 563 | menu bar line; they treat larger values as 1.) |
| 564 | |||
| 565 | @item tool-bar-lines | ||
| 566 | The number of lines to use for the toolbar. A value of @code{nil} means | ||
| 567 | don't display a tool bar. (GTK allows at most one tool bar line; it | ||
| 568 | treats larger values as 1.) | ||
| 548 | 569 | ||
| 549 | @item screen-gamma | 570 | @item screen-gamma |
| 550 | @cindex gamma correction | 571 | @cindex gamma correction |
| @@ -557,7 +578,7 @@ Emacs, and in X windows generally, are calibrated to display properly | |||
| 557 | on a monitor with that gamma value. If you specify 2.2 for | 578 | on a monitor with that gamma value. If you specify 2.2 for |
| 558 | @code{screen-gamma}, that means no correction is needed. Other values | 579 | @code{screen-gamma}, that means no correction is needed. Other values |
| 559 | request correction, designed to make the corrected colors appear on | 580 | request correction, designed to make the corrected colors appear on |
| 560 | your screen they way they would have appeared without correction on an | 581 | your screen the way they would have appeared without correction on an |
| 561 | ordinary monitor with a gamma value of 2.2. | 582 | ordinary monitor with a gamma value of 2.2. |
| 562 | 583 | ||
| 563 | If your monitor displays colors too light, you should specify a | 584 | If your monitor displays colors too light, you should specify a |
| @@ -565,14 +586,14 @@ If your monitor displays colors too light, you should specify a | |||
| 565 | that makes colors darker. A screen gamma value of 1.5 may give good | 586 | that makes colors darker. A screen gamma value of 1.5 may give good |
| 566 | results for LCD color displays. | 587 | results for LCD color displays. |
| 567 | 588 | ||
| 568 | @item tool-bar-lines | ||
| 569 | The number of lines to use for the toolbar. A value of @code{nil} means | ||
| 570 | don't display a tool bar. (In Emacs versions that use GTK, there is | ||
| 571 | only one tool bar line; all that matters about the number you specify | ||
| 572 | is whether it is greater than zero.) | ||
| 573 | |||
| 574 | @item line-spacing | 589 | @item line-spacing |
| 575 | Additional space put below text lines in pixels (a positive integer). | 590 | Additional space put below text lines, in pixels (a positive integer) |
| 591 | |||
| 592 | @item wait-for-wm | ||
| 593 | If non-@code{nil}, tell Xt to wait for the window manager to confirm | ||
| 594 | geometry changes. Some window managers, including versions of Fvwm2 | ||
| 595 | and KDE, fail to confirm, so Xt hangs. Set this to @code{nil} to | ||
| 596 | prevent hanging with those window managers. | ||
| 576 | 597 | ||
| 577 | @ignore | 598 | @ignore |
| 578 | @item parent-id | 599 | @item parent-id |
| @@ -637,12 +658,6 @@ equivalent to the @code{:foreground} attribute of the | |||
| 637 | If non-@code{nil}, the color for the background of scroll bars. It is | 658 | If non-@code{nil}, the color for the background of scroll bars. It is |
| 638 | equivalent to the @code{:background} attribute of the | 659 | equivalent to the @code{:background} attribute of the |
| 639 | @code{scroll-bar} face. | 660 | @code{scroll-bar} face. |
| 640 | |||
| 641 | @item wait-for-wm | ||
| 642 | If non-@code{nil}, tell Xt to wait for the window manager to confirm | ||
| 643 | geometry changes. Some window managers, including versions of Fvwm2 | ||
| 644 | and KDE, fail to confirm, so Xt hangs. Set this to @code{nil} to | ||
| 645 | prevent hanging with those window managers. | ||
| 646 | @end table | 661 | @end table |
| 647 | 662 | ||
| 648 | @node Size and Position | 663 | @node Size and Position |
| @@ -818,6 +833,10 @@ there are two or more frames (not counting minibuffer-only frames or | |||
| 818 | invisible frames). The default value of @code{frame-title-format} uses | 833 | invisible frames). The default value of @code{frame-title-format} uses |
| 819 | @code{multiple-frames} so as to put the buffer name in the frame title | 834 | @code{multiple-frames} so as to put the buffer name in the frame title |
| 820 | only when there is more than one frame. | 835 | only when there is more than one frame. |
| 836 | |||
| 837 | The value of this variable is not guaranteed to be accurate except | ||
| 838 | while processing @code{frame-title-format} or | ||
| 839 | @code{icon-title-format}. | ||
| 821 | @end defvar | 840 | @end defvar |
| 822 | 841 | ||
| 823 | @node Deleting Frames | 842 | @node Deleting Frames |
| @@ -826,16 +845,14 @@ only when there is more than one frame. | |||
| 826 | 845 | ||
| 827 | Frames remain potentially visible until you explicitly @dfn{delete} | 846 | Frames remain potentially visible until you explicitly @dfn{delete} |
| 828 | them. A deleted frame cannot appear on the screen, but continues to | 847 | them. A deleted frame cannot appear on the screen, but continues to |
| 829 | exist as a Lisp object until there are no references to it. There is no | 848 | exist as a Lisp object until there are no references to it. |
| 830 | way to cancel the deletion of a frame aside from restoring a saved frame | ||
| 831 | configuration (@pxref{Frame Configurations}); this is similar to the | ||
| 832 | way windows behave. | ||
| 833 | 849 | ||
| 834 | @deffn Command delete-frame &optional frame force | 850 | @deffn Command delete-frame &optional frame force |
| 835 | @vindex delete-frame-functions | 851 | @vindex delete-frame-functions |
| 836 | This function deletes the frame @var{frame} after running the hook | 852 | This function deletes the frame @var{frame}. Unless @var{frame} is a |
| 837 | @code{delete-frame-functions} (each function gets one argument, | 853 | tooltip, it first runs the hook @code{delete-frame-functions} (each |
| 838 | @var{frame}). By default, @var{frame} is the selected frame. | 854 | function gets one argument, @var{frame}). By default, @var{frame} is |
| 855 | the selected frame. | ||
| 839 | 856 | ||
| 840 | A frame cannot be deleted if its minibuffer is used by other frames. | 857 | A frame cannot be deleted if its minibuffer is used by other frames. |
| 841 | Normally, you cannot delete a frame if all other frames are invisible, | 858 | Normally, you cannot delete a frame if all other frames are invisible, |
| @@ -844,7 +861,8 @@ but if the @var{force} is non-@code{nil}, then you are allowed to do so. | |||
| 844 | 861 | ||
| 845 | @defun frame-live-p frame | 862 | @defun frame-live-p frame |
| 846 | The function @code{frame-live-p} returns non-@code{nil} if the frame | 863 | The function @code{frame-live-p} returns non-@code{nil} if the frame |
| 847 | @var{frame} has not been deleted. | 864 | @var{frame} has not been deleted. The possible non-@code{nil} return |
| 865 | values are like those of @code{framep}. @xref{Frames}. | ||
| 848 | @end defun | 866 | @end defun |
| 849 | 867 | ||
| 850 | Some window managers provide a command to delete a window. These work | 868 | Some window managers provide a command to delete a window. These work |
| @@ -929,29 +947,31 @@ frame also selects this window. You can get the frame's current | |||
| 929 | selected window with @code{frame-selected-window}. | 947 | selected window with @code{frame-selected-window}. |
| 930 | 948 | ||
| 931 | @defun frame-selected-window &optional frame | 949 | @defun frame-selected-window &optional frame |
| 932 | This function returns the window on @var{frame} that is selected within | 950 | This function returns the window on @var{frame} that is selected |
| 933 | @var{frame}. If omitted or @code{nil}, @var{frame} defaults to the selected frame. | 951 | within @var{frame}. If omitted or @code{nil}, @var{frame} defaults to |
| 952 | the selected frame. | ||
| 934 | @end defun | 953 | @end defun |
| 935 | 954 | ||
| 936 | @defun set-frame-selected-window frame window | 955 | @defun set-frame-selected-window frame window |
| 937 | This sets the selected window of frame @var{frame} to @var{window}. | 956 | This sets the selected window of frame @var{frame} to @var{window}. |
| 938 | If @var{frame} is @code{nil}, it operates on the selected frame. If | 957 | If @var{frame} is @code{nil}, it operates on the selected frame. If |
| 939 | @var{frame} is the selected frame, this makes @var{window} the | 958 | @var{frame} is the selected frame, this makes @var{window} the |
| 940 | selected window. | 959 | selected window. This function returns @var{window}. |
| 941 | @end defun | 960 | @end defun |
| 942 | 961 | ||
| 943 | Conversely, selecting a window for Emacs with @code{select-window} also | 962 | Conversely, selecting a window for Emacs with @code{select-window} also |
| 944 | makes that window selected within its frame. @xref{Selecting Windows}. | 963 | makes that window selected within its frame. @xref{Selecting Windows}. |
| 945 | 964 | ||
| 946 | Another function that (usually) returns one of the windows in a given | 965 | Another function that (usually) returns one of the windows in a given |
| 947 | frame is @code{minibuffer-window}. @xref{Minibuffer Misc}. | 966 | frame is @code{minibuffer-window}. @xref{Definition of minibuffer-window}. |
| 948 | 967 | ||
| 949 | @node Minibuffers and Frames | 968 | @node Minibuffers and Frames |
| 950 | @section Minibuffers and Frames | 969 | @section Minibuffers and Frames |
| 951 | 970 | ||
| 952 | Normally, each frame has its own minibuffer window at the bottom, which | 971 | Normally, each frame has its own minibuffer window at the bottom, which |
| 953 | is used whenever that frame is selected. If the frame has a minibuffer, | 972 | is used whenever that frame is selected. If the frame has a minibuffer, |
| 954 | you can get it with @code{minibuffer-window} (@pxref{Minibuffer Misc}). | 973 | you can get it with @code{minibuffer-window} (@pxref{Definition of |
| 974 | minibuffer-window}). | ||
| 955 | 975 | ||
| 956 | However, you can also create a frame with no minibuffer. Such a frame | 976 | However, you can also create a frame with no minibuffer. Such a frame |
| 957 | must use the minibuffer window of some other frame. When you create the | 977 | must use the minibuffer window of some other frame. When you create the |
| @@ -966,8 +986,9 @@ when you enter the minibuffer. If so, set the variable | |||
| 966 | 986 | ||
| 967 | @defvar default-minibuffer-frame | 987 | @defvar default-minibuffer-frame |
| 968 | This variable specifies the frame to use for the minibuffer window, by | 988 | This variable specifies the frame to use for the minibuffer window, by |
| 969 | default. It is always local to the current terminal and cannot be | 989 | default. It does not affect existing frames. It is always local to |
| 970 | buffer-local. @xref{Multiple Displays}. | 990 | the current terminal and cannot be buffer-local. @xref{Multiple |
| 991 | Displays}. | ||
| 971 | @end defvar | 992 | @end defvar |
| 972 | 993 | ||
| 973 | @node Input Focus | 994 | @node Input Focus |
| @@ -1026,7 +1047,10 @@ function is not significant. | |||
| 1026 | This function selects frame @var{frame}, temporarily disregarding the | 1047 | This function selects frame @var{frame}, temporarily disregarding the |
| 1027 | focus of the X server if any. The selection of @var{frame} lasts until | 1048 | focus of the X server if any. The selection of @var{frame} lasts until |
| 1028 | the next time the user does something to select a different frame, or | 1049 | the next time the user does something to select a different frame, or |
| 1029 | until the next time this function is called. The specified @var{frame} | 1050 | until the next time this function is called. (If you are using a |
| 1051 | window system, the previously selected frame may be restored as the | ||
| 1052 | selected frame after return to the command loop, because it still may | ||
| 1053 | have the window system's input focus.) The specified @var{frame} | ||
| 1030 | becomes the selected frame, as explained above, and the terminal that | 1054 | becomes the selected frame, as explained above, and the terminal that |
| 1031 | @var{frame} is on becomes the selected terminal. This function | 1055 | @var{frame} is on becomes the selected terminal. This function |
| 1032 | returns @var{frame}, or @code{nil} if @var{frame} has been deleted. | 1056 | returns @var{frame}, or @code{nil} if @var{frame} has been deleted. |
| @@ -1107,9 +1131,12 @@ This function makes frame @var{frame} visible. If you omit @var{frame}, | |||
| 1107 | it makes the selected frame visible. | 1131 | it makes the selected frame visible. |
| 1108 | @end deffn | 1132 | @end deffn |
| 1109 | 1133 | ||
| 1110 | @deffn Command make-frame-invisible &optional frame | 1134 | @deffn Command make-frame-invisible &optional frame force |
| 1111 | This function makes frame @var{frame} invisible. If you omit | 1135 | This function makes frame @var{frame} invisible. If you omit |
| 1112 | @var{frame}, it makes the selected frame invisible. | 1136 | @var{frame}, it makes the selected frame invisible. |
| 1137 | |||
| 1138 | Unless @var{force} is non-@code{nil}, this function refuses to make | ||
| 1139 | @var{frame} invisible if all other frames are invisible.. | ||
| 1113 | @end deffn | 1140 | @end deffn |
| 1114 | 1141 | ||
| 1115 | @deffn Command iconify-frame &optional frame | 1142 | @deffn Command iconify-frame &optional frame |
| @@ -1121,6 +1148,10 @@ iconifies the selected frame. | |||
| 1121 | This returns the visibility status of frame @var{frame}. The value is | 1148 | This returns the visibility status of frame @var{frame}. The value is |
| 1122 | @code{t} if @var{frame} is visible, @code{nil} if it is invisible, and | 1149 | @code{t} if @var{frame} is visible, @code{nil} if it is invisible, and |
| 1123 | @code{icon} if it is iconified. | 1150 | @code{icon} if it is iconified. |
| 1151 | |||
| 1152 | On a text-only terminal, all frames are considered visible, whether | ||
| 1153 | they are currently being displayed or not, and this function returns | ||
| 1154 | @code{t} for all frames. | ||
| 1124 | @end defun | 1155 | @end defun |
| 1125 | 1156 | ||
| 1126 | The visibility status of a frame is also available as a frame | 1157 | The visibility status of a frame is also available as a frame |
| @@ -1155,6 +1186,7 @@ on the screen. | |||
| 1155 | 1186 | ||
| 1156 | @deffn Command raise-frame &optional frame | 1187 | @deffn Command raise-frame &optional frame |
| 1157 | This function raises frame @var{frame} (default, the selected frame). | 1188 | This function raises frame @var{frame} (default, the selected frame). |
| 1189 | If @var{frame} is invisible or iconified, this makes it visible. | ||
| 1158 | @end deffn | 1190 | @end deffn |
| 1159 | 1191 | ||
| 1160 | @deffn Command lower-frame &optional frame | 1192 | @deffn Command lower-frame &optional frame |
| @@ -1185,7 +1217,8 @@ the current arrangement of frames and their contents. | |||
| 1185 | 1217 | ||
| 1186 | @defun set-frame-configuration configuration &optional nodelete | 1218 | @defun set-frame-configuration configuration &optional nodelete |
| 1187 | This function restores the state of frames described in | 1219 | This function restores the state of frames described in |
| 1188 | @var{configuration}. | 1220 | @var{configuration}. However, this function does not restore deleted |
| 1221 | frames. | ||
| 1189 | 1222 | ||
| 1190 | Ordinarily, this function deletes all existing frames not listed in | 1223 | Ordinarily, this function deletes all existing frames not listed in |
| 1191 | @var{configuration}. But if @var{nodelete} is non-@code{nil}, the | 1224 | @var{configuration}. But if @var{nodelete} is non-@code{nil}, the |
| @@ -1467,7 +1500,7 @@ distinguished by @dfn{selection types}, represented in Emacs by | |||
| 1467 | symbols. X clients including Emacs can read or set the selection for | 1500 | symbols. X clients including Emacs can read or set the selection for |
| 1468 | any given type. | 1501 | any given type. |
| 1469 | 1502 | ||
| 1470 | @defun x-set-selection type data | 1503 | @deffn Command x-set-selection type data |
| 1471 | This function sets a ``selection'' in the X server. It takes two | 1504 | This function sets a ``selection'' in the X server. It takes two |
| 1472 | arguments: a selection type @var{type}, and the value to assign to it, | 1505 | arguments: a selection type @var{type}, and the value to assign to it, |
| 1473 | @var{data}. If @var{data} is @code{nil}, it means to clear out the | 1506 | @var{data}. If @var{data} is @code{nil}, it means to clear out the |
| @@ -1482,9 +1515,11 @@ selection values. | |||
| 1482 | Each possible @var{type} has its own selection value, which changes | 1515 | Each possible @var{type} has its own selection value, which changes |
| 1483 | independently. The usual values of @var{type} are @code{PRIMARY}, | 1516 | independently. The usual values of @var{type} are @code{PRIMARY}, |
| 1484 | @code{SECONDARY} and @code{CLIPBOARD}; these are symbols with upper-case | 1517 | @code{SECONDARY} and @code{CLIPBOARD}; these are symbols with upper-case |
| 1485 | names, in accord with X Window System conventions. The default is | 1518 | names, in accord with X Window System conventions. If @var{type} is |
| 1486 | @code{PRIMARY}. | 1519 | @code{nil}, that stands for @code{PRIMARY}. |
| 1487 | @end defun | 1520 | |
| 1521 | This function returns @var{data}. | ||
| 1522 | @end deffn | ||
| 1488 | 1523 | ||
| 1489 | @defun x-get-selection &optional type data-type | 1524 | @defun x-get-selection &optional type data-type |
| 1490 | This function accesses selections set up by Emacs or by other X | 1525 | This function accesses selections set up by Emacs or by other X |
| @@ -1578,6 +1613,7 @@ and that name is still supported as an alias. | |||
| 1578 | @tindex defined-colors | 1613 | @tindex defined-colors |
| 1579 | This function returns a list of the color names that are defined | 1614 | This function returns a list of the color names that are defined |
| 1580 | and supported on frame @var{frame} (default, the selected frame). | 1615 | and supported on frame @var{frame} (default, the selected frame). |
| 1616 | If @var{frame} does not support colors, the value is @code{nil}. | ||
| 1581 | 1617 | ||
| 1582 | @findex x-defined-colors | 1618 | @findex x-defined-colors |
| 1583 | This function used to be called @code{x-defined-colors}, | 1619 | This function used to be called @code{x-defined-colors}, |
| @@ -1602,18 +1638,18 @@ The argument @var{color} must be a valid color name. | |||
| 1602 | @tindex color-gray-p | 1638 | @tindex color-gray-p |
| 1603 | This returns @code{t} if @var{color} is a shade of gray, as defined on | 1639 | This returns @code{t} if @var{color} is a shade of gray, as defined on |
| 1604 | @var{frame}'s display. If @var{frame} is omitted or @code{nil}, the | 1640 | @var{frame}'s display. If @var{frame} is omitted or @code{nil}, the |
| 1605 | question applies to the selected frame. The argument @var{color} must | 1641 | question applies to the selected frame. If @var{color} is not a valid |
| 1606 | be a valid color name. | 1642 | color name, this function returns @code{nil}. |
| 1607 | @end defun | 1643 | @end defun |
| 1608 | 1644 | ||
| 1609 | @defun color-values color &optional frame | 1645 | @defun color-values color &optional frame |
| 1610 | @tindex color-values | 1646 | @tindex color-values |
| 1611 | This function returns a value that describes what @var{color} should | 1647 | This function returns a value that describes what @var{color} should |
| 1612 | ideally look like. If @var{color} is defined, the value is a list of | 1648 | ideally look like on @var{frame}. If @var{color} is defined, the |
| 1613 | three integers, which give the amount of red, the amount of green, and | 1649 | value is a list of three integers, which give the amount of red, the |
| 1614 | the amount of blue. Each integer ranges in principle from 0 to 65535, | 1650 | amount of green, and the amount of blue. Each integer ranges in |
| 1615 | but in practice no value seems to be above 65280. This kind | 1651 | principle from 0 to 65535, but some displays may not use the full |
| 1616 | of three-element list is called an @dfn{rgb value}. | 1652 | range. This kind of three-element list is called an @dfn{rgb value}. |
| 1617 | 1653 | ||
| 1618 | If @var{color} is not defined, the value is @code{nil}. | 1654 | If @var{color} is not defined, the value is @code{nil}. |
| 1619 | 1655 | ||
| @@ -1658,8 +1694,7 @@ are used by Emacs. | |||
| 1658 | Several of these functions use or return @dfn{rgb values}. An rgb | 1694 | Several of these functions use or return @dfn{rgb values}. An rgb |
| 1659 | value is a list of three integers, which give the amount of red, the | 1695 | value is a list of three integers, which give the amount of red, the |
| 1660 | amount of green, and the amount of blue. Each integer ranges in | 1696 | amount of green, and the amount of blue. Each integer ranges in |
| 1661 | principle from 0 to 65535, but in practice the largest value used is | 1697 | principle from 0 to 65535, but some displays may not use the full range. . |
| 1662 | 65280. | ||
| 1663 | 1698 | ||
| 1664 | These functions accept a display (either a frame or the name of a | 1699 | These functions accept a display (either a frame or the name of a |
| 1665 | terminal) as an optional argument. We hope in the future to make Emacs | 1700 | terminal) as an optional argument. We hope in the future to make Emacs |
| @@ -1701,13 +1736,14 @@ actually looks like. | |||
| 1701 | @tindex tty-color-approximate | 1736 | @tindex tty-color-approximate |
| 1702 | This function finds the closest color, among the known colors supported | 1737 | This function finds the closest color, among the known colors supported |
| 1703 | for @var{display}, to that described by the rgb value @var{rgb}. | 1738 | for @var{display}, to that described by the rgb value @var{rgb}. |
| 1739 | The return value is an element of @code{tty-color-alist}. | ||
| 1704 | @end defun | 1740 | @end defun |
| 1705 | 1741 | ||
| 1706 | @defun tty-color-translate color &optional display | 1742 | @defun tty-color-translate color &optional display |
| 1707 | @tindex tty-color-translate | 1743 | @tindex tty-color-translate |
| 1708 | This function finds the closest color to @var{color} among the known | 1744 | This function finds the closest color to @var{color} among the known |
| 1709 | colors supported for @var{display}. If the name @var{color} is not | 1745 | colors supported for @var{display} and returns its index (an integer). |
| 1710 | defined, the value is @code{nil}. | 1746 | If the name @var{color} is not defined, the value is @code{nil}. |
| 1711 | 1747 | ||
| 1712 | @var{color} can be an X-style @code{"#@var{xxxyyyzzz}"} specification | 1748 | @var{color} can be an X-style @code{"#@var{xxxyyyzzz}"} specification |
| 1713 | instead of an actual name. The format | 1749 | instead of an actual name. The format |
| @@ -1747,6 +1783,29 @@ should look up. The default value is the name Emacs was invoked with, | |||
| 1747 | or the value specified with the @samp{-name} or @samp{-rn} switches. | 1783 | or the value specified with the @samp{-name} or @samp{-rn} switches. |
| 1748 | @end defvar | 1784 | @end defvar |
| 1749 | 1785 | ||
| 1786 | To illustrate some of the above, suppose that you have the line: | ||
| 1787 | |||
| 1788 | @example | ||
| 1789 | xterm.vt100.background: yellow | ||
| 1790 | @end example | ||
| 1791 | |||
| 1792 | @noindent | ||
| 1793 | in in your X resources file (usually named @file{~/.Xdefaults} or | ||
| 1794 | @file{~/.Xresources}). Then: | ||
| 1795 | |||
| 1796 | @example | ||
| 1797 | @group | ||
| 1798 | (let ((x-resource-class "XTerm") (x-resource-name "xterm")) | ||
| 1799 | (x-get-resource "vt100.background" "VT100.Background")) | ||
| 1800 | @result{} "yellow" | ||
| 1801 | @end group | ||
| 1802 | @group | ||
| 1803 | (let ((x-resource-class "XTerm") (x-resource-name "xterm")) | ||
| 1804 | (x-get-resource "background" "VT100" "vt100" "Background")) | ||
| 1805 | @result{} "yellow" | ||
| 1806 | @end group | ||
| 1807 | @end example | ||
| 1808 | |||
| 1750 | @xref{X Resources,, X Resources, emacs, The GNU Emacs Manual}. | 1809 | @xref{X Resources,, X Resources, emacs, The GNU Emacs Manual}. |
| 1751 | 1810 | ||
| 1752 | @node Display Feature Testing | 1811 | @node Display Feature Testing |
| @@ -1854,6 +1913,7 @@ This function returns the number of screens associated with the display. | |||
| 1854 | @defun display-pixel-height &optional display | 1913 | @defun display-pixel-height &optional display |
| 1855 | @tindex display-pixel-height | 1914 | @tindex display-pixel-height |
| 1856 | This function returns the height of the screen in pixels. | 1915 | This function returns the height of the screen in pixels. |
| 1916 | On a character terminal, it gives the height in characters. | ||
| 1857 | @end defun | 1917 | @end defun |
| 1858 | 1918 | ||
| 1859 | @defun display-mm-height &optional display | 1919 | @defun display-mm-height &optional display |
| @@ -1865,6 +1925,7 @@ or @code{nil} if Emacs cannot get that information. | |||
| 1865 | @defun display-pixel-width &optional display | 1925 | @defun display-pixel-width &optional display |
| 1866 | @tindex display-pixel-width | 1926 | @tindex display-pixel-width |
| 1867 | This function returns the width of the screen in pixels. | 1927 | This function returns the width of the screen in pixels. |
| 1928 | On a character terminal, it gives the width in characters. | ||
| 1868 | @end defun | 1929 | @end defun |
| 1869 | 1930 | ||
| 1870 | @defun display-mm-width &optional display | 1931 | @defun display-mm-width &optional display |
| @@ -1918,11 +1979,13 @@ about X displays. | |||
| 1918 | 1979 | ||
| 1919 | @defun x-server-version &optional display | 1980 | @defun x-server-version &optional display |
| 1920 | This function returns the list of version numbers of the X server | 1981 | This function returns the list of version numbers of the X server |
| 1921 | running the display. | 1982 | running the display. The value is a list of three integers: the major |
| 1983 | and minor version numbers, and the vendor-specific release number. | ||
| 1922 | @end defun | 1984 | @end defun |
| 1923 | 1985 | ||
| 1924 | @defun x-server-vendor &optional display | 1986 | @defun x-server-vendor &optional display |
| 1925 | This function returns the vendor that provided the X server software. | 1987 | This function returns the ``vendor'' that provided the X server software |
| 1988 | (as a string). | ||
| 1926 | @end defun | 1989 | @end defun |
| 1927 | 1990 | ||
| 1928 | @ignore | 1991 | @ignore |
diff --git a/lispref/macros.texi b/lispref/macros.texi index e903a159c27..e28ab80ac6b 100644 --- a/lispref/macros.texi +++ b/lispref/macros.texi | |||
| @@ -239,7 +239,7 @@ additional information about it. Two kinds of specification are | |||
| 239 | currently supported: | 239 | currently supported: |
| 240 | 240 | ||
| 241 | @table @code | 241 | @table @code |
| 242 | @item (edebug @var{edebug-form-spec}) | 242 | @item (debug @var{edebug-form-spec}) |
| 243 | Specify how to step through macro calls for Edebug. | 243 | Specify how to step through macro calls for Edebug. |
| 244 | @xref{Instrumenting Macro Calls}, for more details. | 244 | @xref{Instrumenting Macro Calls}, for more details. |
| 245 | 245 | ||
diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi index bf858eff475..c0ee5c85881 100644 --- a/lispref/minibuf.texi +++ b/lispref/minibuf.texi | |||
| @@ -1773,6 +1773,7 @@ This function returns the currently active minibuffer window, or | |||
| 1773 | @end defun | 1773 | @end defun |
| 1774 | 1774 | ||
| 1775 | @defun minibuffer-window &optional frame | 1775 | @defun minibuffer-window &optional frame |
| 1776 | @anchor{Definition of minibuffer-window} | ||
| 1776 | This function returns the minibuffer window used for frame @var{frame}. | 1777 | This function returns the minibuffer window used for frame @var{frame}. |
| 1777 | If @var{frame} is @code{nil}, that stands for the current frame. Note | 1778 | If @var{frame} is @code{nil}, that stands for the current frame. Note |
| 1778 | that the minibuffer window used by a frame need not be part of that | 1779 | that the minibuffer window used by a frame need not be part of that |
diff --git a/lispref/windows.texi b/lispref/windows.texi index a01dc79d1f1..0fdc6734181 100644 --- a/lispref/windows.texi +++ b/lispref/windows.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | @c -*-texinfo-*- | 1 | @c -*-texinfo-*- |
| 2 | @c This is part of the GNU Emacs Lisp Reference Manual. | 2 | @c This is part of the GNU Emacs Lisp Reference Manual. |
| 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999 | 3 | @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2004 |
| 4 | @c Free Software Foundation, Inc. | 4 | @c Free Software Foundation, Inc. |
| 5 | @c See the file elisp.texi for copying conditions. | 5 | @c See the file elisp.texi for copying conditions. |
| 6 | @setfilename ../info/windows | 6 | @setfilename ../info/windows |
| @@ -1089,6 +1089,7 @@ presumably the window was previously made by this function. | |||
| 1089 | @end defun | 1089 | @end defun |
| 1090 | 1090 | ||
| 1091 | @defopt special-display-frame-alist | 1091 | @defopt special-display-frame-alist |
| 1092 | @anchor{Definition of special-display-frame-alist} | ||
| 1092 | This variable holds frame parameters for | 1093 | This variable holds frame parameters for |
| 1093 | @code{special-display-popup-frame} to use when it creates a frame. | 1094 | @code{special-display-popup-frame} to use when it creates a frame. |
| 1094 | @end defopt | 1095 | @end defopt |
diff --git a/man/ChangeLog b/man/ChangeLog index e4aba6ce722..a36b0c75fe4 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2004-07-24 Richard M. Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * text.texi (Paragraphs): Update how paragraphs are separated | ||
| 4 | and the default for paragraph-separate. | ||
| 5 | |||
| 6 | * search.texi (Regexp Replace): Further update text for new | ||
| 7 | replacement operators. | ||
| 8 | |||
| 1 | 2004-07-18 Luc Teirlinck <teirllm@auburn.edu> | 9 | 2004-07-18 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 10 | ||
| 3 | * emacs-xtra.texi (Subdir switches): Dired does not remember the | 11 | * emacs-xtra.texi (Subdir switches): Dired does not remember the |
diff --git a/man/search.texi b/man/search.texi index 5fa130a2e50..c31bc60af62 100644 --- a/man/search.texi +++ b/man/search.texi | |||
| @@ -1038,20 +1038,21 @@ text to replace with, you must enter @samp{\\}. | |||
| 1038 | You can also use Lisp expressions to calculate parts of the | 1038 | You can also use Lisp expressions to calculate parts of the |
| 1039 | replacement string. To do this, write @samp{\,} followed by the | 1039 | replacement string. To do this, write @samp{\,} followed by the |
| 1040 | expression in the replacement string. Each replacement calculates the | 1040 | expression in the replacement string. Each replacement calculates the |
| 1041 | value of the expression, which ought to be a string, and uses it in | 1041 | value of the expression and converts it to text without quoting (if |
| 1042 | it's a string, this means using the string's contents), and uses it in | ||
| 1042 | the replacement string in place of the expression itself. If the | 1043 | the replacement string in place of the expression itself. If the |
| 1043 | expression is a symbol, one space in the replacement string after the | 1044 | expression is a symbol, one space in the replacement string after the |
| 1044 | symbol name counts as part of the symbol name, so the value replaces | 1045 | symbol name goes with the symbol name, so the value replaces them |
| 1045 | them both. | 1046 | both. |
| 1046 | 1047 | ||
| 1047 | Inside such an expression, @samp{\&} and @samp{\@var{n}} used as | 1048 | Inside such an expression, you can use some special sequences. |
| 1048 | subexpressions refer respectively to the entire match as a string, and | 1049 | @samp{\&} and @samp{\@var{n}} refer here, as usual, to the entire |
| 1049 | to a submatch as a string. @var{n} may exceed 9 here, and the value | 1050 | match as a string, and to a submatch as a string. @var{n} may be |
| 1050 | of @samp{\@var{n}} is @code{nil} if subexpression @var{n} did not | 1051 | multiple digits, and the value of @samp{\@var{n}} is @code{nil} if |
| 1051 | match. You can also use @samp{\#&} and @samp{\#@var{n}} refer to | 1052 | subexpression @var{n} did not match. You can also use @samp{\#&} and |
| 1052 | those matches converted to numbers (this is valid when the match or | 1053 | @samp{\#@var{n}} to refer to those matches as numbers (this is valid |
| 1053 | submatch has the form of a number). @samp{\#} stands for the number | 1054 | when the match or submatch has the form of a numeral). @samp{\#} here |
| 1054 | of already-completed replacements. | 1055 | too stands for the number of already-completed replacements. |
| 1055 | 1056 | ||
| 1056 | Repeating our example to exchange @samp{x} and @samp{y}, we can thus | 1057 | Repeating our example to exchange @samp{x} and @samp{y}, we can thus |
| 1057 | do it also this way: | 1058 | do it also this way: |
| @@ -1061,9 +1062,9 @@ M-x replace-regexp @key{RET} \(x\)\|y @key{RET} | |||
| 1061 | \,(if \1 "y" "x") @key{RET} | 1062 | \,(if \1 "y" "x") @key{RET} |
| 1062 | @end example | 1063 | @end example |
| 1063 | 1064 | ||
| 1064 | The @code{format} function (@pxref{Formatting Strings,,,elisp, GNU | 1065 | For computing replacement strings for @samp{\,}, the @code{format} |
| 1065 | Emacs Lisp Reference Manual}) comes in handy for computing replacement | 1066 | function is often useful (@pxref{Formatting Strings,,,elisp, GNU Emacs |
| 1066 | strings for @samp{\,}. For example, to add consecutively numbered | 1067 | Lisp Reference Manual}). For example, to add consecutively numbered |
| 1067 | strings like @samp{ABC00042} to columns 73 @w{to 80} (unless they are | 1068 | strings like @samp{ABC00042} to columns 73 @w{to 80} (unless they are |
| 1068 | already occupied), you can use | 1069 | already occupied), you can use |
| 1069 | 1070 | ||
| @@ -1074,8 +1075,8 @@ M-x replace-regexp @key{RET} ^.\@{0,72\@}$ @key{RET} | |||
| 1074 | 1075 | ||
| 1075 | If you want to enter part of the replacement string by hand each | 1076 | If you want to enter part of the replacement string by hand each |
| 1076 | time, use @samp{\?} in the replacement string. Each replacement will | 1077 | time, use @samp{\?} in the replacement string. Each replacement will |
| 1077 | enter a recursive edit, with point at the position where the @samp{\?} | 1078 | ask you to edit the replacement string in the minibuffer, putting |
| 1078 | was. For example, | 1079 | point where the @samp{\?} was. For example, |
| 1079 | 1080 | ||
| 1080 | @example | 1081 | @example |
| 1081 | M-x replace-regexp @key{RET} \footnote@{ @key{RET} | 1082 | M-x replace-regexp @key{RET} \footnote@{ @key{RET} |
diff --git a/man/text.texi b/man/text.texi index 45c7e504d8a..dbf990a2b57 100644 --- a/man/text.texi +++ b/man/text.texi | |||
| @@ -264,10 +264,10 @@ Put point and mark around this or next paragraph (@code{mark-paragraph}). | |||
| 264 | @kbd{M-@{} moves to the beginning of the current or previous | 264 | @kbd{M-@{} moves to the beginning of the current or previous |
| 265 | paragraph, while @kbd{M-@}} moves to the end of the current or next | 265 | paragraph, while @kbd{M-@}} moves to the end of the current or next |
| 266 | paragraph. Blank lines and text-formatter command lines separate | 266 | paragraph. Blank lines and text-formatter command lines separate |
| 267 | paragraphs and are not considered part of any paragraph. In Fundamental | 267 | paragraphs and are not considered part of any paragraph. In Indented |
| 268 | mode, but not in Text mode, an indented line also starts a new | 268 | Text mode, but not in Text mode, an indented line also starts a new |
| 269 | paragraph. (If a paragraph is preceded by a blank line, these commands | 269 | paragraph. (If a paragraph is preceded by a blank line, these |
| 270 | treat that blank line as the beginning of the paragraph.) | 270 | commands treat that blank line as the beginning of the paragraph.) |
| 271 | 271 | ||
| 272 | In major modes for programs, paragraphs begin and end only at blank | 272 | In major modes for programs, paragraphs begin and end only at blank |
| 273 | lines. This makes the paragraph commands continue to be useful even | 273 | lines. This makes the paragraph commands continue to be useful even |
| @@ -300,7 +300,7 @@ example, blank lines). Lines that start a new paragraph and are | |||
| 300 | contained in it must match only @code{paragraph-start}, not | 300 | contained in it must match only @code{paragraph-start}, not |
| 301 | @code{paragraph-separate}. For example, in Fundamental mode, | 301 | @code{paragraph-separate}. For example, in Fundamental mode, |
| 302 | @code{paragraph-start} is @w{@code{"[ \t\n\f]"}}, and | 302 | @code{paragraph-start} is @w{@code{"[ \t\n\f]"}}, and |
| 303 | @code{paragraph-separate} is @w{@code{"[ \t\f]*$"}}. | 303 | @code{paragraph-separate} is @w{@code{"\f\\|[ \t]*$"}}. |
| 304 | 304 | ||
| 305 | Normally it is desirable for page boundaries to separate paragraphs. | 305 | Normally it is desirable for page boundaries to separate paragraphs. |
| 306 | The default values of these variables recognize the usual separator for | 306 | The default values of these variables recognize the usual separator for |
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index adbb3fd57b8..ec30853ed29 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in | |||
| @@ -111,10 +111,10 @@ maybe-bootstrap: maybe-bootstrap-$(SHELLTYPE) | |||
| 111 | doit: | 111 | doit: |
| 112 | 112 | ||
| 113 | maybe-bootstrap-CMD: doit | 113 | maybe-bootstrap-CMD: doit |
| 114 | @echo. | 114 | @echo . |
| 115 | @if not EXIST ..\lisp\abbrev.elc echo Essential Lisp files seem to be missing. You should either | 115 | @if not EXIST ..\lisp\abbrev.elc echo Essential Lisp files seem to be missing. You should either |
| 116 | @if not EXIST ..\lisp\abbrev.elc echo do 'make bootstrap' or create 'lisp/abbrev.elc' somehow | 116 | @if not EXIST ..\lisp\abbrev.elc echo do 'make bootstrap' or create 'lisp/abbrev.elc' somehow |
| 117 | @echo. | 117 | @echo . |
| 118 | @if not EXIST ..\lisp\abbrev.elc exit -1 | 118 | @if not EXIST ..\lisp\abbrev.elc exit -1 |
| 119 | 119 | ||
| 120 | maybe-bootstrap-SH: doit | 120 | maybe-bootstrap-SH: doit |
diff --git a/src/ChangeLog b/src/ChangeLog index e51cdf554ce..d06be958790 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,49 @@ | |||
| 1 | 2004-07-27 Kim F. Storm <storm@cua.dk> | ||
| 2 | |||
| 3 | * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after | ||
| 4 | we have ensured that the glyph fits on the current line (or returned | ||
| 5 | MOVE_LINE_CONTINUED otherwise). | ||
| 6 | |||
| 7 | 2004-07-26 Kim F. Storm <storm@cua.dk> | ||
| 8 | |||
| 9 | * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe | ||
| 10 | is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV | ||
| 11 | if target position is at end of display line but char is not a newline. | ||
| 12 | |||
| 13 | 2004-07-25 Richard M. Stallman <rms@gnu.org> | ||
| 14 | |||
| 15 | * window.c (coordinates_in_window): Return ON_SCROLL_BAR | ||
| 16 | instead of ON_VERTICAL_BORDER, when on scroll bar. | ||
| 17 | (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil. | ||
| 18 | |||
| 19 | * dispextern.h (enum window_part): Add ON_SCROLL_BAR. | ||
| 20 | |||
| 21 | * window.c (Fcoordinates_in_window_p): | ||
| 22 | Take account of FRAME_INTERNAL_BORDER_WIDTH. | ||
| 23 | |||
| 24 | * alloc.c (check_cons_list): New function (contents commented out). | ||
| 25 | |||
| 26 | 2004-07-24 Luc Teirlinck <teirllm@auburn.edu> | ||
| 27 | |||
| 28 | * xfaces.c (Fcolor_supported_p): Doc fix. | ||
| 29 | |||
| 30 | * frame.c (Fselect_frame, Fset_frame_selected_window) | ||
| 31 | (Fframe_visible_p, Fraise_frame): Doc fixes. | ||
| 32 | |||
| 33 | 2004-07-24 Richard M. Stallman <rms@gnu.org> | ||
| 34 | |||
| 35 | * keyboard.h (not_single_kboard_state): Declared. | ||
| 36 | |||
| 37 | * fileio.c (Fwrite_region): Doc fix. | ||
| 38 | |||
| 39 | * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH. | ||
| 40 | |||
| 41 | * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook | ||
| 42 | only when a real abbrev is present. | ||
| 43 | |||
| 44 | * xfns.c (x_icon_verify): New function. | ||
| 45 | (Fx_create_frame): Use it. | ||
| 46 | |||
| 1 | 2004-07-22 Barry Fishman <barry_fishman@att.net> (tiny change) | 47 | 2004-07-22 Barry Fishman <barry_fishman@att.net> (tiny change) |
| 2 | 48 | ||
| 3 | * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined. | 49 | * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined. |
diff --git a/src/abbrev.c b/src/abbrev.c index 086a58021fb..7e68011955d 100644 --- a/src/abbrev.c +++ b/src/abbrev.c | |||
| @@ -248,8 +248,6 @@ Returns the abbrev symbol, if expansion took place. */) | |||
| 248 | 248 | ||
| 249 | value = Qnil; | 249 | value = Qnil; |
| 250 | 250 | ||
| 251 | Frun_hooks (1, &Qpre_abbrev_expand_hook); | ||
| 252 | |||
| 253 | wordstart = 0; | 251 | wordstart = 0; |
| 254 | if (!(BUFFERP (Vabbrev_start_location_buffer) | 252 | if (!(BUFFERP (Vabbrev_start_location_buffer) |
| 255 | && XBUFFER (Vabbrev_start_location_buffer) == current_buffer)) | 253 | && XBUFFER (Vabbrev_start_location_buffer) == current_buffer)) |
| @@ -326,6 +324,8 @@ Returns the abbrev symbol, if expansion took place. */) | |||
| 326 | if (INTEGERP (sym) || NILP (SYMBOL_VALUE (sym))) | 324 | if (INTEGERP (sym) || NILP (SYMBOL_VALUE (sym))) |
| 327 | return value; | 325 | return value; |
| 328 | 326 | ||
| 327 | Frun_hooks (1, &Qpre_abbrev_expand_hook); | ||
| 328 | |||
| 329 | if (INTERACTIVE && !EQ (minibuf_window, selected_window)) | 329 | if (INTERACTIVE && !EQ (minibuf_window, selected_window)) |
| 330 | { | 330 | { |
| 331 | /* Add an undo boundary, in case we are doing this for | 331 | /* Add an undo boundary, in case we are doing this for |
diff --git a/src/alloc.c b/src/alloc.c index 0e3e78bbac2..567b8c7a925 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -2395,6 +2395,17 @@ DEFUN ("cons", Fcons, Scons, 2, 2, 0, | |||
| 2395 | return val; | 2395 | return val; |
| 2396 | } | 2396 | } |
| 2397 | 2397 | ||
| 2398 | /* Get an error now if there's any junk in the cons free list. */ | ||
| 2399 | void | ||
| 2400 | check_cons_list () | ||
| 2401 | { | ||
| 2402 | struct Lisp_Cons *tail = cons_free_list; | ||
| 2403 | |||
| 2404 | #if 0 | ||
| 2405 | while (tail) | ||
| 2406 | tail = *(struct Lisp_Cons **)&tail->cdr; | ||
| 2407 | #endif | ||
| 2408 | } | ||
| 2398 | 2409 | ||
| 2399 | /* Make a list of 2, 3, 4 or 5 specified objects. */ | 2410 | /* Make a list of 2, 3, 4 or 5 specified objects. */ |
| 2400 | 2411 | ||
diff --git a/src/dispextern.h b/src/dispextern.h index 11395cb7f00..43ebe5c24d0 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -99,7 +99,8 @@ enum window_part | |||
| 99 | ON_LEFT_FRINGE, | 99 | ON_LEFT_FRINGE, |
| 100 | ON_RIGHT_FRINGE, | 100 | ON_RIGHT_FRINGE, |
| 101 | ON_LEFT_MARGIN, | 101 | ON_LEFT_MARGIN, |
| 102 | ON_RIGHT_MARGIN | 102 | ON_RIGHT_MARGIN, |
| 103 | ON_SCROLL_BAR | ||
| 103 | }; | 104 | }; |
| 104 | 105 | ||
| 105 | /* Number of bits allocated to store fringe bitmap numbers. */ | 106 | /* Number of bits allocated to store fringe bitmap numbers. */ |
diff --git a/src/fileio.c b/src/fileio.c index bbc7d86c429..a22216040f3 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -4829,7 +4829,7 @@ instead of any buffer contents; END is ignored. | |||
| 4829 | Optional fourth argument APPEND if non-nil means | 4829 | Optional fourth argument APPEND if non-nil means |
| 4830 | append to existing file contents (if any). If it is an integer, | 4830 | append to existing file contents (if any). If it is an integer, |
| 4831 | seek to that offset in the file before writing. | 4831 | seek to that offset in the file before writing. |
| 4832 | Optional fifth argument VISIT if t means | 4832 | Optional fifth argument VISIT, if t or a string, means |
| 4833 | set the last-save-file-modtime of buffer to this file's modtime | 4833 | set the last-save-file-modtime of buffer to this file's modtime |
| 4834 | and mark buffer not modified. | 4834 | and mark buffer not modified. |
| 4835 | If VISIT is a string, it is a second file name; | 4835 | If VISIT is a string, it is a second file name; |
diff --git a/src/frame.c b/src/frame.c index 41b92e75dbb..d7da02db278 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Generic frame functions. | 1 | /* Generic frame functions. |
| 2 | Copyright (C) 1993, 1994, 1995, 1997, 1999, 2000, 2001, 2003 | 2 | Copyright (C) 1993, 1994, 1995, 1997, 1999, 2000, 2001, 2003, 2004 |
| 3 | Free Software Foundation. | 3 | Free Software Foundation. |
| 4 | 4 | ||
| 5 | This file is part of GNU Emacs. | 5 | This file is part of GNU Emacs. |
| @@ -733,7 +733,12 @@ DEFUN ("select-frame", Fselect_frame, Sselect_frame, 1, 2, "e", | |||
| 733 | Subsequent editing commands apply to its selected window. | 733 | Subsequent editing commands apply to its selected window. |
| 734 | The selection of FRAME lasts until the next time the user does | 734 | The selection of FRAME lasts until the next time the user does |
| 735 | something to select a different frame, or until the next time this | 735 | something to select a different frame, or until the next time this |
| 736 | function is called. */) | 736 | function is called. If you are using a window system, the previously |
| 737 | selected frame may be restored as the selected frame after return to | ||
| 738 | the command loop, because it still may have the window system's input | ||
| 739 | focus. On a text-only terminal, the next redisplay will display FRAME. | ||
| 740 | |||
| 741 | This function returns FRAME, or nil if FRAME has been deleted. */) | ||
| 737 | (frame, no_enter) | 742 | (frame, no_enter) |
| 738 | Lisp_Object frame, no_enter; | 743 | Lisp_Object frame, no_enter; |
| 739 | { | 744 | { |
| @@ -861,6 +866,7 @@ If omitted, FRAME defaults to the currently selected frame. */) | |||
| 861 | DEFUN ("set-frame-selected-window", Fset_frame_selected_window, | 866 | DEFUN ("set-frame-selected-window", Fset_frame_selected_window, |
| 862 | Sset_frame_selected_window, 2, 2, 0, | 867 | Sset_frame_selected_window, 2, 2, 0, |
| 863 | doc: /* Set the selected window of frame object FRAME to WINDOW. | 868 | doc: /* Set the selected window of frame object FRAME to WINDOW. |
| 869 | Return WINDOW. | ||
| 864 | If FRAME is nil, the selected frame is used. | 870 | If FRAME is nil, the selected frame is used. |
| 865 | If FRAME is the selected frame, this makes WINDOW the selected window. */) | 871 | If FRAME is the selected frame, this makes WINDOW the selected window. */) |
| 866 | (frame, window) | 872 | (frame, window) |
| @@ -1711,7 +1717,11 @@ DEFUN ("frame-visible-p", Fframe_visible_p, Sframe_visible_p, | |||
| 1711 | doc: /* Return t if FRAME is now \"visible\" (actually in use for display). | 1717 | doc: /* Return t if FRAME is now \"visible\" (actually in use for display). |
| 1712 | A frame that is not \"visible\" is not updated and, if it works through | 1718 | A frame that is not \"visible\" is not updated and, if it works through |
| 1713 | a window system, it may not show at all. | 1719 | a window system, it may not show at all. |
| 1714 | Return the symbol `icon' if frame is visible only as an icon. */) | 1720 | Return the symbol `icon' if frame is visible only as an icon. |
| 1721 | |||
| 1722 | On a text-only terminal, all frames are considered visible, whether | ||
| 1723 | they are currently being displayed or not, and this function returns t | ||
| 1724 | for all frames. */) | ||
| 1715 | (frame) | 1725 | (frame) |
| 1716 | Lisp_Object frame; | 1726 | Lisp_Object frame; |
| 1717 | { | 1727 | { |
| @@ -1751,7 +1761,7 @@ DEFUN ("visible-frame-list", Fvisible_frame_list, Svisible_frame_list, | |||
| 1751 | 1761 | ||
| 1752 | DEFUN ("raise-frame", Fraise_frame, Sraise_frame, 0, 1, "", | 1762 | DEFUN ("raise-frame", Fraise_frame, Sraise_frame, 0, 1, "", |
| 1753 | doc: /* Bring FRAME to the front, so it occludes any frames it overlaps. | 1763 | doc: /* Bring FRAME to the front, so it occludes any frames it overlaps. |
| 1754 | If FRAME is invisible, make it visible. | 1764 | If FRAME is invisible or iconified, make it visible. |
| 1755 | If you don't specify a frame, the selected frame is used. | 1765 | If you don't specify a frame, the selected frame is used. |
| 1756 | If Emacs is displaying on an ordinary terminal or some other device which | 1766 | If Emacs is displaying on an ordinary terminal or some other device which |
| 1757 | doesn't support multiple overlapping frames, this function does nothing. */) | 1767 | doesn't support multiple overlapping frames, this function does nothing. */) |
diff --git a/src/keyboard.h b/src/keyboard.h index d92f13a5059..4e14257359f 100644 --- a/src/keyboard.h +++ b/src/keyboard.h | |||
| @@ -307,6 +307,7 @@ extern void echo_now P_ ((void)); | |||
| 307 | extern void init_kboard P_ ((KBOARD *)); | 307 | extern void init_kboard P_ ((KBOARD *)); |
| 308 | extern void delete_kboard P_ ((KBOARD *)); | 308 | extern void delete_kboard P_ ((KBOARD *)); |
| 309 | extern void single_kboard_state P_ ((void)); | 309 | extern void single_kboard_state P_ ((void)); |
| 310 | extern void not_single_kboard_state P_ ((KBOARD *)); | ||
| 310 | extern void push_frame_kboard P_ ((struct frame *)); | 311 | extern void push_frame_kboard P_ ((struct frame *)); |
| 311 | extern void pop_frame_kboard P_ ((void)); | 312 | extern void pop_frame_kboard P_ ((void)); |
| 312 | extern void record_asynch_buffer_change P_ ((void)); | 313 | extern void record_asynch_buffer_change P_ ((void)); |
diff --git a/src/window.c b/src/window.c index 1b1cab13e7a..9c94a43c3cd 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -579,6 +579,8 @@ display margins, fringes, header line, and/or mode line. */) | |||
| 579 | if it is on the window's modeline, return ON_MODE_LINE; | 579 | if it is on the window's modeline, return ON_MODE_LINE; |
| 580 | if it is on the border between the window and its right sibling, | 580 | if it is on the border between the window and its right sibling, |
| 581 | return ON_VERTICAL_BORDER. | 581 | return ON_VERTICAL_BORDER. |
| 582 | if it is on a scroll bar, | ||
| 583 | return ON_SCROLL_BAR. | ||
| 582 | if it is on the window's top line, return ON_HEADER_LINE; | 584 | if it is on the window's top line, return ON_HEADER_LINE; |
| 583 | if it is in left or right fringe of the window, | 585 | if it is in left or right fringe of the window, |
| 584 | return ON_LEFT_FRINGE or ON_RIGHT_FRINGE, and convert *X and *Y | 586 | return ON_LEFT_FRINGE or ON_RIGHT_FRINGE, and convert *X and *Y |
| @@ -673,7 +675,7 @@ coordinates_in_window (w, x, y) | |||
| 673 | 675 | ||
| 674 | /* Outside any interesting column? */ | 676 | /* Outside any interesting column? */ |
| 675 | if (*x < left_x || *x > right_x) | 677 | if (*x < left_x || *x > right_x) |
| 676 | return ON_VERTICAL_BORDER; | 678 | return ON_SCROLL_BAR; |
| 677 | 679 | ||
| 678 | lmargin_width = window_box_width (w, LEFT_MARGIN_AREA); | 680 | lmargin_width = window_box_width (w, LEFT_MARGIN_AREA); |
| 679 | rmargin_width = window_box_width (w, RIGHT_MARGIN_AREA); | 681 | rmargin_width = window_box_width (w, RIGHT_MARGIN_AREA); |
| @@ -783,8 +785,8 @@ If they are in the windows's left or right marginal areas, `left-margin'\n\ | |||
| 783 | ly = Fcdr (coordinates); | 785 | ly = Fcdr (coordinates); |
| 784 | CHECK_NUMBER_OR_FLOAT (lx); | 786 | CHECK_NUMBER_OR_FLOAT (lx); |
| 785 | CHECK_NUMBER_OR_FLOAT (ly); | 787 | CHECK_NUMBER_OR_FLOAT (ly); |
| 786 | x = FRAME_PIXEL_X_FROM_CANON_X (f, lx); | 788 | x = FRAME_PIXEL_X_FROM_CANON_X (f, lx) + FRAME_INTERNAL_BORDER_WIDTH (f); |
| 787 | y = FRAME_PIXEL_Y_FROM_CANON_Y (f, ly); | 789 | y = FRAME_PIXEL_Y_FROM_CANON_Y (f, ly) + FRAME_INTERNAL_BORDER_WIDTH (f); |
| 788 | 790 | ||
| 789 | switch (coordinates_in_window (w, &x, &y)) | 791 | switch (coordinates_in_window (w, &x, &y)) |
| 790 | { | 792 | { |
| @@ -818,6 +820,10 @@ If they are in the windows's left or right marginal areas, `left-margin'\n\ | |||
| 818 | case ON_RIGHT_MARGIN: | 820 | case ON_RIGHT_MARGIN: |
| 819 | return Qright_margin; | 821 | return Qright_margin; |
| 820 | 822 | ||
| 823 | case ON_SCROLL_BAR: | ||
| 824 | /* Historically we are supposed to return nil in this case. */ | ||
| 825 | return Qnil; | ||
| 826 | |||
| 821 | default: | 827 | default: |
| 822 | abort (); | 828 | abort (); |
| 823 | } | 829 | } |
| @@ -938,8 +944,10 @@ column 0. */) | |||
| 938 | CHECK_NUMBER_OR_FLOAT (y); | 944 | CHECK_NUMBER_OR_FLOAT (y); |
| 939 | 945 | ||
| 940 | return window_from_coordinates (f, | 946 | return window_from_coordinates (f, |
| 941 | FRAME_PIXEL_X_FROM_CANON_X (f, x), | 947 | (FRAME_PIXEL_X_FROM_CANON_X (f, x) |
| 942 | FRAME_PIXEL_Y_FROM_CANON_Y (f, y), | 948 | + FRAME_INTERNAL_BORDER_WIDTH (f)), |
| 949 | (FRAME_PIXEL_Y_FROM_CANON_Y (f, y) | ||
| 950 | + FRAME_INTERNAL_BORDER_WIDTH (f)), | ||
| 943 | 0, 0, 0, 0); | 951 | 0, 0, 0, 0); |
| 944 | } | 952 | } |
| 945 | 953 | ||
diff --git a/src/xdisp.c b/src/xdisp.c index 3a4ff4d2ac0..463889507e4 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -5750,9 +5750,13 @@ move_it_in_display_line_to (it, to_charpos, to_x, op) | |||
| 5750 | { | 5750 | { |
| 5751 | int x, i, ascent = 0, descent = 0; | 5751 | int x, i, ascent = 0, descent = 0; |
| 5752 | 5752 | ||
| 5753 | /* Stop when ZV or TO_CHARPOS reached. */ | 5753 | /* Stop when ZV reached. |
| 5754 | We used to stop here when TO_CHARPOS reached as well, but that is | ||
| 5755 | too soon if this glyph does not fit on this line. So we handle it | ||
| 5756 | explicitly below. */ | ||
| 5754 | if (!get_next_display_element (it) | 5757 | if (!get_next_display_element (it) |
| 5755 | || BUFFER_POS_REACHED_P ()) | 5758 | || (it->truncate_lines_p |
| 5759 | && BUFFER_POS_REACHED_P ())) | ||
| 5756 | { | 5760 | { |
| 5757 | result = MOVE_POS_MATCH_OR_ZV; | 5761 | result = MOVE_POS_MATCH_OR_ZV; |
| 5758 | break; | 5762 | break; |
| @@ -5812,6 +5816,8 @@ move_it_in_display_line_to (it, to_charpos, to_x, op) | |||
| 5812 | /* We want to leave anything reaching TO_X to the caller. */ | 5816 | /* We want to leave anything reaching TO_X to the caller. */ |
| 5813 | if ((op & MOVE_TO_X) && new_x > to_x) | 5817 | if ((op & MOVE_TO_X) && new_x > to_x) |
| 5814 | { | 5818 | { |
| 5819 | if (BUFFER_POS_REACHED_P ()) | ||
| 5820 | goto buffer_pos_reached; | ||
| 5815 | it->current_x = x; | 5821 | it->current_x = x; |
| 5816 | result = MOVE_X_REACHED; | 5822 | result = MOVE_X_REACHED; |
| 5817 | break; | 5823 | break; |
| @@ -5839,12 +5845,19 @@ move_it_in_display_line_to (it, to_charpos, to_x, op) | |||
| 5839 | #ifdef HAVE_WINDOW_SYSTEM | 5845 | #ifdef HAVE_WINDOW_SYSTEM |
| 5840 | if (IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) | 5846 | if (IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) |
| 5841 | { | 5847 | { |
| 5842 | if (!get_next_display_element (it) | 5848 | if (!get_next_display_element (it)) |
| 5843 | || BUFFER_POS_REACHED_P ()) | ||
| 5844 | { | 5849 | { |
| 5845 | result = MOVE_POS_MATCH_OR_ZV; | 5850 | result = MOVE_POS_MATCH_OR_ZV; |
| 5846 | break; | 5851 | break; |
| 5847 | } | 5852 | } |
| 5853 | if (BUFFER_POS_REACHED_P ()) | ||
| 5854 | { | ||
| 5855 | if (ITERATOR_AT_END_OF_LINE_P (it)) | ||
| 5856 | result = MOVE_POS_MATCH_OR_ZV; | ||
| 5857 | else | ||
| 5858 | result = MOVE_LINE_CONTINUED; | ||
| 5859 | break; | ||
| 5860 | } | ||
| 5848 | if (ITERATOR_AT_END_OF_LINE_P (it)) | 5861 | if (ITERATOR_AT_END_OF_LINE_P (it)) |
| 5849 | { | 5862 | { |
| 5850 | result = MOVE_NEWLINE_OR_CR; | 5863 | result = MOVE_NEWLINE_OR_CR; |
| @@ -5866,6 +5879,8 @@ move_it_in_display_line_to (it, to_charpos, to_x, op) | |||
| 5866 | result = MOVE_LINE_CONTINUED; | 5879 | result = MOVE_LINE_CONTINUED; |
| 5867 | break; | 5880 | break; |
| 5868 | } | 5881 | } |
| 5882 | else if (BUFFER_POS_REACHED_P ()) | ||
| 5883 | goto buffer_pos_reached; | ||
| 5869 | else if (new_x > it->first_visible_x) | 5884 | else if (new_x > it->first_visible_x) |
| 5870 | { | 5885 | { |
| 5871 | /* Glyph is visible. Increment number of glyphs that | 5886 | /* Glyph is visible. Increment number of glyphs that |
| @@ -5882,6 +5897,15 @@ move_it_in_display_line_to (it, to_charpos, to_x, op) | |||
| 5882 | if (result != MOVE_UNDEFINED) | 5897 | if (result != MOVE_UNDEFINED) |
| 5883 | break; | 5898 | break; |
| 5884 | } | 5899 | } |
| 5900 | else if (BUFFER_POS_REACHED_P ()) | ||
| 5901 | { | ||
| 5902 | buffer_pos_reached: | ||
| 5903 | it->current_x = x; | ||
| 5904 | it->max_ascent = ascent; | ||
| 5905 | it->max_descent = descent; | ||
| 5906 | result = MOVE_POS_MATCH_OR_ZV; | ||
| 5907 | break; | ||
| 5908 | } | ||
| 5885 | else if ((op & MOVE_TO_X) && it->current_x >= to_x) | 5909 | else if ((op & MOVE_TO_X) && it->current_x >= to_x) |
| 5886 | { | 5910 | { |
| 5887 | /* Stop when TO_X specified and reached. This check is | 5911 | /* Stop when TO_X specified and reached. This check is |
diff --git a/src/xfaces.c b/src/xfaces.c index 6ee06ba5f76..0a81342e96d 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -1542,6 +1542,7 @@ DEFUN ("color-supported-p", Fcolor_supported_p, | |||
| 1542 | Scolor_supported_p, 1, 3, 0, | 1542 | Scolor_supported_p, 1, 3, 0, |
| 1543 | doc: /* Return non-nil if COLOR can be displayed on FRAME. | 1543 | doc: /* Return non-nil if COLOR can be displayed on FRAME. |
| 1544 | BACKGROUND-P non-nil means COLOR is used as a background. | 1544 | BACKGROUND-P non-nil means COLOR is used as a background. |
| 1545 | Otherwise, this function tells whether it can be used as a foreground. | ||
| 1545 | If FRAME is nil or omitted, use the selected frame. | 1546 | If FRAME is nil or omitted, use the selected frame. |
| 1546 | COLOR must be a valid color name. */) | 1547 | COLOR must be a valid color name. */) |
| 1547 | (color, frame, background_p) | 1548 | (color, frame, background_p) |
diff --git a/src/xfns.c b/src/xfns.c index cdbce00fe4c..8d182a6788b 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -2613,6 +2613,28 @@ x_window (f) | |||
| 2613 | #endif /* not USE_GTK */ | 2613 | #endif /* not USE_GTK */ |
| 2614 | #endif /* not USE_X_TOOLKIT */ | 2614 | #endif /* not USE_X_TOOLKIT */ |
| 2615 | 2615 | ||
| 2616 | /* Verify that the icon position args for this window are valid. */ | ||
| 2617 | |||
| 2618 | static void | ||
| 2619 | x_icon_verify (f, parms) | ||
| 2620 | struct frame *f; | ||
| 2621 | Lisp_Object parms; | ||
| 2622 | { | ||
| 2623 | Lisp_Object icon_x, icon_y; | ||
| 2624 | |||
| 2625 | /* Set the position of the icon. Note that twm groups all | ||
| 2626 | icons in an icon window. */ | ||
| 2627 | icon_x = x_frame_get_and_record_arg (f, parms, Qicon_left, 0, 0, RES_TYPE_NUMBER); | ||
| 2628 | icon_y = x_frame_get_and_record_arg (f, parms, Qicon_top, 0, 0, RES_TYPE_NUMBER); | ||
| 2629 | if (!EQ (icon_x, Qunbound) && !EQ (icon_y, Qunbound)) | ||
| 2630 | { | ||
| 2631 | CHECK_NUMBER (icon_x); | ||
| 2632 | CHECK_NUMBER (icon_y); | ||
| 2633 | } | ||
| 2634 | else if (!EQ (icon_x, Qunbound) || !EQ (icon_y, Qunbound)) | ||
| 2635 | error ("Both left and top icon corners of icon must be specified"); | ||
| 2636 | } | ||
| 2637 | |||
| 2616 | /* Handle the icon stuff for this window. Perhaps later we might | 2638 | /* Handle the icon stuff for this window. Perhaps later we might |
| 2617 | want an x_set_icon_position which can be called interactively as | 2639 | want an x_set_icon_position which can be called interactively as |
| 2618 | well. */ | 2640 | well. */ |
| @@ -3101,6 +3123,8 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3101 | tem = x_get_arg (dpyinfo, parms, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN); | 3123 | tem = x_get_arg (dpyinfo, parms, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN); |
| 3102 | f->no_split = minibuffer_only || EQ (tem, Qt); | 3124 | f->no_split = minibuffer_only || EQ (tem, Qt); |
| 3103 | 3125 | ||
| 3126 | x_icon_verify (f, parms); | ||
| 3127 | |||
| 3104 | /* Create the X widget or window. */ | 3128 | /* Create the X widget or window. */ |
| 3105 | #ifdef USE_X_TOOLKIT | 3129 | #ifdef USE_X_TOOLKIT |
| 3106 | x_window (f, window_prompting, minibuffer_only); | 3130 | x_window (f, window_prompting, minibuffer_only); |