# HG changeset patch # User Katsumi Yamaoka # Date 1266593396 0 # Node ID c82e39ab7a7848a1ff9a79e73b25809b8381d719 # Parent 26b8483edca9bff3368c8775ce0a62fba35c4449# Parent f32d789c9aabe0bf2fdb69c95d7c3c3f91c4076c Merge from mainline. diff -r 26b8483edca9 -r c82e39ab7a78 INSTALL.BZR --- a/INSTALL.BZR Wed Feb 17 13:43:12 2010 +0000 +++ b/INSTALL.BZR Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 admin/README --- a/admin/README Wed Feb 17 13:43:12 2010 +0000 +++ b/admin/README Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 admin/notes/commits --- a/admin/notes/commits Wed Feb 17 13:43:12 2010 +0000 +++ b/admin/notes/commits Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 doc/emacs/ChangeLog --- a/doc/emacs/ChangeLog Wed Feb 17 13:43:12 2010 +0000 +++ b/doc/emacs/ChangeLog Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 doc/emacs/trouble.texi --- a/doc/emacs/trouble.texi Wed Feb 17 13:43:12 2010 +0000 +++ b/doc/emacs/trouble.texi Fri Feb 19 15:29:56 2010 +0000 @@ -1022,7 +1022,7 @@ 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 +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 26b8483edca9 -r c82e39ab7a78 etc/CONTRIBUTE --- a/etc/CONTRIBUTE Wed Feb 17 13:43:12 2010 +0000 +++ b/etc/CONTRIBUTE Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 lisp/ChangeLog --- a/lisp/ChangeLog Wed Feb 17 13:43:12 2010 +0000 +++ b/lisp/ChangeLog Fri Feb 19 15:29:56 2010 +0000 @@ -1,7 +1,54 @@ +2010-02-19 Nick Roberts + + * progmodes/gdb-ui.el (gdb-assembler-handler): Accommodate change + of disassemble output in GDB 7.1. + +2010-02-19 Glenn Morris + + * progmodes/f90.el (f90-electric-insert): Give it a delete-selection + property. (Bug#5593) + +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. + + * isearch.el (isearch-update-post-hook): New hook + (isearch-update): Use the new hook. + 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) @@ -27,8 +74,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). @@ -145,8 +191,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 26b8483edca9 -r c82e39ab7a78 lisp/bookmark.el --- a/lisp/bookmark.el Wed Feb 17 13:43:12 2010 +0000 +++ b/lisp/bookmark.el Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 lisp/emacs-lisp/authors.el --- a/lisp/emacs-lisp/authors.el Wed Feb 17 13:43:12 2010 +0000 +++ b/lisp/emacs-lisp/authors.el Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 lisp/isearch.el --- a/lisp/isearch.el Wed Feb 17 13:43:12 2010 +0000 +++ b/lisp/isearch.el Fri Feb 19 15:29:56 2010 +0000 @@ -156,6 +156,9 @@ (defvar isearch-mode-hook nil "Function(s) to call after starting up an incremental search.") +(defvar isearch-update-post-hook nil + "Function(s) to call after isearch has found matches in the buffer.") + (defvar isearch-mode-end-hook nil "Function(s) to call after terminating an incremental search. When these functions are called, `isearch-mode-end-hook-quit' @@ -868,7 +871,8 @@ (isearch-lazy-highlight-new-loop)) ;; We must prevent the point moving to the end of composition when a ;; part of the composition has just been searched. - (setq disable-point-adjustment t)) + (setq disable-point-adjustment t) + (run-hooks 'isearch-update-post-hook)) (defun isearch-done (&optional nopush edit) "Exit Isearch mode. diff -r 26b8483edca9 -r c82e39ab7a78 lisp/loadup.el --- a/lisp/loadup.el Wed Feb 17 13:43:12 2010 +0000 +++ b/lisp/loadup.el Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 lisp/mh-e/mh-acros.el --- a/lisp/mh-e/mh-acros.el Wed Feb 17 13:43:12 2010 +0000 +++ b/lisp/mh-e/mh-acros.el Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 lisp/net/tramp.el --- a/lisp/net/tramp.el Wed Feb 17 13:43:12 2010 +0000 +++ b/lisp/net/tramp.el Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 lisp/progmodes/f90.el --- a/lisp/progmodes/f90.el Wed Feb 17 13:43:12 2010 +0000 +++ b/lisp/progmodes/f90.el Fri Feb 19 15:29:56 2010 +0000 @@ -1356,6 +1356,8 @@ (if auto-fill-function (f90-do-auto-fill) ; also updates line (f90-update-line))) +;; Behave like self-insert-command for delete-selection-mode (bug#5593). +(put 'f90-electric-insert 'delete-selection t) (defun f90-get-correct-indent () "Get correct indent for a line starting with line number. diff -r 26b8483edca9 -r c82e39ab7a78 lisp/progmodes/gdb-ui.el --- a/lisp/progmodes/gdb-ui.el Wed Feb 17 13:43:12 2010 +0000 +++ b/lisp/progmodes/gdb-ui.el Fri Feb 19 15:29:56 2010 +0000 @@ -3573,18 +3573,24 @@ (setq gdb-pending-triggers (delq 'gdb-invalidate-assembler gdb-pending-triggers)) - (let ((buf (gdb-get-buffer 'gdb-assembler-buffer))) - (and buf - (with-current-buffer buf - (let* ((window (get-buffer-window buf 0)) - (p (window-point window)) - (buffer-read-only nil)) - (erase-buffer) - (insert-buffer-substring (gdb-get-buffer-create + (let ((buf (gdb-get-buffer 'gdb-partial-output-buffer))) + (with-current-buffer buf + (goto-char (point-min)) + ;; The disassemble command in GDB 7.1 onwards displays an overlay arrow. + (while (re-search-forward "\\(^ 0x\\|=> 0x\\)" nil t) + (replace-match "0x" nil nil)))) + (let ((buf (gdb-get-buffer 'gdb-assembler-buffer))) + (and buf + (with-current-buffer buf + (let* ((window (get-buffer-window buf 0)) + (p (window-point window)) + (buffer-read-only nil)) + (erase-buffer) + (insert-buffer-substring (gdb-get-buffer-create 'gdb-partial-output-buffer)) - (set-window-point window p))))) - ;; put customisation here - (gdb-assembler-custom)) + (set-window-point window p))))) + ;; put customisation here + (gdb-assembler-custom)) (defun gdb-assembler-custom () (let ((buffer (gdb-get-buffer 'gdb-assembler-buffer)) diff -r 26b8483edca9 -r c82e39ab7a78 lisp/vc-bzr.el --- a/lisp/vc-bzr.el Wed Feb 17 13:43:12 2010 +0000 +++ b/lisp/vc-bzr.el Fri Feb 19 15:29:56 2010 +0000 @@ -35,7 +35,7 @@ ;; Known bugs ;; ========== -;; When edititing a symlink and *both* the symlink and its target +;; When editing a symlink and *both* the symlink and its target ;; are bzr-versioned, `vc-bzr` presently runs `bzr status` on the ;; symlink, thereby not detecting whether the actual contents ;; (that is, the target contents) are changed. diff -r 26b8483edca9 -r c82e39ab7a78 lisp/vc-cvs.el --- a/lisp/vc-cvs.el Wed Feb 17 13:43:12 2010 +0000 +++ b/lisp/vc-cvs.el Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 msdos/ChangeLog --- a/msdos/ChangeLog Wed Feb 17 13:43:12 2010 +0000 +++ b/msdos/ChangeLog Fri Feb 19 15:29:56 2010 +0000 @@ -1,3 +1,8 @@ +2010-02-19 Eli Zaretskii + + * INSTALL: Remove a CVS-specific note. Update for latest versions + of Windows. + 2009-09-17 Eli Zaretskii * sed1v2.inp (OTHER_FILES): Edit to empty. diff -r 26b8483edca9 -r c82e39ab7a78 msdos/INSTALL --- a/msdos/INSTALL Wed Feb 17 13:43:12 2010 +0000 +++ b/msdos/INSTALL Fri Feb 19 15:29:56 2010 +0000 @@ -5,8 +5,9 @@ See the end of the file for license conditions. The DJGPP port of GNU Emacs builds and runs on plain DOS and also on -all versions of MS-Windows from version 3.X on, including Windows XP -and Vista. +all versions of MS-Windows from version 3.X on, including Windows XP, +Vista, and Windows 7 (however, see below for issues with Windows Vista +and 7). To build and install the DJGPP port, you need to have the DJGPP ports of GCC (the GNU C compiler), GNU Make, rm, mv, and sed. See the @@ -19,28 +20,25 @@ Bootstrapping Emacs or recompiling Lisp files in the `lisp' subdirectory using the various targets in the lisp/Makefile file requires additional utilities: `find' (from Findutils), GNU `echo' and -`test' (from Sh-utils), `ls' and `chmod' (from Fileutils), `grep' -(from Grep), and a port of Bash. However, you should not normally -need to run lisp/Makefile, as all the Lisp files are distributed in -byte-compiled form as well. As for bootstrapping, you will only need -that if you check-out development sources from the Emacs source -repository. (Note: If you are checking out of CVS, use the -kb option -of the `checkout' and `update' commands, to preserve the original -Unix-style EOL format of the files. If some files are converted to -DOS EOL format by the default operation of CVS, the build might fail.) +`test' (from Sh-utils or Coreutils), `ls' and `chmod' (from Fileutils +or Coreutils), `grep' (from Grep), and a port of Bash. However, you +should not normally need to run lisp/Makefile, as all the Lisp files +are distributed in byte-compiled form as well. As for bootstrapping +itself, you will only need that if you check-out development sources +from the Emacs source repository. If you are building the DJGPP version of Emacs on a DOS-like system which supports long file names (e.g. Windows 9X or Windows XP), you need to make sure that long file names are handled consistently both -when you unpack the distribution and compile it. If you intend to -compile with DJGPP v2.0 or later, and long file names support is -enabled (LFN=y in the environment), you need to unpack Emacs -distribution in a way that doesn't truncate the original long +when you unpack the distribution and compile it. With DJGPP v2.0 or +later, long file names support is by default, so you need to unpack +Emacs distribution in a way that doesn't truncate the original long filenames to the DOS 8.3 namespace; the easiest way to do this is to -use djtar program which comes with DJGPP, since it will note the LFN -setting and behave accordingly. You can build Emacs with LFN=n, if -some of your tools don't support long file names: just ensure that LFN -is set to `n' during both unpacking and compiling. +use djtar program which comes with DJGPP, since it will behave +consistently with the rest of DJGPP tools. Alternatively, you can +build Emacs with LFN=n, if some of your tools don't support long file +names: just ensure that LFN is set to `n' during both unpacking and +compiling. (By the time you read this, you have already unpacked the Emacs distribution, but if the explanations above imply that you should have @@ -100,14 +98,14 @@ should be able to find them in your djdevNNN.zip archive (where NNN is the DJGPP version number). -On Windows NT, Windows 2000/XP/Vista, running "config msdos" might -print an error message like "VDM has been already loaded". This is -because those systems have a program called `redir.exe' which is +On Windows NT and Windows 2000/XP/Vista/7, running "config msdos" +might print an error message like "VDM has been already loaded". This +is because those systems have a program called `redir.exe' which is incompatible with a program by the same name supplied with DJGPP, which is used by config.bat. To resolve this, move the DJGPP's `bin' subdirectory to the front of your PATH environment variable. -Windows Vista has several bugs in its DPMI server related to memory +Windows Vista/7 has several bugs in its DPMI server related to memory allocation: it fails DPMI resize memory block function, and it arbitrarily limits the default amount of DPMI memory to 32MB. To work around these bugs, first configure Emacs to use the `malloc' function @@ -117,8 +115,8 @@ config --with-system-malloc msdos make install -In addition, you'll need to install Service Pack 1 (SP1) or later to -Windows Vista and enlarge its DPMI memory limit by setting the value +In addition, for Windows Vista you'll need to install Service Pack 1 +(SP1) or later and enlarge its DPMI memory limit by setting the value of this Registry key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Wow\DpmiLimit @@ -164,8 +162,8 @@ Emacs features which require asynchronous subprocesses that depend on multitasking do not work in the DJGPP port. Synchronous subprocesses -do work, so features such as compilation and grep run synchronously, -unlike opn other platforms. +do work, so features such as compilation, grep, and Ispell run +synchronously, unlike on other platforms. Version 2.0 of djgpp has two bugs that affect Emacs. We've included corrected versions of two files from djgpp in the msdos subdirectory: diff -r 26b8483edca9 -r c82e39ab7a78 src/ChangeLog --- a/src/ChangeLog Wed Feb 17 13:43:12 2010 +0000 +++ b/src/ChangeLog Fri Feb 19 15:29:56 2010 +0000 @@ -1,7 +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. + (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). @@ -12,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 26b8483edca9 -r c82e39ab7a78 src/callint.c --- a/src/callint.c Wed Feb 17 13:43:12 2010 +0000 +++ b/src/callint.c Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 src/coding.c --- a/src/coding.c Wed Feb 17 13:43:12 2010 +0000 +++ b/src/coding.c Fri Feb 19 15:29:56 2010 +0000 @@ -993,6 +993,11 @@ case CODING_RESULT_INSUFFICIENT_MEM: Vlast_code_conversion_error = Qinsufficient_memory; break; + case CODING_RESULT_INSUFFICIENT_DST: + /* Don't record this error in Vlast_code_conversion_error + because it happens just temporarily and is resolved when the + whole conversion is finished. */ + break; case CODING_RESULT_SUCCESS: break; default: @@ -7865,7 +7870,7 @@ if (! destination) { record_conversion_result (coding, - CODING_RESULT_INSUFFICIENT_DST); + CODING_RESULT_INSUFFICIENT_MEM); unbind_to (count, Qnil); return; } diff -r 26b8483edca9 -r c82e39ab7a78 src/dispextern.h --- a/src/dispextern.h Wed Feb 17 13:43:12 2010 +0000 +++ b/src/dispextern.h Fri Feb 19 15:29:56 2010 +0000 @@ -2257,8 +2257,8 @@ && ((IT)->c == '\n' \ || ((IT)->c == '\r' && (IT)->selective))) -/* Call produce_glyphs or produce_glyphs_hook, if set. Shortcut to - avoid the function call overhead. */ +/* Call produce_glyphs or FRAME_RIF->produce_glyphs, if set. Shortcut + to avoid the function call overhead. */ #define PRODUCE_GLYPHS(IT) \ do { \ diff -r 26b8483edca9 -r c82e39ab7a78 src/fileio.c --- a/src/fileio.c Wed Feb 17 13:43:12 2010 +0000 +++ b/src/fileio.c Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 src/nsterm.m --- a/src/nsterm.m Wed Feb 17 13:43:12 2010 +0000 +++ b/src/nsterm.m Fri Feb 19 15:29:56 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 26b8483edca9 -r c82e39ab7a78 src/term.c --- a/src/term.c Wed Feb 17 13:43:12 2010 +0000 +++ b/src/term.c Fri Feb 19 15:29:56 2010 +0000 @@ -1568,8 +1568,9 @@ and where in the glyph matrix we currently are (glyph row and hpos). produce_glyphs fills in output fields of *IT with information such as the pixel width and height of a character, and maybe output actual glyphs at - the same time if IT->glyph_row is non-null. See the explanation of - struct display_iterator in dispextern.h for an overview. + the same time if IT->glyph_row is non-null. For an overview, see + the explanation in dispextern.h, before the definition of the + display_element_type enumeration. produce_glyphs also stores the result of glyph width, ascent etc. computations in *IT. @@ -3938,6 +3939,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);