aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaroly Lorentey2006-02-03 15:24:23 +0000
committerKaroly Lorentey2006-02-03 15:24:23 +0000
commitfbb63435176d3614d3603b675784122bf50d22b1 (patch)
tree6039cce70135d4a450d4dfb44d16fa17ce45bdb4
parent911650d26b9ce191925ec23545b0c072cdab351f (diff)
parent6bba8c7028c7ef33a917754ad6259a010831d652 (diff)
downloademacs-fbb63435176d3614d3603b675784122bf50d22b1.tar.gz
emacs-fbb63435176d3614d3603b675784122bf50d22b1.zip
Merged from
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-38 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-39 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-40 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-506
-rw-r--r--INSTALL.CVS17
-rw-r--r--etc/TODO6
-rw-r--r--lisp/ChangeLog48
-rw-r--r--lisp/arc-mode.el14
-rw-r--r--lisp/erc/ChangeLog5
-rw-r--r--lisp/erc/erc.el4
-rw-r--r--lisp/ibuf-ext.el13
-rw-r--r--lisp/ibuffer.el26
-rw-r--r--lisp/international/mule-cmds.el3
-rw-r--r--lisp/net/newsticker.el58
-rw-r--r--lisp/net/rcirc.el8
-rw-r--r--lisp/textmodes/table.el4
-rw-r--r--lispref/frames.texi32
-rw-r--r--lispref/keymaps.texi169
-rw-r--r--lispref/minibuf.texi4
-rw-r--r--man/ChangeLog5
-rw-r--r--man/custom.texi16
17 files changed, 309 insertions, 123 deletions
diff --git a/INSTALL.CVS b/INSTALL.CVS
index fa5b8e4958c..ce3fa9f2627 100644
--- a/INSTALL.CVS
+++ b/INSTALL.CVS
@@ -25,18 +25,17 @@ procedure:
25(If you want to install the Emacs binary, type "make install" instead 25(If you want to install the Emacs binary, type "make install" instead
26of "make" in the last command.) 26of "make" in the last command.)
27 27
28Occasionally the files "lisp/loaddefs.el" or lisp/mh-e/mh-loaddefs.el 28Occasionally the file "lisp/loaddefs.el" will need be updated to
29will need be updated to reflect new autoloaded functions. If you see 29reflect new autoloaded functions. If you see errors about undefined
30errors about undefined lisp functions during compilation, that may be 30lisp functions during compilation, that may be the reason. Another
31the reason. Another symptom may be an error saying that "loaddefs.el" 31symptom may be an error saying that "loaddefs.el" could not be found;
32could not be found; this is due to a change in the way loaddefs.el was 32this is due to a change in the way loaddefs.el was handled in CVS, and
33handled in CVS, and should only happen once, for users that are 33should only happen once, for users that are updating old CVS trees.
34updating old CVS trees.
35 34
36To update loaddefs.el and mh-loaddefs.el, do: 35To update loaddefs.el, do:
37 36
38 $ cd lisp 37 $ cd lisp
39 $ make autoloads mh-autoloads EMACS=../src/emacs 38 $ make autoloads EMACS=../src/emacs
40 39
41If either of the above partial procedures fails, try "make bootstrap". 40If either of the above partial procedures fails, try "make bootstrap".
42 41
diff --git a/etc/TODO b/etc/TODO
index 8ec34e6e5db..9b7a0b0a1b0 100644
--- a/etc/TODO
+++ b/etc/TODO
@@ -123,6 +123,9 @@ to the FSF.
123 123
124* Other features we would like: 124* Other features we would like:
125 125
126** Create a category of errors called `user-error' for errors which are
127typically due to pilot errors and should thus be in debug-ignored-errors.
128
126** Give Tar mode all the features of Archive mode. 129** Give Tar mode all the features of Archive mode.
127 130
128** Create a category of errors called `process-error' 131** Create a category of errors called `process-error'
@@ -422,6 +425,9 @@ when the body only calls primitives.
422 "japanese". Currently, most Japanese users are using external 425 "japanese". Currently, most Japanese users are using external
423 packages (e.g. tamago, anthy) or an input method via XIM. 426 packages (e.g. tamago, anthy) or an input method via XIM.
424 427
428** Let LEIM handle the Mode_switch key like XIM does (i.e. a toggle like C-\
429but which can also be used as a modifier).
430
425** Provide the toolbar on ttys. This could map a bit like tmm-menubar 431** Provide the toolbar on ttys. This could map a bit like tmm-menubar
426 for the menubar and buttons could look a bit like those used by customize. 432 for the menubar and buttons could look a bit like those used by customize.
427 433
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 22798bb24ff..da4ba5df39b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,29 @@
12006-02-03 Jens Petersen <petersen@redhat.com> (tiny change)
2
3 * international/mule-cmds.el (set-locale-environment): Add
4 "/usr/share/X11/locale/locale.alias" to search list for xorg-x11
5 libX11.
6
72006-02-03 Joe Wells <jbw@macs.hw.ac.uk> (tiny change)
8
9 * arc-mode.el (archive-maybe-copy): Fix the way directories in the
10 archive are created in archive-tmpdir.
11
122006-02-02 John Paul Wallington <jpw@pobox.com>
13
14 * ibuffer.el (ibuffer-compressed-file-name-regexp): New defcustom.
15 (ibuffer-fontification-alist): Use it.
16 (ibuffer-mode-map): Bind `ibuffer-mark-compressed-file-buffers'
17 to "* z" and the Ibuffer Mark menu.
18
19 * ibuf-ext.el (ibuffer-mark-compressed-file-buffers): New command.
20
212006-02-02 Stefan Monnier <monnier@iro.umontreal.ca>
22
23 * textmodes/table.el (*table--cell-describe-mode)
24 (*table--cell-describe-bindings): Undo last change since
25 print-help-return-message is not obsoleted by anything at all.
26
12006-02-02 Luc Teirlinck <teirllm@auburn.edu> 272006-02-02 Luc Teirlinck <teirllm@auburn.edu>
2 28
3 * emulation/cua-base.el (cua-mode): Doc fix. 29 * emulation/cua-base.el (cua-mode): Doc fix.
@@ -19,13 +45,26 @@
19 (hi-lock-file-patterns-range): Fix typos in docstrings. 45 (hi-lock-file-patterns-range): Fix typos in docstrings.
20 46
21 * savehist.el (savehist-loaded, savehist-load, savehist-install) 47 * savehist.el (savehist-loaded, savehist-load, savehist-install)
22 (savehist-autosave, savehist-trim-history): Fix typos in 48 (savehist-autosave, savehist-trim-history): Fix typos in docstrings.
23 docstrings.
24 49
25 * mail/mailclient.el (mailclient-place-body-on-clipboard-flag): 50 * mail/mailclient.el (mailclient-place-body-on-clipboard-flag):
26 Fix typo in docstring. 51 Fix typo in docstring.
27 52
28 * net/rcirc.el (rcirc-debug): Fix docstring. 53 * net/newsticker.el (newsticker--decode-iso8601-date)
54 (newsticker--set-customvar, newsticker--buffer-insert-item)
55 (newsticker--do-run-auto-mark-filter)
56 (newsticker--parse-generic-feed): Doc fixes.
57 (newsticker--retrieval-timer-list, newsticker-url-list)
58 (newsticker-hide-immortal-items-in-echo-area)
59 (newsticker-hide-obsolete-items-in-echo-area)
60 (newsticker-new-item-face, newsticker--enclosure)
61 (newsticker-buffer-update, newsticker-w3m-show-inline-images)
62 (newsticker--parse-atom-0.3, newsticker--parse-rss-1.0)
63 (newsticker--parse-generic-feed, newsticker--cache-contains)
64 (newsticker--stat-num-items, newsticker-download-enclosures):
65 Fix typos in docstrings.
66
67 * net/rcirc.el (rcirc-debug): Doc fix.
29 (rcirc-fill-column, rcirc-receive-message-hooks) 68 (rcirc-fill-column, rcirc-receive-message-hooks)
30 (rcirc-browse-url-map, rcirc-read-only-flag, rcirc-prompt) 69 (rcirc-browse-url-map, rcirc-read-only-flag, rcirc-prompt)
31 (rcirc-mode, rcirc-generate-new-buffer-name) 70 (rcirc-mode, rcirc-generate-new-buffer-name)
@@ -33,6 +72,7 @@
33 (rcirc-cmd-ignore, rcirc-browse-url, rcirc-url-regexp): 72 (rcirc-cmd-ignore, rcirc-browse-url, rcirc-url-regexp):
34 Fix typos in docstrings. 73 Fix typos in docstrings.
35 (rcirc-print): "?\ " -> "?\s". 74 (rcirc-print): "?\ " -> "?\s".
75 (rcirc-cmd-join): Improve argument/docstring consistency.
36 76
372006-02-01 Mark A. Hershberger <mah@everybody.org> 772006-02-01 Mark A. Hershberger <mah@everybody.org>
38 78
@@ -66,7 +106,7 @@
662006-01-31 Richard M. Stallman <rms@gnu.org> 1062006-01-31 Richard M. Stallman <rms@gnu.org>
67 107
68 * replace.el (multi-occur): Doc fix. 108 * replace.el (multi-occur): Doc fix.
69 (multi-occur-in-matching-buffers): Renamed from 109 (multi-occur-in-matching-buffers): Rename from
70 multi-occur-by-filename-regexp. Prefix arg says match 110 multi-occur-by-filename-regexp. Prefix arg says match
71 buffer names instead of file names. 111 buffer names instead of file names.
72 112
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index c376070ea3b..2d97c319c88 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -800,17 +800,13 @@ using `make-temp-file', and the generated name is returned."
800 (archive-name 800 (archive-name
801 (or (and archive-subfile-mode (aref archive-subfile-mode 0)) 801 (or (and archive-subfile-mode (aref archive-subfile-mode 0))
802 archive))) 802 archive)))
803 (make-directory archive-tmpdir t)
804 ;; If ARCHIVE includes leading directories, make sure they
805 ;; exist under archive-tmpdir.
806 (let ((arch-dir (file-name-directory archive)))
807 (if arch-dir
808 (make-directory (concat
809 (file-name-as-directory archive-tmpdir)
810 arch-dir)
811 t)))
812 (setq archive-local-name 803 (setq archive-local-name
813 (archive-unique-fname archive-name archive-tmpdir)) 804 (archive-unique-fname archive-name archive-tmpdir))
805 ;; Maked sure all the leading directories in
806 ;; archive-local-name exist under archive-tmpdir, so that
807 ;; the directory structure recorded in the archive is
808 ;; reconstructed in the temporary directory.
809 (make-directory (file-name-directory archive-local-name) t)
814 (save-restriction 810 (save-restriction
815 (widen) 811 (widen)
816 (write-region start (point-max) archive-local-name nil 'nomessage)) 812 (write-region start (point-max) archive-local-name nil 'nomessage))
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index 98022b601e6..c77b091bdb4 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,8 @@
12006-02-03 Zhang Wei <id.brep@gmail.com> (tiny change)
2
3 * erc.el (erc-version-string): Don't hard-code Emacs version.
4 (erc-version): Use emacs-version.
5
12006-01-30 Simon Josefsson <jas@extundo.com> 62006-01-30 Simon Josefsson <jas@extundo.com>
2 7
3 * erc.el (erc-open-ssl-stream): Use tls.el. 8 * erc.el (erc-open-ssl-stream): Use tls.el.
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 3c6baf1fdb4..cc9dc8bf1b9 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -66,7 +66,7 @@
66 66
67;;; Code: 67;;; Code:
68 68
69(defconst erc-version-string "Version 5.1 (Emacs 22)" 69(defconst erc-version-string "Version 5.1"
70 "ERC version. This is used by function `erc-version'.") 70 "ERC version. This is used by function `erc-version'.")
71 71
72(eval-when-compile (require 'cl)) 72(eval-when-compile (require 'cl))
@@ -5774,7 +5774,7 @@ P may be an integer or a service name."
5774If optional argument HERE is non-nil, insert version number at point." 5774If optional argument HERE is non-nil, insert version number at point."
5775 (interactive "P") 5775 (interactive "P")
5776 (let ((version-string 5776 (let ((version-string
5777 (format "ERC %s" erc-version-string))) 5777 (format "ERC %s (GNU Emacs %s)" erc-version-string emacs-version)))
5778 (if here 5778 (if here
5779 (insert version-string) 5779 (insert version-string)
5780 (if (interactive-p) 5780 (if (interactive-p)
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el
index 2de72547887..e5820d066e2 100644
--- a/lisp/ibuf-ext.el
+++ b/lisp/ibuf-ext.el
@@ -1,7 +1,7 @@
1;;; ibuf-ext.el --- extensions for ibuffer 1;;; ibuf-ext.el --- extensions for ibuffer
2 2
3;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 3;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
4;; 2005 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Colin Walters <walters@verbum.org> 6;; Author: Colin Walters <walters@verbum.org>
7;; Maintainer: John Paul Wallington <jpw@gnu.org> 7;; Maintainer: John Paul Wallington <jpw@gnu.org>
@@ -1449,6 +1449,17 @@ You can then feed the file name(s) to other commands with \\[yank]."
1449 (memq major-mode ibuffer-help-buffer-modes))))) 1449 (memq major-mode ibuffer-help-buffer-modes)))))
1450 1450
1451;;;###autoload 1451;;;###autoload
1452(defun ibuffer-mark-compressed-file-buffers ()
1453 "Mark buffers whose associated file is compressed."
1454 (interactive)
1455 (ibuffer-mark-on-buffer
1456 #'(lambda (buf)
1457 (with-current-buffer buf
1458 (and buffer-file-name
1459 (string-match ibuffer-compressed-file-name-regexp
1460 buffer-file-name))))))
1461
1462;;;###autoload
1452(defun ibuffer-mark-old-buffers () 1463(defun ibuffer-mark-old-buffers ()
1453 "Mark buffers which have not been viewed in `ibuffer-old-time' days." 1464 "Mark buffers which have not been viewed in `ibuffer-old-time' days."
1454 (interactive) 1465 (interactive)
diff --git a/lisp/ibuffer.el b/lisp/ibuffer.el
index 9406cf0a1b8..179c7b334bd 100644
--- a/lisp/ibuffer.el
+++ b/lisp/ibuffer.el
@@ -1,7 +1,7 @@
1;;; ibuffer.el --- operate on buffers like dired 1;;; ibuffer.el --- operate on buffers like dired
2 2
3;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 3;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
4;; 2005 Free Software Foundation, Inc. 4;; 2005, 2006 Free Software Foundation, Inc.
5 5
6;; Author: Colin Walters <walters@verbum.org> 6;; Author: Colin Walters <walters@verbum.org>
7;; Maintainer: John Paul Wallington <jpw@gnu.org> 7;; Maintainer: John Paul Wallington <jpw@gnu.org>
@@ -142,12 +142,16 @@ elisp byte-compiler."
142 142
143(defcustom ibuffer-fontification-alist 143(defcustom ibuffer-fontification-alist
144 `((10 buffer-read-only font-lock-constant-face) 144 `((10 buffer-read-only font-lock-constant-face)
145 (15 (string-match "^*" (buffer-name)) font-lock-keyword-face) 145 (15 (and buffer-file-name
146 (20 (and (string-match "^ " (buffer-name)) 146 (string-match ibuffer-compressed-file-name-regexp
147 buffer-file-name))
148 font-lock-doc-face)
149 (20 (string-match "^*" (buffer-name)) font-lock-keyword-face)
150 (25 (and (string-match "^ " (buffer-name))
147 (null buffer-file-name)) 151 (null buffer-file-name))
148 italic) 152 italic)
149 (25 (memq major-mode ibuffer-help-buffer-modes) font-lock-comment-face) 153 (30 (memq major-mode ibuffer-help-buffer-modes) font-lock-comment-face)
150 (30 (eq major-mode 'dired-mode) font-lock-function-name-face)) 154 (35 (eq major-mode 'dired-mode) font-lock-function-name-face))
151 "An alist describing how to fontify buffers. 155 "An alist describing how to fontify buffers.
152Each element should be of the form (PRIORITY FORM FACE), where 156Each element should be of the form (PRIORITY FORM FACE), where
153PRIORITY is an integer, FORM is an arbitrary form to evaluate in the 157PRIORITY is an integer, FORM is an arbitrary form to evaluate in the
@@ -320,6 +324,14 @@ directory, like `default-directory'."
320 :type '(repeat function) 324 :type '(repeat function)
321 :group 'ibuffer) 325 :group 'ibuffer)
322 326
327(defcustom ibuffer-compressed-file-name-regexp
328 (concat "\\.\\("
329 (regexp-opt '("arj" "bgz" "bz2" "gz" "lzh" "taz" "tgz" "zip" "z"))
330 "\\)$")
331 "Regexp to match compressed file names."
332 :type 'regexp
333 :group 'ibuffer)
334
323(defcustom ibuffer-hook nil 335(defcustom ibuffer-hook nil
324 "Hook run when `ibuffer' is called." 336 "Hook run when `ibuffer' is called."
325 :type 'hook 337 :type 'hook
@@ -403,6 +415,7 @@ directory, like `default-directory'."
403 (define-key map (kbd "* /") 'ibuffer-mark-dired-buffers) 415 (define-key map (kbd "* /") 'ibuffer-mark-dired-buffers)
404 (define-key map (kbd "* e") 'ibuffer-mark-dissociated-buffers) 416 (define-key map (kbd "* e") 'ibuffer-mark-dissociated-buffers)
405 (define-key map (kbd "* h") 'ibuffer-mark-help-buffers) 417 (define-key map (kbd "* h") 'ibuffer-mark-help-buffers)
418 (define-key map (kbd "* z") 'ibuffer-mark-compressed-file-buffers)
406 (define-key map (kbd ".") 'ibuffer-mark-old-buffers) 419 (define-key map (kbd ".") 'ibuffer-mark-old-buffers)
407 420
408 (define-key map (kbd "d") 'ibuffer-mark-for-delete) 421 (define-key map (kbd "d") 'ibuffer-mark-for-delete)
@@ -718,6 +731,9 @@ directory, like `default-directory'."
718 (define-key-after map [menu-bar mark mark-help-buffers] 731 (define-key-after map [menu-bar mark mark-help-buffers]
719 '(menu-item "Mark help buffers" ibuffer-mark-help-buffers 732 '(menu-item "Mark help buffers" ibuffer-mark-help-buffers
720 :help "Mark buffers in help-mode")) 733 :help "Mark buffers in help-mode"))
734 (define-key-after map [menu-bar mark mark-compressed-file-buffers]
735 '(menu-item "Mark compressed file buffers" ibuffer-mark-compressed-file-buffers
736 :help "Mark buffers which have a file that is compressed"))
721 (define-key-after map [menu-bar mark mark-old-buffers] 737 (define-key-after map [menu-bar mark mark-old-buffers]
722 '(menu-item "Mark old buffers" ibuffer-mark-old-buffers 738 '(menu-item "Mark old buffers" ibuffer-mark-old-buffers
723 :help "Mark buffers which have not been viewed recently")) 739 :help "Mark buffers which have not been viewed recently"))
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index 575653e8f5a..8e63729b7a5 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -2440,7 +2440,8 @@ See also `locale-charset-language-names', `locale-language-names',
2440 ;; to a system without X. 2440 ;; to a system without X.
2441 (setq locale-translation-file-name 2441 (setq locale-translation-file-name
2442 (let ((files 2442 (let ((files
2443 '("/usr/lib/X11/locale/locale.alias" ; e.g. X11R6.4 2443 '("/usr/share/X11/locale/locale.alias" ; e.g. X11R7
2444 "/usr/lib/X11/locale/locale.alias" ; e.g. X11R6.4
2444 "/usr/X11R6/lib/X11/locale/locale.alias" ; XFree86, e.g. RedHat 4.2 2445 "/usr/X11R6/lib/X11/locale/locale.alias" ; XFree86, e.g. RedHat 4.2
2445 "/usr/openwin/lib/locale/locale.alias" ; e.g. Solaris 2.6 2446 "/usr/openwin/lib/locale/locale.alias" ; e.g. Solaris 2.6
2446 ;; 2447 ;;
diff --git a/lisp/net/newsticker.el b/lisp/net/newsticker.el
index 1854e7adda0..c07faa4ca63 100644
--- a/lisp/net/newsticker.el
+++ b/lisp/net/newsticker.el
@@ -1,6 +1,6 @@
1;;; newsticker.el --- A Newsticker for Emacs. 1;;; newsticker.el --- A Newsticker for Emacs.
2 2
3;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. 3;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
4 4
5;; This file is part of GNU Emacs. 5;; This file is part of GNU Emacs.
6 6
@@ -397,7 +397,7 @@
397 397
398(defvar newsticker--retrieval-timer-list nil 398(defvar newsticker--retrieval-timer-list nil
399 "List of timers for news retrieval. 399 "List of timers for news retrieval.
400This is an alist, each element consisting of (feed-name . timer)") 400This is an alist, each element consisting of (feed-name . timer).")
401 401
402(defvar newsticker--display-timer nil 402(defvar newsticker--display-timer nil
403 "Timer for newsticker display.") 403 "Timer for newsticker display.")
@@ -485,8 +485,8 @@ This list is fed into defcustom via `newsticker--splicer'.")
485(defun newsticker--set-customvar (symbol value) 485(defun newsticker--set-customvar (symbol value)
486 "Set newsticker-variable SYMBOL value to VALUE. 486 "Set newsticker-variable SYMBOL value to VALUE.
487 487
488Calls all necessary actions which are necessary in order to make 488Calls all actions which are necessary in order to make the new
489the new value effective. Changing `newsticker-url-list', for example, 489value effective. Changing `newsticker-url-list', for example,
490will re-start the retrieval-timers." 490will re-start the retrieval-timers."
491 (unless (condition-case nil 491 (unless (condition-case nil
492 (eq (symbol-value symbol) value) 492 (eq (symbol-value symbol) value)
@@ -586,7 +586,7 @@ specify as `newsticker-wget-name'.
586 586
587The START-TIME can be either a string, or nil. If it is a string it 587The START-TIME can be either a string, or nil. If it is a string it
588specifies a fixed time at which this feed shall be retrieved for the 588specifies a fixed time at which this feed shall be retrieved for the
589first time. (Examples: \"11:00pm\", \"23:00\"). If it is nil (or 589first time. (Examples: \"11:00pm\", \"23:00\".) If it is nil (or
590unspecified), this feed will be retrieved immediately after calling 590unspecified), this feed will be retrieved immediately after calling
591`newsticker-start'. 591`newsticker-start'.
592 592
@@ -940,7 +940,7 @@ or, if you use htmlr
940 (:family "helvetica" :bold t)) 940 (:family "helvetica" :bold t))
941 (((class color) (background light)) 941 (((class color) (background light))
942 (:family "helvetica" :bold t))) 942 (:family "helvetica" :bold t)))
943 "Face for old news items." 943 "Face for news items."
944 :group 'newsticker-faces) 944 :group 'newsticker-faces)
945 945
946(defface newsticker-old-item-face 946(defface newsticker-old-item-face
@@ -1041,7 +1041,7 @@ at all. If you change `newsticker-scroll-smoothly' you should also change
1041 t 1041 t
1042 "Decides whether to show immortal/non-expiring news items in the ticker. 1042 "Decides whether to show immortal/non-expiring news items in the ticker.
1043If t the echo area will not show immortal items. See also 1043If t the echo area will not show immortal items. See also
1044`newsticker-hide-old-items-in-echo-area." 1044`newsticker-hide-old-items-in-echo-area'."
1045 :type 'boolean 1045 :type 'boolean
1046 :set 'newsticker--set-customvar 1046 :set 'newsticker--set-customvar
1047 :group 'newsticker-ticker) 1047 :group 'newsticker-ticker)
@@ -1059,7 +1059,7 @@ been added between the last two retrievals."
1059 t 1059 t
1060 "Decides whether to show obsolete items items in the ticker. 1060 "Decides whether to show obsolete items items in the ticker.
1061If t the echo area will not show obsolete items. See also 1061If t the echo area will not show obsolete items. See also
1062`newsticker-hide-old-items-in-echo-area." 1062`newsticker-hide-old-items-in-echo-area'."
1063 :type 'boolean 1063 :type 'boolean
1064 :set 'newsticker--set-customvar 1064 :set 'newsticker--set-customvar
1065 :group 'newsticker-ticker) 1065 :group 'newsticker-ticker)
@@ -2376,7 +2376,7 @@ static char * visit_xpm[] = {
2376 guid 2376 guid
2377 (car (xml-node-children guid))))) 2377 (car (xml-node-children guid)))))
2378(defsubst newsticker--enclosure (item) 2378(defsubst newsticker--enclosure (item)
2379 "Return enclosure element of ITEM in the form \(...FIXME...\)or nil." 2379 "Return enclosure element of ITEM in the form \(...FIXME...\) or nil."
2380 (let ((enclosure (assoc 'enclosure (newsticker--extra item)))) 2380 (let ((enclosure (assoc 'enclosure (newsticker--extra item))))
2381 (if enclosure 2381 (if enclosure
2382 (xml-node-attributes enclosure)))) 2382 (xml-node-attributes enclosure))))
@@ -2490,7 +2490,7 @@ if newsticker has been running."
2490 2490
2491(defun newsticker-buffer-update (&optional force) 2491(defun newsticker-buffer-update (&optional force)
2492 "Update the *newsticker* buffer. 2492 "Update the *newsticker* buffer.
2493Unless FORCE is t this is donly only if necessary, i.e. when the 2493Unless FORCE is t this is done only if necessary, i.e. when the
2494*newsticker* buffer is not up-to-date." 2494*newsticker* buffer is not up-to-date."
2495 (interactive) 2495 (interactive)
2496 ;; bring cache data into proper order.... 2496 ;; bring cache data into proper order....
@@ -2584,7 +2584,7 @@ If URL is nil it is searched at point."
2584 "Show inline images in visible text ranges. 2584 "Show inline images in visible text ranges.
2585In-line images in invisible text ranges are hidden. This function 2585In-line images in invisible text ranges are hidden. This function
2586calls `w3m-toggle-inline-image'. It works only if 2586calls `w3m-toggle-inline-image'. It works only if
2587`newsticker-html-renderer' is set to `w3m-region'" 2587`newsticker-html-renderer' is set to `w3m-region'."
2588 (interactive) 2588 (interactive)
2589 (if (eq newsticker-html-renderer 'w3m-region) 2589 (if (eq newsticker-html-renderer 'w3m-region)
2590 (let ((inhibit-read-only t)) 2590 (let ((inhibit-read-only t))
@@ -3290,7 +3290,7 @@ Argument EVENT tells what has happened to the process."
3290 (newsticker--cache-replace-age newsticker--cache 3290 (newsticker--cache-replace-age newsticker--cache
3291 name-symbol 3291 name-symbol
3292 'feed 'obsolete-old) 3292 'feed 'obsolete-old)
3293 3293
3294 ;; check Atom/RSS version and call corresponding parser 3294 ;; check Atom/RSS version and call corresponding parser
3295 (condition-case error-data 3295 (condition-case error-data
3296 (if (cond 3296 (if (cond
@@ -3405,7 +3405,7 @@ Argument EVENT tells what has happened to the process."
3405(defun newsticker--parse-atom-0.3 (name time topnode) 3405(defun newsticker--parse-atom-0.3 (name time topnode)
3406 "Parse Atom 0.3 data. 3406 "Parse Atom 0.3 data.
3407Return value as well as arguments NAME, TIME, and TOPNODE are the 3407Return value as well as arguments NAME, TIME, and TOPNODE are the
3408same as in `newsticker--parse-generic-rss'." 3408same as in `newsticker--parse-atom-1.0'."
3409 (newsticker--debug-msg "Parsing Atom 0.3 feed %s" name) 3409 (newsticker--debug-msg "Parsing Atom 0.3 feed %s" name)
3410 (let (new-feed new-item) 3410 (let (new-feed new-item)
3411 (setq new-feed (newsticker--parse-generic-feed 3411 (setq new-feed (newsticker--parse-generic-feed
@@ -3613,8 +3613,8 @@ For the RSS 0.92 specification see http://backend.userland.com/rss092."
3613 3613
3614(defun newsticker--parse-rss-1.0 (name time topnode) 3614(defun newsticker--parse-rss-1.0 (name time topnode)
3615 "Parse RSS 1.0 data. 3615 "Parse RSS 1.0 data.
3616Return value as well as arguments NAME, TIME, and 3616Return value as well as arguments NAME, TIME, and TOPNODE are the
3617TOPNODE are the same as in `newsticker--parse-atom-1.0'. 3617same as in `newsticker--parse-atom-1.0'.
3618 3618
3619For the RSS 1.0 specification see http://web.resource.org/rss/1.0/spec." 3619For the RSS 1.0 specification see http://web.resource.org/rss/1.0/spec."
3620 (newsticker--debug-msg "Parsing RSS 1.0 feed %s" name) 3620 (newsticker--debug-msg "Parsing RSS 1.0 feed %s" name)
@@ -3724,9 +3724,7 @@ For the RSS 2.0 specification see http://blogs.law.harvard.edu/tech/rss."
3724 extra-elements) 3724 extra-elements)
3725 "Parse generic news feed data. 3725 "Parse generic news feed data.
3726Argument NAME gives the name of a news feed. TIME gives the 3726Argument NAME gives the name of a news feed. TIME gives the
3727system time at which the data have been retrieved. CHANNELNODE 3727system time at which the data have been retrieved.
3728is the node in the feed data which contains the description, link
3729etc. of the feed itself.
3730 3728
3731The arguments TITLE, DESC, LINK, and EXTRA-ELEMENTS give the feed's title, 3729The arguments TITLE, DESC, LINK, and EXTRA-ELEMENTS give the feed's title,
3732description, link, and extra elements resp." 3730description, link, and extra elements resp."
@@ -3966,7 +3964,7 @@ This function calls `message' with arguments STRING and ARGS, if
3966 3964
3967(defun newsticker--decode-iso8601-date (iso8601-string) 3965(defun newsticker--decode-iso8601-date (iso8601-string)
3968 "Return ISO8601-STRING in format like `decode-time'. 3966 "Return ISO8601-STRING in format like `decode-time'.
3969Converts from ISO-8601 to Emacs representation. If ISO8601-STRING 3967Converts from ISO-8601 to Emacs representation.
3970Examples: 3968Examples:
39712004-09-17T05:09:49+00:00 39692004-09-17T05:09:49+00:00
39722004-09-17T05:09+00:00 39702004-09-17T05:09+00:00
@@ -4300,10 +4298,9 @@ Keeps order of feeds as given in `newsticker-url-list' and
4300 4298
4301(defun newsticker--buffer-insert-item (item &optional feed-name-symbol) 4299(defun newsticker--buffer-insert-item (item &optional feed-name-symbol)
4302 "Insert a news item in the current buffer. 4300 "Insert a news item in the current buffer.
4303Insert the string PREFIX and a formatted representation of the 4301Insert a formatted representation of the ITEM. The optional parameter
4304ITEM. The optional parameter FEED-NAME-SYMBOL determines how the 4302FEED-NAME-SYMBOL determines how the item is formatted and whether the
4305item is formatted and whether the item-retrieval time is added as 4303item-retrieval time is added as well."
4306well."
4307 ;; insert headline 4304 ;; insert headline
4308 (if (eq (newsticker--age item) 'feed) 4305 (if (eq (newsticker--age item) 'feed)
4309 (newsticker--buffer-do-insert-text item 'feed feed-name-symbol) 4306 (newsticker--buffer-do-insert-text item 'feed feed-name-symbol)
@@ -4831,11 +4828,11 @@ backwards."
4831 (goto-char pos)) 4828 (goto-char pos))
4832 pos)) 4829 pos))
4833 4830
4834(defun newsticker--buffer-hideshow (mark-age onoff ) 4831(defun newsticker--buffer-hideshow (mark-age onoff)
4835 "Hide or show items of type MARK-AGE. 4832 "Hide or show items of type MARK-AGE.
4836If ONOFF is nil the item is hidden, otherwise it is shown." 4833If ONOFF is nil the item is hidden, otherwise it is shown."
4837 (if onoff 4834 (if onoff
4838 (remove-from-invisibility-spec mark-age ) 4835 (remove-from-invisibility-spec mark-age)
4839 (add-to-invisibility-spec mark-age))) 4836 (add-to-invisibility-spec mark-age)))
4840 4837
4841(defun newsticker--buffer-beginning-of-item () 4838(defun newsticker--buffer-beginning-of-item ()
@@ -5026,7 +5023,7 @@ GUID. In general all properties must match in order to return a
5026certain item, except for the following cases. 5023certain item, except for the following cases.
5027 5024
5028If AGE equals 'feed the TITLE, DESCription and LINK do not 5025If AGE equals 'feed the TITLE, DESCription and LINK do not
5029matter. If DESC is nil it is ignored as well. If 5026matter. If DESC is nil it is ignored as well. If
5030`newsticker-desc-comp-max' is non-nil, only the first 5027`newsticker-desc-comp-max' is non-nil, only the first
5031`newsticker-desc-comp-max' characters of DESC are taken into 5028`newsticker-desc-comp-max' characters of DESC are taken into
5032account. 5029account.
@@ -5252,7 +5249,7 @@ FEED is a symbol!"
5252;; ====================================================================== 5249;; ======================================================================
5253(defun newsticker--stat-num-items (feed &optional age) 5250(defun newsticker--stat-num-items (feed &optional age)
5254 "Return number of items in the given FEED which have the given AGE. 5251 "Return number of items in the given FEED which have the given AGE.
5255If AGE is nil, the total number items is returned." 5252If AGE is nil, the total number of items is returned."
5256 (let ((items (cdr (newsticker--cache-get-feed feed))) 5253 (let ((items (cdr (newsticker--cache-get-feed feed)))
5257 (num 0)) 5254 (num 0))
5258 (while items 5255 (while items
@@ -5329,7 +5326,8 @@ for an entry that matches FEED and ITEM."
5329 newsticker-auto-mark-filter-list))) 5326 newsticker-auto-mark-filter-list)))
5330 5327
5331(defun newsticker--do-run-auto-mark-filter (item list) 5328(defun newsticker--do-run-auto-mark-filter (item list)
5332 "Actually compare ITEM AGE LIST against `newsticker-auto-mark-filter-list'." 5329 "Actually compare ITEM against the pattern-LIST
5330\(from `newsticker-auto-mark-filter-list')."
5333 (mapc (lambda (pattern) 5331 (mapc (lambda (pattern)
5334 (let ((age (nth 0 pattern)) 5332 (let ((age (nth 0 pattern))
5335 (place (nth 1 pattern)) 5333 (place (nth 1 pattern))
@@ -5384,8 +5382,8 @@ in the description=contents of ITEM to the directory
5384(defun newsticker-download-enclosures (feed item) 5382(defun newsticker-download-enclosures (feed item)
5385 "In all FEEDs download the enclosed object of the news ITEM. 5383 "In all FEEDs download the enclosed object of the news ITEM.
5386The object is saved to the directory \"~/tmp/newsticker/FEED/TITLE\", which 5384The object is saved to the directory \"~/tmp/newsticker/FEED/TITLE\", which
5387is created if it does not exist. TITLE is the title of the news 5385is created if it does not exist. TITLE is the title of the news
5388item. Argument FEED is ignored. 5386item. Argument FEED is ignored.
5389This function is suited for adding it to `newsticker-new-item-functions'." 5387This function is suited for adding it to `newsticker-new-item-functions'."
5390 (let ((title (newsticker--title item)) 5388 (let ((title (newsticker--title item))
5391 (enclosure (newsticker--enclosure item))) 5389 (enclosure (newsticker--enclosure item)))
diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el
index 44e3fa8c6ec..2e512ae4e19 100644
--- a/lisp/net/rcirc.el
+++ b/lisp/net/rcirc.el
@@ -1375,14 +1375,14 @@ Also, clear the overlay arrow if the current buffer is now hidden."
1375 (when (not existing-buffer) 1375 (when (not existing-buffer)
1376 (rcirc-cmd-whois nick)))) 1376 (rcirc-cmd-whois nick))))
1377 1377
1378(defun-rcirc-command join (args) 1378(defun-rcirc-command join (channel)
1379 "Join CHANNEL." 1379 "Join CHANNEL."
1380 (interactive "sJoin channel: ") 1380 (interactive "sJoin channel: ")
1381 (let* ((channel (car (split-string args))) 1381 (let ((buffer (rcirc-get-buffer-create process
1382 (buffer (rcirc-get-buffer-create process channel))) 1382 (car (split-string channel)))))
1383 (when (not (eq (selected-window) (minibuffer-window))) 1383 (when (not (eq (selected-window) (minibuffer-window)))
1384 (funcall rcirc-switch-to-buffer-function buffer)) 1384 (funcall rcirc-switch-to-buffer-function buffer))
1385 (rcirc-send-string process (concat "JOIN " args)))) 1385 (rcirc-send-string process (concat "JOIN " channel))))
1386 1386
1387(defun-rcirc-command part (channel) 1387(defun-rcirc-command part (channel)
1388 "Part CHANNEL." 1388 "Part CHANNEL."
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el
index db8d2c94c46..6c9463fe11e 100644
--- a/lisp/textmodes/table.el
+++ b/lisp/textmodes/table.el
@@ -4076,7 +4076,7 @@ fit in the cell width the word is folded into the next line. The
4076folded location is marked by a continuation character which is 4076folded location is marked by a continuation character which is
4077specified in the variable `table-word-continuation-char'. 4077specified in the variable `table-word-continuation-char'.
4078") 4078")
4079 (help-print-return-message)))) 4079 (print-help-return-message))))
4080 4080
4081(defun *table--cell-describe-bindings () 4081(defun *table--cell-describe-bindings ()
4082 "Table cell version of `describe-bindings'." 4082 "Table cell version of `describe-bindings'."
@@ -4094,7 +4094,7 @@ key binding
4094 (key-description (car binding)) 4094 (key-description (car binding))
4095 (cdr binding)))) 4095 (cdr binding))))
4096 table-cell-bindings) 4096 table-cell-bindings)
4097 (help-print-return-message)))) 4097 (print-help-return-message))))
4098 4098
4099(defun *table--cell-dabbrev-expand (arg) 4099(defun *table--cell-dabbrev-expand (arg)
4100 "Table cell version of `dabbrev-expand'." 4100 "Table cell version of `dabbrev-expand'."
diff --git a/lispref/frames.texi b/lispref/frames.texi
index 4b967d8989c..8212e9325f9 100644
--- a/lispref/frames.texi
+++ b/lispref/frames.texi
@@ -64,6 +64,7 @@ The frame is displayed on an MS-DOS terminal.
64* Dialog Boxes:: Displaying a box to ask yes or no. 64* Dialog Boxes:: Displaying a box to ask yes or no.
65* Pointer Shapes:: Specifying the shape of the mouse pointer. 65* Pointer Shapes:: Specifying the shape of the mouse pointer.
66* Window System Selections:: Transferring text to and from other X clients. 66* Window System Selections:: Transferring text to and from other X clients.
67* Drag and Drop:: Internals of Drag-and-Drop implementation.
67* Color Names:: Getting the definitions of color names. 68* Color Names:: Getting the definitions of color names.
68* Text Terminal Colors:: Defining colors for text-only terminals. 69* Text Terminal Colors:: Defining colors for text-only terminals.
69* Resources:: Getting resource values from the server. 70* Resources:: Getting resource values from the server.
@@ -469,7 +470,7 @@ frame, or control their sizes.
469The width in pixels of the frame's border. 470The width in pixels of the frame's border.
470 471
471@item internal-border-width 472@item internal-border-width
472The distance in pixels between text and the frame's border. 473The distance in pixels between text (or fringe) and the frame's border.
473 474
474@item vertical-scroll-bars 475@item vertical-scroll-bars
475Whether the frame has scroll bars for vertical scrolling, and which side 476Whether the frame has scroll bars for vertical scrolling, and which side
@@ -1685,6 +1686,35 @@ access the clipboard at all. The default is @code{nil} on most systems,
1685but @code{t} on MS-Windows. 1686but @code{t} on MS-Windows.
1686@end defopt 1687@end defopt
1687 1688
1689@node Drag and Drop
1690@section Drag and Drop
1691
1692@vindex x-dnd-test-function
1693@vindex x-dnd-known-types
1694 When a user drags something from another application over Emacs, that other
1695application expects Emacs to tell it if Emacs can handle the data that is
1696dragged. The variable @code{x-dnd-test-function} is used by Emacs to determine
1697what to reply. The default value is @code{x-dnd-default-test-function}
1698which accepts drops if the type of the data to be dropped is present in
1699@code{x-dnd-known-types}. You can customize @code{x-dnd-test-function} and/or
1700@code{x-dnd-known-types} if you want Emacs to accept or reject drops based
1701on some other criteria.
1702
1703@vindex x-dnd-types-alist
1704 If you want to change the way Emacs handles drop of different types
1705or add a new type, customize @code{x-dnd-types-alist}. This requires
1706detailed knowledge of what types other applications use for drag and
1707drop.
1708
1709@vindex dnd-protocol-alist
1710 When an URL is dropped on Emacs it may be a file, but it may also be
1711another URL type (ftp, http, etc.). Emacs first checks
1712@code{dnd-protocol-alist} to determine what to do with the URL. If
1713there is no match there and if @code{browse-url-browser-function} is
1714an alist, Emacs looks for a match there. If no match is found the
1715text for the URL is inserted. If you want to alter Emacs behavior,
1716you can customize these variables.
1717
1688@node Color Names 1718@node Color Names
1689@section Color Names 1719@section Color Names
1690 1720
diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi
index f30fb5c9659..5a732af4ebb 100644
--- a/lispref/keymaps.texi
+++ b/lispref/keymaps.texi
@@ -22,10 +22,13 @@ found. The whole process is called @dfn{key lookup}.
22* Inheritance and Keymaps:: How one keymap can inherit the bindings 22* Inheritance and Keymaps:: How one keymap can inherit the bindings
23 of another keymap. 23 of another keymap.
24* Prefix Keys:: Defining a key with a keymap as its definition. 24* Prefix Keys:: Defining a key with a keymap as its definition.
25* Active Keymaps:: Each buffer has a local keymap 25* Active Keymaps:: How Emacs searches the active keymaps
26 for a key binding.
27* Searching Keymaps:: A pseudo-Lisp summary of searching active maps.
28* Controlling Active Maps:: Each buffer has a local keymap
26 to override the standard (global) bindings. 29 to override the standard (global) bindings.
27 A minor mode can also override them. 30 A minor mode can also override them.
28* Key Lookup:: How extracting elements from keymaps works. 31* Key Lookup:: Finding a key's binding in one keymap.
29* Functions for Key Lookup:: How to request key lookup. 32* Functions for Key Lookup:: How to request key lookup.
30* Changing Key Bindings:: Redefining a key in a keymap. 33* Changing Key Bindings:: Redefining a key in a keymap.
31* Remapping Commands:: Bindings that translate one command to another. 34* Remapping Commands:: Bindings that translate one command to another.
@@ -537,17 +540,38 @@ string for the keymap. The prompt string should be given for menu keymaps
537@cindex local keymap 540@cindex local keymap
538 541
539 Emacs normally contains many keymaps; at any given time, just a few 542 Emacs normally contains many keymaps; at any given time, just a few
540of them are @dfn{active} in that they participate in the 543of them are @dfn{active}, meaning that they participate in the
541interpretation of user input. All the active keymaps are used 544interpretation of user input. All the active keymaps are used
542together to determine what command to execute when a key is entered. 545together to determine what command to execute when a key is entered.
543Emacs searches these keymaps one by one, in a standard order, until it 546Emacs searches these keymaps one by one, in a standard order, until it
544finds a binding in one of the keymaps. (Searching a single keymap for a 547finds a binding in one of the keymaps.
545binding is called @dfn{key lookup}; see @ref{Key Lookup}.)
546 548
547 Normally the active keymaps are the @code{keymap} property keymap, 549 Normally the active keymaps are the @code{keymap} property keymap,
548the keymaps of any enabled minor modes, the current buffer's local 550the keymaps of any enabled minor modes, the current buffer's local
549keymap, and the global keymap, in that order. Therefore, Emacs 551keymap, and the global keymap, in that order. Therefore, Emacs
550searches for each input key sequence in all these keymaps. 552searches for each input key sequence in all these keymaps. Here is a
553pseudo-Lisp description of how this process works:
554
555@lisp
556(or (if overriding-terminal-local-map
557 (@var{find-in} overriding-terminal-local-map)
558 (if overriding-local-map
559 (@var{find-in} overriding-local-map)
560 (or (@var{find-in} (get-text-property (point) 'keymap))
561 (@var{find-in-any} emulation-mode-map-alists)
562 (@var{find-in-any} minor-mode-overriding-map-alist)
563 (@var{find-in-any} minor-mode-map-alist)
564 (if (get-text-property (point) 'local-map))
565 (@var{find-in} (get-text-property (point) 'local-map))
566 (@var{find-in} (current-local-map))))))
567 (@var{find-in} (current-global-map)))
568@end lisp
569
570@noindent
571Here, the pseudo-function @var{find-in} means to look up the key
572sequence in a single map, and @var{find-in-any} means to search the
573appropriate keymaps from an alist. (Searching a single keymap for a
574binding is called @dfn{key lookup}; see @ref{Key Lookup}.)
551 575
552 The @dfn{global keymap} holds the bindings of keys that are defined 576 The @dfn{global keymap} holds the bindings of keys that are defined
553regardless of the current buffer, such as @kbd{C-f}. The variable 577regardless of the current buffer, such as @kbd{C-f}. The variable
@@ -597,10 +621,92 @@ events within @code{read-key-sequence}. @xref{Translating Input}.
597 621
598 @xref{Standard Keymaps}, for a list of standard keymaps. 622 @xref{Standard Keymaps}, for a list of standard keymaps.
599 623
624@defun current-active-maps &optional olp
625This returns the list of active keymaps that would be used by the
626command loop in the current circumstances to look up a key sequence.
627Normally it ignores @code{overriding-local-map} and
628@code{overriding-terminal-local-map}, but if @var{olp} is
629non-@code{nil} then it pays attention to them.
630@end defun
631
632@defun key-binding key &optional accept-defaults no-remap
633This function returns the binding for @var{key} according to the
634current active keymaps. The result is @code{nil} if @var{key} is
635undefined in the keymaps.
636
637@c Emacs 19 feature
638The argument @var{accept-defaults} controls checking for default
639bindings, as in @code{lookup-key} (above).
640
641When commands are remapped (@pxref{Remapping Commands}),
642@code{key-binding} normally processes command remappings so as to
643returns the remapped command that will actually be executed. However,
644if @var{no-remap} is non-@code{nil}, @code{key-binding} ignores
645remappings and returns the binding directly specified for @var{key}.
646
647An error is signaled if @var{key} is not a string or a vector.
648
649@example
650@group
651(key-binding "\C-x\C-f")
652 @result{} find-file
653@end group
654@end example
655@end defun
656
657@node Searching Keymaps
658@section Searching the Active Keymaps
659
660 After translation of the input events (@pxref{Translating Input})
661Emacs looks for them in the active keymaps. Here is a pseudo-Lisp
662description of the order in which the active keymaps are searched:
663
664@lisp
665(or (if overriding-terminal-local-map
666 (@var{find-in} overriding-terminal-local-map)
667 (if overriding-local-map
668 (@var{find-in} overriding-local-map)
669 (or (@var{find-in} (get-text-property (point) 'keymap))
670 (@var{find-in-any} emulation-mode-map-alists)
671 (@var{find-in-any} minor-mode-overriding-map-alist)
672 (@var{find-in-any} minor-mode-map-alist)
673 (@var{find-in} (get-text-property (point) 'local-map))
674 (@var{find-in} (current-local-map)))))
675 (@var{find-in} (current-global-map)))
676@end lisp
677
678@noindent
679The @var{find-in} and @var{find-in-any} are pseudo functions that
680searches in one keymap respectively an alist of keymaps.
681
682@enumerate
683@item
684The function finally found may be remapped
685(@pxref{Remapping Commands}).
686
687@item
688Characters that are bound to @code{self-insert-command} are translated
689according to @code{translation-table-for-input} before insertion.
690
691@item
692@code{current-active-maps} returns a list of the
693currently active keymaps at point.
694
695@item
696When a match is found (@pxref{Key Lookup}), if the binding in the
697keymap is a function, the search is over. However if the keymap entry
698is a symbol with a value or a string, Emacs replaces the input key
699sequences with the variable's value or the string, and restarts the
700search of the active keymaps.
701@end enumerate
702
703@node Controlling Active Maps
704@section Controlling the Active Keymaps
705
600@defvar global-map 706@defvar global-map
601This variable contains the default global keymap that maps Emacs 707This variable contains the default global keymap that maps Emacs
602keyboard input to commands. The global keymap is normally this keymap. 708keyboard input to commands. The global keymap is normally this
603The default global keymap is a full keymap that binds 709keymap. The default global keymap is a full keymap that binds
604@code{self-insert-command} to all of the printing characters. 710@code{self-insert-command} to all of the printing characters.
605 711
606It is normal practice to change the bindings in the global keymap, but you 712It is normal practice to change the bindings in the global keymap, but you
@@ -763,14 +869,14 @@ are used before @code{minor-mode-map-alist} and
763@cindex keymap entry 869@cindex keymap entry
764 870
765 @dfn{Key lookup} is the process of finding the binding of a key 871 @dfn{Key lookup} is the process of finding the binding of a key
766sequence from a given keymap. Actual execution of the binding is not 872sequence from a given keymap. The execution or use of the binding is
767part of key lookup. 873not part of key lookup.
768 874
769 Key lookup uses just the event type of each event in the key sequence; 875 Key lookup uses just the event type of each event in the key sequence;
770the rest of the event is ignored. In fact, a key sequence used for key 876the rest of the event is ignored. In fact, a key sequence used for key
771lookup may designate a mouse event with just its types (a symbol) 877lookup may designate a mouse event with just its types (a symbol)
772instead of the entire event (a list). @xref{Input Events}. Such 878instead of the entire event (a list). @xref{Input Events}. Such
773a ``key-sequence'' is insufficient for @code{command-execute} to run, 879a ``key sequence'' is insufficient for @code{command-execute} to run,
774but it is sufficient for looking up or rebinding a key. 880but it is sufficient for looking up or rebinding a key.
775 881
776 When the key sequence consists of multiple events, key lookup 882 When the key sequence consists of multiple events, key lookup
@@ -965,39 +1071,6 @@ Used in keymaps to undefine keys. It calls @code{ding}, but does
965not cause an error. 1071not cause an error.
966@end deffn 1072@end deffn
967 1073
968@defun key-binding key &optional accept-defaults no-remap
969This function returns the binding for @var{key} in the current
970keymaps, trying all the active keymaps. The result is @code{nil} if
971@var{key} is undefined in the keymaps.
972
973@c Emacs 19 feature
974The argument @var{accept-defaults} controls checking for default
975bindings, as in @code{lookup-key} (above).
976
977When commands are remapped (@pxref{Remapping Commands}),
978@code{key-binding} normally processes command remappings so as to
979returns the remapped command that will actually be executed. However,
980if @var{no-remap} is non-@code{nil}, @code{key-binding} ignores
981remappings and returns the binding directly specified for @var{key}.
982
983An error is signaled if @var{key} is not a string or a vector.
984
985@example
986@group
987(key-binding "\C-x\C-f")
988 @result{} find-file
989@end group
990@end example
991@end defun
992
993@defun current-active-maps &optional olp
994This returns the list of keymaps that would be used by the command
995loop in the current circumstances to look up a key sequence. Normally
996it ignores @code{overriding-local-map} and
997@code{overriding-terminal-local-map}, but if @var{olp} is
998non-@code{nil} then it pays attention to them.
999@end defun
1000
1001@defun local-key-binding key &optional accept-defaults 1074@defun local-key-binding key &optional accept-defaults
1002This function returns the binding for @var{key} in the current 1075This function returns the binding for @var{key} in the current
1003local keymap, or @code{nil} if it is undefined there. 1076local keymap, or @code{nil} if it is undefined there.
@@ -1036,11 +1109,11 @@ bindings, as in @code{lookup-key} (above).
1036 1109
1037@defvar meta-prefix-char 1110@defvar meta-prefix-char
1038@cindex @key{ESC} 1111@cindex @key{ESC}
1039This variable is the meta-prefix character code. It is used when 1112This variable is the meta-prefix character code. It is used for
1040translating a meta character to a two-character sequence so it can be 1113translating a meta character to a two-character sequence so it can be
1041looked up in a keymap. For useful results, the value should be a prefix 1114looked up in a keymap. For useful results, the value should be a
1042event (@pxref{Prefix Keys}). The default value is 27, which is the 1115prefix event (@pxref{Prefix Keys}). The default value is 27, which is
1043@acronym{ASCII} code for @key{ESC}. 1116the @acronym{ASCII} code for @key{ESC}.
1044 1117
1045As long as the value of @code{meta-prefix-char} remains 27, key lookup 1118As long as the value of @code{meta-prefix-char} remains 27, key lookup
1046translates @kbd{M-b} into @kbd{@key{ESC} b}, which is normally defined 1119translates @kbd{M-b} into @kbd{@key{ESC} b}, which is normally defined
diff --git a/lispref/minibuf.texi b/lispref/minibuf.texi
index 6f98785f69f..c0990bae3ee 100644
--- a/lispref/minibuf.texi
+++ b/lispref/minibuf.texi
@@ -583,6 +583,10 @@ themselves to do with minibuffers. We describe them in this chapter
583so as to keep them near the higher-level completion features that do 583so as to keep them near the higher-level completion features that do
584use the minibuffer. 584use the minibuffer.
585 585
586 If you store a completion alist in a variable, you should mark the
587variable as ``risky'' with a non-@code{nil}
588@code{risky-local-variable} property.
589
586@defun try-completion string collection &optional predicate 590@defun try-completion string collection &optional predicate
587This function returns the longest common substring of all possible 591This function returns the longest common substring of all possible
588completions of @var{string} in @var{collection}. The value of 592completions of @var{string} in @var{collection}. The value of
diff --git a/man/ChangeLog b/man/ChangeLog
index aa7877c6a5c..d4923434daf 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,8 @@
12006-02-03 Eli Zaretskii <eliz@gnu.org>
2
3 * custom.texi (Init File, Find Init): Add cross-references to
4 where $HOME is described.
5
12006-02-01 Luc Teirlinck <teirllm@auburn.edu> 62006-02-01 Luc Teirlinck <teirllm@auburn.edu>
2 7
3 * frames.texi (Frame Parameters): Remove @item for S-Mouse-1; it 8 * frames.texi (Frame Parameters): Remove @item for S-Mouse-1; it
diff --git a/man/custom.texi b/man/custom.texi
index 509a63a4de2..d10c8aeca2e 100644
--- a/man/custom.texi
+++ b/man/custom.texi
@@ -2029,8 +2029,9 @@ Reference Manual}.
2029@cindex startup (init file) 2029@cindex startup (init file)
2030 2030
2031 When Emacs is started, it normally loads a Lisp program from the 2031 When Emacs is started, it normally loads a Lisp program from the
2032file @file{.emacs} or @file{.emacs.el} in your home directory. We 2032file @file{.emacs} or @file{.emacs.el} in your home directory
2033call this file your @dfn{init file} because it specifies how to 2033(see @ref{General Variables, HOME} if you don't know where that is).
2034We call this file your @dfn{init file} because it specifies how to
2034initialize Emacs for you. You can use the command line switch 2035initialize Emacs for you. You can use the command line switch
2035@samp{-q} to prevent loading your init file, and @samp{-u} (or 2036@samp{-q} to prevent loading your init file, and @samp{-u} (or
2036@samp{--user}) to specify a different user's init file (@pxref{Initial 2037@samp{--user}) to specify a different user's init file (@pxref{Initial
@@ -2442,11 +2443,12 @@ library. @xref{Hooks}.
2442@node Find Init 2443@node Find Init
2443@subsection How Emacs Finds Your Init File 2444@subsection How Emacs Finds Your Init File
2444 2445
2445 Normally Emacs uses the environment variable @env{HOME} to find 2446 Normally Emacs uses the environment variable @env{HOME}
2446@file{.emacs}; that's what @samp{~} means in a file name. If 2447(@pxref{General Variables, HOME}) to find @file{.emacs}; that's what
2447@file{.emacs} is not found inside @file{~/} (nor @file{.emacs.el}), 2448@samp{~} means in a file name. If @file{.emacs} is not found inside
2448Emacs looks for @file{~/.emacs.d/init.el} (which, like 2449@file{~/} (nor @file{.emacs.el}), Emacs looks for
2449@file{~/.emacs.el}, can be byte-compiled). 2450@file{~/.emacs.d/init.el} (which, like @file{~/.emacs.el}, can be
2451byte-compiled).
2450 2452
2451 However, if you run Emacs from a shell started by @code{su}, Emacs 2453 However, if you run Emacs from a shell started by @code{su}, Emacs
2452tries to find your own @file{.emacs}, not that of the user you are 2454tries to find your own @file{.emacs}, not that of the user you are