# HG changeset patch # User Katsumi Yamaoka # Date 1274444767 0 # Node ID d2833c80c27cda4ee8ac9f42acad9797b6a32b68 # Parent 96783fa22d8e3d14a8bc23cf3aaf119864fecb85# Parent a8cb6cd21db63b20081a6b5f037c7a38ea9e9f37 Merge from mainline. diff -r 96783fa22d8e -r d2833c80c27c ChangeLog --- a/ChangeLog Thu May 20 13:29:53 2010 +0000 +++ b/ChangeLog Fri May 21 12:26:07 2010 +0000 @@ -1,3 +1,12 @@ +2010-05-21 Glenn Morris + + * configure.in (ns_frag): New output file. + + * configure.in (OLDXMENU): Set to "nothing" if !HAVE_X11 || USE_GTK. + (OLDXMENU_TARGET): Set to empty if USE_GTK. + + * configure.in (cannot_dump): New output variable. + 2010-05-20 enami tsugutomo * configure.in: On NetBSD, if terminfo is found, use it in diff -r 96783fa22d8e -r d2833c80c27c configure --- a/configure Thu May 20 13:29:53 2010 +0000 +++ b/configure Fri May 21 12:26:07 2010 +0000 @@ -701,6 +701,7 @@ INSTALL_INFO GZIP_PROG MAKEINFO +cannot_dump LD_SWITCH_SYSTEM C_SWITCH_MACHINE C_SWITCH_SYSTEM @@ -827,7 +828,8 @@ TOOLTIP_SUPPORT WINDOW_SUPPORT LTLIBOBJS' -ac_subst_files='deps_frag' +ac_subst_files='deps_frag +ns_frag' ac_user_opts=' enable_option_checking with_pop @@ -5830,6 +5832,12 @@ configure___ unexec=UNEXEC +#ifdef CANNOT_DUMP +configure___ cannot_dump=yes +#else +configure___ cannot_dump=no +#endif + #ifdef SYSTEM_MALLOC configure___ system_malloc=yes #else @@ -5891,6 +5899,9 @@ rm ${tempcname} + + + LD_SWITCH_SYSTEM= case "$opsys" in freebsd) @@ -9945,6 +9956,7 @@ 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 @@ -10149,6 +10161,7 @@ +ns_frag=/dev/null NS_OBJ= NS_SUPPORT= if test "${HAVE_NS}" = yes; then @@ -10160,6 +10173,7 @@ if test "${EN_NS_SELF_CONTAINED}" = yes; then prefix=${ns_appresdir} fi + ns_frag=$srcdir/src/ns.mk NS_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o fontset.o fringe.o image.o" NS_SUPPORT="\${lispsource}emacs-lisp/easymenu.elc \${lispsource}term/ns-win.elc" fi @@ -10169,6 +10183,7 @@ + case "${window_system}" in x11 ) HAVE_X_WINDOWS=yes @@ -21607,7 +21622,7 @@ ## Use terminfo instead of termcap? ## Note only system files NOT using terminfo are: -## freebsd < 40000, ms-w32, msdos, netbsd, and +## freebsd < 40000, ms-w32, msdos, netbsd < 599002500, and ## darwin|gnu without ncurses. TERMINFO=no LIBS_TERMCAP= @@ -21700,13 +21715,22 @@ fi ;; + netbsd) + if test $ac_cv_search_tputs = -lterminfo; then + TERMINFO=yes + LIBS_TERMCAP="-lterminfo" + else + LIBS_TERMCAP="-ltermcap" + fi + ;; + esac case "$opsys" in ## hpux: Make sure we get select from libc rather than from libcurses ## because libcurses on HPUX 10.10 has a broken version of select. ## We used to use -lc -lcurses, but this may be cleaner. - hpux*|netbsd) LIBS_TERMCAP="-ltermcap" ;; + hpux*) LIBS_TERMCAP="-ltermcap" ;; openbsd) LIBS_TERMCAP="-lncurses" ;; @@ -26476,7 +26500,6 @@ fi - ## The X Menu stuff is present in the X10 distribution, but missing ## from X11. If we have X10, just use the installed library; ## otherwise, use our own copy. @@ -26496,7 +26519,9 @@ LIBX_OTHER="\$(LIBXT) \$(LIBX_EXTRA)" OLDXMENU_DEPS="\${OLDXMENU} ../src/\${OLDXMENU}" else - OLDXMENU= + ## For a syntactically valid Makefile; not actually used for anything. + ## See comments in src/Makefile.in. + OLDXMENU=nothing ## FIXME This case (!HAVE_X11 && HAVE_X_WINDOWS) is no longer possible(?). if test "${HAVE_X_WINDOWS}" = "yes"; then LIBXMENU="-lXMenu" @@ -26508,7 +26533,8 @@ fi if test "$HAVE_GTK" = "yes" || test "$HAVE_MENUS" != "yes"; then - OLDXMENU= + OLDXMENU_TARGET= + OLDXMENU=nothing LIBXMENU= OLDXMENU_DEPS= fi @@ -26518,6 +26544,7 @@ + if test "${HAVE_MENUS}" = "yes" ; then cat >>confdefs.h <<\_ACEOF diff -r 96783fa22d8e -r d2833c80c27c configure.in --- a/configure.in Thu May 20 13:29:53 2010 +0000 +++ b/configure.in Fri May 21 12:26:07 2010 +0000 @@ -857,6 +857,12 @@ configure___ unexec=UNEXEC +#ifdef CANNOT_DUMP +configure___ cannot_dump=yes +#else +configure___ cannot_dump=no +#endif + #ifdef SYSTEM_MALLOC configure___ system_malloc=yes #else @@ -918,6 +924,9 @@ rm ${tempcname} +AC_SUBST(cannot_dump) + + LD_SWITCH_SYSTEM= case "$opsys" in freebsd) @@ -1483,6 +1492,7 @@ 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 @@ -1515,6 +1525,7 @@ AC_SUBST(NS_IMPL_GNUSTEP_TEMACS_LDFLAGS) AC_SUBST(TEMACS_LDFLAGS2) +ns_frag=/dev/null NS_OBJ= NS_SUPPORT= if test "${HAVE_NS}" = yes; then @@ -1526,6 +1537,7 @@ if test "${EN_NS_SELF_CONTAINED}" = yes; then prefix=${ns_appresdir} fi + ns_frag=$srcdir/src/ns.mk NS_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o fontset.o fringe.o image.o" NS_SUPPORT="\${lispsource}emacs-lisp/easymenu.elc \${lispsource}term/ns-win.elc" fi @@ -1534,6 +1546,7 @@ AC_SUBST(NS_OBJ) AC_SUBST(NS_SUPPORT) AC_SUBST(LIB_STANDARD) +AC_SUBST_FILE(ns_frag) case "${window_system}" in x11 ) @@ -3171,7 +3184,6 @@ OLDXMENU_TARGET="really-lwlib" fi AC_SUBST(LIBXT_OTHER) -AC_SUBST(OLDXMENU_TARGET) ## The X Menu stuff is present in the X10 distribution, but missing ## from X11. If we have X10, just use the installed library; @@ -3190,7 +3202,9 @@ LIBX_OTHER="\$(LIBXT) \$(LIBX_EXTRA)" OLDXMENU_DEPS="\${OLDXMENU} ../src/\${OLDXMENU}" else - OLDXMENU= + ## For a syntactically valid Makefile; not actually used for anything. + ## See comments in src/Makefile.in. + OLDXMENU=nothing ## FIXME This case (!HAVE_X11 && HAVE_X_WINDOWS) is no longer possible(?). if test "${HAVE_X_WINDOWS}" = "yes"; then LIBXMENU="-lXMenu" @@ -3202,11 +3216,13 @@ fi if test "$HAVE_GTK" = "yes" || test "$HAVE_MENUS" != "yes"; then - OLDXMENU= + OLDXMENU_TARGET= + OLDXMENU=nothing LIBXMENU= OLDXMENU_DEPS= fi +AC_SUBST(OLDXMENU_TARGET) AC_SUBST(OLDXMENU) AC_SUBST(LIBXMENU) AC_SUBST(LIBX_OTHER) diff -r 96783fa22d8e -r d2833c80c27c etc/NEWS --- a/etc/NEWS Thu May 20 13:29:53 2010 +0000 +++ b/etc/NEWS Fri May 21 12:26:07 2010 +0000 @@ -147,6 +147,11 @@ *** The color widget now has a "Choose" button, which allows you to choose a color via list-colors-display. +** Dired-x + +*** dired-jump and dired-jump-other-window called with a prefix argument +read a file name from the minibuffer instead of using buffer-file-name. + ** VC and related modes *** New VC commands: vc-log-incoming, vc-log-outgoing, vc-find-conflicted-file. @@ -250,6 +255,10 @@ *** `image-extension-data' is renamed to `image-metadata'. +** Isearch + +*** New hook `isearch-update-post-hook' that runs in `isearch-update'. + ** Progress reporters can now "spin". The MIN-VALUE and MAX-VALUE arguments of `make-progress-reporter' can now be nil, or omitted. This makes a "non-numeric" reporter. Each diff -r 96783fa22d8e -r d2833c80c27c lisp/ChangeLog --- a/lisp/ChangeLog Thu May 20 13:29:53 2010 +0000 +++ b/lisp/ChangeLog Fri May 21 12:26:07 2010 +0000 @@ -1,3 +1,76 @@ +2010-05-21 Juanma Barranquero + + * add-log.el (change-log-font-lock-keywords): + Highlight all authors in multi-author entries. + + * smerge-mode.el (smerge-refine-ignore-whitespace) + (smerge-refine-weight-hack, smerge-refine, smerge-makeup-conflict): + Fix typos in docstrings. + (smerge-resolve, smerge-refine-subst): Reflow docstrings. + +2010-05-21 Glenn Morris + + * progmodes/fortran.el (fortran-mode): + * progmodes/f90.el (f90-mode): Derive from prog-mode. + + * loadup.el [CANNOT_DUMP]: Update for bootstrap-emacs no longer + having a relative path in src/Makefile.in. + +2010-05-20 Kevin Ryde + + * help-mode.el (help-make-xrefs): For Info node links turn + newlines into spaces. Link node names with newlines are matched + by help-xref-info-regexp and buttonized, this change ensures they + can be followed successfully with RET. (Bug#6206) + +2010-05-20 Juri Linkov + + * locate.el (locate): Use pop-to-buffer instead of + switch-to-buffer-other-window. (Bug#6204) + +2010-05-20 Juri Linkov + + * replace.el (replace-highlight): Fix lazy-highlighting + for `M-s w str M-% str RET'. + +2009-12-15 Masatake YAMATO + + * isearch.el (isearch-yank-word-or-char): Pull next subword + when `subword-mode' is activated. (Bug#6220) + +2010-05-20 Mark A. Hershberger + + * isearch.el (isearch-update-post-hook): New hook. + (isearch-update): Use the new hook. (Bug#6225) + +2010-05-20 Juri Linkov + + * isearch.el (isearch-mode-map): Bind more keys to isearch-help-map: + [f1], [help], and (char-to-string help-char) instead of "\C-h". + (Bug#6222) + +2010-05-20 Juri Linkov + + * isearch.el (isearch-yank-string): Use isearch-process-search-string. + (Bug#6223) + +2010-05-20 Juri Linkov + + * dired-x.el (dired-jump, dired-jump-other-window): Add arg + FILE-NAME to read from the minibuffer when called interactively + with prefix argument instead of using buffer-file-name. + http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00534.html + + * dired.el: Update autoloads. + +2010-05-20 Chong Yidong + + * nxml/nxml-mode.el (nxml-mode-map): Bind C-c / to + nxml-finish-element, for consistency with SGML mode. + + * progmodes/octave-mod.el (octave-mode-map): Bind C-c / to + octave-close-block. + 2010-05-20 Juanma Barranquero * composite.el: Require cl when compiling. diff -r 96783fa22d8e -r d2833c80c27c lisp/add-log.el --- a/lisp/add-log.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/add-log.el Fri May 21 12:26:07 2010 +0000 @@ -245,7 +245,7 @@ ;; wrongly with a non-date line existing as a random note. In ;; addition, using any kind of fixed setting like this doesn't ;; work if a user customizes add-log-time-format. - ("^[0-9-]+ +\\|^\\(Sun\\|Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\) [A-z][a-z][a-z] [0-9:+ ]+" + ("^[0-9-]+ +\\|^ \\{11,\\}\\|^\\(Sun\\|Mon\\|Tue\\|Wed\\|Thu\\|Fri\\|Sat\\) [A-z][a-z][a-z] [0-9:+ ]+" (0 'change-log-date-face) ;; Name and e-mail; some people put e-mail in parens, not angles. ("\\([^<(]+?\\)[ \t]*[(<]\\([A-Za-z0-9_.+-]+@[A-Za-z0-9_.-]+\\)[>)]" nil nil diff -r 96783fa22d8e -r d2833c80c27c lisp/comint.el --- a/lisp/comint.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/comint.el Fri May 21 12:26:07 2010 +0000 @@ -309,7 +309,6 @@ :type 'integer :group 'comint) -;; FIXME: this should be defcustom (defcustom comint-input-ring-size 500 "Size of the input history ring in `comint-mode'." :type 'integer diff -r 96783fa22d8e -r d2833c80c27c lisp/dired-x.el --- a/lisp/dired-x.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/dired-x.el Fri May 21 12:26:07 2010 +0000 @@ -506,16 +506,21 @@ ;;; JUMP. ;;;###autoload -(defun dired-jump (&optional other-window) +(defun dired-jump (&optional other-window file-name) "Jump to dired buffer corresponding to current buffer. If in a file, dired the current directory and move to file's line. If in Dired already, pop up a level and goto old directory's line. In case the proper dired file line cannot be found, refresh the dired -buffer and try again." - (interactive "P") - (let* ((file buffer-file-name) +buffer and try again. +When OTHER-WINDOW is non-nil, jump to dired buffer in other window. +Interactively with prefix argument, read FILE-NAME and +move to its line in dired." + (interactive + (list nil (and current-prefix-arg + (read-file-name "Jump to dired file: ")))) + (let* ((file (or file-name buffer-file-name)) (dir (if file (file-name-directory file) default-directory))) - (if (eq major-mode 'dired-mode) + (if (and (eq major-mode 'dired-mode) (null file-name)) (progn (setq dir (dired-current-directory)) (dired-up-directory other-window) @@ -539,10 +544,12 @@ (dired-omit-mode) (dired-goto-file file)))))))) -(defun dired-jump-other-window () +(defun dired-jump-other-window (&optional file-name) "Like \\[dired-jump] (`dired-jump') but in other window." - (interactive) - (dired-jump t)) + (interactive + (list (and current-prefix-arg + (read-file-name "Jump to dired file: ")))) + (dired-jump t file-name)) ;;; OMITTING. diff -r 96783fa22d8e -r d2833c80c27c lisp/dired.el --- a/lisp/dired.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/dired.el Fri May 21 12:26:07 2010 +0000 @@ -3974,7 +3974,7 @@ ;;;*** ;;;### (autoloads (dired-do-relsymlink dired-jump) "dired-x" "dired-x.el" -;;;;;; "2f8d3d5a31b969b181e23c40d6bb16a0") +;;;;;; "6c492aba3ca0d36a4cd7b02fb9c1cc10") ;;; Generated autoloads from dired-x.el (autoload 'dired-jump "dired-x" "\ @@ -3983,8 +3983,11 @@ If in Dired already, pop up a level and goto old directory's line. In case the proper dired file line cannot be found, refresh the dired buffer and try again. - -\(fn &optional OTHER-WINDOW)" t nil) +When OTHER-WINDOW is non-nil, jump to dired buffer in other window. +Interactively with prefix argument, read FILE-NAME and +move to its line in dired. + +\(fn &optional OTHER-WINDOW FILE-NAME)" t nil) (autoload 'dired-do-relsymlink "dired-x" "\ Relative symlink all marked (or next ARG) files into a directory. diff -r 96783fa22d8e -r d2833c80c27c lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Thu May 20 13:29:53 2010 +0000 +++ b/lisp/gnus/ChangeLog Fri May 21 12:26:07 2010 +0000 @@ -1,3 +1,7 @@ +2010-05-20 Kevin Ryde + + * gnus-start.el (gnus-level-unsubscribed): Doc fix. (Bug#6206) + 2010-05-14 Katsumi Yamaoka * gnus-sum.el (gnus-summary-save-article): Don't bother to re-fetch diff -r 96783fa22d8e -r d2833c80c27c lisp/gnus/gnus-start.el --- a/lisp/gnus/gnus-start.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/gnus/gnus-start.el Fri May 21 12:26:07 2010 +0000 @@ -181,7 +181,7 @@ should be less than this variable, are subscribed. Groups with levels from `gnus-level-subscribed' (exclusive) upto this variable (inclusive) are unsubscribed. See also -`gnus-level-zombie', `gnus-level-killed' and the Info node `Group +`gnus-level-zombie', `gnus-level-killed' and the Info node `(gnus)Group Levels' for details.") (defconst gnus-level-zombie 8 diff -r 96783fa22d8e -r d2833c80c27c lisp/help-mode.el --- a/lisp/help-mode.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/help-mode.el Fri May 21 12:26:07 2010 +0000 @@ -433,7 +433,9 @@ (let ((data (match-string 2))) (save-match-data (unless (string-match "^([^)]+)" data) - (setq data (concat "(emacs)" data)))) + (setq data (concat "(emacs)" data))) + (setq data ;; possible newlines if para filled + (replace-regexp-in-string "[ \t\n]+" " " data t t))) (help-xref-button 2 'help-info data)))) ;; URLs (save-excursion diff -r 96783fa22d8e -r d2833c80c27c lisp/isearch.el --- a/lisp/isearch.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/isearch.el Fri May 21 12:26:07 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' @@ -460,7 +463,9 @@ (define-key map "\M-\C-y" 'isearch-yank-char) (define-key map "\C-y" 'isearch-yank-line) - (define-key map "\C-h" isearch-help-map) + (define-key map (char-to-string help-char) isearch-help-map) + (define-key map [help] isearch-help-map) + (define-key map [f1] isearch-help-map) (define-key map "\M-n" 'isearch-ring-advance) (define-key map "\M-p" 'isearch-ring-retreat) @@ -868,7 +873,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. @@ -1476,14 +1482,10 @@ (eq 'not-yanks search-upper-case)) (setq string (downcase string))) (if isearch-regexp (setq string (regexp-quote string))) - (setq isearch-string (concat isearch-string string) - isearch-message - (concat isearch-message - (mapconcat 'isearch-text-char-description - string "")) - ;; Don't move cursor in reverse search. - isearch-yank-flag t) - (isearch-search-and-update)) + ;; Don't move cursor in reverse search. + (setq isearch-yank-flag t) + (isearch-process-search-string + string (mapconcat 'isearch-text-char-description string ""))) (defun isearch-yank-kill () "Pull string from kill ring into search string." @@ -1538,14 +1540,18 @@ (interactive "p") (isearch-yank-internal (lambda () (forward-char arg) (point)))) +(declare-function subword-forward "subword" (&optional arg)) (defun isearch-yank-word-or-char () - "Pull next character or word from buffer into search string." + "Pull next character, subword or word from buffer into search string. +Subword is used when `subword-mode' is activated. " (interactive) (isearch-yank-internal (lambda () (if (or (= (char-syntax (or (char-after) 0)) ?w) (= (char-syntax (or (char-after (1+ (point))) 0)) ?w)) - (forward-word 1) + (if (and (boundp 'subword-mode) subword-mode) + (subword-forward 1) + (forward-word 1)) (forward-char 1)) (point)))) (defun isearch-yank-word () diff -r 96783fa22d8e -r d2833c80c27c lisp/loadup.el --- a/lisp/loadup.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/loadup.el Fri May 21 12:26:07 2010 +0000 @@ -54,7 +54,7 @@ (equal (nth 3 command-line-args) "unidata-gen.el") (equal (nth 4 command-line-args) "unidata-gen-files") ;; In case CANNOT_DUMP. - (equal (nth 0 command-line-args) "../src/bootstrap-emacs")) + (string-match "src/bootstrap-emacs" (nth 0 command-line-args))) (let ((dir (car load-path))) ;; We'll probably overflow the pure space. (setq purify-flag nil) diff -r 96783fa22d8e -r d2833c80c27c lisp/locate.el --- a/lisp/locate.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/locate.el Fri May 21 12:26:07 2010 +0000 @@ -326,7 +326,7 @@ (locate-do-setup search-string) )) (and (not (string-equal (buffer-name) locate-buffer-name)) - (switch-to-buffer-other-window locate-buffer-name)) + (pop-to-buffer locate-buffer-name)) (run-hooks 'dired-mode-hook) (dired-next-line 3) ;move to first matching file. diff -r 96783fa22d8e -r d2833c80c27c lisp/nxml/nxml-mode.el --- a/lisp/nxml/nxml-mode.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/nxml/nxml-mode.el Fri May 21 12:26:07 2010 +0000 @@ -404,6 +404,7 @@ (define-key map "\M-}" 'nxml-forward-paragraph) (define-key map "\M-h" 'nxml-mark-paragraph) (define-key map "\C-c\C-f" 'nxml-finish-element) + (define-key map "\C-c/" 'nxml-finish-element) (define-key map "\C-c\C-m" 'nxml-split-element) (define-key map "\C-c\C-b" 'nxml-balanced-close-start-tag-block) (define-key map "\C-c\C-i" 'nxml-balanced-close-start-tag-inline) diff -r 96783fa22d8e -r d2833c80c27c lisp/progmodes/f90.el --- a/lisp/progmodes/f90.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/progmodes/f90.el Fri May 21 12:26:07 2010 +0000 @@ -1008,7 +1008,7 @@ :regexp "\\(?:[^[:word:]_`]\\|^\\)\\(`?[[:word:]_]+\\)[^[:word:]_]*") ;;;###autoload -(defun f90-mode () +(define-derived-mode f90-mode prog-mode "F90" "Major mode for editing Fortran 90,95 code in free format. For fixed format code, use `fortran-mode'. @@ -1065,13 +1065,9 @@ Turning on F90 mode calls the value of the variable `f90-mode-hook' with no args, if that value is non-nil." - (interactive) - (kill-all-local-variables) - (setq major-mode 'f90-mode - mode-name "F90" - local-abbrev-table f90-mode-abbrev-table) - (set-syntax-table f90-mode-syntax-table) - (use-local-map f90-mode-map) + :group 'f90 + :syntax-table f90-mode-syntax-table + :abbrev-table f90-mode-abbrev-table (set (make-local-variable 'indent-line-function) 'f90-indent-line) (set (make-local-variable 'indent-region-function) 'f90-indent-region) (set (make-local-variable 'require-final-newline) mode-require-final-newline) @@ -1094,8 +1090,7 @@ 'f90-beginning-of-subprogram) (set (make-local-variable 'end-of-defun-function) 'f90-end-of-subprogram) (set (make-local-variable 'add-log-current-defun-function) - #'f90-current-defun) - (run-mode-hooks 'f90-mode-hook)) + #'f90-current-defun)) ;; Inline-functions. diff -r 96783fa22d8e -r d2833c80c27c lisp/progmodes/fortran.el --- a/lisp/progmodes/fortran.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/progmodes/fortran.el Fri May 21 12:26:07 2010 +0000 @@ -778,7 +778,7 @@ ;;;###autoload -(defun fortran-mode () +(define-derived-mode fortran-mode prog-mode "Fortran" "Major mode for editing Fortran code in fixed format. For free format code, use `f90-mode'. @@ -848,13 +848,9 @@ Turning on Fortran mode calls the value of the variable `fortran-mode-hook' with no args, if that value is non-nil." - (interactive) - (kill-all-local-variables) - (setq major-mode 'fortran-mode - mode-name "Fortran" - local-abbrev-table fortran-mode-abbrev-table) - (set-syntax-table fortran-mode-syntax-table) - (use-local-map fortran-mode-map) + :group 'fortran + :syntax-table fortran-mode-syntax-table + :abbrev-table fortran-mode-abbrev-table (set (make-local-variable 'indent-line-function) 'fortran-indent-line) (set (make-local-variable 'indent-region-function) (lambda (start end) @@ -906,8 +902,7 @@ #'fortran-current-defun) (set (make-local-variable 'dabbrev-case-fold-search) 'case-fold-search) (set (make-local-variable 'gud-find-expr-function) 'fortran-gud-find-expr) - (add-hook 'hack-local-variables-hook 'fortran-hack-local-variables nil t) - (run-mode-hooks 'fortran-mode-hook)) + (add-hook 'hack-local-variables-hook 'fortran-hack-local-variables nil t)) (defun fortran-line-length (nchars &optional global) diff -r 96783fa22d8e -r d2833c80c27c lisp/progmodes/octave-mod.el --- a/lisp/progmodes/octave-mod.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/progmodes/octave-mod.el Fri May 21 12:26:07 2010 +0000 @@ -214,6 +214,7 @@ (define-key map "\C-c\M-\C-d" 'octave-down-block) (define-key map "\C-c\M-\C-h" 'octave-mark-block) (define-key map "\C-c]" 'octave-close-block) + (define-key map "\C-c/" 'octave-close-block) (define-key map "\C-c\C-f" 'octave-insert-defun) (define-key map "\C-c\C-h" 'octave-help) (define-key map "\C-c\C-il" 'octave-send-line) diff -r 96783fa22d8e -r d2833c80c27c lisp/progmodes/subword.el --- a/lisp/progmodes/subword.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/progmodes/subword.el Fri May 21 12:26:07 2010 +0000 @@ -76,7 +76,7 @@ ;; the old `c-forward-into-nomenclature' originally contributed by ;; Terry_Glanfield dot Southern at rxuk dot xerox dot com. -;; TODO: ispell-word and subword oriented C-w in isearch. +;; TODO: ispell-word. ;;; Code: diff -r 96783fa22d8e -r d2833c80c27c lisp/replace.el --- a/lisp/replace.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/replace.el Fri May 21 12:26:07 2010 +0000 @@ -1980,6 +1980,9 @@ (isearch-regexp regexp) (search-whitespace-regexp nil) (isearch-case-fold-search case-fold)) + ;; Set isearch-word to nil because word-replace is regexp-based, + ;; so `isearch-search-fun' should not use `word-search-forward'. + (if (and isearch-word isearch-regexp) (setq isearch-word nil)) (isearch-lazy-highlight-new-loop range-beg range-end)))) (defun replace-dehighlight () diff -r 96783fa22d8e -r d2833c80c27c lisp/smerge-mode.el --- a/lisp/smerge-mode.el Thu May 20 13:29:53 2010 +0000 +++ b/lisp/smerge-mode.el Fri May 21 12:26:07 2010 +0000 @@ -457,8 +457,8 @@ (defun smerge-resolve (&optional safe) "Resolve the conflict at point intelligently. -This relies on mode-specific knowledge and thus only works in -some major modes. Uses `smerge-resolve-function' to do the actual work." +This relies on mode-specific knowledge and thus only works in some +major modes. Uses `smerge-resolve-function' to do the actual work." (interactive) (smerge-match-conflict) (smerge-remove-props (match-beginning 0) (match-end 0)) @@ -815,12 +815,12 @@ This only matters if `smerge-refine-weight-hack' is nil.") (defvar smerge-refine-ignore-whitespace t - "If non-nil,Indicate that smerge-refine should try to ignore change in whitespace.") + "If non-nil, indicate that `smerge-refine' should try to ignore change in whitespace.") (defvar smerge-refine-weight-hack t "If non-nil, pass to diff as many lines as there are chars in the region. I.e. each atomic element (e.g. word) will be copied as many times (on different -lines) as it has chars. This has 2 advantages: +lines) as it has chars. This has two advantages: - if `diff' tries to minimize the number *lines* (rather than chars) added/removed, this adjust the weights so that adding/removing long symbols is considered correspondingly more costly. @@ -919,8 +919,8 @@ "Show fine differences in the two regions BEG1..END1 and BEG2..END2. PROPS is an alist of properties to put (via overlays) on the changes. If non-nil, PREPROC is called with no argument in a buffer that contains -a copy of a region, just before preparing it to for `diff'. It can be used to -replace chars to try and eliminate some spurious differences." +a copy of a region, just before preparing it to for `diff'. It can be +used to replace chars to try and eliminate some spurious differences." (let* ((buf (current-buffer)) (pos (point)) (file1 (make-temp-file "diff1")) @@ -988,9 +988,9 @@ (defun smerge-refine (&optional part) "Highlight the words of the conflict that are different. -For 3-way conflicts, highlights only 2 of the 3 parts. -A numeric argument PART can be used to specify which 2 parts; -repeating the command will highlight other 2 parts." +For 3-way conflicts, highlights only two of the three parts. +A numeric argument PART can be used to specify which two parts; +repeating the command will highlight other two parts." (interactive (if (integerp current-prefix-arg) (list current-prefix-arg) (smerge-match-conflict) @@ -1161,7 +1161,7 @@ (defun smerge-makeup-conflict (pt1 pt2 pt3 &optional pt4) "Insert diff3 markers to make a new conflict. -Uses point and mark for 2 of the relevant positions and previous marks +Uses point and mark for two of the relevant positions and previous marks for the other ones. By default, makes up a 2-way conflict, with a \\[universal-argument] prefix, makes up a 3-way conflict." @@ -1184,7 +1184,7 @@ (insert "<<<<<<< MINE\n")) (if smerge-mode nil (smerge-mode 1)) (smerge-refine)) - + (defconst smerge-parsep-re (concat smerge-begin-re "\\|" smerge-end-re "\\|" diff -r 96783fa22d8e -r d2833c80c27c msdos/ChangeLog --- a/msdos/ChangeLog Thu May 20 13:29:53 2010 +0000 +++ b/msdos/ChangeLog Fri May 21 12:26:07 2010 +0000 @@ -1,3 +1,12 @@ +2010-05-21 Glenn Morris + + * sed1v2.inp(@ns_frag@): Edit to nothing. + + * sed1x.inp (OLDXMENU): Replace any initial value. + * sed1v2.inp (OLDXMENU): Edit to "nothing". + + * sed1v2.inp (CANNOT_DUMP): Edit to no. + 2010-05-20 Glenn Morris * sed1v2.inp (DEPFLAGS, deps_frag): Edit to empty. diff -r 96783fa22d8e -r d2833c80c27c msdos/mainmake.v2 --- a/msdos/mainmake.v2 Thu May 20 13:29:53 2010 +0000 +++ b/msdos/mainmake.v2 Fri May 21 12:26:07 2010 +0000 @@ -68,10 +68,10 @@ version := ${shell sed -n -e '/(defconst emacs-version/s/^[^"]*\("[^"]*"\).*/\1/p' lisp/version.el} # Q: Do we need to bootstrap? -# A: Only if we find admin/admin.el, i.e. we are building out of CVS, -# and src/b-emacs.exe does not exist. This avoids building a -# bootstrap-emacs and recompiling Lisp files when building a -# pretest/release tarball. +# A: Only if we find admin/admin.el, i.e. we are building out of +# a VCS-checkout (not a release) and src/b-emacs.exe does not exist. +# This avoids building a bootstrap-emacs and recompiling Lisp files +# when building a pretest/release tarball. boot := ifneq ($(wildcard admin/admin.el),) ifeq ($(wildcard src/b-emacs.exe),) diff -r 96783fa22d8e -r d2833c80c27c msdos/sed1v2.inp --- a/msdos/sed1v2.inp Thu May 20 13:29:53 2010 +0000 +++ b/msdos/sed1v2.inp Fri May 21 12:26:07 2010 +0000 @@ -114,7 +114,7 @@ /^WINDOW_SUPPORT *=/s/@WINDOW_SUPPORT@// /^LIBGPM *=/s/@LIBGPM@// /^EXEEXT *=/s/@EXEEXT@/.exe/ -/^OLDXMENU *=/s/@OLDXMENU@// +/^OLDXMENU *=/s/@OLDXMENU@/nothing/ /^LIBXMENU *=/s/@LIBXMENU@// /^LIBX_OTHER *=/s/@LIBX_OTHER@// /^GMALLOC_OBJ *=/s/@GMALLOC_OBJ@/gmalloc.o/ @@ -123,6 +123,7 @@ /^PRE_ALLOC_OBJ *=/s/@PRE_ALLOC_OBJ@/lastfile.o/ /^POST_ALLOC_OBJ *=/s/@POST_ALLOC_OBJ@/$(vmlimitobj)/ /^UNEXEC_OBJ *=/s/@unexec@/unexec.o/ +/^CANNOT_DUMP *=/s/@cannot_dump@/no/ /^DEPFLAGS *=/s/@DEPFLAGS@// /^MKDEPDIR *=/s/@MKDEPDIR@/:/ /^version *=/s/@[^@\n]*@// @@ -148,6 +149,7 @@ /^[ ]touch /s/touch/djecho $@ >/ s/@YMF_PASS_LDFLAGS@/flags/ s/@deps_frag@// +s/@ns_frag@// s/bootstrap-emacs/b-emacs/ s/bootstrap-temacs/b-temacs/ s/bootstrap-doc/b-doc/ diff -r 96783fa22d8e -r d2833c80c27c msdos/sed1x.inp --- a/msdos/sed1x.inp Thu May 20 13:29:53 2010 +0000 +++ b/msdos/sed1x.inp Fri May 21 12:26:07 2010 +0000 @@ -19,7 +19,7 @@ s!^ cd \${oldXMenudir}; \${MAKE}.*$! ${MAKE} -C ${oldXMenudir}.! s!^ @true *$! @rem! s/DOC/DOC-X/g -/^OLDXMENU *=/s!= *!= ${oldXMenudir}libXMenu11.a! +/^OLDXMENU *=/s!=.*!= ${oldXMenudir}libXMenu11.a! /^LIBXMENU *=/s!= *!= ${OLDXMENU}! /^LIBX_OTHER *=/s!= *!= ${LIBXT} ${LIBX_EXTRA}! /^OLDXMENU_TARGET *=/s!= *!= really-oldxmenu! diff -r 96783fa22d8e -r d2833c80c27c src/ChangeLog --- a/src/ChangeLog Thu May 20 13:29:53 2010 +0000 +++ b/src/ChangeLog Fri May 21 12:26:07 2010 +0000 @@ -1,3 +1,27 @@ +2010-05-21 Glenn Morris + + * Makefile.in (${ns_appdir}, ${ns_appbindir}Emacs, ns-app): + Move these rules to ns.mk. + * ns.mk: New file. + + * Makefile.in (../src/$(OLDXMENU), $(OLDXMENU)): Always define rules. + + * Makefile.in (CANNOT_DUMP): New, set by configure. + (emacs${EXEEXT}, bootstrap-emacs${EXEEXT}): Use $CANNOT_DUMP. + +2010-05-20 Juri Linkov + + * fileio.c (Fdelete_file): Change interative spec to use + `read-file-name' like in `find-file-read-args' where the default + value is `default-directory' instead of `buffer-file-name'. + http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00533.html + +2010-05-20 Kevin Ryde + + * keyboard.c (Vlast_command, Vkeyboard_translate_table) + (Voverriding_terminal_local_map, Vsystem_key_alist) + (Vlocal_function_key_map): Fix manual link in docstring (Bug#6224). + 2010-05-20 Glenn Morris * Makefile.in (DEPDIR): New constant. diff -r 96783fa22d8e -r d2833c80c27c src/Makefile.in --- a/src/Makefile.in Thu May 20 13:29:53 2010 +0000 +++ b/src/Makefile.in Fri May 21 12:26:07 2010 +0000 @@ -173,13 +173,20 @@ ## Only used if HAVE_X_WINDOWS. LIBXT_OTHER=@LIBXT_OTHER@ -## Only used if HAVE_X11 && !USE_GTK. -## really-lwlib if USE_X_TOOLKIT, else really-oldxmenu. +## If !HAVE_X11 || USE_GTK, empty. +## Else if USE_X_TOOLKIT really-lwlib, else really-oldxmenu. OLDXMENU_TARGET=@OLDXMENU_TARGET@ ## If !HAVE_X11 || USE_GTK, empty. ## Else if USE_X_TOOLKIT, ${lwlibdir}liblw.a. ## Else ${oldXMenudir}libXMenu11.a. +## (Actually, rather than being empty, it is set to "nothing". +## It is never actually used for anything in this case. +## This is done because there is a rule with target $(OLDXMENU) below, +## and I think it might be a syntax error with some makes to have +## an empty target, even if the associated rule is never run. +## http://lists.gnu.org/archive/html/help-make/2010-05/msg00058.html +## The alternative would be to put that rule in a makefile fragment.) OLDXMENU=@OLDXMENU@ ## If HAVE_X11 && !USE_GTK, ${OLDXMENU} ../src/${OLDXMENU}; else empty. @@ -284,10 +291,13 @@ UNEXEC_OBJ = @unexec@ +CANNOT_DUMP=@cannot_dump@ + DEPDIR=deps ## -MMD -MF ${DEPDIR}/$*.d if AUTO_DEPEND; else empty. DEPFLAGS=@DEPFLAGS@ ## test -d ${DEPDIR} || mkdir ${DEPDIR} (if AUTO_DEPEND); else ':'. +## FIXME This can fail in parallel builds. Use mkinstalldirs instead? MKDEPDIR=@MKDEPDIR@ # ========================== start of cpp stuff ======================= @@ -599,18 +609,18 @@ all: emacs${EXEEXT} $(OTHER_FILES) /* Does anyone ever pay attention to the load-path-shadows output here? */ +/* The dumped Emacs is as functional and more efficient than + bootstrap-emacs, so we replace the latter with the former. */ emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp} -#ifdef CANNOT_DUMP - rm -f emacs${EXEEXT} - ln temacs${EXEEXT} emacs${EXEEXT} - -EMACSLOADPATH=${lispsource} ./emacs -q -batch -f list-load-path-shadows -#else - LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump - @: This new Emacs is as functional and more efficient then - @: bootstrap-emacs, so let us replace it. - -ln -f emacs${EXEEXT} bootstrap-emacs${EXEEXT} - -./emacs -q -batch -f list-load-path-shadows -#endif /* ! defined (CANNOT_DUMP) */ + if test "${CANNOT_DUMP}" = "yes"; then \ + ln -f temacs${EXEEXT} emacs${EXEEXT}; \ + EMACSLOADPATH=${lispsource} ./emacs -q -batch \ + -f list-load-path-shadows || true; \ + else \ + LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump || exit 1; \ + ln -f emacs${EXEEXT} bootstrap-emacs${EXEEXT}; \ + ./emacs -q -batch -f list-load-path-shadows || true; \ + fi /* We run make-docfile twice because the command line may get too long on some systems. */ @@ -648,8 +658,9 @@ $(CC) $(LDFLAGS) prefix-args.o -o prefix-args -/* Only (possibly) used if HAVE_X11 && !USE_GTK, but no harm in always - defining. */ +/* The following oldxmenu-related rules are only (possibly) used if + HAVE_X11 && !USE_GTK, but there is no harm in always defining them + (provided we take a little care that OLDXMENU is never empty). */ really-lwlib: cd ${lwlibdir}; ${MAKE} ${MFLAGS} \ CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' @@ -667,13 +678,10 @@ stamp-oldxmenu: ${OLDXMENU_DEPS} touch stamp-oldxmenu -/* HAVE_X11 implies HAVE_X_WINDOWS and HAVE_MENUS. */ -#if defined (HAVE_X11) && ! defined (USE_GTK) /* Supply an ordering for parallel make. */ ../src/$(OLDXMENU): ${OLDXMENU} $(OLDXMENU): $(OLDXMENU_TARGET) -#endif /* HAVE_X11 && !USE_GTK */ ../config.status:: epaths.in @echo "The file epaths.h needs to be set up from epaths.in." @@ -691,22 +699,9 @@ doc.o: buildobj.h -/* System-specific programs to be made. - OTHER_FILES select which of these should be compiled. */ +/* If HAVE_NS, some ns-specific rules (for OTHER_FILES) are inserted here. */ +@ns_frag@ -#ifdef HAVE_NS -${ns_appdir}: ${ns_appsrc} - rm -fr ${ns_appdir} - mkdir -p ${ns_appdir} - ( cd ${ns_appsrc} ; tar cfh - . ) | ( cd ${ns_appdir} ; umask 022; tar xf - ) -#endif /* HAVE_NS */ - -/* These are only used if HAVE_NS, but no harm in always defining them. */ -${ns_appbindir}Emacs: emacs${EXEEXT} - mkdir -p ${ns_appbindir} - cp -f emacs${EXEEXT} ${ns_appbindir}Emacs - -ns-app: ${ns_appdir} ${ns_appbindir}Emacs mostlyclean: rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a @@ -807,14 +802,14 @@ bootstrap-emacs${EXEEXT}: temacs${EXEEXT} cd ../lisp; $(MAKE) $(MFLAGS) update-subdirs -#ifdef CANNOT_DUMP - ln -f temacs${EXEEXT} bootstrap-emacs${EXEEXT} -#else - $(RUN_TEMACS) --batch --load loadup bootstrap - mv -f emacs${EXEEXT} bootstrap-emacs${EXEEXT} -#endif /* ! defined (CANNOT_DUMP) */ + if test "${CANNOT_DUMP}" = "yes"; then \ + ln -f temacs${EXEEXT} bootstrap-emacs${EXEEXT}; \ + else \ + $(RUN_TEMACS) --batch --load loadup bootstrap || exit 1; \ + mv -f emacs${EXEEXT} bootstrap-emacs${EXEEXT}; \ + fi @: Compile some files earlier to speed up further compilation. cd ../lisp; $(MAKE) $(MFLAGS) compile-first EMACS=${bootstrap_exe} -## Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk. +/* Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk. */ @deps_frag@ diff -r 96783fa22d8e -r d2833c80c27c src/fileio.c --- a/src/fileio.c Thu May 20 13:29:53 2010 +0000 +++ b/src/fileio.c Fri May 21 12:26:07 2010 +0000 @@ -2194,7 +2194,10 @@ return Qnil; } -DEFUN ("delete-file", Fdelete_file, Sdelete_file, 1, 2, "fDelete file: \nP", +DEFUN ("delete-file", Fdelete_file, Sdelete_file, 1, 2, + "(list (read-file-name \"Delete file: \" nil default-directory \ + (confirm-nonexistent-file-or-buffer)) \ + current-prefix-arg)", doc: /* Delete file named FILENAME. If it is a symlink, remove the symlink. If file has multiple names, it continues to exist with the other names. diff -r 96783fa22d8e -r d2833c80c27c src/keyboard.c --- a/src/keyboard.c Thu May 20 13:29:53 2010 +0000 +++ b/src/keyboard.c Fri May 21 12:26:07 2010 +0000 @@ -11985,7 +11985,7 @@ was a kill command. `last-command' has a separate binding for each terminal device. -See Info node `(elisp)Multiple displays'. */); +See Info node `(elisp)Multiple Terminals'. */); DEFVAR_KBOARD ("real-last-command", Vreal_last_command, doc: /* Same as `last-command', but never altered by Lisp code. */); @@ -12123,8 +12123,8 @@ This is applied to the characters supplied to input methods, not their output. See also `translation-table-for-input'. -This variable has a separate binding for each terminal. See Info node -`(elisp)Multiple displays'. */); +This variable has a separate binding for each terminal. +See Info node `(elisp)Multiple Terminals'. */); DEFVAR_BOOL ("cannot-suspend", &cannot_suspend, doc: /* Non-nil means to always spawn a subshell instead of suspending. @@ -12215,7 +12215,7 @@ `overriding-terminal-local-map' has a separate binding for each terminal device. -See Info node `(elisp)Multiple displays'. */); +See Info node `(elisp)Multiple Terminals'. */); DEFVAR_LISP ("overriding-local-map", &Voverriding_local_map, doc: /* Keymap that overrides all other local keymaps. @@ -12243,7 +12243,7 @@ and SYMBOL is its name. `system-key-alist' has a separate binding for each terminal device. -See Info node `(elisp)Multiple displays'. */); +See Info node `(elisp)Multiple Terminals'. */); DEFVAR_KBOARD ("local-function-key-map", Vlocal_function_key_map, doc: /* Keymap that translates key sequences to key sequences during input. @@ -12269,7 +12269,7 @@ typing `ESC O P x' would return [f1 x]. `local-function-key-map' has a separate binding for each terminal -device. See Info node `(elisp)Multiple displays'. If you need to +device. See Info node `(elisp)Multiple Terminals'. If you need to define a binding on all terminals, change `function-key-map' instead. Initially, `local-function-key-map' is an empty keymap that has `function-key-map' as its parent on all terminal devices. */); diff -r 96783fa22d8e -r d2833c80c27c src/ns.mk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ns.mk Fri May 21 12:26:07 2010 +0000 @@ -0,0 +1,39 @@ +/* autodeps.mk --- src/Makefile fragment for GNU Emacs + +Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. + +This file is part of GNU Emacs. + +GNU Emacs is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs. If not, see . + +Commentary: + +This is inserted in src/Makefile if HAVE_NS. + +The only reason this is in a separate file is because $ns_appdir, +which appears as a target, is empty on non-NS builds. Some makes +do not like empty targets, even if they are never used. */ + +${ns_appdir}: ${ns_appsrc} + rm -fr ${ns_appdir} + mkdir -p ${ns_appdir} + ( cd ${ns_appsrc} ; tar cfh - . ) | ( cd ${ns_appdir} ; umask 022; tar xf - ) + +${ns_appbindir}Emacs: emacs${EXEEXT} + mkdir -p ${ns_appbindir} + cp -f emacs${EXEEXT} ${ns_appbindir}Emacs + +ns-app: ${ns_appdir} ${ns_appbindir}Emacs + +/* ns.mk ends here */