From: Miles Bader Date: Sat, 20 Oct 2007 02:22:59 +0000 (+0000) Subject: Merge from emacs--devo--0 X-Git-Tag: emacs-pretest-23.0.90~8295^2~305 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/5fcd436bab49a3374be4571969abbcf02803bf71 Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 899-900) - Update from CVS - Merge from emacs--rel--22 * emacs--rel--22 (patch 129-130) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 259-260) - Merge from emacs--rel--22 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-272 --- 5fcd436bab49a3374be4571969abbcf02803bf71 diff --cc lisp/ChangeLog index 4fe538b3bd,8ea68f0da0..ab50949e63 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,3 -1,127 +1,108 @@@ + 2007-10-19 Juanma Barranquero + + * bs.el (bs--track-window-changes): Don't refresh the whole list. + (bs-mode): Set mode-class property to special. + + 2007-10-20 Stefan Monnier + - * diff-mode.el (diff-auto-refine): New var. - (diff-hunk): Use it. - (diff-ignore-whitespace-hunk): Rename diff-refine-ignore-spaces-hunk. - (diff-refine-change): Rename from diff-fine-change. Change it. - (diff-refine-preproc): Rename from diff-fine-highlight-preproc. - (diff-refine-hunk): Rename from diff-fine-highlight. - -2007-10-20 John Paul Wallington - - * help-fns.el (describe-variable-custom-version-info): New function - to return variable's version or package version note. - (describe-variable): Use it, display result. - -2007-10-20 Stefan Monnier - - * smerge-mode.el (smerge-auto-refine): New var. - (smerge-next, smerge-prev): Use it. - (smerge-batch-resolve): Ad-hoc trick for Arch's .rej files. - + * emacs-lisp/easy-mmode.el (easy-mmode-define-navigation): + Add `body' arg. Cleanup the check-narrow-maybe/re-narrow-maybe mess. + + * vc-bzr.el (vc-bzr-diff-tree): + * vc-git.el (vc-git-diff-tree): + * vc-hg.el (vc-hg-diff-tree): + * vc-mcvs.el (vc-mcvs-diff-tree): + * vc-mtn.el (vc-mtn-diff-tree): + * vc-svn.el (vc-svn-diff-tree): Remove. + + * vc-mtn.el (vc-mtn-revision-completion-table): + * vc-cvs.el (vc-cvs-revision-completion-table): + * vc-arch.el (vc-arch-revision-completion-table): + * vc-hg.el (vc-hg-revision-completion-table, vc-hg-revision-table): + * vc-git.el (vc-git-revision-completion-table, vc-git-revision-table): + Make it work when the arg is a list of files. + + 2007-10-19 Stefan Monnier + + * vc.el: Remove `diff-tree' operation, now subsumed by `diff'. + Also `revision-completion-table' now takes a list of files. + (vc-deduce-fileset): Remove unused var `regexp'. + Only obey allow-directory-wildcard in dired buffers. + (vc-default-diff-tree): Remove. + (vc-diff-added-files): New var. + (vc-diff-internal): Use it. Remove arg `backend'. Update callers. + (vc-version-diff): Revert from `vc-history-diff' to the original name. + Remove the `backend' arg. + (vc-contains-version-controlled-file): Remove. + (vc-diff): Bring it closer to the version in Emacs-22. + (vc-revert): Fix typo in let-binding. + (vc-default-unregister): Remove. + (vc-dired-buffers-for-dir): Remove N^2 behavior. + + 2007-10-19 Dan Nicolaescu + + * textmodes/two-column.el (2C-split, 2C-merge): + * textmodes/bib-mode.el (bib-find-key, mark-bib): + * progmodes/idlw-shell.el (idlwave-shell-move-or-history): + * progmodes/etags.el (find-tag-in-order, etags-tags-apropos) + * progmodes/ada-xref.el (ada-get-all-references): + * obsolete/mlsupport.el (ml-next-line, ml-previous-line): + * emulation/vi.el (vi-previous-line-first-nonwhite) + (vi-effective-range, vi-put-before): + * emulation/edt.el (edt-next-line, edt-previous-line) + (edt-paragraph-forward): Use forward-line. + + * progmodes/etags.el (tags-apropos): Require apropos at compile + time too. + + * progmodes/prolog.el: Require comint when compiling. + (inferior-prolog-flavor): Move defvar before use. + + 2007-10-19 Richard Stallman + + * font-core.el (turn-on-font-lock-if-desired): + Rename from `turn-on-font-lock-if-enabled'. + Fully obey `font-lock-global-modes'. + + 2007-10-19 Stefan Monnier + + * diff-mode.el (diff-fine-highlight-preproc): Stick to minimal changes + which will not affect the behavior of things like forward-word. + (diff-fine-highlight): Preserve point. + + * doc-view.el (doc-view-mode-map): Use remapping. + Don't rebind C-v, M-v to their default value. + Don't bind mouse-4 and mouse-5: it's mwheel.el's job. + + * smerge-mode.el: Add word-granularity refinement. + (smerge-refine-forward-function, smerge-refine-ignore-whitespace) + (smerge-refine-weight-hack): New vars. + (smerge-refine-forward): New fun. + (smerge-refine-chopup-region, smerge-refine-highlight-change): Use them. + (smerge-refine-subst): Use them as well. Preserve point. + + 2007-10-19 Juanma Barranquero + + * follow.el (follow-unload-function): New function. + + * loadhist.el (unload-function-features-list): + Rename from `unload-hook-features-list'. + (unload-hook-features-list): Add as obsolete alias. + (unload-feature): Use `unload-function-features-list' + and new FEATURE-unload-function. + + 2007-10-19 Glenn Morris + + * bindings.el (mouse-minor-mode-menu) + (minor-mode-menu-from-indicator): Move to mouse.el. + * mouse.el (mouse-minor-mode-menu, minor-mode-menu-from-indicator): + Move here from bindings.el. + + 2007-10-19 Richard Stallman + + * help-fns.el (describe-function-1): Don't use the advice origname + if it has no function definition. + 2007-10-18 Johan Bockg,Ae(Brd * net/tramp.el (tramp-rfn-eshadow-update-overlay): Save excursion. diff --cc lisp/diff-mode.el index 894a12b119,0208660c1a..972e7972e7 --- a/lisp/diff-mode.el +++ b/lisp/diff-mode.el @@@ -1651,60 -1657,71 +1651,63 @@@ For use in `add-log-current-defun-funct ;;; Fine change highlighting. -(defface diff-refine-change - '((((class color) (min-colors 88) (background light)) - :background "grey90") - (((class color) (min-colors 88) (background dark)) - :background "grey40") - (((class color) (background light)) - :background "yellow") - (((class color) (background dark)) - :background "green") - (t :weight bold)) - "Face used for char-based changes shown by `diff-refine-hunk'." +(defface diff-fine-change + '((t :background "yellow")) + "Face used for char-based changes shown by `diff-fine-highlight'." :group 'diff-mode) -(defun diff-refine-preproc () +(defun diff-fine-highlight-preproc () - (while (re-search-forward "^." nil t) - ;; Replace the hunk's leading prefix (+, -, !, <, or >) on each line - ;; with something constant, otherwise it'll be flagged as changes - ;; (since it's typically "-" on one side and "+" on the other). - ;; Note that we keep the same number of chars: we treat the prefix - ;; as part of the texts-to-diff, so that finding the right char - ;; afterwards will be easier. This only makes sense because we make - ;; diffs at char-granularity. - (replace-match " "))) + (while (re-search-forward "^[+>]" nil t) + ;; Remove spurious changes due to the fact that one side of the hunk is + ;; marked with leading + or > and the other with leading - or <. + ;; We used to replace all the prefix chars with " " but this only worked + ;; when we did char-based refinement (or when using + ;; smerge-refine-weight-hack) since otherwise, the `forward' motion done + ;; in chopup do not necessarily do the same as the ones in highlight + ;; since the "_" is not treated the same as " ". + (replace-match (cdr (assq (char-before) '((?+ . "-") (?> . "<")))))) + ) -(defun diff-refine-hunk () +(defun diff-fine-highlight () "Highlight changes of hunk at point at a finer granularity." (interactive) (require 'smerge-mode) - (diff-beginning-of-hunk 'try-harder) - (let* ((style (diff-hunk-style)) ;Skips the hunk header as well. - (beg (point)) - (props '((diff-mode . fine) (face diff-fine-change))) - (end (progn (diff-end-of-hunk) (point)))) - - (remove-overlays beg end 'diff-mode 'fine) - - (goto-char beg) - (case style - (unified - (while (re-search-forward "^\\(?:-.*\n\\)+\\(\\)\\(?:\\+.*\n\\)+" end t) - (smerge-refine-subst (match-beginning 0) (match-end 1) - (match-end 1) (match-end 0) - props 'diff-fine-highlight-preproc))) - (context - (let* ((middle (save-excursion (re-search-forward "^---"))) - (other middle)) - (while (re-search-forward "^\\(?:!.*\n\\)+" middle t) - (smerge-refine-subst (match-beginning 0) (match-end 0) - (save-excursion - (goto-char other) - (re-search-forward "^\\(?:!.*\n\\)+" end) - (setq other (match-end 0)) - (match-beginning 0)) - other - props 'diff-fine-highlight-preproc)))) - (t ;; Normal diffs. - (let ((beg1 (1+ (point)))) - (when (re-search-forward "^---.*\n" end t) - ;; It's a combined add&remove, so there's something to do. - (smerge-refine-subst beg1 (match-beginning 0) - (match-end 0) end - props 'diff-fine-highlight-preproc))))))) + (save-excursion + (diff-beginning-of-hunk 'try-harder) + (let* ((style (diff-hunk-style)) ;Skips the hunk header as well. + (beg (point)) - (props '((diff-mode . fine) (face diff-refine-change))) ++ (props '((diff-mode . fine) (face diff-fine-change))) + (end (progn (diff-end-of-hunk) (point)))) + + (remove-overlays beg end 'diff-mode 'fine) + + (goto-char beg) + (case style + (unified + (while (re-search-forward "^\\(?:-.*\n\\)+\\(\\)\\(?:\\+.*\n\\)+" + end t) + (smerge-refine-subst (match-beginning 0) (match-end 1) + (match-end 1) (match-end 0) - props 'diff-refine-preproc))) ++ props 'diff-fine-highlight-preproc))) + (context + (let* ((middle (save-excursion (re-search-forward "^---"))) + (other middle)) + (while (re-search-forward "^\\(?:!.*\n\\)+" middle t) + (smerge-refine-subst (match-beginning 0) (match-end 0) + (save-excursion + (goto-char other) + (re-search-forward "^\\(?:!.*\n\\)+" end) + (setq other (match-end 0)) + (match-beginning 0)) + other - props 'diff-refine-preproc)))) ++ props 'diff-fine-highlight-preproc)))) + (t ;; Normal diffs. + (let ((beg1 (1+ (point)))) + (when (re-search-forward "^---.*\n" end t) + ;; It's a combined add&remove, so there's something to do. + (smerge-refine-subst beg1 (match-beginning 0) + (match-end 0) end - props 'diff-refine-preproc)))))))) ++ props 'diff-fine-highlight-preproc)))))))) ;; provide the package diff --cc src/Makefile.in index 6fce595a9e,7119f94c8d..1ff7ce3033 --- a/src/Makefile.in +++ b/src/Makefile.in @@@ -943,10 -947,9 +950,10 @@@ SOME_MACHINE_LISP = ${dotdot}/lisp/mous duplicated symbols. If the standard libraries were compiled with GCC, we might need gnulib again after them. */ LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) $(RSVG_LIBS) LIBGPM \ - LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \ + LIBRESOLV LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \ - LIBS_DEBUG $(GETLOADAVG_LIBS) $(GNULIB_VAR) LIB_MATH LIB_STANDARD \ - $(GNULIB_VAR) + LIBS_DEBUG $(GETLOADAVG_LIBS) \ + @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ \ + $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR) /* Enable recompilation of certain other files depending on system type. */