aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaroly Lorentey2004-08-11 12:30:04 +0000
committerKaroly Lorentey2004-08-11 12:30:04 +0000
commit414834ebfc9768af883783ba138c6ece93b14324 (patch)
treea72685a1691ca9616e18d07d45a2e24895ae01bb
parentcd83ec7be76b05014a49f8bb155a84ddd7c323ee (diff)
parent7c3225c3a606c9e81e98b2b1f414542aca21d36f (diff)
downloademacs-414834ebfc9768af883783ba138c6ece93b14324.tar.gz
emacs-414834ebfc9768af883783ba138c6ece93b14324.zip
Merged in changes from CVS trunk.
Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-485 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-486 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-487 Tweak permissions * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-488 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-229
-rw-r--r--etc/ChangeLog5
-rw-r--r--etc/PROBLEMS11
-rw-r--r--lisp/ChangeLog38
-rw-r--r--lisp/help.el3
-rw-r--r--lisp/net/tramp.el65
-rw-r--r--lisp/net/trampver.el2
-rw-r--r--lisp/subr.el2
-rw-r--r--lispref/ChangeLog19
-rw-r--r--lispref/frames.texi6
-rw-r--r--lispref/keymaps.texi96
-rw-r--r--man/ChangeLog4
-rw-r--r--man/trampver.texi2
-rw-r--r--src/ChangeLog4
-rw-r--r--src/keymap.c20
14 files changed, 184 insertions, 93 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 5c86c060880..c26a8a7d786 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,8 @@
12004-08-10 Steven Tamm <steventamm@mac.com>
2
3 * PROBLEMS: Remove description of Mac OS version upgrade
4 problems as it is no longer applicable.
5
12004-07-27 Werner Lemberg <wl@gnu.org> 62004-07-27 Werner Lemberg <wl@gnu.org>
2 7
3 * NEWS: Document all new tutorials. 8 * NEWS: Document all new tutorials.
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index abc04f3dd11..a72d6f14e31 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -59,17 +59,6 @@ There appears to be a problem with the implementation of pty's on the
59Mac OS X that causes process output to be truncated. To avoid this, 59Mac OS X that causes process output to be truncated. To avoid this,
60leave process-connection-type set to its default value of nil. 60leave process-connection-type set to its default value of nil.
61 61
62* Emacs crashes on Mac OS X (Carbon) after system software upgrade.
63
64This problem seems to be now solved by Steven Tamm's patch to
65unexmacosx.c on Nov 24, 2002.
66
67Between Mac OS X release 10.2.1 and 10.2.2 there was an incompatible
68change in the memory allocator that causes a EXC_BAD_ACCESS error near
69xrealloc(). Relinking the application (by deleting src/temacs and
70running make) will solve the problem. It appears to be caused by some
71problems with the unexec code and its interaction with libSystem.B.
72
73* Emacs crashes with SIGSEGV in XtInitializeWidgetClass 62* Emacs crashes with SIGSEGV in XtInitializeWidgetClass
74 63
75It crashes on X, but runs fine when called with option "-nw". 64It crashes on X, but runs fine when called with option "-nw".
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 31e414c2a4b..8321253666a 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,36 @@
12004-08-10 Michael Albinus <michael.albinus@gmx.de>
2
3 Sync with Tramp 2.0.44.
4
5 * net/tramp.el (tramp-post-connection): Quote $1 and $2 of shell
6 function "tramp_file_attributes". Otherwise, file names
7 containing spaces are misinterpreted. Reported by Magnus Henoch
8 <mange@freemail.hu>.
9 (tramp-handle-file-truename): FILENAME must be expanded first.
10 Otherwise, parameters like "/ssh:deego@gnufans.net:~" will return
11 obscure results. Reported by D. Goel <deego@gnufans.org>.
12 (tramp-handle-verify-visited-file-modtime): If file does not
13 exist, say it is not modified if and only if that agrees with the
14 buffer's record. Check whether a file is visiting the buffer, or
15 the buffer has no recorded last modification time. Return t in
16 case the visiting file doesn't exist. Suggested by Luc Teirlinck
17 <teirllm@auburn.edu>.
18 (tramp-handle-write-region): Pass modtime explicitely to
19 `set-visited-file-modtime', because filename can be different
20 from (buffer-file-name) if `file-precious-flag' is set.
21 `set-visited-file-modtime' must be called always when `visit' is t
22 or a string. Suggested by Luc Teirlinck <teirllm@auburn.edu>.
23 (tramp-handle-set-visited-file-modtime): If `time-list' is not
24 nil, don't apply the whole body. If the file doesn't exists, set
25 modtime to '(-1 65535). Suggested by Luc Teirlinck
26 <teirllm@auburn.edu>.
27
282004-08-09 Luc Teirlinck <teirllm@auburn.edu>
29
30 * help.el (describe-bindings): Doc fix.
31
32 * subr.el (kbd): Doc fix.
33
12004-08-08 John Paul Wallington <jpw@gnu.org> 342004-08-08 John Paul Wallington <jpw@gnu.org>
2 35
3 * ibuffer.el (define-ibuffer-column size): Use `string-to-number' 36 * ibuffer.el (define-ibuffer-column size): Use `string-to-number'
@@ -32,6 +65,11 @@
32 (reb-lisp-syntax-p, reb-change-syntax): `rx' is a Lisp syntax. 65 (reb-lisp-syntax-p, reb-change-syntax): `rx' is a Lisp syntax.
33 (reb-cook-regexp): Call `rx-to-string' when `re-reb-syntax' is `rx'. 66 (reb-cook-regexp): Call `rx-to-string' when `re-reb-syntax' is `rx'.
34 67
682004-08-05 Katsumi Yamaoka <yamaoka@jpl.org> (tiny change)
69
70 * mail/mail-extr.el (mail-extr-disable-voodoo): New variable.
71 (mail-extr-voodoo): Check mail-extr-disable-voodoo.
72
352004-08-04 Kenichi Handa <handa@m17n.org> 732004-08-04 Kenichi Handa <handa@m17n.org>
36 74
37 * international/encoded-kb.el (encoded-kbd-setup-keymap): Fix 75 * international/encoded-kb.el (encoded-kbd-setup-keymap): Fix
diff --git a/lisp/help.el b/lisp/help.el
index fc43d8db03d..52a772779a5 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -428,7 +428,8 @@ We put that list in a buffer, and display the buffer.
428The optional argument PREFIX, if non-nil, should be a key sequence; 428The optional argument PREFIX, if non-nil, should be a key sequence;
429then we display only bindings that start with that prefix. 429then we display only bindings that start with that prefix.
430The optional argument BUFFER specifies which buffer's bindings 430The optional argument BUFFER specifies which buffer's bindings
431to display (default, the current buffer)." 431to display (default, the current buffer). BUFFER can be a buffer
432or a buffer name."
432 (interactive) 433 (interactive)
433 (or buffer (setq buffer (current-buffer))) 434 (or buffer (setq buffer (current-buffer)))
434 (help-setup-xref (list #'describe-bindings prefix buffer) (interactive-p)) 435 (help-setup-xref (list #'describe-bindings prefix buffer) (interactive-p))
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 02b076483c1..cda0d41fd8d 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -2055,7 +2055,7 @@ target of the symlink differ."
2055 2055
2056(defun tramp-handle-file-truename (filename &optional counter prev-dirs) 2056(defun tramp-handle-file-truename (filename &optional counter prev-dirs)
2057 "Like `file-truename' for tramp files." 2057 "Like `file-truename' for tramp files."
2058 (with-parsed-tramp-file-name filename nil 2058 (with-parsed-tramp-file-name (expand-file-name filename) nil
2059 (let* ((steps (tramp-split-string localname "/")) 2059 (let* ((steps (tramp-split-string localname "/"))
2060 (localnamedir (tramp-let-maybe directory-sep-char ?/ ;for XEmacs 2060 (localnamedir (tramp-let-maybe directory-sep-char ?/ ;for XEmacs
2061 (file-name-as-directory localname))) 2061 (file-name-as-directory localname)))
@@ -2299,32 +2299,33 @@ If it doesn't exist, generate a new one."
2299 (unless (buffer-file-name) 2299 (unless (buffer-file-name)
2300 (error "Can't set-visited-file-modtime: buffer `%s' not visiting a file" 2300 (error "Can't set-visited-file-modtime: buffer `%s' not visiting a file"
2301 (buffer-name))) 2301 (buffer-name)))
2302 (when time-list 2302 (if time-list
2303 (tramp-run-real-handler 'set-visited-file-modtime (list time-list))) 2303 (tramp-run-real-handler 'set-visited-file-modtime (list time-list))
2304 (let ((f (buffer-file-name)) 2304 (let ((f (buffer-file-name))
2305 (coding-system-used nil)) 2305 (coding-system-used nil))
2306 (with-parsed-tramp-file-name f nil 2306 (with-parsed-tramp-file-name f nil
2307 (let* ((attr (file-attributes f)) 2307 (let* ((attr (file-attributes f))
2308 (modtime (nth 5 attr))) 2308 ;; '(-1 65535) means file doesn't exists yet.
2309 ;; We use '(0 0) as a don't-know value. See also 2309 (modtime (or (nth 5 attr) '(-1 65535))))
2310 ;; `tramp-handle-file-attributes-with-ls'. 2310 ;; We use '(0 0) as a don't-know value. See also
2311 (when (boundp 'last-coding-system-used) 2311 ;; `tramp-handle-file-attributes-with-ls'.
2312 (setq coding-system-used last-coding-system-used)) 2312 (when (boundp 'last-coding-system-used)
2313 (if (not (equal modtime '(0 0))) 2313 (setq coding-system-used last-coding-system-used))
2314 (tramp-run-real-handler 'set-visited-file-modtime (list modtime)) 2314 (if (not (equal modtime '(0 0)))
2315 (save-excursion 2315 (tramp-run-real-handler 'set-visited-file-modtime (list modtime))
2316 (tramp-send-command 2316 (save-excursion
2317 multi-method method user host 2317 (tramp-send-command
2318 (format "%s -ild %s" 2318 multi-method method user host
2319 (tramp-get-ls-command multi-method method user host) 2319 (format "%s -ild %s"
2320 (tramp-shell-quote-argument localname))) 2320 (tramp-get-ls-command multi-method method user host)
2321 (tramp-wait-for-output) 2321 (tramp-shell-quote-argument localname)))
2322 (setq attr (buffer-substring (point) 2322 (tramp-wait-for-output)
2323 (progn (end-of-line) (point))))) 2323 (setq attr (buffer-substring (point)
2324 (setq tramp-buffer-file-attributes attr)) 2324 (progn (end-of-line) (point)))))
2325 (when (boundp 'last-coding-system-used) 2325 (setq tramp-buffer-file-attributes attr))
2326 (setq last-coding-system-used coding-system-used)) 2326 (when (boundp 'last-coding-system-used)
2327 nil)))) 2327 (setq last-coding-system-used coding-system-used))
2328 nil)))))
2328 2329
2329;; CCC continue here 2330;; CCC continue here
2330 2331
@@ -3811,8 +3812,11 @@ This will break if COMMAND prints a newline, followed by the value of
3811 (unless (equal curbuf (current-buffer)) 3812 (unless (equal curbuf (current-buffer))
3812 (error "Buffer has changed from `%s' to `%s'" 3813 (error "Buffer has changed from `%s' to `%s'"
3813 curbuf (current-buffer))) 3814 curbuf (current-buffer)))
3814 (when (eq visit t) 3815 (when (or (eq visit t) (stringp visit))
3815 (set-visited-file-modtime)) 3816 (set-visited-file-modtime
3817 ;; We must pass modtime explicitely, because filename can be different
3818 ;; from (buffer-file-name), f.e. if `file-precious-flag' is set.
3819 (nth 5 (file-attributes filename))))
3816 ;; Make `last-coding-system-used' have the right value. 3820 ;; Make `last-coding-system-used' have the right value.
3817 (when (boundp 'last-coding-system-used) 3821 (when (boundp 'last-coding-system-used)
3818 (setq last-coding-system-used coding-system-used)) 3822 (setq last-coding-system-used coding-system-used))
@@ -5847,7 +5851,8 @@ locale to C and sets up the remote shell search path."
5847 multi-method method user host 5851 multi-method method user host
5848 (concat "tramp_file_attributes () {\n" 5852 (concat "tramp_file_attributes () {\n"
5849 tramp-remote-perl 5853 tramp-remote-perl
5850 " -e '" tramp-perl-file-attributes "' $1 $2 2>/dev/null\n" 5854 " -e '" tramp-perl-file-attributes "'"
5855 " \"$1\" \"$2\" 2>/dev/null\n"
5851 "}")) 5856 "}"))
5852 (tramp-wait-for-output) 5857 (tramp-wait-for-output)
5853 (unless (tramp-method-out-of-band-p multi-method method user host) 5858 (unless (tramp-method-out-of-band-p multi-method method user host)
diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el
index b3223d7a46e..46b33b2d50f 100644
--- a/lisp/net/trampver.el
+++ b/lisp/net/trampver.el
@@ -30,7 +30,7 @@
30;; are auto-frobbed from configure.ac, so you should edit that file and run 30;; are auto-frobbed from configure.ac, so you should edit that file and run
31;; "autoconf && ./configure" to change them. 31;; "autoconf && ./configure" to change them.
32 32
33(defconst tramp-version "2.0.39" 33(defconst tramp-version "2.0.44"
34 "This version of Tramp.") 34 "This version of Tramp.")
35 35
36(defconst tramp-bug-report-address "tramp-devel@mail.freesoftware.fsf.org" 36(defconst tramp-bug-report-address "tramp-devel@mail.freesoftware.fsf.org"
diff --git a/lisp/subr.el b/lisp/subr.el
index 2833dd10611..af599940d52 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -566,7 +566,7 @@ The order of bindings in a keymap matters when it is used as a menu."
566(defmacro kbd (keys) 566(defmacro kbd (keys)
567 "Convert KEYS to the internal Emacs key representation. 567 "Convert KEYS to the internal Emacs key representation.
568KEYS should be a string constant in the format used for 568KEYS should be a string constant in the format used for
569saving keyboard macros (see `insert-kbd-macro')." 569saving keyboard macros (see `edmacro-mode')."
570 (read-kbd-macro keys)) 570 (read-kbd-macro keys))
571 571
572(put 'keyboard-translate-table 'char-table-extra-slots 0) 572(put 'keyboard-translate-table 'char-table-extra-slots 0)
diff --git a/lispref/ChangeLog b/lispref/ChangeLog
index 5f4f8901637..ed0c2e9d421 100644
--- a/lispref/ChangeLog
+++ b/lispref/ChangeLog
@@ -1,3 +1,22 @@
12004-08-10 Luc Teirlinck <teirllm@auburn.edu>
2
3 * keymaps.texi: Various changes in addition to:
4 (Keymap Terminology): `kbd' uses same syntax as Edit Macro mode.
5 Give more varied examples for `kbd'.
6 (Creating Keymaps): Char tables have slots for all characters
7 without modifiers.
8 (Active Keymaps): `overriding-local-map' and
9 `overriding-terminal-local-map' also override text property and
10 overlay keymaps.
11 (Functions for Key Lookup): Mention OLP arg to `current-active-maps'.
12 (Scanning Keymaps): `accessible-keymaps' uses `[]' instead of `""'
13 to denote a prefix of no events.
14 `map-keymap' includes parent's bindings _recursively_.
15 Clarify and correct description of `where-is-internal'.
16 Mention BUFFER-OR-NAME arg to `describe-bindings'.
17 (Menu Example): For menus intended for use with the keyboard, the
18 menu items should be bound to characters or real function keys.
19
12004-08-08 Luc Teirlinck <teirllm@auburn.edu> 202004-08-08 Luc Teirlinck <teirllm@auburn.edu>
2 21
3 * objects.texi (Character Type): Reposition `@anchor' to prevent 22 * objects.texi (Character Type): Reposition `@anchor' to prevent
diff --git a/lispref/frames.texi b/lispref/frames.texi
index 6d7b956af64..c2c488873a4 100644
--- a/lispref/frames.texi
+++ b/lispref/frames.texi
@@ -563,9 +563,9 @@ menu bar. @xref{Menu Bar}. (The X toolkit and GTK allow at most one
563menu bar line; they treat larger values as 1.) 563menu bar line; they treat larger values as 1.)
564 564
565@item tool-bar-lines 565@item tool-bar-lines
566The number of lines to use for the toolbar. A value of @code{nil} means 566The number of lines to use for the tool bar. A value of @code{nil}
567don't display a tool bar. (GTK allows at most one tool bar line; it 567means don't display a tool bar. (GTK allows at most one tool bar line;
568treats larger values as 1.) 568it treats larger values as 1.)
569 569
570@item screen-gamma 570@item screen-gamma
571@cindex gamma correction 571@cindex gamma correction
diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi
index 12246f0b236..089d29fc4ee 100644
--- a/lispref/keymaps.texi
+++ b/lispref/keymaps.texi
@@ -1,6 +1,6 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2004
4@c Free Software Foundation, Inc. 4@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 5@c See the file elisp.texi for copying conditions.
6@setfilename ../info/keymaps 6@setfilename ../info/keymaps
@@ -103,16 +103,19 @@ representation; it is also convenient to use @code{kbd}:
103This macro converts the text @var{keyseq-text} (a string constant) 103This macro converts the text @var{keyseq-text} (a string constant)
104into a key sequence (a string or vector constant). The contents 104into a key sequence (a string or vector constant). The contents
105of @var{keyseq-text} should describe the key sequence using the syntax 105of @var{keyseq-text} should describe the key sequence using the syntax
106used in this manual: 106used in this manual. More precisely, it uses the same syntax that
107Edit Macro mode uses for editing keyboard macros (@pxref{Edit Keyboard
108Macro,,, emacs, The GNU Emacs Manual}).
107 109
108@example 110@example
109(kbd "C-x") @result{} "\C-x" 111(kbd "C-x") @result{} "\C-x"
110(kbd "C-x C-f") @result{} "\C-x\C-f" 112(kbd "C-x C-f") @result{} "\C-x\C-f"
111(kbd "C-c C-c") @result{} "\C-c\C-c"
112(kbd "C-x 4 C-f") @result{} "\C-x4\C-f" 113(kbd "C-x 4 C-f") @result{} "\C-x4\C-f"
113(kbd "X") @result{} "X" 114(kbd "X") @result{} "X"
114(kbd "RET") @result{} "\^M" 115(kbd "RET") @result{} "\^M"
115(kbd "C-c 3") @result{} "\C-c3" 116(kbd "C-c SPC") @result{} "\C-c@ "
117(kbd "<f1> SPC") @result{} [f1 32]
118(kbd "C-M-<down>") @result{} [C-M-down]
116@end example 119@end example
117@end defmac 120@end defmac
118 121
@@ -144,7 +147,8 @@ This specifies a @dfn{default key binding}; any event not bound by other
144elements of the keymap is given @var{binding} as its binding. Default 147elements of the keymap is given @var{binding} as its binding. Default
145bindings allow a keymap to bind all possible event types without having 148bindings allow a keymap to bind all possible event types without having
146to enumerate all of them. A keymap that has a default binding 149to enumerate all of them. A keymap that has a default binding
147completely masks any lower-precedence keymap. 150completely masks any lower-precedence keymap, except for events
151explicitly bound to @code{nil} (see below).
148 152
149@item @var{char-table} 153@item @var{char-table}
150If an element of a keymap is a char-table, it counts as holding 154If an element of a keymap is a char-table, it counts as holding
@@ -251,17 +255,15 @@ satisfies @code{keymapp}.
251@c ??? This should come after make-sparse-keymap 255@c ??? This should come after make-sparse-keymap
252@defun make-keymap &optional prompt 256@defun make-keymap &optional prompt
253This function creates and returns a new full keymap. That keymap 257This function creates and returns a new full keymap. That keymap
254contains a char-table (@pxref{Char-Tables}) with 384 slots: the first 258contains a char-table (@pxref{Char-Tables}) with slots for all
255128 slots are for defining all the @acronym{ASCII} characters, the next 128 259characters without modifiers. The new keymap initially binds all
256slots are for 8-bit European characters, and each one of the final 128 260these characters to @code{nil}, and does not bind any other kind of
257slots is for one character set of non-@acronym{ASCII} characters supported by 261event.
258Emacs. The new keymap initially binds all these characters to
259@code{nil}, and does not bind any other kind of event.
260 262
261@example 263@example
262@group 264@group
263(make-keymap) 265(make-keymap)
264 @result{} (keymap [nil nil nil @dots{} nil nil]) 266 @result{} (keymap #^[t nil nil nil @dots{} nil nil keymap])
265@end group 267@end group
266@end example 268@end example
267 269
@@ -509,6 +511,7 @@ active keymap.
509 511
510@defun define-prefix-command symbol &optional mapvar prompt 512@defun define-prefix-command symbol &optional mapvar prompt
511@cindex prefix command 513@cindex prefix command
514@anchor{Definition of define-prefix-command}
512This function prepares @var{symbol} for use as a prefix key's binding: 515This function prepares @var{symbol} for use as a prefix key's binding:
513it creates a sparse keymap and stores it as @var{symbol}'s function 516it creates a sparse keymap and stores it as @var{symbol}'s function
514definition. Subsequently binding a key sequence to @var{symbol} will 517definition. Subsequently binding a key sequence to @var{symbol} will
@@ -698,15 +701,16 @@ all buffers.
698 701
699@defvar overriding-local-map 702@defvar overriding-local-map
700If non-@code{nil}, this variable holds a keymap to use instead of the 703If non-@code{nil}, this variable holds a keymap to use instead of the
701buffer's local keymap and instead of all the minor mode keymaps. This 704buffer's local keymap, text property or overlay keymaps, and instead
702keymap, if any, overrides all other maps that would have been active, 705of all the minor mode keymaps. This keymap, if any, overrides all
703except for the current global map. 706other maps that would have been active, except for the current global
707map.
704@end defvar 708@end defvar
705 709
706@defvar overriding-terminal-local-map 710@defvar overriding-terminal-local-map
707If non-@code{nil}, this variable holds a keymap to use instead of 711If non-@code{nil}, this variable holds a keymap to use instead of
708@code{overriding-local-map}, the buffer's local keymap and all the minor 712@code{overriding-local-map}, the buffer's local keymap, text property
709mode keymaps. 713or overlay keymaps, and all the minor mode keymaps.
710 714
711This variable is always local to the current terminal and cannot be 715This variable is always local to the current terminal and cannot be
712buffer-local. @xref{Multiple Displays}. It is used to implement 716buffer-local. @xref{Multiple Displays}. It is used to implement
@@ -977,9 +981,12 @@ An error is signaled if @var{key} is not a string or a vector.
977@end example 981@end example
978@end defun 982@end defun
979 983
980@defun current-active-maps 984@defun current-active-maps &optional olp
981This returns the list of keymaps that would be used by the command 985This returns the list of keymaps that would be used by the command
982loop in the current circumstances to look up a key sequence. 986loop in the current circumstances to look up a key sequence. Normally
987it ignores @code{overriding-local-map} and
988@code{overriding-terminal-local-map}, but if @var{olp} is
989non-@code{nil} then it pays attention to them.
983@end defun 990@end defun
984 991
985@defun local-key-binding key &optional accept-defaults 992@defun local-key-binding key &optional accept-defaults
@@ -1191,7 +1198,7 @@ changing the bindings of both @kbd{C-p C-f} and @kbd{C-x C-f} in the
1191default global map. 1198default global map.
1192 1199
1193 The function @code{substitute-key-definition} scans a keymap for 1200 The function @code{substitute-key-definition} scans a keymap for
1194keys that have a certain binding and rebind them with a different 1201keys that have a certain binding and rebinds them with a different
1195binding. Another feature you can use for similar effects, but which 1202binding. Another feature you can use for similar effects, but which
1196is often cleaner, is to add a binding that remaps a command 1203is often cleaner, is to add a binding that remaps a command
1197(@pxref{Remapping Commands}). 1204(@pxref{Remapping Commands}).
@@ -1324,7 +1331,7 @@ this by making these two command-remapping bindings in its keymap:
1324Whenever @code{my-mode-map} is an active keymap, if the user types 1331Whenever @code{my-mode-map} is an active keymap, if the user types
1325@kbd{C-k}, Emacs will find the standard global binding of 1332@kbd{C-k}, Emacs will find the standard global binding of
1326@code{kill-line} (assuming nobody has changed it). But 1333@code{kill-line} (assuming nobody has changed it). But
1327@code{my-mode-map} remaps @code{kill-line} to @code{my-mode-map}, 1334@code{my-mode-map} remaps @code{kill-line} to @code{my-kill-line},
1328so instead of running @code{kill-line}, Emacs runs 1335so instead of running @code{kill-line}, Emacs runs
1329@code{my-kill-line}. 1336@code{my-kill-line}.
1330 1337
@@ -1337,15 +1344,16 @@ Remapping only works through a single level. In other words,
1337 1344
1338@noindent 1345@noindent
1339does not have the effect of remapping @code{kill-line} into 1346does not have the effect of remapping @code{kill-line} into
1340@code{my-other-kill-line}. If an ordinary key binding specifies 1347@code{my-other-kill-line}. If an ordinary key binding specifies
1341@code{kill-line}, this keymap will remap it to @code{my-kill-line}; 1348@code{kill-line}, this keymap will remap it to @code{my-kill-line};
1342if an ordinary binding specifies @code{my-kill-line}, this keymap will 1349if an ordinary binding specifies @code{my-kill-line}, this keymap will
1343remap it to @code{my-other-kill-line}. 1350remap it to @code{my-other-kill-line}.
1344 1351
1345@defun command-remapping command 1352@defun command-remapping command
1346This function returns the remapping for @var{command}, given the 1353This function returns the remapping for @var{command} (a symbol),
1347current active keymaps. If @var{command} is not remapped (which is 1354given the current active keymaps. If @var{command} is not remapped
1348the usual situation), the function returns @code{nil}. 1355(which is the usual situation), or not a symbol, the function returns
1356@code{nil}.
1349@end defun 1357@end defun
1350 1358
1351@node Key Binding Commands 1359@node Key Binding Commands
@@ -1409,7 +1417,7 @@ actually bind the multibyte character with code 2294, not the unibyte
1409Latin-1 character with code 246 (@kbd{M-v}). In order to use this 1417Latin-1 character with code 246 (@kbd{M-v}). In order to use this
1410binding, you need to enter the multibyte Latin-1 character as keyboard 1418binding, you need to enter the multibyte Latin-1 character as keyboard
1411input. One way to do this is by using an appropriate input method 1419input. One way to do this is by using an appropriate input method
1412(@pxref{Input Methods, , Input Methods, emacs,The GNU Emacs Manual}). 1420(@pxref{Input Methods, , Input Methods, emacs, The GNU Emacs Manual}).
1413 1421
1414 If you want to use a unibyte character in the key binding, you can 1422 If you want to use a unibyte character in the key binding, you can
1415construct the key sequence string using @code{multibyte-char-to-unibyte} 1423construct the key sequence string using @code{multibyte-char-to-unibyte}
@@ -1499,7 +1507,7 @@ association list with elements of the form @code{(@var{key} .@:
1499@var{keymap} is @var{map}. 1507@var{keymap} is @var{map}.
1500 1508
1501The elements of the alist are ordered so that the @var{key} increases 1509The elements of the alist are ordered so that the @var{key} increases
1502in length. The first element is always @code{("" .@: @var{keymap})}, 1510in length. The first element is always @code{([] .@: @var{keymap})},
1503because the specified keymap is accessible from itself with a prefix of 1511because the specified keymap is accessible from itself with a prefix of
1504no events. 1512no events.
1505 1513
@@ -1517,7 +1525,7 @@ definition is the sparse keymap @code{(keymap (83 .@: center-paragraph)
1517@smallexample 1525@smallexample
1518@group 1526@group
1519(accessible-keymaps (current-local-map)) 1527(accessible-keymaps (current-local-map))
1520@result{}(("" keymap 1528@result{}(([] keymap
1521 (27 keymap ; @r{Note this keymap for @key{ESC} is repeated below.} 1529 (27 keymap ; @r{Note this keymap for @key{ESC} is repeated below.}
1522 (83 . center-paragraph) 1530 (83 . center-paragraph)
1523 (115 . center-line)) 1531 (115 . center-line))
@@ -1541,7 +1549,7 @@ of a window.
1541@smallexample 1549@smallexample
1542@group 1550@group
1543(accessible-keymaps (current-global-map)) 1551(accessible-keymaps (current-global-map))
1544@result{} (("" keymap [set-mark-command beginning-of-line @dots{} 1552@result{} (([] keymap [set-mark-command beginning-of-line @dots{}
1545 delete-backward-char]) 1553 delete-backward-char])
1546@end group 1554@end group
1547@group 1555@group
@@ -1572,6 +1580,8 @@ The function @code{map-keymap} calls @var{function} once
1572for each binding in @var{keymap}. It passes two arguments, 1580for each binding in @var{keymap}. It passes two arguments,
1573the event type and the value of the binding. If @var{keymap} 1581the event type and the value of the binding. If @var{keymap}
1574has a parent, the parent's bindings are included as well. 1582has a parent, the parent's bindings are included as well.
1583This works recursively: if the parent has itself a parent, then the
1584grandparent's bindings are also included and so on.
1575 1585
1576This function is the cleanest way to examine all the bindings 1586This function is the cleanest way to examine all the bindings
1577in a keymap. 1587in a keymap.
@@ -1580,7 +1590,7 @@ in a keymap.
1580@defun where-is-internal command &optional keymap firstonly noindirect no-remap 1590@defun where-is-internal command &optional keymap firstonly noindirect no-remap
1581This function is a subroutine used by the @code{where-is} command 1591This function is a subroutine used by the @code{where-is} command
1582(@pxref{Help, , Help, emacs,The GNU Emacs Manual}). It returns a list 1592(@pxref{Help, , Help, emacs,The GNU Emacs Manual}). It returns a list
1583of key sequences (of any length) that are bound to @var{command} in a 1593of all key sequences (of any length) that are bound to @var{command} in a
1584set of keymaps. 1594set of keymaps.
1585 1595
1586The argument @var{command} can be any object; it is compared with all 1596The argument @var{command} can be any object; it is compared with all
@@ -1588,7 +1598,7 @@ keymap entries using @code{eq}.
1588 1598
1589If @var{keymap} is @code{nil}, then the maps used are the current active 1599If @var{keymap} is @code{nil}, then the maps used are the current active
1590keymaps, disregarding @code{overriding-local-map} (that is, pretending 1600keymaps, disregarding @code{overriding-local-map} (that is, pretending
1591its value is @code{nil}). If @var{keymap} is non-@code{nil}, then the 1601its value is @code{nil}). If @var{keymap} is a keymap, then the
1592maps searched are @var{keymap} and the global keymap. If @var{keymap} 1602maps searched are @var{keymap} and the global keymap. If @var{keymap}
1593is a list of keymaps, only those keymaps are searched. 1603is a list of keymaps, only those keymaps are searched.
1594 1604
@@ -1598,11 +1608,12 @@ keymaps that are active. To search only the global map, pass
1598@code{(keymap)} (an empty keymap) as @var{keymap}. 1608@code{(keymap)} (an empty keymap) as @var{keymap}.
1599 1609
1600If @var{firstonly} is @code{non-ascii}, then the value is a single 1610If @var{firstonly} is @code{non-ascii}, then the value is a single
1601string representing the first key sequence found, rather than a list of 1611vector representing the first key sequence found, rather than a list of
1602all possible key sequences. If @var{firstonly} is @code{t}, then the 1612all possible key sequences. If @var{firstonly} is @code{t}, then the
1603value is the first key sequence, except that key sequences consisting 1613value is the first key sequence, except that key sequences consisting
1604entirely of @acronym{ASCII} characters (or meta variants of @acronym{ASCII} 1614entirely of @acronym{ASCII} characters (or meta variants of @acronym{ASCII}
1605characters) are preferred to all other key sequences. 1615characters) are preferred to all other key sequences and that the
1616return value can never be a menu binding.
1606 1617
1607If @var{noindirect} is non-@code{nil}, @code{where-is-internal} doesn't 1618If @var{noindirect} is non-@code{nil}, @code{where-is-internal} doesn't
1608follow indirect keymap bindings. This makes it possible to search for 1619follow indirect keymap bindings. This makes it possible to search for
@@ -1623,7 +1634,7 @@ other command. However, if @var{no-remap} is non-@code{nil}.
1623@end smallexample 1634@end smallexample
1624@end defun 1635@end defun
1625 1636
1626@deffn Command describe-bindings &optional prefix 1637@deffn Command describe-bindings &optional prefix buffer-or-name
1627This function creates a listing of all current key bindings, and 1638This function creates a listing of all current key bindings, and
1628displays it in a buffer named @samp{*Help*}. The text is grouped by 1639displays it in a buffer named @samp{*Help*}. The text is grouped by
1629modes---minor modes first, then the major mode, then global bindings. 1640modes---minor modes first, then the major mode, then global bindings.
@@ -1643,6 +1654,10 @@ For example, in the default global map, the characters @samp{@key{SPC}
1643@kbd{~} is @acronym{ASCII} 126, and the characters between them include all 1654@kbd{~} is @acronym{ASCII} 126, and the characters between them include all
1644the normal printing characters, (e.g., letters, digits, punctuation, 1655the normal printing characters, (e.g., letters, digits, punctuation,
1645etc.@:); all these characters are bound to @code{self-insert-command}. 1656etc.@:); all these characters are bound to @code{self-insert-command}.
1657
1658If @var{buffer-or-name} is non-@code{nil}, it should be a buffer or a
1659buffer name. Then @code{describe-bindings} lists that buffer's bindings,
1660instead of the current buffer's.
1646@end deffn 1661@end deffn
1647 1662
1648@node Menu Keymaps 1663@node Menu Keymaps
@@ -1681,8 +1696,9 @@ prompt string.
1681 1696
1682The easiest way to construct a keymap with a prompt string is to specify 1697The easiest way to construct a keymap with a prompt string is to specify
1683the string as an argument when you call @code{make-keymap}, 1698the string as an argument when you call @code{make-keymap},
1684@code{make-sparse-keymap} or @code{define-prefix-command} 1699@code{make-sparse-keymap} (@pxref{Creating Keymaps}), or
1685(@pxref{Creating Keymaps}). 1700@code{define-prefix-command} (@pxref{Definition of define-prefix-command}).
1701
1686 1702
1687@defun keymap-prompt keymap 1703@defun keymap-prompt keymap
1688This function returns the overall prompt string of @var{keymap}, 1704This function returns the overall prompt string of @var{keymap},
@@ -2107,6 +2123,12 @@ functioning of the menu itself, but they are ``echoed'' in the echo area
2107when the user selects from the menu, and they appear in the output of 2123when the user selects from the menu, and they appear in the output of
2108@code{where-is} and @code{apropos}. 2124@code{where-is} and @code{apropos}.
2109 2125
2126 The menu in this example is intended for use with the mouse. If a
2127menu is intended for use with the keyboard, that is, if it is bound to
2128a key sequence ending with a keyboard event, then the menu items
2129should be bound to characters or ``real'' function keys, that can be
2130typed with the keyboard.
2131
2110 The binding whose definition is @code{("--")} is a separator line. 2132 The binding whose definition is @code{("--")} is a separator line.
2111Like a real menu item, the separator has a key symbol, in this case 2133Like a real menu item, the separator has a key symbol, in this case
2112@code{separator-ps-print}. If one menu has two separators, they must 2134@code{separator-ps-print}. If one menu has two separators, they must
@@ -2389,7 +2411,7 @@ property list elements to add to the menu item specification.
2389This function is used for making non-global tool bar items. Use it 2411This function is used for making non-global tool bar items. Use it
2390like @code{tool-bar-add-item-from-menu} except that @var{in-map} 2412like @code{tool-bar-add-item-from-menu} except that @var{in-map}
2391specifies the local map to make the definition in. The argument 2413specifies the local map to make the definition in. The argument
2392@var{from-map} si like the @var{map} argument of 2414@var{from-map} is like the @var{map} argument of
2393@code{tool-bar-add-item-from-menu}. 2415@code{tool-bar-add-item-from-menu}.
2394@end defun 2416@end defun
2395 2417
diff --git a/man/ChangeLog b/man/ChangeLog
index 4f2ce160de6..d6e105977fc 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,7 @@
12004-08-10 Michael Albinus <michael.albinus@gmx.de>
2
3 Sync with Tramp 2.0.44.
4
12004-08-05 Lars Hansen <larsh@math.ku.dk> 52004-08-05 Lars Hansen <larsh@math.ku.dk>
2 6
3 * widget.texi (User Interface): Update how to separate the 7 * widget.texi (User Interface): Update how to separate the
diff --git a/man/trampver.texi b/man/trampver.texi
index 32ab2349241..a5cc874b3fb 100644
--- a/man/trampver.texi
+++ b/man/trampver.texi
@@ -4,7 +4,7 @@
4@c In the Tramp CVS, the version number is auto-frobbed from 4@c In the Tramp CVS, the version number is auto-frobbed from
5@c configure.ac, so you should edit that file and run 5@c configure.ac, so you should edit that file and run
6@c "autoconf && ./configure" to change the version number. 6@c "autoconf && ./configure" to change the version number.
7@set trampver 2.0.43 7@set trampver 2.0.44
8 8
9@c Other flags from configuration 9@c Other flags from configuration
10@set prefix /usr/local 10@set prefix /usr/local
diff --git a/src/ChangeLog b/src/ChangeLog
index 248d5daa92e..3f9b6d85e51 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
12004-08-09 Luc Teirlinck <teirllm@auburn.edu>
2
3 * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes.
4
12004-08-08 Luc Teirlinck <teirllm@auburn.edu> 52004-08-08 Luc Teirlinck <teirllm@auburn.edu>
2 6
3 * keyboard.c: Declare Qdisabled_command_function instead of 7 * keyboard.c: Declare Qdisabled_command_function instead of
diff --git a/src/keymap.c b/src/keymap.c
index e93a3f89fe4..484f08b9077 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -131,10 +131,11 @@ static void silly_event_symbol_error P_ ((Lisp_Object));
131 131
132DEFUN ("make-keymap", Fmake_keymap, Smake_keymap, 0, 1, 0, 132DEFUN ("make-keymap", Fmake_keymap, Smake_keymap, 0, 1, 0,
133 doc: /* Construct and return a new keymap, of the form (keymap CHARTABLE . ALIST). 133 doc: /* Construct and return a new keymap, of the form (keymap CHARTABLE . ALIST).
134CHARTABLE is a char-table that holds the bindings for the ASCII 134CHARTABLE is a char-table that holds the bindings for all characters
135characters. ALIST is an assoc-list which holds bindings for function keys, 135without modifiers. All entries in it are initially nil, meaning
136mouse events, and any other things that appear in the input stream. 136"command undefined". ALIST is an assoc-list which holds bindings for
137All entries in it are initially nil, meaning "command undefined". 137function keys, mouse events, and any other things that appear in the
138input stream. Initially, ALIST is nil.
138 139
139The optional arg STRING supplies a menu name for the keymap 140The optional arg STRING supplies a menu name for the keymap
140in case you use it as a menu with `x-popup-menu'. */) 141in case you use it as a menu with `x-popup-menu'. */)
@@ -729,7 +730,10 @@ map_keymap_call (key, val, fun, dummy)
729 730
730DEFUN ("map-keymap", Fmap_keymap, Smap_keymap, 2, 2, 0, 731DEFUN ("map-keymap", Fmap_keymap, Smap_keymap, 2, 2, 0,
731 doc: /* Call FUNCTION for every binding in KEYMAP. 732 doc: /* Call FUNCTION for every binding in KEYMAP.
732FUNCTION is called with two arguments: the event and its binding. */) 733FUNCTION is called with two arguments: the event and its binding.
734If KEYMAP has a parent, the parent's bindings are included as well.
735This works recursively: if the parent has itself a parent, then the
736grandparent's bindings are also included and so on. */)
733 (function, keymap) 737 (function, keymap)
734 Lisp_Object function, keymap; 738 Lisp_Object function, keymap;
735{ 739{
@@ -2573,7 +2577,7 @@ where_is_internal (definition, keymaps, firstonly, noindirect, no_remap)
2573 2577
2574DEFUN ("where-is-internal", Fwhere_is_internal, Swhere_is_internal, 1, 5, 0, 2578DEFUN ("where-is-internal", Fwhere_is_internal, Swhere_is_internal, 1, 5, 0,
2575 doc: /* Return list of keys that invoke DEFINITION. 2579 doc: /* Return list of keys that invoke DEFINITION.
2576If KEYMAP is non-nil, search only KEYMAP and the global keymap. 2580If KEYMAP is a keymap, search only KEYMAP and the global keymap.
2577If KEYMAP is nil, search all the currently active keymaps. 2581If KEYMAP is nil, search all the currently active keymaps.
2578If KEYMAP is a list of keymaps, search only those keymaps. 2582If KEYMAP is a list of keymaps, search only those keymaps.
2579 2583
@@ -2581,8 +2585,8 @@ If optional 3rd arg FIRSTONLY is non-nil, return the first key sequence found,
2581rather than a list of all possible key sequences. 2585rather than a list of all possible key sequences.
2582If FIRSTONLY is the symbol `non-ascii', return the first binding found, 2586If FIRSTONLY is the symbol `non-ascii', return the first binding found,
2583no matter what it is. 2587no matter what it is.
2584If FIRSTONLY has another non-nil value, prefer sequences of ASCII characters, 2588If FIRSTONLY has another non-nil value, prefer sequences of ASCII characters
2585and entirely reject menu bindings. 2589\(or their meta variants) and entirely reject menu bindings.
2586 2590
2587If optional 4th arg NOINDIRECT is non-nil, don't follow indirections 2591If optional 4th arg NOINDIRECT is non-nil, don't follow indirections
2588to other keymaps or slots. This makes it possible to search for an 2592to other keymaps or slots. This makes it possible to search for an