# HG changeset patch # User Katsumi Yamaoka # Date 1266530057 0 # Node ID 396dc65ad74c834a29d4d1818c92d521db1770c0 # Parent 5937202fb760672df299eaa72527c1579f3e86e9# Parent dd61cb49d199162a87e2c9f3ce4262b9743686b3 Merge from mainline. diff -r 5937202fb760 -r 396dc65ad74c INSTALL.BZR --- a/INSTALL.BZR Thu Feb 18 02:46:55 2010 +0000 +++ b/INSTALL.BZR Thu Feb 18 21:54:17 2010 +0000 @@ -64,15 +64,6 @@ someone to fix it. -Note on accessing the Bazaar repository ---------------------------------------- - -Write access to the Bazaar repository is currently done via Bazaar's -sftp:// protocol; see http://www.emacswiki.org/emacs/BzrForEmacsDevs. -We plan to offer bzr+ssh:// access later. More discussion about that -is at https://savannah.gnu.org/support/?107077. - - This file is part of GNU Emacs. diff -r 5937202fb760 -r 396dc65ad74c admin/README --- a/admin/README Thu Feb 18 02:46:55 2010 +0000 +++ b/admin/README Thu Feb 18 21:54:17 2010 +0000 @@ -1,5 +1,5 @@ -Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 - Free Software Foundation, Inc. +Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, + 2010 Free Software Foundation, Inc. See the end of the file for license conditions. @@ -44,7 +44,7 @@ Install emacs quickly (`incrementally'). -** alloc-color.c +** alloc-colors.c A utility program that allocates a given number of colors on X. Can be used to debug Emacs with dense colormaps (PseudoColor). @@ -61,10 +61,6 @@ Show files added/removed between two tar files. -** revdiff - -Get CVS diffs of files. - Brief description of sub-directories: diff -r 5937202fb760 -r 396dc65ad74c admin/notes/commits --- a/admin/notes/commits Thu Feb 18 02:46:55 2010 +0000 +++ b/admin/notes/commits Thu Feb 18 21:54:17 2010 +0000 @@ -1,10 +1,17 @@ HOW TO COMMIT CHANGES TO EMACS +Most of these points are from: + http://lists.gnu.org/archive/html/emacs-devel/2009-03/msg00555.html From: Miles Bader Subject: commit style redux Date: Tue, 31 Mar 2009 12:21:20 +0900 +(0) Each commit should correspond to a single change (whether spread + over multiple files or not). Do not mix different changes in the + same commit (eg adding a feature in one file, fixing a bug in + another should be two commits, not one). + (1) Commit all changed files at once with a single log message (which in CVS will result in an identical log message for all committed files), not one-by-one. This is pretty easy using vc-dir now. @@ -41,6 +48,7 @@ Followup discussion: http://lists.gnu.org/archive/html/emacs-devel/2010-01/msg00897.html +http://lists.gnu.org/archive/html/emacs-devel/2010-02/msg00401.html PREVIOUS GUIDELINES FOR CVS diff -r 5937202fb760 -r 396dc65ad74c doc/emacs/ChangeLog --- a/doc/emacs/ChangeLog Thu Feb 18 02:46:55 2010 +0000 +++ b/doc/emacs/ChangeLog Thu Feb 18 21:54:17 2010 +0000 @@ -1,3 +1,7 @@ +2010-02-18 Glenn Morris + + * trouble.texi (Contributing): Repository is no longer CVS. + 2010-02-08 Glenn Morris * buffers.texi (Uniquify): Must explicitly load library. (Bug#5529) diff -r 5937202fb760 -r 396dc65ad74c doc/emacs/trouble.texi --- a/doc/emacs/trouble.texi Thu Feb 18 02:46:55 2010 +0000 +++ b/doc/emacs/trouble.texi Thu Feb 18 21:54:17 2010 +0000 @@ -1022,8 +1022,8 @@ possible to suggest ways to make your extension fit in better with the rest of Emacs. -The development version of Emacs can be downloaded from the CVS -repository where it is actively maintained by a group of developers. +The development version of Emacs can be downloaded from the +repository, where it is actively maintained by a group of developers. See the Emacs project page @url{http://savannah.gnu.org/projects/emacs/} for details. diff -r 5937202fb760 -r 396dc65ad74c etc/CONTRIBUTE --- a/etc/CONTRIBUTE Thu Feb 18 02:46:55 2010 +0000 +++ b/etc/CONTRIBUTE Thu Feb 18 21:54:17 2010 +0000 @@ -1,4 +1,5 @@ -Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +Copyright (C) 2006, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. See end for license conditions. @@ -30,7 +31,7 @@ * Coding Standards -Contributed code should follow the GNU Coding Standard. +Contributed code should follow the GNU Coding Standards. If it doesn't, we'll need to find someone to fix the code before we can use it. @@ -44,24 +45,24 @@ * Copyright Assignment -We can accept small changes without legal papers, and for medium-size -changes a copyright disclaimer is ok too. To accept substantial -contributions from you, we need a copyright assignment form filled out -and filed with the FSF. - -Contact us at emacs-devel@gnu.org to obtain the relevant forms. +We can accept small changes (roughly, fewer than 15 lines) without +legal papers. Anything more substantial requires a copyright +disclaimer or assignment (the latter is preferred, especially for +larger changes). Both of these involved filling out a short form and +filing it with the FSF. The process is straightforward -- contact us +at emacs-devel@gnu.org to obtain the relevant forms. * Getting the Source Code -The latest version of Emacs can be downloaded using CVS (or other -version control systems) from the Savannah web site. It is important -to write your patch based on this version; if you start from an older -version, your patch may be outdated when you write it, and maintainers -will have a hard time applying it. +The latest version of Emacs can be downloaded using Bazaar from the +Savannah web site. It is important to write your patch based on the +latest version. If you start from an older version, your patch may be +outdated (so that maintainers will have a hard time applying it), or +changes in Emacs may have made your patch unnecessary. -After you have downloaded the CVS source, you should read the file -INSTALL.CVS for build instructions (they differ to some extent from a +After you have downloaded the Bazaar source, you should read the file +INSTALL.BZR for build instructions (they differ to some extent from a normal build). Ref: http://savannah.gnu.org/projects/emacs @@ -75,7 +76,7 @@ When you have all these pieces, bundle them up in a mail message and send it to bug-gnu-emacs@gnu.org or emacs-devel@gnu.org. -All subsequent discussion should also be sent to the mailing list. +All subsequent discussion should be sent to the same mailing list. ** Description @@ -88,7 +89,7 @@ A ChangeLog entry as plaintext (separate from the patch). -See the various ChangeLog files for format and content. Note that, +See the various ChangeLog files for format and content. Note that, unlike some other projects, we do require ChangeLogs also for documentation, i.e. Texinfo files. @@ -99,9 +100,10 @@ Please use "Context Diff" format. -If you are accessing the CVS repository use - cvs update; cvs diff -cp -else, use +If you are accessing the Bazaar repository, make sure your copy is +up-to-date (e.g. with `bzr pull'), then use + bzr diff --no-aliases --diff-options=-cp +Else, use diff -cp OLD NEW If your version of diff does not support these options, then get the @@ -122,6 +124,11 @@ If you send several unrelated changes together, we will ask you to separate them so we can consider each of the changes by itself. +** Do not make formatting changes. + +Making cosmetic formatting changes (indentation, etc) makes it harder +to see what you have really changed. + * Coding style and conventions. @@ -139,17 +146,17 @@ * Supplemental information for Emacs Developers. -** Write access to Emacs' CVS repository. +** Write access to the Emacs repository. Once you become a frequent contributor to Emacs, we can consider -giving you write access to the CVS repository. +giving you write access to the Bazaar repository. ** Emacs Mailing lists. Discussion about Emacs development takes place on emacs-devel@gnu.org. -Bug reports are sent to bug-gnu-emacs@gnu.org. +Bug reports and feature requests are sent to bug-gnu-emacs@gnu.org. You can subscribe to the mailing lists at savannah.gnu.org/projects/emacs. diff -r 5937202fb760 -r 396dc65ad74c lisp/ChangeLog --- a/lisp/ChangeLog Thu Feb 18 02:46:55 2010 +0000 +++ b/lisp/ChangeLog Thu Feb 18 21:54:17 2010 +0000 @@ -1,3 +1,33 @@ +2010-02-18 Sam Steingold + + * vc-cvs.el (vc-cvs-merge-news): Yet another fix of message parsing. + +2010-02-18 Stefan Monnier + + Use abbreviated file names in bookmarks (bug#5591). + * bookmark.el (bookmark-maybe-load-default-file): Remove redundant + calls to expand-file-name. + (bookmark-relocate): Use abbreviated file names in bookmarks. + (bookmark-load): Use abbreviated file names in messages. + +2010-02-18 Michael Albinus + + * net/tramp.el (tramp-handle-directory-files): When FULL, do not + expand "." and "..". Reported by Thierry Volpiatto + . + +2010-02-18 Michael Albinus + + * net/tramp.el (tramp-handle-insert-file-contents): Set always the + permissions of the temporary file to "0600". In case the remote + file has no read permissions for the owner, there might be + problems otherwise. Reported by Ole Laursen . + +22010-02-18 Glenn Morris + + * emacs-lisp/authors.el (authors-renamed-files-alist): + Add entries for INSTALL.CVS. + 2010-02-17 Mark A. Hershberger * vc-bzr.el: fix typo in Known Bugs section. @@ -7,8 +37,8 @@ 2010-02-16 Michael Albinus - * net/tramp.el (tramp-do-copy-or-rename-file-out-of-band): Fix - errors in copying directories. + * net/tramp.el (tramp-do-copy-or-rename-file-out-of-band): + Fix errors in copying directories. (tramp-handle-add-name-to-file, tramp-handle-copy-directory) (tramp-do-copy-or-rename-file, tramp-handle-delete-directory) (tramp-handle-delete-file) @@ -34,8 +64,7 @@ * cedet/srecode.el (srecode): * cedet/semantic.el (semantic): Put in tools and extensions group. - * nxml/nxml-mode.el (nxml-faces): Remove from font-lock-faces - group. + * nxml/nxml-mode.el (nxml-faces): Remove from font-lock-faces group. * textmodes/flyspell.el (flyspell-word): Obey the offset specified by ispell-parse-output (Bug#5575). @@ -152,8 +181,7 @@ 2010-02-08 Jose E. Marchesi * progmodes/ada-mode.el (ada-in-numeric-literal-p): New function. - (ada-adjust-case): Don't adjust case in hexadecimal number - literals. + (ada-adjust-case): Don't adjust case in hexadecimal number literals. 2010-02-08 Kenichi Handa diff -r 5937202fb760 -r 396dc65ad74c lisp/bookmark.el --- a/lisp/bookmark.el Thu Feb 18 02:46:55 2010 +0000 +++ b/lisp/bookmark.el Thu Feb 18 21:54:17 2010 +0000 @@ -958,14 +958,14 @@ (and ;; Possibly the old bookmark file, "~/.emacs-bkmrks", needs ;; to be renamed. - (file-exists-p (expand-file-name bookmark-old-default-file)) - (not (file-exists-p (expand-file-name bookmark-default-file))) - (rename-file (expand-file-name bookmark-old-default-file) - (expand-file-name bookmark-default-file))) + (file-exists-p bookmark-old-default-file) + (not (file-exists-p bookmark-default-file)) + (rename-file bookmark-old-default-file + bookmark-default-file)) ;; return t so the `and' will continue... t) - (file-readable-p (expand-file-name bookmark-default-file)) + (file-readable-p bookmark-default-file) (bookmark-load bookmark-default-file t t) (setq bookmarks-already-loaded t))) @@ -1152,10 +1152,11 @@ (bookmark-maybe-historicize-string bookmark) (bookmark-maybe-load-default-file) (let* ((bmrk-filename (bookmark-get-filename bookmark)) - (newloc (expand-file-name - (read-file-name - (format "Relocate %s to: " bookmark) - (file-name-directory bmrk-filename))))) + (newloc (abbreviate-file-name + (expand-file-name + (read-file-name + (format "Relocate %s to: " bookmark) + (file-name-directory bmrk-filename)))))) (bookmark-set-filename bookmark newloc) (setq bookmark-alist-modification-count (1+ bookmark-alist-modification-count)) @@ -1432,7 +1433,7 @@ ;;but there's no better default, and ;;I guess it's better than none at all. "~/" bookmark-default-file 'confirm))) - (setq file (expand-file-name file)) + (setq file (abbreviate-file-name (expand-file-name file))) (if (not (file-readable-p file)) (error "Cannot read bookmark file %s" file) (if (null no-msg) @@ -1453,7 +1454,8 @@ (setq bookmark-alist-modification-count (1+ bookmark-alist-modification-count))) (if (string-equal - (expand-file-name bookmark-default-file) + (abbreviate-file-name + (expand-file-name bookmark-default-file)) file) (setq bookmarks-already-loaded t)) (bookmark-bmenu-surreptitiously-rebuild-list)) diff -r 5937202fb760 -r 396dc65ad74c lisp/emacs-lisp/authors.el --- a/lisp/emacs-lisp/authors.el Thu Feb 18 02:46:55 2010 +0000 +++ b/lisp/emacs-lisp/authors.el Thu Feb 18 21:54:17 2010 +0000 @@ -504,7 +504,9 @@ ;; index and pick merged into search. ("mh-index.el" . "mh-search.el") ("mh-pick.el" . "mh-search.el") - ("INSTALL-CVS" . "INSTALL.CVS") + ;; INSTALL-CVS -> .CVS -> .BZR + ("INSTALL-CVS" . "INSTALL.BZR") + ("INSTALL.CVS" . "INSTALL.BZR") ("refcards/fr-drdref.pdf" . "refcards/fr-dired-ref.pdf") ("gnus-logo.eps" . "refcards/gnus-logo.eps") ("build-install" . "build-ins.in") diff -r 5937202fb760 -r 396dc65ad74c lisp/loadup.el --- a/lisp/loadup.el Thu Feb 18 02:46:55 2010 +0000 +++ b/lisp/loadup.el Thu Feb 18 21:54:17 2010 +0000 @@ -125,8 +125,8 @@ (load "case-table") (load "international/characters") (load "composite") -;; This file doesn't exist when building Emacs from CVS. It is -;; generated just after temacs is build. +;; This file doesn't exist when building a development version of Emacs +;; from the repository. It is generated just after temacs is built. (load "international/charprop.el" t) ;; Load language-specific files. diff -r 5937202fb760 -r 396dc65ad74c lisp/mh-e/mh-acros.el --- a/lisp/mh-e/mh-acros.el Thu Feb 18 02:46:55 2010 +0000 +++ b/lisp/mh-e/mh-acros.el Thu Feb 18 21:54:17 2010 +0000 @@ -26,12 +26,12 @@ ;;; Commentary: ;; This file contains all macros that are used in more than one file. -;; If you run "make recompile" in CVS Emacs and see the message +;; If you run "make recompile" in Bazaar Emacs and see the message ;; "Source is newer than compiled," it is a sign that macro probably ;; needs to be moved here. ;; Historically, it was so named with a silent "m" so that it would be -;; compiled first. Otherwise, "make recompile" in CVS Emacs would use +;; compiled first. Otherwise, "make recompile" in Bazaar Emacs would use ;; compiled files with stale macro definitions. Later, no-byte-compile ;; was added to the Local Variables section to avoid this problem and ;; because it's pointless to compile a file full of macros. But we diff -r 5937202fb760 -r 396dc65ad74c lisp/net/tramp.el --- a/lisp/net/tramp.el Thu Feb 18 02:46:55 2010 +0000 +++ b/lisp/net/tramp.el Thu Feb 18 21:54:17 2010 +0000 @@ -3142,7 +3142,7 @@ "Like `directory-files' for Tramp files." ;; FILES-ONLY is valid for XEmacs only. (when (file-directory-p directory) - (setq directory (expand-file-name directory)) + (setq directory (file-name-as-directory (expand-file-name directory))) (let ((temp (nreverse (file-name-all-completions "" directory))) result item) @@ -3150,13 +3150,13 @@ (setq item (directory-file-name (pop temp))) (when (and (or (null match) (string-match match item)) (or (null files-only) - ;; files only + ;; Files only. (and (equal files-only t) (file-regular-p item)) - ;; directories only + ;; Directories only. (file-directory-p item))) - (push (if full (expand-file-name item directory) item) + (push (if full (concat directory item) item) result))) - result))) + (if nosort result (sort result 'string<))))) (defun tramp-handle-directory-files-and-attributes (directory &optional full match nosort id-format) @@ -4781,12 +4781,16 @@ tramp-temp-buffer-file-name) (t (file-local-copy filename))))) + ;; When the file is not readable for the owner, it + ;; cannot be inserted, even it is redable for the group + ;; or for everybody. + (set-file-modes local-copy (tramp-octal-to-decimal "0600")) + (when (and (null remote-copy) (tramp-get-method-parameter method 'tramp-copy-keep-tmpfile)) ;; We keep the local file for performance reasons, ;; useful for "rsync". - (set-file-modes local-copy (tramp-octal-to-decimal "0600")) (setq tramp-temp-buffer-file-name local-copy) (put 'tramp-temp-buffer-file-name 'permanent-local t)) @@ -8584,26 +8588,26 @@ ;; equivalent of the emacsclient -eval option in order to make this ;; reasonably unproblematic. And maybe trampclient should have some ;; way of passing credentials, like by using an SSL socket or -;; something. (David Kastrup) +;; something. (David Kastrup) ;; * Reconnect directly to a compliant shell without first going -;; through the user's default shell. (Pete Forman) +;; through the user's default shell. (Pete Forman) ;; * Make `tramp-default-user' obsolete. ;; * How can I interrupt the remote process with a signal -;; (interrupt-process seems not to work)? (Markus Triska) +;; (interrupt-process seems not to work)? (Markus Triska) ;; * Avoid the local shell entirely for starting remote processes. If ;; so, I think even a signal, when delivered directly to the local ;; SSH instance, would correctly be propagated to the remote process ;; automatically; possibly SSH would have to be started with -;; "-t". (Markus Triska) +;; "-t". (Markus Triska) ;; * It makes me wonder if tramp couldn't fall back to ssh when scp -;; isn't on the remote host. (Mark A. Hershberger) -;; * Use lsh instead of ssh. (Alfred M. Szmidt) +;; isn't on the remote host. (Mark A. Hershberger) +;; * Use lsh instead of ssh. (Alfred M. Szmidt) ;; * Implement a general server-local-variable mechanism, as there are ;; probably other variables that need different values for different ;; servers too. The user could then configure a variable (such as ;; tramp-server-local-variable-alist) to define any such variables ;; that they need to, which would then be let bound as appropriate -;; in tramp functions. (Jason Rumney) +;; in tramp functions. (Jason Rumney) ;; * Optimize out-of-band copying, when both methods are scp-like (not ;; rsync). ;; * Keep a second connection open for out-of-band methods like scp or @@ -8613,7 +8617,7 @@ ;; Unicode in Dired file names by default. Is it possible to ;; improve Tramp to set LC_ALL to "C" only for commands where Tramp ;; expects English? Or just to set LC_MESSAGES to "C" if Tramp -;; expects only English messages? (Juri Linkov) +;; expects only English messages? (Juri Linkov) ;; * Make shadowfile.el grok Tramp filenames. (Bug#4526, Bug#4846) ;; * Do not handle files with drive letter as remote. (Bug#5447) ;; * Load Tramp subpackages only when needed. (Bug#1529, Bug#5448) diff -r 5937202fb760 -r 396dc65ad74c lisp/vc-cvs.el --- a/lisp/vc-cvs.el Thu Feb 18 02:46:55 2010 +0000 +++ b/lisp/vc-cvs.el Thu Feb 18 21:54:17 2010 +0000 @@ -459,8 +459,8 @@ (if (re-search-forward (concat "^\\([CMUP] \\)?" (regexp-quote - (substring file (length (expand-file-name - "." default-directory)))) + (substring file (1+ (length (expand-file-name + "." default-directory))))) "\\( already contains the differences between \\)?") nil t) (cond diff -r 5937202fb760 -r 396dc65ad74c src/ChangeLog --- a/src/ChangeLog Thu Feb 18 02:46:55 2010 +0000 +++ b/src/ChangeLog Thu Feb 18 21:54:17 2010 +0000 @@ -1,14 +1,26 @@ +2010-02-18 Stefan Monnier + + * term.c (fatal): Add a final \n if needed (bug#5596). + +2010-02-18 Chong Yidong + + * nsterm.m (ns_ring_bell): Revert last change (Bug#5569). + +2010-02-18 Glenn Morris + + * callint.c (Finteractive): Doc fix. + 2010-02-18 Kazuhiro Ito (tiny change) - * coding.c (record_conversion_result): Handle - CODING_RESULT_INSUFFICIENT_DST. + * coding.c (record_conversion_result): + Handle CODING_RESULT_INSUFFICIENT_DST. (decode_coding_object): Record CODING_RESULT_INSUFFICIENT_MEM on memory allocation error. 2010-02-17 Kenichi Handa - * coding.c (decode_coding_ccl): Don't setup ccl program here. Fix - for the case that the output buffer is fullfilled. + * coding.c (decode_coding_ccl): Don't setup ccl program here. + Fix for the case that the output buffer is fullfilled. (decode_coding): Setup ccl program here. Keep looping when the decoder stopped because the output buffer is fullfilled (bug#5534). @@ -19,7 +31,7 @@ * xterm.c (x_clear_frame_area): Call gtk_widget_queue_draw if USE_GTK, bug #5571. - (XTflash): Use Gdk-routines if USE_GTK so scroll bars doesn't get + (XTflash): Use Gdk-routines if USE_GTK so scroll bars don't get overdrawn. 2010-02-10 Jan Djärv diff -r 5937202fb760 -r 396dc65ad74c src/callint.c --- a/src/callint.c Thu Feb 18 02:46:55 2010 +0000 +++ b/src/callint.c Thu Feb 18 21:54:17 2010 +0000 @@ -127,7 +127,7 @@ invoked the command for its first mouse click (or any other event which specifies a window). If the string begins with `^' and `shift-select-mode' is non-nil, - Emacs first calls the function `handle-shift-select'. + Emacs first calls the function `handle-shift-selection'. You may use `@', `*', and `^' together. They are processed in the order that they appear, before reading any arguments. usage: (interactive &optional ARGS) */) diff -r 5937202fb760 -r 396dc65ad74c src/fileio.c --- a/src/fileio.c Thu Feb 18 02:46:55 2010 +0000 +++ b/src/fileio.c Thu Feb 18 21:54:17 2010 +0000 @@ -1408,8 +1408,9 @@ bugs _are_ found, it might be of interest to look at the old code and see what did it do in the relevant situation. - Don't remove this code: it's true that it will be accessible via CVS, - but a few years from deletion, people will forget it is there. */ + Don't remove this code: it's true that it will be accessible + from the repository, but a few years from deletion, people will + forget it is there. */ /* Changed this DEFUN to a DEAFUN, so as not to confuse `make-docfile'. */ DEAFUN ("expand-file-name", Fexpand_file_name, Sexpand_file_name, 1, 2, 0, diff -r 5937202fb760 -r 396dc65ad74c src/nsterm.m --- a/src/nsterm.m Thu Feb 18 02:46:55 2010 +0000 +++ b/src/nsterm.m Thu Feb 18 21:54:17 2010 +0000 @@ -808,58 +808,23 @@ view = FRAME_NS_VIEW (frame); if (view != nil) { - /* Get the bounds of our NSView */ - NSRect viewBounds = [view bounds]; - - /* Height of each line to flash. */ - int flash_height = FRAME_LINE_HEIGHT (frame); - int width = FRAME_PIXEL_WIDTH (frame) - - NS_SCROLL_BAR_WIDTH (frame); - - /* Get the GraphicsContext */ - CGContextRef ctxt = [[NSGraphicsContext currentContext] graphicsPort]; - CGRect lowerLine, upperLine; - lowerLine = - CGRectMake(viewBounds.origin.x, viewBounds.origin.y, - width + NS_SCROLL_BAR_WIDTH(frame), - flash_height + FRAME_INTERNAL_BORDER_WIDTH (frame)); - upperLine = - CGRectMake(viewBounds.origin.x, - viewBounds.origin.y + viewBounds.size.height - - (flash_height + FRAME_INTERNAL_BORDER_WIDTH (frame)), - width, - flash_height + FRAME_INTERNAL_BORDER_WIDTH (frame)); - - /* Invert the colors using a difference blend. */ - CGContextSetBlendMode(ctxt, kCGBlendModeDifference); - CGContextSetGrayFillColor(ctxt, 1, 1); - - /* If window is tall, flash top and bottom line. */ - if (viewBounds.size.height > 3 * FRAME_LINE_HEIGHT (frame)) - { - CGContextFillRect(ctxt, upperLine); - CGContextFillRect(ctxt, lowerLine); - } - else - /* If it is short, flash it all. */ - CGContextFillRect(ctxt, NSRectToCGRect([view bounds])); - - /* Bounce Dock icon. Maybe we can allow some configuration here. */ - [NSApp requestUserAttention: NSInformationalRequest]; - + NSRect r, surr; + NSPoint dim = NSMakePoint (128, 128); + + r = [view bounds]; + r.origin.x += (r.size.width - dim.x) / 2; + r.origin.y += (r.size.height - dim.y) / 2; + r.size.width = dim.x; + r.size.height = dim.y; + surr = NSInsetRect (r, -2, -2); + ns_focus (frame, &surr, 1); + [[view window] cacheImageInRect: [view convertRect: surr toView:nil]]; + [ns_lookup_indexed_color (NS_FACE_FOREGROUND + (FRAME_DEFAULT_FACE (frame)), frame) set]; + NSRectFill (r); [[view window] flushWindow]; ns_timeout (150000); - - /* If window is tall, flash top and bottom line. */ - if (viewBounds.size.height > 3 * FRAME_LINE_HEIGHT (frame)) - { - CGContextFillRect(ctxt, upperLine); - CGContextFillRect(ctxt, lowerLine); - } - else - /* If it is short, flash it all. */ - CGContextFillRect(ctxt, NSRectToCGRect([view bounds])); - + [[view window] restoreCachedImage]; [[view window] flushWindow]; ns_unfocus (frame); } diff -r 5937202fb760 -r 396dc65ad74c src/term.c --- a/src/term.c Thu Feb 18 02:46:55 2010 +0000 +++ b/src/term.c Thu Feb 18 21:54:17 2010 +0000 @@ -3938,6 +3938,8 @@ va_start (ap, str); fprintf (stderr, "emacs: "); vfprintf (stderr, str, ap); + if (!(strlen (str) > 0 && str[strlen (str) - 1] == '\n')) + fprintf (stderr, "\n"); va_end (ap); fflush (stderr); exit (1);