# HG changeset patch # User Katsumi Yamaoka # Date 1274875933 0 # Node ID d1f39bab57adcac2e9f2aefc2685e5aa19b95bad # Parent bd4b41db940e50bc11e9707ef1b026e30ae16654# Parent 3b30e312882a0000c67a0f9b27776d8ef6f46135 Merge from mainline. diff -r bd4b41db940e -r d1f39bab57ad ChangeLog --- a/ChangeLog Tue May 25 11:10:15 2010 +0000 +++ b/ChangeLog Wed May 26 12:12:13 2010 +0000 @@ -1,3 +1,17 @@ +2010-05-26 Glenn Morris + + * configure.in (YMF_PASS_LDFLAGS): Remove. + (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): New output variables. + + * configure.in (CPPFLAGS, CFLAGS, REAL_CFLAGS): + Add $GNUSTEP_LOCAL_HEADERS. + (LDFLAGS, LD_SWITCH_SYSTEM_TEMACS): Add $GNUSTEP_LOCAL_LIBRARIES. + + * configure.in (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS) + (GNUSTEP_MAKEFILES): Remove. + (LD_SWITCH_SYSTEM_TEMACS): Move NS_IMPL_GNUSTEP_TEMACS_LDFLAGS + stuff to here. + 2010-05-25 Glenn Morris * configure.in (LD_SWITCH_SYSTEM): Move some gnu-linux stuff... diff -r bd4b41db940e -r d1f39bab57ad configure --- a/configure Tue May 25 11:10:15 2010 +0000 +++ b/configure Wed May 26 12:12:13 2010 +0000 @@ -720,8 +720,6 @@ XMKMF LD_SWITCH_X_SITE_AUX LD_SWITCH_X_SITE_AUX_RPATH -NS_IMPL_GNUSTEP_INC -NS_IMPL_GNUSTEP_TEMACS_LDFLAGS TEMACS_LDFLAGS2 NS_OBJ NS_SUPPORT @@ -820,7 +818,8 @@ PRE_ALLOC_OBJ POST_ALLOC_OBJ LD_SWITCH_SYSTEM_TEMACS -YMF_PASS_LDFLAGS +PRE_EDIT_LDFLAGS +POST_EDIT_LDFLAGS LINKER LIB_GCC MOUSE_SUPPORT @@ -9935,8 +9934,6 @@ HAVE_NS=no NS_IMPL_COCOA=no NS_IMPL_GNUSTEP=no -NS_IMPL_GNUSTEP_INC= -NS_IMPL_GNUSTEP_TEMACS_LDFLAGS= tmp_CPPFLAGS="$CPPFLAGS" tmp_CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS -x objective-c" @@ -9955,22 +9952,18 @@ ns_appbindir=${ns_appdir} ns_appresdir=${ns_appdir}Resources ns_appsrc=${srcdir}/nextstep/GNUstep/Emacs.base - GNUSTEP_MAKEFILES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_MAKEFILES)" - GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)" + GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)" GNUSTEP_SYSTEM_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_LIBRARIES)" - ## Pull in stuff from GNUstep-make. - ## FIXME? Cleaner to use AC_SUBST_FILE for this? - NS_IMPL_GNUSTEP_INC="FOUNDATION_LIB=gnu -GUI_LIB=gnu -include $GNUSTEP_MAKEFILES/Additional/base.make -include $GNUSTEP_MAKEFILES/Additional/gui.make -shared=no -" - NS_IMPL_GNUSTEP_TEMACS_LDFLAGS="-L${GNUSTEP_SYSTEM_LIBRARIES} -lgnustep-gui -lgnustep-base -lobjc \${CONFIG_SYSTEM_LIBS} -lpthread" - CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" - CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" - REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" - LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES}" + GNUSTEP_LOCAL_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_LOCAL_HEADERS)" + GNUSTEP_LOCAL_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_LOCAL_LIBRARIES)" + test "x${GNUSTEP_LOCAL_HEADERS}" != "x" && \ + GNUSTEP_LOCAL_HEADERS="-I${GNUSTEP_LOCAL_HEADERS}" + test "x${GNUSTEP_LOCAL_LIBRARIES}" != "x" && \ + GNUSTEP_LOCAL_LIBRARIES="-L${GNUSTEP_LOCAL_LIBRARIES}" + CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES} ${GNUSTEP_LOCAL_LIBRARIES}" LIB_STANDARD= START_FILES= TEMACS_LDFLAGS2= @@ -10162,8 +10155,6 @@ fi - - ns_frag=/dev/null NS_OBJ= NS_SUPPORT= @@ -26634,6 +26625,11 @@ *) LD_SWITCH_SYSTEM_TEMACS= ;; esac +if test "$NS_IMPL_GNUSTEP" = "yes"; then + LD_SWITCH_SYSTEM_TEMACS="${LD_SWITCH_SYSTEM_TEMACS} -L${GNUSTEP_SYSTEM_LIBRARIES} ${GNUSTEP_LOCAL_LIBRARIES} -lgnustep-gui -lgnustep-base -lobjc -lpthread" +fi + + LINKER= @@ -26660,11 +26656,9 @@ ;; esac -## A macro which other sections of Makefile can redefine to munge the -## flags before they are passed to LD. This is helpful if you have -## redefined LD to something odd, like "gcc". -## (The YMF prefix is a holdover from the old name "ymakefile".) -YMF_PASS_LDFLAGS=flags + +PRE_EDIT_LDFLAGS= +POST_EDIT_LDFLAGS= if test "x$ORDINARY_LINK" = "xyes"; then LINKER="\$(CC)" @@ -26692,9 +26686,11 @@ ## shell''s ``for'' construct. Note that sane people do not have '.' in ## their paths, so we must use ./prefix-args. ## TODO either make prefix-args check ORDINARY_LINK internally, - ## or remove it altogether (bug#6184), removing the need for this macro. - YMF_PASS_LDFLAGS='`./prefix-args -Xlinker flags`' -fi + ## or remove it altogether (bug#6184), removing the need for this hack. + PRE_EDIT_LDFLAGS='`./prefix-args -Xlinker' + POST_EDIT_LDFLAGS='`' +fi + test "x$LINKER" = "x" && LINKER=ld diff -r bd4b41db940e -r d1f39bab57ad configure.in --- a/configure.in Tue May 25 11:10:15 2010 +0000 +++ b/configure.in Wed May 26 12:12:13 2010 +0000 @@ -1468,8 +1468,6 @@ HAVE_NS=no NS_IMPL_COCOA=no NS_IMPL_GNUSTEP=no -NS_IMPL_GNUSTEP_INC= -NS_IMPL_GNUSTEP_TEMACS_LDFLAGS= tmp_CPPFLAGS="$CPPFLAGS" tmp_CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS -x objective-c" @@ -1491,24 +1489,20 @@ ns_appbindir=${ns_appdir} ns_appresdir=${ns_appdir}Resources ns_appsrc=${srcdir}/nextstep/GNUstep/Emacs.base - dnl FIXME sourcing this 3 times in subshells seems inefficient. - GNUSTEP_MAKEFILES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_MAKEFILES)" + dnl FIXME sourcing this several times in subshells seems inefficient. GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)" GNUSTEP_SYSTEM_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_LIBRARIES)" - ## Pull in stuff from GNUstep-make. - ## FIXME? Cleaner to use AC_SUBST_FILE for this? - NS_IMPL_GNUSTEP_INC="FOUNDATION_LIB=gnu -GUI_LIB=gnu -include $GNUSTEP_MAKEFILES/Additional/base.make -include $GNUSTEP_MAKEFILES/Additional/gui.make -shared=no -" - dnl Presumably ${CONFIG_SYSTEM_LIBS} is defined by above includes. - NS_IMPL_GNUSTEP_TEMACS_LDFLAGS="-L${GNUSTEP_SYSTEM_LIBRARIES} -lgnustep-gui -lgnustep-base -lobjc \${CONFIG_SYSTEM_LIBS} -lpthread" - CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" - CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" - REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" - LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES}" + dnl I seemed to need these as well with GNUstep-startup 0.25. + GNUSTEP_LOCAL_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_LOCAL_HEADERS)" + GNUSTEP_LOCAL_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_LOCAL_LIBRARIES)" + test "x${GNUSTEP_LOCAL_HEADERS}" != "x" && \ + GNUSTEP_LOCAL_HEADERS="-I${GNUSTEP_LOCAL_HEADERS}" + test "x${GNUSTEP_LOCAL_LIBRARIES}" != "x" && \ + GNUSTEP_LOCAL_LIBRARIES="-L${GNUSTEP_LOCAL_LIBRARIES}" + CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES} ${GNUSTEP_LOCAL_LIBRARIES}" LIB_STANDARD= START_FILES= TEMACS_LDFLAGS2= @@ -1525,8 +1519,6 @@ NS_HAVE_NSINTEGER=no fi fi -AC_SUBST(NS_IMPL_GNUSTEP_INC) -AC_SUBST(NS_IMPL_GNUSTEP_TEMACS_LDFLAGS) AC_SUBST(TEMACS_LDFLAGS2) ns_frag=/dev/null @@ -3311,6 +3303,11 @@ *) LD_SWITCH_SYSTEM_TEMACS= ;; esac + +if test "$NS_IMPL_GNUSTEP" = "yes"; then + LD_SWITCH_SYSTEM_TEMACS="${LD_SWITCH_SYSTEM_TEMACS} -L${GNUSTEP_SYSTEM_LIBRARIES} ${GNUSTEP_LOCAL_LIBRARIES} -lgnustep-gui -lgnustep-base -lobjc -lpthread" +fi + AC_SUBST(LD_SWITCH_SYSTEM_TEMACS) @@ -3338,11 +3335,9 @@ ;; esac -## A macro which other sections of Makefile can redefine to munge the -## flags before they are passed to LD. This is helpful if you have -## redefined LD to something odd, like "gcc". -## (The YMF prefix is a holdover from the old name "ymakefile".) -YMF_PASS_LDFLAGS=flags + +PRE_EDIT_LDFLAGS= +POST_EDIT_LDFLAGS= if test "x$ORDINARY_LINK" = "xyes"; then LINKER="\$(CC)" @@ -3366,21 +3361,23 @@ ## shell''s ``for'' construct. Note that sane people do not have '.' in ## their paths, so we must use ./prefix-args. ## TODO either make prefix-args check ORDINARY_LINK internally, - ## or remove it altogether (bug#6184), removing the need for this macro. - YMF_PASS_LDFLAGS='`./prefix-args -Xlinker flags`' + ## or remove it altogether (bug#6184), removing the need for this hack. + PRE_EDIT_LDFLAGS='`./prefix-args -Xlinker' + POST_EDIT_LDFLAGS='`' fi -AC_SUBST(YMF_PASS_LDFLAGS) +AC_SUBST(PRE_EDIT_LDFLAGS) +AC_SUBST(POST_EDIT_LDFLAGS) test "x$LINKER" = "x" && LINKER=ld -## FIXME? What setting of YMF_PASS_LDFLAGS should this have? +## FIXME? What setting of EDIT_LDFLAGS should this have? test "$NS_IMPL_GNUSTEP" = "yes" && LINKER="\$(CC) -rdynamic" AC_SUBST(LINKER) -## FIXME? The logic here is not precisely the same as that above -## setting YMF_PASS_LDFLAGS. There is no check here for a pre-defined -## LINKER. Should we only be setting LIB_GCC if LD ~ -nostdlib? +## FIXME? The logic here is not precisely the same as that above. +## There is no check here for a pre-defined LINKER. +## Should we only be setting LIB_GCC if LD ~ -nostdlib? LIB_GCC= if test "x$GCC" = "xyes" && test "x$ORDINARY_LINK" != "xyes"; then diff -r bd4b41db940e -r d1f39bab57ad doc/misc/ChangeLog --- a/doc/misc/ChangeLog Tue May 25 11:10:15 2010 +0000 +++ b/doc/misc/ChangeLog Wed May 26 12:12:13 2010 +0000 @@ -1,3 +1,8 @@ +2010-05-26 Michael Albinus + + * eshell.texi (Built-ins): Describe, how to disable a built-in command + by an alias. (Bug#6226) + 2010-05-16 Jay Belanger * calc.texi (Manipulating Vectors): Mention that vectors can diff -r bd4b41db940e -r d1f39bab57ad doc/misc/eshell.texi --- a/doc/misc/eshell.texi Tue May 25 11:10:15 2010 +0000 +++ b/doc/misc/eshell.texi Wed May 26 12:12:13 2010 +0000 @@ -369,6 +369,17 @@ /bin/ls @end example +If you want to discard a given built-in command, you could declare an +alias, @ref{Aliases}. Eample: + +@example +~ $ which sudo +eshell/sudo is a compiled Lisp function in `em-unix.el' +~ $ alias sudo '*sudo $*' +~ $ which sudo +sudo is an alias, defined as "*sudo $*" +@end example + Some of the built-in commands have a special behaviour in Eshell: @table @code diff -r bd4b41db940e -r d1f39bab57ad lisp/ChangeLog --- a/lisp/ChangeLog Tue May 25 11:10:15 2010 +0000 +++ b/lisp/ChangeLog Wed May 26 12:12:13 2010 +0000 @@ -1,3 +1,47 @@ +2010-05-26 Glenn Morris + + * emulation/edt.el (edt-load-keys): Use locate-library. + +2010-05-25 Chong Yidong + + * log-edit.el (log-edit-strip-single-file-name): Default to nil. + (log-edit-changelog-entries): Doc fix. + (log-edit-changelog-insert-entries): Args changed. Rename + relative filenames in ChangeLog entries. Delete tabs. + (log-edit-insert-changelog-entries): Reorganize return value of + `log-edit-changelog-entries' to pass filenames to + log-edit-changelog-insert-entries. + +2010-05-25 Thierry Volpiatto + + * dired.el (dired-mode-map): Rebind "\C-t\C-t" from + `image-dired-dired-insert-marked-thumbs' to + `image-dired-dired-toggle-marked-thumbs'. + + * image-dired.el: Require cl when compiling. + (image-dired-dired-toggle-marked-thumbs): Rename from + `image-dired-dired-insert-marked-thumbs'. Add ARG. Doc fix. + Use interactive spec "P". Set LOCALP arg of `dired-get-filename' + to 'no-dir. Skip files whose names don't match + `image-file-name-regexp'. When file has a thumbnail overlay, + delete it. (Bug#5270) + +2010-05-25 Juri Linkov + + * image-mode.el (image-mode): Add image-after-revert-hook to + after-revert-hook. + (image-after-revert-hook): New function. (Bug#5669) + +2010-05-25 Juri Linkov + + * image.el (image-animated-p): When delay between animated images + is 0, set it to 10 (0.1 sec). (Bug#6258) + +2010-05-25 Christian Lynbech (tiny change) + + * net/tramp.el (tramp-handle-insert-directory): Don't use + `forward-word', its default syntax could be changed. + 2010-05-25 Michael Albinus * net/tramp.el (tramp-progress-reporter-update): New defun. @@ -32,19 +76,19 @@ Replace Lisp calls to delete-backward-char by delete-char. * bs.el, expand.el, ido.el, image-dired.el, lpr.el, pcomplete.el, - skeleton.el, term.el, time.el, wid-edit.el, woman.el, - calc/calc-graph.el, calc/calc-help.el, calc/calc-incom.el, - calc/calc.el, emacs-cl-extra.el, emacs-cl-loaddefs.el, - emulation/cua-rect.el, emulation/viper-ex.el, eshell/esh-test.el, - eshell/eshell.el, gnus/gnus-uu.el, gnus/nndoc.el, gnus/nnrss.el, - gnus/rfc2047.el, gnus/utf7.el, international/utf-7.el, - language/ethio-util.el, mh-e/mh-alias.el, mh-e/mh-search.el, - net/imap.el, net/rcirc.el, obsolete/complete.el, play/decipher.el, - progmodes/ada-mode.el, progmodes/cc-awk.el, progmodes/dcl-mode.el, - progmodes/ps-mode.el, progmodes/verilog-mode.el, - progmodes/vhdl-mode.el, textmodes/bibtex.el, textmodes/fill.el, - textmodes/reftex-auc.el, textmodes/rst.el, textmodes/sgml-mode.el, - textmodes/table.el, textmodes/texinfmt.el: Replace Lisp calls to + * skeleton.el, term.el, time.el, wid-edit.el, woman.el, + * calc/calc-graph.el, calc/calc-help.el, calc/calc-incom.el, + * calc/calc.el, emacs-cl-extra.el, emacs-cl-loaddefs.el, + * emulation/cua-rect.el, emulation/viper-ex.el, eshell/esh-test.el, + * eshell/eshell.el, gnus/gnus-uu.el, gnus/nndoc.el, gnus/nnrss.el, + * gnus/rfc2047.el, gnus/utf7.el, international/utf-7.el, + * language/ethio-util.el, mh-e/mh-alias.el, mh-e/mh-search.el, + * net/imap.el, net/rcirc.el, obsolete/complete.el, play/decipher.el, + * progmodes/ada-mode.el, progmodes/cc-awk.el, progmodes/dcl-mode.el, + * progmodes/ps-mode.el, progmodes/verilog-mode.el, + * progmodes/vhdl-mode.el, textmodes/bibtex.el, textmodes/fill.el, + * textmodes/reftex-auc.el, textmodes/rst.el, textmodes/sgml-mode.el, + * textmodes/table.el, textmodes/texinfmt.el: Replace Lisp calls to delete-backward-char by calls to delete-char. 2010-05-25 Kenichi Handa diff -r bd4b41db940e -r d1f39bab57ad lisp/dired.el --- a/lisp/dired.el Tue May 25 11:10:15 2010 +0000 +++ b/lisp/dired.el Wed May 26 12:12:13 2010 +0000 @@ -1409,7 +1409,7 @@ (define-key map "\C-t." 'image-dired-display-thumb) (define-key map "\C-tc" 'image-dired-dired-comment-files) (define-key map "\C-tf" 'image-dired-mark-tagged-files) - (define-key map "\C-t\C-t" 'image-dired-dired-insert-marked-thumbs) + (define-key map "\C-t\C-t" 'image-dired-dired-toggle-marked-thumbs) (define-key map "\C-te" 'image-dired-dired-edit-comment-and-tags) ;; encryption and decryption (epa-dired) (define-key map ":d" 'epa-dired-do-decrypt) diff -r bd4b41db940e -r d1f39bab57ad lisp/emulation/edt.el --- a/lisp/emulation/edt.el Tue May 25 11:10:15 2010 +0000 +++ b/lisp/emulation/edt.el Wed May 26 12:12:13 2010 +0000 @@ -1,7 +1,8 @@ ;;; edt.el --- enhanced EDT keypad mode emulation for GNU Emacs 19 ;; Copyright (C) 1986, 1992, 1993, 1994, 1995, 2000, 2001, 2002, 2003, -;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 +;; Free Software Foundation, Inc. ;; Author: Kevin Gallagher ;; Maintainer: Kevin Gallagher @@ -2056,40 +2057,32 @@ Ack!! You're running the Enhanced EDT Emulation without loading an EDT key mapping file. To create an EDT key mapping file, run the - edt-mapper.el program. It is safest to run it from an Emacs loaded + edt-mapper program. It is safest to run it from an Emacs loaded without any of your own customizations found in your .emacs file, etc. The reason for this is that some user customizations confuse edt-mapper. You can do this by quitting Emacs and then invoking Emacs again as follows: - emacs -q -l edt-mapper.el + emacs -q -l edt-mapper [NOTE: If you do nothing out of the ordinary in your .emacs file, and - the search for edt-mapper.el is successful, you can try running it now.] + the search for edt-mapper is successful, you can try running it now.] - The file edt-mapper.el includes these same directions on how to + The library edt-mapper includes these same directions on how to use it! Perhaps it's lying around here someplace. \n ") - (let ((file "edt-mapper.el") - (found nil) - (path nil) - (search-list (append (list (expand-file-name ".")) load-path))) - (while (and (not found) search-list) - (setq path (concat (car search-list) - (if (string-match "/$" (car search-list)) "" "/") - file)) - (if (and (file-exists-p path) (not (file-directory-p path))) - (setq found t)) - (setq search-list (cdr search-list))) - (cond (found - (insert (format - "Ah yes, there it is, in \n\n %s \n\n" path)) - (if (edt-y-or-n-p "Do you want to run it now? ") - (load-file path) - (error "EDT Emulation not configured"))) - (t - (insert "Nope, I can't seem to find it. :-(\n\n") - (sit-for 20) - (error "EDT Emulation not configured"))))))) + (let ((path (locate-library + "edt-mapper" + nil (append (list (expand-file-name ".")) load-path)))) + (if path + (progn + (insert (format + "Ah yes, there it is, in \n\n %s \n\n" path)) + (if (edt-y-or-n-p "Do you want to run it now? ") + (load-file path) + (error "EDT Emulation not configured"))) + (insert "Nope, I can't seem to find it. :-(\n\n") + (sit-for 20) + (error "EDT Emulation not configured")))))) ;;; ;;; Turning the EDT Emulation on and off. diff -r bd4b41db940e -r d1f39bab57ad lisp/image-dired.el --- a/lisp/image-dired.el Tue May 25 11:10:15 2010 +0000 +++ b/lisp/image-dired.el Wed May 26 12:12:13 2010 +0000 @@ -157,6 +157,7 @@ (require 'widget) (eval-when-compile + (require 'cl) (require 'wid-edit)) (defgroup image-dired nil @@ -632,26 +633,32 @@ (call-process shell-file-name nil nil nil shell-command-switch command))) ;;;###autoload -(defun image-dired-dired-insert-marked-thumbs () - "Insert thumbnails before file names of marked files in the dired buffer." - (interactive) +(defun image-dired-dired-toggle-marked-thumbs (&optional arg) + "Toggle thumbnails in front of file names in the dired buffer. +If no marked file could be found, insert or hide thumbnails on the +current line. ARG, if non-nil, specifies the files to use instead +of the marked files. If ARG is an integer, use the next ARG (or +previous -ARG, if ARG<0) files." + (interactive "P") (dired-map-over-marks - (let* ((image-pos (dired-move-to-filename)) - (image-file (dired-get-filename)) - (thumb-file (image-dired-get-thumbnail-image image-file)) + (let* ((image-pos (dired-move-to-filename)) + (image-file (dired-get-filename 'no-dir t)) + thumb-file overlay) - ;; If image is not already added, then add it. - (unless (delq nil (mapcar (lambda (o) (overlay-get o 'put-image)) - ;; Can't use (overlays-at (point)), BUG? - (overlays-in (point) (1+ (point))))) - (put-image thumb-file image-pos) - (setq - overlay - (car (delq nil (mapcar (lambda (o) (and (overlay-get o 'put-image) o)) - (overlays-in (point) (1+ (point))))))) - (overlay-put overlay 'image-file image-file) - (overlay-put overlay 'thumb-file thumb-file))) - nil) + (when (and image-file (string-match-p (image-file-name-regexp) image-file)) + (setq thumb-file (image-dired-get-thumbnail-image image-file)) + ;; If image is not already added, then add it. + (let ((cur-ov (overlays-in (point) (1+ (point))))) + (if cur-ov + (delete-overlay (car cur-ov)) + (put-image thumb-file image-pos) + (setq overlay (loop for o in (overlays-in (point) (1+ (point))) + when (overlay-get o 'put-image) collect o into ov + finally return (car ov))) + (overlay-put overlay 'image-file image-file) + (overlay-put overlay 'thumb-file thumb-file))))) + arg ; Show or hide image on ARG next files. + 'show-progress) ; Update dired display after each image is updated. (add-hook 'dired-after-readin-hook 'image-dired-dired-after-readin-hook nil t)) (defun image-dired-dired-after-readin-hook () diff -r bd4b41db940e -r d1f39bab57ad lisp/image-mode.el --- a/lisp/image-mode.el Tue May 25 11:10:15 2010 +0000 +++ b/lisp/image-mode.el Wed May 26 12:12:13 2010 +0000 @@ -357,6 +357,7 @@ (image-mode-setup-winprops) (add-hook 'change-major-mode-hook 'image-toggle-display-text nil t) + (add-hook 'after-revert-hook 'image-after-revert-hook nil t) (run-mode-hooks 'image-mode-hook) (message "%s" (concat (substitute-command-keys @@ -503,6 +504,14 @@ (if (image-get-display-property) (image-mode-as-text) (image-mode))) + +(defun image-after-revert-hook () + (when (image-get-display-property) + (image-toggle-display-text) + ;; Update image display. + (redraw-frame (selected-frame)) + (image-toggle-display-image))) + ;;; Support for bookmark.el (declare-function bookmark-make-record-default "bookmark" diff -r bd4b41db940e -r d1f39bab57ad lisp/image.el --- a/lisp/image.el Tue May 25 11:10:15 2010 +0000 +++ b/lisp/image.el Wed May 26 12:12:13 2010 +0000 @@ -685,10 +685,13 @@ (let* ((metadata (image-metadata image)) (images (plist-get metadata 'count)) (extdata (plist-get metadata 'extension-data)) - (anim (plist-get extdata #xF9))) - (and (integerp images) (> images 1) - (stringp anim) (>= (length anim) 4) - (cons images (+ (aref anim 1) (* (aref anim 2) 256)))))))) + (anim (plist-get extdata #xF9)) + (tmo (and (integerp images) (> images 1) + (stringp anim) (>= (length anim) 4) + (+ (aref anim 1) (* (aref anim 2) 256))))) + (when tmo + (if (eq tmo 0) (setq tmo 10)) + (cons images tmo)))))) (provide 'image) diff -r bd4b41db940e -r d1f39bab57ad lisp/log-edit.el --- a/lisp/log-edit.el Tue May 25 11:10:15 2010 +0000 +++ b/lisp/log-edit.el Wed May 26 12:12:13 2010 +0000 @@ -149,12 +149,12 @@ :type '(hook :options (log-edit-set-common-indentation log-edit-add-to-changelog))) -(defcustom log-edit-strip-single-file-name t +(defcustom log-edit-strip-single-file-name nil "If non-nil, remove file name from single-file log entries." :type 'boolean :safe 'booleanp :group 'log-edit - :version "23.2") + :version "24.1") (defvar cvs-changelog-full-paragraphs t) (make-obsolete-variable 'cvs-changelog-full-paragraphs @@ -691,7 +691,7 @@ (defun log-edit-changelog-entries (file) "Return the ChangeLog entries for FILE, and the ChangeLog they came from. The return value looks like this: - (LOGBUFFER (ENTRYSTART . ENTRYEND) ...) + (LOGBUFFER (ENTRYSTART ENTRYEND) ...) where LOGBUFFER is the name of the ChangeLog buffer, and each \(ENTRYSTART . ENTRYEND\) pair is a buffer region." (let ((changelog-file-name @@ -749,34 +749,51 @@ (cons (current-buffer) texts)))))))) -(defun log-edit-changelog-insert-entries (buffer regions) - "Insert those regions in BUFFER specified in REGIONS. -Sort REGIONS front-to-back first." - (let ((regions (sort regions 'car-less-than-car)) - (last)) - (dolist (region regions) - (when (and last (< last (car region))) (newline)) - (setq last (elt region 1)) - (apply 'insert-buffer-substring buffer region)))) +(defun log-edit-changelog-insert-entries (buffer beg end &rest files) + "Insert the text from BUFFER between BEG and END. +Rename relative filenames in the ChangeLog entry as FILES." + (let ((opoint (point)) + (log-name (buffer-file-name buffer)) + (case-fold-search nil) + bound) + (insert-buffer-substring buffer beg end) + (setq bound (point-marker)) + (when log-name + (dolist (f files) + (save-excursion + (goto-char opoint) + (when (re-search-forward + (concat "\\(^\\|[ \t]\\)\\(" + (file-relative-name f (file-name-directory log-name)) + "\\)[, :\n]") + bound t) + (replace-match f t t nil 2))))) + ;; Eliminate tabs at the beginning of the line. + (save-excursion + (goto-char opoint) + (while (re-search-forward "^\\(\t+\\)" bound t) + (replace-match ""))))) (defun log-edit-insert-changelog-entries (files) "Given a list of files FILES, insert the ChangeLog entries for them." - (let ((buffer-entries nil)) - - ;; Add each buffer to buffer-entries, and associate it with the list - ;; of entries we want from that file. + (let ((log-entries nil)) + ;; Note that any ChangeLog entry can apply to more than one file. + ;; Here we construct a log-entries list with elements of the form + ;; ((LOGBUFFER ENTRYSTART ENTRYEND) FILE1 FILE2...) (dolist (file files) (let* ((entries (log-edit-changelog-entries file)) - (pair (assq (car entries) buffer-entries))) - (if pair - (setcdr pair (cvs-union (cdr pair) (cdr entries))) - (push entries buffer-entries)))) - - ;; Now map over each buffer in buffer-entries, sort the entries for - ;; each buffer, and extract them as strings. - (dolist (buffer-entry buffer-entries) - (log-edit-changelog-insert-entries (car buffer-entry) (cdr buffer-entry)) - (when (cdr buffer-entry) (newline))))) + (buf (car entries)) + key entry) + (dolist (region (cdr entries)) + (setq key (cons buf region)) + (if (setq entry (assoc key log-entries)) + (setcdr entry (append (cdr entry) (list file))) + (push (list key file) log-entries))))) + ;; Now map over log-entries, and extract the strings. + (dolist (log-entry (nreverse log-entries)) + (apply 'log-edit-changelog-insert-entries + (append (car log-entry) (cdr log-entry))) + (insert "\n")))) (defun log-edit-extract-headers (headers comment) "Extract headers from COMMENT to form command line arguments. diff -r bd4b41db940e -r d1f39bab57ad lisp/net/tramp.el --- a/lisp/net/tramp.el Tue May 25 11:10:15 2010 +0000 +++ b/lisp/net/tramp.el Wed May 26 12:12:13 2010 +0000 @@ -4300,13 +4300,11 @@ (forward-line -2) (when (looking-at "//SUBDIRED//") (forward-line -1)) - (when (looking-at "//DIRED//") - (let ((end (tramp-compat-line-end-position)) - (linebeg (point))) + (when (looking-at "//DIRED//\\s-+") + (let ((databeg (match-end 0)) + (end (tramp-compat-line-end-position))) ;; Now read the numeric positions of file names. - (goto-char linebeg) - (forward-word 1) - (forward-char 3) + (goto-char databeg) (while (< (point) end) (let ((start (+ beg (read (current-buffer)))) (end (+ beg (read (current-buffer))))) diff -r bd4b41db940e -r d1f39bab57ad msdos/ChangeLog --- a/msdos/ChangeLog Tue May 25 11:10:15 2010 +0000 +++ b/msdos/ChangeLog Wed May 26 12:12:13 2010 +0000 @@ -1,10 +1,17 @@ +2010-05-26 Glenn Morris + + * sed1v2.inp (@PRE_EDIT_LDFLAGS@, @POST_EDIT_LDFLAGS@): Edit to nothing. + + * sed1v2.inp (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS): + No longer present. + 2010-05-25 Glenn Morris * sed1v2.inp (LD_SWITCH_SYSTEM_EXTRA): No longer present. 2010-05-21 Glenn Morris - * sed1v2.inp(@ns_frag@): Edit to nothing. + * sed1v2.inp (@ns_frag@): Edit to nothing. * sed1x.inp (OLDXMENU): Replace any initial value. * sed1v2.inp (OLDXMENU): Edit to "nothing". diff -r bd4b41db940e -r d1f39bab57ad msdos/sed1v2.inp --- a/msdos/sed1v2.inp Tue May 25 11:10:15 2010 +0000 +++ b/msdos/sed1v2.inp Wed May 26 12:12:13 2010 +0000 @@ -129,8 +129,6 @@ /^M_FILE *=/s!@[^@\n]*@!m/intel386.h! /^S_FILE *=/s!@[^@\n]*@!s/msdos.h! /^@SET_MAKE@$/s/@SET_MAKE@// -/^@NS_IMPL_GNUSTEP_INC@/s/@NS_IMPL_GNUSTEP_INC@// -/^NS_IMPL_GNUSTEP_TEMACS_LDFLAGS *=/s/@NS_IMPL_GNUSTEP_TEMACS_LDFLAGS@// /^.\${libsrc}make-docfile.*>/s!make-docfile!make-docfile -o ../etc/DOC! /^.\${libsrc}make-doc/s!>.*$!! /^[ ]*$/d @@ -149,6 +147,8 @@ s/@YMF_PASS_LDFLAGS@/flags/ s/@deps_frag@// s/@ns_frag@// +s/@PRE_EDIT_LDFLAGS@// +s/@POST_EDIT_LDFLAGS@// s/bootstrap-emacs/b-emacs/ s/bootstrap-temacs/b-temacs/ s/bootstrap-doc/b-doc/ diff -r bd4b41db940e -r d1f39bab57ad src/ChangeLog --- a/src/ChangeLog Tue May 25 11:10:15 2010 +0000 +++ b/src/ChangeLog Wed May 26 12:12:13 2010 +0000 @@ -1,3 +1,17 @@ +2010-05-26 Glenn Morris + + * Makefile.in (YMF_PASS_LDFLAGS): Remove. + (temacs${EXEEXT}): Use PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS. + + * Makefile.in (NS_IMPL_GNUSTEP_INC, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS): + Remove. + (TEMACS_LDFLAGS): Do not use NS_IMPL_GNUSTEP_TEMACS_LDFLAGS. + +2010-05-26 Kenichi Handa + + * composite.c (composition_compute_stop_pos): Fix condition for + backward scanning. + 2010-05-25 Glenn Morris * Makefile.in (@NS_IMPL_GNUSTEP_INC@, NS_IMPL_GNUSTEP_TEMACS_LDFLAGS): diff -r bd4b41db940e -r d1f39bab57ad src/Makefile.in --- a/src/Makefile.in Tue May 25 11:10:15 2010 +0000 +++ b/src/Makefile.in Wed May 26 12:12:13 2010 +0000 @@ -111,14 +111,8 @@ ## which are only good with temacs. LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@ -## If NS_IMPL_GNUSTEP, some definitions and includes are expanded here. -@NS_IMPL_GNUSTEP_INC@ - -## This uses ${CONFIG_SYSTEM_LIBS} from @NS_IMPL_GNUSTEP_INC@. -NS_IMPL_GNUSTEP_TEMACS_LDFLAGS=@NS_IMPL_GNUSTEP_TEMACS_LDFLAGS@ - ## Flags to pass to ld only for temacs. -TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_TEMACS) $(NS_IMPL_GNUSTEP_TEMACS_LDFLAGS) +TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_TEMACS) ## $LDFLAGS, or empty if NS_IMPL_GNUSTEP (for some reason). TEMACS_LDFLAGS2 = @TEMACS_LDFLAGS2@ @@ -640,10 +634,14 @@ buildobj.h: Makefile echo "#define BUILDOBJ \"${obj} ${otherobj} " "\"" > buildobj.h -#define YMF_PASS_LDFLAGS(flags) @YMF_PASS_LDFLAGS@ +/* We cannot define variables for PRE_EDIT and POST_EDIT. + If !ORDINARY_LINK && !LINKER && GCC, they add a + \`./prefix-args -Xlinker ... \` wrapper, otherwise they are empty. + One alternative to this approach would be to always call prefix-args, + and have it DTRT in all cases, by testing the above defines. */ temacs${EXEEXT}: $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args${EXEEXT} - $(LD) YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} ) \ + $(LD) @PRE_EDIT_LDFLAGS@ ${TEMACS_LDFLAGS} @POST_EDIT_LDFLAGS@ \ ${TEMACS_LDFLAGS2} \ -o temacs ${START_FILES} ${obj} ${otherobj} ${LIBES} diff -r bd4b41db940e -r d1f39bab57ad src/composite.c --- a/src/composite.c Tue May 25 11:10:15 2010 +0000 +++ b/src/composite.c Wed May 26 12:12:13 2010 +0000 @@ -1124,7 +1124,7 @@ } } } - else + else if (charpos > endpos) { /* Search backward for a pattern that may be composed and the position of (possibly) the last character of the match is