Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 100504. ------------------------------------------------------------ revno: 100504 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-06-01 21:45:46 -0700 message: * lisp/log-edit.el (log-edit-font-lock-keywords): Make group 4 match lax. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-01 13:47:14 +0000 +++ lisp/ChangeLog 2010-06-02 04:45:46 +0000 @@ -1,3 +1,7 @@ +2010-06-02 Dan Nicolaescu + + * log-edit.el (log-edit-font-lock-keywords): Make group 4 match lax. + 2010-06-01 Juanma Barranquero * emacs-lisp/eldoc.el: Add completions for new commands left-* and === modified file 'lisp/log-edit.el' --- lisp/log-edit.el 2010-05-25 22:50:56 +0000 +++ lisp/log-edit.el 2010-06-02 04:45:46 +0000 @@ -360,7 +360,7 @@ (3 (or (cdr (assoc (match-string 2) log-edit-headers-alist)) 'log-edit-header) nil lax) - (4 font-lock-warning-face))))) + (4 font-lock-warning-face nil lax))))) ;;;###autoload (defun log-edit (callback &optional setup params buffer mode &rest ignore) ------------------------------------------------------------ revno: 100503 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-06-01 21:29:53 -0700 message: Fix config.h includes. * src/xsettings.c: * src/xgselect.c: * src/nsterm.m: * src/nsselect.m: * src/nsimage.m: * src/nsfont.m: * src/nsfns.m: * src/dbusbind.c: Use #include instead of "config.h" as all other files do. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-06-02 02:47:43 +0000 +++ src/ChangeLog 2010-06-02 04:29:53 +0000 @@ -1,5 +1,16 @@ 2010-06-02 Dan Nicolaescu + Fix config.h includes. + * xsettings.c: + * xgselect.c: + * nsterm.m: + * nsselect.m: + * nsimage.m: + * nsfont.m: + * nsfns.m: + * dbusbind.c: Use #include instead of "config.h" as all + other files do. + * gmalloc.c: Remove BROKEN_PROTOTYPES reference, unused. * s/sol2-6.h: Remove obsolete comments. === modified file 'src/dbusbind.c' --- src/dbusbind.c 2010-01-13 08:35:10 +0000 +++ src/dbusbind.c 2010-06-02 04:29:53 +0000 @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -#include "config.h" +#include #ifdef HAVE_DBUS #include === modified file 'src/nsfns.m' --- src/nsfns.m 2010-04-03 01:54:24 +0000 +++ src/nsfns.m 2010-06-02 04:29:53 +0000 @@ -27,7 +27,7 @@ /* This should be the first include, as it may set up #defines affecting interpretation of even the system includes. */ -#include "config.h" +#include #include #include === modified file 'src/nsfont.m' --- src/nsfont.m 2010-02-26 00:48:53 +0000 +++ src/nsfont.m 2010-06-02 04:29:53 +0000 @@ -22,7 +22,7 @@ /* This should be the first include, as it may set up #defines affecting interpretation of even the system includes. */ -#include "config.h" +#include #include #include "lisp.h" === modified file 'src/nsimage.m' --- src/nsimage.m 2010-01-13 08:35:10 +0000 +++ src/nsimage.m 2010-06-02 04:29:53 +0000 @@ -27,7 +27,7 @@ /* This should be the first include, as it may set up #defines affecting interpretation of even the system includes. */ -#include "config.h" +#include #include #include "lisp.h" === modified file 'src/nsselect.m' --- src/nsselect.m 2010-01-13 08:35:10 +0000 +++ src/nsselect.m 2010-06-02 04:29:53 +0000 @@ -27,7 +27,7 @@ /* This should be the first include, as it may set up #defines affecting interpretation of even the system includes. */ -#include "config.h" +#include #include #include "lisp.h" === modified file 'src/nsterm.m' --- src/nsterm.m 2010-03-29 23:48:44 +0000 +++ src/nsterm.m 2010-06-02 04:29:53 +0000 @@ -27,7 +27,7 @@ /* This should be the first include, as it may set up #defines affecting interpretation of even the system includes. */ -#include "config.h" +#include #include #include === modified file 'src/xgselect.c' --- src/xgselect.c 2010-01-13 08:35:10 +0000 +++ src/xgselect.c 2010-06-02 04:29:53 +0000 @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -#include "config.h" +#include #if defined (USE_GTK) || defined (HAVE_GCONF) #include === modified file 'src/xsettings.c' --- src/xsettings.c 2010-05-08 12:04:47 +0000 +++ src/xsettings.c 2010-06-02 04:29:53 +0000 @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -#include "config.h" +#include #include #include #include ------------------------------------------------------------ revno: 100502 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-06-01 19:47:43 -0700 message: * src/gmalloc.c: Remove BROKEN_PROTOTYPES reference, unused. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-06-02 02:43:47 +0000 +++ src/ChangeLog 2010-06-02 02:47:43 +0000 @@ -1,5 +1,7 @@ 2010-06-02 Dan Nicolaescu + * gmalloc.c: Remove BROKEN_PROTOTYPES reference, unused. + * s/sol2-6.h: Remove obsolete comments. Remove unnecessary alloca.h includes. === modified file 'src/gmalloc.c' --- src/gmalloc.c 2010-04-01 14:59:46 +0000 +++ src/gmalloc.c 2010-06-02 02:47:43 +0000 @@ -42,8 +42,7 @@ #endif #if ((defined __cplusplus || (defined (__STDC__) && __STDC__) \ - || defined STDC_HEADERS || defined PROTOTYPES) \ - && ! defined (BROKEN_PROTOTYPES)) + || defined STDC_HEADERS || defined PROTOTYPES)) #undef PP #define PP(args) args #undef __ptr_t ------------------------------------------------------------ revno: 100501 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-06-01 19:43:47 -0700 message: * src/s/sol2-6.h: Remove obsolete comments. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-06-02 02:40:59 +0000 +++ src/ChangeLog 2010-06-02 02:43:47 +0000 @@ -1,5 +1,7 @@ 2010-06-02 Dan Nicolaescu + * s/sol2-6.h: Remove obsolete comments. + Remove unnecessary alloca.h includes. * keymap.c: Do not include alloca.h, config.h does that. * sysdep.c: Likewise. Do not define fwrite, not used. === modified file 'src/s/sol2-6.h' --- src/s/sol2-6.h 2010-05-10 02:16:09 +0000 +++ src/s/sol2-6.h 2010-06-02 02:43:47 +0000 @@ -63,18 +63,6 @@ pty_name[sizeof (pty_name) - 1] = 0; \ } -/* This is the only known way to avoid some crashes - that seem to relate to screwed up malloc data - after deleting a frame. */ -/* rms: I think the problems using ralloc had to do with system - libraries that called the system malloc even if we linked in the - GNU malloc. I could not see any way to fix the problem except to - have just one malloc and that had to be the system one. */ -/* This is not always necessary. Turned off at present for testers to - identify any problems with gmalloc more accurately. */ -/* #define SYSTEM_MALLOC */ - -/* Probably OK also on earlier versions. */ #define GC_SETJMP_WORKS 1 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS ------------------------------------------------------------ revno: 100500 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-06-01 19:40:59 -0700 message: Remove unnecessary alloca.h includes. * src/keymap.c: Do not include alloca.h, config.h does that. * src/sysdep.c: Likewise. Do not define fwrite, not used. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-06-01 02:34:49 +0000 +++ src/ChangeLog 2010-06-02 02:40:59 +0000 @@ -1,3 +1,9 @@ +2010-06-02 Dan Nicolaescu + + Remove unnecessary alloca.h includes. + * keymap.c: Do not include alloca.h, config.h does that. + * sysdep.c: Likewise. Do not define fwrite, not used. + 2010-06-01 Stefan Monnier * sysdep.c (child_setup_tty): Move the non-canonical initialization to === modified file 'src/keymap.c' --- src/keymap.c 2010-05-31 19:35:04 +0000 +++ src/keymap.c 2010-06-02 02:40:59 +0000 @@ -22,9 +22,6 @@ #include #include #include -#if HAVE_ALLOCA_H -# include -#endif #include "lisp.h" #include "commands.h" #include "buffer.h" === modified file 'src/sysdep.c' --- src/sysdep.c 2010-06-01 01:49:15 +0000 +++ src/sysdep.c 2010-06-02 02:40:59 +0000 @@ -36,9 +36,6 @@ #ifdef HAVE_UNISTD_H #include #endif -#ifdef HAVE_ALLOCA_H -#include -#endif /* HAVE_ALLOCA_H */ #include "lisp.h" /* Including stdlib.h isn't necessarily enough to get srandom @@ -61,13 +58,6 @@ #endif #endif /* not WINDOWSNT */ -/* Does anyone other than VMS need this? */ -#ifndef fwrite -#define sys_fwrite fwrite -#else -#undef fwrite -#endif - #include #include #include ------------------------------------------------------------ revno: 100499 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-06-01 19:32:43 -0700 message: Fix alloca definition when using gcc on non-gnu systems. * configure.in: Use the code sequence indicated by "info autoconf" for alloca (bug#6170). diff: === modified file 'ChangeLog' --- ChangeLog 2010-06-01 02:34:49 +0000 +++ ChangeLog 2010-06-02 02:32:43 +0000 @@ -1,3 +1,9 @@ +2010-06-02 Dan Nicolaescu + + Fix alloca definition when using gcc on non-gnu systems. + * configure.in: Use the code sequence indicated by "info autoconf" + for alloca (bug#6170). + 2010-05-30 Stefan Monnier * .bzrignore: Ignore new files from trunk, which appear if you use === modified file 'configure.in' --- configure.in 2010-05-29 18:54:16 +0000 +++ configure.in 2010-06-02 02:32:43 +0000 @@ -3604,15 +3604,19 @@ #ifdef HAVE_STDLIB_H #include #endif -#ifndef __GNUC__ -# ifdef HAVE_ALLOCA_H -# include -# else /* AIX files deal with #pragma. */ -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif /* HAVE_ALLOCA_H */ -#endif /* __GNUC__ */ +#ifdef HAVE_ALLOCA_H +# include +#elif defined __GNUC__ +# define alloca __builtin_alloca +#elif defined _AIX +# define alloca __alloca +#else +# include +# ifdef __cplusplus +extern "C" +# endif +void *alloca (size_t); +#endif #ifndef HAVE_SIZE_T typedef unsigned size_t; #endif === modified file 'src/config.in' --- src/config.in 2010-06-01 02:34:49 +0000 +++ src/config.in 2010-06-02 02:32:43 +0000 @@ -1164,15 +1164,19 @@ #ifdef HAVE_STDLIB_H #include #endif -#ifndef __GNUC__ -# ifdef HAVE_ALLOCA_H -# include -# else /* AIX files deal with #pragma. */ -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif /* HAVE_ALLOCA_H */ -#endif /* __GNUC__ */ +#ifdef HAVE_ALLOCA_H +# include +#elif defined __GNUC__ +# define alloca __builtin_alloca +#elif defined _AIX +# define alloca __alloca +#else +# include +# ifdef __cplusplus +extern "C" +# endif +void *alloca (size_t); +#endif #ifndef HAVE_SIZE_T typedef unsigned size_t; #endif ------------------------------------------------------------ revno: 100498 [merge] committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2010-06-02 00:11:49 +0000 message: Synch with Gnus trunk. (gnus-article-browse-delete-temp-files): Don't make query for each temp file when gnus-article-browse-delete-temp is ask. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-05-20 23:43:54 +0000 +++ lisp/gnus/ChangeLog 2010-06-02 00:10:42 +0000 @@ -1,3 +1,8 @@ +2010-06-02 Katsumi Yamaoka + + * gnus-art.el (gnus-article-browse-delete-temp-files): Don't make query + for each temp file when gnus-article-browse-delete-temp is ask. + 2010-05-20 Kevin Ryde * gnus-start.el (gnus-level-unsubscribed): Doc fix. (Bug#6206) === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2010-05-13 05:59:23 +0000 +++ lisp/gnus/gnus-art.el 2010-06-02 00:10:42 +0000 @@ -2806,22 +2806,28 @@ (defun gnus-article-browse-delete-temp-files (&optional how) "Delete temp-files created by `gnus-article-browse-html-parts'." (when (and gnus-article-browse-html-temp-list - (or how - (setq how gnus-article-browse-delete-temp))) - (when (and (eq how 'ask) - (gnus-y-or-n-p (format - "Delete all %s temporary HTML file(s)? " - (length gnus-article-browse-html-temp-list))) - (setq how t))) + (progn + (or how (setq how gnus-article-browse-delete-temp)) + (if (eq how 'ask) + (let ((files (length gnus-article-browse-html-temp-list))) + (gnus-y-or-n-p (format + "Delete all %s temporary HTML file%s? " + files + (if (> files 1) "s" "")))) + how))) (dolist (file gnus-article-browse-html-temp-list) - (when (and (file-exists-p file) - (or (eq how t) - ;; `how' is neither `nil', `ask' nor `t' (i.e. `file'): - (gnus-y-or-n-p - (format "Delete temporary HTML file `%s'? " file)))) - (if (file-directory-p file) - (gnus-delete-directory file) - (delete-file file)))) + (cond ((file-directory-p file) + (when (or (not (eq how 'file)) + (gnus-y-or-n-p + (format + "Delete temporary HTML file(s) in directory `%s'? " + (file-name-as-directory file)))) + (gnus-delete-directory file))) + ((file-exists-p file) + (when (or (not (eq how 'file)) + (gnus-y-or-n-p + (format "Delete temporary HTML file `%s'? " file))) + (delete-file file))))) ;; Also remove file from the list when not deleted or if file doesn't ;; exist anymore. (setq gnus-article-browse-html-temp-list nil)) ------------------------------------------------------------ revno: 100497 committer: Juanma Barranquero branch nick: trunk timestamp: Tue 2010-06-01 15:47:14 +0200 message: Fix bug#6265: * eldoc.el: Add completions for new commands left-* and right-*. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-01 10:40:09 +0000 +++ lisp/ChangeLog 2010-06-01 13:47:14 +0000 @@ -1,3 +1,8 @@ +2010-06-01 Juanma Barranquero + + * emacs-lisp/eldoc.el: Add completions for new commands left-* and + right-*. (Bug#6265) + 2010-06-01 Dan Nicolaescu Add support for vc-log-incoming, improve vc-log-outgoing for Git. === modified file 'lisp/emacs-lisp/eldoc.el' --- lisp/emacs-lisp/eldoc.el 2010-01-13 08:35:10 +0000 +++ lisp/emacs-lisp/eldoc.el 2010-06-01 13:47:14 +0000 @@ -530,13 +530,13 @@ ;; Prime the command list. (eldoc-add-command-completions - "backward-" "beginning-of-" "move-beginning-of-" "delete-other-windows" - "delete-window" "handle-select-window" - "end-of-" "move-end-of-" "exchange-point-and-mark" "forward-" - "indent-for-tab-command" "goto-" "mark-page" "mark-paragraph" - "mouse-set-point" "move-" "pop-global-mark" "next-" "other-window" - "previous-" "recenter" "scroll-" "self-insert-command" - "split-window-" "up-list" "down-list") + "backward-" "beginning-of-" "delete-other-windows" "delete-window" + "down-list" "end-of-" "exchange-point-and-mark" "forward-" "goto-" + "handle-select-window" "indent-for-tab-command" "left-" "mark-page" + "mark-paragraph" "mouse-set-point" "move-" "move-beginning-of-" + "move-end-of-" "next-" "other-window" "pop-global-mark" "previous-" + "recenter" "right-" "scroll-" "self-insert-command" "split-window-" + "up-list") (provide 'eldoc) ------------------------------------------------------------ revno: 100496 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-06-01 03:40:09 -0700 message: Add support for vc-log-incoming, improve vc-log-outgoing for Git. * lisp/vc-git.el (vc-git-compute-remote): New function. (vc-git-log-outgoing): Use it instead of hard coding a value. (vc-git-log-incoming): New function. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-01 09:37:49 +0000 +++ lisp/ChangeLog 2010-06-01 10:40:09 +0000 @@ -1,5 +1,10 @@ 2010-06-01 Dan Nicolaescu + Add support for vc-log-incoming, improve vc-log-outgoing for Git. + * vc-git.el (vc-git-compute-remote): New function. + (vc-git-log-outgoing): Use it instead of hard coding a value. + (vc-git-log-incoming): New function. + Improve state updating for VC tag commands. * vc.el (vc-create-tag, vc-retrieve-tag): Call vc-resynch-buffer to update the state of all buffers in the directory. === modified file 'lisp/vc-git.el' --- lisp/vc-git.el 2010-04-21 02:05:24 +0000 +++ lisp/vc-git.el 2010-06-01 10:40:09 +0000 @@ -606,14 +606,38 @@ (when start-revision (list start-revision)) '("--"))))))) +(defun vc-git-compute-remote () + (let ((str (with-output-to-string + (with-current-buffer standard-output + (vc-git--out-ok "symbolic-ref" "HEAD")))) + branch remote) + (if (string-match "^\\(refs/heads/\\)?\\(.+\\)$" str) + (progn + (setq branch (match-string 2 str)) + (setq remote + (with-output-to-string + (with-current-buffer standard-output + (vc-git--out-ok "config" + (concat "branch." branch ".remote"))))) + (when (string-match "\\([^\n]+\\)" remote) + (setq remote (match-string 1 remote))))))) + + (defun vc-git-log-outgoing (buffer remote-location) (interactive) (vc-git-command buffer 0 nil "log" (if (string= remote-location "") - ;; FIXME: this hardcodes the location, it should compute - ;; it properly. - "origin/master..HEAD" + (concat (vc-git-compute-remote) "..HEAD") + remote-location))) + + +(defun vc-git-log-incoming (buffer remote-location) + (interactive) + (vc-git-command + buffer 0 nil + "log" (if (string= remote-location "") + (concat "HEAD.." (vc-git-compute-remote)) remote-location))) (defvar log-view-message-re) ------------------------------------------------------------ revno: 100495 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-06-01 02:37:49 -0700 message: Improve state updating for VC tag commands. * lisp/vc.el (vc-create-tag, vc-retrieve-tag): Call vc-resynch-buffer to update the state of all buffers in the directory. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-01 08:12:28 +0000 +++ lisp/ChangeLog 2010-06-01 09:37:49 +0000 @@ -1,5 +1,9 @@ 2010-06-01 Dan Nicolaescu + Improve state updating for VC tag commands. + * vc.el (vc-create-tag, vc-retrieve-tag): Call vc-resynch-buffer + to update the state of all buffers in the directory. + * vc-dir.el (vc-dir-update): Remove entries with a nil state (bug#5539). 2010-06-01 Stefan Monnier === modified file 'lisp/vc.el' --- lisp/vc.el 2010-04-21 02:05:24 +0000 +++ lisp/vc.el 2010-06-01 09:37:49 +0000 @@ -1903,6 +1903,7 @@ (when (file-directory-p dir) (setq dir (file-name-as-directory dir))) (vc-call-backend (vc-responsible-backend dir) 'create-tag dir name branchp) + (vc-resynch-buffer dir t t) (message "Making %s... done" (if branchp "branch" "tag"))) ;;;###autoload @@ -1923,6 +1924,7 @@ (message "%s" msg) (vc-call-backend (vc-responsible-backend dir) 'retrieve-tag dir name update) + (vc-resynch-buffer dir t t) (message "%s" (concat msg "done")))) ;; Miscellaneous other entry points ------------------------------------------------------------ revno: 100494 committer: Juanma Barranquero branch nick: trunk timestamp: Tue 2010-06-01 10:12:28 +0200 message: lisp/ChangeLog: Fix some typos. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-01 07:15:55 +0000 +++ lisp/ChangeLog 2010-06-01 08:12:28 +0000 @@ -146,8 +146,7 @@ 2010-05-27 Chong Yidong * dired.el (dired-delete-file): New arg TRASH. - (dired-internal-do-deletions): New arg TRASH. Use progress - reporter. + (dired-internal-do-deletions): New arg TRASH. Use progress reporter. (dired-do-flagged-delete, dired-do-delete): Use trash. * speedbar.el (speedbar-item-delete): Allow trashing. @@ -166,8 +165,7 @@ * net/tramp-compat.el (tramp-compat-delete-file): Rewrite to handle new TRASH arg of `delete-file'. - * net/tramp.el (tramp-handle-delete-file): Change FORCE arg to - TRASH. + * net/tramp.el (tramp-handle-delete-file): Change FORCE arg to TRASH. (tramp-handle-make-symbolic-link, tramp-handle-load) (tramp-do-copy-or-rename-file-via-buffer) (tramp-do-copy-or-rename-file-directly) @@ -358,7 +356,6 @@ that can fail (e.g. sole window in frame). Use dedication instead. 2010-05-24 Uday S Reddy (tiny change) -2010-05-19 Uday S Reddy (tiny change) * textmodes/fill.el (fill-region): Don't fill past the end (bug#6201). ------------------------------------------------------------ revno: 100493 committer: Dan Nicolaescu branch nick: trunk timestamp: Tue 2010-06-01 00:15:55 -0700 message: * vc-dir.el (vc-dir-update): Remove entries with a nil state (bug#5539). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-06-01 02:34:49 +0000 +++ lisp/ChangeLog 2010-06-01 07:15:55 +0000 @@ -1,3 +1,7 @@ +2010-06-01 Dan Nicolaescu + + * vc-dir.el (vc-dir-update): Remove entries with a nil state (bug#5539). + 2010-06-01 Stefan Monnier * vc-bzr.el (vc-bzr-revision-completion-table): Apply === modified file 'lisp/vc-dir.el' --- lisp/vc-dir.el 2010-05-19 03:01:24 +0000 +++ lisp/vc-dir.el 2010-06-01 07:15:55 +0000 @@ -362,6 +362,7 @@ ;; Insert directory entries in the right places. (let ((entry (car entries)) (node (ewoc-nth vc-ewoc 0)) + (to-remove nil) (dotname (file-relative-name default-directory))) ;; Insert . if it is not present. (unless node @@ -388,10 +389,16 @@ ((string-lessp nodefile entryfile) (setq node (ewoc-next vc-ewoc node))) ((string-equal nodefile entryfile) - (setf (vc-dir-fileinfo->state (ewoc-data node)) (nth 1 entry)) - (setf (vc-dir-fileinfo->extra (ewoc-data node)) (nth 2 entry)) - (setf (vc-dir-fileinfo->needs-update (ewoc-data node)) nil) - (ewoc-invalidate vc-ewoc node) + (if (nth 1 entry) + (progn + (setf (vc-dir-fileinfo->state (ewoc-data node)) (nth 1 entry)) + (setf (vc-dir-fileinfo->extra (ewoc-data node)) (nth 2 entry)) + (setf (vc-dir-fileinfo->needs-update (ewoc-data node)) nil) + (ewoc-invalidate vc-ewoc node)) + ;; If the state is nil, the file does not exist + ;; anymore, so remember the entry so we can remove + ;; it after we are done inserting all ENTRIES. + (push node to-remove)) (setq entries (cdr entries)) (setq entry (car entries)) (setq node (ewoc-next vc-ewoc node))) @@ -427,7 +434,10 @@ vc-ewoc (vc-dir-create-fileinfo rd nil nil nil entrydir)))) ;; Now insert the node itself. (ewoc-enter-last vc-ewoc - (apply 'vc-dir-create-fileinfo entry))))))))) + (apply 'vc-dir-create-fileinfo entry)))))) + (when to-remove + (let ((inhibit-read-only t)) + (apply 'ewoc-delete vc-ewoc (nreverse to-remove))))))) (defun vc-dir-busy () (and (buffer-live-p vc-dir-process-buffer) ------------------------------------------------------------ revno: 100492 [merge] committer: Stefan Monnier branch nick: trunk timestamp: Mon 2010-05-31 22:34:49 -0400 message: Merge from emacs-23 diff: === modified file 'ChangeLog' --- ChangeLog 2010-05-28 03:52:19 +0000 +++ ChangeLog 2010-06-01 02:34:49 +0000 @@ -1,3 +1,8 @@ +2010-05-30 Stefan Monnier + + * .bzrignore: Ignore new files from trunk, which appear if you use + colocated branches (i.e. "bzr switch"). + 2010-05-28 Glenn Morris * configure.in: Simplify some of the $canonical tests. === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2010-05-22 17:16:35 +0000 +++ doc/lispref/ChangeLog 2010-06-01 02:34:49 +0000 @@ -1,3 +1,12 @@ +2010-05-30 Juanma Barranquero + + * minibuf.texi (Basic Completion): Add missing "@end defun". + +2010-05-30 Stefan Monnier + + * minibuf.texi (Basic Completion): Document completion-boundaries. + (Programmed Completion): Document the new fourth method for boundaries. + 2010-05-22 Chong Yidong * display.texi (Image Cache): Update documentation about image === modified file 'doc/lispref/minibuf.texi' --- doc/lispref/minibuf.texi 2010-05-03 22:01:23 +0000 +++ doc/lispref/minibuf.texi 2010-05-30 22:50:31 +0000 @@ -814,6 +814,25 @@ it returns, @code{test-completion} returns in turn. @end defun +@defun completion-boundaries string collection predicate suffix +This function returns the boundaries of the field on which @var{collection} +will operate, assuming that @var{string} holds the text before point +and @var{suffix} holds the text after point. + +Normally completion operates on the whole string, so for all normal +collections, this will always return @code{(0 . (length +@var{suffix}))}. But more complex completion such as completion on +files is done one field at a time. For example, completion of +@code{"/usr/sh"} will include @code{"/usr/share/"} but not +@code{"/usr/share/doc"} even if @code{"/usr/share/doc"} exists. +Also @code{all-completions} on @code{"/usr/sh"} will not include +@code{"/usr/share/"} but only @code{"share/"}. So if @var{string} is +@code{"/usr/sh"} and @var{suffix} is @code{"e/doc"}, +@code{completion-boundaries} will return @code{(5 . 1)} which tells us +that the @var{collection} will only return completion information that +pertains to the area after @code{"/usr/"} and before @code{"/doc"}. +@end defun + If you store a completion alist in a variable, you should mark the variable as ``risky'' with a non-@code{nil} @code{risky-local-variable} property. @xref{File Local Variables}. @@ -1618,13 +1637,14 @@ can supply your own function to compute the completion of a given string. This is called @dfn{programmed completion}. Emacs uses programmed completion when completing file names (@pxref{File Name -Completion}). +Completion}), among many other cases. - To use this feature, pass a symbol with a function definition as the -@var{collection} argument to @code{completing-read}. The function + To use this feature, pass a function as the @var{collection} +argument to @code{completing-read}. The function @code{completing-read} arranges to pass your completion function along -to @code{try-completion} and @code{all-completions}, which will then let -your function do all the work. +to @code{try-completion}, @code{all-completions}, and other basic +completion functions, which will then let your function do all +the work. The completion function should accept three arguments: @@ -1638,10 +1658,14 @@ and ignore the possible match if the predicate returns @code{nil}. @item -A flag specifying the type of operation. +A flag specifying the type of operation. The best way to think about +it is that the function stands for an object (in the +``object-oriented'' sense of the word), and this third argument +specifies which method to run. @end itemize - There are three flag values for three operations: + There are currently four methods, i.e. four flag values, one for + each of the four different basic operations: @itemize @bullet @item @@ -1663,6 +1687,13 @@ @code{lambda} specifies @code{test-completion}. The completion function should return @code{t} if the specified string is an exact match for some possibility; @code{nil} otherwise. + +@item +@code{(boundaries . SUFFIX)} specifies @code{completion-boundaries}. +The function should return a value of the form @code{(boundaries +START . END)} where START is the position of the beginning boundary in +in the string to complete, and END is the position of the end boundary +in SUFFIX. @end itemize It would be consistent and clean for completion functions to allow === modified file 'etc/TODO' --- etc/TODO 2010-05-24 20:48:46 +0000 +++ etc/TODO 2010-06-01 02:34:49 +0000 @@ -410,7 +410,7 @@ the whole menu bar. In the mean time, it should process other messages. ** Get some major packages installed: W3 (development version needs - significant work), PSGML, _possibly_ Cedet and ECB. + significant work), PSGML, _possibly_ ECB. http://lists.gnu.org/archive/html/emacs-devel/2007-05/msg01493.html Check the assignments file for other packages which might go in and have been missed. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-31 15:15:20 +0000 +++ lisp/ChangeLog 2010-06-01 02:34:49 +0000 @@ -1,3 +1,17 @@ +2010-06-01 Stefan Monnier + + * vc-bzr.el (vc-bzr-revision-completion-table): Apply + `file-directory-p' to the filename part rather than to the whole text. + +2010-05-31 Jonathan Marchand (tiny change) + + * cedet/ede/cpp-root.el (ede-set-project-variables): Fix feature name + (bug#6231). + +2010-05-31 Stefan Monnier + + * man.el (Man-completion-table): Let the user type "-k " (bug#6319). + 2010-05-31 Drew Adams * files.el (directory-files-no-dot-files-regexp): Doc fix (bug#6298). @@ -66,6 +80,14 @@ (ls-lisp-classify): Call ls-lisp-classify-file. (insert-directory): Remove blanks from switches. +2010-05-29 Chong Yidong + + * ansi-color.el: Delete unused escape sequences (Bug#6085). + (ansi-color-drop-regexp): New constant. + (ansi-color-apply, ansi-color-filter-region) + (ansi-color-apply-on-region): Delete unrecognized control sequences. + (ansi-color-apply): Build string list before calling concat. + 2010-05-28 Juri Linkov * image-dired.el (image-dired-dired-toggle-marked-thumbs): @@ -212,6 +234,16 @@ (smie-next-sexp): Handle nil results from next-token. (smie-indent-calculate): Add a new case for special `fixindent' comments. +2010-05-27 Chong Yidong + + * progmodes/verilog-mode.el (verilog-type-font-keywords): + Use font-lock-constant-face, not obsolete font-lock-reference-face. + +2010-05-27 Masatake YAMATO + + * htmlfontify.el (hfy-face-resolve-face): New function. + (hfy-face-to-style): Use it (Bug#6279). + 2010-05-26 Stefan Monnier * progmodes/ada-xref.el (ada-gnat-parse-gpr): @@ -316,7 +348,13 @@ Register it in composition-function-table for all Hebrew combining characters. +2010-05-25 Stefan Monnier + + * epa.el (epa--select-keys): Don't explicitly delete the window since + that can fail (e.g. sole window in frame). Use dedication instead. + 2010-05-24 Uday S Reddy (tiny change) +2010-05-19 Uday S Reddy (tiny change) * textmodes/fill.el (fill-region): Don't fill past the end (bug#6201). === modified file 'lisp/cedet/ede/cpp-root.el' --- lisp/cedet/ede/cpp-root.el 2010-01-16 02:51:50 +0000 +++ lisp/cedet/ede/cpp-root.el 2010-05-31 20:26:56 +0000 @@ -467,7 +467,7 @@ "Set variables local to PROJECT in BUFFER. Also set up the lexical preprocessor map." (call-next-method) - (when (and (featurep 'semantic/c) (featurep 'semantic/lex-spp)) + (when (and (featurep 'semantic/bovine/c) (featurep 'semantic/lex-spp)) (setq semantic-lex-spp-project-macro-symbol-obarray (semantic-lex-make-spp-table (oref project spp-table))) )) === modified file 'lisp/epa.el' --- lisp/epa.el 2010-01-13 08:35:10 +0000 +++ lisp/epa.el 2010-05-25 17:53:37 +0000 @@ -508,13 +508,12 @@ (set-keymap-parent (current-local-map) widget-keymap) (setq epa-exit-buffer-function #'abort-recursive-edit) (goto-char (point-min)) - (pop-to-buffer (current-buffer))) + (let ((display-buffer-mark-dedicated 'soft)) + (pop-to-buffer (current-buffer)))) (unwind-protect (progn (recursive-edit) (epa--marked-keys)) - (if (get-buffer-window epa-keys-buffer) - (delete-window (get-buffer-window epa-keys-buffer))) (kill-buffer epa-keys-buffer)))) ;;;###autoload === modified file 'lisp/man.el' --- lisp/man.el 2010-04-14 15:07:53 +0000 +++ lisp/man.el 2010-06-01 02:34:49 +0000 @@ -759,6 +759,9 @@ (cond ((eq action 'lambda) (not (string-match "([^)]*\\'" string))) + ((equal string "-k") + ;; Let SPC (minibuffer-complete-word) insert the space. + (complete-with-action action '("-k ") string pred)) (t (let ((table (cdr Man-completion-cache)) (section nil) === modified file 'lisp/vc-bzr.el' --- lisp/vc-bzr.el 2010-04-21 02:10:50 +0000 +++ lisp/vc-bzr.el 2010-06-01 02:34:49 +0000 @@ -999,10 +999,12 @@ ((string-match "\\`\\(ancestor\\|branch\\|\\(revno:\\)?[-0-9]+:\\):" string) (completion-table-with-context (substring string 0 (match-end 0)) - 'completion-file-name-table + (apply-partially + 'completion-table-with-predicate + 'completion-file-name-table + 'file-directory-p t) (substring string (match-end 0)) - ;; Dropping `pred' for no good reason. - 'file-directory-p + pred action)) ((string-match "\\`\\(before\\):" string) (completion-table-with-context (substring string 0 (match-end 0)) === modified file 'src/ChangeLog' --- src/ChangeLog 2010-06-01 01:49:15 +0000 +++ src/ChangeLog 2010-06-01 02:34:49 +0000 @@ -3,6 +3,11 @@ * sysdep.c (child_setup_tty): Move the non-canonical initialization to the HAVE_TERMIO where it belongs (bug#6149). +2010-05-31 Stefan Monnier + + * keymap.c (Fwhere_is_internal): Fix handling of remapping (in thread + of bug#6305). + 2010-05-30 Eli Zaretskii * bidi.c (bidi_move_to_visually_next): Make sure the sentinel @@ -123,6 +128,11 @@ * dispextern.h (init_iterator): Sync prototype with changed definition. +2010-05-20 enami tsugutomo + + * s/netbsd.h: If terminfo is found, use it in preference to + termcap. (Bug#6190) [Backport from trunk] + 2010-05-19 Eli Zaretskii Redesign and reimplement bidi-aware edge positions of glyph rows. @@ -2270,7 +2280,7 @@ (xg_toggle_notify_cb, xg_set_toolkit_scroll_bar_thumb) (xg_create_tool_bar): Remove unused variables. (x_wm_set_size_hint): Move declarations before statements. - (xg_create_frame_widgets): Remove variable grav, + (xg_create_frame_widgets): Remove variable grav. 2010-02-21 Chong Yidong @@ -2388,7 +2398,7 @@ * xfns.c (Fx_create_frame): Remove window size matching code from 2010-01-15. - (x_get_current_desktop, x_get_desktop_workarea): Remove + (x_get_current_desktop, x_get_desktop_workarea): Remove. 2010-01-27 Jason Rumney @@ -3225,7 +3235,7 @@ fontconfig settings like hinting. (font_load_for_lface): If spec had a name in it, store it in entity. - * emacs.c (main): Call syms_of_xsettings + * emacs.c (main): Call syms_of_xsettings. * config.in: HAVE_GCONF is new. @@ -8810,7 +8820,7 @@ (composition_adjust_point, Fcomposition_get_gstring): New functions. (syms_of_composite): Initialize gstring_hash_table, gstrint_work, and gstring_work_headers. DEFVAR_LISP composition-function-table. - Defsubr compostion_get_gstring. + Defsubr composition_get_gstring. * dispextern.h (struct glyph): New union u.cmp. Delete the member cmp_id. === modified file 'src/config.in' --- src/config.in 2010-05-20 06:15:26 +0000 +++ src/config.in 2010-06-01 02:34:49 +0000 @@ -312,10 +312,10 @@ /* Define to 1 if you have the header file. */ #undef HAVE_KERBEROS_KRB_H -/* Define to 1 if `e_text' is member of `krb5_error'. */ +/* Define to 1 if `e_text' is a member of `krb5_error'. */ #undef HAVE_KRB5_ERROR_E_TEXT -/* Define to 1 if `text' is member of `krb5_error'. */ +/* Define to 1 if `text' is a member of `krb5_error'. */ #undef HAVE_KRB5_ERROR_TEXT /* Define to 1 if you have the header file. */ @@ -606,25 +606,25 @@ /* Define to 1 if you have the `strsignal' function. */ #undef HAVE_STRSIGNAL -/* Define to 1 if `ifr_addr' is member of `struct ifreq'. */ +/* Define to 1 if `ifr_addr' is a member of `struct ifreq'. */ #undef HAVE_STRUCT_IFREQ_IFR_ADDR -/* Define to 1 if `ifr_broadaddr' is member of `struct ifreq'. */ +/* Define to 1 if `ifr_broadaddr' is a member of `struct ifreq'. */ #undef HAVE_STRUCT_IFREQ_IFR_BROADADDR -/* Define to 1 if `ifr_flags' is member of `struct ifreq'. */ +/* Define to 1 if `ifr_flags' is a member of `struct ifreq'. */ #undef HAVE_STRUCT_IFREQ_IFR_FLAGS -/* Define to 1 if `ifr_hwaddr' is member of `struct ifreq'. */ +/* Define to 1 if `ifr_hwaddr' is a member of `struct ifreq'. */ #undef HAVE_STRUCT_IFREQ_IFR_HWADDR -/* Define to 1 if `ifr_netmask' is member of `struct ifreq'. */ +/* Define to 1 if `ifr_netmask' is a member of `struct ifreq'. */ #undef HAVE_STRUCT_IFREQ_IFR_NETMASK -/* Define to 1 if `n_un.n_name' is member of `struct nlist'. */ +/* Define to 1 if `n_un.n_name' is a member of `struct nlist'. */ #undef HAVE_STRUCT_NLIST_N_UN_N_NAME -/* Define to 1 if `tm_zone' is member of `struct tm'. */ +/* Define to 1 if `tm_zone' is a member of `struct tm'. */ #undef HAVE_STRUCT_TM_TM_ZONE /* Define to 1 if `struct utimbuf' is declared by . */ @@ -853,6 +853,9 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME +/* Define to the home page for this package. */ +#undef PACKAGE_URL + /* Define to the version of this package. */ #undef PACKAGE_VERSION @@ -912,6 +915,28 @@ /* Define to 1 if using the Motif X toolkit. */ #undef USE_MOTIF +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif + + /* Define to 1 if we should use toolkit scroll bars. */ #undef USE_TOOLKIT_SCROLL_BARS @@ -947,28 +972,6 @@ /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - /* Define to rpl_ if the getopt replacement functions and variables should be used. */ #undef __GETOPT_PREFIX === modified file 'src/keymap.c' --- src/keymap.c 2010-03-03 17:31:50 +0000 +++ src/keymap.c 2010-05-31 19:35:04 +0000 @@ -2829,16 +2829,16 @@ Lisp_Object found = Qnil; /* 1 means ignore all menu bindings entirely. */ int nomenus = !NILP (firstonly) && !EQ (firstonly, Qnon_ascii); - struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5; + struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5, gcpro6; /* List of sequences found via remapping. Keep them in a separate variable, so as to push them later, since we prefer non-remapped binding. */ Lisp_Object remapped_sequences = Qnil; /* Whether or not we're handling remapped sequences. This is needed because remapping is not done recursively by Fcommand_remapping: you - can't remap and remapped command. */ + can't remap a remapped command. */ int remapped = 0; - Lisp_Object tem; + Lisp_Object tem = Qnil; /* Refresh the C version of the modifier preference. */ where_is_preferred_modifier @@ -2852,17 +2852,25 @@ else keymaps = Fcurrent_active_maps (Qnil, Qnil); - GCPRO5 (definition, keymaps, found, sequences, remapped_sequences); + GCPRO6 (definition, keymaps, found, sequences, remapped_sequences, tem); - /* If this command is remapped, then it has no key bindings of its own. - FIXME: Actually, this is not quite right: if A is remapped to - `definition', then bindings to A will actually bind the key to - `definition' despite the remapping from `definition' to something else. - Another corner case is if `definition' is remapped to itself. */ - if (NILP (no_remap) - && SYMBOLP (definition) - && !NILP (Fcommand_remapping (definition, Qnil, keymaps))) - RETURN_UNGCPRO (Qnil); + tem = Fcommand_remapping (definition, Qnil, keymaps); + /* If `definition' is remapped to tem', then OT1H no key will run + that command (since they will run `tem' instead), so we should + return nil; but OTOH all keys bound to `definition' (or to `tem') + will run the same command. + So for menu-shortcut purposes, we want to find all the keys bound (maybe + via remapping) to `tem'. But for the purpose of finding the keys that + run `definition', then we'd want to just return nil. + We choose to make it work right for menu-shortcuts, since it's the most + common use. + Known bugs: if you remap switch-to-buffer to toto, C-h f switch-to-buffer + will tell you that switch-to-buffer is bound to C-x b even though C-x b + will run toto instead. And if `toto' is itself remapped to forward-char, + then C-h f toto will tell you that it's bound to C-f even though C-f does + not run toto and it won't tell you that C-x b does run toto. */ + if (NILP (no_remap) && !NILP (tem)) + definition = tem; if (SYMBOLP (definition) && !NILP (firstonly) ------------------------------------------------------------ Use --include-merges or -n0 to see merged revisions.