Using saved parent location: http://bzr.savannah.gnu.org/r/emacs/trunk/ Now on revision 100410. ------------------------------------------------------------ revno: 100410 committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 23:43:04 +0300 message: * progmodes/grep.el (grep-read-files): Fix multi-pattern aliases. Remove "all" from grep-files-aliases. Split grep-files-aliases by whitespace, call wildcard-to-regexp on substrings and concat them with "\\|". (Bug#6114) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-21 19:51:48 +0000 +++ lisp/ChangeLog 2010-05-21 20:43:04 +0000 @@ -1,3 +1,10 @@ +2010-05-21 Juri Linkov + + * progmodes/grep.el (grep-read-files): Fix multi-pattern aliases. + Remove "all" from grep-files-aliases. Split grep-files-aliases by + whitespace, call wildcard-to-regexp on substrings and concat them + with "\\|". (Bug#6114) + 2010-05-21 Alan Mackenzie * progmodes/cc-engine.el (c-parse-state-get-strategy): Replace === modified file 'lisp/progmodes/grep.el' --- lisp/progmodes/grep.el 2010-04-14 15:33:42 +0000 +++ lisp/progmodes/grep.el 2010-05-21 20:43:04 +0000 @@ -781,12 +781,17 @@ (file-name-nondirectory bn))) (default-alias (and fn - (let ((aliases grep-files-aliases) + (let ((aliases (remove (assoc "all" grep-files-aliases) + grep-files-aliases)) alias) (while aliases (setq alias (car aliases) aliases (cdr aliases)) - (if (string-match (wildcard-to-regexp (cdr alias)) fn) + (if (string-match (mapconcat + 'wildcard-to-regexp + (split-string (cdr alias) nil t) + "\\|") + fn) (setq aliases nil) (setq alias nil))) (cdr alias)))) ------------------------------------------------------------ revno: 100409 committer: Alan Mackenzie branch nick: trunk timestamp: Fri 2010-05-21 19:51:48 +0000 message: Fix a bug which happens when doing (c-parse-state) in a CPP construct: Exclude any "new" CPP construct from taking part in the scanning. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-21 14:16:42 +0000 +++ lisp/ChangeLog 2010-05-21 19:51:48 +0000 @@ -1,3 +1,12 @@ +2010-05-21 Alan Mackenzie + + * progmodes/cc-engine.el (c-parse-state-get-strategy): Replace + parameter `here' with `here-' and `here-plus', which sandwich any + pertinent CPP construct. + (c-remove-stale-state-cache-backwards): Fix a bug which happens + when doing (c-parse-state) in a CPP construct: Exclude any "new" + CPP construct from taking part in the scanning. + 2010-05-21 Michael Albinus * net/tramp.el (tramp-do-copy-or-rename-file) === modified file 'lisp/progmodes/cc-engine.el' --- lisp/progmodes/cc-engine.el 2010-04-19 15:07:52 +0000 +++ lisp/progmodes/cc-engine.el 2010-05-21 19:51:48 +0000 @@ -2245,50 +2245,50 @@ (setq cnt (1- cnt))))) (point))) -(defun c-state-balance-parens-backwards (here top) - ;; Return the position of the opening paren/brace/bracket before HERE which - ;; matches the outermost close p/b/b between HERE and TOP, like this: +(defun c-state-balance-parens-backwards (here- here+ top) + ;; Return the position of the opening paren/brace/bracket before HERE- which + ;; matches the outermost close p/b/b between HERE+ and TOP. Except when + ;; there's a macro, HERE- and HERE+ are the same. Like this: ;; - ;; ...................................... - ;; | | - ;; ( [ ( ........... ) ( ) ] ) - ;; ^ ^ ^ - ;; | | | - ;; return HERE TOP + ;; ............................................ + ;; | | + ;; ( [ ( .........#macro.. ) ( ) ] ) + ;; ^ ^ ^ ^ + ;; | | | | + ;; return HERE- HERE+ TOP ;; ;; If there aren't enough opening paren/brace/brackets, return the position - ;; of the outermost one found, or HERE it there are none. If there are no - ;; closeing p/b/bs between HERE and TOP, return HERE. HERE and TOP must not - ;; be inside literals. Only the accessible portion of the buffer will be - ;; scanned. + ;; of the outermost one found, or HERE- if there are none. If there are no + ;; closeing p/b/bs between HERE+ and TOP, return HERE-. HERE-/+ and TOP + ;; must not be inside literals. Only the accessible portion of the buffer + ;; will be scanned. - ;; PART 1: scan from `here' up to `top', accumulating ")"s which enclose - ;; `here'. Go round the next loop each time we pass over such a ")". These - ;; probably match "("s before `here'. + ;; PART 1: scan from `here+' up to `top', accumulating ")"s which enclose + ;; `here'. Go round the next loop each time we pass over such a ")". These + ;; probably match "("s before `here-'. (let (pos pa ren+1 lonely-rens) (save-excursion (save-restriction (narrow-to-region (point-min) top) ; This can move point, sometimes. - (setq pos here) + (setq pos here+) (c-safe (while (setq ren+1 (scan-lists pos 1 1)) ; might signal (setq lonely-rens (cons ren+1 lonely-rens) pos ren+1))))) - ;; PART 2: Scan back before `here' searching for the "("s + ;; PART 2: Scan back before `here-' searching for the "("s ;; matching/mismatching the ")"s found above. We only need to direct the ;; caller to scan when we've encountered unmatched right parens. - (when lonely-rens - (setq pos here) - (c-safe - (while - (and lonely-rens ; actual values aren't used. - (setq pa (scan-lists pos -1 1))) - (setq pos pa) - (setq lonely-rens (cdr lonely-rens)))) ;) - ) - pos)) + (setq pos here-) + (when lonely-rens + (c-safe + (while + (and lonely-rens ; actual values aren't used. + (setq pa (scan-lists pos -1 1))) + (setq pos pa) + (setq lonely-rens (cdr lonely-rens))))) + pos)) (defun c-parse-state-get-strategy (here good-pos) ;; Determine the scanning strategy for adjusting `c-parse-state', attempting @@ -2746,6 +2746,7 @@ lit ; (START . END) of a literal containing some point. here-lit-start here-lit-end ; bounds of literal containing `here' ; or `here' itself. + here- here+ ; start/end of macro around HERE, or HERE (here-bol (c-point 'bol here)) (too-far-back (max (- here c-state-cache-too-far) 1))) @@ -2758,57 +2759,73 @@ ;; At this stage, (> pos here); ;; (< (c-state-cache-top-lparen) here) (or is nil). - ;; CASE 1: The top of the cache is a brace pair which now encloses `here'. - ;; As good-pos, return the address. of the "{". - (if (and (consp (car c-state-cache)) - (> (cdar c-state-cache) here)) - ;; Since we've no knowledge of what's inside these braces, we have no - ;; alternative but to direct the caller to scan the buffer from the - ;; opening brace. - (progn - (setq pos (caar c-state-cache)) - (setcar c-state-cache pos) - (list (1+ pos) pos t)) ; return value. We've just converted a brace - ; pair entry into a { entry, so the caller - ; needs to search for a brace pair before the - ; {. - - ;; ;; `here' might be inside a literal. Check for this. - (setq lit (c-state-literal-at here) - here-lit-start (or (car lit) here) - here-lit-end (or (cdr lit) here)) - - ;; `here' might be nested inside any depth of parens (or brackets but - ;; not braces). Scan backwards to find the outermost such opening - ;; paren, if there is one. This will be the scan position to return. - (save-restriction - (narrow-to-region cache-pos (point-max)) - (setq pos (c-state-balance-parens-backwards here-lit-end pos))) - - (if (< pos here-lit-start) - ;; CASE 2: Address of outermost ( or [ which now encloses `here', - ;; but didn't enclose the (previous) `c-state-cache-good-pos'. If - ;; there is a brace pair preceding this, it will already be in - ;; `c-state-cache', unless there was a brace pair after it, - ;; i.e. there'll only be one to scan for if we've just deleted one. - (list pos (and dropped-cons pos) t) ; Return value. - - ;; `here' isn't enclosed in a (previously unrecorded) bracket/paren. - ;; Further forward scanning isn't needed, but we still need to find a - ;; GOOD-POS. Step out of all enclosing "("s on HERE's line. + (cond + ((and (consp (car c-state-cache)) + (> (cdar c-state-cache) here)) + ;; CASE 1: The top of the cache is a brace pair which now encloses + ;; `here'. As good-pos, return the address. of the "{". Since we've no + ;; knowledge of what's inside these braces, we have no alternative but + ;; to direct the caller to scan the buffer from the opening brace. + (setq pos (caar c-state-cache)) + (setcar c-state-cache pos) + (list (1+ pos) pos t)) ; return value. We've just converted a brace pair + ; entry into a { entry, so the caller needs to + ; search for a brace pair before the {. + + ;; `here' might be inside a literal. Check for this. + ((progn + (setq lit (c-state-literal-at here) + here-lit-start (or (car lit) here) + here-lit-end (or (cdr lit) here)) + ;; Has `here' just "newly entered" a macro? + (save-excursion + (goto-char here-lit-start) + (if (and (c-beginning-of-macro) + (or (null c-state-old-cpp-beg) + (not (= (point) c-state-old-cpp-beg)))) + (progn + (setq here- (point)) + (c-end-of-macro) + (setq here+ (point))) + (setq here- here-lit-start + here+ here-lit-end))) + + ;; `here' might be nested inside any depth of parens (or brackets but + ;; not braces). Scan backwards to find the outermost such opening + ;; paren, if there is one. This will be the scan position to return. + (save-restriction + (narrow-to-region cache-pos (point-max)) + (setq pos (c-state-balance-parens-backwards here- here+ pos))) + nil)) ; for the cond + + ((< pos here-lit-start) + ;; CASE 2: Address of outermost ( or [ which now encloses `here', but + ;; didn't enclose the (previous) `c-state-cache-good-pos'. If there is + ;; a brace pair preceding this, it will already be in `c-state-cache', + ;; unless there was a brace pair after it, i.e. there'll only be one to + ;; scan for if we've just deleted one. + (list pos (and dropped-cons pos) t)) ; Return value. + + ;; `here' isn't enclosed in a (previously unrecorded) bracket/paren. + ;; Further forward scanning isn't needed, but we still need to find a + ;; GOOD-POS. Step out of all enclosing "("s on HERE's line. + ((progn (save-restriction (narrow-to-region here-bol (point-max)) (setq pos here-lit-start) (c-safe (while (setq pa (scan-lists pos -1 1)) (setq pos pa)))) ; might signal - (if (setq ren (c-safe-scan-lists pos -1 -1 too-far-back)) - ;; CASE 3: After a }/)/] before `here''s BOL. - (list (1+ ren) (and dropped-cons pos) nil) ; Return value - - ;; CASE 4; Best of a bad job: BOL before `here-bol', or beginning of - ;; literal containing it. - (setq good-pos (c-state-lit-beg (c-point 'bopl here-bol))) - (list good-pos (and dropped-cons good-pos) nil)))))) + nil)) ; for the cond + + ((setq ren (c-safe-scan-lists pos -1 -1 too-far-back)) + ;; CASE 3: After a }/)/] before `here''s BOL. + (list (1+ ren) (and dropped-cons pos) nil)) ; Return value + + (t + ;; CASE 4; Best of a bad job: BOL before `here-bol', or beginning of + ;; literal containing it. + (setq good-pos (c-state-lit-beg (c-point 'bopl here-bol))) + (list good-pos (and dropped-cons good-pos) nil))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ------------------------------------------------------------ revno: 100408 committer: Chong Yidong branch nick: trunk timestamp: Fri 2010-05-21 13:29:27 -0400 message: Improve image cache clearing logic (Bug#6230). * xdisp.c (redisplay_internal): Clear caches even if redisplaying just one window. * image.c (Vimage_cache_eviction_delay): Decrease to 300. (clear_image_cache): If the number of cached images is unusually large, decrease the cache eviction delay. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-21 01:39:21 +0000 +++ src/ChangeLog 2010-05-21 17:29:27 +0000 @@ -1,3 +1,12 @@ +2010-05-21 Chong Yidong + + * xdisp.c (redisplay_internal): Clear caches even if redisplaying + just one window. + + * image.c (Vimage_cache_eviction_delay): Decrease to 300. + (clear_image_cache): If the number of cached images is unusually + large, decrease the cache eviction delay (Bug#6230). + 2010-05-21 Glenn Morris * Makefile.in (${ns_appdir}, ${ns_appbindir}Emacs, ns-app): === modified file 'src/image.c' --- src/image.c 2010-03-31 14:55:01 +0000 +++ src/image.c 2010-05-21 17:29:27 +0000 @@ -1582,29 +1582,56 @@ { struct image_cache *c = FRAME_IMAGE_CACHE (f); - if (c && (!NILP (filter) || INTEGERP (Vimage_cache_eviction_delay))) + if (c) { - EMACS_TIME t; - unsigned long old; - int i, nfreed; - - EMACS_GET_TIME (t); - old = EMACS_SECS (t) - XFASTINT (Vimage_cache_eviction_delay); + int i, nfreed = 0; /* Block input so that we won't be interrupted by a SIGIO while being in an inconsistent state. */ BLOCK_INPUT; - for (i = nfreed = 0; i < c->used; ++i) - { - struct image *img = c->images[i]; - if (img != NULL - && (NILP (filter) ? img->timestamp < old - : (EQ (Qt, filter) - || !NILP (Fmember (filter, img->dependencies))))) - { - free_image (f, img); - ++nfreed; + if (!NILP (filter)) + { + /* Filter image cache. */ + for (i = 0; i < c->used; ++i) + { + struct image *img = c->images[i]; + if (img && (EQ (Qt, filter) + || !NILP (Fmember (filter, img->dependencies)))) + { + free_image (f, img); + ++nfreed; + } + } + } + else if (INTEGERP (Vimage_cache_eviction_delay)) + { + /* Free cache based on timestamp. */ + EMACS_TIME t; + unsigned long old; + int delay, nimages = 0; + + for (i = 0; i < c->used; ++i) + if (c->images[i]) + nimages++; + + /* If the number of cached images has grown unusually large, + decrease the cache eviction delay (Bug#6230). */ + delay = XFASTINT (Vimage_cache_eviction_delay); + if (nimages > 40) + delay = max (1, 1600 * delay / (nimages*nimages)); + + EMACS_GET_TIME (t); + old = EMACS_SECS (t) - delay; + + for (i = 0; i < c->used; ++i) + { + struct image *img = c->images[i]; + if (img && img->timestamp < old) + { + free_image (f, img); + ++nfreed; + } } } @@ -8520,11 +8547,14 @@ Vx_bitmap_file_path = decode_env_path ((char *) 0, PATH_BITMAPS); DEFVAR_LISP ("image-cache-eviction-delay", &Vimage_cache_eviction_delay, - doc: /* Time after which cached images are removed from the cache. -When an image has not been displayed this many seconds, remove it -from the image cache. Value must be an integer or nil with nil -meaning don't clear the cache. */); - Vimage_cache_eviction_delay = make_number (30 * 60); + doc: /* Maximum time after which images are removed from the cache. +When an image has not been displayed this many seconds, Emacs +automatically removes it from the image cache. If the cache contains +a large number of images, the actual eviction time may be shorter. +The value can also be nil, meaning the cache is never cleared. + +The function `clear-image-cache' disregards this variable. */); + Vimage_cache_eviction_delay = make_number (300); } void === modified file 'src/xdisp.c' --- src/xdisp.c 2010-05-15 13:23:48 +0000 +++ src/xdisp.c 2010-05-21 17:29:27 +0000 @@ -12499,22 +12499,25 @@ if (windows_or_buffers_changed && !pause) goto retry; - /* Clear the face cache eventually. */ - if (consider_all_windows_p) + /* Clear the face and image caches. + + We used to do this only if consider_all_windows_p. But the cache + needs to be cleared if a timer creates images in the current + buffer (e.g. the test case in Bug#6230). */ + + if (clear_face_cache_count > CLEAR_FACE_CACHE_COUNT) { - if (clear_face_cache_count > CLEAR_FACE_CACHE_COUNT) - { - clear_face_cache (0); - clear_face_cache_count = 0; - } + clear_face_cache (0); + clear_face_cache_count = 0; + } + #ifdef HAVE_WINDOW_SYSTEM - if (clear_image_cache_count > CLEAR_IMAGE_CACHE_COUNT) - { - clear_image_caches (Qnil); - clear_image_cache_count = 0; - } + if (clear_image_cache_count > CLEAR_IMAGE_CACHE_COUNT) + { + clear_image_caches (Qnil); + clear_image_cache_count = 0; + } #endif /* HAVE_WINDOW_SYSTEM */ - } end_of_redisplay: unbind_to (count, Qnil); ------------------------------------------------------------ revno: 100407 committer: Glenn Morris branch nick: trunk timestamp: Fri 2010-05-21 09:31:45 -0700 message: * configure.in (MKDEPDIR): Parallel build tweak. * src/Makefile.in: Comment. diff: === modified file 'ChangeLog' --- ChangeLog 2010-05-21 00:48:14 +0000 +++ ChangeLog 2010-05-21 16:31:45 +0000 @@ -1,5 +1,7 @@ 2010-05-21 Glenn Morris + * configure.in (MKDEPDIR): Parallel build tweak. + * configure.in (ns_frag): New output file. * configure.in (OLDXMENU): Set to "nothing" if !HAVE_X11 || USE_GTK. === modified file 'configure.in' --- configure.in 2010-05-21 00:48:14 +0000 +++ configure.in 2010-05-21 16:31:45 +0000 @@ -1376,7 +1376,10 @@ fi if test $ac_enable_autodepend = yes; then DEPFLAGS='-MMD -MF ${DEPDIR}/$*.d' - MKDEPDIR='test -d ${DEPDIR} || mkdir ${DEPDIR}' + ## In parallel builds, another make might create depdir between + ## the first test and mkdir, so stick another test on the end. + ## Or use mkinstalldirs? mkdir -p is not portable. + MKDEPDIR='test -d ${DEPDIR} || mkdir ${DEPDIR} || test -d ${DEPDIR}' deps_frag=autodeps.mk fi fi === modified file 'src/Makefile.in' --- src/Makefile.in 2010-05-21 01:43:44 +0000 +++ src/Makefile.in 2010-05-21 16:31:45 +0000 @@ -297,7 +297,6 @@ ## -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 ======================= ------------------------------------------------------------ revno: 100406 committer: Michael Albinus branch nick: trunk timestamp: Fri 2010-05-21 16:16:42 +0200 message: * net/tramp.el (tramp-do-copy-or-rename-file) (tramp-handle-file-local-copy, tramp-maybe-open-connection): Tune `with-progress-reporter' messages. (tramp-handle-vc-registered): * net/tramp-fish.el (tramp-fish-handle-file-local-copy) (tramp-fish-handle-insert-file-contents) (tramp-fish-maybe-open-connection): * net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): * net/tramp-imap.el (tramp-imap-do-copy-or-rename-file) (tramp-imap-handle-insert-file-contents) (tramp-imap-handle-file-local-copy): Use `with-progress-reporter'. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-21 01:46:38 +0000 +++ lisp/ChangeLog 2010-05-21 14:16:42 +0000 @@ -1,3 +1,17 @@ +2010-05-21 Michael Albinus + + * net/tramp.el (tramp-do-copy-or-rename-file) + (tramp-handle-file-local-copy, tramp-maybe-open-connection): Tune + `with-progress-reporter' messages. + (tramp-handle-vc-registered): + * net/tramp-fish.el (tramp-fish-handle-file-local-copy) + (tramp-fish-handle-insert-file-contents) + (tramp-fish-maybe-open-connection): + * net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): + * net/tramp-imap.el (tramp-imap-do-copy-or-rename-file) + (tramp-imap-handle-insert-file-contents) + (tramp-imap-handle-file-local-copy): Use `with-progress-reporter'. + 2010-05-21 Juanma Barranquero * add-log.el (change-log-font-lock-keywords): === modified file 'lisp/net/tramp-fish.el' --- lisp/net/tramp-fish.el 2010-05-05 10:20:23 +0000 +++ lisp/net/tramp-fish.el 2010-05-21 14:16:42 +0000 @@ -149,9 +149,12 @@ ;; parameter of `write-region'. Transfer of binary data fails due to ;; Emacs' process input/output handling. - ;;; Code: +(eval-when-compile + ;; Pacify byte-compiler. + (require 'cl)) + (require 'tramp) (require 'tramp-cache) (require 'tramp-compat) @@ -487,13 +490,13 @@ v 'file-error "Cannot make local copy of non-existing file `%s'" filename)) (let ((tmpfile (tramp-compat-make-temp-file filename))) - (tramp-message v 4 "Fetching %s to tmp file %s..." filename tmpfile) - (when (tramp-fish-retrieve-data v) - ;; Save file - (with-current-buffer (tramp-get-buffer v) - (write-region (point-min) (point-max) tmpfile)) - (tramp-message v 4 "Fetching %s to tmp file %s...done" filename tmpfile) - tmpfile)))) + (with-progress-reporter + v 3 (format "Fetching %s to tmp file %s" filename tmpfile) + (when (tramp-fish-retrieve-data v) + ;; Save file + (with-current-buffer (tramp-get-buffer v) + (write-region (point-min) (point-max) tmpfile)) + tmpfile))))) ;; This function should return "foo/" for directories and "bar" for ;; files. @@ -591,17 +594,16 @@ (let ((point (point)) size) - (tramp-message v 4 "Fetching file %s..." filename) - (when (tramp-fish-retrieve-data v) - ;; Insert file - (insert - (with-current-buffer (tramp-get-buffer v) - (let ((beg (or beg (point-min))) - (end (min (or end (point-max)) (point-max)))) - (setq size (- end beg)) - (buffer-substring beg end)))) - (goto-char point)) - (tramp-message v 4 "Fetching file %s...done" filename) + (with-progress-reporter v 3 (format "Fetching file %s" filename) + (when (tramp-fish-retrieve-data v) + ;; Insert file + (insert + (with-current-buffer (tramp-get-buffer v) + (let ((beg (or beg (point-min))) + (end (min (or end (point-max)) (point-max)))) + (setq size (- end beg)) + (buffer-substring beg end)))) + (goto-char point))) (list (expand-file-name filename) size))))) @@ -1115,34 +1117,36 @@ (delete-process p)) (setenv "TERM" tramp-terminal-type) (setenv "PS1" tramp-initial-end-of-output) - (tramp-message - vec 3 "Opening connection for %s@%s using %s..." - tramp-current-user tramp-current-host tramp-current-method) - - (let* ((process-connection-type tramp-process-connection-type) - (inhibit-eol-conversion nil) - (coding-system-for-read 'binary) - (coding-system-for-write 'binary) - ;; This must be done in order to avoid our file name handler. - (p (let ((default-directory - (tramp-compat-temporary-file-directory))) - (start-process - (or (tramp-get-connection-property vec "process-name" nil) - (tramp-buffer-name vec)) - (tramp-get-connection-buffer vec) - "ssh" "-l" - (tramp-file-name-user vec) - (tramp-file-name-host vec))))) - (tramp-message vec 6 "%s" (mapconcat 'identity (process-command p) " ")) - - ;; Check whether process is alive. - (tramp-set-process-query-on-exit-flag p nil) - - (tramp-process-actions p vec tramp-actions-before-shell 60) - (tramp-fish-send-command vec tramp-fish-start-fish-server-command) - (tramp-message - vec 3 - "Found remote shell prompt on `%s'" (tramp-file-name-host vec)))))) + (with-progress-reporter + vec 3 + (format "Opening connection for %s@%s using %s" + tramp-current-user tramp-current-host tramp-current-method) + + (let* ((process-connection-type tramp-process-connection-type) + (inhibit-eol-conversion nil) + (coding-system-for-read 'binary) + (coding-system-for-write 'binary) + ;; This must be done in order to avoid our file name handler. + (p (let ((default-directory + (tramp-compat-temporary-file-directory))) + (start-process + (or (tramp-get-connection-property vec "process-name" nil) + (tramp-buffer-name vec)) + (tramp-get-connection-buffer vec) + "ssh" "-l" + (tramp-file-name-user vec) + (tramp-file-name-host vec))))) + (tramp-message + vec 6 "%s" (mapconcat 'identity (process-command p) " ")) + + ;; Check whether process is alive. + (tramp-set-process-query-on-exit-flag p nil) + + (tramp-process-actions p vec tramp-actions-before-shell 60) + (tramp-fish-send-command vec tramp-fish-start-fish-server-command) + (tramp-message + vec 3 + "Found remote shell prompt on `%s'" (tramp-file-name-host vec))))))) (defun tramp-fish-send-command (vec command) "Send the COMMAND to connection VEC." === modified file 'lisp/net/tramp-gvfs.el' --- lisp/net/tramp-gvfs.el 2010-05-09 19:57:55 +0000 +++ lisp/net/tramp-gvfs.el 2010-05-21 14:16:42 +0000 @@ -1067,65 +1067,58 @@ (tramp-gvfs-object-path (tramp-make-tramp-file-name method user host "")))) - (if (zerop (length (tramp-file-name-user vec))) - (tramp-message - vec 3 "Opening connection for %s using %s..." host method) - (tramp-message - vec 3 "Opening connection for %s@%s using %s..." user host method)) - - ;; Enable auth-sorce and password-cache. - (tramp-set-connection-property vec "first-password-request" t) - - ;; There will be a callback of "askPassword", when a password is - ;; needed. - (dbus-register-method - :session dbus-service-emacs object-path - tramp-gvfs-interface-mountoperation "askPassword" - 'tramp-gvfs-handler-askpassword) - - ;; There could be a callback of "askQuestion", when adding fingerprint. - (dbus-register-method - :session dbus-service-emacs object-path - tramp-gvfs-interface-mountoperation "askQuestion" - 'tramp-gvfs-handler-askquestion) - - ;; The call must be asynchronously, because of the "askPassword" - ;; or "askQuestion"callbacks. - (with-tramp-dbus-call-method vec nil - :session tramp-gvfs-service-daemon tramp-gvfs-path-mounttracker - tramp-gvfs-interface-mounttracker "mountLocation" - `(:struct - ,(dbus-string-to-byte-array "/") - ,(tramp-gvfs-mount-spec vec)) - (dbus-get-unique-name :session) - :object-path object-path) - - ;; We must wait, until the mount is applied. This will be - ;; indicated by the "mounted" signal, i.e. the "fuse-mountpoint" - ;; file property. - (with-timeout - (60 - (if (zerop (length (tramp-file-name-user vec))) + (with-progress-reporter + vec 3 + (if (zerop (length user)) + (format "Opening connection for %s using %s" host method) + (format "Opening connection for %s@%s using %s" user host method)) + + ;; Enable auth-sorce and password-cache. + (tramp-set-connection-property vec "first-password-request" t) + + ;; There will be a callback of "askPassword", when a password is + ;; needed. + (dbus-register-method + :session dbus-service-emacs object-path + tramp-gvfs-interface-mountoperation "askPassword" + 'tramp-gvfs-handler-askpassword) + + ;; There could be a callback of "askQuestion", when adding fingerprint. + (dbus-register-method + :session dbus-service-emacs object-path + tramp-gvfs-interface-mountoperation "askQuestion" + 'tramp-gvfs-handler-askquestion) + + ;; The call must be asynchronously, because of the "askPassword" + ;; or "askQuestion"callbacks. + (with-tramp-dbus-call-method vec nil + :session tramp-gvfs-service-daemon tramp-gvfs-path-mounttracker + tramp-gvfs-interface-mounttracker "mountLocation" + `(:struct + ,(dbus-string-to-byte-array "/") + ,(tramp-gvfs-mount-spec vec)) + (dbus-get-unique-name :session) + :object-path object-path) + + ;; We must wait, until the mount is applied. This will be + ;; indicated by the "mounted" signal, i.e. the "fuse-mountpoint" + ;; file property. + (with-timeout + (60 + (if (zerop (length (tramp-file-name-user vec))) + (tramp-error + vec 'file-error + "Timeout reached mounting %s using %s" host method) (tramp-error vec 'file-error - "Timeout reached mounting %s using %s" host method) - (tramp-error - vec 'file-error - "Timeout reached mounting %s@%s using %s" user host method))) - (while (not (tramp-get-file-property vec "/" "fuse-mountpoint" nil)) - (read-event nil nil 0.1))) - - ;; We set the connection property "started" in order to put the - ;; remote location into the cache, which is helpful for further - ;; completion. - (tramp-set-connection-property vec "started" t) - - (if (zerop (length (tramp-file-name-user vec))) - (tramp-message - vec 3 "Opening connection for %s using %s...done" host method) - (tramp-message - vec 3 - "Opening connection for %s@%s using %s...done" user host method))))) + "Timeout reached mounting %s@%s using %s" user host method))) + (while (not (tramp-get-file-property vec "/" "fuse-mountpoint" nil)) + (read-event nil nil 0.1))) + + ;; We set the connection property "started" in order to put the + ;; remote location into the cache, which is helpful for further + ;; completion. + (tramp-set-connection-property vec "started" t))))) ;; D-Bus BLUEZ functions. === modified file 'lisp/net/tramp-imap.el' --- lisp/net/tramp-imap.el 2010-05-09 19:57:55 +0000 +++ lisp/net/tramp-imap.el 2010-05-21 14:16:42 +0000 @@ -241,32 +241,31 @@ (t2 (and (tramp-tramp-file-p newname) (tramp-imap-file-name-p newname)))) - (when (and (not ok-if-already-exists) (file-exists-p newname)) - (with-parsed-tramp-file-name (if t1 filename newname) nil + (with-parsed-tramp-file-name (if t1 filename newname) nil + (when (and (not ok-if-already-exists) (file-exists-p newname)) (tramp-error - v 'file-already-exists "File %s already exists" newname))) - - (with-parsed-tramp-file-name (if t1 filename newname) nil - (tramp-message v 0 "Transferring %s to %s..." filename newname)) - - ;; We just make a local copy of FILENAME, and write it then to - ;; NEWNAME. This must be optimized, when both files are located - ;; on the same IMAP server. - (with-temp-buffer - (if (and t1 t2) - ;; We don't encrypt. - (with-parsed-tramp-file-name newname nil - (insert (tramp-imap-get-file filename nil)) - (tramp-imap-put-file - v (current-buffer) - (tramp-imap-file-name-name v) - nil nil (nth 7 (file-attributes filename)))) - ;; One of them is not located on a IMAP mailbox. - (insert-file-contents filename) - (write-region (point-min) (point-max) newname))) - - (with-parsed-tramp-file-name (if t1 filename newname) nil - (tramp-message v 0 "Transferring %s to %s...done" filename newname)) + v 'file-already-exists "File %s already exists" newname)) + + (with-progress-reporter + v 0 (format "%s %s to %s" + (if (eq op 'copy) "Copying" "Renaming") + filename newname) + + ;; We just make a local copy of FILENAME, and write it then to + ;; NEWNAME. This must be optimized, when both files are + ;; located on the same IMAP server. + (with-temp-buffer + (if (and t1 t2) + ;; We don't encrypt. + (with-parsed-tramp-file-name newname v1 + (insert (tramp-imap-get-file filename nil)) + (tramp-imap-put-file + v1 (current-buffer) + (tramp-imap-file-name-name v1) + nil nil (nth 7 (file-attributes filename)))) + ;; One of them is not located on a IMAP mailbox. + (insert-file-contents filename) + (write-region (point-min) (point-max) newname))))) (when (eq op 'rename) (tramp-compat-delete-file filename 'force)))) @@ -505,17 +504,16 @@ v 'file-error "File `%s' not found on remote host" filename) (let ((point (point)) size data) - (tramp-message v 4 "Fetching file %s..." filename) - (insert (tramp-imap-get-file filename t)) - (setq size (- (point) point)) + (with-progress-reporter v 3 (format "Fetching file %s" filename) + (insert (tramp-imap-get-file filename t)) + (setq size (- (point) point)) ;;; TODO: handle ranges. ;;; (let ((beg (or beg (point-min))) ;;; (end (min (or end (point-max)) (point-max)))) ;;; (setq size (- end beg)) ;;; (buffer-substring beg end)) - (goto-char point) - (tramp-message v 4 "Fetching file %s...done" filename) - (list (expand-file-name filename) size))))) + (goto-char point) + (list (expand-file-name filename) size)))))) (defun tramp-imap-handle-file-exists-p (filename) "Like `file-exists-p' for Tramp files." @@ -588,12 +586,12 @@ v 'file-error "Cannot make local copy of non-existing file `%s'" filename)) (let ((tmpfile (tramp-compat-make-temp-file filename))) - (tramp-message v 4 "Fetching %s to tmp file %s..." filename tmpfile) - (with-temp-buffer - (insert-file-contents filename) - (write-region (point-min) (point-max) tmpfile) - (tramp-message v 4 "Fetching %s to tmp file %s...done" filename tmpfile) - tmpfile)))) + (with-progress-reporter + v 3 (format "Fetching %s to tmp file %s" filename tmpfile) + (with-temp-buffer + (insert-file-contents filename) + (write-region (point-min) (point-max) tmpfile) + tmpfile))))) (defun tramp-imap-put-file (vec filename-or-buffer &optional subject inode encode size) === modified file 'lisp/net/tramp.el' --- lisp/net/tramp.el 2010-05-19 18:56:18 +0000 +++ lisp/net/tramp.el 2010-05-21 14:16:42 +0000 @@ -3659,85 +3659,86 @@ (apply 'file-selinux-context (list filename)))) pr tm) - (when (and (not ok-if-already-exists) (file-exists-p newname)) - (with-parsed-tramp-file-name (if t1 filename newname) nil + (with-parsed-tramp-file-name (if t1 filename newname) nil + (when (and (not ok-if-already-exists) (file-exists-p newname)) (tramp-error - v 'file-already-exists "File %s already exists" newname))) + v 'file-already-exists "File %s already exists" newname)) - (with-parsed-tramp-file-name (if t1 filename newname) nil (with-progress-reporter - v 0 (format "Transferring %s to %s" filename newname) - - (cond - ;; Both are Tramp files. - ((and t1 t2) - (with-parsed-tramp-file-name filename v1 - (with-parsed-tramp-file-name newname v2 - (cond - ;; Shortcut: if method, host, user are the same for both - ;; files, we invoke `cp' or `mv' on the remote host - ;; directly. - ((tramp-equal-remote filename newname) - (tramp-do-copy-or-rename-file-directly - op filename newname - ok-if-already-exists keep-date preserve-uid-gid)) - - ;; Try out-of-band operation. - ((tramp-method-out-of-band-p - v1 (nth 7 (file-attributes filename))) - (tramp-do-copy-or-rename-file-out-of-band - op filename newname keep-date)) - - ;; No shortcut was possible. So we copy the - ;; file first. If the operation was `rename', we go - ;; back and delete the original file (if the copy was - ;; successful). The approach is simple-minded: we - ;; create a new buffer, insert the contents of the - ;; source file into it, then write out the buffer to - ;; the target file. The advantage is that it doesn't - ;; matter which filename handlers are used for the - ;; source and target file. - (t - (tramp-do-copy-or-rename-file-via-buffer - op filename newname keep-date)))))) - - ;; One file is a Tramp file, the other one is local. - ((or t1 t2) - (cond - ;; Fast track on local machine. - ((tramp-local-host-p v) - (tramp-do-copy-or-rename-file-directly - op filename newname - ok-if-already-exists keep-date preserve-uid-gid)) - - ;; If the Tramp file has an out-of-band method, the corresponding - ;; copy-program can be invoked. - ((tramp-method-out-of-band-p v (nth 7 (file-attributes filename))) - (tramp-do-copy-or-rename-file-out-of-band - op filename newname keep-date)) - - ;; Use the inline method via a Tramp buffer. - (t (tramp-do-copy-or-rename-file-via-buffer - op filename newname keep-date)))) - - (t - ;; One of them must be a Tramp file. - (error "Tramp implementation says this cannot happen"))) - - ;; Handle `preserve-selinux-context'. - (when context (apply 'set-file-selinux-context (list newname context))) - - ;; In case of `rename', we must flush the cache of the source file. - (when (and t1 (eq op 'rename)) - (with-parsed-tramp-file-name filename v1 - (tramp-flush-file-property v1 (file-name-directory localname)) - (tramp-flush-file-property v1 localname))) - - ;; When newname did exist, we have wrong cached values. - (when t2 - (with-parsed-tramp-file-name newname v2 - (tramp-flush-file-property v2 (file-name-directory localname)) - (tramp-flush-file-property v2 localname))))))) + v 0 (format "%s %s to %s" + (if (eq op 'copy) "Copying" "Renaming") + filename newname) + + (cond + ;; Both are Tramp files. + ((and t1 t2) + (with-parsed-tramp-file-name filename v1 + (with-parsed-tramp-file-name newname v2 + (cond + ;; Shortcut: if method, host, user are the same for + ;; both files, we invoke `cp' or `mv' on the remote + ;; host directly. + ((tramp-equal-remote filename newname) + (tramp-do-copy-or-rename-file-directly + op filename newname + ok-if-already-exists keep-date preserve-uid-gid)) + + ;; Try out-of-band operation. + ((tramp-method-out-of-band-p + v1 (nth 7 (file-attributes filename))) + (tramp-do-copy-or-rename-file-out-of-band + op filename newname keep-date)) + + ;; No shortcut was possible. So we copy the file + ;; first. If the operation was `rename', we go back + ;; and delete the original file (if the copy was + ;; successful). The approach is simple-minded: we + ;; create a new buffer, insert the contents of the + ;; source file into it, then write out the buffer to + ;; the target file. The advantage is that it doesn't + ;; matter which filename handlers are used for the + ;; source and target file. + (t + (tramp-do-copy-or-rename-file-via-buffer + op filename newname keep-date)))))) + + ;; One file is a Tramp file, the other one is local. + ((or t1 t2) + (cond + ;; Fast track on local machine. + ((tramp-local-host-p v) + (tramp-do-copy-or-rename-file-directly + op filename newname + ok-if-already-exists keep-date preserve-uid-gid)) + + ;; If the Tramp file has an out-of-band method, the + ;; corresponding copy-program can be invoked. + ((tramp-method-out-of-band-p v (nth 7 (file-attributes filename))) + (tramp-do-copy-or-rename-file-out-of-band + op filename newname keep-date)) + + ;; Use the inline method via a Tramp buffer. + (t (tramp-do-copy-or-rename-file-via-buffer + op filename newname keep-date)))) + + (t + ;; One of them must be a Tramp file. + (error "Tramp implementation says this cannot happen"))) + + ;; Handle `preserve-selinux-context'. + (when context (apply 'set-file-selinux-context (list newname context))) + + ;; In case of `rename', we must flush the cache of the source file. + (when (and t1 (eq op 'rename)) + (with-parsed-tramp-file-name filename v1 + (tramp-flush-file-property v1 (file-name-directory localname)) + (tramp-flush-file-property v1 localname))) + + ;; When newname did exist, we have wrong cached values. + (when t2 + (with-parsed-tramp-file-name newname v2 + (tramp-flush-file-property v2 (file-name-directory localname)) + (tramp-flush-file-property v2 localname))))))) (defun tramp-do-copy-or-rename-file-via-buffer (op filename newname keep-date) "Use an Emacs buffer to copy or rename a file. @@ -4770,7 +4771,7 @@ (rem-enc (save-excursion (with-progress-reporter - v 5 (format "Encoding remote file %s" filename) + v 3 (format "Encoding remote file %s" filename) (tramp-barf-unless-okay v (format rem-enc (tramp-shell-quote-argument localname)) "Encoding remote file failed")) @@ -5341,46 +5342,50 @@ ;; any other remote command. (defun tramp-handle-vc-registered (file) "Like `vc-registered' for Tramp files." - (with-parsed-tramp-file-name file nil - - ;; There could be new files, created by the vc backend. We cannot - ;; reuse the old cache entries, therefore. - (let (tramp-vc-registered-file-names - (tramp-cache-inhibit-cache (current-time)) - (file-name-handler-alist - `((,tramp-file-name-regexp . tramp-vc-file-name-handler)))) - - ;; Here we collect only file names, which need an operation. - (tramp-run-real-handler 'vc-registered (list file)) - (tramp-message v 10 "\n%s" tramp-vc-registered-file-names) - - ;; Send just one command, in order to fill the cache. - (when tramp-vc-registered-file-names - (tramp-maybe-send-script - v - (format tramp-vc-registered-read-file-names - (tramp-get-file-exists-command v) - (format "%s -r" (tramp-get-test-command v))) - "tramp_vc_registered_read_file_names") - - (dolist - (elt - (tramp-send-command-and-read - v - (format - "tramp_vc_registered_read_file_names %s" - (mapconcat 'tramp-shell-quote-argument - tramp-vc-registered-file-names - " ")))) - - (tramp-set-file-property v (car elt) (cadr elt) (cadr (cdr elt)))))) - - ;; Second run. Now all `file-exists-p' or `file-readable-p' calls - ;; shall be answered from the file cache. - ;; We unset `process-file-side-effects' in order to keep the cache - ;; when `process-file' calls appear. - (let (process-file-side-effects) - (tramp-run-real-handler 'vc-registered (list file))))) + (with-temp-message "" + (with-parsed-tramp-file-name file nil + (with-progress-reporter + v 3 (format "Checking `vc-registered' for %s" file) + + ;; There could be new files, created by the vc backend. We + ;; cannot reuse the old cache entries, therefore. + (let (tramp-vc-registered-file-names + (tramp-cache-inhibit-cache (current-time)) + (file-name-handler-alist + `((,tramp-file-name-regexp . tramp-vc-file-name-handler)))) + + ;; Here we collect only file names, which need an operation. + (tramp-run-real-handler 'vc-registered (list file)) + (tramp-message v 10 "\n%s" tramp-vc-registered-file-names) + + ;; Send just one command, in order to fill the cache. + (when tramp-vc-registered-file-names + (tramp-maybe-send-script + v + (format tramp-vc-registered-read-file-names + (tramp-get-file-exists-command v) + (format "%s -r" (tramp-get-test-command v))) + "tramp_vc_registered_read_file_names") + + (dolist + (elt + (tramp-send-command-and-read + v + (format + "tramp_vc_registered_read_file_names %s" + (mapconcat 'tramp-shell-quote-argument + tramp-vc-registered-file-names + " ")))) + + (tramp-set-file-property + v (car elt) (cadr elt) (cadr (cdr elt)))))) + + ;; Second run. Now all `file-exists-p' or `file-readable-p' + ;; calls shall be answered from the file cache. We unset + ;; `process-file-side-effects' in order to keep the cache when + ;; `process-file' calls appear. + (let (process-file-side-effects) + (tramp-run-real-handler 'vc-registered (list file))))))) ;;;###autoload (progn (defun tramp-run-real-handler (operation args) @@ -7432,131 +7437,135 @@ ;; We call `tramp-get-buffer' in order to get a debug buffer for ;; messages from the beginning. (tramp-get-buffer vec) - (if (zerop (length (tramp-file-name-user vec))) + (with-progress-reporter + vec 3 + (if (zerop (length (tramp-file-name-user vec))) + (format "Opening connection for %s using %s" + (tramp-file-name-host vec) + (tramp-file-name-method vec)) + (format "Opening connection for %s@%s using %s" + (tramp-file-name-user vec) + (tramp-file-name-host vec) + (tramp-file-name-method vec))) + + ;; Start new process. + (when (and p (processp p)) + (delete-process p)) + (setenv "TERM" tramp-terminal-type) + (setenv "LC_ALL" "C") + (setenv "PROMPT_COMMAND") + (setenv "PS1" tramp-initial-end-of-output) + (let* ((target-alist (tramp-compute-multi-hops vec)) + (process-connection-type tramp-process-connection-type) + (process-adaptive-read-buffering nil) + (coding-system-for-read nil) + ;; This must be done in order to avoid our file name handler. + (p (let ((default-directory + (tramp-compat-temporary-file-directory))) + (start-process + (or process-name (tramp-buffer-name vec)) + (tramp-get-connection-buffer vec) + tramp-encoding-shell)))) + (tramp-message - vec 3 "Opening connection for %s using %s" - (tramp-file-name-host vec) - (tramp-file-name-method vec)) - (tramp-message - vec 3 "Opening connection for %s@%s using %s" - (tramp-file-name-user vec) - (tramp-file-name-host vec) - (tramp-file-name-method vec))) - - ;; Start new process. - (when (and p (processp p)) - (delete-process p)) - (setenv "TERM" tramp-terminal-type) - (setenv "LC_ALL" "C") - (setenv "PROMPT_COMMAND") - (setenv "PS1" tramp-initial-end-of-output) - (let* ((target-alist (tramp-compute-multi-hops vec)) - (process-connection-type tramp-process-connection-type) - (process-adaptive-read-buffering nil) - (coding-system-for-read nil) - ;; This must be done in order to avoid our file name handler. - (p (let ((default-directory - (tramp-compat-temporary-file-directory))) - (start-process - (or process-name (tramp-buffer-name vec)) - (tramp-get-connection-buffer vec) - tramp-encoding-shell)))) - - (tramp-message - vec 6 "%s" (mapconcat 'identity (process-command p) " ")) - - ;; Check whether process is alive. - (tramp-set-process-query-on-exit-flag p nil) - (with-progress-reporter vec 3 "Waiting 60s for local shell to come up" + vec 6 "%s" (mapconcat 'identity (process-command p) " ")) + + ;; Check whether process is alive. + (tramp-set-process-query-on-exit-flag p nil) (tramp-barf-if-no-shell-prompt - p 60 "Couldn't find local shell prompt %s" tramp-encoding-shell)) - - ;; Now do all the connections as specified. - (while target-alist - (let* ((hop (car target-alist)) - (l-method (tramp-file-name-method hop)) - (l-user (tramp-file-name-user hop)) - (l-host (tramp-file-name-host hop)) - (l-port nil) - (login-program - (tramp-get-method-parameter l-method 'tramp-login-program)) - (login-args - (tramp-get-method-parameter l-method 'tramp-login-args)) - (async-args - (tramp-get-method-parameter l-method 'tramp-async-args)) - (gw-args - (tramp-get-method-parameter l-method 'tramp-gw-args)) - (gw (tramp-get-file-property hop "" "gateway" nil)) - (g-method (and gw (tramp-file-name-method gw))) - (g-user (and gw (tramp-file-name-user gw))) - (g-host (and gw (tramp-file-name-host gw))) - (command login-program) - ;; We don't create the temporary file. In fact, it - ;; is just a prefix for the ControlPath option of - ;; ssh; the real temporary file has another name, and - ;; it is created and protected by ssh. It is also - ;; removed by ssh, when the connection is closed. - (tmpfile - (tramp-set-connection-property - p "temp-file" - (make-temp-name - (expand-file-name - tramp-temp-name-prefix - (tramp-compat-temporary-file-directory))))) - spec) - - ;; Add arguments for asynchrononous processes. - (when (and process-name async-args) - (setq login-args (append login-args async-args))) - - ;; Add gateway arguments if necessary. - (when (and gw gw-args) - (setq login-args (append login-args gw-args))) - - ;; Check for port number. Until now, there's no need - ;; for handling like method, user, host. - (when (string-match tramp-host-with-port-regexp l-host) + p 60 "Couldn't find local shell prompt %s" tramp-encoding-shell) + + ;; Now do all the connections as specified. + (while target-alist + (let* ((hop (car target-alist)) + (l-method (tramp-file-name-method hop)) + (l-user (tramp-file-name-user hop)) + (l-host (tramp-file-name-host hop)) + (l-port nil) + (login-program + (tramp-get-method-parameter + l-method 'tramp-login-program)) + (login-args + (tramp-get-method-parameter l-method 'tramp-login-args)) + (async-args + (tramp-get-method-parameter l-method 'tramp-async-args)) + (gw-args + (tramp-get-method-parameter l-method 'tramp-gw-args)) + (gw (tramp-get-file-property hop "" "gateway" nil)) + (g-method (and gw (tramp-file-name-method gw))) + (g-user (and gw (tramp-file-name-user gw))) + (g-host (and gw (tramp-file-name-host gw))) + (command login-program) + ;; We don't create the temporary file. In fact, + ;; it is just a prefix for the ControlPath option + ;; of ssh; the real temporary file has another + ;; name, and it is created and protected by ssh. + ;; It is also removed by ssh, when the connection + ;; is closed. + (tmpfile + (tramp-set-connection-property + p "temp-file" + (make-temp-name + (expand-file-name + tramp-temp-name-prefix + (tramp-compat-temporary-file-directory))))) + spec) + + ;; Add arguments for asynchrononous processes. + (when (and process-name async-args) + (setq login-args (append login-args async-args))) + + ;; Add gateway arguments if necessary. + (when (and gw gw-args) + (setq login-args (append login-args gw-args))) + + ;; Check for port number. Until now, there's no need + ;; for handling like method, user, host. + (when (string-match tramp-host-with-port-regexp l-host) (setq l-port (match-string 2 l-host) l-host (match-string 1 l-host))) - ;; Set variables for computing the prompt for reading - ;; password. They can also be derived from a gateway. - (setq tramp-current-method (or g-method l-method) - tramp-current-user (or g-user l-user) - tramp-current-host (or g-host l-host)) - - ;; Replace login-args place holders. - (setq - l-host (or l-host "") - l-user (or l-user "") - l-port (or l-port "") - spec (format-spec-make ?h l-host ?u l-user ?p l-port ?t tmpfile) - command - (concat - ;; We do not want to see the trailing local prompt in - ;; `start-file-process'. - (unless (memq system-type '(windows-nt)) "exec ") - command " " - (mapconcat - (lambda (x) - (setq x (mapcar (lambda (y) (format-spec y spec)) x)) - (unless (member "" x) (mapconcat 'identity x " "))) - login-args " ") - ;; Local shell could be a Windows COMSPEC. It doesn't - ;; know the ";" syntax, but we must exit always for - ;; `start-file-process'. "exec" does not work either. - (if (memq system-type '(windows-nt)) " && exit || exit"))) - - ;; Send the command. - (tramp-message vec 3 "Sending command `%s'" command) - (tramp-send-command vec command t t) - (tramp-process-actions p vec tramp-actions-before-shell 60) - (tramp-message vec 3 "Found remote shell prompt on `%s'" l-host)) - ;; Next hop. - (setq target-alist (cdr target-alist))) - - ;; Make initial shell settings. - (tramp-open-connection-setup-interactive-shell p vec)))))) + ;; Set variables for computing the prompt for reading + ;; password. They can also be derived from a gateway. + (setq tramp-current-method (or g-method l-method) + tramp-current-user (or g-user l-user) + tramp-current-host (or g-host l-host)) + + ;; Replace login-args place holders. + (setq + l-host (or l-host "") + l-user (or l-user "") + l-port (or l-port "") + spec (format-spec-make + ?h l-host ?u l-user ?p l-port ?t tmpfile) + command + (concat + ;; We do not want to see the trailing local prompt in + ;; `start-file-process'. + (unless (memq system-type '(windows-nt)) "exec ") + command " " + (mapconcat + (lambda (x) + (setq x (mapcar (lambda (y) (format-spec y spec)) x)) + (unless (member "" x) (mapconcat 'identity x " "))) + login-args " ") + ;; Local shell could be a Windows COMSPEC. It + ;; doesn't know the ";" syntax, but we must exit + ;; always for `start-file-process'. "exec" does not + ;; work either. + (if (memq system-type '(windows-nt)) " && exit || exit"))) + + ;; Send the command. + (tramp-message vec 3 "Sending command `%s'" command) + (tramp-send-command vec command t t) + (tramp-process-actions p vec tramp-actions-before-shell 60) + (tramp-message + vec 3 "Found remote shell prompt on `%s'" l-host)) + ;; Next hop. + (setq target-alist (cdr target-alist))) + + ;; Make initial shell settings. + (tramp-open-connection-setup-interactive-shell p vec))))))) (defun tramp-send-command (vec command &optional neveropen nooutput) "Send the COMMAND to connection VEC. ------------------------------------------------------------ revno: 100405 committer: Juanma Barranquero branch nick: trunk timestamp: Fri 2010-05-21 03:46:38 +0200 message: * add-log.el: Highlight all authors in multi-author ChangeLog entries. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-21 01:13:57 +0000 +++ lisp/ChangeLog 2010-05-21 01:46:38 +0000 @@ -1,5 +1,8 @@ 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. === modified file 'lisp/add-log.el' --- lisp/add-log.el 2010-01-13 08:35:10 +0000 +++ lisp/add-log.el 2010-05-21 01:46:38 +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 ------------------------------------------------------------ revno: 100404 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-05-20 18:43:44 -0700 message: * src/Makefile.in: Comment fix. diff: === modified file 'src/Makefile.in' --- src/Makefile.in 2010-05-21 01:39:21 +0000 +++ src/Makefile.in 2010-05-21 01:43:44 +0000 @@ -609,7 +609,6 @@ all: emacs${EXEEXT} $(OTHER_FILES) /* Does anyone ever pay attention to the load-path-shadows output here? */ -/* FIXME Add EXEEXT for load-path-shadows? */ /* 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} ------------------------------------------------------------ revno: 100403 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-05-20 18:39:21 -0700 message: Revert previous change. I misunderstood EXEEXT (I don't think it can be working though). diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-21 01:31:13 +0000 +++ src/ChangeLog 2010-05-21 01:39:21 +0000 @@ -1,8 +1,5 @@ 2010-05-21 Glenn Morris - * Makefile.in (temacs${EXEEXT}, prefix-args, mostlyclean): - prefix-args neither gets nor needs the $EXEEXT extension. - * Makefile.in (${ns_appdir}, ${ns_appbindir}Emacs, ns-app): Move these rules to ns.mk. * ns.mk: New file. === modified file 'src/Makefile.in' --- src/Makefile.in 2010-05-21 01:31:13 +0000 +++ src/Makefile.in 2010-05-21 01:39:21 +0000 @@ -649,13 +649,13 @@ #define YMF_PASS_LDFLAGS(flags) @YMF_PASS_LDFLAGS@ -temacs${EXEEXT}: $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args +temacs${EXEEXT}: $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args${EXEEXT} $(LD) YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} \ ${NS_IMPL_GNUSTEP_TEMACS_LDFLAGS} ) \ ${TEMACS_LDFLAGS2} \ -o temacs ${START_FILES} ${obj} ${otherobj} ${LIBES} -prefix-args: prefix-args.o $(config_h) +prefix-args${EXEEXT}: prefix-args.o $(config_h) $(CC) $(LDFLAGS) prefix-args.o -o prefix-args @@ -705,7 +705,7 @@ mostlyclean: - rm -f temacs${EXEEXT} prefix-args core *.core \#* *.o libXMenu11.a liblw.a + rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a rm -f ../etc/DOC rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT} rm -f buildobj.h ------------------------------------------------------------ revno: 100402 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-05-20 18:31:13 -0700 message: Minor Makefile fix. * src/Makefile.in (temacs${EXEEXT}, prefix-args, mostlyclean): prefix-args neither gets nor needs the $EXEEXT extension. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-21 00:48:14 +0000 +++ src/ChangeLog 2010-05-21 01:31:13 +0000 @@ -1,5 +1,8 @@ 2010-05-21 Glenn Morris + * Makefile.in (temacs${EXEEXT}, prefix-args, mostlyclean): + prefix-args neither gets nor needs the $EXEEXT extension. + * Makefile.in (${ns_appdir}, ${ns_appbindir}Emacs, ns-app): Move these rules to ns.mk. * ns.mk: New file. === modified file 'src/Makefile.in' --- src/Makefile.in 2010-05-21 00:55:17 +0000 +++ src/Makefile.in 2010-05-21 01:31:13 +0000 @@ -649,13 +649,13 @@ #define YMF_PASS_LDFLAGS(flags) @YMF_PASS_LDFLAGS@ -temacs${EXEEXT}: $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args${EXEEXT} +temacs${EXEEXT}: $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args $(LD) YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} \ ${NS_IMPL_GNUSTEP_TEMACS_LDFLAGS} ) \ ${TEMACS_LDFLAGS2} \ -o temacs ${START_FILES} ${obj} ${otherobj} ${LIBES} -prefix-args${EXEEXT}: prefix-args.o $(config_h) +prefix-args: prefix-args.o $(config_h) $(CC) $(LDFLAGS) prefix-args.o -o prefix-args @@ -705,7 +705,7 @@ mostlyclean: - rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a + rm -f temacs${EXEEXT} prefix-args core *.core \#* *.o libXMenu11.a liblw.a rm -f ../etc/DOC rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT} rm -f buildobj.h ------------------------------------------------------------ revno: 100401 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-05-20 18:13:57 -0700 message: Derive Fortran modes from prog-mode. * progmodes/fortran.el (fortran-mode): * progmodes/f90.el (f90-mode): Derive from prog-mode. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-21 01:05:50 +0000 +++ lisp/ChangeLog 2010-05-21 01:13:57 +0000 @@ -7,6 +7,9 @@ 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. === modified file 'lisp/progmodes/f90.el' --- lisp/progmodes/f90.el 2010-02-19 02:36:10 +0000 +++ lisp/progmodes/f90.el 2010-05-21 01:13:57 +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. === modified file 'lisp/progmodes/fortran.el' --- lisp/progmodes/fortran.el 2010-04-10 02:14:47 +0000 +++ lisp/progmodes/fortran.el 2010-05-21 01:13:57 +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) ------------------------------------------------------------ revno: 100400 committer: Juanma Barranquero branch nick: trunk timestamp: Fri 2010-05-21 03:05:50 +0200 message: * smerge-mode.el: Fix typos. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-21 00:22:58 +0000 +++ lisp/ChangeLog 2010-05-21 01:05:50 +0000 @@ -1,3 +1,10 @@ +2010-05-21 Juanma Barranquero + + * 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 * loadup.el [CANNOT_DUMP]: Update for bootstrap-emacs no longer === modified file 'lisp/smerge-mode.el' --- lisp/smerge-mode.el 2010-01-13 08:35:10 +0000 +++ lisp/smerge-mode.el 2010-05-21 01:05:50 +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 "\\|" ------------------------------------------------------------ revno: 100399 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-05-20 17:55:17 -0700 message: * src/Makefile.in: Fix comment format in cpp section. diff: === modified file 'src/Makefile.in' --- src/Makefile.in 2010-05-21 00:48:14 +0000 +++ src/Makefile.in 2010-05-21 00:55:17 +0000 @@ -812,5 +812,5 @@ @: 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@ ------------------------------------------------------------ revno: 100398 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-05-20 17:51:50 -0700 message: Regenerate configure. diff: === modified file 'configure' --- configure 2010-05-20 06:15:26 +0000 +++ configure 2010-05-21 00:51:50 +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 ------------------------------------------------------------ revno: 100397 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-05-20 17:48:14 -0700 message: Handle some HAVE_NS Makefile conditionals with configure. * configure.in (ns_frag): New output file. * src/Makefile.in (${ns_appdir}, ${ns_appbindir}Emacs, ns-app): Move these rules to ns.mk. * ns.mk: New file. Copyright years based on date of nextstep merge. * msdos/sed1v2.inp(@ns_frag@): Edit to nothing. diff: === modified file 'ChangeLog' --- ChangeLog 2010-05-21 00:40:12 +0000 +++ ChangeLog 2010-05-21 00:48:14 +0000 @@ -1,5 +1,7 @@ 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. === modified file 'configure.in' --- configure.in 2010-05-21 00:40:12 +0000 +++ configure.in 2010-05-21 00:48:14 +0000 @@ -1525,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 @@ -1536,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 @@ -1544,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 ) === modified file 'msdos/ChangeLog' --- msdos/ChangeLog 2010-05-21 00:40:12 +0000 +++ msdos/ChangeLog 2010-05-21 00:48:14 +0000 @@ -1,5 +1,7 @@ 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". === modified file 'msdos/sed1v2.inp' --- msdos/sed1v2.inp 2010-05-21 00:40:12 +0000 +++ msdos/sed1v2.inp 2010-05-21 00:48:14 +0000 @@ -149,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/ === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-21 00:40:12 +0000 +++ src/ChangeLog 2010-05-21 00:48:14 +0000 @@ -1,5 +1,9 @@ 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. === modified file 'src/Makefile.in' --- src/Makefile.in 2010-05-21 00:40:12 +0000 +++ src/Makefile.in 2010-05-21 00:48:14 +0000 @@ -700,22 +700,9 @@ doc.o: buildobj.h -/* System-specific programs to be made. - OTHER_FILES select which of these should be compiled. */ - -#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 +/* If HAVE_NS, some ns-specific rules (for OTHER_FILES) are inserted here. */ +@ns_frag@ + mostlyclean: rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a === added file 'src/ns.mk' --- src/ns.mk 1970-01-01 00:00:00 +0000 +++ src/ns.mk 2010-05-21 00:48:14 +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 */ ------------------------------------------------------------ revno: 100396 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-05-20 17:40:12 -0700 message: Build simplifications for oldxmenu. * configure.in (OLDXMENU): Set to "nothing" if !HAVE_X11 || USE_GTK. (OLDXMENU_TARGET): Set to empty if USE_GTK. * src/Makefile.in (../src/$(OLDXMENU), $(OLDXMENU)): Always define rules. * msdos/sed1x.inp (OLDXMENU): Replace any initial value. * msdos/sed1v2.inp (OLDXMENU): Edit to "nothing". diff: === modified file 'ChangeLog' --- ChangeLog 2010-05-21 00:28:47 +0000 +++ ChangeLog 2010-05-21 00:40:12 +0000 @@ -1,5 +1,8 @@ 2010-05-21 Glenn Morris + * 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 === modified file 'configure.in' --- configure.in 2010-05-21 00:28:47 +0000 +++ configure.in 2010-05-21 00:40:12 +0000 @@ -3181,7 +3181,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; @@ -3200,7 +3199,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" @@ -3212,11 +3213,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) === modified file 'msdos/ChangeLog' --- msdos/ChangeLog 2010-05-21 00:28:47 +0000 +++ msdos/ChangeLog 2010-05-21 00:40:12 +0000 @@ -1,5 +1,8 @@ 2010-05-21 Glenn Morris + * 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 === modified file 'msdos/sed1v2.inp' --- msdos/sed1v2.inp 2010-05-21 00:28:47 +0000 +++ msdos/sed1v2.inp 2010-05-21 00:40:12 +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/ === modified file 'msdos/sed1x.inp' --- msdos/sed1x.inp 2010-05-18 07:57:27 +0000 +++ msdos/sed1x.inp 2010-05-21 00:40:12 +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! === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-21 00:28:47 +0000 +++ src/ChangeLog 2010-05-21 00:40:12 +0000 @@ -1,5 +1,7 @@ 2010-05-21 Glenn Morris + * Makefile.in (../src/$(OLDXMENU), $(OLDXMENU)): Always define rules. + * Makefile.in (CANNOT_DUMP): New, set by configure. (emacs${EXEEXT}, bootstrap-emacs${EXEEXT}): Use $CANNOT_DUMP. === modified file 'src/Makefile.in' --- src/Makefile.in 2010-05-21 00:28:47 +0000 +++ src/Makefile.in 2010-05-21 00:40:12 +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. @@ -290,6 +297,7 @@ ## -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 ======================= @@ -651,8 +659,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}' @@ -670,13 +679,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." ------------------------------------------------------------ revno: 100395 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-05-20 17:33:54 -0700 message: * msdos/mainmake.v2: Comment fix. diff: === modified file 'msdos/mainmake.v2' --- msdos/mainmake.v2 2010-01-13 08:35:10 +0000 +++ msdos/mainmake.v2 2010-05-21 00:33:54 +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),) ------------------------------------------------------------ revno: 100394 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-05-20 17:28:47 -0700 message: Handle CANNOT_DUMP (partially) with configure. * configure.in (cannot_dump): New output variable. * src/Makefile.in (CANNOT_DUMP): New, set by configure. (emacs${EXEEXT}, bootstrap-emacs${EXEEXT}): Use $CANNOT_DUMP. * msdos/sed1v2.inp (CANNOT_DUMP): Edit to no. diff: === modified file 'ChangeLog' --- ChangeLog 2010-05-20 06:37:29 +0000 +++ ChangeLog 2010-05-21 00:28:47 +0000 @@ -1,3 +1,7 @@ +2010-05-21 Glenn Morris + + * configure.in (cannot_dump): New output variable. + 2010-05-20 enami tsugutomo * configure.in: On NetBSD, if terminfo is found, use it in === modified file 'configure.in' --- configure.in 2010-05-20 06:37:29 +0000 +++ configure.in 2010-05-21 00:28:47 +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 === modified file 'msdos/ChangeLog' --- msdos/ChangeLog 2010-05-20 06:11:27 +0000 +++ msdos/ChangeLog 2010-05-21 00:28:47 +0000 @@ -1,3 +1,7 @@ +2010-05-21 Glenn Morris + + * sed1v2.inp (CANNOT_DUMP): Edit to no. + 2010-05-20 Glenn Morris * sed1v2.inp (DEPFLAGS, deps_frag): Edit to empty. === modified file 'msdos/sed1v2.inp' --- msdos/sed1v2.inp 2010-05-20 06:11:27 +0000 +++ msdos/sed1v2.inp 2010-05-21 00:28:47 +0000 @@ -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]*@// === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-20 23:08:52 +0000 +++ src/ChangeLog 2010-05-21 00:28:47 +0000 @@ -1,3 +1,8 @@ +2010-05-21 Glenn Morris + + * 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 === modified file 'src/Makefile.in' --- src/Makefile.in 2010-05-20 06:11:27 +0000 +++ src/Makefile.in 2010-05-21 00:28:47 +0000 @@ -284,6 +284,8 @@ UNEXEC_OBJ = @unexec@ +CANNOT_DUMP=@cannot_dump@ + DEPDIR=deps ## -MMD -MF ${DEPDIR}/$*.d if AUTO_DEPEND; else empty. DEPFLAGS=@DEPFLAGS@ @@ -599,18 +601,19 @@ all: emacs${EXEEXT} $(OTHER_FILES) /* Does anyone ever pay attention to the load-path-shadows output here? */ +/* FIXME Add EXEEXT for load-path-shadows? */ +/* 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. */ @@ -807,12 +810,12 @@ 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} ------------------------------------------------------------ revno: 100393 committer: Glenn Morris branch nick: trunk timestamp: Thu 2010-05-20 17:22:58 -0700 message: Minor loadup.el fix. * lisp/loadup.el [CANNOT_DUMP]: Update for bootstrap-emacs no longer having a relative path in src/Makefile.in. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-20 23:54:55 +0000 +++ lisp/ChangeLog 2010-05-21 00:22:58 +0000 @@ -1,3 +1,8 @@ +2010-05-21 Glenn Morris + + * 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 === modified file 'lisp/loadup.el' --- lisp/loadup.el 2010-04-20 18:52:07 +0000 +++ lisp/loadup.el 2010-05-21 00:22:58 +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) ------------------------------------------------------------ revno: 100392 author: Kevin Ryde committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 02:54:55 +0300 message: * 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) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-20 22:55:11 +0000 +++ lisp/ChangeLog 2010-05-20 23:54:55 +0000 @@ -1,3 +1,10 @@ +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 === modified file 'lisp/help-mode.el' --- lisp/help-mode.el 2010-01-13 08:35:10 +0000 +++ lisp/help-mode.el 2010-05-20 23:54:55 +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 ------------------------------------------------------------ revno: 100391 author: Kevin Ryde committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 02:43:54 +0300 message: * gnus-start.el (gnus-level-unsubscribed): Doc fix. (Bug#6206) diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2010-05-14 07:48:21 +0000 +++ lisp/gnus/ChangeLog 2010-05-20 23:43:54 +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 === modified file 'lisp/gnus/gnus-start.el' --- lisp/gnus/gnus-start.el 2010-05-03 00:41:45 +0000 +++ lisp/gnus/gnus-start.el 2010-05-20 23:43:54 +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 ------------------------------------------------------------ revno: 100390 committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 02:08:52 +0300 message: * 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 diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-20 14:53:30 +0000 +++ src/ChangeLog 2010-05-20 23:08:52 +0000 @@ -1,3 +1,10 @@ +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) === modified file 'src/fileio.c' --- src/fileio.c 2010-05-08 18:47:07 +0000 +++ src/fileio.c 2010-05-20 23:08:52 +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. ------------------------------------------------------------ revno: 100389 committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 01:55:11 +0300 message: * locate.el (locate): Use pop-to-buffer instead of switch-to-buffer-other-window. (Bug#6204) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-20 22:49:53 +0000 +++ lisp/ChangeLog 2010-05-20 22:55:11 +0000 @@ -1,5 +1,10 @@ 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'. === modified file 'lisp/locate.el' --- lisp/locate.el 2010-01-13 08:35:10 +0000 +++ lisp/locate.el 2010-05-20 22:55:11 +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. ------------------------------------------------------------ revno: 100388 committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 01:49:53 +0300 message: * replace.el (replace-highlight): Fix lazy-highlighting for `M-s w str M-% str RET'. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-20 22:33:09 +0000 +++ lisp/ChangeLog 2010-05-20 22:49:53 +0000 @@ -1,3 +1,8 @@ +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 === modified file 'lisp/replace.el' --- lisp/replace.el 2010-03-30 16:38:45 +0000 +++ lisp/replace.el 2010-05-20 22:49:53 +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 () ------------------------------------------------------------ revno: 100387 author: Masatake YAMATO committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 01:33:09 +0300 message: * isearch.el (isearch-yank-word-or-char): Pull next subword when `subword-mode' is activated. (Bug#6220) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-20 22:16:19 +0000 +++ lisp/ChangeLog 2010-05-20 22:33:09 +0000 @@ -1,3 +1,8 @@ +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. === modified file 'lisp/isearch.el' --- lisp/isearch.el 2010-05-20 22:16:19 +0000 +++ lisp/isearch.el 2010-05-20 22:33:09 +0000 @@ -1540,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 () === modified file 'lisp/progmodes/subword.el' --- lisp/progmodes/subword.el 2010-01-13 08:35:10 +0000 +++ lisp/progmodes/subword.el 2010-05-20 22:33:09 +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: ------------------------------------------------------------ revno: 100386 author: Mark A. Hershberger committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 01:16:19 +0300 message: * isearch.el (isearch-update-post-hook): New hook. (isearch-update): Use the new hook. (Bug#6225) diff: === modified file 'etc/NEWS' --- etc/NEWS 2010-05-20 21:33:58 +0000 +++ etc/NEWS 2010-05-20 22:16:19 +0000 @@ -255,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 === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-20 22:01:57 +0000 +++ lisp/ChangeLog 2010-05-20 22:16:19 +0000 @@ -1,3 +1,8 @@ +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: === modified file 'lisp/isearch.el' --- lisp/isearch.el 2010-05-20 22:01:57 +0000 +++ lisp/isearch.el 2010-05-20 22:16:19 +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' @@ -870,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. ------------------------------------------------------------ revno: 100385 committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 01:01:57 +0300 message: * 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) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-20 21:49:49 +0000 +++ lisp/ChangeLog 2010-05-20 22:01:57 +0000 @@ -1,5 +1,11 @@ 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) === modified file 'lisp/isearch.el' --- lisp/isearch.el 2010-05-20 21:49:49 +0000 +++ lisp/isearch.el 2010-05-20 22:01:57 +0000 @@ -460,7 +460,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) ------------------------------------------------------------ revno: 100384 committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 00:49:49 +0300 message: * isearch.el (isearch-yank-string): Use isearch-process-search-string. (Bug#6223) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-20 21:33:58 +0000 +++ lisp/ChangeLog 2010-05-20 21:49:49 +0000 @@ -1,5 +1,10 @@ 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. === modified file 'lisp/isearch.el' --- lisp/isearch.el 2010-04-16 01:24:00 +0000 +++ lisp/isearch.el 2010-05-20 21:49:49 +0000 @@ -1476,14 +1476,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." ------------------------------------------------------------ revno: 100383 committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 00:38:59 +0300 message: Remove obsolete comment. diff: === modified file 'lisp/comint.el' --- lisp/comint.el 2010-04-10 23:54:50 +0000 +++ lisp/comint.el 2010-05-20 21:38:59 +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 ------------------------------------------------------------ revno: 100382 committer: Juri Linkov branch nick: trunk timestamp: Fri 2010-05-21 00:33:58 +0300 message: * 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. diff: === modified file 'etc/NEWS' --- etc/NEWS 2010-05-18 19:43:04 +0000 +++ etc/NEWS 2010-05-20 21:33:58 +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. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-20 15:12:20 +0000 +++ lisp/ChangeLog 2010-05-20 21:33:58 +0000 @@ -1,3 +1,12 @@ +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 === modified file 'lisp/dired-x.el' --- lisp/dired-x.el 2010-03-30 16:10:14 +0000 +++ lisp/dired-x.el 2010-05-20 21:33:58 +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. === modified file 'lisp/dired.el' --- lisp/dired.el 2010-04-20 13:31:28 +0000 +++ lisp/dired.el 2010-05-20 21:33:58 +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. +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)" t nil) +\(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. ------------------------------------------------------------ revno: 100381 committer: Chong Yidong branch nick: trunk timestamp: Thu 2010-05-20 11:12:20 -0400 message: * 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. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-20 01:27:49 +0000 +++ lisp/ChangeLog 2010-05-20 15:12:20 +0000 @@ -1,3 +1,11 @@ +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. === modified file 'lisp/nxml/nxml-mode.el' --- lisp/nxml/nxml-mode.el 2010-03-12 17:47:22 +0000 +++ lisp/nxml/nxml-mode.el 2010-05-20 15:12:20 +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) === modified file 'lisp/progmodes/octave-mod.el' --- lisp/progmodes/octave-mod.el 2010-01-13 08:35:10 +0000 +++ lisp/progmodes/octave-mod.el 2010-05-20 15:12:20 +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) ------------------------------------------------------------ revno: 100380 author: Kevin Ryde committer: Chong Yidong branch nick: trunk timestamp: Thu 2010-05-20 10:53:30 -0400 message: Doc fix (Bug#6224). * 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). diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-20 06:11:27 +0000 +++ src/ChangeLog 2010-05-20 14:53:30 +0000 @@ -1,3 +1,9 @@ +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. === modified file 'src/keyboard.c' --- src/keyboard.c 2010-04-20 18:52:07 +0000 +++ src/keyboard.c 2010-05-20 14:53:30 +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. */); ------------------------------------------------------------ revno: 100379 author: enami tsugutomo committer: Glenn Morris branch nick: trunk timestamp: Wed 2010-05-19 23:37:29 -0700 message: Use terminfo rather than termcap on recent NetBSD. * configure.in: On NetBSD, if terminfo is found, use it in preference to termcap. (Bug#6190) diff: === modified file 'ChangeLog' --- ChangeLog 2010-05-20 06:11:27 +0000 +++ ChangeLog 2010-05-20 06:37:29 +0000 @@ -1,3 +1,8 @@ +2010-05-20 enami tsugutomo + + * configure.in: On NetBSD, if terminfo is found, use it in + preference to termcap. (Bug#6190) + 2010-05-20 Glenn Morris * make-dist (src): Include *.mk. === modified file 'configure.in' --- configure.in 2010-05-20 06:11:27 +0000 +++ configure.in 2010-05-20 06:37:29 +0000 @@ -2643,7 +2643,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= @@ -2685,13 +2685,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" ;; ------------------------------------------------------------ revno: 100378 committer: Glenn Morris branch nick: trunk timestamp: Wed 2010-05-19 23:24:35 -0700 message: * config.bat: Need to add the deps.mk file before running cpp. diff: === modified file 'config.bat' --- config.bat 2010-05-20 06:11:27 +0000 +++ config.bat 2010-05-20 06:24:35 +0000 @@ -190,11 +190,11 @@ if exist dir.h ren dir.h vmsdir.h rem Create "makefile" from "makefile.in". -rm -f Makefile junk.c +rm -f Makefile junk.c junk2.c sed -e "1,/== start of cpp stuff ==/s@^##*[ ].*$@@" junk.c -gcc -E -traditional junk.c | sed -f ../msdos/sed1v2.inp >makefile.tmp -copy makefile.tmp + deps.mk Makefile -rm -f junk.c makefile.tmp +copy junk.c + deps.mk junk2.c +gcc -E -traditional junk2.c | sed -f ../msdos/sed1v2.inp >Makefile +rm -f junk.c junk2.c if "%X11%" == "" goto src5 mv Makefile makefile.tmp ------------------------------------------------------------ revno: 100377 committer: Glenn Morris branch nick: trunk timestamp: Wed 2010-05-19 23:20:39 -0700 message: * src/autodeps.mk, src/deps.mk: Comments need to be in C format. diff: === modified file 'src/autodeps.mk' --- src/autodeps.mk 2010-05-20 06:11:27 +0000 +++ src/autodeps.mk 2010-05-20 06:20:39 +0000 @@ -1,6 +1,6 @@ -### autodeps.mk --- src/Makefile fragment for GNU Emacs +/* autodeps.mk --- src/Makefile fragment for GNU Emacs -## This is inserted in src/Makefile if AUTO_DEPEND=yes. +This is inserted in src/Makefile if AUTO_DEPEND=yes. */ ALLOBJS=$(START_FILES) ${obj} ${otherobj} prefix-args.o -include $(ALLOBJS:%.o=${DEPDIR}/%.d) === modified file 'src/deps.mk' --- src/deps.mk 2010-05-20 06:11:27 +0000 +++ src/deps.mk 2010-05-20 06:20:39 +0000 @@ -1,41 +1,41 @@ -### deps.mk --- src/Makefile fragment for GNU Emacs - -# Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 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 file is inserted in src/Makefile if AUTO_DEPEND=no. -## It defines static dependencies between the various source files. - -## FIXME some of these dependencies are platform-specific. -## Eg callproc.c only depends on w32.h for WINDOWSNT builds. -## One way to fix this would be to replace w32.h (etc) by $(W32_H), -## a variable set by configure. Does not seem worth the trouble. -## Since the w32 build does not even use this file, you might ask -## why these dependencies are here at all... - -## nsgui.h: In fact, every .o file depends directly or indirectly on -## dispextern.h and hence nsgui.h under NS. But the ones that actually -## use stuff there are more limited. - -### Code: +/* deps.mk --- src/Makefile fragment for GNU Emacs + +Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002, + 2003, 2004, 2005, 2006, 2007, 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 file is inserted in src/Makefile if AUTO_DEPEND=no. +It defines static dependencies between the various source files. + +FIXME some of these dependencies are platform-specific. +Eg callproc.c only depends on w32.h for WINDOWSNT builds. +One way to fix this would be to replace w32.h (etc) by $(W32_H), +a variable set by configure. Does not seem worth the trouble. +Since the w32 build does not even use this file, you might ask +why these dependencies are here at all... + +nsgui.h: In fact, every .o file depends directly or indirectly on +dispextern.h and hence nsgui.h under NS. But the ones that actually +use stuff there are more limited. + +Code: */ atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \ $(config_h) @@ -245,7 +245,7 @@ dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h \ atimer.h termopts.h -## The files of Lisp proper. +/* The files of Lisp proper. */ alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \ keyboard.h blockinput.h atimer.h systime.h character.h lisp.h $(config_h) \ $(INTERVALS_H) termhooks.h @@ -267,7 +267,7 @@ charset.h lisp.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h \ systime.h frame.h blockinput.h atimer.h -## Text properties support. +/* Text properties support. */ composite.o: composite.c buffer.h character.h coding.h font.h ccl.h \ frame.h termhooks.h $(INTERVALS_H) window.h lisp.h $(config_h) intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \ @@ -276,4 +276,4 @@ lisp.h $(config_h) -### deps.mk ends here +/* deps.mk ends here */ ------------------------------------------------------------ revno: 100376 committer: Glenn Morris branch nick: trunk timestamp: Wed 2010-05-19 23:15:26 -0700 message: Regenerate configure, src/config.in. diff: === modified file 'configure' --- configure 2010-05-19 02:46:42 +0000 +++ configure 2010-05-20 06:15:26 +0000 @@ -714,6 +714,8 @@ ALSA_LIBS CFLAGS_SOUND SET_MAKE +MKDEPDIR +DEPFLAGS XMKMF LD_SWITCH_X_SITE_AUX LD_SWITCH_X_SITE_AUX_RPATH @@ -825,7 +827,7 @@ TOOLTIP_SUPPORT WINDOW_SUPPORT LTLIBOBJS' -ac_subst_files='' +ac_subst_files='deps_frag' ac_user_opts=' enable_option_checking with_pop @@ -856,8 +858,6 @@ with_gconf with_selinux with_makeinfo -with_gtk -with_gcc with_pkg_config_prog with_crt_dir with_gnustep_conf @@ -1571,7 +1571,6 @@ --without-gconf don't compile with GConf support --without-selinux don't compile with SELinux support --without-makeinfo don't require makeinfo for building manuals - --with-pkg-config-prog=PATH path to pkg-config for finding GTK and librsvg --with-crt-dir=DIR directory containing crtn.o etc. The default is @@ -2384,28 +2383,6 @@ -# Check whether --with-gtk was given. -if test "${with_gtk+set}" = set; then - withval=$with_gtk; { { $as_echo "$as_me:$LINENO: error: --with-gtk has been removed. Use --with-x-toolkit to -specify a toolkit." >&5 -$as_echo "$as_me: error: --with-gtk has been removed. Use --with-x-toolkit to -specify a toolkit." >&2;} - { (exit 1); exit 1; }; } -fi - - - -# Check whether --with-gcc was given. -if test "${with_gcc+set}" = set; then - withval=$with_gcc; { { $as_echo "$as_me:$LINENO: error: --with-gcc has been removed. Set the \`CC' environment -variable to specify a compiler." >&5 -$as_echo "$as_me: error: --with-gcc has been removed. Set the \`CC' environment -variable to specify a compiler." >&2;} - { (exit 1); exit 1; }; } -fi - - - # Check whether --with-pkg-config-prog was given. if test "${with_pkg_config_prog+set}" = set; then withval=$with_pkg_config_prog; @@ -9503,6 +9480,9 @@ fi +DEPFLAGS= +MKDEPDIR=":" +deps_frag=deps.mk if test "$GCC" = yes && test "$ac_enable_autodepend" = yes; then { $as_echo "$as_me:$LINENO: checking whether we are using GNU Make" >&5 $as_echo_n "checking whether we are using GNU Make... " >&6; } @@ -9569,13 +9549,16 @@ $as_echo "$ac_enable_autodepend" >&6; } fi if test $ac_enable_autodepend = yes; then - -cat >>confdefs.h <<\_ACEOF -#define AUTO_DEPEND 1 -_ACEOF - + DEPFLAGS='-MMD -MF ${DEPDIR}/$*.d' + MKDEPDIR='test -d ${DEPDIR} || mkdir ${DEPDIR}' + deps_frag=autodeps.mk fi fi +deps_frag=$srcdir/src/$deps_frag + + + + { $as_echo "$as_me:$LINENO: checking for long file names" >&5 $as_echo_n "checking for long file names... " >&6; } @@ -27531,7 +27514,24 @@ # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then - +if $AWK 'BEGIN { getline <"/dev/null" }' /dev/null; then + ac_cs_awk_getline=: + ac_cs_awk_pipe_init= + ac_cs_awk_read_file=' + while ((getline aline < (F[key])) > 0) + print(aline) + close(F[key])' + ac_cs_awk_pipe_fini= +else + ac_cs_awk_getline=false + ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\"" + ac_cs_awk_read_file=' + print "|#_!!_#|" + print "cat " F[key] " &&" + '$ac_cs_awk_pipe_init + # The final `:' finishes the AND list. + ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }' +fi ac_cr=' ' ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then @@ -27543,6 +27543,19 @@ echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF +# Create commands to substitute file output variables. +{ + echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && + echo 'cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&' && + echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && + echo "_ACAWK" && + echo "_ACEOF" +} >conf$$files.sh && +. ./conf$$files.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } +rm -f conf$$files.sh { echo "cat >conf$$subs.awk <<_ACEOF" && @@ -27624,7 +27637,7 @@ cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" - + \$ac_cs_awk_pipe_init } { line = $ 0 @@ -27642,10 +27655,16 @@ } else len += 1 + keylen } - + if (nfields == 3 && !substed) { + key = field[2] + if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) { + \$ac_cs_awk_read_file + next + } + } print line } - +\$ac_cs_awk_pipe_fini _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 @@ -28032,7 +28051,12 @@ s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | +if $ac_cs_awk_getline; then + $AWK -f "$tmp/subs.awk" +else + $AWK -f "$tmp/subs.awk" | $SHELL +fi >$tmp/out \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } === modified file 'src/config.in' --- src/config.in 2010-05-19 02:46:42 +0000 +++ src/config.in 2010-05-20 06:15:26 +0000 @@ -27,9 +27,6 @@ #define EMACS_CONFIG_H -/* Generate dependencies with gcc. */ -#undef AUTO_DEPEND - /* Define to 1 if the mktime function is broken. */ #undef BROKEN_MKTIME ------------------------------------------------------------ revno: 100375 committer: Glenn Morris branch nick: trunk timestamp: Wed 2010-05-19 23:11:27 -0700 message: Handle auto-depend with configure. * make-dist (src): Include *.mk. * config.bat: Concatenate deps.mk onto the end of src/Makefile. * configure.in (DEPFLAGS, MKDEPDIR): New output variables. (deps_frag): New output file. (AUTO_DEPEND): Remove this definition. * src/Makefile.in (DEPDIR): New constant. (DEPFLAGS): Set with configure, not cpp. (MKDEPDIR): New, set by configure. (.c.o, .m.o, ecrt0.o): Use $MKDEPDIR. (clean): Use $DEPDIR. (deps_frag): Include from configure. Move static/dynamic dependency stuff to deps.mk/autodeps.mk. * src/deps.mk, src/autodeps.mk: New files, extracted from Makefile.in. * msdos/sed1v2.inp (DEPFLAGS, deps_frag): Edit to empty. (MKDEPDIR): Edit to ':'. diff: === modified file 'ChangeLog' --- ChangeLog 2010-05-20 05:48:16 +0000 +++ ChangeLog 2010-05-20 06:11:27 +0000 @@ -1,5 +1,11 @@ 2010-05-20 Glenn Morris + * make-dist (src): Include *.mk. + * config.bat: Concatenate deps.mk onto the end of src/Makefile. + * configure.in (DEPFLAGS, MKDEPDIR): New output variables. + (deps_frag): New output file. + (AUTO_DEPEND): Remove this definition. + * configure.in (--with-gtk, --with-gcc): Remove option stubs. 2010-05-19 Glenn Morris === modified file 'config.bat' --- config.bat 2010-05-18 02:44:07 +0000 +++ config.bat 2010-05-20 06:11:27 +0000 @@ -192,8 +192,9 @@ rem Create "makefile" from "makefile.in". rm -f Makefile junk.c sed -e "1,/== start of cpp stuff ==/s@^##*[ ].*$@@" junk.c -gcc -E -traditional junk.c | sed -f ../msdos/sed1v2.inp >Makefile -rm -f junk.c +gcc -E -traditional junk.c | sed -f ../msdos/sed1v2.inp >makefile.tmp +copy makefile.tmp + deps.mk Makefile +rm -f junk.c makefile.tmp if "%X11%" == "" goto src5 mv Makefile makefile.tmp === modified file 'configure.in' --- configure.in 2010-05-20 05:48:16 +0000 +++ configure.in 2010-05-20 06:11:27 +0000 @@ -1341,6 +1341,9 @@ dnl check for Make feature AC_PROG_MAKE_SET +DEPFLAGS= +MKDEPDIR=":" +deps_frag=deps.mk dnl check for GNU Make if we have GCC and autodepend is on. if test "$GCC" = yes && test "$ac_enable_autodepend" = yes; then AC_MSG_CHECKING([whether we are using GNU Make]) @@ -1363,9 +1366,16 @@ AC_MSG_RESULT([$ac_enable_autodepend]) fi if test $ac_enable_autodepend = yes; then - AC_DEFINE(AUTO_DEPEND, 1, [Generate dependencies with gcc.]) + DEPFLAGS='-MMD -MF ${DEPDIR}/$*.d' + MKDEPDIR='test -d ${DEPDIR} || mkdir ${DEPDIR}' + deps_frag=autodeps.mk fi fi +deps_frag=$srcdir/src/$deps_frag +AC_SUBST(MKDEPDIR) +AC_SUBST(DEPFLAGS) +AC_SUBST_FILE(deps_frag) + dnl checks for operating system services AC_SYS_LONG_FILE_NAMES === modified file 'make-dist' --- make-dist 2010-05-11 03:10:36 +0000 +++ make-dist 2010-05-20 06:11:27 +0000 @@ -440,6 +440,7 @@ ln [a-zA-Z]*.h ../${tempdir}/src ln [a-zA-Z]*.m ../${tempdir}/src ln [a-zA-Z]*.in ../${tempdir}/src + ln [a-zA-Z]*.mk ../${tempdir}/src ## If we ended up with a symlink, or if we did not get anything ## due to a cross-device symlink, copy the file. for file in [a-zA-Z]*.[hcs] [a-zA-Z]*.in; do === modified file 'msdos/ChangeLog' --- msdos/ChangeLog 2010-05-19 02:51:51 +0000 +++ msdos/ChangeLog 2010-05-20 06:11:27 +0000 @@ -1,3 +1,8 @@ +2010-05-20 Glenn Morris + + * sed1v2.inp (DEPFLAGS, deps_frag): Edit to empty. + (MKDEPDIR): Edit to ':'. + 2010-05-19 Glenn Morris * sed2v2.inp (ORDINARY_LINK): Set here rather than in s/msdos.h. === modified file 'msdos/sed1v2.inp' --- msdos/sed1v2.inp 2010-05-19 02:42:04 +0000 +++ msdos/sed1v2.inp 2010-05-20 06:11:27 +0000 @@ -123,6 +123,8 @@ /^PRE_ALLOC_OBJ *=/s/@PRE_ALLOC_OBJ@/lastfile.o/ /^POST_ALLOC_OBJ *=/s/@POST_ALLOC_OBJ@/$(vmlimitobj)/ /^UNEXEC_OBJ *=/s/@unexec@/unexec.o/ +/^DEPFLAGS *=/s/@DEPFLAGS@// +/^MKDEPDIR *=/s/@MKDEPDIR@/:/ /^version *=/s/@[^@\n]*@// /^M_FILE *=/s!@[^@\n]*@!m/intel386.h! /^S_FILE *=/s!@[^@\n]*@!s/msdos.h! @@ -145,6 +147,7 @@ /^ -\{0,1\}ln -/s/ln -f/cp -pf/ /^[ ]touch /s/touch/djecho $@ >/ s/@YMF_PASS_LDFLAGS@/flags/ +s/@deps_frag@// s/bootstrap-emacs/b-emacs/ s/bootstrap-temacs/b-temacs/ s/bootstrap-doc/b-doc/ === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-19 07:22:41 +0000 +++ src/ChangeLog 2010-05-20 06:11:27 +0000 @@ -1,3 +1,14 @@ +2010-05-20 Glenn Morris + + * Makefile.in (DEPDIR): New constant. + (DEPFLAGS): Set with configure, not cpp. + (MKDEPDIR): New, set by configure. + (.c.o, .m.o, ecrt0.o): Use $MKDEPDIR. + (clean): Use $DEPDIR. + (deps_frag): Include from configure. + Move static/dynamic dependency stuff to deps.mk/autodeps.mk. + * deps.mk, autodeps.mk: New files, extracted from Makefile.in. + 2010-05-19 Eli Zaretskii * bidi.c (bidi_cache_shrink, bidi_cache_iterator_state): Fix === modified file 'src/Makefile.in' --- src/Makefile.in 2010-05-19 02:42:04 +0000 +++ src/Makefile.in 2010-05-20 06:11:27 +0000 @@ -284,16 +284,18 @@ UNEXEC_OBJ = @unexec@ +DEPDIR=deps +## -MMD -MF ${DEPDIR}/$*.d if AUTO_DEPEND; else empty. +DEPFLAGS=@DEPFLAGS@ +## test -d ${DEPDIR} || mkdir ${DEPDIR} (if AUTO_DEPEND); else ':'. +MKDEPDIR=@MKDEPDIR@ + # ========================== start of cpp stuff ======================= /* From here on, comments must be done in C syntax. */ #define NOT_C_CODE #include "config.h" -#ifdef AUTO_DEPEND -DEPFLAGS = -MMD -MF deps/$*.d -#endif - /* If NS_IMPL_GNUSTEP, some definitions and includes are expanded here. */ @NS_IMPL_GNUSTEP_INC@ @@ -320,14 +322,10 @@ .SUFFIXES: .m .c.o: -#ifdef AUTO_DEPEND - @-test -d deps || mkdir deps -#endif + @$(MKDEPDIR) $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $< .m.o: -#ifdef AUTO_DEPEND - @-test -d deps || mkdir deps -#endif + @$(MKDEPDIR) $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $< @@ -688,261 +686,10 @@ exit 1 ecrt0.o: ecrt0.c $(config_h) -#ifdef AUTO_DEPEND - @-test -d deps || mkdir deps -#endif + @$(MKDEPDIR) $(CC) -c $(ALL_CFLAGS) ${srcdir}/ecrt0.c doc.o: buildobj.h -#ifndef AUTO_DEPEND - -/* FIXME some of these dependencies are platform-specific. -Eg callproc.c only depends on w32.h for WINDOWSNT builds. -One way to fix this would be to replace w32.h (etc) by $(W32_H), -a variable set by configure. Does not seem worth the trouble. -Since the w32 build does not even use this file, you might ask -why these dependencies are here at all... - -nsgui.h: In fact, every .o file depends directly or indirectly on -dispextern.h and hence nsgui.h under NS. But the ones that actually -use stuff there are more limited. */ -atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \ - $(config_h) -bidi.o: bidi.c buffer.h character.h dispextern.h lisp.h $(config_h) -buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \ - $(INTERVALS_H) blockinput.h atimer.h systime.h character.h \ - indent.h keyboard.h coding.h keymap.h frame.h lisp.h $(config_h) -callint.o: callint.c window.h commands.h buffer.h keymap.h \ - keyboard.h dispextern.h systime.h coding.h composite.h lisp.h $(config_h) -callproc.o: callproc.c epaths.h buffer.h commands.h lisp.h $(config_h) \ - process.h systty.h syssignal.h character.h coding.h ccl.h msdos.h \ - composite.h w32.h blockinput.h atimer.h systime.h frame.h termhooks.h \ - buffer.h -casefiddle.o: casefiddle.c syntax.h commands.h buffer.h character.h \ - composite.h keymap.h lisp.h $(config_h) -casetab.o: casetab.c buffer.h character.h lisp.h $(config_h) -category.o: category.c category.h buffer.h charset.h keymap.h \ - character.h lisp.h $(config_h) -ccl.o: ccl.c ccl.h charset.h character.h coding.h composite.h lisp.h $(config_h) -character.o: character.c character.h buffer.h charset.h composite.h disptab.h \ - lisp.h $(config_h) -charset.o: charset.c charset.h character.h buffer.h coding.h composite.h \ - disptab.h lisp.h $(config_h) -chartab.o: charset.h character.h ccl.h lisp.h $(config_h) -coding.o: coding.c coding.h ccl.h buffer.h character.h charset.h composite.h \ - window.h dispextern.h frame.h termhooks.h lisp.h $(config_h) -cm.o: cm.c frame.h cm.h termhooks.h termchar.h dispextern.h lisp.h $(config_h) -cmds.o: cmds.c syntax.h buffer.h character.h commands.h window.h lisp.h $(config_h) \ - msdos.h dispextern.h keyboard.h keymap.h systime.h coding.h frame.h \ - composite.h -pre-crt0.o: pre-crt0.c -dbusbind.o: dbusbind.c termhooks.h frame.h keyboard.h lisp.h $(config_h) -dired.o: dired.c commands.h buffer.h lisp.h $(config_h) character.h charset.h \ - coding.h regex.h systime.h blockinput.h atimer.h composite.h -dispnew.o: dispnew.c systime.h commands.h process.h frame.h coding.h \ - window.h buffer.h termchar.h termopts.h termhooks.h cm.h \ - disptab.h indent.h $(INTERVALS_H) nsgui.h \ - xterm.h blockinput.h atimer.h character.h msdos.h keyboard.h \ - syssignal.h lisp.h $(config_h) -doc.o: doc.c lisp.h $(config_h) epaths.h buffer.h keyboard.h keymap.h \ - character.h systime.h coding.h composite.h -doprnt.o: doprnt.c character.h lisp.h $(config_h) -dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \ - msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \ - lisp.h $(config_h) -editfns.o: editfns.c window.h buffer.h systime.h $(INTERVALS_H) character.h \ - coding.h frame.h blockinput.h atimer.h lisp.h $(config_h) -emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \ - termhooks.h buffer.h atimer.h systime.h $(INTERVALS_H) lisp.h $(config_h) \ - window.h dispextern.h keyboard.h keymap.h frame.h coding.h -fileio.o: fileio.c window.h buffer.h systime.h $(INTERVALS_H) character.h \ - coding.h msdos.h blockinput.h atimer.h lisp.h $(config_h) frame.h commands.h -filelock.o: filelock.c buffer.h character.h coding.h systime.h composite.h \ - lisp.h $(config_h) -filemode.o: filemode.c $(config_h) -frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \ - blockinput.h atimer.h systime.h buffer.h character.h fontset.h font.h \ - msdos.h dosfns.h dispextern.h w32term.h nsgui.h termchar.h coding.h \ - composite.h lisp.h $(config_h) termhooks.h ccl.h -fringe.o: fringe.c dispextern.h nsgui.h frame.h window.h buffer.h termhooks.h \ - blockinput.h atimer.h systime.h lisp.h $(config_h) -font.o: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \ - font.h lisp.h $(config_h) buffer.h composite.h fontset.h xterm.h nsgui.h -ftfont.o: dispextern.h frame.h character.h charset.h composite.h font.h \ - lisp.h $(config_h) blockinput.h atimer.h systime.h coding.h fontset.h \ - ccl.h ftfont.h -fontset.o: fontset.c fontset.h ccl.h buffer.h character.h \ - charset.h frame.h keyboard.h termhooks.h font.h lisp.h $(config_h) \ - blockinput.h atimer.h systime.h coding.h $(INTERVALS_H) nsgui.h \ - window.h xterm.h -getloadavg.o: getloadavg.c $(config_h) -gtkutil.o: gtkutil.c gtkutil.h xterm.h lisp.h frame.h lisp.h $(config_h) \ - blockinput.h window.h atimer.h systime.h termhooks.h keyboard.h \ - charset.h coding.h syssignal.h dispextern.h composite.h -image.o: image.c frame.h window.h dispextern.h blockinput.h atimer.h \ - systime.h xterm.h w32term.h w32gui.h font.h epaths.h character.h coding.h \ - nsterm.h nsgui.h lisp.h $(config_h) composite.h termhooks.h ccl.h -indent.o: indent.c frame.h window.h indent.h buffer.h lisp.h $(config_h) termchar.h \ - termopts.h disptab.h region-cache.h character.h category.h \ - keyboard.h systime.h coding.h $(INTERVALS_H) -insdel.o: insdel.c window.h buffer.h $(INTERVALS_H) blockinput.h character.h \ - dispextern.h atimer.h systime.h region-cache.h lisp.h $(config_h) -keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h character.h \ - commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \ - systime.h syntax.h $(INTERVALS_H) blockinput.h atimer.h composite.h \ - xterm.h puresize.h msdos.h keymap.h w32term.h nsterm.h nsgui.h coding.h \ - lisp.h $(config_h) -keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \ - atimer.h systime.h puresize.h character.h charset.h $(INTERVALS_H) keymap.h window.h \ - coding.h frame.h lisp.h $(config_h) -lastfile.o: lastfile.c $(config_h) -macros.o: macros.c window.h buffer.h commands.h macros.h keyboard.h \ - dispextern.h lisp.h $(config_h) systime.h coding.h composite.h -gmalloc.o: gmalloc.c $(config_h) -ralloc.o: ralloc.c lisp.h $(config_h) -vm-limit.o: vm-limit.c mem-limits.h lisp.h $(config_h) -marker.o: marker.c buffer.h character.h lisp.h $(config_h) -md5.o: md5.c md5.h $(config_h) -minibuf.o: minibuf.c syntax.h frame.h window.h keyboard.h systime.h \ - buffer.h commands.h character.h msdos.h $(INTERVALS_H) keymap.h \ - termhooks.h lisp.h $(config_h) coding.h -mktime.o: mktime.c $(config_h) -msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \ - termopts.h termchar.h character.h coding.h ccl.h disptab.h window.h \ - keyboard.h $(INTERVALS_H) buffer.h commands.h blockinput.h atimer.h lisp.h $(config_h) -nsfns.o: nsfns.m charset.h nsterm.h nsgui.h frame.h window.h buffer.h \ - dispextern.h fontset.h $(INTERVALS_H) keyboard.h blockinput.h \ - atimer.h systime.h epaths.h termhooks.h coding.h systime.h lisp.h $(config_h) -nsfont.o: nsterm.h dispextern.h frame.h lisp.h lisp.h $(config_h) -nsimage.o: nsimage.m nsterm.h lisp.h $(config_h) -nsmenu.o: nsmenu.m termhooks.h frame.h window.h dispextern.h \ - nsgui.h keyboard.h blockinput.h atimer.h systime.h buffer.h \ - nsterm.h lisp.h $(config_h) -nsterm.o: nsterm.m blockinput.h atimer.h systime.h syssignal.h nsterm.h \ - nsgui.h frame.h charset.h ccl.h dispextern.h fontset.h termhooks.h \ - termopts.h termchar.h disptab.h buffer.h window.h keyboard.h \ - $(INTERVALS_H) process.h coding.h lisp.h $(config_h) -nsselect.o: nsselect.m blockinput.h nsterm.h nsgui.h frame.h lisp.h $(config_h) -process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \ - commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \ - blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \ - keyboard.h lisp.h $(config_h) character.h xgselect.h sysselect.h -regex.o: regex.c syntax.h buffer.h lisp.h $(config_h) regex.h category.h character.h -region-cache.o: region-cache.c buffer.h region-cache.h lisp.h $(config_h) -scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \ - termhooks.h lisp.h $(config_h) systime.h coding.h composite.h window.h -search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h \ - blockinput.h atimer.h systime.h category.h character.h charset.h \ - $(INTERVALS_H) \ - lisp.h $(config_h) -sound.o: sound.c dispextern.h syssignal.h lisp.h $(config_h) atimer.h systime.h -strftime.o: strftime.c $(config_h) -syntax.o: syntax.c syntax.h buffer.h commands.h category.h character.h \ - keymap.h regex.h $(INTERVALS_H) lisp.h $(config_h) -sysdep.o: sysdep.c syssignal.h systty.h systime.h syswait.h blockinput.h \ - process.h dispextern.h termhooks.h termchar.h termopts.h coding.h \ - frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h lisp.h $(config_h) \ - composite.h -term.o: term.c termchar.h termhooks.h termopts.h lisp.h $(config_h) cm.h frame.h \ - disptab.h keyboard.h character.h charset.h coding.h ccl.h xterm.h \ - msdos.h window.h keymap.h blockinput.h atimer.h systime.h systty.h \ - syssignal.h $(INTERVALS_H) buffer.h -termcap.o: termcap.c lisp.h $(config_h) -terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \ - keyboard.h lisp.h $(config_h) dispextern.h composite.h systime.h -terminfo.o: terminfo.c lisp.h $(config_h) -tparam.o: tparam.c lisp.h $(config_h) -undo.o: undo.c buffer.h commands.h window.h dispextern.h lisp.h $(config_h) -unexaix.o: unexaix.c lisp.h $(config_h) -unexalpha.o: unexalpha.c $(config_h) -unexcw.o: unexcw.c lisp.h $(config_h) -unexec.o: unexec.c lisp.h $(config_h) -unexelf.o: unexelf.c $(config_h) -unexhp9k800.o: unexhp9k800.c $(config_h) -unexmacosx.o: unexmacosx.c $(config_h) -unexsol.o: unexsol.c lisp.h $(config_h) -unexw32.o: unexw32.c $(config_h) -w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \ - msdos.h buffer.h charset.h coding.h composite.h lisp.h $(config_h) -widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \ - $(srcdir)/../lwlib/lwlib.h lisp.h $(config_h) -window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \ - disptab.h keyboard.h msdos.h coding.h termhooks.h \ - keymap.h blockinput.h atimer.h systime.h $(INTERVALS_H) \ - xterm.h w32term.h nsterm.h nsgui.h lisp.h $(config_h) -xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h \ - coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h \ - charset.h lisp.h $(config_h) keyboard.h $(INTERVALS_H) region-cache.h \ - xterm.h w32term.h nsterm.h nsgui.h msdos.h composite.h fontset.h ccl.h \ - blockinput.h atimer.h systime.h keymap.h font.h -xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \ - window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h \ - systime.h keyboard.h fontset.h w32term.h nsterm.h coding.h ccl.h \ - $(INTERVALS_H) nsgui.h termchar.h termhooks.h font.h lisp.h $(config_h) -xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \ - $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \ - character.h charset.h coding.h gtkutil.h lisp.h $(config_h) termhooks.h \ - fontset.h termchar.h font.h xsettings.h $(INTERVALS_H) ccl.h -xfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ - font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h -xftfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ - font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h ftfont.h -ftxfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ - font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h -menu.o: menu.c lisp.h keyboard.h keymap.h frame.h termhooks.h blockinput.h \ - dispextern.h $(srcdir)/../lwlib/lwlib.h xterm.h gtkutil.h menu.h \ - lisp.h $(config_h) systime.h coding.h composite.h window.h atimer.h nsgui.h -xmenu.o: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h buffer.h \ - charset.h keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h \ - systime.h gtkutil.h msdos.h coding.h menu.h lisp.h $(config_h) composite.h \ - keymap.h sysselect.h -xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \ - dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \ - keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \ - coding.h process.h gtkutil.h font.h fontset.h lisp.h $(config_h) \ - xsettings.h intervals.h keymap.h xgselect.h sysselect.h -xselect.o: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \ - buffer.h atimer.h systime.h termhooks.h lisp.h $(config_h) keyboard.h \ - coding.h composite.h -xgselect.o: xgselect.h systime.h sysselect.h lisp.h $(config_h) -xrdb.o: xrdb.c lisp.h $(config_h) epaths.h -xsmfns.o: xsmfns.c lisp.h $(config_h) systime.h sysselect.h termhooks.h xterm.h \ - lisp.h termopts.h frame.h dispextern.h -xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h) \ - dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h atimer.h \ - termopts.h - -/* The files of Lisp proper. */ -alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \ - keyboard.h blockinput.h atimer.h systime.h character.h lisp.h $(config_h) \ - $(INTERVALS_H) termhooks.h -bytecode.o: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \ - frame.h xterm.h lisp.h $(config_h) -data.o: data.c buffer.h puresize.h character.h syssignal.h keyboard.h frame.h \ - termhooks.h systime.h coding.h composite.h dispextern.h font.h ccl.h \ - lisp.h $(config_h) -eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \ - dispextern.h lisp.h $(config_h) coding.h composite.h xterm.h -floatfns.o: floatfns.c syssignal.h lisp.h $(config_h) -fns.o: fns.c commands.h lisp.h $(config_h) frame.h buffer.h character.h keyboard.h \ - keymap.h window.h dispextern.h $(INTERVALS_H) coding.h md5.h \ - blockinput.h atimer.h systime.h xterm.h -print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \ - lisp.h $(config_h) termchar.h $(INTERVALS_H) msdos.h termhooks.h \ - blockinput.h atimer.h systime.h font.h charset.h coding.h ccl.h -lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \ - charset.h lisp.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h \ - systime.h frame.h blockinput.h atimer.h - -/* Text properties support. */ -composite.o: composite.c buffer.h character.h coding.h font.h ccl.h \ - frame.h termhooks.h $(INTERVALS_H) window.h lisp.h $(config_h) -intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \ - keymap.h lisp.h $(config_h) systime.h coding.h -textprop.o: textprop.c buffer.h window.h $(INTERVALS_H) \ - lisp.h $(config_h) - -#endif /* ! AUTO_DEPEND */ /* System-specific programs to be made. OTHER_FILES select which of these should be compiled. */ @@ -968,7 +715,7 @@ rm -f buildobj.h clean: mostlyclean rm -f emacs-*.*.*${EXEEXT} emacs${EXEEXT} - -rm -rf deps + -rm -rf ${DEPDIR} test "X${ns_appdir}" = "X" || rm -rf ${ns_appdir} /* bootstrap-clean is used to clean up just before a bootstrap. @@ -1069,7 +816,5 @@ @: Compile some files earlier to speed up further compilation. cd ../lisp; $(MAKE) $(MFLAGS) compile-first EMACS=${bootstrap_exe} -#ifdef AUTO_DEPEND -ALLOBJS=$(START_FILES) ${obj} ${otherobj} prefix-args.o --include $(ALLOBJS:%.o=deps/%.d) -#endif +## Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk. +@deps_frag@ === added file 'src/autodeps.mk' --- src/autodeps.mk 1970-01-01 00:00:00 +0000 +++ src/autodeps.mk 2010-05-20 06:11:27 +0000 @@ -0,0 +1,6 @@ +### autodeps.mk --- src/Makefile fragment for GNU Emacs + +## This is inserted in src/Makefile if AUTO_DEPEND=yes. + +ALLOBJS=$(START_FILES) ${obj} ${otherobj} prefix-args.o +-include $(ALLOBJS:%.o=${DEPDIR}/%.d) === added file 'src/deps.mk' --- src/deps.mk 1970-01-01 00:00:00 +0000 +++ src/deps.mk 2010-05-20 06:11:27 +0000 @@ -0,0 +1,279 @@ +### deps.mk --- src/Makefile fragment for GNU Emacs + +# Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 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 file is inserted in src/Makefile if AUTO_DEPEND=no. +## It defines static dependencies between the various source files. + +## FIXME some of these dependencies are platform-specific. +## Eg callproc.c only depends on w32.h for WINDOWSNT builds. +## One way to fix this would be to replace w32.h (etc) by $(W32_H), +## a variable set by configure. Does not seem worth the trouble. +## Since the w32 build does not even use this file, you might ask +## why these dependencies are here at all... + +## nsgui.h: In fact, every .o file depends directly or indirectly on +## dispextern.h and hence nsgui.h under NS. But the ones that actually +## use stuff there are more limited. + +### Code: + +atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \ + $(config_h) +bidi.o: bidi.c buffer.h character.h dispextern.h lisp.h $(config_h) +buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \ + $(INTERVALS_H) blockinput.h atimer.h systime.h character.h \ + indent.h keyboard.h coding.h keymap.h frame.h lisp.h $(config_h) +callint.o: callint.c window.h commands.h buffer.h keymap.h \ + keyboard.h dispextern.h systime.h coding.h composite.h lisp.h $(config_h) +callproc.o: callproc.c epaths.h buffer.h commands.h lisp.h $(config_h) \ + process.h systty.h syssignal.h character.h coding.h ccl.h msdos.h \ + composite.h w32.h blockinput.h atimer.h systime.h frame.h termhooks.h \ + buffer.h +casefiddle.o: casefiddle.c syntax.h commands.h buffer.h character.h \ + composite.h keymap.h lisp.h $(config_h) +casetab.o: casetab.c buffer.h character.h lisp.h $(config_h) +category.o: category.c category.h buffer.h charset.h keymap.h \ + character.h lisp.h $(config_h) +ccl.o: ccl.c ccl.h charset.h character.h coding.h composite.h lisp.h $(config_h) +character.o: character.c character.h buffer.h charset.h composite.h disptab.h \ + lisp.h $(config_h) +charset.o: charset.c charset.h character.h buffer.h coding.h composite.h \ + disptab.h lisp.h $(config_h) +chartab.o: charset.h character.h ccl.h lisp.h $(config_h) +coding.o: coding.c coding.h ccl.h buffer.h character.h charset.h composite.h \ + window.h dispextern.h frame.h termhooks.h lisp.h $(config_h) +cm.o: cm.c frame.h cm.h termhooks.h termchar.h dispextern.h lisp.h $(config_h) +cmds.o: cmds.c syntax.h buffer.h character.h commands.h window.h lisp.h \ + $(config_h) msdos.h dispextern.h keyboard.h keymap.h systime.h \ + coding.h frame.h composite.h +pre-crt0.o: pre-crt0.c +dbusbind.o: dbusbind.c termhooks.h frame.h keyboard.h lisp.h $(config_h) +dired.o: dired.c commands.h buffer.h lisp.h $(config_h) character.h charset.h \ + coding.h regex.h systime.h blockinput.h atimer.h composite.h +dispnew.o: dispnew.c systime.h commands.h process.h frame.h coding.h \ + window.h buffer.h termchar.h termopts.h termhooks.h cm.h \ + disptab.h indent.h $(INTERVALS_H) nsgui.h \ + xterm.h blockinput.h atimer.h character.h msdos.h keyboard.h \ + syssignal.h lisp.h $(config_h) +doc.o: doc.c lisp.h $(config_h) epaths.h buffer.h keyboard.h keymap.h \ + character.h systime.h coding.h composite.h +doprnt.o: doprnt.c character.h lisp.h $(config_h) +dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \ + msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \ + lisp.h $(config_h) +editfns.o: editfns.c window.h buffer.h systime.h $(INTERVALS_H) character.h \ + coding.h frame.h blockinput.h atimer.h lisp.h $(config_h) +emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \ + termhooks.h buffer.h atimer.h systime.h $(INTERVALS_H) lisp.h $(config_h) \ + window.h dispextern.h keyboard.h keymap.h frame.h coding.h +fileio.o: fileio.c window.h buffer.h systime.h $(INTERVALS_H) character.h \ + coding.h msdos.h blockinput.h atimer.h lisp.h $(config_h) frame.h commands.h +filelock.o: filelock.c buffer.h character.h coding.h systime.h composite.h \ + lisp.h $(config_h) +filemode.o: filemode.c $(config_h) +frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \ + blockinput.h atimer.h systime.h buffer.h character.h fontset.h font.h \ + msdos.h dosfns.h dispextern.h w32term.h nsgui.h termchar.h coding.h \ + composite.h lisp.h $(config_h) termhooks.h ccl.h +fringe.o: fringe.c dispextern.h nsgui.h frame.h window.h buffer.h termhooks.h \ + blockinput.h atimer.h systime.h lisp.h $(config_h) +font.o: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \ + font.h lisp.h $(config_h) buffer.h composite.h fontset.h xterm.h nsgui.h +ftfont.o: dispextern.h frame.h character.h charset.h composite.h font.h \ + lisp.h $(config_h) blockinput.h atimer.h systime.h coding.h fontset.h \ + ccl.h ftfont.h +fontset.o: fontset.c fontset.h ccl.h buffer.h character.h \ + charset.h frame.h keyboard.h termhooks.h font.h lisp.h $(config_h) \ + blockinput.h atimer.h systime.h coding.h $(INTERVALS_H) nsgui.h \ + window.h xterm.h +getloadavg.o: getloadavg.c $(config_h) +gtkutil.o: gtkutil.c gtkutil.h xterm.h lisp.h frame.h lisp.h $(config_h) \ + blockinput.h window.h atimer.h systime.h termhooks.h keyboard.h \ + charset.h coding.h syssignal.h dispextern.h composite.h +image.o: image.c frame.h window.h dispextern.h blockinput.h atimer.h \ + systime.h xterm.h w32term.h w32gui.h font.h epaths.h character.h coding.h \ + nsterm.h nsgui.h lisp.h $(config_h) composite.h termhooks.h ccl.h +indent.o: indent.c frame.h window.h indent.h buffer.h lisp.h $(config_h) \ + termchar.h termopts.h disptab.h region-cache.h character.h category.h \ + keyboard.h systime.h coding.h $(INTERVALS_H) +insdel.o: insdel.c window.h buffer.h $(INTERVALS_H) blockinput.h character.h \ + dispextern.h atimer.h systime.h region-cache.h lisp.h $(config_h) +keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h character.h \ + commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \ + systime.h syntax.h $(INTERVALS_H) blockinput.h atimer.h composite.h \ + xterm.h puresize.h msdos.h keymap.h w32term.h nsterm.h nsgui.h coding.h \ + lisp.h $(config_h) +keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \ + atimer.h systime.h puresize.h character.h charset.h $(INTERVALS_H) \ + keymap.h window.h coding.h frame.h lisp.h $(config_h) +lastfile.o: lastfile.c $(config_h) +macros.o: macros.c window.h buffer.h commands.h macros.h keyboard.h \ + dispextern.h lisp.h $(config_h) systime.h coding.h composite.h +gmalloc.o: gmalloc.c $(config_h) +ralloc.o: ralloc.c lisp.h $(config_h) +vm-limit.o: vm-limit.c mem-limits.h lisp.h $(config_h) +marker.o: marker.c buffer.h character.h lisp.h $(config_h) +md5.o: md5.c md5.h $(config_h) +minibuf.o: minibuf.c syntax.h frame.h window.h keyboard.h systime.h \ + buffer.h commands.h character.h msdos.h $(INTERVALS_H) keymap.h \ + termhooks.h lisp.h $(config_h) coding.h +mktime.o: mktime.c $(config_h) +msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \ + termopts.h termchar.h character.h coding.h ccl.h disptab.h window.h \ + keyboard.h $(INTERVALS_H) buffer.h commands.h blockinput.h atimer.h \ + lisp.h $(config_h) +nsfns.o: nsfns.m charset.h nsterm.h nsgui.h frame.h window.h buffer.h \ + dispextern.h fontset.h $(INTERVALS_H) keyboard.h blockinput.h \ + atimer.h systime.h epaths.h termhooks.h coding.h systime.h lisp.h $(config_h) +nsfont.o: nsterm.h dispextern.h frame.h lisp.h lisp.h $(config_h) +nsimage.o: nsimage.m nsterm.h lisp.h $(config_h) +nsmenu.o: nsmenu.m termhooks.h frame.h window.h dispextern.h \ + nsgui.h keyboard.h blockinput.h atimer.h systime.h buffer.h \ + nsterm.h lisp.h $(config_h) +nsterm.o: nsterm.m blockinput.h atimer.h systime.h syssignal.h nsterm.h \ + nsgui.h frame.h charset.h ccl.h dispextern.h fontset.h termhooks.h \ + termopts.h termchar.h disptab.h buffer.h window.h keyboard.h \ + $(INTERVALS_H) process.h coding.h lisp.h $(config_h) +nsselect.o: nsselect.m blockinput.h nsterm.h nsgui.h frame.h lisp.h $(config_h) +process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \ + commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \ + blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \ + keyboard.h lisp.h $(config_h) character.h xgselect.h sysselect.h +regex.o: regex.c syntax.h buffer.h lisp.h $(config_h) regex.h \ + category.h character.h +region-cache.o: region-cache.c buffer.h region-cache.h lisp.h $(config_h) +scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \ + termhooks.h lisp.h $(config_h) systime.h coding.h composite.h window.h +search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h \ + blockinput.h atimer.h systime.h category.h character.h charset.h \ + $(INTERVALS_H) \ + lisp.h $(config_h) +sound.o: sound.c dispextern.h syssignal.h lisp.h $(config_h) atimer.h systime.h +strftime.o: strftime.c $(config_h) +syntax.o: syntax.c syntax.h buffer.h commands.h category.h character.h \ + keymap.h regex.h $(INTERVALS_H) lisp.h $(config_h) +sysdep.o: sysdep.c syssignal.h systty.h systime.h syswait.h blockinput.h \ + process.h dispextern.h termhooks.h termchar.h termopts.h coding.h \ + frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h lisp.h \ + $(config_h) composite.h +term.o: term.c termchar.h termhooks.h termopts.h lisp.h $(config_h) \ + cm.h frame.h disptab.h keyboard.h character.h charset.h coding.h ccl.h \ + xterm.h msdos.h window.h keymap.h blockinput.h atimer.h systime.h \ + systty.h syssignal.h $(INTERVALS_H) buffer.h +termcap.o: termcap.c lisp.h $(config_h) +terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \ + keyboard.h lisp.h $(config_h) dispextern.h composite.h systime.h +terminfo.o: terminfo.c lisp.h $(config_h) +tparam.o: tparam.c lisp.h $(config_h) +undo.o: undo.c buffer.h commands.h window.h dispextern.h lisp.h $(config_h) +unexaix.o: unexaix.c lisp.h $(config_h) +unexalpha.o: unexalpha.c $(config_h) +unexcw.o: unexcw.c lisp.h $(config_h) +unexec.o: unexec.c lisp.h $(config_h) +unexelf.o: unexelf.c $(config_h) +unexhp9k800.o: unexhp9k800.c $(config_h) +unexmacosx.o: unexmacosx.c $(config_h) +unexsol.o: unexsol.c lisp.h $(config_h) +unexw32.o: unexw32.c $(config_h) +w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \ + msdos.h buffer.h charset.h coding.h composite.h lisp.h $(config_h) +widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \ + $(srcdir)/../lwlib/lwlib.h lisp.h $(config_h) +window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \ + disptab.h keyboard.h msdos.h coding.h termhooks.h \ + keymap.h blockinput.h atimer.h systime.h $(INTERVALS_H) \ + xterm.h w32term.h nsterm.h nsgui.h lisp.h $(config_h) +xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h \ + coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h \ + charset.h lisp.h $(config_h) keyboard.h $(INTERVALS_H) region-cache.h \ + xterm.h w32term.h nsterm.h nsgui.h msdos.h composite.h fontset.h ccl.h \ + blockinput.h atimer.h systime.h keymap.h font.h +xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \ + window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h \ + systime.h keyboard.h fontset.h w32term.h nsterm.h coding.h ccl.h \ + $(INTERVALS_H) nsgui.h termchar.h termhooks.h font.h lisp.h $(config_h) +xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \ + $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \ + character.h charset.h coding.h gtkutil.h lisp.h $(config_h) termhooks.h \ + fontset.h termchar.h font.h xsettings.h $(INTERVALS_H) ccl.h +xfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ + font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h +xftfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ + font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h ftfont.h +ftxfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ + font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h +menu.o: menu.c lisp.h keyboard.h keymap.h frame.h termhooks.h blockinput.h \ + dispextern.h $(srcdir)/../lwlib/lwlib.h xterm.h gtkutil.h menu.h \ + lisp.h $(config_h) systime.h coding.h composite.h window.h atimer.h nsgui.h +xmenu.o: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h buffer.h \ + charset.h keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h \ + systime.h gtkutil.h msdos.h coding.h menu.h lisp.h $(config_h) composite.h \ + keymap.h sysselect.h +xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \ + dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \ + keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \ + coding.h process.h gtkutil.h font.h fontset.h lisp.h $(config_h) \ + xsettings.h intervals.h keymap.h xgselect.h sysselect.h +xselect.o: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \ + buffer.h atimer.h systime.h termhooks.h lisp.h $(config_h) keyboard.h \ + coding.h composite.h +xgselect.o: xgselect.h systime.h sysselect.h lisp.h $(config_h) +xrdb.o: xrdb.c lisp.h $(config_h) epaths.h +xsmfns.o: xsmfns.c lisp.h $(config_h) systime.h sysselect.h termhooks.h \ + xterm.h lisp.h termopts.h frame.h dispextern.h +xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h) \ + dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h \ + atimer.h termopts.h + +## The files of Lisp proper. +alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \ + keyboard.h blockinput.h atimer.h systime.h character.h lisp.h $(config_h) \ + $(INTERVALS_H) termhooks.h +bytecode.o: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \ + frame.h xterm.h lisp.h $(config_h) +data.o: data.c buffer.h puresize.h character.h syssignal.h keyboard.h frame.h \ + termhooks.h systime.h coding.h composite.h dispextern.h font.h ccl.h \ + lisp.h $(config_h) +eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \ + dispextern.h lisp.h $(config_h) coding.h composite.h xterm.h +floatfns.o: floatfns.c syssignal.h lisp.h $(config_h) +fns.o: fns.c commands.h lisp.h $(config_h) frame.h buffer.h character.h \ + keyboard.h keymap.h window.h dispextern.h $(INTERVALS_H) coding.h md5.h \ + blockinput.h atimer.h systime.h xterm.h +print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \ + lisp.h $(config_h) termchar.h $(INTERVALS_H) msdos.h termhooks.h \ + blockinput.h atimer.h systime.h font.h charset.h coding.h ccl.h +lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \ + charset.h lisp.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h \ + systime.h frame.h blockinput.h atimer.h + +## Text properties support. +composite.o: composite.c buffer.h character.h coding.h font.h ccl.h \ + frame.h termhooks.h $(INTERVALS_H) window.h lisp.h $(config_h) +intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \ + keymap.h lisp.h $(config_h) systime.h coding.h +textprop.o: textprop.c buffer.h window.h $(INTERVALS_H) \ + lisp.h $(config_h) + + +### deps.mk ends here ------------------------------------------------------------ revno: 100374 committer: Glenn Morris branch nick: trunk timestamp: Wed 2010-05-19 22:48:16 -0700 message: * configure.in (--with-gtk, --with-gcc): Remove option stubs. diff: === modified file 'ChangeLog' --- ChangeLog 2010-05-19 02:42:04 +0000 +++ ChangeLog 2010-05-20 05:48:16 +0000 @@ -1,3 +1,7 @@ +2010-05-20 Glenn Morris + + * configure.in (--with-gtk, --with-gcc): Remove option stubs. + 2010-05-19 Glenn Morris * configure.in (LINKER, YMF_PASS_LDFLAGS): New output variables. === modified file 'configure.in' --- configure.in 2010-05-19 02:42:04 +0000 +++ configure.in 2010-05-20 05:48:16 +0000 @@ -2,9 +2,11 @@ dnl To rebuild the `configure' script from this, execute the command dnl autoconf dnl in the directory containing this script. +dnl If you changed any AC_DEFINES, also run autoheader. dnl -dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, -dnl 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +dnl Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, 2004, +dnl 2005, 2006, 2007, 2008, 2009, 2010 +dnl Free Software Foundation, Inc. dnl dnl This file is part of GNU Emacs. dnl @@ -168,15 +170,6 @@ dnl http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01844.html OPTION_DEFAULT_ON([makeinfo],[don't require makeinfo for building manuals]) -dnl Can remove these in Emacs 24. -AC_ARG_WITH([gtk],, - [AC_MSG_ERROR([--with-gtk has been removed. Use --with-x-toolkit to -specify a toolkit.])],,) - -AC_ARG_WITH([gcc],, - [AC_MSG_ERROR([--with-gcc has been removed. Set the `CC' environment -variable to specify a compiler.])],,) - AC_ARG_WITH([pkg-config-prog],dnl [AS_HELP_STRING([--with-pkg-config-prog=PATH], [path to pkg-config for finding GTK and librsvg])]) ------------------------------------------------------------ revno: 100373 committer: Juanma Barranquero branch nick: trunk timestamp: Thu 2010-05-20 03:32:08 +0200 message: * emacs-lisp/cl-loaddefs.el: Update autoload checksum. diff: === modified file 'lisp/emacs-lisp/cl-loaddefs.el' --- lisp/emacs-lisp/cl-loaddefs.el 2010-05-05 03:45:21 +0000 +++ lisp/emacs-lisp/cl-loaddefs.el 2010-05-20 01:32:08 +0000 @@ -282,7 +282,7 @@ ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist ;;;;;; do* do loop return-from return block etypecase typecase ecase ;;;;;; case load-time-value eval-when destructuring-bind function* -;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "0faa39d8f21ae59f2cc1baa835e28a5f") +;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "fbeedbf769c72fee9b4e0671957c1077") ;;; Generated autoloads from cl-macs.el (autoload 'gensym "cl-macs" "\ ------------------------------------------------------------ revno: 100372 committer: Juanma Barranquero branch nick: trunk timestamp: Thu 2010-05-20 03:27:49 +0200 message: * composite.el: Require cl when compiling; fix typos in docstrings. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-19 20:37:57 +0000 +++ lisp/ChangeLog 2010-05-20 01:27:49 +0000 @@ -1,3 +1,9 @@ +2010-05-20 Juanma Barranquero + + * composite.el: Require cl when compiling. + (reference-point-alist, compose-gstring-for-graphic) + (compose-gstring-for-terminal): Fix typos in docstrings. + 2010-05-19 Juri Linkov * emacs-lisp/cl-macs.el (window-parameter): Add defsetf with === modified file 'lisp/composite.el' --- lisp/composite.el 2010-05-19 01:09:50 +0000 +++ lisp/composite.el 2010-05-20 01:27:49 +0000 @@ -28,6 +28,8 @@ ;;; Code: +(eval-when-compile (require 'cl)) + (defconst reference-point-alist '((tl . 0) (tc . 1) (tr . 2) (Bl . 3) (Bc . 4) (Br . 5) @@ -77,7 +79,7 @@ +----+-----+ <--- new descent A composition rule may have the form \(GLOBAL-REF-POINT -NEW-REF-POINT XOFF YOFF), where XOFF and YOFF specifies how much +NEW-REF-POINT XOFF YOFF), where XOFF and YOFF specify how much to shift NEW-REF-POINT from GLOBAL-REF-POINT. In this case, XOFF and YOFF are integers in the range -100..100 representing the shifting percentage against the font size.") @@ -537,7 +539,7 @@ each combining character is composed as a spacing character by a padding space before and/or after the character. -All non-spacing characters has this function in +All non-spacing characters have this function in `composition-function-table' unless overwritten." (let* ((header (lgstring-header gstring)) (nchars (lgstring-char-len gstring)) @@ -669,7 +671,7 @@ Non-spacing characters are composed with the preceding base character. If the preceding character is not a base character, each non-spacing character is composed as a spacing character by -a prepending a space before it." +prepending a space before it." (let* ((header (lgstring-header gstring)) (nchars (lgstring-char-len gstring)) (nglyphs (lgstring-glyph-len gstring)) ------------------------------------------------------------ revno: 100371 committer: Juri Linkov branch nick: trunk timestamp: Wed 2010-05-19 23:37:57 +0300 message: * emacs-lisp/cl-macs.el (window-parameter): Add defsetf with set-window-parameter. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-19 18:56:18 +0000 +++ lisp/ChangeLog 2010-05-19 20:37:57 +0000 @@ -1,3 +1,8 @@ +2010-05-19 Juri Linkov + + * emacs-lisp/cl-macs.el (window-parameter): Add defsetf with + set-window-parameter. + 2010-05-19 Michael Albinus * net/tramp.el (tramp-methods): Add `tramp-async-args' attribute === modified file 'lisp/emacs-lisp/cl-macs.el' --- lisp/emacs-lisp/cl-macs.el 2010-05-05 03:45:21 +0000 +++ lisp/emacs-lisp/cl-macs.el 2010-05-19 20:37:57 +0000 @@ -1813,6 +1813,7 @@ (defsetf window-height () (store) (list 'progn (list 'enlarge-window (list '- store '(window-height))) store)) (defsetf window-hscroll set-window-hscroll) +(defsetf window-parameter set-window-parameter) (defsetf window-point set-window-point) (defsetf window-start set-window-start) (defsetf window-width () (store) ------------------------------------------------------------ revno: 100370 committer: Michael Albinus branch nick: trunk timestamp: Wed 2010-05-19 20:56:18 +0200 message: * net/tramp.el (tramp-methods): Add `tramp-async-args' attribute where appropriate. (tramp-maybe-open-connection): Use it. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-19 17:16:07 +0000 +++ lisp/ChangeLog 2010-05-19 18:56:18 +0000 @@ -1,3 +1,9 @@ +2010-05-19 Michael Albinus + + * net/tramp.el (tramp-methods): Add `tramp-async-args' attribute + where appropriate. + (tramp-maybe-open-connection): Use it. + 2010-05-19 Eli Zaretskii * simple.el (move-end-of-line): Make sure we are at line beginning === modified file 'lisp/net/tramp.el' --- lisp/net/tramp.el 2010-05-13 20:45:58 +0000 +++ lisp/net/tramp.el 2010-05-19 18:56:18 +0000 @@ -334,6 +334,7 @@ ("scp" (tramp-login-program "ssh") (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program "scp") (tramp-copy-args (("-P" "%p") ("-p" "%k") @@ -349,6 +350,7 @@ ("scp1" (tramp-login-program "ssh") (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-1" "-e" "none"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program "scp") (tramp-copy-args (("-1") ("-P" "%p") ("-p" "%k") @@ -364,6 +366,7 @@ ("scp2" (tramp-login-program "ssh") (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-2" "-e" "none"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program "scp") (tramp-copy-args (("-2") ("-P" "%p") ("-p" "%k") @@ -399,6 +402,7 @@ ("sftp" (tramp-login-program "ssh") (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program "sftp") (tramp-copy-args nil) @@ -407,6 +411,7 @@ ("rsync" (tramp-login-program "ssh") (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program "rsync") (tramp-copy-args (("-e" "ssh") ("-t" "%k") ("-r"))) @@ -420,6 +425,7 @@ ("-o" "ControlPath=%t.%%r@%%h:%%p") ("-o" "ControlMaster=yes") ("-e" "none"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program "rsync") (tramp-copy-args (("-t" "%k") ("-r"))) @@ -449,6 +455,7 @@ ("ssh" (tramp-login-program "ssh") (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program nil) (tramp-copy-args nil) @@ -462,6 +469,7 @@ ("ssh1" (tramp-login-program "ssh") (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-1" "-e" "none"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program nil) (tramp-copy-args nil) @@ -475,6 +483,7 @@ ("ssh2" (tramp-login-program "ssh") (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-2" "-e" "none"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program nil) (tramp-copy-args nil) @@ -489,6 +498,7 @@ (tramp-login-program "ssh1") (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program nil) (tramp-copy-args nil) @@ -539,6 +549,7 @@ ("-o" "ControlPath=%t.%%r@%%h:%%p") ("-o" "ControlMaster=yes") ("-e" "none"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program "scp") (tramp-copy-args (("-P" "%p") ("-p" "%k") ("-q") @@ -554,6 +565,7 @@ ("scpx" (tramp-login-program "ssh") (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none" "-t" "-t" "/bin/sh"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program "scp") (tramp-copy-args (("-p" "%k"))) @@ -567,6 +579,7 @@ ("sshx" (tramp-login-program "ssh") (tramp-login-args (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none" "-t" "-t" "/bin/sh"))) + (tramp-async-args (("-q"))) (tramp-remote-sh "/bin/sh") (tramp-copy-program nil) (tramp-copy-args nil) @@ -672,6 +685,11 @@ \"%t\" is replaced by the temporary file name produced with `tramp-make-tramp-temp-file'. \"%k\" indicates the keep-date parameter of a program, if exists. + * `tramp-async-args' + When an asynchronous process is started, we know already that + the connection works. Therefore, we can pass additional + parameters to suppress diagnostic messages, in order not to + tamper the process output. * `tramp-copy-program' This specifies the name of the program to use for remotely copying the file; this might be the absolute filename of rcp or the name of @@ -7380,6 +7398,7 @@ connection if a previous connection has died for some reason." (catch 'uname-changed (let ((p (tramp-get-connection-process vec)) + (process-name (tramp-get-connection-property vec "process-name" nil)) (process-environment (copy-sequence process-environment))) ;; If too much time has passed since last command was sent, look @@ -7439,8 +7458,7 @@ (p (let ((default-directory (tramp-compat-temporary-file-directory))) (start-process - (or (tramp-get-connection-property vec "process-name" nil) - (tramp-buffer-name vec)) + (or process-name (tramp-buffer-name vec)) (tramp-get-connection-buffer vec) tramp-encoding-shell)))) @@ -7464,6 +7482,8 @@ (tramp-get-method-parameter l-method 'tramp-login-program)) (login-args (tramp-get-method-parameter l-method 'tramp-login-args)) + (async-args + (tramp-get-method-parameter l-method 'tramp-async-args)) (gw-args (tramp-get-method-parameter l-method 'tramp-gw-args)) (gw (tramp-get-file-property hop "" "gateway" nil)) @@ -7485,6 +7505,10 @@ (tramp-compat-temporary-file-directory))))) spec) + ;; Add arguments for asynchrononous processes. + (when (and process-name async-args) + (setq login-args (append login-args async-args))) + ;; Add gateway arguments if necessary. (when (and gw gw-args) (setq login-args (append login-args gw-args))) ------------------------------------------------------------ revno: 100369 committer: Eli Zaretskii branch nick: trunk timestamp: Wed 2010-05-19 20:16:07 +0300 message: Fix C-e when bidi reordering is in effect. simple.el (move-end-of-line): Make sure we are at line beginning before backing up to end of previous line. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-19 12:52:27 +0000 +++ lisp/ChangeLog 2010-05-19 17:16:07 +0000 @@ -1,3 +1,8 @@ +2010-05-19 Eli Zaretskii + + * simple.el (move-end-of-line): Make sure we are at line beginning + before backing up to end of previous line. + 2010-05-19 Michael Albinus * password-cache.el (password-cache-remove): Fix docstring. === modified file 'lisp/simple.el' --- lisp/simple.el 2010-05-17 19:27:26 +0000 +++ lisp/simple.el 2010-05-19 17:16:07 +0000 @@ -4539,6 +4539,9 @@ (let ((goal-column 0) (line-move-visual nil)) (and (line-move arg t) + ;; With bidi reordering, we may not be at bol, + ;; so make sure we are. + (skip-chars-backward "^\n") (not (bobp)) (progn (while (and (not (bobp)) (invisible-p (1- (point)))) ------------------------------------------------------------ revno: 100368 committer: Michael Albinus branch nick: trunk timestamp: Wed 2010-05-19 14:52:27 +0200 message: * password-cache.el (password-cache-remove): Fix docstring. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-19 12:47:37 +0000 +++ lisp/ChangeLog 2010-05-19 12:52:27 +0000 @@ -1,5 +1,7 @@ 2010-05-19 Michael Albinus + * password-cache.el (password-cache-remove): Fix docstring. + * net/secrets.el: Autoload the widget functions. (secrets-search-items, secrets-create-item) (secrets-get-attributes, secrets-expand-item): Attributes will be === modified file 'lisp/password-cache.el' --- lisp/password-cache.el 2010-03-19 02:55:37 +0000 +++ lisp/password-cache.el 2010-05-19 12:52:27 +0000 @@ -105,7 +105,7 @@ (defun password-cache-remove (key) "Remove password indexed by KEY from password cache. -This is typically run be a timer setup from `password-cache-add', +This is typically run by a timer setup from `password-cache-add', but can be invoked at any time to forcefully remove passwords from the cache. This may be useful when it has been detected that a password is invalid, so that `password-read' query the ------------------------------------------------------------ revno: 100367 committer: Michael Albinus branch nick: trunk timestamp: Wed 2010-05-19 14:47:37 +0200 message: * net/secrets.el: Autoload the widget functions. (secrets-search-items, secrets-create-item) (secrets-get-attributes, secrets-expand-item): Attributes will be stored on the password database without leading ":", as all other clients do as well. (secrets-mode): Fix docstring. (secrets-show-secrets): Provide it as autoloaded command only when D-Bus support is available. Check existence of Secret Service API. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-19 03:06:48 +0000 +++ lisp/ChangeLog 2010-05-19 12:47:37 +0000 @@ -1,3 +1,14 @@ +2010-05-19 Michael Albinus + + * net/secrets.el: Autoload the widget functions. + (secrets-search-items, secrets-create-item) + (secrets-get-attributes, secrets-expand-item): Attributes will be + stored on the password database without leading ":", as all other + clients do as well. + (secrets-mode): Fix docstring. + (secrets-show-secrets): Provide it as autoloaded command only when + D-Bus support is available. Check existence of Secret Service API. + 2010-05-19 Stefan Monnier * indent.el (indent-region): Deactivate region (bug#6200). === modified file 'lisp/net/secrets.el' --- lisp/net/secrets.el 2010-05-18 19:34:26 +0000 +++ lisp/net/secrets.el 2010-05-19 12:47:37 +0000 @@ -151,11 +151,11 @@ (require 'dbus) -(declare-function tree-widget-set-theme "tree-widget") -(declare-function widget-create-child-and-convert "wid-edit") -(declare-function widget-default-value-set "wid-edit") -(declare-function widget-field-end "wid-edit") -(declare-function widget-member "wid-edit") +(autoload 'tree-widget-set-theme "tree-widget") +(autoload 'widget-create-child-and-convert "wid-edit") +(autoload 'widget-default-value-set "wid-edit") +(autoload 'widget-field-end "wid-edit") +(autoload 'widget-member "wid-edit") (defvar tree-widget-after-toggle-functions) (defvar secrets-enabled nil @@ -563,7 +563,7 @@ (setq props (add-to-list 'props (list :dict-entry - (symbol-name (car attributes)) + (substring (symbol-name (car attributes)) 1) (cadr attributes)) 'append) attributes (cddr attributes))) @@ -601,7 +601,7 @@ (setq props (add-to-list 'props (list :dict-entry - (symbol-name (car attributes)) + (substring (symbol-name (car attributes)) 1) (cadr attributes)) 'append) attributes (cddr attributes))) @@ -656,7 +656,8 @@ (let ((item-path (secrets-item-path collection item))) (unless (secrets-empty-path item-path) (mapcar - (lambda (attribute) (cons (intern (car attribute)) (cadr attribute))) + (lambda (attribute) + (cons (intern (concat ":" (car attribute))) (cadr attribute))) (dbus-get-property :session secrets-service item-path secrets-interface-item "Attributes"))))) @@ -678,13 +679,10 @@ ;;; Visualization. (define-derived-mode secrets-mode nil "Secrets" - "Major mode for presenting search results of a Xesam search. + "Major mode for presenting password entries retrieved by Security Service. In this mode, widgets represent the search results. -\\{secrets-mode-map} -Turning on Xesam mode runs the normal hook `xesam-mode-hook'. It -can be used to set `xesam-notify-function', which must a search -engine specific, widget :notify function to visualize xesam:url." +\\{secrets-mode-map}" ;; Keymap. (setq secrets-mode-map (copy-keymap special-mode-map)) (set-keymap-parent secrets-mode-map widget-keymap) @@ -707,19 +705,27 @@ ;; keymap etc. So we create a dummy buffer. Stupid. (with-temp-buffer (secrets-mode)) -;;;###autoload +;; We autoload `secrets-show-secrets' only on systems with D-Bus support. +;;;###autoload(when (featurep 'dbusbind) +;;;###autoload (autoload 'secrets-show-secrets "secrets" nil t)) + (defun secrets-show-secrets () "Display a list of collections from the Secret Service API. The collections are in tree view, that means they can be expanded to the corresponding secret items, which could also be expanded to their attributes." (interactive) - ;; Create the search buffer. - (with-current-buffer (get-buffer-create "*Secrets*") - (switch-to-buffer-other-window (current-buffer)) - ;; Inialize buffer with `secrets-mode'. - (secrets-mode) - (secrets-show-collections))) + + ;; Check, whether the Secret Service API is enabled. + (if (null secrets-enabled) + (message "Secret Service not available") + + ;; Create the search buffer. + (with-current-buffer (get-buffer-create "*Secrets*") + (switch-to-buffer-other-window (current-buffer)) + ;; Inialize buffer with `secrets-mode'. + (secrets-mode) + (secrets-show-collections)))) (defun secrets-show-collections () "Show all available collections." @@ -757,14 +763,14 @@ (attributes (secrets-get-attributes coll item)) ;; padding is needed to format attribute names. (padding - (1+ - (apply - 'max - (cons - (length "password") - (mapcar - (lambda (attribute) (length (symbol-name (car attribute)))) - attributes)))))) + (apply + 'max + (cons + (1+ (length "password")) + (mapcar + ;; Atribute names have a leading ":", which will be suppressed. + (lambda (attribute) (length (symbol-name (car attribute)))) + attributes))))) (cons ;; The password widget. `(editable-field :tag "password" @@ -779,7 +785,7 @@ "%v\n")) (mapcar (lambda (attribute) - (let ((name (symbol-name (car attribute))) + (let ((name (substring (symbol-name (car attribute)) 1)) (value (cdr attribute))) ;; The attribute widget. `(editable-field :tag ,name ------------------------------------------------------------ revno: 100366 committer: Peter S Galbraith branch nick: trunk timestamp: Wed 2010-05-19 08:23:40 -0400 message: Decode RFC2047 encoded Subject lines for mail replies. diff: === modified file 'lisp/mh-e/ChangeLog' --- lisp/mh-e/ChangeLog 2010-05-08 18:47:07 +0000 +++ lisp/mh-e/ChangeLog 2010-05-19 12:23:40 +0000 @@ -1,3 +1,10 @@ +2010-05-14 Peter S Galbraith + + * mh-mime.el (mh-decode-message-subject): New function to decode + RFC2047 encoded Subject lines. Used for reply drafts. + * mh-comp.el (mh-compose-and-send-mail): Call + `mh-decode-message-subject' on (reply or forward) message drafts. + 2010-05-07 Chong Yidong * Version 23.2 released. === modified file 'lisp/mh-e/mh-comp.el' --- lisp/mh-e/mh-comp.el 2010-01-13 08:35:10 +0000 +++ lisp/mh-e/mh-comp.el 2010-05-19 12:23:40 +0000 @@ -905,6 +905,9 @@ (mh-identity-make-menu) (mh-identity-add-menu) + ;; Cleanup possibly RFC2047 encoded subject header + (mh-decode-message-subject) + ;; Insert extra fields. (mh-insert-x-mailer) (mh-insert-x-face) === modified file 'lisp/mh-e/mh-mime.el' --- lisp/mh-e/mh-mime.el 2010-01-13 08:35:10 +0000 +++ lisp/mh-e/mh-mime.el 2010-05-19 12:23:40 +0000 @@ -508,6 +508,15 @@ (rfc2047-decode-region (point-min) (mh-mail-header-end))))) ;;;###mh-autoload +(defun mh-decode-message-subject () + "Decode RFC2047 encoded message header fields." + (when mh-decode-mime-flag + (save-excursion + (let ((buffer-read-only nil)) + (rfc2047-decode-region (progn (mh-goto-header-field "subject:") (point)) + (progn (mh-header-field-end) (point))))))) + +;;;###mh-autoload (defun mh-mime-display (&optional pre-dissected-handles) "Display (and possibly decode) MIME handles. Optional argument, PRE-DISSECTED-HANDLES is a list of MIME ------------------------------------------------------------ revno: 100365 committer: Eli Zaretskii branch nick: trunk timestamp: Wed 2010-05-19 10:22:41 +0300 message: Fix bug #6210. bidi.c (bidi_cache_shrink, bidi_cache_iterator_state): Fix reallocation of the cache. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2010-05-19 02:51:51 +0000 +++ src/ChangeLog 2010-05-19 07:22:41 +0000 @@ -1,3 +1,8 @@ +2010-05-19 Eli Zaretskii + + * bidi.c (bidi_cache_shrink, bidi_cache_iterator_state): Fix + reallocation of the cache. (Bug#6210) + 2010-05-19 Glenn Morris * s/msdos.h (ORDINARY_LINK): Move to sed2v2.inp. === modified file 'src/bidi.c' --- src/bidi.c 2010-05-15 14:43:55 +0000 +++ src/bidi.c 2010-05-19 07:22:41 +0000 @@ -543,6 +543,7 @@ #define BIDI_CACHE_CHUNK 200 static struct bidi_it *bidi_cache; static size_t bidi_cache_size = 0; +static size_t elsz = sizeof (struct bidi_it); static int bidi_cache_idx; /* next unused cache slot */ static int bidi_cache_last_idx; /* slot of last cache hit */ @@ -558,8 +559,9 @@ { if (bidi_cache_size > BIDI_CACHE_CHUNK) { - bidi_cache_size = BIDI_CACHE_CHUNK * sizeof (struct bidi_it); - bidi_cache = (struct bidi_it *) xrealloc (bidi_cache, bidi_cache_size); + bidi_cache_size = BIDI_CACHE_CHUNK; + bidi_cache = + (struct bidi_it *) xrealloc (bidi_cache, bidi_cache_size * elsz); } bidi_cache_reset (); } @@ -688,9 +690,9 @@ /* Enlarge the cache as needed. */ if (idx >= bidi_cache_size) { - bidi_cache_size += BIDI_CACHE_CHUNK * sizeof (struct bidi_it); + bidi_cache_size += BIDI_CACHE_CHUNK; bidi_cache = - (struct bidi_it *) xrealloc (bidi_cache, bidi_cache_size); + (struct bidi_it *) xrealloc (bidi_cache, bidi_cache_size * elsz); } /* Character positions should correspond to cache positions 1:1. If we are outside the range of cached positions, the cache is ------------------------------------------------------------ revno: 100364 committer: Stefan Monnier branch nick: trunk timestamp: Tue 2010-05-18 23:06:48 -0400 message: * indent.el (indent-region): Deactivate region (bug#6200). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2010-05-19 03:01:24 +0000 +++ lisp/ChangeLog 2010-05-19 03:06:48 +0000 @@ -1,3 +1,7 @@ +2010-05-19 Stefan Monnier + + * indent.el (indent-region): Deactivate region (bug#6200). + 2010-05-19 Glenn Morris * vc-dir.el (vc-dir): Don't pop-up-windows. (Bug#6204) === modified file 'lisp/indent.el' --- lisp/indent.el 2010-03-22 17:28:27 +0000 +++ lisp/indent.el 2010-05-19 03:06:48 +0000 @@ -431,7 +431,11 @@ (or (eolp) (indent-to column 0)) (forward-line 1)) - (move-marker end nil)))) + (move-marker end nil))) + ;; In most cases, reindenting modifies the buffer, but it may also + ;; leave it unmodified, in which case we have to deactivate the mark + ;; by hand. + (deactivate-mark)) (defun indent-relative-maybe () "Indent a new line like previous nonblank line.