Now on revision 106197. Conflicting tags: mh-e-doc-8.3 mh-e-8.3 ------------------------------------------------------------ revno: 106197 committer: Glenn Morris branch nick: trunk timestamp: Wed 2011-10-26 06:19:17 -0400 message: Auto-commit of generated files. diff: === modified file 'autogen/configure' --- autogen/configure 2011-10-24 10:18:38 +0000 +++ autogen/configure 2011-10-26 10:19:17 +0000 @@ -9360,7 +9360,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU Make" >&5 $as_echo_n "checking whether we are using GNU Make... " >&6; } HAVE_GNU_MAKE=no - testval=`make --version 2>/dev/null | grep 'GNU Make'` + testval=`${MAKE-make} --version 2>/dev/null | grep 'GNU Make'` if test "x$testval" != x; then HAVE_GNU_MAKE=yes else @@ -22445,14 +22445,14 @@ if test "$HAVE_NS" = "yes"; then echo - echo "You must run \"make install\" in order to test the built application. + echo "You must run \"${MAKE-make} install\" in order to test the built application. The installed application will go to nextstep/Emacs.app and can be run or moved from there." if test "$EN_NS_SELF_CONTAINED" = "yes"; then echo "The application will be fully self-contained." else echo "The lisp resources for the application will be installed under ${prefix}. -You may need to run \"make install\" with sudo. The application will fail +You may need to run \"${MAKE-make} install\" with sudo. The application will fail to run if these resources are not installed." fi echo ------------------------------------------------------------ revno: 106196 author: Daiki Ueno committer: Katsumi Yamaoka branch nick: trunk timestamp: Wed 2011-10-26 09:25:34 +0000 message: mml.el: Support quoting <#secure> tag. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-10-20 04:16:51 +0000 +++ lisp/gnus/ChangeLog 2011-10-26 09:25:34 +0000 @@ -1,3 +1,8 @@ +2011-10-26 Daiki Ueno + + * mml.el (mml-quote-region): Quote <#secure> tag. + (mml-generate-mime-1): Unquote <#secure> tag. + 2011-10-20 Chong Yidong * gnus-cite.el (gnus-message-citation-mode): Doc fix (in Emacs 24, @@ -18548,7 +18553,7 @@ gnus-requst-update-info with explicit code to sync the in-memory info read flags with the marks being sync'd to the backend. - *gnus-util.el (gnus-pp): Add optional stream to match pp API. + * gnus-util.el (gnus-pp): Add optional stream to match pp API. 2004-09-28 Teodor Zlatanov === modified file 'lisp/gnus/mml.el' --- lisp/gnus/mml.el 2011-09-26 21:59:47 +0000 +++ lisp/gnus/mml.el 2011-10-26 09:25:34 +0000 @@ -525,7 +525,7 @@ ;; Remove quotes from quoted tags. (goto-char (point-min)) (while (re-search-forward - "<#!+/?\\(part\\|multipart\\|external\\|mml\\)" + "<#!+/?\\(part\\|multipart\\|external\\|mml\\|secure\\)" nil t) (delete-region (+ (match-beginning 0) 2) (+ (match-beginning 0) 3)))))) @@ -1232,7 +1232,7 @@ (goto-char (point-min)) ;; Quote parts. (while (re-search-forward - "<#!*/?\\(multipart\\|part\\|external\\|mml\\)" nil t) + "<#!*/?\\(multipart\\|part\\|external\\|mml\\|secure\\)" nil t) ;; Insert ! after the #. (goto-char (+ (match-beginning 0) 2)) (insert "!"))))) ------------------------------------------------------------ revno: 106195 committer: Michael Albinus branch nick: trunk timestamp: Wed 2011-10-26 10:42:22 +0200 message: * ido.el (ido-file-name-all-completions-1): Do not require tramp.el explicitely. (Bug#7583) diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-10-26 01:18:13 +0000 +++ lisp/ChangeLog 2011-10-26 08:42:22 +0000 @@ -1,3 +1,8 @@ +2011-10-26 Michael Albinus + + * ido.el (ido-file-name-all-completions-1): Do not require + tramp.el explicitely. (Bug#7583) + 2011-10-26 Stefan Monnier * progmodes/octave-mod.el: @@ -10,7 +15,7 @@ 2011-10-25 Michael Albinus * net/tramp-sh.el (tramp-sh-handle-file-directory-p): Return t for - filenames "/method:foo:". + filenames "/method:foo:". (Bug#9793) 2011-10-25 Stefan Monnier === modified file 'lisp/ido.el' --- lisp/ido.el 2011-10-19 12:54:24 +0000 +++ lisp/ido.el 2011-10-26 08:42:22 +0000 @@ -3457,8 +3457,6 @@ (nconc ido-temp-list items) (setq ido-temp-list items))) -(declare-function tramp-tramp-file-p "tramp" (name)) - (defun ido-file-name-all-completions-1 (dir) (cond ((ido-nonreadable-directory-p dir) '()) @@ -3466,8 +3464,6 @@ ;; Caller must have done that if necessary. ((and ido-enable-tramp-completion - (or (fboundp 'tramp-completion-mode-p) - (require 'tramp nil t)) (string-match "\\`/[^/]+[:@]\\'" dir)) ;; Strip method:user@host: part of tramp completions. ;; Tramp completions do not include leading slash. @@ -3480,7 +3476,9 @@ ;; /ftp:user@host:./ => ok (and (not (string= "/ftp:" dir)) - (tramp-tramp-file-p dir) + (file-remote-p dir) + ;; tramp-ftp-file-name-p is available only when tramp + ;; has been loaded. (fboundp 'tramp-ftp-file-name-p) (funcall 'tramp-ftp-file-name-p dir) (string-match ":\\'" dir) ------------------------------------------------------------ revno: 106194 committer: Stefan Monnier branch nick: trunk timestamp: Tue 2011-10-25 21:18:13 -0400 message: * lisp/progmodes/octave-*.el: Update maintainer. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-10-26 00:44:06 +0000 +++ lisp/ChangeLog 2011-10-26 01:18:13 +0000 @@ -1,3 +1,8 @@ +2011-10-26 Stefan Monnier + + * progmodes/octave-mod.el: + * progmodes/octave-inf.el: Update maintainer. + 2011-10-26 Chong Yidong * subr.el (with-wrapper-hook): Rewrite doc. === modified file 'lisp/progmodes/octave-inf.el' --- lisp/progmodes/octave-inf.el 2011-10-24 02:56:59 +0000 +++ lisp/progmodes/octave-inf.el 2011-10-26 01:18:13 +0000 @@ -4,7 +4,7 @@ ;; Author: Kurt Hornik ;; Author: John Eaton -;; Maintainer: Kurt Hornik +;; Maintainer: FSF ;; Keywords: languages ;; Package: octave-mod @@ -68,6 +68,7 @@ (define-key map "\C-c\C-l" 'inferior-octave-dynamic-list-input-ring) (define-key map [menu-bar inout list-history] '("List Input History" . inferior-octave-dynamic-list-input-ring)) + ;; FIXME: free C-h so it can do the describe-prefix-bindings. (define-key map "\C-c\C-h" 'info-lookup-symbol) map) "Keymap used in Inferior Octave mode.") === modified file 'lisp/progmodes/octave-mod.el' --- lisp/progmodes/octave-mod.el 2011-10-24 02:56:59 +0000 +++ lisp/progmodes/octave-mod.el 2011-10-26 01:18:13 +0000 @@ -4,7 +4,7 @@ ;; Author: Kurt Hornik ;; Author: John Eaton -;; Maintainer: Kurt Hornik +;; Maintainer: FSF ;; Keywords: languages ;; This file is part of GNU Emacs. @@ -223,6 +223,7 @@ (define-key map "\C-c]" 'smie-close-block) (define-key map "\C-c/" 'smie-close-block) (define-key map "\C-c\C-f" 'octave-insert-defun) + ;; FIXME: free C-h so it can do the describe-prefix-bindings. (define-key map "\C-c\C-h" 'info-lookup-symbol) (define-key map "\C-c\C-il" 'octave-send-line) (define-key map "\C-c\C-ib" 'octave-send-block) @@ -236,6 +237,7 @@ (define-key map "\C-c\C-i\C-f" 'octave-send-defun) (define-key map "\C-c\C-i\C-r" 'octave-send-region) (define-key map "\C-c\C-i\C-s" 'octave-show-process-buffer) + ;; FIXME: free C-h so it can do the describe-prefix-bindings. (define-key map "\C-c\C-i\C-h" 'octave-hide-process-buffer) (define-key map "\C-c\C-i\C-k" 'octave-kill-process) map) === modified file 'src/intervals.c' --- src/intervals.c 2011-07-10 08:20:10 +0000 +++ src/intervals.c 2011-10-26 01:18:13 +0000 @@ -1723,8 +1723,6 @@ BUF_INTERVALS (buffer)->position = BEG; BUF_INTERVALS (buffer)->up_obj = 1; - /* Explicitly free the old tree here? */ - return; } ------------------------------------------------------------ revno: 106193 committer: Chong Yidong branch nick: trunk timestamp: Wed 2011-10-26 08:47:58 +0800 message: * doc/emacs/modes.texi (Running Hooks): Document with-wrapper-hook. diff: === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2011-10-18 01:42:28 +0000 +++ doc/lispref/ChangeLog 2011-10-26 00:47:58 +0000 @@ -1,3 +1,7 @@ +2011-10-26 Chong Yidong + + * modes.texi (Running Hooks): Document with-wrapper-hook. + 2011-10-18 Chong Yidong * display.texi (Glyphless Chars): New node. === modified file 'doc/lispref/modes.texi' --- doc/lispref/modes.texi 2011-08-30 15:24:07 +0000 +++ doc/lispref/modes.texi 2011-10-26 00:47:58 +0000 @@ -84,8 +84,9 @@ @node Running Hooks @subsection Running Hooks - At the appropriate times, Emacs uses the @code{run-hooks} function -and the other functions below to run particular hooks. + In this section, we document the @code{run-hooks} function, which is +used to run a normal hook. We also document the functions for running +various kinds of abnormal hooks. @defun run-hooks &rest hookvars This function takes one or more normal hook variable names as @@ -108,28 +109,49 @@ @end defun @defun run-hook-with-args hook &rest args -This function is the way to run an abnormal hook and always call all -of the hook functions. It calls each of the hook functions one by -one, passing each of them the arguments @var{args}. +This function runs an abnormal hook by calling all the hook functions in +@var{hook}, passing each one the arguments @var{args}. @end defun @defun run-hook-with-args-until-failure hook &rest args -This function is the way to run an abnormal hook until one of the hook -functions fails. It calls each of the hook functions, passing each of -them the arguments @var{args}, until some hook function returns -@code{nil}. It then stops and returns @code{nil}. If none of the -hook functions return @code{nil}, it returns a non-@code{nil} value. +This function runs an abnormal hook by calling each hook function in +turn, stopping if one of them ``fails'' by returning @code{nil}. Each +hook function is passed the arguments @var{args}. If this function +stops because one of the hook functions fails, it returns @code{nil}; +otherwise it returns a non-@code{nil} value. @end defun @defun run-hook-with-args-until-success hook &rest args -This function is the way to run an abnormal hook until a hook function -succeeds. It calls each of the hook functions, passing each of them -the arguments @var{args}, until some hook function returns -non-@code{nil}. Then it stops, and returns whatever was returned by -the last hook function that was called. If all hook functions return -@code{nil}, it returns @code{nil} as well. +This function runs an abnormal hook by calling each hook function, +stopping if one of them ``succeeds'' by returning a non-@code{nil} +value. Each hook function is passed the arguments @var{args}. If this +function stops because one of the hook functions returns a +non-@code{nil} value, it returns that value; otherwise it returns +@code{nil}. @end defun +@defmac with-wrapper-hook hook args &rest body +This macro runs the abnormal hook @code{hook} as a series of nested +``wrapper functions'' around the @var{body} forms. The effect is +similar to nested @code{around} advices (@pxref{Around-Advice}). + +Each hook function must accept an argument list consisting of a function +@var{fun}, followed by the additional arguments listed in @var{args}. +The function @var{fun} passed to the very first hook function in +@var{hook} does the same as @var{body}, if it is called with arguments +@var{args}. The @var{fun} passed to each successive hook function is +constructed from all the preceding hook functions (and @var{body}); if +this @var{fun} is called with arguments @var{args}, it does what the +@code{with-wrapper-hook} call would if the preceding hook functions were +the only ones in @var{hook}. + +In the function definition of the hook function, @var{fun} can be called +any number of times (including not calling it at all). This function +definition is then used to construct the @var{fun} passed to the next +hook function in @var{hook}, if any. The last or ``outermost'' +@var{fun} is called once to produce the effect. +@end defmac + @node Setting Hooks @subsection Setting Hooks ------------------------------------------------------------ revno: 106192 committer: Chong Yidong branch nick: trunk timestamp: Wed 2011-10-26 08:44:06 +0800 message: Document with-wrapper-hook. * doc/emacs/modes.texi (Running Hooks): Document with-wrapper-hook. * lisp/subr.el (with-wrapper-hook): Rewrite doc. diff: === modified file 'etc/NEWS' --- etc/NEWS 2011-10-24 02:01:54 +0000 +++ etc/NEWS 2011-10-26 00:44:06 +0000 @@ -1169,7 +1169,13 @@ ** pre/post-command-hook are not reset to nil upon error. Instead, the offending function is removed. -** New low-level function run-hook-wrapped. +** New hook types + +*** New function `run-hook-wrapped' for running an abnormal hook by +passing the hook functions as arguments to a "wrapping" function. ++++ +*** New macro `with-wrapper-hook' for running an abnormal hook as a +set of "wrapping" filters, similar to around advice. ** `server-eval-at' is provided to allow evaluating forms on different Emacs server instances. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-10-25 12:50:03 +0000 +++ lisp/ChangeLog 2011-10-26 00:44:06 +0000 @@ -1,3 +1,7 @@ +2011-10-26 Chong Yidong + + * subr.el (with-wrapper-hook): Rewrite doc. + 2011-10-25 Michael Albinus * net/tramp-sh.el (tramp-sh-handle-file-directory-p): Return t for === modified file 'lisp/subr.el' --- lisp/subr.el 2011-10-24 02:03:24 +0000 +++ lisp/subr.el 2011-10-26 00:44:06 +0000 @@ -1364,18 +1364,26 @@ ,@(mapcar (lambda (binder) `(setq ,@binder)) binders) ,@body)) -(defmacro with-wrapper-hook (var args &rest body) - "Run BODY wrapped with the VAR hook. -VAR is a special hook: its functions are called with a first argument -which is the \"original\" code (the BODY), so the hook function can wrap -the original function, or call it any number of times (including not calling -it at all). This is similar to an `around' advice. -VAR is normally a symbol (a variable) in which case it is treated like -a hook, with a buffer-local and a global part. But it can also be an -arbitrary expression. -ARGS is a list of variables which will be passed as additional arguments -to each function, after the initial argument, and which the first argument -expects to receive when called." +(defmacro with-wrapper-hook (hook args &rest body) + "Run BODY, using wrapper functions from HOOK with additional ARGS. +HOOK is an abnormal hook. Each hook function in HOOK \"wraps\" +around the preceding ones, like a set of nested `around' advices. + +Each hook function should accept an argument list consisting of a +function FUN, followed by the additional arguments in ARGS. + +The FUN passed to the first hook function in HOOK performs BODY, +if it is called with arguments ARGS. The FUN passed to each +successive hook function is defined based on the preceding hook +functions; if called with arguments ARGS, it does what the +`with-wrapper-hook' call would do if the preceding hook functions +were the only ones present in HOOK. + +In the function definition of each hook function, FUN can be +called any number of times (including not calling it at all). +That function definition is then used to construct the FUN passed +to the next hook function, if any. The last (or \"outermost\") +FUN is then called once." (declare (indent 2) (debug (form sexp body))) ;; We need those two gensyms because CL's lexical scoping is not available ;; for function arguments :-( @@ -1404,11 +1412,11 @@ ;; Once there are no more functions on the hook, run ;; the original body. (apply (lambda ,args ,@body) ,argssym))))) - (funcall ,runrestofhook ,var + (funcall ,runrestofhook ,hook ;; The global part of the hook, if any. - ,(if (symbolp var) - `(if (local-variable-p ',var) - (default-value ',var))) + ,(if (symbolp hook) + `(if (local-variable-p ',hook) + (default-value ',hook))) (list ,@args))))) (defun add-to-list (list-var element &optional append compare-fn) ------------------------------------------------------------ revno: 106191 committer: Paul Eggert branch nick: trunk timestamp: Tue 2011-10-25 13:46:31 -0700 message: * configure.in: Respect MAKE env-var. (Bug#9868, part 2) diff: === modified file 'configure.in' --- configure.in 2011-10-25 16:41:26 +0000 +++ configure.in 2011-10-25 20:46:31 +0000 @@ -3740,14 +3740,14 @@ if test "$HAVE_NS" = "yes"; then echo - echo "You must run \"make install\" in order to test the built application. + echo "You must run \"${MAKE-make} install\" in order to test the built application. The installed application will go to nextstep/Emacs.app and can be run or moved from there." if test "$EN_NS_SELF_CONTAINED" = "yes"; then echo "The application will be fully self-contained." else echo "The lisp resources for the application will be installed under ${prefix}. -You may need to run \"make install\" with sudo. The application will fail +You may need to run \"${MAKE-make} install\" with sudo. The application will fail to run if these resources are not installed." fi echo ------------------------------------------------------------ revno: 106190 fixes bug(s): http://debbugs.gnu.org/9861 committer: Eli Zaretskii branch nick: trunk timestamp: Tue 2011-10-25 18:54:19 +0200 message: Don't put INSTALL into w32 binary distributions. (Bug#9861) nt/makefile.w32-in (dist): Don't put the top-level INSTALL into the distribution. diff: === modified file 'nt/ChangeLog' --- nt/ChangeLog 2011-10-25 02:33:24 +0000 +++ nt/ChangeLog 2011-10-25 16:54:19 +0000 @@ -1,3 +1,8 @@ +2011-10-25 Eli Zaretskii + + * makefile.w32-in (dist): Don't put the top-level INSTALL into the + distribution. (Bug#9861) + 2011-10-25 Christoph Scholtes * INSTALL: Update URL for GTK download page. === modified file 'nt/makefile.w32-in' --- nt/makefile.w32-in 2011-09-26 03:20:03 +0000 +++ nt/makefile.w32-in 2011-10-25 16:54:19 +0000 @@ -263,7 +263,6 @@ $(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR) $(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR) $(CP) "$(INSTALL_DIR)/README.W32" $(TMP_DIST_DIR) - $(CP) "$(INSTALL_DIR)/INSTALL" $(TMP_DIST_DIR) $(CP_DIR) "$(INSTALL_DIR)/bin" $(TMP_DIST_DIR) $(CP_DIR) "$(INSTALL_DIR)/etc" $(TMP_DIST_DIR) $(CP_DIR) "$(INSTALL_DIR)/info" $(TMP_DIST_DIR) ------------------------------------------------------------ revno: 106189 fixes bug(s): http://debbugs.gnu.org/9868 author: Nali Toja committer: Glenn Morris branch nick: trunk timestamp: Tue 2011-10-25 09:41:26 -0700 message: * configure.in (HAVE_GNU_MAKE): Respect MAKE env-var. (tiny change) diff: === modified file 'ChangeLog' --- ChangeLog 2011-10-24 02:40:23 +0000 +++ ChangeLog 2011-10-25 16:41:26 +0000 @@ -1,3 +1,7 @@ +2011-10-25 Nali Toja (tiny change) + + * configure.in (HAVE_GNU_MAKE): Respect MAKE env-var. (Bug#9868) + 2011-10-24 Paul Eggert * configure.in (LIB_PTHREAD): Prepend -lpthread to LIBS (Bug#9852) === modified file 'configure.in' --- configure.in 2011-10-24 02:40:23 +0000 +++ configure.in 2011-10-25 16:41:26 +0000 @@ -1374,7 +1374,7 @@ if test "$GCC" = yes && test "$ac_enable_autodepend" = yes; then AC_MSG_CHECKING([whether we are using GNU Make]) HAVE_GNU_MAKE=no - testval=`make --version 2>/dev/null | grep 'GNU Make'` + testval=`${MAKE-make} --version 2>/dev/null | grep 'GNU Make'` if test "x$testval" != x; then HAVE_GNU_MAKE=yes else ------------------------------------------------------------ revno: 106188 fixes bug(s): http://debbugs.gnu.org/6649 committer: Paul Eggert branch nick: trunk timestamp: Tue 2011-10-25 09:36:20 -0700 message: * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2). diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-10-25 12:54:04 +0000 +++ src/ChangeLog 2011-10-25 16:36:20 +0000 @@ -1,3 +1,7 @@ +2011-10-25 Paul Eggert + + * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2). + 2011-10-25 Stefan Monnier * keyboard.c (test_undefined): New function (bug#9751). === modified file 'src/dispextern.h' --- src/dispextern.h 2011-10-20 12:39:52 +0000 +++ src/dispextern.h 2011-10-25 16:36:20 +0000 @@ -3346,6 +3346,7 @@ extern void set_tty_color_mode (struct tty_display_info *, struct frame *); extern struct terminal *get_named_tty (const char *); EXFUN (Ftty_type, 1); +EXFUN (Fcontrolling_tty_p, 1); extern void create_tty_output (struct frame *); extern struct terminal *init_tty (const char *, const char *, int); extern void tty_append_glyph (struct it *); ------------------------------------------------------------ revno: 106187 fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9751 committer: Stefan Monnier branch nick: trunk timestamp: Tue 2011-10-25 08:54:04 -0400 message: Make function-key-map apply when key is bound to `undefined'. * src/keyboard.c (test_undefined): New function. (read_key_sequence): Use it to detect when a key is bound to `undefined'. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-10-25 04:27:47 +0000 +++ src/ChangeLog 2011-10-25 12:54:04 +0000 @@ -1,3 +1,8 @@ +2011-10-25 Stefan Monnier + + * keyboard.c (test_undefined): New function (bug#9751). + (read_key_sequence): Use it to detect when a key is bound to `undefined'. + 2011-10-25 Enami Tsugutomo * sysdep.c (init_sys_modes): Fix the check for the controlling === modified file 'src/keyboard.c' --- src/keyboard.c 2011-10-03 20:50:54 +0000 +++ src/keyboard.c 2011-10-25 12:54:04 +0000 @@ -8902,6 +8902,14 @@ return 0; } +static int +test_undefined (Lisp_Object binding) +{ + return (EQ (binding, Qundefined) + || (!NILP (binding) && SYMBOLP (binding) + && EQ (Fcommand_remapping (binding, Qnil, Qnil), Qundefined))); +} + /* Read a sequence of keys that ends with a non prefix character, storing it in KEYBUF, a buffer of size BUFSIZE. Prompt with PROMPT. @@ -9852,7 +9860,9 @@ } } - if (first_binding < nmaps && NILP (submaps[first_binding]) + if (first_binding < nmaps + && NILP (submaps[first_binding]) + && !test_undefined (defs[first_binding]) && indec.start >= t) /* There is a binding and it's not a prefix. (and it doesn't have any input-decode-map translation pending). @@ -9879,7 +9889,9 @@ /* If there's a binding (i.e. first_binding >= nmaps) we don't want to apply this function-key-mapping. */ - fkey.end + 1 == t && first_binding >= nmaps, + fkey.end + 1 == t + && (first_binding >= nmaps + || test_undefined (defs[first_binding])), &diff, prompt); UNGCPRO; if (done)