diff options
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rwxr-xr-x | autogen/configure | 9 | ||||
| -rw-r--r-- | configure.in | 6 | ||||
| -rw-r--r-- | doc/emacs/ChangeLog | 5 | ||||
| -rw-r--r-- | doc/emacs/abbrevs.texi | 2 | ||||
| -rw-r--r-- | doc/lispref/ChangeLog | 4 | ||||
| -rw-r--r-- | doc/lispref/modes.texi | 54 | ||||
| -rw-r--r-- | etc/NEWS | 8 | ||||
| -rw-r--r-- | lisp/ChangeLog | 33 | ||||
| -rw-r--r-- | lisp/comint.el | 6 | ||||
| -rw-r--r-- | lisp/emacs-lisp/easy-mmode.el | 5 | ||||
| -rw-r--r-- | lisp/facemenu.el | 2 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/gnus/mml.el | 4 | ||||
| -rw-r--r-- | lisp/ido.el | 8 | ||||
| -rw-r--r-- | lisp/net/tramp-sh.el | 17 | ||||
| -rw-r--r-- | lisp/notifications.el | 3 | ||||
| -rw-r--r-- | lisp/progmodes/octave-inf.el | 3 | ||||
| -rw-r--r-- | lisp/progmodes/octave-mod.el | 4 | ||||
| -rw-r--r-- | lisp/subr.el | 40 | ||||
| -rw-r--r-- | nt/ChangeLog | 9 | ||||
| -rw-r--r-- | nt/INSTALL | 2 | ||||
| -rw-r--r-- | nt/makefile.w32-in | 1 | ||||
| -rw-r--r-- | src/ChangeLog | 14 | ||||
| -rw-r--r-- | src/dispextern.h | 1 | ||||
| -rw-r--r-- | src/intervals.c | 2 | ||||
| -rw-r--r-- | src/keyboard.c | 16 | ||||
| -rw-r--r-- | src/sysdep.c | 5 |
28 files changed, 201 insertions, 73 deletions
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-10-25 Nali Toja <nalitoja@gmail.com> (tiny change) | ||
| 2 | |||
| 3 | * configure.in (HAVE_GNU_MAKE): Respect MAKE env-var. (Bug#9868) | ||
| 4 | |||
| 1 | 2011-10-24 Paul Eggert <eggert@cs.ucla.edu> | 5 | 2011-10-24 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 6 | ||
| 3 | * configure.in (LIB_PTHREAD): Prepend -lpthread to LIBS (Bug#9852) | 7 | * configure.in (LIB_PTHREAD): Prepend -lpthread to LIBS (Bug#9852) |
diff --git a/autogen/configure b/autogen/configure index cd68832a547..979aafc60ff 100755 --- a/autogen/configure +++ b/autogen/configure | |||
| @@ -9509,7 +9509,7 @@ if test "$GCC" = yes && test "$ac_enable_autodepend" = yes; then | |||
| 9509 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU Make" >&5 | 9509 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU Make" >&5 |
| 9510 | $as_echo_n "checking whether we are using GNU Make... " >&6; } | 9510 | $as_echo_n "checking whether we are using GNU Make... " >&6; } |
| 9511 | HAVE_GNU_MAKE=no | 9511 | HAVE_GNU_MAKE=no |
| 9512 | testval=`make --version 2>/dev/null | grep 'GNU Make'` | 9512 | testval=`${MAKE-make} --version 2>/dev/null | grep 'GNU Make'` |
| 9513 | if test "x$testval" != x; then | 9513 | if test "x$testval" != x; then |
| 9514 | HAVE_GNU_MAKE=yes | 9514 | HAVE_GNU_MAKE=yes |
| 9515 | else | 9515 | else |
| @@ -10529,7 +10529,8 @@ fi | |||
| 10529 | if test "$HAVE_PTHREAD" = yes; then | 10529 | if test "$HAVE_PTHREAD" = yes; then |
| 10530 | case "${canonical}" in | 10530 | case "${canonical}" in |
| 10531 | *-hpux*) ;; | 10531 | *-hpux*) ;; |
| 10532 | *) LIB_PTHREAD="-lpthread" ;; | 10532 | *) LIB_PTHREAD="-lpthread" |
| 10533 | LIBS="$LIB_PTHREAD $LIBS" ;; | ||
| 10533 | esac | 10534 | esac |
| 10534 | 10535 | ||
| 10535 | $as_echo "#define HAVE_PTHREAD 1" >>confdefs.h | 10536 | $as_echo "#define HAVE_PTHREAD 1" >>confdefs.h |
| @@ -24302,14 +24303,14 @@ echo | |||
| 24302 | 24303 | ||
| 24303 | if test "$HAVE_NS" = "yes"; then | 24304 | if test "$HAVE_NS" = "yes"; then |
| 24304 | echo | 24305 | echo |
| 24305 | echo "You must run \"make install\" in order to test the built application. | 24306 | echo "You must run \"${MAKE-make} install\" in order to test the built application. |
| 24306 | The installed application will go to nextstep/Emacs.app and can be | 24307 | The installed application will go to nextstep/Emacs.app and can be |
| 24307 | run or moved from there." | 24308 | run or moved from there." |
| 24308 | if test "$EN_NS_SELF_CONTAINED" = "yes"; then | 24309 | if test "$EN_NS_SELF_CONTAINED" = "yes"; then |
| 24309 | echo "The application will be fully self-contained." | 24310 | echo "The application will be fully self-contained." |
| 24310 | else | 24311 | else |
| 24311 | echo "The lisp resources for the application will be installed under ${prefix}. | 24312 | echo "The lisp resources for the application will be installed under ${prefix}. |
| 24312 | You may need to run \"make install\" with sudo. The application will fail | 24313 | You may need to run \"${MAKE-make} install\" with sudo. The application will fail |
| 24313 | to run if these resources are not installed." | 24314 | to run if these resources are not installed." |
| 24314 | fi | 24315 | fi |
| 24315 | echo | 24316 | echo |
diff --git a/configure.in b/configure.in index fcf569b5ef2..14eec4835d5 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -1376,7 +1376,7 @@ dnl check for GNU Make if we have GCC and autodepend is on. | |||
| 1376 | if test "$GCC" = yes && test "$ac_enable_autodepend" = yes; then | 1376 | if test "$GCC" = yes && test "$ac_enable_autodepend" = yes; then |
| 1377 | AC_MSG_CHECKING([whether we are using GNU Make]) | 1377 | AC_MSG_CHECKING([whether we are using GNU Make]) |
| 1378 | HAVE_GNU_MAKE=no | 1378 | HAVE_GNU_MAKE=no |
| 1379 | testval=`make --version 2>/dev/null | grep 'GNU Make'` | 1379 | testval=`${MAKE-make} --version 2>/dev/null | grep 'GNU Make'` |
| 1380 | if test "x$testval" != x; then | 1380 | if test "x$testval" != x; then |
| 1381 | HAVE_GNU_MAKE=yes | 1381 | HAVE_GNU_MAKE=yes |
| 1382 | else | 1382 | else |
| @@ -3795,14 +3795,14 @@ echo | |||
| 3795 | 3795 | ||
| 3796 | if test "$HAVE_NS" = "yes"; then | 3796 | if test "$HAVE_NS" = "yes"; then |
| 3797 | echo | 3797 | echo |
| 3798 | echo "You must run \"make install\" in order to test the built application. | 3798 | echo "You must run \"${MAKE-make} install\" in order to test the built application. |
| 3799 | The installed application will go to nextstep/Emacs.app and can be | 3799 | The installed application will go to nextstep/Emacs.app and can be |
| 3800 | run or moved from there." | 3800 | run or moved from there." |
| 3801 | if test "$EN_NS_SELF_CONTAINED" = "yes"; then | 3801 | if test "$EN_NS_SELF_CONTAINED" = "yes"; then |
| 3802 | echo "The application will be fully self-contained." | 3802 | echo "The application will be fully self-contained." |
| 3803 | else | 3803 | else |
| 3804 | echo "The lisp resources for the application will be installed under ${prefix}. | 3804 | echo "The lisp resources for the application will be installed under ${prefix}. |
| 3805 | You may need to run \"make install\" with sudo. The application will fail | 3805 | You may need to run \"${MAKE-make} install\" with sudo. The application will fail |
| 3806 | to run if these resources are not installed." | 3806 | to run if these resources are not installed." |
| 3807 | fi | 3807 | fi |
| 3808 | echo | 3808 | echo |
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index a1310e87b15..4b51486069c 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-10-25 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * abbrevs.texi (Saving Abbrevs): | ||
| 4 | quietly-read-abbrev-file is not a command. (Bug#9866) | ||
| 5 | |||
| 1 | 2011-10-24 Chong Yidong <cyd@gnu.org> | 6 | 2011-10-24 Chong Yidong <cyd@gnu.org> |
| 2 | 7 | ||
| 3 | * display.texi (Scrolling): Document scroll-up-line and | 8 | * display.texi (Scrolling): Document scroll-up-line and |
diff --git a/doc/emacs/abbrevs.texi b/doc/emacs/abbrevs.texi index d0833ea0854..2eafadf4841 100644 --- a/doc/emacs/abbrevs.texi +++ b/doc/emacs/abbrevs.texi | |||
| @@ -286,8 +286,6 @@ sessions. | |||
| 286 | Write a file @var{file} describing all defined abbrevs. | 286 | Write a file @var{file} describing all defined abbrevs. |
| 287 | @item M-x read-abbrev-file @key{RET} @var{file} @key{RET} | 287 | @item M-x read-abbrev-file @key{RET} @var{file} @key{RET} |
| 288 | Read the file @var{file} and define abbrevs as specified therein. | 288 | Read the file @var{file} and define abbrevs as specified therein. |
| 289 | @item M-x quietly-read-abbrev-file @key{RET} @var{file} @key{RET} | ||
| 290 | Similar but do not display a message about what is going on. | ||
| 291 | @item M-x define-abbrevs | 289 | @item M-x define-abbrevs |
| 292 | Define abbrevs from definitions in current buffer. | 290 | Define abbrevs from definitions in current buffer. |
| 293 | @item M-x insert-abbrevs | 291 | @item M-x insert-abbrevs |
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 490280dae29..acc334ea000 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-10-26 Chong Yidong <cyd@gnu.org> | ||
| 2 | |||
| 3 | * modes.texi (Running Hooks): Document with-wrapper-hook. | ||
| 4 | |||
| 1 | 2011-10-18 Chong Yidong <cyd@gnu.org> | 5 | 2011-10-18 Chong Yidong <cyd@gnu.org> |
| 2 | 6 | ||
| 3 | * display.texi (Glyphless Chars): New node. | 7 | * display.texi (Glyphless Chars): New node. |
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index eb81ebc4acb..9d652901e53 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi | |||
| @@ -84,8 +84,9 @@ its value is just a single function, not a list of functions. | |||
| 84 | @node Running Hooks | 84 | @node Running Hooks |
| 85 | @subsection Running Hooks | 85 | @subsection Running Hooks |
| 86 | 86 | ||
| 87 | At the appropriate times, Emacs uses the @code{run-hooks} function | 87 | In this section, we document the @code{run-hooks} function, which is |
| 88 | and the other functions below to run particular hooks. | 88 | used to run a normal hook. We also document the functions for running |
| 89 | various kinds of abnormal hooks. | ||
| 89 | 90 | ||
| 90 | @defun run-hooks &rest hookvars | 91 | @defun run-hooks &rest hookvars |
| 91 | This function takes one or more normal hook variable names as | 92 | This function takes one or more normal hook variable names as |
| @@ -108,28 +109,49 @@ be run as well. | |||
| 108 | @end defun | 109 | @end defun |
| 109 | 110 | ||
| 110 | @defun run-hook-with-args hook &rest args | 111 | @defun run-hook-with-args hook &rest args |
| 111 | This function is the way to run an abnormal hook and always call all | 112 | This function runs an abnormal hook by calling all the hook functions in |
| 112 | of the hook functions. It calls each of the hook functions one by | 113 | @var{hook}, passing each one the arguments @var{args}. |
| 113 | one, passing each of them the arguments @var{args}. | ||
| 114 | @end defun | 114 | @end defun |
| 115 | 115 | ||
| 116 | @defun run-hook-with-args-until-failure hook &rest args | 116 | @defun run-hook-with-args-until-failure hook &rest args |
| 117 | This function is the way to run an abnormal hook until one of the hook | 117 | This function runs an abnormal hook by calling each hook function in |
| 118 | functions fails. It calls each of the hook functions, passing each of | 118 | turn, stopping if one of them ``fails'' by returning @code{nil}. Each |
| 119 | them the arguments @var{args}, until some hook function returns | 119 | hook function is passed the arguments @var{args}. If this function |
| 120 | @code{nil}. It then stops and returns @code{nil}. If none of the | 120 | stops because one of the hook functions fails, it returns @code{nil}; |
| 121 | hook functions return @code{nil}, it returns a non-@code{nil} value. | 121 | otherwise it returns a non-@code{nil} value. |
| 122 | @end defun | 122 | @end defun |
| 123 | 123 | ||
| 124 | @defun run-hook-with-args-until-success hook &rest args | 124 | @defun run-hook-with-args-until-success hook &rest args |
| 125 | This function is the way to run an abnormal hook until a hook function | 125 | This function runs an abnormal hook by calling each hook function, |
| 126 | succeeds. It calls each of the hook functions, passing each of them | 126 | stopping if one of them ``succeeds'' by returning a non-@code{nil} |
| 127 | the arguments @var{args}, until some hook function returns | 127 | value. Each hook function is passed the arguments @var{args}. If this |
| 128 | non-@code{nil}. Then it stops, and returns whatever was returned by | 128 | function stops because one of the hook functions returns a |
| 129 | the last hook function that was called. If all hook functions return | 129 | non-@code{nil} value, it returns that value; otherwise it returns |
| 130 | @code{nil}, it returns @code{nil} as well. | 130 | @code{nil}. |
| 131 | @end defun | 131 | @end defun |
| 132 | 132 | ||
| 133 | @defmac with-wrapper-hook hook args &rest body | ||
| 134 | This macro runs the abnormal hook @code{hook} as a series of nested | ||
| 135 | ``wrapper functions'' around the @var{body} forms. The effect is | ||
| 136 | similar to nested @code{around} advices (@pxref{Around-Advice}). | ||
| 137 | |||
| 138 | Each hook function must accept an argument list consisting of a function | ||
| 139 | @var{fun}, followed by the additional arguments listed in @var{args}. | ||
| 140 | The function @var{fun} passed to the very first hook function in | ||
| 141 | @var{hook} does the same as @var{body}, if it is called with arguments | ||
| 142 | @var{args}. The @var{fun} passed to each successive hook function is | ||
| 143 | constructed from all the preceding hook functions (and @var{body}); if | ||
| 144 | this @var{fun} is called with arguments @var{args}, it does what the | ||
| 145 | @code{with-wrapper-hook} call would if the preceding hook functions were | ||
| 146 | the only ones in @var{hook}. | ||
| 147 | |||
| 148 | In the function definition of the hook function, @var{fun} can be called | ||
| 149 | any number of times (including not calling it at all). This function | ||
| 150 | definition is then used to construct the @var{fun} passed to the next | ||
| 151 | hook function in @var{hook}, if any. The last or ``outermost'' | ||
| 152 | @var{fun} is called once to produce the effect. | ||
| 153 | @end defmac | ||
| 154 | |||
| 133 | @node Setting Hooks | 155 | @node Setting Hooks |
| 134 | @subsection Setting Hooks | 156 | @subsection Setting Hooks |
| 135 | 157 | ||
| @@ -1169,7 +1169,13 @@ must also be supplied. | |||
| 1169 | ** pre/post-command-hook are not reset to nil upon error. | 1169 | ** pre/post-command-hook are not reset to nil upon error. |
| 1170 | Instead, the offending function is removed. | 1170 | Instead, the offending function is removed. |
| 1171 | 1171 | ||
| 1172 | ** New low-level function run-hook-wrapped. | 1172 | ** New hook types |
| 1173 | |||
| 1174 | *** New function `run-hook-wrapped' for running an abnormal hook by | ||
| 1175 | passing the hook functions as arguments to a "wrapping" function. | ||
| 1176 | +++ | ||
| 1177 | *** New macro `with-wrapper-hook' for running an abnormal hook as a | ||
| 1178 | set of "wrapping" filters, similar to around advice. | ||
| 1173 | 1179 | ||
| 1174 | ** `server-eval-at' is provided to allow evaluating forms on different | 1180 | ** `server-eval-at' is provided to allow evaluating forms on different |
| 1175 | Emacs server instances. | 1181 | Emacs server instances. |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b20ebccea89..88248f00559 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,36 @@ | |||
| 1 | 2011-10-26 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | |||
| 3 | * ido.el (ido-file-name-all-completions-1): Do not require | ||
| 4 | tramp.el explicitely. (Bug#7583) | ||
| 5 | |||
| 6 | 2011-10-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 7 | |||
| 8 | * progmodes/octave-mod.el: | ||
| 9 | * progmodes/octave-inf.el: Update maintainer. | ||
| 10 | |||
| 11 | 2011-10-26 Chong Yidong <cyd@gnu.org> | ||
| 12 | |||
| 13 | * subr.el (with-wrapper-hook): Rewrite doc. | ||
| 14 | |||
| 15 | 2011-10-25 Michael Albinus <michael.albinus@gmx.de> | ||
| 16 | |||
| 17 | * net/tramp-sh.el (tramp-sh-handle-file-directory-p): Return t for | ||
| 18 | filenames "/method:foo:". (Bug#9793) | ||
| 19 | |||
| 20 | 2011-10-25 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 21 | |||
| 22 | * comint.el (comint-get-old-input-default): Fix use-prompt-regexp case | ||
| 23 | (bug#9865). | ||
| 24 | |||
| 25 | 2011-10-24 Glenn Morris <rgm@gnu.org> | ||
| 26 | |||
| 27 | * emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix. (Bug#9819) | ||
| 28 | |||
| 29 | 2011-10-24 Michael Albinus <michael.albinus@gmx.de> | ||
| 30 | |||
| 31 | * notifications.el: Add the requirement of a running D-Bus session | ||
| 32 | bus to the Commentary. | ||
| 33 | |||
| 1 | 2011-10-24 Juri Linkov <juri@jurta.org> | 34 | 2011-10-24 Juri Linkov <juri@jurta.org> |
| 2 | 35 | ||
| 3 | * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to | 36 | * isearch.el (isearch-occur): Let-bind `search-spaces-regexp' to |
diff --git a/lisp/comint.el b/lisp/comint.el index 591be5e2d9d..b91b82adb21 100644 --- a/lisp/comint.el +++ b/lisp/comint.el | |||
| @@ -2151,8 +2151,10 @@ current line, if point is on an output field. | |||
| 2151 | If `comint-use-prompt-regexp' is non-nil, then return | 2151 | If `comint-use-prompt-regexp' is non-nil, then return |
| 2152 | the current line with any initial string matching the regexp | 2152 | the current line with any initial string matching the regexp |
| 2153 | `comint-prompt-regexp' removed." | 2153 | `comint-prompt-regexp' removed." |
| 2154 | (let ((bof (field-beginning))) | 2154 | (let (bof) |
| 2155 | (if (null (get-char-property bof 'field)) ;Not `output'. | 2155 | (if (and (not comint-use-prompt-regexp) |
| 2156 | ;; Make sure we're in an input rather than output field. | ||
| 2157 | (null (get-char-property (setq bof (field-beginning)) 'field))) | ||
| 2156 | (field-string-no-properties bof) | 2158 | (field-string-no-properties bof) |
| 2157 | (comint-bol) | 2159 | (comint-bol) |
| 2158 | (buffer-substring-no-properties (point) (line-end-position))))) | 2160 | (buffer-substring-no-properties (point) (line-end-position))))) |
diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el index b1cb0615e43..4b6f4d634ca 100644 --- a/lisp/emacs-lisp/easy-mmode.el +++ b/lisp/emacs-lisp/easy-mmode.el | |||
| @@ -94,8 +94,9 @@ Optional LIGHTER is displayed in the modeline when the mode is on. | |||
| 94 | Optional KEYMAP is the default keymap bound to the mode keymap. | 94 | Optional KEYMAP is the default keymap bound to the mode keymap. |
| 95 | If non-nil, it should be a variable name (whose value is a keymap), | 95 | If non-nil, it should be a variable name (whose value is a keymap), |
| 96 | or an expression that returns either a keymap or a list of | 96 | or an expression that returns either a keymap or a list of |
| 97 | arguments for `easy-mmode-define-keymap'. If KEYMAP is not a symbol, | 97 | arguments for `easy-mmode-define-keymap'. If you supply a KEYMAP |
| 98 | this also defines the variable MODE-map. | 98 | argument that is not a symbol, this macro defines the variable |
| 99 | MODE-map and gives it the value that KEYMAP specifies. | ||
| 99 | 100 | ||
| 100 | BODY contains code to execute each time the mode is enabled or disabled. | 101 | BODY contains code to execute each time the mode is enabled or disabled. |
| 101 | It is executed after toggling the mode, and before running MODE-hook. | 102 | It is executed after toggling the mode, and before running MODE-hook. |
diff --git a/lisp/facemenu.el b/lisp/facemenu.el index 54b17d58f33..4f9db02b5e1 100644 --- a/lisp/facemenu.el +++ b/lisp/facemenu.el | |||
| @@ -645,6 +645,8 @@ a list of colors that the current display can handle." | |||
| 645 | ;; text in menu entries) and `SystemWindowText' (the default | 645 | ;; text in menu entries) and `SystemWindowText' (the default |
| 646 | ;; color w32 uses for the text in windows and dialogs) may | 646 | ;; color w32 uses for the text in windows and dialogs) may |
| 647 | ;; be the same display color and be adjacent in the list. | 647 | ;; be the same display color and be adjacent in the list. |
| 648 | ;; These system colors all have names prefixed with "System", | ||
| 649 | ;; which is hardcoded in w32fns.c (SYSTEM_COLOR_PREFIX). | ||
| 648 | ;; This makes them different to any other color. Bug#9722 | 650 | ;; This makes them different to any other color. Bug#9722 |
| 649 | (not (and (eq system-type 'windows-nt) | 651 | (not (and (eq system-type 'windows-nt) |
| 650 | (string-match-p "^System" (car (car l)))))) | 652 | (string-match-p "^System" (car (car l)))))) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 592d0671c26..8b4e993149e 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-10-26 Daiki Ueno <ueno@unixuser.org> | ||
| 2 | |||
| 3 | * mml.el (mml-quote-region): Quote <#secure> tag. | ||
| 4 | (mml-generate-mime-1): Unquote <#secure> tag. | ||
| 5 | |||
| 1 | 2011-10-20 Chong Yidong <cyd@gnu.org> | 6 | 2011-10-20 Chong Yidong <cyd@gnu.org> |
| 2 | 7 | ||
| 3 | * gnus-cite.el (gnus-message-citation-mode): Doc fix (in Emacs 24, | 8 | * gnus-cite.el (gnus-message-citation-mode): Doc fix (in Emacs 24, |
| @@ -18548,7 +18553,7 @@ | |||
| 18548 | gnus-requst-update-info with explicit code to sync the in-memory | 18553 | gnus-requst-update-info with explicit code to sync the in-memory |
| 18549 | info read flags with the marks being sync'd to the backend. | 18554 | info read flags with the marks being sync'd to the backend. |
| 18550 | 18555 | ||
| 18551 | *gnus-util.el (gnus-pp): Add optional stream to match pp API. | 18556 | * gnus-util.el (gnus-pp): Add optional stream to match pp API. |
| 18552 | 18557 | ||
| 18553 | 2004-09-28 Teodor Zlatanov <tzz@lifelogs.com> | 18558 | 2004-09-28 Teodor Zlatanov <tzz@lifelogs.com> |
| 18554 | 18559 | ||
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el index 0d2ae2a845a..352fa329e3e 100644 --- a/lisp/gnus/mml.el +++ b/lisp/gnus/mml.el | |||
| @@ -525,7 +525,7 @@ If MML is non-nil, return the buffer up till the correspondent mml tag." | |||
| 525 | ;; Remove quotes from quoted tags. | 525 | ;; Remove quotes from quoted tags. |
| 526 | (goto-char (point-min)) | 526 | (goto-char (point-min)) |
| 527 | (while (re-search-forward | 527 | (while (re-search-forward |
| 528 | "<#!+/?\\(part\\|multipart\\|external\\|mml\\)" | 528 | "<#!+/?\\(part\\|multipart\\|external\\|mml\\|secure\\)" |
| 529 | nil t) | 529 | nil t) |
| 530 | (delete-region (+ (match-beginning 0) 2) | 530 | (delete-region (+ (match-beginning 0) 2) |
| 531 | (+ (match-beginning 0) 3)))))) | 531 | (+ (match-beginning 0) 3)))))) |
| @@ -1232,7 +1232,7 @@ If not set, `default-directory' will be used." | |||
| 1232 | (goto-char (point-min)) | 1232 | (goto-char (point-min)) |
| 1233 | ;; Quote parts. | 1233 | ;; Quote parts. |
| 1234 | (while (re-search-forward | 1234 | (while (re-search-forward |
| 1235 | "<#!*/?\\(multipart\\|part\\|external\\|mml\\)" nil t) | 1235 | "<#!*/?\\(multipart\\|part\\|external\\|mml\\|secure\\)" nil t) |
| 1236 | ;; Insert ! after the #. | 1236 | ;; Insert ! after the #. |
| 1237 | (goto-char (+ (match-beginning 0) 2)) | 1237 | (goto-char (+ (match-beginning 0) 2)) |
| 1238 | (insert "!"))))) | 1238 | (insert "!"))))) |
diff --git a/lisp/ido.el b/lisp/ido.el index 88599013ce6..fda4c0316f7 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -3457,8 +3457,6 @@ This is to make them appear as if they were \"virtual buffers\"." | |||
| 3457 | (nconc ido-temp-list items) | 3457 | (nconc ido-temp-list items) |
| 3458 | (setq ido-temp-list items))) | 3458 | (setq ido-temp-list items))) |
| 3459 | 3459 | ||
| 3460 | (declare-function tramp-tramp-file-p "tramp" (name)) | ||
| 3461 | |||
| 3462 | (defun ido-file-name-all-completions-1 (dir) | 3460 | (defun ido-file-name-all-completions-1 (dir) |
| 3463 | (cond | 3461 | (cond |
| 3464 | ((ido-nonreadable-directory-p dir) '()) | 3462 | ((ido-nonreadable-directory-p dir) '()) |
| @@ -3466,8 +3464,6 @@ This is to make them appear as if they were \"virtual buffers\"." | |||
| 3466 | ;; Caller must have done that if necessary. | 3464 | ;; Caller must have done that if necessary. |
| 3467 | 3465 | ||
| 3468 | ((and ido-enable-tramp-completion | 3466 | ((and ido-enable-tramp-completion |
| 3469 | (or (fboundp 'tramp-completion-mode-p) | ||
| 3470 | (require 'tramp nil t)) | ||
| 3471 | (string-match "\\`/[^/]+[:@]\\'" dir)) | 3467 | (string-match "\\`/[^/]+[:@]\\'" dir)) |
| 3472 | ;; Strip method:user@host: part of tramp completions. | 3468 | ;; Strip method:user@host: part of tramp completions. |
| 3473 | ;; Tramp completions do not include leading slash. | 3469 | ;; Tramp completions do not include leading slash. |
| @@ -3480,7 +3476,9 @@ This is to make them appear as if they were \"virtual buffers\"." | |||
| 3480 | ;; /ftp:user@host:./ => ok | 3476 | ;; /ftp:user@host:./ => ok |
| 3481 | (and | 3477 | (and |
| 3482 | (not (string= "/ftp:" dir)) | 3478 | (not (string= "/ftp:" dir)) |
| 3483 | (tramp-tramp-file-p dir) | 3479 | (file-remote-p dir) |
| 3480 | ;; tramp-ftp-file-name-p is available only when tramp | ||
| 3481 | ;; has been loaded. | ||
| 3484 | (fboundp 'tramp-ftp-file-name-p) | 3482 | (fboundp 'tramp-ftp-file-name-p) |
| 3485 | (funcall 'tramp-ftp-file-name-p dir) | 3483 | (funcall 'tramp-ftp-file-name-p dir) |
| 3486 | (string-match ":\\'" dir) | 3484 | (string-match ":\\'" dir) |
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 56424f79476..55732194bc8 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el | |||
| @@ -1594,17 +1594,14 @@ and gid of the corresponding user is taken. Both parameters must be integers." | |||
| 1594 | 1594 | ||
| 1595 | (defun tramp-sh-handle-file-directory-p (filename) | 1595 | (defun tramp-sh-handle-file-directory-p (filename) |
| 1596 | "Like `file-directory-p' for Tramp files." | 1596 | "Like `file-directory-p' for Tramp files." |
| 1597 | ;; Care must be taken that this function returns `t' for symlinks | ||
| 1598 | ;; pointing to directories. Surely the most obvious implementation | ||
| 1599 | ;; would be `test -d', but that returns false for such symlinks. | ||
| 1600 | ;; CCC: Stefan Monnier says that `test -d' follows symlinks. And | ||
| 1601 | ;; I now think he's right. So we could be using `test -d', couldn't | ||
| 1602 | ;; we? | ||
| 1603 | ;; | ||
| 1604 | ;; Alternatives: `cd %s', `test -d %s' | ||
| 1605 | (with-parsed-tramp-file-name filename nil | 1597 | (with-parsed-tramp-file-name filename nil |
| 1606 | (with-file-property v localname "file-directory-p" | 1598 | ;; `file-directory-p' is used as predicate for filename completion. |
| 1607 | (tramp-run-test "-d" filename)))) | 1599 | ;; Sometimes, when a connection is not established yet, it is |
| 1600 | ;; desirable to return t immediately for "/method:foo:". It can | ||
| 1601 | ;; be expected that this is always a directory. | ||
| 1602 | (or (zerop (length localname)) | ||
| 1603 | (with-file-property v localname "file-directory-p" | ||
| 1604 | (tramp-run-test "-d" filename))))) | ||
| 1608 | 1605 | ||
| 1609 | (defun tramp-sh-handle-file-writable-p (filename) | 1606 | (defun tramp-sh-handle-file-writable-p (filename) |
| 1610 | "Like `file-writable-p' for Tramp files." | 1607 | "Like `file-writable-p' for Tramp files." |
diff --git a/lisp/notifications.el b/lisp/notifications.el index 42cd40df36b..a4e7fdd5425 100644 --- a/lisp/notifications.el +++ b/lisp/notifications.el | |||
| @@ -30,6 +30,9 @@ | |||
| 30 | ;; | 30 | ;; |
| 31 | ;; (require 'notifications) | 31 | ;; (require 'notifications) |
| 32 | 32 | ||
| 33 | ;; For proper usage, Emacs must be started in an environment with an | ||
| 34 | ;; active D-Bus session bus. | ||
| 35 | |||
| 33 | ;;; Code: | 36 | ;;; Code: |
| 34 | (eval-when-compile | 37 | (eval-when-compile |
| 35 | (require 'cl)) | 38 | (require 'cl)) |
diff --git a/lisp/progmodes/octave-inf.el b/lisp/progmodes/octave-inf.el index e9d890c3f26..421f476016e 100644 --- a/lisp/progmodes/octave-inf.el +++ b/lisp/progmodes/octave-inf.el | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | ;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> | 5 | ;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> |
| 6 | ;; Author: John Eaton <jwe@bevo.che.wisc.edu> | 6 | ;; Author: John Eaton <jwe@bevo.che.wisc.edu> |
| 7 | ;; Maintainer: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> | 7 | ;; Maintainer: FSF |
| 8 | ;; Keywords: languages | 8 | ;; Keywords: languages |
| 9 | ;; Package: octave-mod | 9 | ;; Package: octave-mod |
| 10 | 10 | ||
| @@ -68,6 +68,7 @@ mode, set this to (\"-q\" \"--traditional\")." | |||
| 68 | (define-key map "\C-c\C-l" 'inferior-octave-dynamic-list-input-ring) | 68 | (define-key map "\C-c\C-l" 'inferior-octave-dynamic-list-input-ring) |
| 69 | (define-key map [menu-bar inout list-history] | 69 | (define-key map [menu-bar inout list-history] |
| 70 | '("List Input History" . inferior-octave-dynamic-list-input-ring)) | 70 | '("List Input History" . inferior-octave-dynamic-list-input-ring)) |
| 71 | ;; FIXME: free C-h so it can do the describe-prefix-bindings. | ||
| 71 | (define-key map "\C-c\C-h" 'info-lookup-symbol) | 72 | (define-key map "\C-c\C-h" 'info-lookup-symbol) |
| 72 | map) | 73 | map) |
| 73 | "Keymap used in Inferior Octave mode.") | 74 | "Keymap used in Inferior Octave mode.") |
diff --git a/lisp/progmodes/octave-mod.el b/lisp/progmodes/octave-mod.el index 5e13b8533e7..28e25a35c70 100644 --- a/lisp/progmodes/octave-mod.el +++ b/lisp/progmodes/octave-mod.el | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | ;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> | 5 | ;; Author: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> |
| 6 | ;; Author: John Eaton <jwe@octave.org> | 6 | ;; Author: John Eaton <jwe@octave.org> |
| 7 | ;; Maintainer: Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> | 7 | ;; Maintainer: FSF |
| 8 | ;; Keywords: languages | 8 | ;; Keywords: languages |
| 9 | 9 | ||
| 10 | ;; This file is part of GNU Emacs. | 10 | ;; This file is part of GNU Emacs. |
| @@ -223,6 +223,7 @@ parenthetical grouping.") | |||
| 223 | (define-key map "\C-c]" 'smie-close-block) | 223 | (define-key map "\C-c]" 'smie-close-block) |
| 224 | (define-key map "\C-c/" 'smie-close-block) | 224 | (define-key map "\C-c/" 'smie-close-block) |
| 225 | (define-key map "\C-c\C-f" 'octave-insert-defun) | 225 | (define-key map "\C-c\C-f" 'octave-insert-defun) |
| 226 | ;; FIXME: free C-h so it can do the describe-prefix-bindings. | ||
| 226 | (define-key map "\C-c\C-h" 'info-lookup-symbol) | 227 | (define-key map "\C-c\C-h" 'info-lookup-symbol) |
| 227 | (define-key map "\C-c\C-il" 'octave-send-line) | 228 | (define-key map "\C-c\C-il" 'octave-send-line) |
| 228 | (define-key map "\C-c\C-ib" 'octave-send-block) | 229 | (define-key map "\C-c\C-ib" 'octave-send-block) |
| @@ -236,6 +237,7 @@ parenthetical grouping.") | |||
| 236 | (define-key map "\C-c\C-i\C-f" 'octave-send-defun) | 237 | (define-key map "\C-c\C-i\C-f" 'octave-send-defun) |
| 237 | (define-key map "\C-c\C-i\C-r" 'octave-send-region) | 238 | (define-key map "\C-c\C-i\C-r" 'octave-send-region) |
| 238 | (define-key map "\C-c\C-i\C-s" 'octave-show-process-buffer) | 239 | (define-key map "\C-c\C-i\C-s" 'octave-show-process-buffer) |
| 240 | ;; FIXME: free C-h so it can do the describe-prefix-bindings. | ||
| 239 | (define-key map "\C-c\C-i\C-h" 'octave-hide-process-buffer) | 241 | (define-key map "\C-c\C-i\C-h" 'octave-hide-process-buffer) |
| 240 | (define-key map "\C-c\C-i\C-k" 'octave-kill-process) | 242 | (define-key map "\C-c\C-i\C-k" 'octave-kill-process) |
| 241 | map) | 243 | map) |
diff --git a/lisp/subr.el b/lisp/subr.el index c88cef0ba0f..7ac287d2473 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -1364,18 +1364,26 @@ All symbols are bound before the VALUEFORMs are evalled." | |||
| 1364 | ,@(mapcar (lambda (binder) `(setq ,@binder)) binders) | 1364 | ,@(mapcar (lambda (binder) `(setq ,@binder)) binders) |
| 1365 | ,@body)) | 1365 | ,@body)) |
| 1366 | 1366 | ||
| 1367 | (defmacro with-wrapper-hook (var args &rest body) | 1367 | (defmacro with-wrapper-hook (hook args &rest body) |
| 1368 | "Run BODY wrapped with the VAR hook. | 1368 | "Run BODY, using wrapper functions from HOOK with additional ARGS. |
| 1369 | VAR is a special hook: its functions are called with a first argument | 1369 | HOOK is an abnormal hook. Each hook function in HOOK \"wraps\" |
| 1370 | which is the \"original\" code (the BODY), so the hook function can wrap | 1370 | around the preceding ones, like a set of nested `around' advices. |
| 1371 | the original function, or call it any number of times (including not calling | 1371 | |
| 1372 | it at all). This is similar to an `around' advice. | 1372 | Each hook function should accept an argument list consisting of a |
| 1373 | VAR is normally a symbol (a variable) in which case it is treated like | 1373 | function FUN, followed by the additional arguments in ARGS. |
| 1374 | a hook, with a buffer-local and a global part. But it can also be an | 1374 | |
| 1375 | arbitrary expression. | 1375 | The FUN passed to the first hook function in HOOK performs BODY, |
| 1376 | ARGS is a list of variables which will be passed as additional arguments | 1376 | if it is called with arguments ARGS. The FUN passed to each |
| 1377 | to each function, after the initial argument, and which the first argument | 1377 | successive hook function is defined based on the preceding hook |
| 1378 | expects to receive when called." | 1378 | functions; if called with arguments ARGS, it does what the |
| 1379 | `with-wrapper-hook' call would do if the preceding hook functions | ||
| 1380 | were the only ones present in HOOK. | ||
| 1381 | |||
| 1382 | In the function definition of each hook function, FUN can be | ||
| 1383 | called any number of times (including not calling it at all). | ||
| 1384 | That function definition is then used to construct the FUN passed | ||
| 1385 | to the next hook function, if any. The last (or \"outermost\") | ||
| 1386 | FUN is then called once." | ||
| 1379 | (declare (indent 2) (debug (form sexp body))) | 1387 | (declare (indent 2) (debug (form sexp body))) |
| 1380 | ;; We need those two gensyms because CL's lexical scoping is not available | 1388 | ;; We need those two gensyms because CL's lexical scoping is not available |
| 1381 | ;; for function arguments :-( | 1389 | ;; for function arguments :-( |
| @@ -1404,11 +1412,11 @@ expects to receive when called." | |||
| 1404 | ;; Once there are no more functions on the hook, run | 1412 | ;; Once there are no more functions on the hook, run |
| 1405 | ;; the original body. | 1413 | ;; the original body. |
| 1406 | (apply (lambda ,args ,@body) ,argssym))))) | 1414 | (apply (lambda ,args ,@body) ,argssym))))) |
| 1407 | (funcall ,runrestofhook ,var | 1415 | (funcall ,runrestofhook ,hook |
| 1408 | ;; The global part of the hook, if any. | 1416 | ;; The global part of the hook, if any. |
| 1409 | ,(if (symbolp var) | 1417 | ,(if (symbolp hook) |
| 1410 | `(if (local-variable-p ',var) | 1418 | `(if (local-variable-p ',hook) |
| 1411 | (default-value ',var))) | 1419 | (default-value ',hook))) |
| 1412 | (list ,@args))))) | 1420 | (list ,@args))))) |
| 1413 | 1421 | ||
| 1414 | (defun add-to-list (list-var element &optional append compare-fn) | 1422 | (defun add-to-list (list-var element &optional append compare-fn) |
diff --git a/nt/ChangeLog b/nt/ChangeLog index fb3a168ebfe..08fd7677077 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2011-10-25 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * makefile.w32-in (dist): Don't put the top-level INSTALL into the | ||
| 4 | distribution. (Bug#9861) | ||
| 5 | |||
| 6 | 2011-10-25 Christoph Scholtes <cschol2112@googlemail.com> | ||
| 7 | |||
| 8 | * INSTALL: Update URL for GTK download page. | ||
| 9 | |||
| 1 | 2011-10-19 Eli Zaretskii <eliz@gnu.org> | 10 | 2011-10-19 Eli Zaretskii <eliz@gnu.org> |
| 2 | 11 | ||
| 3 | * config.nt (HAVE_TZNAME, HAVE_DECL_TZNAME): Define. | 12 | * config.nt (HAVE_TZNAME, HAVE_DECL_TZNAME): Define. |
diff --git a/nt/INSTALL b/nt/INSTALL index b4a97011922..613610890ae 100644 --- a/nt/INSTALL +++ b/nt/INSTALL | |||
| @@ -323,7 +323,7 @@ | |||
| 323 | For PNG images, we recommend to use versions 1.4.x and later of | 323 | For PNG images, we recommend to use versions 1.4.x and later of |
| 324 | libpng, because previous versions had security issues. You can find | 324 | libpng, because previous versions had security issues. You can find |
| 325 | precompiled libraries and headers on the GTK download page for | 325 | precompiled libraries and headers on the GTK download page for |
| 326 | Windows (http://www.gtk.org/download-windows.html). | 326 | Windows (http://www.gtk.org/download/win32.php). |
| 327 | 327 | ||
| 328 | Versions 1.4.0 and later of libpng are binary incompatible with | 328 | Versions 1.4.0 and later of libpng are binary incompatible with |
| 329 | earlier versions, so Emacs will only look for libpng libraries which | 329 | earlier versions, so Emacs will only look for libpng libraries which |
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in index 4e4e6eccbb7..07d9be2c117 100644 --- a/nt/makefile.w32-in +++ b/nt/makefile.w32-in | |||
| @@ -263,7 +263,6 @@ dist: install-bin | |||
| 263 | $(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR) | 263 | $(CP) "$(INSTALL_DIR)/COPYING" $(TMP_DIST_DIR) |
| 264 | $(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR) | 264 | $(CP) "$(INSTALL_DIR)/README" $(TMP_DIST_DIR) |
| 265 | $(CP) "$(INSTALL_DIR)/README.W32" $(TMP_DIST_DIR) | 265 | $(CP) "$(INSTALL_DIR)/README.W32" $(TMP_DIST_DIR) |
| 266 | $(CP) "$(INSTALL_DIR)/INSTALL" $(TMP_DIST_DIR) | ||
| 267 | $(CP_DIR) "$(INSTALL_DIR)/bin" $(TMP_DIST_DIR) | 266 | $(CP_DIR) "$(INSTALL_DIR)/bin" $(TMP_DIST_DIR) |
| 268 | $(CP_DIR) "$(INSTALL_DIR)/etc" $(TMP_DIST_DIR) | 267 | $(CP_DIR) "$(INSTALL_DIR)/etc" $(TMP_DIST_DIR) |
| 269 | $(CP_DIR) "$(INSTALL_DIR)/info" $(TMP_DIST_DIR) | 268 | $(CP_DIR) "$(INSTALL_DIR)/info" $(TMP_DIST_DIR) |
diff --git a/src/ChangeLog b/src/ChangeLog index 3f9b5beeab6..854c4987be5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,17 @@ | |||
| 1 | 2011-10-25 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2). | ||
| 4 | |||
| 5 | 2011-10-25 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 6 | |||
| 7 | * keyboard.c (test_undefined): New function (bug#9751). | ||
| 8 | (read_key_sequence): Use it to detect when a key is bound to `undefined'. | ||
| 9 | |||
| 10 | 2011-10-25 Enami Tsugutomo <tsugutomo.enami@jp.sony.com> | ||
| 11 | |||
| 12 | * sysdep.c (init_sys_modes): Fix the check for the controlling | ||
| 13 | terminal (Bug#6649). | ||
| 14 | |||
| 1 | 2011-10-20 Eli Zaretskii <eliz@gnu.org> | 15 | 2011-10-20 Eli Zaretskii <eliz@gnu.org> |
| 2 | 16 | ||
| 3 | * dispextern.h (struct bidi_it): New member next_en_type. | 17 | * dispextern.h (struct bidi_it): New member next_en_type. |
diff --git a/src/dispextern.h b/src/dispextern.h index 40e41923554..006ceb31a5a 100644 --- a/src/dispextern.h +++ b/src/dispextern.h | |||
| @@ -3374,6 +3374,7 @@ extern int tty_capable_p (struct tty_display_info *, unsigned, unsigned long, un | |||
| 3374 | extern void set_tty_color_mode (struct tty_display_info *, struct frame *); | 3374 | extern void set_tty_color_mode (struct tty_display_info *, struct frame *); |
| 3375 | extern struct terminal *get_named_tty (const char *); | 3375 | extern struct terminal *get_named_tty (const char *); |
| 3376 | EXFUN (Ftty_type, 1); | 3376 | EXFUN (Ftty_type, 1); |
| 3377 | EXFUN (Fcontrolling_tty_p, 1); | ||
| 3377 | extern void create_tty_output (struct frame *); | 3378 | extern void create_tty_output (struct frame *); |
| 3378 | extern struct terminal *init_tty (const char *, const char *, int); | 3379 | extern struct terminal *init_tty (const char *, const char *, int); |
| 3379 | extern void tty_append_glyph (struct it *); | 3380 | extern void tty_append_glyph (struct it *); |
diff --git a/src/intervals.c b/src/intervals.c index 2063655cdb9..1f3f8cf793e 100644 --- a/src/intervals.c +++ b/src/intervals.c | |||
| @@ -1723,8 +1723,6 @@ graft_intervals_into_buffer (INTERVAL source, EMACS_INT position, | |||
| 1723 | BUF_INTERVALS (buffer)->position = BEG; | 1723 | BUF_INTERVALS (buffer)->position = BEG; |
| 1724 | BUF_INTERVALS (buffer)->up_obj = 1; | 1724 | BUF_INTERVALS (buffer)->up_obj = 1; |
| 1725 | 1725 | ||
| 1726 | /* Explicitly free the old tree here? */ | ||
| 1727 | |||
| 1728 | return; | 1726 | return; |
| 1729 | } | 1727 | } |
| 1730 | 1728 | ||
diff --git a/src/keyboard.c b/src/keyboard.c index a21008b9502..f06c8794a54 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -8918,6 +8918,14 @@ keyremap_step (Lisp_Object *keybuf, int bufsize, volatile keyremap *fkey, | |||
| 8918 | return 0; | 8918 | return 0; |
| 8919 | } | 8919 | } |
| 8920 | 8920 | ||
| 8921 | static int | ||
| 8922 | test_undefined (Lisp_Object binding) | ||
| 8923 | { | ||
| 8924 | return (EQ (binding, Qundefined) | ||
| 8925 | || (!NILP (binding) && SYMBOLP (binding) | ||
| 8926 | && EQ (Fcommand_remapping (binding, Qnil, Qnil), Qundefined))); | ||
| 8927 | } | ||
| 8928 | |||
| 8921 | /* Read a sequence of keys that ends with a non prefix character, | 8929 | /* Read a sequence of keys that ends with a non prefix character, |
| 8922 | storing it in KEYBUF, a buffer of size BUFSIZE. | 8930 | storing it in KEYBUF, a buffer of size BUFSIZE. |
| 8923 | Prompt with PROMPT. | 8931 | Prompt with PROMPT. |
| @@ -9868,7 +9876,9 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9868 | } | 9876 | } |
| 9869 | } | 9877 | } |
| 9870 | 9878 | ||
| 9871 | if (first_binding < nmaps && NILP (submaps[first_binding]) | 9879 | if (first_binding < nmaps |
| 9880 | && NILP (submaps[first_binding]) | ||
| 9881 | && !test_undefined (defs[first_binding]) | ||
| 9872 | && indec.start >= t) | 9882 | && indec.start >= t) |
| 9873 | /* There is a binding and it's not a prefix. | 9883 | /* There is a binding and it's not a prefix. |
| 9874 | (and it doesn't have any input-decode-map translation pending). | 9884 | (and it doesn't have any input-decode-map translation pending). |
| @@ -9895,7 +9905,9 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt, | |||
| 9895 | /* If there's a binding (i.e. | 9905 | /* If there's a binding (i.e. |
| 9896 | first_binding >= nmaps) we don't want | 9906 | first_binding >= nmaps) we don't want |
| 9897 | to apply this function-key-mapping. */ | 9907 | to apply this function-key-mapping. */ |
| 9898 | fkey.end + 1 == t && first_binding >= nmaps, | 9908 | fkey.end + 1 == t |
| 9909 | && (first_binding >= nmaps | ||
| 9910 | || test_undefined (defs[first_binding])), | ||
| 9899 | &diff, prompt); | 9911 | &diff, prompt); |
| 9900 | UNGCPRO; | 9912 | UNGCPRO; |
| 9901 | if (done) | 9913 | if (done) |
diff --git a/src/sysdep.c b/src/sysdep.c index b0d5a1abbe3..d666f8dbb79 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -854,6 +854,7 @@ void | |||
| 854 | init_sys_modes (struct tty_display_info *tty_out) | 854 | init_sys_modes (struct tty_display_info *tty_out) |
| 855 | { | 855 | { |
| 856 | struct emacs_tty tty; | 856 | struct emacs_tty tty; |
| 857 | Lisp_Object terminal; | ||
| 857 | 858 | ||
| 858 | Vtty_erase_char = Qnil; | 859 | Vtty_erase_char = Qnil; |
| 859 | 860 | ||
| @@ -907,7 +908,9 @@ init_sys_modes (struct tty_display_info *tty_out) | |||
| 907 | tty.main.c_cflag &= ~PARENB;/* Don't check parity */ | 908 | tty.main.c_cflag &= ~PARENB;/* Don't check parity */ |
| 908 | } | 909 | } |
| 909 | #endif | 910 | #endif |
| 910 | if (tty_out->input == stdin) | 911 | |
| 912 | XSETTERMINAL(terminal, tty_out->terminal); | ||
| 913 | if (!NILP (Fcontrolling_tty_p (terminal))) | ||
| 911 | { | 914 | { |
| 912 | tty.main.c_cc[VINTR] = quit_char; /* C-g (usually) gives SIGINT */ | 915 | tty.main.c_cc[VINTR] = quit_char; /* C-g (usually) gives SIGINT */ |
| 913 | /* Set up C-g for both SIGQUIT and SIGINT. | 916 | /* Set up C-g for both SIGQUIT and SIGINT. |