summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/bindings.el2
-rw-r--r--lisp/cus-face.el13
-rw-r--r--lisp/cus-start.el5
-rw-r--r--lisp/double.el5
-rw-r--r--lisp/edmacro.el7
-rw-r--r--lisp/emulation/cua-base.el6
-rw-r--r--lisp/faces.el96
-rw-r--r--lisp/files.el2
-rw-r--r--lisp/font-lock.el2
-rw-r--r--lisp/frame.el220
-rw-r--r--lisp/help-fns.el32
-rw-r--r--lisp/international/encoded-kb.el113
-rw-r--r--lisp/international/mule-cmds.el106
-rw-r--r--lisp/international/mule.el37
-rw-r--r--lisp/isearch.el5
-rw-r--r--lisp/ldefs-boot.el1517
-rw-r--r--lisp/loadup.el14
-rw-r--r--lisp/net/newsticker.el2
-rw-r--r--lisp/server.el863
-rw-r--r--lisp/simple.el11
-rw-r--r--lisp/startup.el120
-rw-r--r--lisp/subr.el15
-rw-r--r--lisp/talk.el39
-rw-r--r--lisp/term/AT386.el58
-rw-r--r--lisp/term/apollo.el4
-rw-r--r--lisp/term/internal.el29
-rw-r--r--lisp/term/iris-ansi.el387
-rw-r--r--lisp/term/lk201.el143
-rw-r--r--lisp/term/mac-win.el29
-rw-r--r--lisp/term/news.el2
-rw-r--r--lisp/term/rxvt.el264
-rw-r--r--lisp/term/sun.el2
-rw-r--r--lisp/term/tvi970.el19
-rw-r--r--lisp/term/vt100.el3
-rw-r--r--lisp/term/vt102.el2
-rw-r--r--lisp/term/vt125.el2
-rw-r--r--lisp/term/vt200.el7
-rw-r--r--lisp/term/vt201.el6
-rw-r--r--lisp/term/vt220.el6
-rw-r--r--lisp/term/vt240.el6
-rw-r--r--lisp/term/vt300.el6
-rw-r--r--lisp/term/vt320.el6
-rw-r--r--lisp/term/vt400.el6
-rw-r--r--lisp/term/vt420.el8
-rw-r--r--lisp/term/wyse50.el14
-rw-r--r--lisp/term/x-win.el315
-rw-r--r--lisp/term/xterm.el454
-rw-r--r--lisp/version.el7
-rw-r--r--lisp/x-dnd.el5
-rw-r--r--lisp/xt-mouse.el59
50 files changed, 2977 insertions, 2104 deletions
diff --git a/lisp/bindings.el b/lisp/bindings.el
index a49abdc0a1d..7ebf15e59a2 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -217,7 +217,7 @@ Major modes that edit things other than ordinary files may change this
(make-variable-buffer-local 'mode-line-buffer-identification)
-(defvar mode-line-frame-identification '("-%F ")
+(defvar mode-line-frame-identification '(window-system " " "-%F ")
"Mode-line control to describe the current frame.")
(defvar mode-line-process nil "\
diff --git a/lisp/cus-face.el b/lisp/cus-face.el
index cd052732b65..5dba9f7de5d 100644
--- a/lisp/cus-face.el
+++ b/lisp/cus-face.el
@@ -40,15 +40,18 @@
(when (fboundp 'facep)
(unless (facep face)
;; If the user has already created the face, respect that.
- (let ((value (or (get face 'saved-face) spec)))
+ (let ((value (or (get face 'saved-face) spec))
+ (have-window-system (memq initial-window-system '(x w32))))
;; Create global face.
(make-empty-face face)
;; Create frame-local faces
(dolist (frame (frame-list))
- (face-spec-set face value frame)))
- ;; When making a face after frames already exist
- (if (memq window-system '(x w32))
- (make-face-x-resource-internal face))))
+ (face-spec-set face value frame)
+ (when (memq (window-system frame) '(x w32))
+ (setq have-window-system t)))
+ ;; When making a face after frames already exist
+ (if have-window-system
+ (make-face-x-resource-internal face)))))
;; Don't record SPEC until we see it causes no errors.
(put face 'face-defface-spec spec)
(push (cons 'defface face) current-load-list)
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index d8ca2a77b58..96a8c5a8b27 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -366,10 +366,7 @@ since it could result in memory overflow and make Emacs crash."
((string-match "\\`w32-" (symbol-name symbol))
(eq system-type 'windows-nt))
((string-match "\\`x-.*gtk" (symbol-name symbol))
- (or (boundp 'gtk)
- (and window-system
- (not (eq window-system 'pc))
- (not (eq system-type 'windows-nt)))))
+ (featurep 'gtk))
((string-match "\\`x-" (symbol-name symbol))
(fboundp 'x-create-frame))
((string-match "selection" (symbol-name symbol))
diff --git a/lisp/double.el b/lisp/double.el
index fb4947fbd88..d112fbed3cd 100644
--- a/lisp/double.el
+++ b/lisp/double.el
@@ -145,11 +145,12 @@ but not `C-u X' or `ESC X' since the X is not the prefix key."
(if enable-flag
(progn
;; Set up key-translation-map as indicated by `double-map'.
+ ;; XXX I don't think key-translation-map should be made local here. -- Lorentey
(kill-local-variable 'key-translation-map)
(make-local-variable 'key-translation-map)
(setq key-translation-map (if (keymapp key-translation-map)
- (copy-keymap key-translation-map)
- (make-sparse-keymap)))
+ (copy-keymap key-translation-map)
+ (make-sparse-keymap)))
(mapcar (function (lambda (entry)
(define-key key-translation-map
(vector (nth 0 entry))
diff --git a/lisp/edmacro.el b/lisp/edmacro.el
index 05df7f6ac39..ff5e2f7e0b2 100644
--- a/lisp/edmacro.el
+++ b/lisp/edmacro.el
@@ -444,7 +444,8 @@ doubt, use whitespace."
(rest-mac (vconcat macro [end-macro]))
(res "")
(len 0)
- (one-line (eq verbose 1)))
+ (one-line (eq verbose 1))
+ (fkm (terminal-local-value 'local-function-key-map nil)))
(if one-line (setq verbose nil))
(when (stringp macro)
(loop for i below (length macro) do
@@ -489,9 +490,9 @@ doubt, use whitespace."
(fkey nil) tlen tkey
(bind (or (loop for map in maps for b = (lookup-key map key)
thereis (and (not (integerp b)) b))
- (and (setq fkey (lookup-key function-key-map rest-mac))
+ (and (setq fkey (lookup-key fkm rest-mac))
(setq tlen fkey tkey (edmacro-subseq rest-mac 0 tlen)
- fkey (lookup-key function-key-map tkey))
+ fkey (lookup-key fkm tkey))
(loop for map in maps
for b = (lookup-key map fkey)
when (and (not (integerp b)) b)
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index 0e60e60b4c4..1b937da5018 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -1089,9 +1089,9 @@ If ARG is the atom `-', scroll upward by nearly full screen."
(memq 'shift (event-modifiers
(aref (this-single-command-keys) 0)))
;; See if raw escape sequence maps to a shifted event, e.g. S-up or C-S-home.
- (and (boundp 'function-key-map)
- function-key-map
- (let ((ev (lookup-key function-key-map
+ (and (boundp 'local-function-key-map)
+ (terminal-local-value 'function-key-map nil)
+ (let ((ev (lookup-key (terminal-local-value 'function-key-map nil)
(this-single-command-raw-keys))))
(and (vector ev)
(symbolp (setq ev (aref ev 0)))
diff --git a/lisp/faces.el b/lisp/faces.el
index 3cadfb41b85..10ffc38395f 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -926,7 +926,7 @@ an integer value."
(let ((valid
(case attribute
(:family
- (if window-system
+ (if (window-system frame)
(mapcar #'(lambda (x) (cons (car x) (car x)))
(x-font-family-list))
;; Only one font on TTYs.
@@ -935,7 +935,7 @@ an integer value."
(mapcar #'(lambda (x) (cons (symbol-name x) x))
(internal-lisp-face-attribute-values attribute)))
((:underline :overline :strike-through :box)
- (if window-system
+ (if (window-system frame)
(nconc (mapcar #'(lambda (x) (cons (symbol-name x) x))
(internal-lisp-face-attribute-values attribute))
(mapcar #'(lambda (c) (cons c c))
@@ -948,7 +948,7 @@ an integer value."
((:height)
'integerp)
(:stipple
- (and (memq window-system '(x w32 mac))
+ (and (memq (window-system frame) '(x w32 mac))
(mapcar #'list
(apply #'nconc
(mapcar (lambda (dir)
@@ -1066,7 +1066,7 @@ of a global face. Value is the new attribute value."
;; explicitly in VALID, using color approximation code
;; in tty-colors.el.
(when (and (memq attribute '(:foreground :background))
- (not (memq window-system '(x w32 mac)))
+ (not (memq (window-system frame) '(x w32 mac)))
(not (member new-value
'("unspecified"
"unspecified-fg" "unspecified-bg"))))
@@ -1360,14 +1360,14 @@ If FRAME is nil, the current FRAME is used."
req (car conjunct)
options (cdr conjunct)
match (cond ((eq req 'type)
- (or (memq window-system options)
+ (or (memq (window-system frame) options)
;; FIXME: This should be revisited to use
;; display-graphic-p, provided that the
;; color selection depends on the number
;; of supported colors, and all defface's
;; are changed to look at number of colors
;; instead of (type graphic) etc.
- (and (null window-system)
+ (and (null (window-system frame))
(memq 'tty options))
(and (memq 'motif options)
(featurep 'motif))
@@ -1580,35 +1580,38 @@ this won't have the expected effect."
(choice-item light)
(choice-item :tag "default" nil)))
-(defvar default-frame-background-mode nil
- "Internal variable for the default brightness of the background.
-Emacs sets it automatically depending on the terminal type.
-The value `nil' means `dark'. If Emacs runs in non-windowed
-mode from `xterm' or a similar terminal emulator, the value is
-`light'. On rxvt terminals, the value depends on the environment
-variable COLORFGBG.")
(defun frame-set-background-mode (frame)
"Set up display-dependent faces on FRAME.
Display-dependent faces are those which have different definitions
according to the `background-mode' and `display-type' frame parameters."
(let* ((bg-resource
- (and window-system
+ (and (window-system frame)
(x-get-resource "backgroundMode" "BackgroundMode")))
(bg-color (frame-parameter frame 'background-color))
+ (tty-type (frame-parameter frame 'tty-type))
(bg-mode
(cond (frame-background-mode)
(bg-resource
(intern (downcase bg-resource)))
- ((and (null window-system) (null bg-color))
- ;; No way to determine this automatically (?).
- (or default-frame-background-mode 'dark))
- ;; Unspecified frame background color can only happen
- ;; on tty's.
- ((member bg-color '(unspecified "unspecified-bg"))
- (or default-frame-background-mode 'dark))
+ ((and (null (window-system frame))
+ ;; Unspecified frame background color can only
+ ;; happen on tty's.
+ (member bg-color '(nil unspecified "unspecified-bg")))
+ ;; There is no way to determine the background mode
+ ;; automatically, so we make a guess based on the
+ ;; terminal type.
+ (if (and tty-type
+ (string-match "^\\(xterm\\|rxvt\\|dtterm\\|eterm\\)"
+ tty-type))
+ 'light
+ 'dark))
((equal bg-color "unspecified-fg") ; inverted colors
- (if (eq default-frame-background-mode 'light) 'dark 'light))
+ (if (and tty-type
+ (string-match "^\\(xterm\\|rxvt\\|dtterm\\|eterm\\)"
+ tty-type))
+ 'dark
+ 'light))
((>= (apply '+ (x-color-values bg-color frame))
;; Just looking at the screen, colors whose
;; values add up to .6 of the white total
@@ -1617,7 +1620,7 @@ according to the `background-mode' and `display-type' frame parameters."
'light)
(t 'dark)))
(display-type
- (cond ((null window-system)
+ (cond ((null (window-system frame))
(if (tty-display-color-p frame) 'color 'mono))
((x-display-color-p frame)
'color)
@@ -1714,16 +1717,22 @@ Value is the new frame created."
(setq parameters (x-handle-named-frame-geometry parameters))
(let ((visibility-spec (assq 'visibility parameters))
(frame-list (frame-list))
- (frame (x-create-frame (cons '(visibility . nil) parameters)))
+ (frame (x-create-frame `((visibility . nil) . ,parameters)))
success)
(unwind-protect
(progn
+ (x-setup-function-keys frame)
(x-handle-reverse-video frame parameters)
(frame-set-background-mode frame)
(face-set-after-frame-default frame)
(if (or (null frame-list) (null visibility-spec))
(make-frame-visible frame)
(modify-frame-parameters frame (list visibility-spec)))
+ ;; Arrange for the kill and yank functions to set and check the clipboard.
+ (modify-frame-parameters
+ frame '((interprogram-cut-function . x-select-text)))
+ (modify-frame-parameters
+ frame '((interprogram-paste-function . x-cut-buffer-or-selection-value)))
(setq success t))
(unless success
(delete-frame frame)))
@@ -1752,7 +1761,7 @@ Initialize colors of certain faces from frame parameters."
(when (not (equal face 'default))
(face-spec-set face (face-user-default-spec face) frame)
(internal-merge-in-global-face face frame)
- (when (and (memq window-system '(x w32 mac))
+ (when (and (memq (window-system frame) '(x w32 mac))
(or (not (boundp 'inhibit-default-face-x-resources))
(not (eq face 'default))))
(make-face-x-resource-internal face frame)))
@@ -1803,15 +1812,50 @@ created."
(let ((frame (make-terminal-frame parameters))
success)
(unwind-protect
- (progn
+ (with-selected-frame frame
(tty-handle-reverse-video frame (frame-parameters frame))
(frame-set-background-mode frame)
(face-set-after-frame-default frame)
+
+ ;; Make sure the kill and yank functions do not touch the X clipboard.
+ (modify-frame-parameters frame '((interprogram-cut-function . nil)))
+ (modify-frame-parameters frame '((interprogram-paste-function . nil)))
+
+ (set-locale-environment nil frame)
+ (tty-run-terminal-initialization frame)
(setq success t))
(unless success
(delete-frame frame)))
frame))
+(defun tty-run-terminal-initialization (frame)
+ "Run the special initialization code for the terminal type of FRAME."
+ ;; Load library for our terminal type.
+ ;; User init file can set term-file-prefix to nil to prevent this.
+ (with-selected-frame frame
+ (unless (null term-file-prefix)
+ (let* ((term (frame-parameter frame 'tty-type))
+ (term2 term)
+ hyphend term-init-func)
+ (while (and term
+ (not (load (concat term-file-prefix term) t t)))
+ ;; Strip off last hyphen and what follows, then try again
+ (setq term
+ (if (setq hyphend (string-match "[-_][^-_]+$" term))
+ (substring term 0 hyphend)
+ nil)))
+ ;; The terminal file has been loaded, now find and call the
+ ;; terminal specific initialization function.
+ (while (and term2
+ (not (fboundp
+ (setq term-init-func (intern (concat "terminal-init-" term2))))))
+ ;; Strip off last hyphen and what follows, then try again
+ (setq term2
+ (if (setq hyphend (string-match "[-_][^-_]+$" term2))
+ (substring term2 0 hyphend)
+ nil)))
+ (when (fboundp term-init-func)
+ (funcall term-init-func))))))
;; Called from C function init_display to initialize faces of the
;; dumped terminal frame on startup.
diff --git a/lisp/files.el b/lisp/files.el
index 6356fcb8c2c..33fc39dea1c 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -4881,7 +4881,7 @@ With prefix arg, silently save all file-visiting buffers, then kill."
(define-key ctl-x-map "i" 'insert-file)
(define-key esc-map "~" 'not-modified)
(define-key ctl-x-map "\C-d" 'list-directory)
-(define-key ctl-x-map "\C-c" 'save-buffers-kill-emacs)
+(define-key ctl-x-map "\C-c" 'server-save-buffers-kill-display)
(define-key ctl-x-map "\C-q" 'toggle-read-only)
(define-key ctl-x-4-map "f" 'find-file-other-window)
diff --git a/lisp/font-lock.el b/lisp/font-lock.el
index 99dd61bacb2..75a2ba3c21a 100644
--- a/lisp/font-lock.el
+++ b/lisp/font-lock.el
@@ -2039,7 +2039,7 @@ This function could be MATCHER in a MATCH-ANCHORED `font-lock-keywords' item."
"with-current-buffer" "with-electric-help"
"with-local-quit" "with-no-warnings"
"with-output-to-string" "with-output-to-temp-buffer"
- "with-selected-window" "with-syntax-table"
+ "with-selected-window" "with-selected-frame" "with-syntax-table"
"with-temp-buffer" "with-temp-file" "with-temp-message"
"with-timeout" "with-timeout-handler") t)
"\\>")
diff --git a/lisp/frame.el b/lisp/frame.el
index 0a1ffb8a999..68dd7ddaf90 100644
--- a/lisp/frame.el
+++ b/lisp/frame.el
@@ -27,10 +27,28 @@
;;; Code:
-(defvar frame-creation-function nil
- "Window-system dependent function to call to create a new frame.
-The window system startup file should set this to its frame creation
-function, which should take an alist of parameters as its argument.")
+(defvar frame-creation-function-alist
+ (list (cons nil
+ (if (fboundp 'tty-create-frame-with-faces)
+ 'tty-create-frame-with-faces
+ (function
+ (lambda (parameters)
+ (error "Can't create multiple frames without a window system"))))))
+ "Alist of window-system dependent functions to call to create a new frame.
+The window system startup file should add its frame creation
+function to this list, which should take an alist of parameters
+as its argument.")
+
+(defvar window-system-default-frame-alist nil
+ "Alist of window-system dependent default frame parameters.
+These may be set in your init file, like this:
+
+ ;; Disable menubar and toolbar on the console, but enable them under X.
+ (setq window-system-default-frame-alist
+ '((x (menu-bar-lines . 1) (tool-bar-lines . 1))
+ (nil (menu-bar-lines . 0) (tool-bar-lines . 0))))
+
+Also see `default-frame-alist'.")
;; The initial value given here used to ask for a minibuffer.
;; But that's not necessary, because the default is to have one.
@@ -189,7 +207,9 @@ Pass it BUFFER as first arg, and (cdr ARGS) gives the rest of the args."
(defun frame-initialize ()
"Create an initial frame if necessary."
;; Are we actually running under a window system at all?
- (if (and window-system (not noninteractive) (not (eq window-system 'pc)))
+ (if (and initial-window-system
+ (not noninteractive)
+ (not (eq initial-window-system 'pc)))
(progn
;; Turn on special-display processing only if there's a window system.
(setq special-display-function 'special-display-popup-frame)
@@ -206,6 +226,9 @@ Pass it BUFFER as first arg, and (cdr ARGS) gives the rest of the args."
(setq frame-initial-frame-alist
(cons '(horizontal-scroll-bars . t)
frame-initial-frame-alist)))
+ (setq frame-initial-frame-alist
+ (cons (cons 'window-system initial-window-system)
+ frame-initial-frame-alist))
(setq default-minibuffer-frame
(setq frame-initial-frame
(make-frame frame-initial-frame-alist)))
@@ -218,18 +241,7 @@ Pass it BUFFER as first arg, and (cdr ARGS) gives the rest of the args."
;; At this point, we know that we have a frame open, so we
;; can delete the terminal frame.
(delete-frame terminal-frame)
- (setq terminal-frame nil))
-
- ;; No, we're not running a window system. Use make-terminal-frame if
- ;; we support that feature, otherwise arrange to cause errors.
- (or (eq window-system 'pc)
- (setq frame-creation-function
- (if (fboundp 'tty-create-frame-with-faces)
- 'tty-create-frame-with-faces
- (function
- (lambda (parameters)
- (error
- "Can't create multiple frames without a window system"))))))))
+ (setq terminal-frame nil))))
(defvar frame-notice-user-settings t
"Non-nil means function `frame-notice-user-settings' wasn't run yet.")
@@ -239,7 +251,9 @@ Pass it BUFFER as first arg, and (cdr ARGS) gives the rest of the args."
;; information to which we must react; do what needs to be done.
(defun frame-notice-user-settings ()
"Act on user's init file settings of frame parameters.
-React to settings of `default-frame-alist', `initial-frame-alist' there."
+React to settings of `initial-frame-alist',
+`window-system-default-frame-alist' and `default-frame-alist'
+there (in decreasing order of priority)."
;; Make menu-bar-mode and default-frame-alist consistent.
(when (boundp 'menu-bar-mode)
(let ((default (assq 'menu-bar-lines default-frame-alist)))
@@ -267,7 +281,9 @@ React to settings of `default-frame-alist', `initial-frame-alist' there."
;; want to use save-excursion here, because that may also try to set
;; the buffer of the selected window, which fails when the selected
;; window is the minibuffer.
- (let ((old-buffer (current-buffer)))
+ (let ((old-buffer (current-buffer))
+ (window-system-frame-alist (cdr (assq initial-window-system
+ window-system-default-frame-alist))))
(when (and frame-notice-user-settings
(null frame-initial-frame))
@@ -279,8 +295,9 @@ React to settings of `default-frame-alist', `initial-frame-alist' there."
;; Can't modify the minibuffer parameter, so don't try.
(setq parms (delq (assq 'minibuffer parms) parms))
(modify-frame-parameters nil
- (if (null window-system)
+ (if (null initial-window-system)
(append initial-frame-alist
+ window-system-frame-alist
default-frame-alist
parms
nil)
@@ -288,7 +305,7 @@ React to settings of `default-frame-alist', `initial-frame-alist' there."
;; default-frame-alist were already
;; applied in pc-win.el.
parms))
- (if (null window-system) ;; MS-DOS does this differently in pc-win.el
+ (if (null initial-window-system) ;; MS-DOS does this differently in pc-win.el
(let ((newparms (frame-parameters))
(frame (selected-frame)))
(tty-handle-reverse-video frame newparms)
@@ -310,6 +327,7 @@ React to settings of `default-frame-alist', `initial-frame-alist' there."
;; switch `tool-bar-mode' off.
(when (display-graphic-p)
(let ((tool-bar-lines (or (assq 'tool-bar-lines initial-frame-alist)
+ (assq 'tool-bar-lines window-system-frame-alist)
(assq 'tool-bar-lines default-frame-alist))))
(when (and tool-bar-originally-present
(or (null tool-bar-lines)
@@ -370,6 +388,7 @@ React to settings of `default-frame-alist', `initial-frame-alist' there."
;; create here, so that its new value, gleaned from the user's
;; .emacs file, will be applied to the existing screen.
(if (not (eq (cdr (or (assq 'minibuffer initial-frame-alist)
+ (assq 'minibuffer window-system-frame-alist)
(assq 'minibuffer default-frame-alist)
'(minibuffer . t)))
t))
@@ -389,6 +408,7 @@ React to settings of `default-frame-alist', `initial-frame-alist' there."
(setq parms (delq (assq 'name parms) parms)))
(setq parms (append initial-frame-alist
+ window-system-frame-alist
default-frame-alist
parms
nil))
@@ -468,6 +488,7 @@ React to settings of `default-frame-alist', `initial-frame-alist' there."
;; the new parameters.
(let (newparms allparms tail)
(setq allparms (append initial-frame-alist
+ window-system-frame-alist
default-frame-alist nil))
(if (assq 'height frame-initial-geometry-arguments)
(setq allparms (assq-delete-all 'height allparms)))
@@ -567,12 +588,25 @@ is not considered (see `next-frame')."
(select-frame-set-input-focus (selected-frame)))
(defun make-frame-on-display (display &optional parameters)
- "Make a frame on display DISPLAY.
+ "Make a frame on X display DISPLAY.
The optional second argument PARAMETERS specifies additional frame parameters."
(interactive "sMake frame on display: ")
(or (string-match "\\`[^:]*:[0-9]+\\(\\.[0-9]+\\)?\\'" display)
(error "Invalid display, not HOST:SERVER or HOST:SERVER.SCREEN"))
- (make-frame (cons (cons 'display display) parameters)))
+ (when (and (boundp 'x-initialized) (not x-initialized))
+ (setq x-display-name display)
+ (x-initialize-window-system))
+ (make-frame `((window-system . x) (display . ,display) . ,parameters)))
+
+(defun make-frame-on-tty (device type &optional parameters)
+ "Make a frame on terminal DEVICE which is of type TYPE (e.g., \"xterm\").
+The optional third argument PARAMETERS specifies additional frame parameters."
+ (interactive "fOpen frame on tty device: \nsTerminal type of %s: ")
+ (unless device
+ (error "Invalid terminal device"))
+ (unless type
+ (error "Invalid terminal type"))
+ (make-frame `((window-system . nil) (tty . ,device) (tty-type . ,type) . ,parameters)))
(defun make-frame-command ()
"Make a new frame, and select it if the terminal displays only one frame."
@@ -611,7 +645,12 @@ You cannot specify either `width' or `height', you must use neither or both.
(minibuffer . only) The frame should contain only a minibuffer.
(minibuffer . WINDOW) The frame should use WINDOW as its minibuffer window.
-Before the frame is created (via `frame-creation-function'), functions on the
+ (window-system . nil) The frame should be displayed on a terminal device.
+ (window-system . x) The frame should be displayed in an X window.
+
+ (device . ID) The frame should use the display device identified by ID.
+
+Before the frame is created (via `frame-creation-function-alist'), functions on the
hook `before-make-frame-hook' are run. After the frame is created, functions
on `after-make-frame-functions' are run with one arg, the newly created frame.
@@ -621,8 +660,22 @@ window system may select the new frame for its own reasons, for
instance if the frame appears under the mouse pointer and your
setup is for focus to follow the pointer."
(interactive)
- (run-hooks 'before-make-frame-hook)
- (let ((frame (funcall frame-creation-function parameters)))
+ (let* ((w (cond
+ ((assq 'device parameters)
+ (let ((type (display-live-p (cdr (assq 'device parameters)))))
+ (cond
+ ((eq type t) nil)
+ ((eq type nil) (error "Display %s does not exist" (cdr (assq 'device parameters))))
+ (t type))))
+ ((assq 'window-system parameters)
+ (cdr (assq 'window-system parameters)))
+ (t window-system)))
+ (frame-creation-function (cdr (assq w frame-creation-function-alist)))
+ frame)
+ (unless frame-creation-function
+ (error "Don't know how to create a frame on window system %s" w))
+ (run-hooks 'before-make-frame-hook)
+ (setq frame (funcall frame-creation-function (append parameters (cdr (assq w window-system-default-frame-alist)))))
(run-hook-with-args 'after-make-frame-functions frame)
frame))
@@ -644,20 +697,25 @@ setup is for focus to follow the pointer."
(defun frames-on-display-list (&optional display)
"Return a list of all frames on DISPLAY.
-DISPLAY is a name of a display, a string of the form HOST:SERVER.SCREEN.
+
+DISPLAY should be a display identifier (an integer), but it may
+also be a name of a display, a string of the form HOST:SERVER.SCREEN.
+
If DISPLAY is omitted or nil, it defaults to the selected frame's display."
- (let* ((display (or display (frame-parameter nil 'display)))
+ (let* ((display (or display (frame-display)))
(func #'(lambda (frame)
- (equal (frame-parameter frame 'display) display))))
+ (or (eq (frame-display frame) display)
+ (equal (frame-parameter frame 'display) display)))))
(filtered-frame-list func)))
(defun framep-on-display (&optional display)
"Return the type of frames on DISPLAY.
-DISPLAY may be a display name or a frame. If it is a frame, its type is
-returned.
+DISPLAY may be a display id, a display name or a frame. If it is
+a frame, its type is returned.
If DISPLAY is omitted or nil, it defaults to the selected frame's display.
All frames on a given display are of the same type."
- (or (framep display)
+ (or (display-live-p display)
+ (framep display)
(framep (car (frames-on-display-list display)))))
(defun frame-remove-geometry-params (param-list)
@@ -695,9 +753,9 @@ automatically."
(select-frame frame)
(raise-frame frame)
;; Ensure, if possible, that frame gets input focus.
- (cond ((eq window-system 'x)
+ (cond ((eq (window-system frame) 'x)
(x-focus-frame frame))
- ((eq window-system 'w32)
+ ((eq (window-system frame) 'w32)
(w32-focus-frame frame)))
(cond (focus-follows-mouse
(set-mouse-position (selected-frame) (1- (frame-width)) 0))))
@@ -734,6 +792,22 @@ Otherwise, that variable should be nil."
(iconify-frame)
(make-frame-visible)))
+(defun suspend-frame ()
+ "Do whatever is right to suspend the current frame.
+Calls `suspend-emacs' if invoked from the controlling terminal,
+`suspend-tty' from a secondary terminal, and
+`iconify-or-deiconify-frame' from an X frame."
+ (interactive)
+ (let ((type (framep (selected-frame))))
+ (cond
+ ((eq type 'x) (iconify-or-deiconify-frame))
+ ((eq type t)
+ (if (display-controlling-tty-p)
+ (suspend-emacs)
+ (suspend-tty)))
+ (t (suspend-emacs)))))
+
+
(defun make-frame-names-alist ()
(let* ((current-frame (selected-frame))
(falist
@@ -767,9 +841,9 @@ If there is no frame by that name, signal an error."
(raise-frame frame)
(select-frame frame)
;; Ensure, if possible, that frame gets input focus.
- (cond ((eq window-system 'x)
+ (cond ((eq (window-system frame) 'x)
(x-focus-frame frame))
- ((eq window-system 'w32)
+ ((eq (window-system frame) 'w32)
(w32-focus-frame frame)))
(when focus-follows-mouse
(set-mouse-position frame (1- (frame-width frame)) 0))))
@@ -979,6 +1053,10 @@ bars (top, bottom, or nil)."
(cons vert hor)))
;;;; Frame/display capabilities.
+(defun selected-display ()
+ "Return the display that is now selected."
+ (frame-display (selected-frame)))
+
(defun display-mouse-p (&optional display)
"Return non-nil if DISPLAY has a mouse available.
DISPLAY can be a display name, a frame, or nil (meaning the selected
@@ -1130,7 +1208,7 @@ the question is inapplicable to a certain kind of display."
((eq frame-type 'pc)
16)
(t
- (tty-display-color-cells)))))
+ (tty-display-color-cells display)))))
(defun display-visual-class (&optional display)
"Returns the visual class of DISPLAY.
@@ -1263,7 +1341,7 @@ cursor display. On a text-only terminal, this is not implemented."
:init-value (not (or noninteractive
no-blinking-cursor
(eq system-type 'ms-dos)
- (not (memq window-system '(x w32)))))
+ (not (memq initial-window-system '(x w32)))))
:initialize 'custom-initialize-safe-default
:group 'cursor
:global t
@@ -1345,6 +1423,72 @@ Use Custom to set this variable to get the display updated."
(define-key ctl-x-5-map "0" 'delete-frame)
(define-key ctl-x-5-map "o" 'other-frame)
+(substitute-key-definition 'suspend-emacs 'suspend-frame global-map)
+
+
+(defun terminal-id (terminal)
+ "Return the numerical id of terminal TERMINAL.
+
+TERMINAL can be a terminal id, a frame, or nil (meaning the
+selected frame's terminal)."
+ (cond
+ ((integerp terminal)
+ terminal)
+ ((or (null terminal) (framep terminal))
+ (frame-display terminal))
+ (t
+ (error "Invalid argument %s in `terminal-id'" terminal))))
+
+(defvar terminal-parameter-alist nil
+ "An alist of terminal parameter alists.")
+
+(defun terminal-parameters (&optional terminal)
+ "Return the paramater-alist of terminal TERMINAL.
+It is a list of elements of the form (PARM . VALUE), where PARM is a symbol.
+
+TERMINAL can be a terminal id, a frame, or nil (meaning the
+selected frame's terminal)."
+ (cdr (assq (terminal-id terminal) terminal-parameter-alist)))
+
+(defun terminal-parameter (terminal parameter)
+ "Return TERMINAL's value for parameter PARAMETER.
+
+TERMINAL can be a terminal id, a frame, or nil (meaning the
+selected frame's terminal)."
+ (cdr (assq parameter (cdr (assq (terminal-id terminal) terminal-parameter-alist)))))
+
+(defun set-terminal-parameter (terminal parameter value)
+ "Set TERMINAL's value for parameter PARAMETER to VALUE.
+Returns the previous value of PARAMETER.
+
+TERMINAL can be a terminal id, a frame, or nil (meaning the
+selected frame's terminal)."
+ (setq terminal (terminal-id terminal))
+ (let* ((alist (assq terminal terminal-parameter-alist))
+ (pair (assq parameter (cdr alist)))
+ (result (cdr pair)))
+ (cond
+ (pair (setcdr pair value))
+ (alist (setcdr alist (cons (cons parameter value) (cdr alist))))
+ (t (setq terminal-parameter-alist
+ (cons (cons terminal
+ (cons (cons parameter value)
+ nil))
+ terminal-parameter-alist))))
+ result))
+
+(defun terminal-handle-delete-frame (frame)
+ "Clean up terminal parameters of FRAME, if it's the last frame on its terminal."
+ ;; XXX We assume that the display is closed immediately after the
+ ;; last frame is deleted on it. It would be better to create a hook
+ ;; called `delete-display-functions', and use it instead.
+ (when (and (frame-live-p frame)
+ (= 1 (length (frames-on-display-list (frame-display frame)))))
+ (setq terminal-parameter-alist
+ (assq-delete-all (frame-display frame) terminal-parameter-alist))))
+
+(add-hook 'delete-frame-functions 'terminal-handle-delete-frame)
+
(provide 'frame)
;; arch-tag: 82979c70-b8f2-4306-b2ad-ddbd6b328b56
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index b7820b778d2..979ff06a307 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -496,10 +496,11 @@ If ANY-SYMBOL is non-nil, don't insist the symbol be bound."
0))
;;;###autoload
-(defun describe-variable (variable &optional buffer)
+(defun describe-variable (variable &optional buffer frame)
"Display the full documentation of VARIABLE (a symbol).
Returns the documentation as a string, also.
-If VARIABLE has a buffer-local value in BUFFER (default to the current buffer),
+If VARIABLE has a buffer-local value in BUFFER or FRAME
+\(default to the current buffer and current frame),
it is displayed along with the global value."
(interactive
(let ((v (variable-at-point))
@@ -514,14 +515,19 @@ it is displayed along with the global value."
(list (if (equal val "")
v (intern val)))))
(unless (buffer-live-p buffer) (setq buffer (current-buffer)))
+ (unless (frame-live-p frame) (setq frame (selected-frame)))
(if (not (symbolp variable))
(message "You did not specify a variable")
(save-excursion
- (let* ((valvoid (not (with-current-buffer buffer (boundp variable))))
- ;; Extract the value before setting up the output buffer,
- ;; in case `buffer' *is* the output buffer.
- (val (unless valvoid (buffer-local-value variable buffer)))
- val-start-pos)
+ (let ((valvoid (not (with-current-buffer buffer (boundp variable))))
+ val val-start-pos locus)
+ ;; Extract the value before setting up the output buffer,
+ ;; in case `buffer' *is* the output buffer.
+ (unless valvoid
+ (with-selected-frame frame
+ (with-current-buffer buffer
+ (setq val (symbol-value variable)
+ locus (variable-binding-locus variable)))))
(help-setup-xref (list #'describe-variable variable buffer)
(interactive-p))
(with-output-to-temp-buffer (help-buffer)
@@ -581,11 +587,13 @@ it is displayed along with the global value."
(delete-region (1- from) from)))))
(terpri)
- (when (local-variable-p variable)
- (princ (format "%socal in buffer %s; "
- (if (get variable 'permanent-local)
- "Permanently l" "L")
- (buffer-name)))
+ (when locus
+ (if (bufferp locus)
+ (princ (format "%socal in buffer %s; "
+ (if (get variable 'permanent-local)
+ "Permanently l" "L")
+ (buffer-name)))
+ (princ (format "It is a frame-local variable; ")))
(if (not (default-boundp variable))
(princ "globally void")
(let ((val (default-value variable)))
diff --git a/lisp/international/encoded-kb.el b/lisp/international/encoded-kb.el
index 3acb1cfd648..9220970f5bd 100644
--- a/lisp/international/encoded-kb.el
+++ b/lisp/international/encoded-kb.el
@@ -173,7 +173,7 @@ The following key sequence may cause multilingual text insertion."
(setq str (format "%s%c" str (read-char-exclusive))))
(vector (aref result 0))))
-(defun encoded-kbd-setup-keymap (coding)
+(defun encoded-kbd-setup-keymap (keymap coding)
;; At first, reset the keymap.
(define-key encoded-kbd-mode-map "\e" nil)
;; Then setup the keymap according to the keyboard coding system.
@@ -181,7 +181,7 @@ The following key sequence may cause multilingual text insertion."
((eq (coding-system-type coding) 1) ; SJIS
(let ((i 128))
(while (< i 256)
- (define-key key-translation-map
+ (define-key keymap
(vector i) 'encoded-kbd-self-insert-sjis)
(setq i (1+ i))))
8)
@@ -189,7 +189,7 @@ The following key sequence may cause multilingual text insertion."
((eq (coding-system-type coding) 3) ; Big5
(let ((i 161))
(while (< i 255)
- (define-key key-translation-map
+ (define-key keymap
(vector i) 'encoded-kbd-self-insert-big5)
(setq i (1+ i))))
8)
@@ -215,20 +215,20 @@ The following key sequence may cause multilingual text insertion."
(aset encoded-kbd-iso2022-invocations 1 1))
(when use-designation
(define-key encoded-kbd-mode-map "\e" 'encoded-kbd-iso2022-esc-prefix)
- (define-key key-translation-map "\e" 'encoded-kbd-iso2022-esc-prefix))
+ (define-key keymap "\e" 'encoded-kbd-iso2022-esc-prefix))
(when (or (aref flags 2) (aref flags 3))
- (define-key key-translation-map
+ (define-key keymap
[?\216] 'encoded-kbd-iso2022-single-shift)
- (define-key key-translation-map
+ (define-key keymap
[?\217] 'encoded-kbd-iso2022-single-shift))
(or (eq (aref flags 0) 'ascii)
(dotimes (i 96)
- (define-key key-translation-map
+ (define-key keymap
(vector (+ 32 i)) 'encoded-kbd-self-insert-iso2022-7bit)))
(if (aref flags 7)
t
(dotimes (i 96)
- (define-key key-translation-map
+ (define-key keymap
(vector (+ 160 i)) 'encoded-kbd-self-insert-iso2022-8bit))
8))))
@@ -243,7 +243,7 @@ The following key sequence may cause multilingual text insertion."
(setq from (setq to elt)))
(while (<= from to)
(if (>= from 128)
- (define-key key-translation-map
+ (define-key keymap
(vector from) 'encoded-kbd-self-insert-ccl))
(setq from (1+ from))))
8))
@@ -251,59 +251,50 @@ The following key sequence may cause multilingual text insertion."
(t
nil)))
-;; key-translation-map at the time Encoded-kbd mode is turned on is
-;; saved here.
-(defvar saved-key-translation-map nil)
-
-;; Input mode at the time Encoded-kbd mode is turned on is saved here.
-(defvar saved-input-mode nil)
-
-(put 'encoded-kbd-mode 'permanent-local t)
;;;###autoload
-(define-minor-mode encoded-kbd-mode
- "Toggle Encoded-kbd minor mode.
-With arg, turn Encoded-kbd mode on if and only if arg is positive.
-
-You should not turn this mode on manually, instead use the command
-\\[set-keyboard-coding-system] which turns on or off this mode
-automatically.
-
-In Encoded-kbd mode, a text sent from keyboard is accepted
-as a multilingual text encoded in a coding system set by
-\\[set-keyboard-coding-system]."
- :global t :group 'keyboard :group 'mule
-
- (if encoded-kbd-mode
- ;; We are turning on Encoded-kbd mode.
- (let ((coding (keyboard-coding-system))
- result)
- (or saved-key-translation-map
- (if (keymapp key-translation-map)
- (setq saved-key-translation-map
- (copy-keymap key-translation-map))
- (setq key-translation-map (make-sparse-keymap))))
- (or saved-input-mode
- (setq saved-input-mode
- (current-input-mode)))
- (setq result (and coding (encoded-kbd-setup-keymap coding)))
- (if result
- (if (eq result 8)
- (set-input-mode
- (nth 0 saved-input-mode)
- (nth 1 saved-input-mode)
- 'use-8th-bit
- (nth 3 saved-input-mode)))
- (setq encoded-kbd-mode nil
- saved-key-translation-map nil
- saved-input-mode nil)
- (error "Unsupported coding system in Encoded-kbd mode: %S"
- coding)))
-
- ;; We are turning off Encoded-kbd mode.
- (setq key-translation-map saved-key-translation-map
- saved-key-translation-map nil)
- (apply 'set-input-mode saved-input-mode)
- (setq saved-input-mode nil)))
+(defun encoded-kbd-setup-display (display)
+ "Set up a `key-translation-map' for `keyboard-coding-system' on DISPLAY.
+
+DISPLAY may be a display id, a frame, or nil for the selected frame's display."
+ (let ((frame (if (framep display) display (car (frames-on-display-list display)))))
+ (when frame
+ (with-selected-frame frame
+ ;; Remove any previous encoded-kb keymap from key-translation-map.
+ (let ((m (terminal-local-value 'local-key-translation-map frame)))
+ (if (equal (keymap-prompt m) "encoded-kb")
+ (set-terminal-local-value 'local-key-translation-map frame (keymap-parent m))
+ (while (keymap-parent m)
+ (if (equal (keymap-prompt (keymap-parent m)) "encoded-kb")
+ (set-keymap-parent m (keymap-parent (keymap-parent m))))
+ (setq m (keymap-parent m)))))
+
+ (if (keyboard-coding-system)
+ ;; We are turning on Encoded-kbd mode.
+ (let ((coding (keyboard-coding-system))
+ (keymap (make-sparse-keymap "encoded-kb"))
+ (cim (current-input-mode))
+ result)
+ (set-keymap-parent keymap (terminal-local-value 'local-key-translation-map frame))
+ (set-terminal-local-value 'local-key-translation-map frame keymap)
+ (unless (terminal-parameter nil 'encoded-kbd-saved-input-mode)
+ (set-terminal-parameter nil 'encoded-kbd-saved-input-mode cim))
+ (setq result (and coding (encoded-kbd-setup-keymap keymap coding)))
+ (if result
+ (when (and (eq result 8)
+ (memq (nth 2 cim) '(t nil)))
+ (set-input-mode
+ (nth 0 cim)
+ (nth 1 cim)
+ 'use-8th-bit
+ (nth 3 cim)))
+ (set-terminal-local-value nil 'encoded-kbd-saved-input-mode nil)
+ (error "Unsupported coding system in Encoded-kbd mode: %S"
+ coding)))
+ ;; We are turning off Encoded-kbd mode.
+ (unless (equal (current-input-mode)
+ (terminal-parameter nil 'encoded-kbd-saved-input-mode))
+ (apply 'set-input-mode (terminal-parameter nil 'encoded-kbd-saved-input-mode)))
+ (set-terminal-parameter nil 'saved-input-mode nil))))))
(provide 'encoded-kb)
diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el
index c79349f3e57..336ec40325d 100644
--- a/lisp/international/mule-cmds.el
+++ b/lisp/international/mule-cmds.el
@@ -148,7 +148,7 @@
t)
(define-key-after set-coding-system-map [set-terminal-coding-system]
'(menu-item "For Terminal" set-terminal-coding-system
- :enable (null (memq window-system '(x w32 mac)))
+ :enable (null (memq initial-window-system '(x w32 mac)))
:help "How to encode terminal output")
t)
(define-key-after set-coding-system-map [separator-3]
@@ -1786,7 +1786,7 @@ The default status is as follows:
(reset-language-environment)
-(defun set-display-table-and-terminal-coding-system (language-name &optional coding-system)
+(defun set-display-table-and-terminal-coding-system (language-name &optional coding-system display)
"Set up the display table and terminal coding system for LANGUAGE-NAME."
(let ((coding (get-language-info language-name 'unibyte-display)))
(if coding
@@ -1800,7 +1800,7 @@ The default status is as follows:
(dotimes (i 128)
(aset standard-display-table (+ i 128) nil))))
(or (eq window-system 'pc)
- (set-terminal-coding-system (or coding-system coding)))))
+ (set-terminal-coding-system (or coding-system coding) display))))
(defun set-language-environment (language-name)
"Set up multi-lingual environment for using LANGUAGE-NAME.
@@ -2394,7 +2394,7 @@ is returned. Thus, for instance, if charset \"ISO8859-2\",
;; too, for setting things such as calendar holidays, ps-print paper
;; size, spelling dictionary.
-(defun set-locale-environment (&optional locale-name)
+(defun set-locale-environment (&optional locale-name display)
"Set up multi-lingual environment for using LOCALE-NAME.
This sets the language environment, the coding system priority,
the default input method and sometimes other things.
@@ -2415,6 +2415,11 @@ directory named `/usr/share/locale' or `/usr/lib/locale'. LOCALE-NAME
will be translated according to the table specified by
`locale-translation-file-name'.
+If DISPLAY is non-nil, only set the keyboard coding system and
+the terminal coding system for the given display, and don't touch
+session-global parameters like the language environment. DISPLAY
+may be a display id or a frame.
+
See also `locale-charset-language-names', `locale-language-names',
`locale-preferred-coding-systems' and `locale-coding-system'."
(interactive "sSet environment for locale: ")
@@ -2443,7 +2448,7 @@ See also `locale-charset-language-names', `locale-language-names',
(let ((vars '("LC_ALL" "LC_CTYPE" "LANG")))
(while (and vars
(= 0 (length locale))) ; nil or empty string
- (setq locale (getenv (pop vars))))))
+ (setq locale (server-getenv (pop vars))))))
(unless locale
;; The two tests are kept separate so the byte-compiler sees
@@ -2506,28 +2511,34 @@ See also `locale-charset-language-names', `locale-language-names',
;; Set up for this character set. This is now the right way
;; to do it for both unibyte and multibyte modes.
- (set-language-environment language-name)
+ (unless display
+ (set-language-environment language-name))
;; If default-enable-multibyte-characters is nil,
;; we are using single-byte characters,
;; so the display table and terminal coding system are irrelevant.
(when default-enable-multibyte-characters
(set-display-table-and-terminal-coding-system
- language-name coding-system))
+ language-name coding-system display))
;; Set the `keyboard-coding-system' if appropriate (tty
;; only). At least X and MS Windows can generate
;; multilingual input.
- (unless window-system
- (let ((kcs (or coding-system
- (car (get-language-info language-name
- 'coding-system)))))
- (if kcs (set-keyboard-coding-system kcs))))
-
- (setq locale-coding-system
- (car (get-language-info language-name 'coding-priority))))
-
- (when (and coding-system
+ ;; XXX This was disabled unless `window-system', but that
+ ;; leads to buggy behaviour when a tty frame is opened
+ ;; later. Setting the keyboard coding system has no adverse
+ ;; effect on X, so let's do it anyway. -- Lorentey
+ (let ((kcs (or coding-system
+ (car (get-language-info language-name
+ 'coding-system)))))
+ (if kcs (set-keyboard-coding-system kcs display)))
+
+ (unless display
+ (setq locale-coding-system
+ (car (get-language-info language-name 'coding-priority)))))
+
+ (when (and (not display)
+ coding-system
(not (coding-system-equal coding-system
locale-coding-system)))
(prefer-coding-system coding-system)
@@ -2539,9 +2550,9 @@ See also `locale-charset-language-names', `locale-language-names',
(when (boundp 'w32-ansi-code-page)
(let ((code-page-coding (intern (format "cp%d" w32-ansi-code-page))))
(when (coding-system-p code-page-coding)
- (setq locale-coding-system code-page-coding)
- (set-keyboard-coding-system code-page-coding)
- (set-terminal-coding-system code-page-coding))))
+ (unless display (setq locale-coding-system code-page-coding))
+ (set-keyboard-coding-system code-page-coding display)
+ (set-terminal-coding-system code-page-coding display))))
(when (eq system-type 'darwin)
;; On Darwin, file names are always encoded in utf-8, no matter
@@ -2550,38 +2561,39 @@ See also `locale-charset-language-names', `locale-language-names',
;; Mac OS X's Terminal.app by default uses utf-8 regardless of
;; the locale.
(when (and (null window-system)
- (equal (getenv "TERM_PROGRAM") "Apple_Terminal"))
+ (equal (server-getenv "TERM_PROGRAM") "Apple_Terminal"))
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)))
;; Default to A4 paper if we're not in a C, POSIX or US locale.
;; (See comments in Flocale_info.)
- (let ((locale locale)
- (paper (locale-info 'paper)))
- (if paper
- ;; This will always be null at the time of writing.
- (cond
- ((equal paper '(216 279))
- (setq ps-paper-type 'letter))
- ((equal paper '(210 297))
- (setq ps-paper-type 'a4)))
- (let ((vars '("LC_ALL" "LC_PAPER" "LANG")))
- (while (and vars (= 0 (length locale)))
- (setq locale (getenv (pop vars)))))
- (when locale
- ;; As of glibc 2.2.5, these are the only US Letter locales,
- ;; and the rest are A4.
- (setq ps-paper-type
- (or (locale-name-match locale '(("c$" . letter)
- ("posix$" . letter)
- (".._us" . letter)
- (".._pr" . letter)
- (".._ca" . letter)
- ("enu$" . letter) ; Windows
- ("esu$" . letter)
- ("enc$" . letter)
- ("frc$" . letter)))
- 'a4))))))
+ (unless display
+ (let ((locale locale)
+ (paper (locale-info 'paper)))
+ (if paper
+ ;; This will always be null at the time of writing.
+ (cond
+ ((equal paper '(216 279))
+ (setq ps-paper-type 'letter))
+ ((equal paper '(210 297))
+ (setq ps-paper-type 'a4)))
+ (let ((vars '("LC_ALL" "LC_PAPER" "LANG")))
+ (while (and vars (= 0 (length locale)))
+ (setq locale (server-getenv (pop vars)))))
+ (when locale
+ ;; As of glibc 2.2.5, these are the only US Letter locales,
+ ;; and the rest are A4.
+ (setq ps-paper-type
+ (or (locale-name-match locale '(("c$" . letter)
+ ("posix$" . letter)
+ (".._us" . letter)
+ (".._pr" . letter)
+ (".._ca" . letter)
+ ("enu$" . letter) ; Windows
+ ("esu$" . letter)
+ ("enc$" . letter)
+ ("frc$" . letter)))
+ 'a4)))))))
nil)
;;; Charset property
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 80c4fd590fe..aea8e094714 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -1207,13 +1207,17 @@ see) to CODING-SYSTEM."
This is normally set according to the selected language environment.
See also the command `set-terminal-coding-system'.")
-(defun set-terminal-coding-system (coding-system)
- "Set coding system of your terminal to CODING-SYSTEM.
-All text output to the terminal will be encoded
+(defun set-terminal-coding-system (coding-system &optional display)
+ "Set coding system of terminal output to CODING-SYSTEM.
+All text output to DISPLAY will be encoded
with the specified coding system.
+
For a list of possible values of CODING-SYSTEM, use \\[list-coding-systems].
The default is determined by the selected language environment
-or by the previous use of this command."
+or by the previous use of this command.
+
+DISPLAY may be a display id, a frame, or nil for the selected frame's display.
+The setting has no effect on graphical displays."
(interactive
(list (let ((default (if (and (not (terminal-coding-system))
default-terminal-coding-system)
@@ -1227,7 +1231,7 @@ or by the previous use of this command."
(setq coding-system default-terminal-coding-system))
(if coding-system
(setq default-terminal-coding-system coding-system))
- (set-terminal-coding-system-internal coding-system)
+ (set-terminal-coding-system-internal coding-system display)
(redraw-frame (selected-frame)))
(defvar default-keyboard-coding-system nil
@@ -1235,14 +1239,17 @@ or by the previous use of this command."
This is normally set according to the selected language environment.
See also the command `set-keyboard-coding-system'.")
-(defun set-keyboard-coding-system (coding-system)
- "Set coding system for keyboard input to CODING-SYSTEM.
-In addition, this command enables Encoded-kbd minor mode.
-\(If CODING-SYSTEM is nil, Encoded-kbd mode is turned off -- see
-`encoded-kbd-mode'.)
+(defun set-keyboard-coding-system (coding-system &optional display)
+ "Set coding system for keyboard input on DISPLAY to CODING-SYSTEM.
+In addition, this command calls `encoded-kbd-setup-display' to set up the
+translation of keyboard input events to the specified coding system.
+
For a list of possible values of CODING-SYSTEM, use \\[list-coding-systems].
The default is determined by the selected language environment
-or by the previous use of this command."
+or by the previous use of this command.
+
+DISPLAY may be a display id, a frame, or nil for the selected frame's display.
+The setting has no effect on graphical displays."
(interactive
(list (let ((default (if (and (not (keyboard-coding-system))
default-keyboard-coding-system)
@@ -1259,9 +1266,9 @@ or by the previous use of this command."
(if (and coding-system
(coding-system-get coding-system 'ascii-incompatible))
(error "%s is not ASCII-compatible" coding-system))
- (set-keyboard-coding-system-internal coding-system)
+ (set-keyboard-coding-system-internal coding-system display)
(setq keyboard-coding-system coding-system)
- (encoded-kbd-mode (if coding-system 1 0)))
+ (encoded-kbd-setup-display display))
(defcustom keyboard-coding-system nil
"Specify coding system for keyboard input.
@@ -1277,8 +1284,8 @@ use either \\[customize] or \\[set-keyboard-coding-system]."
:link '(info-link "(emacs)Specify Coding")
:link '(info-link "(emacs)Single-Byte Character Support")
:set (lambda (symbol value)
- ;; Don't load encoded-kbd-mode unnecessarily.
- (if (or value (boundp 'encoded-kbd-mode))
+ ;; Don't load encoded-kb unnecessarily.
+ (if (or value (boundp 'encoded-kbd-setup-display))
(set-keyboard-coding-system value)
(set-default 'keyboard-coding-system nil))) ; must initialize
:version "22.1"
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 9e396f27545..df868e7abfc 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1644,9 +1644,10 @@ Isearch mode."
(this-command-keys)))
(main-event (aref key 0))
(keylist (listify-key-sequence key))
+ (fkm (terminal-local-value 'local-function-key-map nil))
scroll-command isearch-point)
(cond ((and (= (length key) 1)
- (let ((lookup (lookup-key function-key-map key)))
+ (let ((lookup (lookup-key fkm key)))
(not (or (null lookup) (integerp lookup)
(keymapp lookup)))))
;; Handle a function key that translates into something else.
@@ -1660,7 +1661,7 @@ Isearch mode."
(isearch-done)
(apply 'isearch-unread keylist))
(setq keylist
- (listify-key-sequence (lookup-key function-key-map key)))
+ (listify-key-sequence (lookup-key fkm key)))
(while keylist
(setq key (car keylist))
;; If KEY is a printing char, we handle it here
diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el
index 685571d1d57..ef54a899c64 100644
--- a/lisp/ldefs-boot.el
+++ b/lisp/ldefs-boot.el
@@ -4,7 +4,7 @@
;;;### (autoloads (5x5-crack 5x5-crack-xor-mutate 5x5-crack-mutating-best
;;;;;; 5x5-crack-mutating-current 5x5-crack-randomly 5x5) "5x5"
-;;;;;; "play/5x5.el" (17134 16310))
+;;;;;; "play/5x5.el" (17178 22152))
;;; Generated autoloads from play/5x5.el
(autoload (quote 5x5) "5x5" "\
@@ -64,7 +64,7 @@ should return a grid vector array that is the new solution.
;;;***
;;;### (autoloads (ada-mode ada-add-extensions) "ada-mode" "progmodes/ada-mode.el"
-;;;;;; (17135 27233))
+;;;;;; (17178 22152))
;;; Generated autoloads from progmodes/ada-mode.el
(autoload (quote ada-add-extensions) "ada-mode" "\
@@ -125,7 +125,7 @@ If you use ada-xref.el:
;;;***
;;;### (autoloads (ada-header) "ada-stmt" "progmodes/ada-stmt.el"
-;;;;;; (17134 4416))
+;;;;;; (17178 22152))
;;; Generated autoloads from progmodes/ada-stmt.el
(autoload (quote ada-header) "ada-stmt" "\
@@ -136,7 +136,7 @@ Insert a descriptive header at the top of the file.
;;;***
;;;### (autoloads (ada-find-file) "ada-xref" "progmodes/ada-xref.el"
-;;;;;; (17134 4420))
+;;;;;; (17178 22152))
;;; Generated autoloads from progmodes/ada-xref.el
(autoload (quote ada-find-file) "ada-xref" "\
@@ -151,7 +151,7 @@ Completion is available.
;;;;;; change-log-mode add-change-log-entry-other-window add-change-log-entry
;;;;;; find-change-log prompt-for-change-log-name add-log-mailing-address
;;;;;; add-log-full-name add-log-current-defun-function) "add-log"
-;;;;;; "add-log.el" (17141 22195))
+;;;;;; "add-log.el" (17178 22141))
;;; Generated autoloads from add-log.el
(defvar add-log-current-defun-function nil "\
@@ -288,8 +288,8 @@ Fix any old-style date entries in the current log file to default format.
;;;***
;;;### (autoloads (defadvice ad-add-advice ad-default-compilation-action
-;;;;;; ad-redefinition-action) "advice" "emacs-lisp/advice.el" (17140
-;;;;;; 65503))
+;;;;;; ad-redefinition-action) "advice" "emacs-lisp/advice.el" (17178
+;;;;;; 22143))
;;; Generated autoloads from emacs-lisp/advice.el
(defvar ad-redefinition-action (quote warn) "\
@@ -388,7 +388,7 @@ See Info node `(elisp)Advising Functions' for comprehensive documentation.
;;;### (autoloads (align-newline-and-indent align-unhighlight-rule
;;;;;; align-highlight-rule align-current align-entire align-regexp
-;;;;;; align) "align" "align.el" (17144 57913))
+;;;;;; align) "align" "align.el" (17178 22141))
;;; Generated autoloads from align.el
(autoload (quote align) "align" "\
@@ -477,7 +477,7 @@ A replacement function for `newline-and-indent', aligning as it goes.
;;;***
-;;;### (autoloads (allout-init) "allout" "allout.el" (17141 22210))
+;;;### (autoloads (allout-init) "allout" "allout.el" (17178 22141))
;;; Generated autoloads from allout.el
(autoload (quote allout-init) "allout" "\
@@ -513,7 +513,7 @@ the following two lines in your Emacs init file:
;;;***
;;;### (autoloads (ange-ftp-hook-function ange-ftp-reread-dir) "ange-ftp"
-;;;;;; "net/ange-ftp.el" (17145 6065))
+;;;;;; "net/ange-ftp.el" (17178 22151))
;;; Generated autoloads from net/ange-ftp.el
(defalias (quote ange-ftp-re-read-dir) (quote ange-ftp-reread-dir))
@@ -535,7 +535,7 @@ Not documented
;;;***
;;;### (autoloads (animate-birthday-present animate-sequence animate-string)
-;;;;;; "animate" "play/animate.el" (17134 16310))
+;;;;;; "animate" "play/animate.el" (17178 22152))
;;; Generated autoloads from play/animate.el
(autoload (quote animate-string) "animate" "\
@@ -563,7 +563,7 @@ You can specify the one's name by NAME; the default value is \"Sarah\".
;;;***
;;;### (autoloads (ansi-color-process-output ansi-color-for-comint-mode-on)
-;;;;;; "ansi-color" "ansi-color.el" (17144 6168))
+;;;;;; "ansi-color" "ansi-color.el" (17178 22141))
;;; Generated autoloads from ansi-color.el
(autoload (quote ansi-color-for-comint-mode-on) "ansi-color" "\
@@ -589,7 +589,7 @@ This is a good function to put in `comint-output-filter-functions'.
;;;***
;;;### (autoloads (antlr-set-tabs antlr-mode antlr-show-makefile-rules)
-;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (17134 4426))
+;;;;;; "antlr-mode" "progmodes/antlr-mode.el" (17178 22152))
;;; Generated autoloads from progmodes/antlr-mode.el
(autoload (quote antlr-show-makefile-rules) "antlr-mode" "\
@@ -628,7 +628,7 @@ Used in `antlr-mode'. Also a useful function in `java-mode-hook'.
;;;### (autoloads (appt-activate appt-make-list appt-delete appt-add
;;;;;; appt-display-diary appt-display-duration appt-display-mode-line
;;;;;; appt-msg-window appt-visible appt-audible appt-message-warning-time
-;;;;;; appt-issue-message) "appt" "calendar/appt.el" (17097 29966))
+;;;;;; appt-issue-message) "appt" "calendar/appt.el" (17178 20480))
;;; Generated autoloads from calendar/appt.el
(defvar appt-issue-message t "\
@@ -716,7 +716,7 @@ ARG is positive, otherwise off.
;;;### (autoloads (apropos-documentation apropos-value apropos apropos-documentation-property
;;;;;; apropos-command apropos-variable) "apropos" "apropos.el"
-;;;;;; (17141 22213))
+;;;;;; (17178 22141))
;;; Generated autoloads from apropos.el
(autoload (quote apropos-variable) "apropos" "\
@@ -770,8 +770,8 @@ Returns list of symbols and documentation found.
;;;***
-;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (17141
-;;;;;; 22215))
+;;;### (autoloads (archive-mode) "arc-mode" "arc-mode.el" (17178
+;;;;;; 22141))
;;; Generated autoloads from arc-mode.el
(autoload (quote archive-mode) "arc-mode" "\
@@ -791,7 +791,7 @@ archive.
;;;***
-;;;### (autoloads (array-mode) "array" "array.el" (17141 22216))
+;;;### (autoloads (array-mode) "array" "array.el" (17178 22141))
;;; Generated autoloads from array.el
(autoload (quote array-mode) "array" "\
@@ -862,8 +862,8 @@ Entering array mode calls the function `array-mode-hook'.
;;;***
-;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (17141
-;;;;;; 99))
+;;;### (autoloads (artist-mode) "artist" "textmodes/artist.el" (17178
+;;;;;; 22154))
;;; Generated autoloads from textmodes/artist.el
(autoload (quote artist-mode) "artist" "\
@@ -1068,8 +1068,8 @@ Keymap summary
;;;***
-;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (17134
-;;;;;; 4426))
+;;;### (autoloads (asm-mode) "asm-mode" "progmodes/asm-mode.el" (17178
+;;;;;; 22152))
;;; Generated autoloads from progmodes/asm-mode.el
(autoload (quote asm-mode) "asm-mode" "\
@@ -1097,7 +1097,7 @@ Special commands:
;;;***
;;;### (autoloads (auto-show-mode auto-show-mode) "auto-show" "obsolete/auto-show.el"
-;;;;;; (16213 43281))
+;;;;;; (17178 20481))
;;; Generated autoloads from obsolete/auto-show.el
(defvar auto-show-mode nil "\
@@ -1113,7 +1113,7 @@ This command is obsolete.
;;;***
;;;### (autoloads (autoarg-kp-mode autoarg-mode) "autoarg" "autoarg.el"
-;;;;;; (17141 22218))
+;;;;;; (17178 22141))
;;; Generated autoloads from autoarg.el
(defvar autoarg-mode nil "\
@@ -1170,7 +1170,7 @@ This is similar to \\[autoarg-mode] but rebinds the keypad keys `kp-1'
;;;***
;;;### (autoloads (autoconf-mode) "autoconf" "progmodes/autoconf.el"
-;;;;;; (17134 4426))
+;;;;;; (17178 22152))
;;; Generated autoloads from progmodes/autoconf.el
(autoload (quote autoconf-mode) "autoconf" "\
@@ -1181,7 +1181,7 @@ Major mode for editing Autoconf configure.in files.
;;;***
;;;### (autoloads (auto-insert-mode define-auto-insert auto-insert)
-;;;;;; "autoinsert" "autoinsert.el" (17141 22218))
+;;;;;; "autoinsert" "autoinsert.el" (17178 22141))
;;; Generated autoloads from autoinsert.el
(autoload (quote auto-insert) "autoinsert" "\
@@ -1221,7 +1221,7 @@ insert a template for the file depending on the mode of the buffer.
;;;### (autoloads (batch-update-autoloads update-directory-autoloads
;;;;;; update-file-autoloads) "autoload" "emacs-lisp/autoload.el"
-;;;;;; (17140 65506))
+;;;;;; (17178 22143))
;;; Generated autoloads from emacs-lisp/autoload.el
(autoload (quote update-file-autoloads) "autoload" "\
@@ -1256,7 +1256,7 @@ Calls `update-directory-autoloads' on the command line arguments.
;;;### (autoloads (global-auto-revert-mode turn-on-auto-revert-tail-mode
;;;;;; auto-revert-tail-mode turn-on-auto-revert-mode auto-revert-mode)
-;;;;;; "autorevert" "autorevert.el" (17144 6170))
+;;;;;; "autorevert" "autorevert.el" (17178 22141))
;;; Generated autoloads from autorevert.el
(autoload (quote auto-revert-mode) "autorevert" "\
@@ -1326,7 +1326,7 @@ Use `auto-revert-mode' to revert a particular buffer.
;;;***
;;;### (autoloads (mouse-avoidance-mode mouse-avoidance-mode) "avoid"
-;;;;;; "avoid.el" (17141 22221))
+;;;;;; "avoid.el" (17178 22141))
;;; Generated autoloads from avoid.el
(defvar mouse-avoidance-mode nil "\
@@ -1367,7 +1367,7 @@ definition of \"random distance\".)
;;;***
;;;### (autoloads (backquote) "backquote" "emacs-lisp/backquote.el"
-;;;;;; (17140 65506))
+;;;;;; (17178 22143))
;;; Generated autoloads from emacs-lisp/backquote.el
(autoload (quote backquote) "backquote" "\
@@ -1392,7 +1392,7 @@ Vectors work just like lists. Nested backquotes are permitted.
;;;***
;;;### (autoloads (display-battery-mode battery) "battery" "battery.el"
-;;;;;; (17141 22221))
+;;;;;; (17178 22141))
;;; Generated autoloads from battery.el
(put 'battery-mode-line-string 'risky-local-variable t)
@@ -1425,7 +1425,7 @@ seconds.
;;;***
;;;### (autoloads (benchmark benchmark-run-compiled benchmark-run)
-;;;;;; "benchmark" "emacs-lisp/benchmark.el" (17140 65506))
+;;;;;; "benchmark" "emacs-lisp/benchmark.el" (17178 22143))
;;; Generated autoloads from emacs-lisp/benchmark.el
(autoload (quote benchmark-run) "benchmark" "\
@@ -1457,8 +1457,8 @@ non-interactive use see also `benchmark-run' and
;;;***
-;;;### (autoloads (bibtex-mode) "bibtex" "textmodes/bibtex.el" (17141
-;;;;;; 112))
+;;;### (autoloads (bibtex-mode) "bibtex" "textmodes/bibtex.el" (17178
+;;;;;; 22154))
;;; Generated autoloads from textmodes/bibtex.el
(autoload (quote bibtex-mode) "bibtex" "\
@@ -1520,7 +1520,7 @@ if that value is non-nil.
;;;### (autoloads (binhex-decode-region binhex-decode-region-external
;;;;;; binhex-decode-region-internal) "binhex" "gnus/binhex.el"
-;;;;;; (17141 6631))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/binhex.el
(defconst binhex-begin-line "^:...............................................................$")
@@ -1543,8 +1543,8 @@ Binhex decode region between START and END.
;;;***
-;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (17134
-;;;;;; 16310))
+;;;### (autoloads (blackbox) "blackbox" "play/blackbox.el" (17178
+;;;;;; 22152))
;;; Generated autoloads from play/blackbox.el
(autoload (quote blackbox) "blackbox" "\
@@ -1666,7 +1666,7 @@ a reflection.
;;;### (autoloads (bookmark-bmenu-list bookmark-load bookmark-save
;;;;;; bookmark-write bookmark-delete bookmark-insert bookmark-rename
;;;;;; bookmark-insert-location bookmark-relocate bookmark-jump
-;;;;;; bookmark-set) "bookmark" "bookmark.el" (17144 6174))
+;;;;;; bookmark-set) "bookmark" "bookmark.el" (17178 22141))
;;; Generated autoloads from bookmark.el
(define-key ctl-x-map "rb" 'bookmark-jump)
(define-key ctl-x-map "rm" 'bookmark-set)
@@ -1856,7 +1856,7 @@ deletion, or > if it is flagged for displaying.
;;;;;; browse-url browse-url-of-region browse-url-of-dired-file
;;;;;; browse-url-of-buffer browse-url-of-file browse-url-url-at-point
;;;;;; browse-url-galeon-program browse-url-firefox-program browse-url-browser-function)
-;;;;;; "browse-url" "net/browse-url.el" (17134 16279))
+;;;;;; "browse-url" "net/browse-url.el" (17178 22151))
;;; Generated autoloads from net/browse-url.el
(defvar browse-url-browser-function (cond ((memq system-type (quote (windows-nt ms-dos cygwin))) (quote browse-url-default-windows-browser)) ((memq system-type (quote (darwin))) (quote browse-url-default-macosx-browser)) (t (quote browse-url-default-browser))) "\
@@ -2187,8 +2187,8 @@ Default to the URL around or before point.
;;;***
-;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (17134
-;;;;;; 16310))
+;;;### (autoloads (snarf-bruces bruce) "bruce" "play/bruce.el" (17178
+;;;;;; 22152))
;;; Generated autoloads from play/bruce.el
(autoload (quote bruce) "bruce" "\
@@ -2204,7 +2204,7 @@ Return a vector containing the lines from `bruce-phrases-file'.
;;;***
;;;### (autoloads (bs-show bs-customize bs-cycle-previous bs-cycle-next)
-;;;;;; "bs" "bs.el" (17141 22228))
+;;;;;; "bs" "bs.el" (17178 22141))
;;; Generated autoloads from bs.el
(autoload (quote bs-cycle-next) "bs" "\
@@ -2245,8 +2245,8 @@ name of buffer configuration.
;;;***
;;;### (autoloads (insert-text-button make-text-button insert-button
-;;;;;; make-button define-button-type) "button" "button.el" (17141
-;;;;;; 22233))
+;;;;;; make-button define-button-type) "button" "button.el" (17178
+;;;;;; 22141))
;;; Generated autoloads from button.el
(defvar button-map (let ((map (make-sparse-keymap))) (define-key map " " (quote push-button)) (define-key map [mouse-2] (quote push-button)) map) "\
@@ -2334,7 +2334,7 @@ Also see `make-text-button'.
;;;;;; batch-byte-compile-if-not-done display-call-tree byte-compile
;;;;;; compile-defun byte-compile-file byte-recompile-directory
;;;;;; byte-force-recompile) "bytecomp" "emacs-lisp/bytecomp.el"
-;;;;;; (17140 65522))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/bytecomp.el
(autoload (quote byte-force-recompile) "bytecomp" "\
@@ -2426,7 +2426,7 @@ For example, invoke `emacs -batch -f batch-byte-recompile-directory .'.
;;;***
-;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17097 29969))
+;;;### (autoloads nil "cal-dst" "calendar/cal-dst.el" (17178 20480))
;;; Generated autoloads from calendar/cal-dst.el
(put (quote calendar-daylight-savings-starts) (quote risky-local-variable) t)
@@ -2436,7 +2436,7 @@ For example, invoke `emacs -batch -f batch-byte-recompile-directory .'.
;;;***
;;;### (autoloads (list-yahrzeit-dates) "cal-hebrew" "calendar/cal-hebrew.el"
-;;;;;; (17097 29972))
+;;;;;; (17178 22142))
;;; Generated autoloads from calendar/cal-hebrew.el
(autoload (quote list-yahrzeit-dates) "cal-hebrew" "\
@@ -2451,7 +2451,7 @@ from the cursor position.
;;;### (autoloads (defmath calc-embedded-activate calc-embedded calc-grab-rectangle
;;;;;; calc-grab-region full-calc-keypad calc-keypad calc-eval quick-calc
;;;;;; full-calc calc calc-dispatch calc-settings-file) "calc" "calc/calc.el"
-;;;;;; (17110 50514))
+;;;;;; (17178 22142))
;;; Generated autoloads from calc/calc.el
(defvar calc-settings-file (convert-standard-filename "~/.calc.el") "\
@@ -2529,8 +2529,8 @@ Not documented
;;;***
-;;;### (autoloads (calculator) "calculator" "calculator.el" (17141
-;;;;;; 22234))
+;;;### (autoloads (calculator) "calculator" "calculator.el" (17178
+;;;;;; 22142))
;;; Generated autoloads from calculator.el
(autoload (quote calculator) "calculator" "\
@@ -2558,7 +2558,7 @@ See the documentation for `calculator-mode' for more information.
;;;;;; mark-holidays-in-calendar view-calendar-holidays-initially
;;;;;; calendar-remove-frame-by-deleting mark-diary-entries-in-calendar
;;;;;; number-of-diary-entries view-diary-entries-initially calendar-offset)
-;;;;;; "calendar" "calendar/calendar.el" (17144 57990))
+;;;;;; "calendar" "calendar/calendar.el" (17178 22143))
;;; Generated autoloads from calendar/calendar.el
(defvar calendar-offset 0 "\
@@ -3149,7 +3149,7 @@ movement commands will not work correctly.")
;;;***
;;;### (autoloads (canlock-verify canlock-insert-header) "canlock"
-;;;;;; "gnus/canlock.el" (17141 6632))
+;;;;;; "gnus/canlock.el" (17178 22145))
;;; Generated autoloads from gnus/canlock.el
(autoload (quote canlock-insert-header) "canlock" "\
@@ -3167,7 +3167,7 @@ it fails.
;;;***
;;;### (autoloads (c-guess-basic-syntax) "cc-engine" "progmodes/cc-engine.el"
-;;;;;; (17144 58026))
+;;;;;; (17178 22152))
;;; Generated autoloads from progmodes/cc-engine.el
(autoload (quote c-guess-basic-syntax) "cc-engine" "\
@@ -3180,7 +3180,7 @@ This function does not do any hidden buffer changes.
;;;### (autoloads (pike-mode idl-mode java-mode objc-mode c++-mode
;;;;;; c-mode c-initialize-cc-mode) "cc-mode" "progmodes/cc-mode.el"
-;;;;;; (17134 4484))
+;;;;;; (17178 22152))
;;; Generated autoloads from progmodes/cc-mode.el
(autoload (quote c-initialize-cc-mode) "cc-mode" "\
@@ -3338,7 +3338,7 @@ Key bindings:
;;;***
;;;### (autoloads (c-set-offset c-add-style c-set-style) "cc-styles"
-;;;;;; "progmodes/cc-styles.el" (17134 4487))
+;;;;;; "progmodes/cc-styles.el" (17178 22152))
;;; Generated autoloads from progmodes/cc-styles.el
(autoload (quote c-set-style) "cc-styles" "\
@@ -3395,7 +3395,7 @@ and exists only for compatibility reasons.
;;;### (autoloads (ccl-execute-with-args check-ccl-program define-ccl-program
;;;;;; declare-ccl-program ccl-dump ccl-compile) "ccl" "international/ccl.el"
-;;;;;; (17097 30239))
+;;;;;; (17178 20480))
;;; Generated autoloads from international/ccl.el
(autoload (quote ccl-compile) "ccl" "\
@@ -3654,7 +3654,7 @@ See the documentation of `define-ccl-program' for the detail of CCL program.
;;;***
;;;### (autoloads (cfengine-mode) "cfengine" "progmodes/cfengine.el"
-;;;;;; (17134 4489))
+;;;;;; (17178 22152))
;;; Generated autoloads from progmodes/cfengine.el
(autoload (quote cfengine-mode) "cfengine" "\
@@ -3676,7 +3676,7 @@ to the action header.
;;;;;; checkdoc-comments checkdoc-continue checkdoc-start checkdoc-current-buffer
;;;;;; checkdoc-eval-current-buffer checkdoc-message-interactive
;;;;;; checkdoc-interactive checkdoc) "checkdoc" "emacs-lisp/checkdoc.el"
-;;;;;; (17140 65527))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/checkdoc.el
(autoload (quote checkdoc) "checkdoc" "\
@@ -3859,8 +3859,8 @@ checking of documentation strings.
;;;***
;;;### (autoloads (encode-hz-buffer encode-hz-region decode-hz-buffer
-;;;;;; decode-hz-region) "china-util" "language/china-util.el" (17097
-;;;;;; 30338))
+;;;;;; decode-hz-region) "china-util" "language/china-util.el" (17178
+;;;;;; 20481))
;;; Generated autoloads from language/china-util.el
(autoload (quote decode-hz-region) "china-util" "\
@@ -3888,7 +3888,7 @@ Encode the text in the current buffer to HZ.
;;;***
;;;### (autoloads (command-history list-command-history repeat-matching-complex-command)
-;;;;;; "chistory" "chistory.el" (17141 22235))
+;;;;;; "chistory" "chistory.el" (17178 22143))
;;; Generated autoloads from chistory.el
(autoload (quote repeat-matching-complex-command) "chistory" "\
@@ -3927,7 +3927,7 @@ and runs the normal hook `command-history-hook'.
;;;***
-;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (17140 65533))
+;;;### (autoloads nil "cl" "emacs-lisp/cl.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/cl.el
(defvar custom-print-functions nil "\
@@ -3943,7 +3943,7 @@ a future Emacs interpreter will be able to use it.")
;;;***
;;;### (autoloads (common-lisp-indent-function) "cl-indent" "emacs-lisp/cl-indent.el"
-;;;;;; (17140 65530))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/cl-indent.el
(autoload (quote common-lisp-indent-function) "cl-indent" "\
@@ -3954,7 +3954,7 @@ Not documented
;;;***
;;;### (autoloads (c-macro-expand) "cmacexp" "progmodes/cmacexp.el"
-;;;;;; (17134 4489))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/cmacexp.el
(autoload (quote c-macro-expand) "cmacexp" "\
@@ -3974,8 +3974,8 @@ For use inside Lisp programs, see also `c-macro-expansion'.
;;;***
-;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (17143
-;;;;;; 40901))
+;;;### (autoloads (run-scheme) "cmuscheme" "cmuscheme.el" (17178
+;;;;;; 22143))
;;; Generated autoloads from cmuscheme.el
(autoload (quote run-scheme) "cmuscheme" "\
@@ -3996,7 +3996,7 @@ is run).
;;;***
;;;### (autoloads (cp-make-coding-system) "code-pages" "international/code-pages.el"
-;;;;;; (17138 57707))
+;;;;;; (17178 22146))
;;; Generated autoloads from international/code-pages.el
(autoload (quote cp-make-coding-system) "code-pages" "\
@@ -4049,7 +4049,7 @@ Return an updated `non-iso-charset-alist'.
;;;### (autoloads (codepage-setup cp-supported-codepages cp-offset-for-codepage
;;;;;; cp-language-for-codepage cp-charset-for-codepage cp-make-coding-systems-for-codepage)
-;;;;;; "codepage" "international/codepage.el" (17097 30244))
+;;;;;; "codepage" "international/codepage.el" (17178 20480))
;;; Generated autoloads from international/codepage.el
(autoload (quote cp-make-coding-systems-for-codepage) "codepage" "\
@@ -4108,7 +4108,7 @@ read/written by MS-DOS software, or for display on the MS-DOS terminal.
;;;### (autoloads (comint-redirect-results-list-from-process comint-redirect-results-list
;;;;;; comint-redirect-send-command-to-process comint-redirect-send-command
;;;;;; comint-run make-comint make-comint-in-buffer) "comint" "comint.el"
-;;;;;; (17144 57920))
+;;;;;; (17178 22143))
;;; Generated autoloads from comint.el
(defvar comint-output-filter-functions (quote (comint-postoutput-scroll-to-bottom comint-watch-for-password-prompt)) "\
@@ -4161,6 +4161,11 @@ See `make-comint' and `comint-exec'.
\(fn PROGRAM)" t nil)
+(defvar comint-file-name-prefix "" "\
+Prefix prepended to absolute file names taken from process input.
+This is used by Comint's and shell's completion functions, and by shell's
+directory tracking functions.")
+
(autoload (quote comint-redirect-send-command) "comint" "\
Send COMMAND to process in current buffer, with output to OUTPUT-BUFFER.
With prefix arg ECHO, echo output in process buffer.
@@ -4193,8 +4198,8 @@ REGEXP-GROUP is the regular expression group in REGEXP to use.
;;;***
-;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (17141
-;;;;;; 22246))
+;;;### (autoloads (compare-windows) "compare-w" "compare-w.el" (17178
+;;;;;; 22143))
;;; Generated autoloads from compare-w.el
(autoload (quote compare-windows) "compare-w" "\
@@ -4228,9 +4233,10 @@ on third call it again advances points to the next difference and so on.
;;;***
;;;### (autoloads (compilation-next-error-function compilation-minor-mode
-;;;;;; compilation-shell-minor-mode compilation-mode compile compilation-search-path
-;;;;;; compilation-ask-about-save compilation-window-height compilation-mode-hook)
-;;;;;; "compile" "progmodes/compile.el" (17145 8109))
+;;;;;; compilation-shell-minor-mode compilation-mode compilation-start
+;;;;;; compile compilation-search-path compilation-ask-about-save
+;;;;;; compilation-window-height compilation-mode-hook) "compile"
+;;;;;; "progmodes/compile.el" (17178 22153))
;;; Generated autoloads from progmodes/compile.el
(defvar compilation-mode-hook nil "\
@@ -4308,6 +4314,24 @@ to a function that generates a unique name.
\(fn COMMAND &optional COMINT)" t nil)
+(autoload (quote compilation-start) "compile" "\
+Run compilation command COMMAND (low level interface).
+If COMMAND starts with a cd command, that becomes the `default-directory'.
+The rest of the arguments are optional; for them, nil means use the default.
+
+MODE is the major mode to set in the compilation buffer. Mode
+may also be t meaning use `compilation-shell-minor-mode' under `comint-mode'.
+If NAME-FUNCTION is non-nil, call it with one argument (the mode name)
+to determine the buffer name.
+
+If HIGHLIGHT-REGEXP is non-nil, `next-error' will temporarily highlight
+the matching section of the visited source line; the default is to use the
+global value of `compilation-highlight-regexp'.
+
+Returns the compilation buffer created.
+
+\(fn COMMAND &optional MODE NAME-FUNCTION HIGHLIGHT-REGEXP)" nil nil)
+
(autoload (quote compilation-mode) "compile" "\
Major mode for compilation log buffers.
\\<compilation-mode-map>To visit the source for a line-numbered error,
@@ -4350,7 +4374,7 @@ This is the value of `next-error-function' in Compilation buffers.
;;;***
;;;### (autoloads (partial-completion-mode) "complete" "complete.el"
-;;;;;; (17141 22246))
+;;;;;; (17178 22143))
;;; Generated autoloads from complete.el
(defvar partial-completion-mode nil "\
@@ -4387,7 +4411,7 @@ See also the variable `PC-include-file-path'.
;;;***
;;;### (autoloads (dynamic-completion-mode) "completion" "completion.el"
-;;;;;; (17144 6189))
+;;;;;; (17178 22143))
;;; Generated autoloads from completion.el
(autoload (quote dynamic-completion-mode) "completion" "\
@@ -4400,7 +4424,7 @@ Enable dynamic word-completion.
;;;### (autoloads (decompose-composite-char compose-last-chars compose-chars-after
;;;;;; find-composition compose-chars decompose-string compose-string
;;;;;; decompose-region compose-region encode-composition-rule)
-;;;;;; "composite" "composite.el" (17118 19755))
+;;;;;; "composite" "composite.el" (17178 22143))
;;; Generated autoloads from composite.el
(defconst reference-point-alist (quote ((tl . 0) (tc . 1) (tr . 2) (Bl . 3) (Bc . 4) (Br . 5) (bl . 6) (bc . 7) (br . 8) (cl . 9) (cc . 10) (cr . 11) (top-left . 0) (top-center . 1) (top-right . 2) (base-left . 3) (base-center . 4) (base-right . 5) (bottom-left . 6) (bottom-center . 7) (bottom-right . 8) (center-left . 9) (center-center . 10) (center-right . 11) (ml . 3) (mc . 10) (mr . 5) (mid-left . 3) (mid-center . 10) (mid-right . 5))) "\
@@ -4621,7 +4645,7 @@ Optional 3rd arg WITH-COMPOSITION-RULE is ignored.
;;;### (autoloads (conf-xdefaults-mode conf-ppd-mode conf-colon-mode
;;;;;; conf-space-mode conf-javaprop-mode conf-windows-mode conf-unix-mode
-;;;;;; conf-mode) "conf-mode" "textmodes/conf-mode.el" (17141 112))
+;;;;;; conf-mode) "conf-mode" "textmodes/conf-mode.el" (17178 22154))
;;; Generated autoloads from textmodes/conf-mode.el
(autoload (quote conf-mode) "conf-mode" "\
@@ -4771,7 +4795,7 @@ For details see `conf-mode'. Example:
;;;***
;;;### (autoloads (shuffle-vector cookie-snarf cookie-insert cookie)
-;;;;;; "cookie1" "play/cookie1.el" (17134 16310))
+;;;;;; "cookie1" "play/cookie1.el" (17178 22152))
;;; Generated autoloads from play/cookie1.el
(autoload (quote cookie) "cookie1" "\
@@ -4803,7 +4827,7 @@ Randomly permute the elements of VECTOR (all permutations equally likely).
;;;***
;;;### (autoloads (copyright copyright-fix-years copyright-update)
-;;;;;; "copyright" "emacs-lisp/copyright.el" (17141 0))
+;;;;;; "copyright" "emacs-lisp/copyright.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/copyright.el
(autoload (quote copyright-update) "copyright" "\
@@ -4831,7 +4855,7 @@ Insert a copyright by $ORGANIZATION notice at cursor.
;;;***
;;;### (autoloads (cperl-mode) "cperl-mode" "progmodes/cperl-mode.el"
-;;;;;; (17134 4520))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/cperl-mode.el
(autoload (quote cperl-mode) "cperl-mode" "\
@@ -5004,7 +5028,7 @@ or as help on variables `cperl-tips', `cperl-problems',
;;;***
;;;### (autoloads (cpp-parse-edit cpp-highlight-buffer) "cpp" "progmodes/cpp.el"
-;;;;;; (17134 4522))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/cpp.el
(autoload (quote cpp-highlight-buffer) "cpp" "\
@@ -5023,7 +5047,7 @@ Edit display information for cpp conditionals.
;;;***
;;;### (autoloads (crisp-mode crisp-mode) "crisp" "emulation/crisp.el"
-;;;;;; (17134 16189))
+;;;;;; (17178 22144))
;;; Generated autoloads from emulation/crisp.el
(defvar crisp-mode nil "\
@@ -5047,7 +5071,7 @@ With ARG, turn CRiSP mode on if ARG is positive, off otherwise.
;;;***
;;;### (autoloads (completing-read-multiple) "crm" "emacs-lisp/crm.el"
-;;;;;; (17141 0))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/crm.el
(autoload (quote completing-read-multiple) "crm" "\
@@ -5083,7 +5107,7 @@ INHERIT-INPUT-METHOD.
;;;***
;;;### (autoloads (cua-selection-mode cua-mode) "cua-base" "emulation/cua-base.el"
-;;;;;; (17134 16192))
+;;;;;; (17178 24780))
;;; Generated autoloads from emulation/cua-base.el
(defvar cua-mode nil "\
@@ -5137,15 +5161,15 @@ Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings.
;;;***
-;;;### (autoloads (customize-menu-create custom-menu-create custom-save-all
-;;;;;; customize-save-customized custom-file customize-browse custom-buffer-create-other-window
+;;;### (autoloads (customize-menu-create custom-menu-create customize-save-customized
+;;;;;; custom-save-all custom-file customize-browse custom-buffer-create-other-window
;;;;;; custom-buffer-create customize-apropos-groups customize-apropos-faces
;;;;;; customize-apropos-options customize-apropos customize-saved
;;;;;; customize-rogue customize-customized customize-face-other-window
;;;;;; customize-face customize-changed-options customize-option-other-window
;;;;;; customize-option customize-group-other-window customize-group
;;;;;; customize-mode customize customize-save-variable customize-set-variable
-;;;;;; customize-set-value) "cus-edit" "cus-edit.el" (17141 22258))
+;;;;;; customize-set-value) "cus-edit" "cus-edit.el" (17178 22143))
;;; Generated autoloads from cus-edit.el
(add-hook 'same-window-regexps "\\`\\*Customiz.*\\*\\'")
@@ -5373,16 +5397,16 @@ and hence will not set `custom-file' to that file either.")
(custom-autoload (quote custom-file) "cus-edit")
-(autoload (quote customize-save-customized) "cus-edit" "\
-Save all user options which have been set in this session.
-
-\(fn)" t nil)
-
(autoload (quote custom-save-all) "cus-edit" "\
Save all customizations in `custom-file'.
\(fn)" nil nil)
+(autoload (quote customize-save-customized) "cus-edit" "\
+Save all user options which have been set in this session.
+
+\(fn)" t nil)
+
(autoload (quote custom-menu-create) "cus-edit" "\
Create menu for customization group SYMBOL.
The menu is in a format applicable to `easy-menu-define'.
@@ -5400,7 +5424,7 @@ The format is suitable for use with `easy-menu-define'.
;;;***
;;;### (autoloads (custom-reset-faces custom-theme-reset-faces custom-set-faces
-;;;;;; custom-declare-face) "cus-face" "cus-face.el" (17141 22259))
+;;;;;; custom-declare-face) "cus-face" "cus-face.el" (17178 22143))
;;; Generated autoloads from cus-face.el
(autoload (quote custom-declare-face) "cus-face" "\
@@ -5470,7 +5494,7 @@ This means reset FACE to its value in FROM-THEME.
;;;***
;;;### (autoloads (customize-create-theme) "cus-theme" "cus-theme.el"
-;;;;;; (17141 22261))
+;;;;;; (17178 22143))
;;; Generated autoloads from cus-theme.el
(autoload (quote customize-create-theme) "cus-theme" "\
@@ -5481,7 +5505,7 @@ Create a custom theme.
;;;***
;;;### (autoloads (cvs-status-mode) "cvs-status" "cvs-status.el"
-;;;;;; (17141 22264))
+;;;;;; (17178 22143))
;;; Generated autoloads from cvs-status.el
(autoload (quote cvs-status-mode) "cvs-status" "\
@@ -5492,7 +5516,7 @@ Mode used for cvs status output.
;;;***
;;;### (autoloads (global-cwarn-mode turn-on-cwarn-mode cwarn-mode)
-;;;;;; "cwarn" "progmodes/cwarn.el" (17134 4522))
+;;;;;; "cwarn" "progmodes/cwarn.el" (17178 22153))
;;; Generated autoloads from progmodes/cwarn.el
(autoload (quote cwarn-mode) "cwarn" "\
@@ -5536,7 +5560,7 @@ in which `turn-on-cwarn-mode-if-enabled' turns it on.
;;;### (autoloads (standard-display-cyrillic-translit cyrillic-encode-alternativnyj-char
;;;;;; cyrillic-encode-koi8-r-char) "cyril-util" "language/cyril-util.el"
-;;;;;; (17097 30339))
+;;;;;; (17178 20481))
;;; Generated autoloads from language/cyril-util.el
(autoload (quote cyrillic-encode-koi8-r-char) "cyril-util" "\
@@ -5565,7 +5589,7 @@ If the argument is nil, we return the display table to its standard state.
;;;***
;;;### (autoloads (dabbrev-expand dabbrev-completion) "dabbrev" "dabbrev.el"
-;;;;;; (17141 22267))
+;;;;;; (17178 22143))
;;; Generated autoloads from dabbrev.el
(define-key esc-map "/" 'dabbrev-expand)
(define-key esc-map [?\C-/] 'dabbrev-completion)
@@ -5612,8 +5636,8 @@ See also `dabbrev-abbrev-char-regexp' and \\[dabbrev-completion].
;;;***
-;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (17134
-;;;;;; 4526))
+;;;### (autoloads (dcl-mode) "dcl-mode" "progmodes/dcl-mode.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from progmodes/dcl-mode.el
(autoload (quote dcl-mode) "dcl-mode" "\
@@ -5740,7 +5764,7 @@ There is some minimal font-lock support (see vars
;;;***
;;;### (autoloads (cancel-debug-on-entry debug-on-entry debug) "debug"
-;;;;;; "emacs-lisp/debug.el" (17141 4))
+;;;;;; "emacs-lisp/debug.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/debug.el
(setq debugger (quote debug))
@@ -5784,7 +5808,7 @@ To specify a nil argument interactively, exit with an empty minibuffer.
;;;***
;;;### (autoloads (decipher-mode decipher) "decipher" "play/decipher.el"
-;;;;;; (17134 16312))
+;;;;;; (17178 22152))
;;; Generated autoloads from play/decipher.el
(autoload (quote decipher) "decipher" "\
@@ -5813,8 +5837,8 @@ The most useful commands are:
;;;***
;;;### (autoloads (delimit-columns-rectangle delimit-columns-region
-;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (17141
-;;;;;; 22267))
+;;;;;; delimit-columns-customize) "delim-col" "delim-col.el" (17178
+;;;;;; 22143))
;;; Generated autoloads from delim-col.el
(autoload (quote delimit-columns-customize) "delim-col" "\
@@ -5838,8 +5862,8 @@ START and END delimits the corners of text rectangle.
;;;***
-;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (17134
-;;;;;; 4532))
+;;;### (autoloads (delphi-mode) "delphi" "progmodes/delphi.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from progmodes/delphi.el
(autoload (quote delphi-mode) "delphi" "\
@@ -5889,8 +5913,8 @@ no args, if that value is non-nil.
;;;***
-;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (17141
-;;;;;; 22267))
+;;;### (autoloads (delete-selection-mode) "delsel" "delsel.el" (17178
+;;;;;; 22143))
;;; Generated autoloads from delsel.el
(defalias (quote pending-delete-mode) (quote delete-selection-mode))
@@ -5920,7 +5944,7 @@ any selection.
;;;***
;;;### (autoloads (derived-mode-init-mode-variables define-derived-mode)
-;;;;;; "derived" "emacs-lisp/derived.el" (17141 4))
+;;;;;; "derived" "emacs-lisp/derived.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/derived.el
(autoload (quote define-derived-mode) "derived" "\
@@ -5985,7 +6009,7 @@ the first time the mode is used.
;;;***
;;;### (autoloads (describe-char describe-text-properties) "descr-text"
-;;;;;; "descr-text.el" (17141 22270))
+;;;;;; "descr-text.el" (17178 22143))
;;; Generated autoloads from descr-text.el
(autoload (quote describe-text-properties) "descr-text" "\
@@ -6010,7 +6034,7 @@ as well as widgets, buttons, overlays, and text properties.
;;;### (autoloads (desktop-revert desktop-save-in-desktop-dir desktop-change-dir
;;;;;; desktop-load-default desktop-read desktop-locals-to-save
-;;;;;; desktop-save-mode) "desktop" "desktop.el" (17146 26025))
+;;;;;; desktop-save-mode) "desktop" "desktop.el" (17178 22143))
;;; Generated autoloads from desktop.el
(defvar desktop-save-mode nil "\
@@ -6088,6 +6112,8 @@ code like
Furthermore the major mode function must be autoloaded.")
+(put (quote desktop-buffer-mode-handlers) (quote risky-local-variable) t)
+
(defvar desktop-minor-mode-handlers nil "\
Alist of functions to restore non-standard minor modes.
Functions are called by `desktop-create-buffer' to restore minor modes.
@@ -6130,6 +6156,8 @@ Furthermore the minor mode function must be autoloaded.
See also `desktop-minor-mode-table'.")
+(put (quote desktop-minor-mode-handlers) (quote risky-local-variable) t)
+
(autoload (quote desktop-read) "desktop" "\
Read and process the desktop file in directory DIRNAME.
Look for a desktop file in DIRNAME, or if DIRNAME is omitted, look in
@@ -6171,7 +6199,7 @@ Revert to the last loaded desktop.
;;;;;; gnus-article-outlook-repair-attribution gnus-article-outlook-unwrap-lines
;;;;;; gnus-outlook-display-hook gnus-outlook-deuglify-unwrap-max
;;;;;; gnus-outlook-deuglify-unwrap-min) "deuglify" "gnus/deuglify.el"
-;;;;;; (17097 40253))
+;;;;;; (17178 20480))
;;; Generated autoloads from gnus/deuglify.el
(defvar gnus-outlook-deuglify-unwrap-min 45 "\
@@ -6220,7 +6248,7 @@ Deuglify broken Outlook (Express) articles and redisplay.
;;;***
;;;### (autoloads (devanagari-post-read-conversion devanagari-compose-region)
-;;;;;; "devan-util" "language/devan-util.el" (17097 30341))
+;;;;;; "devan-util" "language/devan-util.el" (17178 20481))
;;; Generated autoloads from language/devan-util.el
(defconst devanagari-consonant "[\x51ad5-\x51af9\x51b38-\x51b3f]")
@@ -6238,7 +6266,7 @@ Not documented
;;;***
;;;### (autoloads (diary-mode diary-mail-entries diary) "diary-lib"
-;;;;;; "calendar/diary-lib.el" (17097 30004))
+;;;;;; "calendar/diary-lib.el" (17178 22143))
;;; Generated autoloads from calendar/diary-lib.el
(autoload (quote diary) "diary-lib" "\
@@ -6284,7 +6312,7 @@ Major mode for editing the diary file.
;;;***
;;;### (autoloads (diff-backup diff diff-command diff-switches) "diff"
-;;;;;; "diff.el" (17141 22272))
+;;;;;; "diff.el" (17178 22143))
;;; Generated autoloads from diff.el
(defvar diff-switches "-c" "\
@@ -6318,7 +6346,7 @@ With prefix arg, prompt for diff switches.
;;;***
;;;### (autoloads (diff-minor-mode diff-mode) "diff-mode" "diff-mode.el"
-;;;;;; (17141 22272))
+;;;;;; (17178 22143))
;;; Generated autoloads from diff-mode.el
(autoload (quote diff-mode) "diff-mode" "\
@@ -6347,7 +6375,7 @@ Minor mode for viewing/editing context diffs.
;;;;;; dired dired-copy-preserve-time dired-dwim-target dired-keep-marker-symlink
;;;;;; dired-keep-marker-hardlink dired-keep-marker-copy dired-keep-marker-rename
;;;;;; dired-trivial-filenames dired-ls-F-marks-symlinks dired-listing-switches)
-;;;;;; "dired" "dired.el" (17146 26034))
+;;;;;; "dired" "dired.el" (17178 22143))
;;; Generated autoloads from dired.el
(defvar dired-listing-switches "-al" "\
@@ -6552,7 +6580,7 @@ Keybindings:
;;;;;; dired-run-shell-command dired-do-shell-command dired-clean-directory
;;;;;; dired-do-print dired-do-touch dired-do-chown dired-do-chgrp
;;;;;; dired-do-chmod dired-compare-directories dired-backup-diff
-;;;;;; dired-diff) "dired-aux" "dired-aux.el" (17145 8097))
+;;;;;; dired-diff) "dired-aux" "dired-aux.el" (17178 22143))
;;; Generated autoloads from dired-aux.el
(autoload (quote dired-diff) "dired-aux" "\
@@ -6960,7 +6988,7 @@ true then the type of the file linked to by FILE is printed instead.
;;;***
-;;;### (autoloads (dired-jump) "dired-x" "dired-x.el" (17141 22694))
+;;;### (autoloads (dired-jump) "dired-x" "dired-x.el" (17178 22143))
;;; Generated autoloads from dired-x.el
(autoload (quote dired-jump) "dired-x" "\
@@ -6974,7 +7002,7 @@ buffer and try again.
;;;***
-;;;### (autoloads (dirtrack) "dirtrack" "dirtrack.el" (17141 22702))
+;;;### (autoloads (dirtrack) "dirtrack" "dirtrack.el" (17178 22143))
;;; Generated autoloads from dirtrack.el
(autoload (quote dirtrack) "dirtrack" "\
@@ -6993,8 +7021,8 @@ You can enable directory tracking by adding this function to
;;;***
-;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (17141
-;;;;;; 7))
+;;;### (autoloads (disassemble) "disass" "emacs-lisp/disass.el" (17178
+;;;;;; 22144))
;;; Generated autoloads from emacs-lisp/disass.el
(autoload (quote disassemble) "disass" "\
@@ -7012,7 +7040,7 @@ redefine OBJECT if it is a symbol.
;;;;;; standard-display-graphic standard-display-g1 standard-display-ascii
;;;;;; standard-display-default standard-display-8bit describe-current-display-table
;;;;;; describe-display-table set-display-table-slot display-table-slot
-;;;;;; make-display-table) "disp-table" "disp-table.el" (17141 22702))
+;;;;;; make-display-table) "disp-table" "disp-table.el" (17178 22143))
;;; Generated autoloads from disp-table.el
(autoload (quote make-display-table) "disp-table" "\
@@ -7113,7 +7141,7 @@ for users who call this function in `.emacs'.
;;;***
;;;### (autoloads (dissociated-press) "dissociate" "play/dissociate.el"
-;;;;;; (17134 16312))
+;;;;;; (17178 22152))
;;; Generated autoloads from play/dissociate.el
(autoload (quote dissociated-press) "dissociate" "\
@@ -7129,7 +7157,7 @@ Default is 2.
;;;***
-;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (17141 22705))
+;;;### (autoloads (dnd-protocol-alist) "dnd" "dnd.el" (17178 22143))
;;; Generated autoloads from dnd.el
(defvar dnd-protocol-alist (quote (("^file:///" . dnd-open-local-file) ("^file://" . dnd-open-file) ("^file:" . dnd-open-local-file))) "\
@@ -7150,7 +7178,7 @@ if some action was made, or nil if the URL is ignored.")
;;;***
;;;### (autoloads (dns-mode-soa-increment-serial dns-mode) "dns-mode"
-;;;;;; "textmodes/dns-mode.el" (17141 112))
+;;;;;; "textmodes/dns-mode.el" (17178 22154))
;;; Generated autoloads from textmodes/dns-mode.el
(autoload (quote dns-mode) "dns-mode" "\
@@ -7173,7 +7201,7 @@ Locate SOA record and increment the serial field.
;;;***
-;;;### (autoloads (doctor) "doctor" "play/doctor.el" (17135 27224))
+;;;### (autoloads (doctor) "doctor" "play/doctor.el" (17178 22152))
;;; Generated autoloads from play/doctor.el
(autoload (quote doctor) "doctor" "\
@@ -7184,7 +7212,7 @@ Switch to *doctor* buffer and start giving psychotherapy.
;;;***
;;;### (autoloads (double-mode double-mode) "double" "double.el"
-;;;;;; (17141 22705))
+;;;;;; (17178 22143))
;;; Generated autoloads from double.el
(defvar double-mode nil "\
@@ -7205,7 +7233,7 @@ when pressed twice. See variable `double-map' for details.
;;;***
-;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (17134 16321))
+;;;### (autoloads (dunnet) "dunnet" "play/dunnet.el" (17178 22152))
;;; Generated autoloads from play/dunnet.el
(autoload (quote dunnet) "dunnet" "\
@@ -7216,7 +7244,7 @@ Switch to *dungeon* buffer and start game.
;;;***
;;;### (autoloads (gnus-earcon-display) "earcon" "gnus/earcon.el"
-;;;;;; (17141 6633))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/earcon.el
(autoload (quote gnus-earcon-display) "earcon" "\
@@ -7228,7 +7256,7 @@ Play sounds in message buffers.
;;;### (autoloads (easy-mmode-defsyntax easy-mmode-defmap easy-mmode-define-keymap
;;;;;; define-global-minor-mode define-minor-mode) "easy-mmode"
-;;;;;; "emacs-lisp/easy-mmode.el" (17116 17255))
+;;;;;; "emacs-lisp/easy-mmode.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/easy-mmode.el
(defalias (quote easy-mmode-define-minor-mode) (quote define-minor-mode))
@@ -7314,8 +7342,8 @@ CSS contains a list of syntax specifications of the form (CHAR . SYNTAX).
;;;***
;;;### (autoloads (easy-menu-change easy-menu-create-menu easy-menu-do-define
-;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (17141
-;;;;;; 7))
+;;;;;; easy-menu-define) "easymenu" "emacs-lisp/easymenu.el" (17178
+;;;;;; 22144))
;;; Generated autoloads from emacs-lisp/easymenu.el
(put (quote easy-menu-define) (quote lisp-indent-function) (quote defun))
@@ -7460,7 +7488,7 @@ to implement dynamic menus.
;;;;;; ebnf-eps-directory ebnf-spool-region ebnf-spool-buffer ebnf-spool-file
;;;;;; ebnf-spool-directory ebnf-print-region ebnf-print-buffer
;;;;;; ebnf-print-file ebnf-print-directory ebnf-customize) "ebnf2ps"
-;;;;;; "progmodes/ebnf2ps.el" (17097 30648))
+;;;;;; "progmodes/ebnf2ps.el" (17178 20481))
;;; Generated autoloads from progmodes/ebnf2ps.el
(autoload (quote ebnf-customize) "ebnf2ps" "\
@@ -7719,8 +7747,8 @@ See `ebnf-style-database' documentation.
;;;;;; ebrowse-tags-find-declaration-other-window ebrowse-tags-find-definition
;;;;;; ebrowse-tags-view-definition ebrowse-tags-find-declaration
;;;;;; ebrowse-tags-view-declaration ebrowse-member-mode ebrowse-electric-choose-tree
-;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (17134
-;;;;;; 4544))
+;;;;;; ebrowse-tree-mode) "ebrowse" "progmodes/ebrowse.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from progmodes/ebrowse.el
(autoload (quote ebrowse-tree-mode) "ebrowse" "\
@@ -7871,7 +7899,7 @@ Display statistics for a class tree.
;;;***
;;;### (autoloads (electric-buffer-list) "ebuff-menu" "ebuff-menu.el"
-;;;;;; (17144 6193))
+;;;;;; (17178 22143))
;;; Generated autoloads from ebuff-menu.el
(autoload (quote electric-buffer-list) "ebuff-menu" "\
@@ -7896,7 +7924,7 @@ Run hooks in `electric-buffer-menu-mode-hook' on entry.
;;;***
;;;### (autoloads (Electric-command-history-redo-expression) "echistory"
-;;;;;; "echistory.el" (17141 22708))
+;;;;;; "echistory.el" (17178 22143))
;;; Generated autoloads from echistory.el
(autoload (quote Electric-command-history-redo-expression) "echistory" "\
@@ -7908,7 +7936,7 @@ With prefix arg NOCONFIRM, execute current line as-is without editing.
;;;***
;;;### (autoloads (edebug-eval-top-level-form def-edebug-spec edebug-all-forms
-;;;;;; edebug-all-defs) "edebug" "emacs-lisp/edebug.el" (17141 14))
+;;;;;; edebug-all-defs) "edebug" "emacs-lisp/edebug.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/edebug.el
(defvar edebug-all-defs nil "\
@@ -7971,7 +7999,7 @@ already is one.)
;;;;;; ediff-merge-directory-revisions ediff-merge-directories-with-ancestor
;;;;;; ediff-merge-directories ediff-directories3 ediff-directory-revisions
;;;;;; ediff-directories ediff-buffers3 ediff-buffers ediff-backup
-;;;;;; ediff-files3 ediff-files) "ediff" "ediff.el" (17141 22731))
+;;;;;; ediff-files3 ediff-files) "ediff" "ediff.el" (17178 22143))
;;; Generated autoloads from ediff.el
(autoload (quote ediff-files) "ediff" "\
@@ -8209,7 +8237,7 @@ With optional NODE, goes to that node.
;;;***
;;;### (autoloads (ediff-customize) "ediff-help" "ediff-help.el"
-;;;;;; (17141 22711))
+;;;;;; (17178 22143))
;;; Generated autoloads from ediff-help.el
(autoload (quote ediff-customize) "ediff-help" "\
@@ -8219,7 +8247,7 @@ Not documented
;;;***
-;;;### (autoloads nil "ediff-hook" "ediff-hook.el" (17141 22711))
+;;;### (autoloads nil "ediff-hook" "ediff-hook.el" (17178 22143))
;;; Generated autoloads from ediff-hook.el
(defvar ediff-window-setup-function)
@@ -8232,7 +8260,7 @@ Not documented
;;;***
;;;### (autoloads (ediff-show-registry) "ediff-mult" "ediff-mult.el"
-;;;;;; (17141 22720))
+;;;;;; (17178 22143))
;;; Generated autoloads from ediff-mult.el
(autoload (quote ediff-show-registry) "ediff-mult" "\
@@ -8245,7 +8273,7 @@ Display Ediff's registry.
;;;***
;;;### (autoloads (ediff-toggle-use-toolbar ediff-toggle-multiframe)
-;;;;;; "ediff-util" "ediff-util.el" (17141 22727))
+;;;;;; "ediff-util" "ediff-util.el" (17178 22143))
;;; Generated autoloads from ediff-util.el
(autoload (quote ediff-toggle-multiframe) "ediff-util" "\
@@ -8266,7 +8294,7 @@ To change the default, set the variable `ediff-use-toolbar-p', which see.
;;;### (autoloads (format-kbd-macro read-kbd-macro edit-named-kbd-macro
;;;;;; edit-last-kbd-macro edit-kbd-macro) "edmacro" "edmacro.el"
-;;;;;; (17141 22734))
+;;;;;; (17178 22143))
;;; Generated autoloads from edmacro.el
(defvar edmacro-eight-bits nil "\
@@ -8319,7 +8347,7 @@ or nil, use a compact 80-column format.
;;;***
;;;### (autoloads (edt-emulation-on edt-set-scroll-margins) "edt"
-;;;;;; "emulation/edt.el" (17134 16203))
+;;;;;; "emulation/edt.el" (17178 22144))
;;; Generated autoloads from emulation/edt.el
(autoload (quote edt-set-scroll-margins) "edt" "\
@@ -8337,7 +8365,7 @@ Turn on EDT Emulation.
;;;***
;;;### (autoloads (electric-helpify with-electric-help) "ehelp" "ehelp.el"
-;;;;;; (17141 22734))
+;;;;;; (17178 22143))
;;; Generated autoloads from ehelp.el
(autoload (quote with-electric-help) "ehelp" "\
@@ -8375,7 +8403,7 @@ Not documented
;;;***
;;;### (autoloads (turn-on-eldoc-mode eldoc-mode eldoc-minor-mode-string)
-;;;;;; "eldoc" "emacs-lisp/eldoc.el" (17141 17))
+;;;;;; "eldoc" "emacs-lisp/eldoc.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/eldoc.el
(defvar eldoc-minor-mode-string " ElDoc" "\
@@ -8413,8 +8441,8 @@ Emacs Lisp mode) that support Eldoc.")
;;;***
-;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (17141
-;;;;;; 22737))
+;;;### (autoloads (elide-head) "elide-head" "elide-head.el" (17178
+;;;;;; 22143))
;;; Generated autoloads from elide-head.el
(autoload (quote elide-head) "elide-head" "\
@@ -8430,7 +8458,7 @@ This is suitable as an entry on `find-file-hook' or appropriate mode hooks.
;;;***
;;;### (autoloads (elint-initialize) "elint" "emacs-lisp/elint.el"
-;;;;;; (17141 20))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/elint.el
(autoload (quote elint-initialize) "elint" "\
@@ -8441,8 +8469,8 @@ Initialize elint.
;;;***
;;;### (autoloads (elp-results elp-instrument-package elp-instrument-list
-;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (17141
-;;;;;; 20))
+;;;;;; elp-instrument-function) "elp" "emacs-lisp/elp.el" (17178
+;;;;;; 22144))
;;; Generated autoloads from emacs-lisp/elp.el
(autoload (quote elp-instrument-function) "elp" "\
@@ -8476,7 +8504,7 @@ displayed.
;;;***
;;;### (autoloads (report-emacs-bug) "emacsbug" "mail/emacsbug.el"
-;;;;;; (17141 4113))
+;;;;;; (17178 22150))
;;; Generated autoloads from mail/emacsbug.el
(autoload (quote report-emacs-bug) "emacsbug" "\
@@ -8491,7 +8519,7 @@ Prompts for bug subject. Leaves you in a mail buffer.
;;;;;; emerge-revisions emerge-files-with-ancestor-remote emerge-files-remote
;;;;;; emerge-files-with-ancestor-command emerge-files-command emerge-buffers-with-ancestor
;;;;;; emerge-buffers emerge-files-with-ancestor emerge-files) "emerge"
-;;;;;; "emerge.el" (17032 41176))
+;;;;;; "emerge.el" (17178 22144))
;;; Generated autoloads from emerge.el
(defvar menu-bar-emerge-menu (make-sparse-keymap "Emerge"))
@@ -8568,38 +8596,21 @@ Not documented
;;;***
-;;;### (autoloads (encoded-kbd-mode) "encoded-kb" "international/encoded-kb.el"
-;;;;;; (17097 30244))
+;;;### (autoloads (encoded-kbd-setup-display) "encoded-kb" "international/encoded-kb.el"
+;;;;;; (17178 21353))
;;; Generated autoloads from international/encoded-kb.el
-(defvar encoded-kbd-mode nil "\
-Non-nil if Encoded-Kbd mode is enabled.
-See the command `encoded-kbd-mode' for a description of this minor-mode.
-Setting this variable directly does not take effect;
-use either \\[customize] or the function `encoded-kbd-mode'.")
-
-(custom-autoload (quote encoded-kbd-mode) "encoded-kb")
+(autoload (quote encoded-kbd-setup-display) "encoded-kb" "\
+Set up a `key-translation-map' for `keyboard-coding-system' on DISPLAY.
-(put (quote encoded-kbd-mode) (quote custom-set) (quote custom-set-minor-mode))
+DISPLAY may be a display id, a frame, or nil for the selected frame's display.
-(autoload (quote encoded-kbd-mode) "encoded-kb" "\
-Toggle Encoded-kbd minor mode.
-With arg, turn Encoded-kbd mode on if and only if arg is positive.
-
-You should not turn this mode on manually, instead use the command
-\\[set-keyboard-coding-system] which turns on or off this mode
-automatically.
-
-In Encoded-kbd mode, a text sent from keyboard is accepted
-as a multilingual text encoded in a coding system set by
-\\[set-keyboard-coding-system].
-
-\(fn &optional ARG)" t nil)
+\(fn DISPLAY)" nil nil)
;;;***
;;;### (autoloads (enriched-decode enriched-encode enriched-mode)
-;;;;;; "enriched" "textmodes/enriched.el" (17141 115))
+;;;;;; "enriched" "textmodes/enriched.el" (17178 22154))
;;; Generated autoloads from textmodes/enriched.el
(autoload (quote enriched-mode) "enriched" "\
@@ -8629,8 +8640,8 @@ Not documented
;;;***
-;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (17134
-;;;;;; 16257))
+;;;### (autoloads (eshell-mode) "esh-mode" "eshell/esh-mode.el" (17178
+;;;;;; 22144))
;;; Generated autoloads from eshell/esh-mode.el
(autoload (quote eshell-mode) "esh-mode" "\
@@ -8642,8 +8653,8 @@ Emacs shell interactive mode.
;;;***
-;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (17134
-;;;;;; 16260))
+;;;### (autoloads (eshell-test) "esh-test" "eshell/esh-test.el" (17178
+;;;;;; 22144))
;;; Generated autoloads from eshell/esh-test.el
(autoload (quote eshell-test) "esh-test" "\
@@ -8654,7 +8665,7 @@ Test Eshell to verify that it works as expected.
;;;***
;;;### (autoloads (eshell-report-bug eshell-command-result eshell-command
-;;;;;; eshell) "eshell" "eshell/eshell.el" (17144 57993))
+;;;;;; eshell) "eshell" "eshell/eshell.el" (17178 22144))
;;; Generated autoloads from eshell/eshell.el
(autoload (quote eshell) "eshell" "\
@@ -8699,8 +8710,8 @@ Please include any configuration details that might be involved.
;;;;;; find-tag find-tag-noselect tags-table-files visit-tags-table-buffer
;;;;;; visit-tags-table find-tag-default-function find-tag-hook
;;;;;; tags-add-tables tags-compression-info-list tags-table-list
-;;;;;; tags-case-fold-search) "etags" "progmodes/etags.el" (17134
-;;;;;; 4547))
+;;;;;; tags-case-fold-search) "etags" "progmodes/etags.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from progmodes/etags.el
(defvar tags-file-name nil "\
@@ -8997,7 +9008,7 @@ for \\[find-tag] (which see).
;;;;;; ethio-fidel-to-sera-buffer ethio-fidel-to-sera-region ethio-sera-to-fidel-marker
;;;;;; ethio-sera-to-fidel-mail ethio-sera-to-fidel-mail-or-marker
;;;;;; ethio-sera-to-fidel-buffer ethio-sera-to-fidel-region setup-ethiopic-environment-internal)
-;;;;;; "ethio-util" "language/ethio-util.el" (17116 14490))
+;;;;;; "ethio-util" "language/ethio-util.el" (17178 22147))
;;; Generated autoloads from language/ethio-util.el
(autoload (quote setup-ethiopic-environment-internal) "ethio-util" "\
@@ -9192,7 +9203,7 @@ Transcribe Ethiopic characters in ASCII depending on the file extension.
;;;### (autoloads (eudc-load-eudc eudc-query-form eudc-expand-inline
;;;;;; eudc-get-phone eudc-get-email eudc-set-server) "eudc" "net/eudc.el"
-;;;;;; (17134 16282))
+;;;;;; (17178 22151))
;;; Generated autoloads from net/eudc.el
(autoload (quote eudc-set-server) "eudc" "\
@@ -9248,7 +9259,7 @@ This does nothing except loading eudc by autoload side-effect.
;;;### (autoloads (eudc-display-jpeg-as-button eudc-display-jpeg-inline
;;;;;; eudc-display-sound eudc-display-mail eudc-display-url eudc-display-generic-binary)
-;;;;;; "eudc-bob" "net/eudc-bob.el" (17134 16279))
+;;;;;; "eudc-bob" "net/eudc-bob.el" (17178 22151))
;;; Generated autoloads from net/eudc-bob.el
(autoload (quote eudc-display-generic-binary) "eudc-bob" "\
@@ -9284,7 +9295,7 @@ Display a button for the JPEG DATA.
;;;***
;;;### (autoloads (eudc-try-bbdb-insert eudc-insert-record-at-point-into-bbdb)
-;;;;;; "eudc-export" "net/eudc-export.el" (17134 16279))
+;;;;;; "eudc-export" "net/eudc-export.el" (17178 22151))
;;; Generated autoloads from net/eudc-export.el
(autoload (quote eudc-insert-record-at-point-into-bbdb) "eudc-export" "\
@@ -9301,7 +9312,7 @@ Call `eudc-insert-record-at-point-into-bbdb' if on a record.
;;;***
;;;### (autoloads (eudc-edit-hotlist) "eudc-hotlist" "net/eudc-hotlist.el"
-;;;;;; (17134 16279))
+;;;;;; (17178 22151))
;;; Generated autoloads from net/eudc-hotlist.el
(autoload (quote eudc-edit-hotlist) "eudc-hotlist" "\
@@ -9314,7 +9325,7 @@ Edit the hotlist of directory servers in a specialized buffer.
;;;### (autoloads (executable-make-buffer-file-executable-if-script-p
;;;;;; executable-self-display executable-set-magic executable-interpret
;;;;;; executable-command-find-posix-p) "executable" "progmodes/executable.el"
-;;;;;; (17134 4551))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/executable.el
(autoload (quote executable-command-find-posix-p) "executable" "\
@@ -9356,7 +9367,7 @@ file modes.
;;;***
;;;### (autoloads (expand-jump-to-next-slot expand-jump-to-previous-slot
-;;;;;; expand-add-abbrevs) "expand" "expand.el" (17141 22737))
+;;;;;; expand-add-abbrevs) "expand" "expand.el" (17178 22144))
;;; Generated autoloads from expand.el
(autoload (quote expand-add-abbrevs) "expand" "\
@@ -9399,7 +9410,7 @@ This is used only in conjunction with `expand-add-abbrevs'.
;;;***
-;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (17134 4553))
+;;;### (autoloads (f90-mode) "f90" "progmodes/f90.el" (17178 22153))
;;; Generated autoloads from progmodes/f90.el
(autoload (quote f90-mode) "f90" "\
@@ -9468,7 +9479,7 @@ with no args, if that value is non-nil.
;;;;;; facemenu-remove-all facemenu-remove-face-props facemenu-set-read-only
;;;;;; facemenu-set-intangible facemenu-set-invisible facemenu-set-face-from-menu
;;;;;; facemenu-set-background facemenu-set-foreground facemenu-set-face)
-;;;;;; "facemenu" "facemenu.el" (17141 22739))
+;;;;;; "facemenu" "facemenu.el" (17178 22144))
;;; Generated autoloads from facemenu.el
(define-key global-map "\M-o" 'facemenu-keymap)
(autoload 'facemenu-keymap "facemenu" "Keymap for face-changing commands." t 'keymap)
@@ -9631,7 +9642,7 @@ argument BUFFER-NAME is nil, it defaults to *Colors*.
;;;***
;;;### (autoloads (turn-on-fast-lock fast-lock-mode) "fast-lock"
-;;;;;; "obsolete/fast-lock.el" (17141 69))
+;;;;;; "obsolete/fast-lock.el" (17178 22151))
;;; Generated autoloads from obsolete/fast-lock.el
(autoload (quote fast-lock-mode) "fast-lock" "\
@@ -9672,7 +9683,7 @@ Unconditionally turn on Fast Lock mode.
;;;### (autoloads (feedmail-queue-reminder feedmail-run-the-queue
;;;;;; feedmail-run-the-queue-global-prompt feedmail-run-the-queue-no-prompts
-;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (17032 41292))
+;;;;;; feedmail-send-it) "feedmail" "mail/feedmail.el" (17178 20480))
;;; Generated autoloads from mail/feedmail.el
(autoload (quote feedmail-send-it) "feedmail" "\
@@ -9726,7 +9737,7 @@ you can set feedmail-queue-reminder-alist to nil.
;;;***
;;;### (autoloads (ffap-bindings dired-at-point ffap-at-mouse ffap-menu
-;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (17144 6198))
+;;;;;; find-file-at-point ffap-next) "ffap" "ffap.el" (17178 22144))
;;; Generated autoloads from ffap.el
(autoload (quote ffap-next) "ffap" "\
@@ -9785,7 +9796,7 @@ Evaluate the forms in variable `ffap-bindings'.
;;;***
;;;### (autoloads (file-cache-minibuffer-complete) "filecache" "filecache.el"
-;;;;;; (17141 22748))
+;;;;;; (17178 22144))
;;; Generated autoloads from filecache.el
(autoload (quote file-cache-minibuffer-complete) "filecache" "\
@@ -9803,8 +9814,8 @@ the name is considered already unique; only the second substitution
;;;***
-;;;### (autoloads (filesets-init) "filesets" "filesets.el" (17141
-;;;;;; 22763))
+;;;### (autoloads (filesets-init) "filesets" "filesets.el" (17178
+;;;;;; 22144))
;;; Generated autoloads from filesets.el
(autoload (quote filesets-init) "filesets" "\
@@ -9817,7 +9828,7 @@ Set up hooks, load the cache file -- if existing -- and build the menu.
;;;### (autoloads (find-grep-dired find-name-dired find-dired find-grep-options
;;;;;; find-ls-subdir-switches find-ls-option) "find-dired" "find-dired.el"
-;;;;;; (17141 22763))
+;;;;;; (17178 22144))
;;; Generated autoloads from find-dired.el
(defvar find-ls-option (if (eq system-type (quote berkeley-unix)) (quote ("-ls" . "-gilsb")) (quote ("-exec ls -ld {} \\;" . "-ld"))) "\
@@ -9878,7 +9889,7 @@ Thus ARG can also contain additional grep options.
;;;### (autoloads (ff-mouse-find-other-file-other-window ff-mouse-find-other-file
;;;;;; ff-find-other-file ff-get-other-file) "find-file" "find-file.el"
-;;;;;; (17144 6205))
+;;;;;; (17178 22144))
;;; Generated autoloads from find-file.el
(defvar ff-special-constructs (quote (("^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]" lambda nil (setq fname (buffer-substring (match-beginning 2) (match-end 2)))))) "\
@@ -9970,7 +9981,7 @@ Visit the file you click on in another window.
;;;;;; find-variable find-variable-noselect find-function-other-frame
;;;;;; find-function-other-window find-function find-function-noselect
;;;;;; find-function-search-for-symbol find-library) "find-func"
-;;;;;; "emacs-lisp/find-func.el" (17141 22))
+;;;;;; "emacs-lisp/find-func.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/find-func.el
(autoload (quote find-library) "find-func" "\
@@ -10119,7 +10130,7 @@ Define some key bindings for the find-function family of functions.
;;;***
;;;### (autoloads (find-lisp-find-dired-filter find-lisp-find-dired-subdirectories
-;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (17141 22768))
+;;;;;; find-lisp-find-dired) "find-lisp" "find-lisp.el" (17178 22144))
;;; Generated autoloads from find-lisp.el
(autoload (quote find-lisp-find-dired) "find-lisp" "\
@@ -10140,7 +10151,7 @@ Change the filter on a find-lisp-find-dired buffer to REGEXP.
;;;***
;;;### (autoloads (finder-by-keyword finder-commentary finder-list-keywords)
-;;;;;; "finder" "finder.el" (17141 22768))
+;;;;;; "finder" "finder.el" (17178 22144))
;;; Generated autoloads from finder.el
(autoload (quote finder-list-keywords) "finder" "\
@@ -10162,7 +10173,7 @@ Find packages matching a given keyword.
;;;***
;;;### (autoloads (enable-flow-control-on enable-flow-control) "flow-ctrl"
-;;;;;; "flow-ctrl.el" (17141 22768))
+;;;;;; "flow-ctrl.el" (17178 22144))
;;; Generated autoloads from flow-ctrl.el
(autoload (quote enable-flow-control) "flow-ctrl" "\
@@ -10184,7 +10195,7 @@ to get the effect of a C-q.
;;;***
;;;### (autoloads (fill-flowed fill-flowed-encode) "flow-fill" "gnus/flow-fill.el"
-;;;;;; (17141 6634))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/flow-fill.el
(autoload (quote fill-flowed-encode) "flow-fill" "\
@@ -10200,7 +10211,7 @@ Not documented
;;;***
;;;### (autoloads (flymake-mode-off flymake-mode-on flymake-mode)
-;;;;;; "flymake" "progmodes/flymake.el" (17134 4558))
+;;;;;; "flymake" "progmodes/flymake.el" (17178 22153))
;;; Generated autoloads from progmodes/flymake.el
(autoload (quote flymake-mode) "flymake" "\
@@ -10224,13 +10235,14 @@ Turn flymake mode off.
;;;### (autoloads (flyspell-buffer flyspell-region flyspell-mode-off
;;;;;; flyspell-mode flyspell-prog-mode) "flyspell" "textmodes/flyspell.el"
-;;;;;; (17141 125))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/flyspell.el
(autoload (quote flyspell-prog-mode) "flyspell" "\
Turn on `flyspell-mode' for comments and strings.
\(fn)" t nil)
+(defvar flyspell-mode nil)
(autoload (quote flyspell-mode) "flyspell" "\
Minor mode performing on-the-fly spelling checking.
@@ -10282,7 +10294,7 @@ Flyspell whole buffer.
;;;### (autoloads (follow-delete-other-windows-and-split follow-mode
;;;;;; turn-off-follow-mode turn-on-follow-mode) "follow" "follow.el"
-;;;;;; (17141 22775))
+;;;;;; (17178 22144))
;;; Generated autoloads from follow.el
(autoload (quote turn-on-follow-mode) "follow" "\
@@ -10358,7 +10370,7 @@ in your `~/.emacs' file, replacing [f7] by your favourite key:
;;;### (autoloads (font-lock-fontify-buffer font-lock-remove-keywords
;;;;;; font-lock-add-keywords font-lock-mode-internal) "font-lock"
-;;;;;; "font-lock.el" (17141 22780))
+;;;;;; "font-lock.el" (17178 22144))
;;; Generated autoloads from font-lock.el
(autoload (quote font-lock-mode-internal) "font-lock" "\
@@ -10430,8 +10442,8 @@ Fontify the current buffer the way the function `font-lock-mode' would.
;;;***
-;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (17141
-;;;;;; 4115))
+;;;### (autoloads (footnote-mode) "footnote" "mail/footnote.el" (17178
+;;;;;; 22150))
;;; Generated autoloads from mail/footnote.el
(autoload (quote footnote-mode) "footnote" "\
@@ -10452,7 +10464,7 @@ key binding
;;;***
;;;### (autoloads (forms-find-file-other-window forms-find-file forms-mode)
-;;;;;; "forms" "forms.el" (17141 22786))
+;;;;;; "forms" "forms.el" (17178 22144))
;;; Generated autoloads from forms.el
(autoload (quote forms-mode) "forms" "\
@@ -10489,7 +10501,7 @@ Visit a file in Forms mode in other window.
;;;***
;;;### (autoloads (fortran-mode fortran-tab-mode-default) "fortran"
-;;;;;; "progmodes/fortran.el" (17134 4564))
+;;;;;; "progmodes/fortran.el" (17178 22153))
;;; Generated autoloads from progmodes/fortran.el
(defvar fortran-tab-mode-default nil "\
@@ -10575,7 +10587,7 @@ with no args, if that value is non-nil.
;;;***
;;;### (autoloads (fortune fortune-to-signature fortune-compile fortune-from-region
-;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (17134 16321))
+;;;;;; fortune-add-fortune) "fortune" "play/fortune.el" (17178 22152))
;;; Generated autoloads from play/fortune.el
(autoload (quote fortune-add-fortune) "fortune" "\
@@ -10625,7 +10637,7 @@ and choose the directory as the fortune-file.
;;;***
;;;### (autoloads (set-fringe-style fringe-mode fringe-mode) "fringe"
-;;;;;; "fringe.el" (17141 22788))
+;;;;;; "fringe.el" (17178 22144))
;;; Generated autoloads from fringe.el
(defvar fringe-mode nil "\
@@ -10696,7 +10708,7 @@ default appearance of fringes on all frames, see the command
;;;***
;;;### (autoloads (gdb-enable-debug-log gdba) "gdb-ui" "progmodes/gdb-ui.el"
-;;;;;; (17134 20594))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/gdb-ui.el
(autoload (quote gdba) "gdb-ui" "\
@@ -10759,8 +10771,8 @@ Non-nil means record the process input and output in `gdb-debug-log'.")
;;;***
;;;### (autoloads (generic-make-keywords-list generic-mode generic-mode-internal
-;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (17141
-;;;;;; 23))
+;;;;;; define-generic-mode) "generic" "emacs-lisp/generic.el" (17178
+;;;;;; 22144))
;;; Generated autoloads from emacs-lisp/generic.el
(defvar generic-mode-list nil "\
@@ -10835,7 +10847,7 @@ regular expression that can be used as an element of
;;;***
;;;### (autoloads (glasses-mode) "glasses" "progmodes/glasses.el"
-;;;;;; (17097 30669))
+;;;;;; (17178 20481))
;;; Generated autoloads from progmodes/glasses.el
(autoload (quote glasses-mode) "glasses" "\
@@ -10848,7 +10860,7 @@ at places they belong to.
;;;***
;;;### (autoloads (gnus gnus-other-frame gnus-slave gnus-no-server
-;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (17141 6750))
+;;;;;; gnus-slave-no-server) "gnus" "gnus/gnus.el" (17178 22145))
;;; Generated autoloads from gnus/gnus.el
(autoload (quote gnus-slave-no-server) "gnus" "\
@@ -10899,7 +10911,7 @@ prompt the user for the name of an NNTP server to use.
;;;;;; gnus-agent-get-undownloaded-list gnus-agent-delete-group
;;;;;; gnus-agent-rename-group gnus-agent-possibly-save-gcc gnus-agentize
;;;;;; gnus-slave-unplugged gnus-plugged gnus-unplugged) "gnus-agent"
-;;;;;; "gnus/gnus-agent.el" (17141 6642))
+;;;;;; "gnus/gnus-agent.el" (17178 22145))
;;; Generated autoloads from gnus/gnus-agent.el
(autoload (quote gnus-unplugged) "gnus-agent" "\
@@ -10986,7 +10998,7 @@ If CLEAN, obsolete (ignore).
;;;***
;;;### (autoloads (gnus-article-prepare-display) "gnus-art" "gnus/gnus-art.el"
-;;;;;; (17141 6655))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-art.el
(autoload (quote gnus-article-prepare-display) "gnus-art" "\
@@ -10997,7 +11009,7 @@ Make the current buffer look like a nice article.
;;;***
;;;### (autoloads (gnus-audio-play) "gnus-audio" "gnus/gnus-audio.el"
-;;;;;; (17141 6658))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-audio.el
(autoload (quote gnus-audio-play) "gnus-audio" "\
@@ -11009,8 +11021,8 @@ Play a sound FILE through the speaker.
;;;### (autoloads (gnus-cache-delete-group gnus-cache-rename-group
;;;;;; gnus-cache-generate-nov-databases gnus-cache-generate-active
-;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (17141
-;;;;;; 6658))
+;;;;;; gnus-jog-cache) "gnus-cache" "gnus/gnus-cache.el" (17178
+;;;;;; 22145))
;;; Generated autoloads from gnus/gnus-cache.el
(autoload (quote gnus-jog-cache) "gnus-cache" "\
@@ -11048,7 +11060,7 @@ next enabled. Depends upon the caller to determine whether group deletion is sup
;;;***
;;;### (autoloads (gnus-delay-initialize gnus-delay-send-queue gnus-delay-article)
-;;;;;; "gnus-delay" "gnus/gnus-delay.el" (17141 6662))
+;;;;;; "gnus-delay" "gnus/gnus-delay.el" (17178 22145))
;;; Generated autoloads from gnus/gnus-delay.el
(defgroup gnus-delay nil "Arrange for sending postings later." :version "22.1" :group (quote gnus))
@@ -11086,7 +11098,7 @@ Checking delayed messages is skipped if optional arg NO-CHECK is non-nil.
;;;***
;;;### (autoloads (turn-on-gnus-dired-mode) "gnus-dired" "gnus/gnus-dired.el"
-;;;;;; (17141 6667))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-dired.el
(autoload (quote turn-on-gnus-dired-mode) "gnus-dired" "\
@@ -11097,7 +11109,7 @@ Convenience method to turn on gnus-dired-mode.
;;;***
;;;### (autoloads (gnus-draft-reminder) "gnus-draft" "gnus/gnus-draft.el"
-;;;;;; (17141 6667))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-draft.el
(autoload (quote gnus-draft-reminder) "gnus-draft" "\
@@ -11109,8 +11121,8 @@ Reminder user if there are unsent drafts.
;;;### (autoloads (gnus-convert-png-to-face gnus-convert-face-to-png
;;;;;; gnus-face-from-file gnus-x-face-from-file gnus-insert-random-x-face-header
-;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (17141
-;;;;;; 6667))
+;;;;;; gnus-random-x-face) "gnus-fun" "gnus/gnus-fun.el" (17178
+;;;;;; 22145))
;;; Generated autoloads from gnus/gnus-fun.el
(autoload (quote gnus-random-x-face) "gnus-fun" "\
@@ -11149,7 +11161,7 @@ FILE should be a PNG file that's 48x48 and smaller than or equal to
;;;***
;;;### (autoloads (gnus-fetch-group-other-frame gnus-fetch-group)
-;;;;;; "gnus-group" "gnus/gnus-group.el" (17141 6677))
+;;;;;; "gnus-group" "gnus/gnus-group.el" (17178 22145))
;;; Generated autoloads from gnus/gnus-group.el
(autoload (quote gnus-fetch-group) "gnus-group" "\
@@ -11166,7 +11178,7 @@ Pop up a frame and enter GROUP.
;;;***
;;;### (autoloads (gnus-batch-score) "gnus-kill" "gnus/gnus-kill.el"
-;;;;;; (17141 6680))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-kill.el
(defalias (quote gnus-batch-kill) (quote gnus-batch-score))
@@ -11181,7 +11193,7 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score
;;;### (autoloads (gnus-mailing-list-mode gnus-mailing-list-insinuate
;;;;;; turn-on-gnus-mailing-list-mode) "gnus-ml" "gnus/gnus-ml.el"
-;;;;;; (17141 6682))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-ml.el
(autoload (quote turn-on-gnus-mailing-list-mode) "gnus-ml" "\
@@ -11206,7 +11218,7 @@ Minor mode for providing mailing-list commands.
;;;### (autoloads (gnus-group-split-fancy gnus-group-split gnus-group-split-update
;;;;;; gnus-group-split-setup) "gnus-mlspl" "gnus/gnus-mlspl.el"
-;;;;;; (17141 6682))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-mlspl.el
(autoload (quote gnus-group-split-setup) "gnus-mlspl" "\
@@ -11307,7 +11319,7 @@ Calling (gnus-group-split-fancy nil nil \"mail.others\") returns:
;;;***
;;;### (autoloads (gnus-change-server) "gnus-move" "gnus/gnus-move.el"
-;;;;;; (17141 6682))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-move.el
(autoload (quote gnus-change-server) "gnus-move" "\
@@ -11319,7 +11331,7 @@ Update the .newsrc.eld file to reflect the change of nntp server.
;;;***
;;;### (autoloads (gnus-button-reply gnus-button-mailto gnus-msg-mail)
-;;;;;; "gnus-msg" "gnus/gnus-msg.el" (17141 6686))
+;;;;;; "gnus-msg" "gnus/gnus-msg.el" (17178 22145))
;;; Generated autoloads from gnus/gnus-msg.el
(autoload (quote gnus-msg-mail) "gnus-msg" "\
@@ -11345,7 +11357,7 @@ Like `message-reply'.
;;;### (autoloads (gnus-treat-newsgroups-picon gnus-treat-mail-picon
;;;;;; gnus-treat-from-picon) "gnus-picon" "gnus/gnus-picon.el"
-;;;;;; (17141 6686))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-picon.el
(autoload (quote gnus-treat-from-picon) "gnus-picon" "\
@@ -11372,7 +11384,7 @@ If picons are already displayed, remove them.
;;;;;; gnus-sorted-nintersection gnus-sorted-range-intersection
;;;;;; gnus-sorted-intersection gnus-intersection gnus-sorted-complement
;;;;;; gnus-sorted-ndifference gnus-sorted-difference) "gnus-range"
-;;;;;; "gnus/gnus-range.el" (17141 6692))
+;;;;;; "gnus/gnus-range.el" (17178 22145))
;;; Generated autoloads from gnus/gnus-range.el
(autoload (quote gnus-sorted-difference) "gnus-range" "\
@@ -11440,7 +11452,7 @@ Add NUM into sorted LIST by side effect.
;;;***
;;;### (autoloads (gnus-registry-install-hooks gnus-registry-initialize)
-;;;;;; "gnus-registry" "gnus/gnus-registry.el" (17141 6692))
+;;;;;; "gnus-registry" "gnus/gnus-registry.el" (17178 22145))
;;; Generated autoloads from gnus/gnus-registry.el
(autoload (quote gnus-registry-initialize) "gnus-registry" "\
@@ -11456,8 +11468,8 @@ Install the registry hooks.
;;;***
;;;### (autoloads (gnus-sieve-article-add-rule gnus-sieve-generate
-;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (17141
-;;;;;; 6701))
+;;;;;; gnus-sieve-update) "gnus-sieve" "gnus/gnus-sieve.el" (17178
+;;;;;; 22145))
;;; Generated autoloads from gnus/gnus-sieve.el
(autoload (quote gnus-sieve-update) "gnus-sieve" "\
@@ -11485,7 +11497,7 @@ Not documented
;;;***
;;;### (autoloads (gnus-batch-brew-soup) "gnus-soup" "gnus/gnus-soup.el"
-;;;;;; (17141 6701))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-soup.el
(autoload (quote gnus-batch-brew-soup) "gnus-soup" "\
@@ -11505,7 +11517,7 @@ Note -- this function hasn't been implemented yet.
;;;***
;;;### (autoloads (gnus-update-format) "gnus-spec" "gnus/gnus-spec.el"
-;;;;;; (17141 6704))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-spec.el
(autoload (quote gnus-update-format) "gnus-spec" "\
@@ -11516,8 +11528,8 @@ Update the format specification near point.
;;;***
;;;### (autoloads (gnus-fixup-nnimap-unread-after-getting-new-news
-;;;;;; gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" (17141
-;;;;;; 6710))
+;;;;;; gnus-declare-backend) "gnus-start" "gnus/gnus-start.el" (17178
+;;;;;; 22145))
;;; Generated autoloads from gnus/gnus-start.el
(autoload (quote gnus-declare-backend) "gnus-start" "\
@@ -11533,7 +11545,7 @@ Not documented
;;;***
;;;### (autoloads (gnus-add-configuration) "gnus-win" "gnus/gnus-win.el"
-;;;;;; (17141 6744))
+;;;;;; (17178 22145))
;;; Generated autoloads from gnus/gnus-win.el
(autoload (quote gnus-add-configuration) "gnus-win" "\
@@ -11543,7 +11555,7 @@ Add the window configuration CONF to `gnus-buffer-configuration'.
;;;***
-;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (17134 16326))
+;;;### (autoloads (gomoku) "gomoku" "play/gomoku.el" (17178 22152))
;;; Generated autoloads from play/gomoku.el
(autoload (quote gomoku) "gomoku" "\
@@ -11570,7 +11582,7 @@ Use \\[describe-mode] for more info.
;;;***
;;;### (autoloads (goto-address goto-address-at-point) "goto-addr"
-;;;;;; "net/goto-addr.el" (17134 16285))
+;;;;;; "net/goto-addr.el" (17178 22151))
;;; Generated autoloads from net/goto-addr.el
(define-obsolete-function-alias (quote goto-address-at-mouse) (quote goto-address-at-point) "22.1")
@@ -11598,7 +11610,7 @@ Also fontifies the buffer appropriately (see `goto-address-fontify-p' and
;;;### (autoloads (grep-tree grep-find grep-mode grep grep-compute-defaults
;;;;;; grep-process-setup grep-setup-hook grep-find-command grep-command
-;;;;;; grep-window-height) "grep" "progmodes/grep.el" (17145 8110))
+;;;;;; grep-window-height) "grep" "progmodes/grep.el" (17178 22153))
;;; Generated autoloads from progmodes/grep.el
(defvar grep-window-height nil "\
@@ -11722,7 +11734,7 @@ those sub directories of DIR.
;;;***
-;;;### (autoloads (gs-load-image) "gs" "gs.el" (17141 22791))
+;;;### (autoloads (gs-load-image) "gs" "gs.el" (17178 22146))
;;; Generated autoloads from gs.el
(autoload (quote gs-load-image) "gs" "\
@@ -11736,7 +11748,7 @@ the form \"WINDOW-ID PIXMAP-ID\". Value is non-nil if successful.
;;;***
;;;### (autoloads (gud-tooltip-mode gdb-script-mode bashdb jdb pdb
-;;;;;; perldb xdb dbx sdb gdb) "gud" "progmodes/gud.el" (17134 4576))
+;;;;;; perldb xdb dbx sdb gdb) "gud" "progmodes/gud.el" (17178 22153))
;;; Generated autoloads from progmodes/gud.el
(autoload (quote gdb) "gud" "\
@@ -11832,8 +11844,8 @@ Toggle the display of GUD tooltips.
;;;***
-;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (17134
-;;;;;; 16329))
+;;;### (autoloads (handwrite) "handwrite" "play/handwrite.el" (17178
+;;;;;; 22152))
;;; Generated autoloads from play/handwrite.el
(autoload (quote handwrite) "handwrite" "\
@@ -11851,7 +11863,7 @@ Variables: handwrite-linespace (default 12)
;;;***
;;;### (autoloads (hanoi-unix-64 hanoi-unix hanoi) "hanoi" "play/hanoi.el"
-;;;;;; (16213 43281))
+;;;;;; (17178 20480))
;;; Generated autoloads from play/hanoi.el
(autoload (quote hanoi) "hanoi" "\
@@ -11881,7 +11893,7 @@ to be updated.
;;;### (autoloads (scan-buf-previous-region scan-buf-next-region
;;;;;; scan-buf-move-to-region help-at-pt-display-when-idle help-at-pt-set-timer
;;;;;; help-at-pt-cancel-timer display-local-help help-at-pt-kbd-string
-;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (17141 22791))
+;;;;;; help-at-pt-string) "help-at-pt" "help-at-pt.el" (17178 22146))
;;; Generated autoloads from help-at-pt.el
(autoload (quote help-at-pt-string) "help-at-pt" "\
@@ -12011,7 +12023,7 @@ different regions. With numeric argument ARG, behaves like
;;;### (autoloads (describe-categories describe-syntax describe-variable
;;;;;; variable-at-point describe-function-1 help-C-file-name describe-function
;;;;;; locate-library help-with-tutorial) "help-fns" "help-fns.el"
-;;;;;; (17141 22794))
+;;;;;; (17178 22146))
;;; Generated autoloads from help-fns.el
(autoload (quote help-with-tutorial) "help-fns" "\
@@ -12067,10 +12079,11 @@ If ANY-SYMBOL is non-nil, don't insist the symbol be bound.
(autoload (quote describe-variable) "help-fns" "\
Display the full documentation of VARIABLE (a symbol).
Returns the documentation as a string, also.
-If VARIABLE has a buffer-local value in BUFFER (default to the current buffer),
+If VARIABLE has a buffer-local value in BUFFER or FRAME
+\(default to the current buffer and current frame),
it is displayed along with the global value.
-\(fn VARIABLE &optional BUFFER)" t nil)
+\(fn VARIABLE &optional BUFFER FRAME)" t nil)
(autoload (quote describe-syntax) "help-fns" "\
Describe the syntax specifications in the syntax table of BUFFER.
@@ -12090,7 +12103,7 @@ BUFFER should be a buffer or a buffer name.
;;;***
;;;### (autoloads (three-step-help) "help-macro" "help-macro.el"
-;;;;;; (17141 22794))
+;;;;;; (17178 22146))
;;; Generated autoloads from help-macro.el
(defvar three-step-help nil "\
@@ -12106,7 +12119,7 @@ A value of nil means skip the middle step, so that
;;;### (autoloads (help-xref-on-pp help-insert-xref-button help-xref-button
;;;;;; help-make-xrefs help-setup-xref help-mode-finish help-mode-setup
-;;;;;; help-mode) "help-mode" "help-mode.el" (17141 22794))
+;;;;;; help-mode) "help-mode" "help-mode.el" (17178 22146))
;;; Generated autoloads from help-mode.el
(autoload (quote help-mode) "help-mode" "\
@@ -12189,7 +12202,7 @@ Add xrefs for symbols in `pp's output between FROM and TO.
;;;***
;;;### (autoloads (Helper-help Helper-describe-bindings) "helper"
-;;;;;; "emacs-lisp/helper.el" (17141 26))
+;;;;;; "emacs-lisp/helper.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/helper.el
(autoload (quote Helper-describe-bindings) "helper" "\
@@ -12205,7 +12218,7 @@ Provide help for current mode.
;;;***
;;;### (autoloads (hexlify-buffer hexl-find-file hexl-mode) "hexl"
-;;;;;; "hexl.el" (17146 18111))
+;;;;;; "hexl.el" (17178 22146))
;;; Generated autoloads from hexl.el
(autoload (quote hexl-mode) "hexl" "\
@@ -12300,8 +12313,8 @@ This discards the buffer's undo information.
;;;### (autoloads (hi-lock-write-interactive-patterns hi-lock-unface-buffer
;;;;;; hi-lock-face-phrase-buffer hi-lock-face-buffer hi-lock-line-face-buffer
-;;;;;; hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el" (17141
-;;;;;; 22799))
+;;;;;; hi-lock-mode hi-lock-mode) "hi-lock" "hi-lock.el" (17178
+;;;;;; 22146))
;;; Generated autoloads from hi-lock.el
(defvar hi-lock-mode nil "\
@@ -12412,7 +12425,7 @@ be found in variable `hi-lock-interactive-patterns'.
;;;***
;;;### (autoloads (hide-ifdef-lines hide-ifdef-read-only hide-ifdef-initially
-;;;;;; hide-ifdef-mode) "hideif" "progmodes/hideif.el" (17134 4576))
+;;;;;; hide-ifdef-mode) "hideif" "progmodes/hideif.el" (17178 22153))
;;; Generated autoloads from progmodes/hideif.el
(autoload (quote hide-ifdef-mode) "hideif" "\
@@ -12467,7 +12480,7 @@ how the hiding is done:
;;;***
;;;### (autoloads (hs-minor-mode hs-hide-comments-when-hiding-all)
-;;;;;; "hideshow" "progmodes/hideshow.el" (17134 4579))
+;;;;;; "hideshow" "progmodes/hideshow.el" (17178 22153))
;;; Generated autoloads from progmodes/hideshow.el
(defvar hs-hide-comments-when-hiding-all t "\
@@ -12530,7 +12543,7 @@ Key bindings:
;;;;;; highlight-compare-buffers highlight-changes-rotate-faces
;;;;;; highlight-changes-previous-change highlight-changes-next-change
;;;;;; highlight-changes-mode highlight-changes-remove-highlight)
-;;;;;; "hilit-chg" "hilit-chg.el" (17146 26034))
+;;;;;; "hilit-chg" "hilit-chg.el" (17178 22146))
;;; Generated autoloads from hilit-chg.el
(autoload (quote highlight-changes-remove-highlight) "hilit-chg" "\
@@ -12660,7 +12673,7 @@ variable `highlight-changes-global-changes-existing-buffers' is non-nil).
;;;;;; hippie-expand-ignore-buffers hippie-expand-max-buffers hippie-expand-no-restriction
;;;;;; hippie-expand-dabbrev-as-symbol hippie-expand-dabbrev-skip-space
;;;;;; hippie-expand-verbose hippie-expand-try-functions-list) "hippie-exp"
-;;;;;; "hippie-exp.el" (17141 22805))
+;;;;;; "hippie-exp.el" (17178 22146))
;;; Generated autoloads from hippie-exp.el
(defvar hippie-expand-try-functions-list (quote (try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-lisp-symbol-partially try-complete-lisp-symbol)) "\
@@ -12733,7 +12746,7 @@ argument VERBOSE non-nil makes the function verbose.
;;;***
;;;### (autoloads (global-hl-line-mode hl-line-mode) "hl-line" "hl-line.el"
-;;;;;; (17141 22805))
+;;;;;; (17178 22146))
;;; Generated autoloads from hl-line.el
(autoload (quote hl-line-mode) "hl-line" "\
@@ -12775,7 +12788,7 @@ Global-Hl-Line mode uses the functions `global-hl-line-unhighlight' and
;;;***
;;;### (autoloads (list-holidays holidays) "holidays" "calendar/holidays.el"
-;;;;;; (17097 30004))
+;;;;;; (17178 20480))
;;; Generated autoloads from calendar/holidays.el
(autoload (quote holidays) "holidays" "\
@@ -12799,7 +12812,7 @@ The optional LABEL is used to label the buffer created.
;;;***
;;;### (autoloads (hscroll-global-mode hscroll-mode turn-on-hscroll)
-;;;;;; "hscroll" "obsolete/hscroll.el" (17141 76))
+;;;;;; "hscroll" "obsolete/hscroll.el" (17178 22152))
;;; Generated autoloads from obsolete/hscroll.el
(autoload (quote turn-on-hscroll) "hscroll" "\
@@ -12825,8 +12838,8 @@ Also see `automatic-hscrolling'.
;;;***
-;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (17141
-;;;;;; 6753))
+;;;### (autoloads (html2text) "html2text" "gnus/html2text.el" (17178
+;;;;;; 22145))
;;; Generated autoloads from gnus/html2text.el
(autoload (quote html2text) "html2text" "\
@@ -12857,7 +12870,7 @@ Convert HTML to plain text in the current buffer.
;;;;;; ibuffer-backward-filter-group ibuffer-forward-filter-group
;;;;;; ibuffer-toggle-filter-group ibuffer-mouse-toggle-filter-group
;;;;;; ibuffer-interactive-filter-by-mode ibuffer-mouse-filter-by-mode
-;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" (17141 22806))
+;;;;;; ibuffer-auto-mode) "ibuf-ext" "ibuf-ext.el" (17178 22146))
;;; Generated autoloads from ibuf-ext.el
(autoload (quote ibuffer-auto-mode) "ibuf-ext" "\
@@ -13218,8 +13231,8 @@ defaults to one.
;;;***
;;;### (autoloads (define-ibuffer-filter define-ibuffer-op define-ibuffer-sorter
-;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (17141
-;;;;;; 22806))
+;;;;;; define-ibuffer-column) "ibuf-macs" "ibuf-macs.el" (17178
+;;;;;; 22146))
;;; Generated autoloads from ibuf-macs.el
(autoload (quote define-ibuffer-column) "ibuf-macs" "\
@@ -13305,7 +13318,7 @@ bound to the current value of the filter.
;;;***
;;;### (autoloads (ibuffer ibuffer-other-window ibuffer-list-buffers)
-;;;;;; "ibuffer" "ibuffer.el" (17141 22811))
+;;;;;; "ibuffer" "ibuffer.el" (17178 22146))
;;; Generated autoloads from ibuffer.el
(autoload (quote ibuffer-list-buffers) "ibuffer" "\
@@ -13346,7 +13359,7 @@ FORMATS is the value to use for `ibuffer-formats'.
;;;### (autoloads (icalendar-import-buffer icalendar-import-file
;;;;;; icalendar-export-region icalendar-export-file) "icalendar"
-;;;;;; "calendar/icalendar.el" (17115 45491))
+;;;;;; "calendar/icalendar.el" (17178 22143))
;;; Generated autoloads from calendar/icalendar.el
(autoload (quote icalendar-export-file) "icalendar" "\
@@ -13398,8 +13411,8 @@ buffer `*icalendar-errors*'.
;;;***
-;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (17144
-;;;;;; 6205))
+;;;### (autoloads (icomplete-mode) "icomplete" "icomplete.el" (17178
+;;;;;; 22146))
;;; Generated autoloads from icomplete.el
(defvar icomplete-mode nil "\
@@ -13420,7 +13433,7 @@ With a numeric argument, turn Icomplete mode on iff ARG is positive.
;;;***
-;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (17134 4581))
+;;;### (autoloads (icon-mode) "icon" "progmodes/icon.el" (17178 22153))
;;; Generated autoloads from progmodes/icon.el
(autoload (quote icon-mode) "icon" "\
@@ -13461,7 +13474,7 @@ with no args, if that value is non-nil.
;;;***
;;;### (autoloads (idlwave-shell) "idlw-shell" "progmodes/idlw-shell.el"
-;;;;;; (17144 58053))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/idlw-shell.el
(autoload (quote idlwave-shell) "idlw-shell" "\
@@ -13487,7 +13500,7 @@ See also the variable `idlwave-shell-prompt-pattern'.
;;;***
;;;### (autoloads (idlwave-mode) "idlwave" "progmodes/idlwave.el"
-;;;;;; (17097 30727))
+;;;;;; (17178 20481))
;;; Generated autoloads from progmodes/idlwave.el
(autoload (quote idlwave-mode) "idlwave" "\
@@ -13623,8 +13636,8 @@ The main features of this mode are
;;;;;; ido-find-alternate-file ido-find-file-other-window ido-find-file
;;;;;; ido-find-file-in-dir ido-switch-buffer-other-frame ido-insert-buffer
;;;;;; ido-kill-buffer ido-display-buffer ido-switch-buffer-other-window
-;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (17141
-;;;;;; 22818))
+;;;;;; ido-switch-buffer ido-mode ido-mode) "ido" "ido.el" (17178
+;;;;;; 22146))
;;; Generated autoloads from ido.el
(defvar ido-mode nil "\
@@ -13885,7 +13898,7 @@ DEF, if non-nil, is the default value.
;;;***
-;;;### (autoloads (ielm) "ielm" "ielm.el" (17141 22821))
+;;;### (autoloads (ielm) "ielm" "ielm.el" (17178 22146))
;;; Generated autoloads from ielm.el
(add-hook 'same-window-buffer-names "*ielm*")
@@ -13898,7 +13911,7 @@ Switches to the buffer `*ielm*', or creates it if it does not exist.
;;;***
;;;### (autoloads (iimage-mode turn-on-iimage-mode) "iimage" "iimage.el"
-;;;;;; (17141 22821))
+;;;;;; (17178 22146))
;;; Generated autoloads from iimage.el
(autoload (quote turn-on-iimage-mode) "iimage" "\
@@ -13916,7 +13929,7 @@ Toggle inline image minor mode.
;;;### (autoloads (defimage find-image remove-images insert-sliced-image
;;;;;; insert-image put-image create-image image-type-available-p
;;;;;; image-type-from-file-header image-type-from-data) "image"
-;;;;;; "image.el" (17141 22821))
+;;;;;; "image.el" (17178 22146))
;;; Generated autoloads from image.el
(autoload (quote image-type-from-data) "image" "\
@@ -14049,7 +14062,7 @@ Example:
;;;### (autoloads (auto-image-file-mode insert-image-file image-file-name-regexp
;;;;;; image-file-name-regexps image-file-name-extensions) "image-file"
-;;;;;; "image-file.el" (17141 22821))
+;;;;;; "image-file.el" (17178 22146))
;;; Generated autoloads from image-file.el
(defvar image-file-name-extensions (quote ("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm")) "\
@@ -14112,7 +14125,7 @@ Image files are those whose name has an extension in
;;;***
;;;### (autoloads (image-mode-maybe image-minor-mode image-mode)
-;;;;;; "image-mode" "image-mode.el" (17097 55485))
+;;;;;; "image-mode" "image-mode.el" (17178 20481))
;;; Generated autoloads from image-mode.el
(push '("\\.jpe?g\\'" . image-mode) auto-mode-alist)
(push '("\\.png\\'" . image-mode) auto-mode-alist)
@@ -14150,7 +14163,7 @@ information on these modes.
;;;***
;;;### (autoloads (imenu imenu-add-menubar-index imenu-add-to-menubar
-;;;;;; imenu-sort-function) "imenu" "imenu.el" (17141 22824))
+;;;;;; imenu-sort-function) "imenu" "imenu.el" (17178 22146))
;;; Generated autoloads from imenu.el
(defvar imenu-sort-function nil "\
@@ -14270,7 +14283,7 @@ for more information.
;;;### (autoloads (indian-char-glyph indian-glyph-char in-is13194-pre-write-conversion
;;;;;; in-is13194-post-read-conversion indian-compose-string indian-compose-region)
-;;;;;; "ind-util" "language/ind-util.el" (17097 30350))
+;;;;;; "ind-util" "language/ind-util.el" (17178 20481))
;;; Generated autoloads from language/ind-util.el
(autoload (quote indian-compose-region) "ind-util" "\
@@ -14313,7 +14326,7 @@ See also the function `indian-glyph-char'.
;;;### (autoloads (inferior-lisp inferior-lisp-prompt inferior-lisp-load-command
;;;;;; inferior-lisp-program inferior-lisp-filter-regexp) "inf-lisp"
-;;;;;; "progmodes/inf-lisp.el" (17134 4617))
+;;;;;; "progmodes/inf-lisp.el" (17178 22153))
;;; Generated autoloads from progmodes/inf-lisp.el
(defvar inferior-lisp-filter-regexp "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'" "\
@@ -14380,7 +14393,7 @@ of `inferior-lisp-program'). Runs the hooks from
;;;### (autoloads (Info-speedbar-browser Info-goto-emacs-key-command-node
;;;;;; Info-goto-emacs-command-node Info-mode info-apropos Info-index
;;;;;; Info-directory info-standalone info-emacs-manual info info-other-window)
-;;;;;; "info" "info.el" (17146 26046))
+;;;;;; "info" "info.el" (17178 22146))
;;; Generated autoloads from info.el
(autoload (quote info-other-window) "info" "\
@@ -14540,7 +14553,7 @@ This will add a speedbar major display mode.
;;;### (autoloads (info-complete-file info-complete-symbol info-lookup-file
;;;;;; info-lookup-symbol info-lookup-reset) "info-look" "info-look.el"
-;;;;;; (17141 22827))
+;;;;;; (17178 22146))
;;; Generated autoloads from info-look.el
(autoload (quote info-lookup-reset) "info-look" "\
@@ -14588,7 +14601,7 @@ Perform completion on file preceding point.
;;;***
;;;### (autoloads (info-xref-check-all-custom info-xref-check-all
-;;;;;; info-xref-check) "info-xref" "info-xref.el" (17141 22827))
+;;;;;; info-xref-check) "info-xref" "info-xref.el" (17178 22146))
;;; Generated autoloads from info-xref.el
(autoload (quote info-xref-check) "info-xref" "\
@@ -14615,7 +14628,7 @@ quite a while.
;;;***
;;;### (autoloads (batch-info-validate Info-validate Info-split Info-tagify)
-;;;;;; "informat" "informat.el" (17141 22836))
+;;;;;; "informat" "informat.el" (17178 22146))
;;; Generated autoloads from informat.el
(autoload (quote Info-tagify) "informat" "\
@@ -14656,7 +14669,7 @@ For example, invoke \"emacs -batch -f batch-info-validate $info/ ~/*.info\"
;;;### (autoloads (isearch-process-search-multibyte-characters isearch-toggle-input-method
;;;;;; isearch-toggle-specified-input-method) "isearch-x" "international/isearch-x.el"
-;;;;;; (17116 14485))
+;;;;;; (17178 22146))
;;; Generated autoloads from international/isearch-x.el
(autoload (quote isearch-toggle-specified-input-method) "isearch-x" "\
@@ -14676,8 +14689,8 @@ Not documented
;;;***
-;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (17141
-;;;;;; 22843))
+;;;### (autoloads (isearchb-activate) "isearchb" "isearchb.el" (17178
+;;;;;; 22147))
;;; Generated autoloads from isearchb.el
(autoload (quote isearchb-activate) "isearchb" "\
@@ -14691,7 +14704,7 @@ accessed via isearchb.
;;;***
;;;### (autoloads (iso-accents-mode) "iso-acc" "obsolete/iso-acc.el"
-;;;;;; (17141 76))
+;;;;;; (17178 22152))
;;; Generated autoloads from obsolete/iso-acc.el
(autoload (quote iso-accents-mode) "iso-acc" "\
@@ -14724,7 +14737,7 @@ and a negative argument disables it.
;;;### (autoloads (iso-cvt-define-menu iso-cvt-write-only iso-cvt-read-only
;;;;;; iso-sgml2iso iso-iso2sgml iso-iso2duden iso-iso2gtex iso-gtex2iso
;;;;;; iso-tex2iso iso-iso2tex iso-german iso-spanish) "iso-cvt"
-;;;;;; "international/iso-cvt.el" (17097 30247))
+;;;;;; "international/iso-cvt.el" (17178 20480))
;;; Generated autoloads from international/iso-cvt.el
(autoload (quote iso-spanish) "iso-cvt" "\
@@ -14808,7 +14821,7 @@ Add submenus to the File menu, to convert to and from various formats.
;;;***
;;;### (autoloads nil "iso-transl" "international/iso-transl.el"
-;;;;;; (17097 30250))
+;;;;;; (17178 20504))
;;; Generated autoloads from international/iso-transl.el
(or key-translation-map (setq key-translation-map (make-sparse-keymap)))
(define-key key-translation-map "\C-x8" 'iso-transl-ctl-x-8-map)
@@ -14821,7 +14834,7 @@ Add submenus to the File menu, to convert to and from various formats.
;;;;;; ispell-region ispell-change-dictionary ispell-kill-ispell
;;;;;; ispell-help ispell-pdict-save ispell-word ispell-local-dictionary-alist
;;;;;; ispell-personal-dictionary) "ispell" "textmodes/ispell.el"
-;;;;;; (17144 58097))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/ispell.el
(defvar ispell-personal-dictionary nil "\
@@ -15107,8 +15120,8 @@ You can bind this to the key C-c i in GNUS or mail by adding to
;;;***
-;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (17141
-;;;;;; 22847))
+;;;### (autoloads (iswitchb-mode) "iswitchb" "iswitchb.el" (17178
+;;;;;; 22147))
;;; Generated autoloads from iswitchb.el
(defvar iswitchb-mode nil "\
@@ -15134,7 +15147,7 @@ This mode enables switching between buffers using substrings. See
;;;### (autoloads (read-hiragana-string japanese-zenkaku-region japanese-hankaku-region
;;;;;; japanese-hiragana-region japanese-katakana-region japanese-zenkaku
;;;;;; japanese-hankaku japanese-hiragana japanese-katakana setup-japanese-environment-internal)
-;;;;;; "japan-util" "language/japan-util.el" (17097 30350))
+;;;;;; "japan-util" "language/japan-util.el" (17178 20481))
;;; Generated autoloads from language/japan-util.el
(autoload (quote setup-japanese-environment-internal) "japan-util" "\
@@ -15211,8 +15224,8 @@ If non-nil, second arg INITIAL-INPUT is a string to insert before reading.
;;;***
-;;;### (autoloads (jit-lock-register) "jit-lock" "jit-lock.el" (17141
-;;;;;; 22847))
+;;;### (autoloads (jit-lock-register) "jit-lock" "jit-lock.el" (17178
+;;;;;; 22147))
;;; Generated autoloads from jit-lock.el
(autoload (quote jit-lock-register) "jit-lock" "\
@@ -15226,7 +15239,7 @@ If non-nil, CONTEXTUAL means that a contextual fontification would be useful.
;;;***
;;;### (autoloads (jka-compr-uninstall jka-compr-handler) "jka-compr"
-;;;;;; "jka-compr.el" (17141 22848))
+;;;;;; "jka-compr.el" (17178 22147))
;;; Generated autoloads from jka-compr.el
(defvar jka-compr-inhibit nil "\
@@ -15251,7 +15264,7 @@ by `jka-compr-installed'.
;;;### (autoloads (keypad-setup keypad-numlock-shifted-setup keypad-shifted-setup
;;;;;; keypad-numlock-setup keypad-setup) "keypad" "emulation/keypad.el"
-;;;;;; (17134 16203))
+;;;;;; (17178 22144))
;;; Generated autoloads from emulation/keypad.el
(defvar keypad-setup nil "\
@@ -15307,7 +15320,7 @@ the decimal key on the keypad is mapped to DECIMAL instead of `.'
;;;***
;;;### (autoloads (kinsoku) "kinsoku" "international/kinsoku.el"
-;;;;;; (17097 30250))
+;;;;;; (17178 20480))
;;; Generated autoloads from international/kinsoku.el
(autoload (quote kinsoku) "kinsoku" "\
@@ -15328,8 +15341,8 @@ the context of text formatting.
;;;***
-;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (17097
-;;;;;; 30252))
+;;;### (autoloads (kkc-region) "kkc" "international/kkc.el" (17178
+;;;;;; 20480))
;;; Generated autoloads from international/kkc.el
(defvar kkc-after-update-conversion-functions nil "\
@@ -15354,7 +15367,7 @@ and the return value is the length of the conversion.
;;;### (autoloads (kmacro-end-call-mouse kmacro-end-and-call-macro
;;;;;; kmacro-end-or-call-macro kmacro-start-macro-or-insert-counter
;;;;;; kmacro-call-macro kmacro-end-macro kmacro-start-macro) "kmacro"
-;;;;;; "kmacro.el" (17141 22852))
+;;;;;; "kmacro.el" (17178 22147))
;;; Generated autoloads from kmacro.el
(global-set-key "\C-x(" 'kmacro-start-macro)
(global-set-key "\C-x)" 'kmacro-end-macro)
@@ -15461,7 +15474,7 @@ If kbd macro currently being defined end it before activating it.
;;;### (autoloads (kannada-post-read-conversion kannada-compose-string
;;;;;; kannada-compose-region) "knd-util" "language/knd-util.el"
-;;;;;; (17097 30352))
+;;;;;; (17178 20481))
;;; Generated autoloads from language/knd-util.el
(defconst kannada-consonant "[\x51f75-\x51fb9]")
@@ -15484,7 +15497,7 @@ Not documented
;;;***
;;;### (autoloads (setup-korean-environment-internal) "korea-util"
-;;;;;; "language/korea-util.el" (17097 30352))
+;;;;;; "language/korea-util.el" (17178 20481))
;;; Generated autoloads from language/korea-util.el
(defvar default-korean-keyboard (if (string-match "3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) "3" "") "\
@@ -15499,7 +15512,7 @@ Not documented
;;;***
;;;### (autoloads (lm lm-test-run) "landmark" "play/landmark.el"
-;;;;;; (17134 16334))
+;;;;;; (17178 22152))
;;; Generated autoloads from play/landmark.el
(defalias (quote landmark-repeat) (quote lm-test-run))
@@ -15533,8 +15546,8 @@ Use \\[describe-mode] for more info.
;;;### (autoloads (lao-compose-region lao-composition-function lao-post-read-conversion
;;;;;; lao-transcribe-roman-to-lao-string lao-transcribe-single-roman-syllable-to-lao
-;;;;;; lao-compose-string) "lao-util" "language/lao-util.el" (17097
-;;;;;; 30352))
+;;;;;; lao-compose-string) "lao-util" "language/lao-util.el" (17178
+;;;;;; 20481))
;;; Generated autoloads from language/lao-util.el
(autoload (quote lao-compose-string) "lao-util" "\
@@ -15583,7 +15596,7 @@ Not documented
;;;### (autoloads (latexenc-find-file-coding-system latexenc-coding-system-to-inputenc
;;;;;; latexenc-inputenc-to-coding-system latex-inputenc-coding-alist)
-;;;;;; "latexenc" "international/latexenc.el" (17097 30252))
+;;;;;; "latexenc" "international/latexenc.el" (17178 20480))
;;; Generated autoloads from international/latexenc.el
(defvar latex-inputenc-coding-alist (quote (("ansinew" . windows-1252) ("applemac" . mac-roman) ("ascii" . us-ascii) ("cp1250" . windows-1250) ("cp1252" . windows-1252) ("cp1257" . cp1257) ("cp437de" . cp437) ("cp437" . cp437) ("cp850" . cp850) ("cp852" . cp852) ("cp865" . cp865) ("latin1" . iso-8859-1) ("latin2" . iso-8859-2) ("latin3" . iso-8859-3) ("latin4" . iso-8859-4) ("latin5" . iso-8859-5) ("latin9" . iso-8859-15) ("next" . next) ("utf8" . utf-8) ("utf8x" . utf-8))) "\
@@ -15614,7 +15627,7 @@ coding system names is determined from `latex-inputenc-coding-alist'.
;;;***
;;;### (autoloads (latin1-display-ucs-per-lynx latin1-display latin1-display)
-;;;;;; "latin1-disp" "international/latin1-disp.el" (17097 30256))
+;;;;;; "latin1-disp" "international/latin1-disp.el" (17178 20480))
;;; Generated autoloads from international/latin1-disp.el
(defvar latin1-display nil "\
@@ -15658,7 +15671,7 @@ use either \\[customize] or the function `latin1-display'.")
;;;***
;;;### (autoloads (turn-on-lazy-lock lazy-lock-mode) "lazy-lock"
-;;;;;; "obsolete/lazy-lock.el" (17141 78))
+;;;;;; "obsolete/lazy-lock.el" (17178 22152))
;;; Generated autoloads from obsolete/lazy-lock.el
(autoload (quote lazy-lock-mode) "lazy-lock" "\
@@ -15726,7 +15739,7 @@ Unconditionally turn on Lazy Lock mode.
;;;***
;;;### (autoloads (ld-script-mode) "ld-script" "progmodes/ld-script.el"
-;;;;;; (17134 4617))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/ld-script.el
(add-to-list (quote auto-mode-alist) (quote ("\\.lds" . ld-script-mode)))
@@ -15739,7 +15752,7 @@ A major mode to edit GNU ld script files
;;;***
;;;### (autoloads (ledit-from-lisp-mode ledit-mode) "ledit" "ledit.el"
-;;;;;; (17141 22852))
+;;;;;; (17178 22149))
;;; Generated autoloads from ledit.el
(defconst ledit-save-files t "\
@@ -15773,7 +15786,7 @@ Not documented
;;;***
-;;;### (autoloads (life) "life" "play/life.el" (17134 16334))
+;;;### (autoloads (life) "life" "play/life.el" (17178 22152))
;;; Generated autoloads from play/life.el
(autoload (quote life) "life" "\
@@ -15786,8 +15799,8 @@ generations (this defaults to 1).
;;;***
-;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (17141
-;;;;;; 22852))
+;;;### (autoloads (unload-feature) "loadhist" "loadhist.el" (17178
+;;;;;; 22150))
;;; Generated autoloads from loadhist.el
(autoload (quote unload-feature) "loadhist" "\
@@ -15810,7 +15823,7 @@ such as redefining an Emacs function.
;;;***
;;;### (autoloads (locate-with-filter locate locate-ls-subdir-switches)
-;;;;;; "locate" "locate.el" (17141 22855))
+;;;;;; "locate" "locate.el" (17178 22150))
;;; Generated autoloads from locate.el
(defvar locate-ls-subdir-switches "-al" "\
@@ -15835,7 +15848,7 @@ shown; this is often useful to constrain a big search.
;;;***
-;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (17141 22855))
+;;;### (autoloads (log-edit) "log-edit" "log-edit.el" (17178 22150))
;;; Generated autoloads from log-edit.el
(autoload (quote log-edit) "log-edit" "\
@@ -15856,8 +15869,8 @@ If BUFFER is non-nil `log-edit' will jump to that buffer, use it to edit the
;;;***
-;;;### (autoloads (log-view-mode) "log-view" "log-view.el" (17141
-;;;;;; 22855))
+;;;### (autoloads (log-view-mode) "log-view" "log-view.el" (17178
+;;;;;; 22150))
;;; Generated autoloads from log-view.el
(autoload (quote log-view-mode) "log-view" "\
@@ -15867,8 +15880,8 @@ Major mode for browsing CVS log output.
;;;***
-;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (17141
-;;;;;; 22857))
+;;;### (autoloads (longlines-mode) "longlines" "longlines.el" (17178
+;;;;;; 22150))
;;; Generated autoloads from longlines.el
(autoload (quote longlines-mode) "longlines" "\
@@ -15889,8 +15902,8 @@ are indicated with a symbol.
;;;***
;;;### (autoloads (print-region lpr-region print-buffer lpr-buffer
-;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (17141
-;;;;;; 22857))
+;;;;;; lpr-command lpr-switches printer-name) "lpr" "lpr.el" (17178
+;;;;;; 22150))
;;; Generated autoloads from lpr.el
(defvar lpr-windows-system (memq system-type (quote (emx win32 w32 mswindows ms-dos windows-nt))))
@@ -15984,7 +15997,7 @@ for further customization of the printer command.
;;;***
;;;### (autoloads (ls-lisp-support-shell-wildcards) "ls-lisp" "ls-lisp.el"
-;;;;;; (17141 22857))
+;;;;;; (17178 22150))
;;; Generated autoloads from ls-lisp.el
(defvar ls-lisp-support-shell-wildcards t "\
@@ -15995,8 +16008,8 @@ Otherwise they are treated as Emacs regexps (for backward compatibility).")
;;;***
-;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (17097
-;;;;;; 30010))
+;;;### (autoloads (phases-of-moon) "lunar" "calendar/lunar.el" (17178
+;;;;;; 22143))
;;; Generated autoloads from calendar/lunar.el
(autoload (quote phases-of-moon) "lunar" "\
@@ -16009,8 +16022,8 @@ This function is suitable for execution in a .emacs file.
;;;***
-;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (17134
-;;;;;; 4617))
+;;;### (autoloads (m4-mode) "m4-mode" "progmodes/m4-mode.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from progmodes/m4-mode.el
(autoload (quote m4-mode) "m4-mode" "\
@@ -16022,7 +16035,7 @@ A major mode to edit m4 macro files.
;;;***
;;;### (autoloads (macroexpand-all) "macroexp" "emacs-lisp/macroexp.el"
-;;;;;; (17141 33))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/macroexp.el
(autoload (quote macroexpand-all) "macroexp" "\
@@ -16036,7 +16049,7 @@ definitions to shadow the loaded ones for use in file byte-compilation.
;;;***
;;;### (autoloads (apply-macro-to-region-lines kbd-macro-query insert-kbd-macro
-;;;;;; name-last-kbd-macro) "macros" "macros.el" (17141 22860))
+;;;;;; name-last-kbd-macro) "macros" "macros.el" (17178 22150))
;;; Generated autoloads from macros.el
(autoload (quote name-last-kbd-macro) "macros" "\
@@ -16125,7 +16138,7 @@ and then select the region of un-tablified names and use
;;;***
;;;### (autoloads (what-domain mail-extract-address-components) "mail-extr"
-;;;;;; "mail/mail-extr.el" (17141 4120))
+;;;;;; "mail/mail-extr.el" (17178 22150))
;;; Generated autoloads from mail/mail-extr.el
(autoload (quote mail-extract-address-components) "mail-extr" "\
@@ -16156,7 +16169,7 @@ Convert mail domain DOMAIN to the country it corresponds to.
;;;### (autoloads (mail-hist-put-headers-into-history mail-hist-keep-history
;;;;;; mail-hist-enable mail-hist-define-keys) "mail-hist" "mail/mail-hist.el"
-;;;;;; (17141 4121))
+;;;;;; (17178 22150))
;;; Generated autoloads from mail/mail-hist.el
(autoload (quote mail-hist-define-keys) "mail-hist" "\
@@ -16187,8 +16200,8 @@ This function normally would be called when the message is sent.
;;;### (autoloads (mail-fetch-field mail-unquote-printable-region
;;;;;; mail-unquote-printable mail-quote-printable mail-file-babyl-p
-;;;;;; mail-use-rfc822) "mail-utils" "mail/mail-utils.el" (17141
-;;;;;; 4123))
+;;;;;; mail-use-rfc822) "mail-utils" "mail/mail-utils.el" (17178
+;;;;;; 22150))
;;; Generated autoloads from mail/mail-utils.el
(defvar mail-use-rfc822 nil "\
@@ -16240,7 +16253,7 @@ If 4th arg LIST is non-nil, return a list of all such fields.
;;;***
;;;### (autoloads (define-mail-abbrev build-mail-abbrevs mail-abbrevs-setup)
-;;;;;; "mailabbrev" "mail/mailabbrev.el" (17141 4124))
+;;;;;; "mailabbrev" "mail/mailabbrev.el" (17178 22150))
;;; Generated autoloads from mail/mailabbrev.el
(autoload (quote mail-abbrevs-setup) "mailabbrev" "\
@@ -16263,8 +16276,8 @@ If DEFINITION contains multiple addresses, separate them with commas.
;;;***
;;;### (autoloads (mail-complete define-mail-alias expand-mail-aliases
-;;;;;; mail-complete-style) "mailalias" "mail/mailalias.el" (17141
-;;;;;; 4125))
+;;;;;; mail-complete-style) "mailalias" "mail/mailalias.el" (17178
+;;;;;; 22150))
;;; Generated autoloads from mail/mailalias.el
(defvar mail-complete-style (quote angles) "\
@@ -16311,7 +16324,7 @@ current header, calls `mail-complete-function' and passes prefix arg if any.
;;;### (autoloads (makefile-bsdmake-mode makefile-makepp-mode makefile-gmake-mode
;;;;;; makefile-automake-mode makefile-mode) "make-mode" "progmodes/make-mode.el"
-;;;;;; (17134 4623))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/make-mode.el
(autoload (quote makefile-mode) "make-mode" "\
@@ -16423,8 +16436,8 @@ An adapted `makefile-mode' that knows about BSD make.
;;;***
-;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (17141
-;;;;;; 22860))
+;;;### (autoloads (make-command-summary) "makesum" "makesum.el" (17178
+;;;;;; 22151))
;;; Generated autoloads from makesum.el
(autoload (quote make-command-summary) "makesum" "\
@@ -16435,7 +16448,7 @@ Previous contents of that buffer are killed first.
;;;***
-;;;### (autoloads (man-follow man) "man" "man.el" (17141 22861))
+;;;### (autoloads (man-follow man) "man" "man.el" (17178 22151))
;;; Generated autoloads from man.el
(defalias (quote manual-entry) (quote man))
@@ -16462,7 +16475,7 @@ Get a Un*x manual page of the item under point and put it in a buffer.
;;;***
-;;;### (autoloads (master-mode) "master" "master.el" (17141 22861))
+;;;### (autoloads (master-mode) "master" "master.el" (17178 22151))
;;; Generated autoloads from master.el
(autoload (quote master-mode) "master" "\
@@ -16484,8 +16497,8 @@ yourself the value of `master-of' by calling `master-show-slave'.
;;;***
-;;;### (autoloads (menu-bar-mode) "menu-bar" "menu-bar.el" (17146
-;;;;;; 18389))
+;;;### (autoloads (menu-bar-mode) "menu-bar" "menu-bar.el" (17178
+;;;;;; 22151))
;;; Generated autoloads from menu-bar.el
(put (quote menu-bar-mode) (quote standard-value) (quote (t)))
@@ -16524,7 +16537,7 @@ turn on menu bars; otherwise, turn off menu bars.
;;;;;; message-signature message-indent-citation-function message-cite-function
;;;;;; message-yank-prefix message-citation-line-function message-send-mail-function
;;;;;; message-user-organization-file message-signature-separator
-;;;;;; message-from-style) "message" "gnus/message.el" (17142 44975))
+;;;;;; message-from-style) "message" "gnus/message.el" (17178 22145))
;;; Generated autoloads from gnus/message.el
(defvar message-from-style (quote default) "\
@@ -16830,7 +16843,7 @@ which specify the range to operate on.
;;;***
;;;### (autoloads (metapost-mode metafont-mode) "meta-mode" "progmodes/meta-mode.el"
-;;;;;; (17134 4623))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/meta-mode.el
(autoload (quote metafont-mode) "meta-mode" "\
@@ -16857,7 +16870,7 @@ Turning on MetaPost mode calls the value of the variable
;;;### (autoloads (metamail-region metamail-buffer metamail-interpret-body
;;;;;; metamail-interpret-header) "metamail" "mail/metamail.el"
-;;;;;; (17141 4126))
+;;;;;; (17178 22150))
;;; Generated autoloads from mail/metamail.el
(autoload (quote metamail-interpret-header) "metamail" "\
@@ -16901,8 +16914,8 @@ redisplayed as output is inserted.
;;;***
;;;### (autoloads (mh-letter-mode mh-smail-other-window mh-user-agent-compose
-;;;;;; mh-smail-batch mh-smail) "mh-comp" "mh-e/mh-comp.el" (17097
-;;;;;; 30407))
+;;;;;; mh-smail-batch mh-smail) "mh-comp" "mh-e/mh-comp.el" (17178
+;;;;;; 20480))
;;; Generated autoloads from mh-e/mh-comp.el
(autoload (quote mh-smail) "mh-comp" "\
@@ -16977,7 +16990,7 @@ When a message is composed, the hooks `text-mode-hook' and
;;;***
;;;### (autoloads (mh-folder-mode mh-version mh-nmail mh-rmail) "mh-e"
-;;;;;; "mh-e/mh-e.el" (17146 26082))
+;;;;;; "mh-e/mh-e.el" (17178 22151))
;;; Generated autoloads from mh-e/mh-e.el
(autoload (quote mh-rmail) "mh-e" "\
@@ -17055,7 +17068,7 @@ messages in that region.
;;;***
-;;;### (autoloads nil "mh-init" "mh-e/mh-init.el" (17097 30424))
+;;;### (autoloads nil "mh-init" "mh-e/mh-init.el" (17178 20480))
;;; Generated autoloads from mh-e/mh-init.el
(put (quote mh-progs) (quote risky-local-variable) t)
@@ -17067,7 +17080,7 @@ messages in that region.
;;;***
;;;### (autoloads (midnight-delay-set clean-buffer-list) "midnight"
-;;;;;; "midnight.el" (17141 22866))
+;;;;;; "midnight.el" (17178 22151))
;;; Generated autoloads from midnight.el
(autoload (quote clean-buffer-list) "midnight" "\
@@ -17094,7 +17107,7 @@ to its second argument TM.
;;;***
;;;### (autoloads (minibuffer-electric-default-mode) "minibuf-eldef"
-;;;;;; "minibuf-eldef.el" (17141 22866))
+;;;;;; "minibuf-eldef.el" (17178 22151))
;;; Generated autoloads from minibuf-eldef.el
(defvar minibuffer-electric-default-mode nil "\
@@ -17123,7 +17136,7 @@ Returns non-nil if the new state is enabled.
;;;***
;;;### (autoloads (mixal-mode) "mixal-mode" "progmodes/mixal-mode.el"
-;;;;;; (17134 4626))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/mixal-mode.el
(autoload (quote mixal-mode) "mixal-mode" "\
@@ -17138,7 +17151,7 @@ Major mode for the mixal asm language.
;;;### (autoloads (malayalam-composition-function malayalam-post-read-conversion
;;;;;; malayalam-compose-region) "mlm-util" "language/mlm-util.el"
-;;;;;; (17097 30355))
+;;;;;; (17178 20481))
;;; Generated autoloads from language/mlm-util.el
(autoload (quote malayalam-compose-region) "mlm-util" "\
@@ -17161,7 +17174,7 @@ PATTERN regexp.
;;;***
;;;### (autoloads (mm-inline-external-body) "mm-extern" "gnus/mm-extern.el"
-;;;;;; (17141 6779))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/mm-extern.el
(autoload (quote mm-inline-external-body) "mm-extern" "\
@@ -17175,7 +17188,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.
;;;***
;;;### (autoloads (mm-inline-partial) "mm-partial" "gnus/mm-partial.el"
-;;;;;; (17141 6779))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/mm-partial.el
(autoload (quote mm-inline-partial) "mm-partial" "\
@@ -17189,7 +17202,7 @@ If NO-DISPLAY is nil, display it. Otherwise, do nothing after replacing.
;;;***
;;;### (autoloads (mm-url-insert-file-contents-external mm-url-insert-file-contents)
-;;;;;; "mm-url" "gnus/mm-url.el" (17141 6779))
+;;;;;; "mm-url" "gnus/mm-url.el" (17178 22146))
;;; Generated autoloads from gnus/mm-url.el
(autoload (quote mm-url-insert-file-contents) "mm-url" "\
@@ -17205,8 +17218,8 @@ Insert file contents of URL using `mm-url-program'.
;;;***
-;;;### (autoloads (mm-uu-dissect) "mm-uu" "gnus/mm-uu.el" (17141
-;;;;;; 6782))
+;;;### (autoloads (mm-uu-dissect) "mm-uu" "gnus/mm-uu.el" (17178
+;;;;;; 22146))
;;; Generated autoloads from gnus/mm-uu.el
(autoload (quote mm-uu-dissect) "mm-uu" "\
@@ -17217,7 +17230,7 @@ Dissect the current buffer and return a list of uu handles.
;;;***
;;;### (autoloads (mml1991-sign mml1991-encrypt) "mml1991" "gnus/mml1991.el"
-;;;;;; (17141 6788))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/mml1991.el
(autoload (quote mml1991-encrypt) "mml1991" "\
@@ -17234,7 +17247,7 @@ Not documented
;;;### (autoloads (mml2015-self-encrypt mml2015-sign mml2015-encrypt
;;;;;; mml2015-verify-test mml2015-verify mml2015-decrypt-test mml2015-decrypt)
-;;;;;; "mml2015" "gnus/mml2015.el" (17142 44976))
+;;;;;; "mml2015" "gnus/mml2015.el" (17178 22146))
;;; Generated autoloads from gnus/mml2015.el
(autoload (quote mml2015-decrypt) "mml2015" "\
@@ -17275,7 +17288,7 @@ Not documented
;;;***
;;;### (autoloads (modula-2-mode) "modula2" "progmodes/modula2.el"
-;;;;;; (17073 44110))
+;;;;;; (17178 20481))
;;; Generated autoloads from progmodes/modula2.el
(autoload (quote modula-2-mode) "modula2" "\
@@ -17307,7 +17320,7 @@ followed by the first character of the construct.
;;;***
;;;### (autoloads (unmorse-region morse-region) "morse" "play/morse.el"
-;;;;;; (17134 16334))
+;;;;;; (17178 22152))
;;; Generated autoloads from play/morse.el
(autoload (quote morse-region) "morse" "\
@@ -17322,8 +17335,8 @@ Convert morse coded text in region to ordinary ASCII text.
;;;***
-;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (17141
-;;;;;; 22869))
+;;;### (autoloads (mouse-sel-mode) "mouse-sel" "mouse-sel.el" (17178
+;;;;;; 22151))
;;; Generated autoloads from mouse-sel.el
(defvar mouse-sel-mode nil "\
@@ -17376,7 +17389,7 @@ primary selection and region.
;;;***
-;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (17134 16334))
+;;;### (autoloads (mpuz) "mpuz" "play/mpuz.el" (17178 22152))
;;; Generated autoloads from play/mpuz.el
(autoload (quote mpuz) "mpuz" "\
@@ -17386,7 +17399,7 @@ Multiplication puzzle with GNU Emacs.
;;;***
-;;;### (autoloads (msb-mode) "msb" "msb.el" (17141 22875))
+;;;### (autoloads (msb-mode) "msb" "msb.el" (17178 22151))
;;; Generated autoloads from msb.el
(defvar msb-mode nil "\
@@ -17414,7 +17427,7 @@ different buffer menu using the function `msb'.
;;;;;; describe-current-coding-system describe-current-coding-system-briefly
;;;;;; describe-coding-system describe-character-set list-charset-chars
;;;;;; read-charset list-character-sets) "mule-diag" "international/mule-diag.el"
-;;;;;; (17097 30270))
+;;;;;; (17178 20480))
;;; Generated autoloads from international/mule-diag.el
(defvar non-iso-charset-alist (\` ((mac-roman (ascii latin-iso8859-1 mule-unicode-2500-33ff mule-unicode-0100-24ff mule-unicode-e000-ffff) mac-roman-decoder ((0 255))) (viscii (ascii vietnamese-viscii-lower vietnamese-viscii-upper) viet-viscii-nonascii-translation-table ((0 255))) (vietnamese-tcvn (ascii vietnamese-viscii-lower vietnamese-viscii-upper) viet-tcvn-nonascii-translation-table ((0 255))) (koi8-r (ascii cyrillic-iso8859-5) cyrillic-koi8-r-nonascii-translation-table ((32 255))) (alternativnyj (ascii cyrillic-iso8859-5) cyrillic-alternativnyj-nonascii-translation-table ((32 255))) (koi8-u (ascii cyrillic-iso8859-5 mule-unicode-0100-24ff) cyrillic-koi8-u-nonascii-translation-table ((32 255))) (big5 (ascii chinese-big5-1 chinese-big5-2) decode-big5-char ((32 127) ((161 254) 64 126 161 254))) (sjis (ascii katakana-jisx0201 japanese-jisx0208) decode-sjis-char ((32 127 161 223) ((129 159 224 239) 64 126 128 252))))) "\
@@ -17587,7 +17600,7 @@ system which uses fontsets).
;;;;;; coding-system-translation-table-for-decode coding-system-pre-write-conversion
;;;;;; coding-system-post-read-conversion lookup-nested-alist set-nested-alist
;;;;;; truncate-string-to-width store-substring string-to-sequence)
-;;;;;; "mule-util" "international/mule-util.el" (17097 30270))
+;;;;;; "mule-util" "international/mule-util.el" (17178 20480))
;;; Generated autoloads from international/mule-util.el
(autoload (quote string-to-sequence) "mule-util" "\
@@ -17716,7 +17729,7 @@ basis, this may not be accurate.
;;;***
;;;### (autoloads (mwheel-install mouse-wheel-mode) "mwheel" "mwheel.el"
-;;;;;; (17141 22878))
+;;;;;; (17178 22151))
;;; Generated autoloads from mwheel.el
(defvar mouse-wheel-mode nil "\
@@ -17746,7 +17759,7 @@ Enable mouse wheel support.
;;;### (autoloads (network-connection network-connection-to-service
;;;;;; whois-reverse-lookup whois finger ftp run-dig dns-lookup-host
;;;;;; nslookup nslookup-host route arp netstat ipconfig ping traceroute)
-;;;;;; "net-utils" "net/net-utils.el" (17144 6947))
+;;;;;; "net-utils" "net/net-utils.el" (17178 22151))
;;; Generated autoloads from net/net-utils.el
(autoload (quote traceroute) "net-utils" "\
@@ -17842,7 +17855,7 @@ Open a network connection to HOST on PORT.
;;;;;; comment-kill comment-set-column comment-indent comment-indent-default
;;;;;; comment-normalize-vars comment-multi-line comment-padding
;;;;;; comment-style comment-column) "newcomment" "newcomment.el"
-;;;;;; (17145 6052))
+;;;;;; (17178 22151))
;;; Generated autoloads from newcomment.el
(defalias (quote indent-for-comment) (quote comment-indent))
@@ -18024,7 +18037,7 @@ unless optional argument SOFT is non-nil.
;;;***
;;;### (autoloads (nndiary-generate-nov-databases) "nndiary" "gnus/nndiary.el"
-;;;;;; (17141 6794))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/nndiary.el
(autoload (quote nndiary-generate-nov-databases) "nndiary" "\
@@ -18034,8 +18047,8 @@ Generate NOV databases in all nndiary directories.
;;;***
-;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (17141
-;;;;;; 6794))
+;;;### (autoloads (nndoc-add-type) "nndoc" "gnus/nndoc.el" (17178
+;;;;;; 22146))
;;; Generated autoloads from gnus/nndoc.el
(autoload (quote nndoc-add-type) "nndoc" "\
@@ -18050,7 +18063,7 @@ symbol in the alist.
;;;***
;;;### (autoloads (nnfolder-generate-active-file) "nnfolder" "gnus/nnfolder.el"
-;;;;;; (17141 6800))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/nnfolder.el
(autoload (quote nnfolder-generate-active-file) "nnfolder" "\
@@ -18062,7 +18075,7 @@ This command does not work if you use short group names.
;;;***
;;;### (autoloads (nnkiboze-generate-groups) "nnkiboze" "gnus/nnkiboze.el"
-;;;;;; (17141 6805))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/nnkiboze.el
(autoload (quote nnkiboze-generate-groups) "nnkiboze" "\
@@ -18074,7 +18087,7 @@ Finds out what articles are to be part of the nnkiboze groups.
;;;***
;;;### (autoloads (nnml-generate-nov-databases) "nnml" "gnus/nnml.el"
-;;;;;; (17141 6814))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/nnml.el
(autoload (quote nnml-generate-nov-databases) "nnml" "\
@@ -18085,7 +18098,7 @@ Generate NOV databases in all nnml directories.
;;;***
;;;### (autoloads (nnsoup-revert-variables nnsoup-set-variables nnsoup-pack-replies)
-;;;;;; "nnsoup" "gnus/nnsoup.el" (17141 6817))
+;;;;;; "nnsoup" "gnus/nnsoup.el" (17178 22146))
;;; Generated autoloads from gnus/nnsoup.el
(autoload (quote nnsoup-pack-replies) "nnsoup" "\
@@ -18106,7 +18119,7 @@ Revert posting and mailing methods to the standard Emacs methods.
;;;***
;;;### (autoloads (disable-command enable-command disabled-command-function)
-;;;;;; "novice" "novice.el" (17141 22879))
+;;;;;; "novice" "novice.el" (17178 22151))
;;; Generated autoloads from novice.el
(defvar disabled-command-function (quote disabled-command-function) "\
@@ -18139,7 +18152,7 @@ to future sessions.
;;;***
;;;### (autoloads (nroff-mode) "nroff-mode" "textmodes/nroff-mode.el"
-;;;;;; (17141 135))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/nroff-mode.el
(autoload (quote nroff-mode) "nroff-mode" "\
@@ -18154,7 +18167,7 @@ closing requests for requests that are used in matched pairs.
;;;***
;;;### (autoloads (octave-help) "octave-hlp" "progmodes/octave-hlp.el"
-;;;;;; (17134 4626))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/octave-hlp.el
(autoload (quote octave-help) "octave-hlp" "\
@@ -18168,7 +18181,7 @@ If KEY is not a string, prompt for it with completion.
;;;***
;;;### (autoloads (inferior-octave) "octave-inf" "progmodes/octave-inf.el"
-;;;;;; (17134 4626))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/octave-inf.el
(autoload (quote inferior-octave) "octave-inf" "\
@@ -18191,7 +18204,7 @@ startup file, `~/.emacs-octave'.
;;;***
;;;### (autoloads (octave-mode) "octave-mod" "progmodes/octave-mod.el"
-;;;;;; (17134 4632))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/octave-mod.el
(autoload (quote octave-mode) "octave-mod" "\
@@ -18290,7 +18303,7 @@ including a reproducible test case and send the message.
;;;***
;;;### (autoloads (edit-options list-options) "options" "obsolete/options.el"
-;;;;;; (17141 82))
+;;;;;; (17178 22152))
;;; Generated autoloads from obsolete/options.el
(autoload (quote list-options) "options" "\
@@ -18313,8 +18326,8 @@ The Custom feature is intended to make this obsolete.
;;;### (autoloads (orgtbl-mode turn-on-orgtbl org-remember-handler
;;;;;; org-remember-annotation org-store-link org-diary org-agenda
-;;;;;; org-agenda-mode org-mode) "org" "textmodes/org.el" (17141
-;;;;;; 159))
+;;;;;; org-agenda-mode org-mode) "org" "textmodes/org.el" (17178
+;;;;;; 22154))
;;; Generated autoloads from textmodes/org.el
(autoload (quote org-mode) "org" "\
@@ -18472,7 +18485,7 @@ The `org-mode' table editor as a minor mode for use in other modes.
;;;***
;;;### (autoloads (outline-minor-mode outline-mode) "outline" "outline.el"
-;;;;;; (17141 22882))
+;;;;;; (17178 22152))
;;; Generated autoloads from outline.el
(autoload (quote outline-mode) "outline" "\
@@ -18527,7 +18540,7 @@ See the command `outline-mode' for more information on this mode.
;;;***
-;;;### (autoloads (show-paren-mode) "paren" "paren.el" (17141 22882))
+;;;### (autoloads (show-paren-mode) "paren" "paren.el" (17178 22152))
;;; Generated autoloads from paren.el
(defvar show-paren-mode nil "\
@@ -18553,7 +18566,7 @@ in `show-paren-style' after `show-paren-delay' seconds of Emacs idle time.
;;;***
;;;### (autoloads (parse-time-string) "parse-time" "calendar/parse-time.el"
-;;;;;; (17097 30010))
+;;;;;; (17178 20480))
;;; Generated autoloads from calendar/parse-time.el
(autoload (quote parse-time-string) "parse-time" "\
@@ -18565,8 +18578,8 @@ unknown are returned as nil.
;;;***
-;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (17134
-;;;;;; 4635))
+;;;### (autoloads (pascal-mode) "pascal" "progmodes/pascal.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from progmodes/pascal.el
(autoload (quote pascal-mode) "pascal" "\
@@ -18619,7 +18632,7 @@ no args, if that value is non-nil.
;;;***
;;;### (autoloads (pc-bindings-mode) "pc-mode" "emulation/pc-mode.el"
-;;;;;; (17134 16203))
+;;;;;; (17178 22144))
;;; Generated autoloads from emulation/pc-mode.el
(autoload (quote pc-bindings-mode) "pc-mode" "\
@@ -18637,7 +18650,7 @@ C-Escape does list-buffers.
;;;***
;;;### (autoloads (pc-selection-mode pc-selection-mode) "pc-select"
-;;;;;; "emulation/pc-select.el" (17134 16203))
+;;;;;; "emulation/pc-select.el" (17178 22144))
;;; Generated autoloads from emulation/pc-select.el
(defvar pc-selection-mode nil "\
@@ -18714,8 +18727,8 @@ you must modify it using \\[customize] or \\[pc-selection-mode].")
;;;***
-;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (17141
-;;;;;; 22882))
+;;;### (autoloads (pcomplete/cvs) "pcmpl-cvs" "pcmpl-cvs.el" (17178
+;;;;;; 22152))
;;; Generated autoloads from pcmpl-cvs.el
(autoload (quote pcomplete/cvs) "pcmpl-cvs" "\
@@ -18726,7 +18739,7 @@ Completion rules for the `cvs' command.
;;;***
;;;### (autoloads (pcomplete/tar pcomplete/make pcomplete/bzip2 pcomplete/gzip)
-;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (17141 22882))
+;;;;;; "pcmpl-gnu" "pcmpl-gnu.el" (17178 22152))
;;; Generated autoloads from pcmpl-gnu.el
(autoload (quote pcomplete/gzip) "pcmpl-gnu" "\
@@ -18754,7 +18767,7 @@ Completion for the GNU tar utility.
;;;***
;;;### (autoloads (pcomplete/mount pcomplete/umount pcomplete/kill)
-;;;;;; "pcmpl-linux" "pcmpl-linux.el" (17141 22882))
+;;;;;; "pcmpl-linux" "pcmpl-linux.el" (17178 22152))
;;; Generated autoloads from pcmpl-linux.el
(autoload (quote pcomplete/kill) "pcmpl-linux" "\
@@ -18774,8 +18787,8 @@ Completion for GNU/Linux `mount'.
;;;***
-;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (17141
-;;;;;; 22882))
+;;;### (autoloads (pcomplete/rpm) "pcmpl-rpm" "pcmpl-rpm.el" (17178
+;;;;;; 22152))
;;; Generated autoloads from pcmpl-rpm.el
(autoload (quote pcomplete/rpm) "pcmpl-rpm" "\
@@ -18791,7 +18804,7 @@ You can use \\[eshell-report-bug] to do so.
;;;### (autoloads (pcomplete/chgrp pcomplete/chown pcomplete/which
;;;;;; pcomplete/xargs pcomplete/rm pcomplete/rmdir pcomplete/cd)
-;;;;;; "pcmpl-unix" "pcmpl-unix.el" (17141 22882))
+;;;;;; "pcmpl-unix" "pcmpl-unix.el" (17178 22152))
;;; Generated autoloads from pcmpl-unix.el
(autoload (quote pcomplete/cd) "pcmpl-unix" "\
@@ -18837,8 +18850,8 @@ Completion for the `chgrp' command.
;;;### (autoloads (pcomplete-shell-setup pcomplete-comint-setup pcomplete-list
;;;;;; pcomplete-help pcomplete-expand pcomplete-continue pcomplete-expand-and-complete
-;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (17141
-;;;;;; 22885))
+;;;;;; pcomplete-reverse pcomplete) "pcomplete" "pcomplete.el" (17178
+;;;;;; 22152))
;;; Generated autoloads from pcomplete.el
(autoload (quote pcomplete) "pcomplete" "\
@@ -18897,7 +18910,7 @@ Setup shell-mode to use pcomplete.
;;;### (autoloads (cvs-dired-use-hook cvs-dired-action cvs-status
;;;;;; cvs-update cvs-examine cvs-quickdir cvs-checkout) "pcvs"
-;;;;;; "pcvs.el" (17141 22894))
+;;;;;; "pcvs.el" (17178 22152))
;;; Generated autoloads from pcvs.el
(autoload (quote cvs-checkout) "pcvs" "\
@@ -18974,7 +18987,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d
;;;***
-;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (17141 22888))
+;;;### (autoloads nil "pcvs-defs" "pcvs-defs.el" (17178 22152))
;;; Generated autoloads from pcvs-defs.el
(defvar cvs-global-menu (let ((m (make-sparse-keymap "PCL-CVS"))) (define-key m [status] (quote (menu-item "Directory Status" cvs-status :help "A more verbose status of a workarea"))) (define-key m [checkout] (quote (menu-item "Checkout Module" cvs-checkout :help "Check out a module from the repository"))) (define-key m [update] (quote (menu-item "Update Directory" cvs-update :help "Fetch updates from the repository"))) (define-key m [examine] (quote (menu-item "Examine Directory" cvs-examine :help "Examine the current state of a workarea"))) (fset (quote cvs-global-menu) m)))
@@ -18982,7 +18995,7 @@ The exact behavior is determined also by `cvs-dired-use-hook'." (when (stringp d
;;;***
;;;### (autoloads (perl-mode) "perl-mode" "progmodes/perl-mode.el"
-;;;;;; (17134 4639))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/perl-mode.el
(autoload (quote perl-mode) "perl-mode" "\
@@ -19040,7 +19053,7 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'.
;;;### (autoloads (pgg-snarf-keys pgg-snarf-keys-region pgg-insert-key
;;;;;; pgg-verify pgg-verify-region pgg-sign pgg-sign-region pgg-decrypt
;;;;;; pgg-decrypt-region pgg-encrypt pgg-encrypt-region) "pgg"
-;;;;;; "gnus/pgg.el" (17141 6830))
+;;;;;; "gnus/pgg.el" (17178 22146))
;;; Generated autoloads from gnus/pgg.el
(autoload (quote pgg-encrypt-region) "pgg" "\
@@ -19128,7 +19141,7 @@ Import public keys in the current buffer.
;;;***
;;;### (autoloads (picture-mode) "picture" "textmodes/picture.el"
-;;;;;; (17141 162))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/picture.el
(autoload (quote picture-mode) "picture" "\
@@ -19200,7 +19213,7 @@ they are not defaultly assigned to keys.
;;;***
;;;### (autoloads (po-find-file-coding-system) "po" "textmodes/po.el"
-;;;;;; (17141 162))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/po.el
(autoload (quote po-find-file-coding-system) "po" "\
@@ -19211,7 +19224,7 @@ Called through `file-coding-system-alist', before the file is visited for real.
;;;***
-;;;### (autoloads (pong) "pong" "play/pong.el" (17134 16334))
+;;;### (autoloads (pong) "pong" "play/pong.el" (17178 22152))
;;; Generated autoloads from play/pong.el
(autoload (quote pong) "pong" "\
@@ -19228,7 +19241,7 @@ pong-mode keybindings:\\<pong-mode-map>
;;;***
;;;### (autoloads (pp-eval-last-sexp pp-eval-expression pp pp-buffer
-;;;;;; pp-to-string) "pp" "emacs-lisp/pp.el" (17141 35))
+;;;;;; pp-to-string) "pp" "emacs-lisp/pp.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/pp.el
(autoload (quote pp-to-string) "pp" "\
@@ -19286,7 +19299,7 @@ Ignores leading comment characters.
;;;;;; pr-ps-buffer-print pr-ps-buffer-using-ghostscript pr-ps-buffer-preview
;;;;;; pr-ps-directory-ps-print pr-ps-directory-print pr-ps-directory-using-ghostscript
;;;;;; pr-ps-directory-preview pr-interface) "printing" "printing.el"
-;;;;;; (17141 22904))
+;;;;;; (17178 22152))
;;; Generated autoloads from printing.el
(autoload (quote pr-interface) "printing" "\
@@ -19874,7 +19887,7 @@ are both set to t.
;;;***
;;;### (autoloads (run-prolog prolog-mode) "prolog" "progmodes/prolog.el"
-;;;;;; (17134 4639))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/prolog.el
(autoload (quote prolog-mode) "prolog" "\
@@ -19894,7 +19907,7 @@ Run an inferior Prolog process, input and output via buffer *prolog*.
;;;***
-;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (17127 36411))
+;;;### (autoloads nil "ps-bdf" "ps-bdf.el" (17178 22153))
;;; Generated autoloads from ps-bdf.el
(defvar bdf-directory-list (if (memq system-type (quote (ms-dos windows-nt))) (list (expand-file-name "fonts/bdf" installation-directory)) (quote ("/usr/local/share/emacs/fonts/bdf"))) "\
@@ -19903,8 +19916,8 @@ The default value is '(\"/usr/local/share/emacs/fonts/bdf\").")
;;;***
-;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (17134
-;;;;;; 4640))
+;;;### (autoloads (ps-mode) "ps-mode" "progmodes/ps-mode.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from progmodes/ps-mode.el
(autoload (quote ps-mode) "ps-mode" "\
@@ -19953,7 +19966,7 @@ Typing \\<ps-run-mode-map>\\[ps-run-goto-error] when the cursor is at the number
;;;### (autoloads (ps-mule-begin-page ps-mule-begin-job ps-mule-encode-header-string
;;;;;; ps-mule-initialize ps-mule-plot-composition ps-mule-plot-string
;;;;;; ps-mule-set-ascii-font ps-mule-prepare-ascii-font ps-multibyte-buffer)
-;;;;;; "ps-mule" "ps-mule.el" (17141 22908))
+;;;;;; "ps-mule" "ps-mule.el" (17178 22153))
;;; Generated autoloads from ps-mule.el
(defvar ps-multibyte-buffer nil "\
@@ -20074,8 +20087,8 @@ Not documented
;;;;;; ps-spool-region ps-spool-buffer-with-faces ps-spool-buffer
;;;;;; ps-print-region-with-faces ps-print-region ps-print-buffer-with-faces
;;;;;; ps-print-buffer ps-print-customize ps-print-color-p ps-paper-type
-;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (17141
-;;;;;; 22919))
+;;;;;; ps-page-dimensions-database) "ps-print" "ps-print.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from ps-print.el
(defvar ps-page-dimensions-database (list (list (quote a4) (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4") (list (quote a3) (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3") (list (quote letter) (* 72 8.5) (* 72 11.0) "Letter") (list (quote legal) (* 72 8.5) (* 72 14.0) "Legal") (list (quote letter-small) (* 72 7.68) (* 72 10.16) "LetterSmall") (list (quote tabloid) (* 72 11.0) (* 72 17.0) "Tabloid") (list (quote ledger) (* 72 17.0) (* 72 11.0) "Ledger") (list (quote statement) (* 72 5.5) (* 72 8.5) "Statement") (list (quote executive) (* 72 7.5) (* 72 10.0) "Executive") (list (quote a4small) (* 72 7.47) (* 72 10.85) "A4Small") (list (quote b4) (* 72 10.125) (* 72 14.33) "B4") (list (quote b5) (* 72 7.16) (* 72 10.125) "B5")) "\
@@ -20272,7 +20285,7 @@ If EXTENSION is any other symbol, it is ignored.
;;;***
;;;### (autoloads (jython-mode python-mode run-python) "python" "progmodes/python.el"
-;;;;;; (17097 30752))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/python.el
(add-to-list (quote interpreter-mode-alist) (quote ("jython" . jython-mode)))
@@ -20336,7 +20349,7 @@ Runs `jython-mode-hook' after `python-mode-hook'.
;;;***
;;;### (autoloads (quoted-printable-decode-region) "qp" "gnus/qp.el"
-;;;;;; (17141 6833))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/qp.el
(autoload (quote quoted-printable-decode-region) "qp" "\
@@ -20359,7 +20372,7 @@ them into characters should be done separately.
;;;;;; quail-defrule quail-install-decode-map quail-install-map
;;;;;; quail-define-rules quail-show-keyboard-layout quail-set-keyboard-layout
;;;;;; quail-define-package quail-use-package quail-title) "quail"
-;;;;;; "international/quail.el" (17097 30282))
+;;;;;; "international/quail.el" (17178 20480))
;;; Generated autoloads from international/quail.el
(autoload (quote quail-title) "quail" "\
@@ -20590,8 +20603,8 @@ of each directory.
;;;### (autoloads (quickurl-list quickurl-list-mode quickurl-edit-urls
;;;;;; quickurl-browse-url-ask quickurl-browse-url quickurl-add-url
-;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (17134
-;;;;;; 16286))
+;;;;;; quickurl-ask quickurl) "quickurl" "net/quickurl.el" (17178
+;;;;;; 22151))
;;; Generated autoloads from net/quickurl.el
(defconst quickurl-reread-hook-postfix "\n;; Local Variables:\n;; eval: (progn (require 'quickurl) (add-hook 'local-write-file-hooks (lambda () (quickurl-read) nil)))\n;; End:\n" "\
@@ -20662,8 +20675,8 @@ Display `quickurl-list' as a formatted list using `quickurl-list-mode'.
;;;***
-;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (17134
-;;;;;; 16288))
+;;;### (autoloads (remote-compile) "rcompile" "net/rcompile.el" (17178
+;;;;;; 22151))
;;; Generated autoloads from net/rcompile.el
(autoload (quote remote-compile) "rcompile" "\
@@ -20675,7 +20688,7 @@ See \\[compile].
;;;***
;;;### (autoloads (re-builder) "re-builder" "emacs-lisp/re-builder.el"
-;;;;;; (17141 35))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/re-builder.el
(defalias (quote regexp-builder) (quote re-builder))
@@ -20687,7 +20700,7 @@ Construct a regexp interactively.
;;;***
-;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (17141 22921))
+;;;### (autoloads (recentf-mode) "recentf" "recentf.el" (17178 22153))
;;; Generated autoloads from recentf.el
(defvar recentf-mode nil "\
@@ -20715,8 +20728,8 @@ that were operated on recently.
;;;### (autoloads (clear-rectangle string-insert-rectangle string-rectangle
;;;;;; delete-whitespace-rectangle open-rectangle insert-rectangle
;;;;;; yank-rectangle kill-rectangle extract-rectangle delete-extract-rectangle
-;;;;;; delete-rectangle move-to-column-force) "rect" "rect.el" (17141
-;;;;;; 22921))
+;;;;;; delete-rectangle move-to-column-force) "rect" "rect.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from rect.el
(autoload (quote move-to-column-force) "rect" "\
@@ -20838,8 +20851,8 @@ rectangle which were empty.
;;;***
-;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (17141
-;;;;;; 166))
+;;;### (autoloads (refill-mode) "refill" "textmodes/refill.el" (17178
+;;;;;; 22154))
;;; Generated autoloads from textmodes/refill.el
(autoload (quote refill-mode) "refill" "\
@@ -20855,7 +20868,7 @@ refilling if they would cause auto-filling.
;;;***
;;;### (autoloads (reftex-reset-scanning-information reftex-mode
-;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (17141 212))
+;;;;;; turn-on-reftex) "reftex" "textmodes/reftex.el" (17178 22154))
;;; Generated autoloads from textmodes/reftex.el
(autoload (quote turn-on-reftex) "reftex" "\
@@ -20905,7 +20918,7 @@ This enforces rescanning the buffer on next use.
;;;***
;;;### (autoloads (reftex-citation) "reftex-cite" "textmodes/reftex-cite.el"
-;;;;;; (17141 169))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/reftex-cite.el
(autoload (quote reftex-citation) "reftex-cite" "\
@@ -20935,7 +20948,7 @@ While entering the regexp, completion on knows citation keys is possible.
;;;***
;;;### (autoloads (reftex-isearch-minor-mode) "reftex-global" "textmodes/reftex-global.el"
-;;;;;; (17141 170))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/reftex-global.el
(autoload (quote reftex-isearch-minor-mode) "reftex-global" "\
@@ -20952,7 +20965,7 @@ With no argument, this command toggles
;;;***
;;;### (autoloads (reftex-index-phrases-mode) "reftex-index" "textmodes/reftex-index.el"
-;;;;;; (17141 177))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/reftex-index.el
(autoload (quote reftex-index-phrases-mode) "reftex-index" "\
@@ -20985,7 +20998,7 @@ Here are all local bindings.
;;;***
;;;### (autoloads (reftex-all-document-files) "reftex-parse" "textmodes/reftex-parse.el"
-;;;;;; (17141 184))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/reftex-parse.el
(autoload (quote reftex-all-document-files) "reftex-parse" "\
@@ -20998,7 +21011,7 @@ of master file.
;;;***
;;;### (autoloads (regexp-opt-depth regexp-opt) "regexp-opt" "emacs-lisp/regexp-opt.el"
-;;;;;; (17141 35))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/regexp-opt.el
(autoload (quote regexp-opt) "regexp-opt" "\
@@ -21025,7 +21038,7 @@ This means the number of non-shy regexp grouping constructs
;;;***
-;;;### (autoloads (repeat) "repeat" "repeat.el" (17141 22924))
+;;;### (autoloads (repeat) "repeat" "repeat.el" (17178 22153))
;;; Generated autoloads from repeat.el
(autoload (quote repeat) "repeat" "\
@@ -21043,7 +21056,7 @@ can be modified by the global variable `repeat-on-final-keystroke'.
;;;***
;;;### (autoloads (reporter-submit-bug-report) "reporter" "mail/reporter.el"
-;;;;;; (17144 6941))
+;;;;;; (17178 22150))
;;; Generated autoloads from mail/reporter.el
(autoload (quote reporter-submit-bug-report) "reporter" "\
@@ -21075,7 +21088,7 @@ mail-sending package is used for editing and sending the message.
;;;***
;;;### (autoloads (reposition-window) "reposition" "reposition.el"
-;;;;;; (17141 22927))
+;;;;;; (17178 22153))
;;; Generated autoloads from reposition.el
(autoload (quote reposition-window) "reposition" "\
@@ -21102,8 +21115,8 @@ first comment line visible (if point is in a comment).
;;;***
-;;;### (autoloads (resume-suspend-hook) "resume" "resume.el" (17141
-;;;;;; 22927))
+;;;### (autoloads (resume-suspend-hook) "resume" "resume.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from resume.el
(autoload (quote resume-suspend-hook) "resume" "\
@@ -21114,7 +21127,7 @@ Clear out the file used for transmitting args when Emacs resumes.
;;;***
;;;### (autoloads (global-reveal-mode reveal-mode) "reveal" "reveal.el"
-;;;;;; (17141 22927))
+;;;;;; (17178 22153))
;;; Generated autoloads from reveal.el
(autoload (quote reveal-mode) "reveal" "\
@@ -21151,7 +21164,7 @@ With zero or negative ARG turn mode off.
;;;### (autoloads (file-name-shadow-mode file-name-shadow-tty-properties
;;;;;; file-name-shadow-properties) "rfn-eshadow" "rfn-eshadow.el"
-;;;;;; (17141 22927))
+;;;;;; (17178 22153))
;;; Generated autoloads from rfn-eshadow.el
(defvar file-name-shadow-properties (quote (face file-name-shadow field shadow)) "\
@@ -21196,7 +21209,7 @@ Returns non-nil if the new state is enabled.
;;;***
;;;### (autoloads (make-ring ring-p) "ring" "emacs-lisp/ring.el"
-;;;;;; (17141 39))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/ring.el
(autoload (quote ring-p) "ring" "\
@@ -21211,7 +21224,7 @@ Make a ring that can contain SIZE elements.
;;;***
-;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (17134 16288))
+;;;### (autoloads (rlogin) "rlogin" "net/rlogin.el" (17178 22151))
;;; Generated autoloads from net/rlogin.el
(add-hook 'same-window-regexps "^\\*rlogin-.*\\*\\(\\|<[0-9]+>\\)")
@@ -21262,8 +21275,8 @@ variable.
;;;;;; rmail-mail-new-frame rmail-primary-inbox-list rmail-delete-after-output
;;;;;; rmail-highlight-face rmail-highlighted-headers rmail-retry-ignored-headers
;;;;;; rmail-displayed-headers rmail-ignored-headers rmail-dont-reply-to-names
-;;;;;; rmail-movemail-variant-p) "rmail" "mail/rmail.el" (17146
-;;;;;; 26052))
+;;;;;; rmail-movemail-variant-p) "rmail" "mail/rmail.el" (17178
+;;;;;; 22151))
;;; Generated autoloads from mail/rmail.el
(autoload (quote rmail-movemail-variant-p) "rmail" "\
@@ -21286,8 +21299,9 @@ variable `rmail-dont-reply-to-names', for when the user does not set
value is the user's email address and name.)
It is useful to set this variable in the site customization file.")
-(defvar rmail-ignored-headers (concat "^via:\\|^mail-from:\\|^origin:\\|^references:\\|^sender:" "\\|^status:\\|^received:\\|^x400-originator:\\|^x400-recipients:" "\\|^x400-received:\\|^x400-mts-identifier:\\|^x400-content-type:" "\\|^\\(resent-\\|\\)message-id:\\|^summary-line:\\|^resent-date:" "\\|^nntp-posting-host:\\|^path:\\|^x-char.*:\\|^x-face:\\|^face:" "\\|^x-mailer:\\|^delivered-to:\\|^lines:" "\\|^content-transfer-encoding:\\|^x-coding-system:" "\\|^return-path:\\|^errors-to:\\|^return-receipt-to:" "\\|^x-sign:\\|^x-beenthere:\\|^x-mailman-version:\\|^x-mailman-copy:" "\\|^precedence:\\|^list-help:\\|^list-post:\\|^list-subscribe:" "\\|^list-id:\\|^list-unsubscribe:\\|^list-archive:" "\\|^content-length:" "\\|^x-attribution:\\|^x-disclaimer:\\|^x-trace:" "\\|^x-complaints-to:\\|^nntp-posting-date:\\|^user-agent" "\\|^importance:\\|^envelope-to:\\|^delivery-date" "\\|^x.*-priority:\\|^x-mimeole:\\|^x-archive:" "\\|^resent-face:\\|^resent-x.*:\\|^resent-organization\\|^resent-openpgp" "\\|^openpgp:\\|^x-request-pgp:\\|^x-original.*:" "\\|^x-virus-scanned:\\|^x-spam-[^s].*:") "\
+(defvar rmail-ignored-headers (concat "^via:\\|^mail-from:\\|^origin:\\|^references:\\|^sender:" "\\|^status:\\|^received:\\|^x400-originator:\\|^x400-recipients:" "\\|^x400-received:\\|^x400-mts-identifier:\\|^x400-content-type:" "\\|^\\(resent-\\|\\)message-id:\\|^summary-line:\\|^resent-date:" "\\|^nntp-posting-host:\\|^path:\\|^x-char.*:\\|^x-face:\\|^face:" "\\|^x-mailer:\\|^delivered-to:\\|^lines:" "\\|^content-transfer-encoding:\\|^x-coding-system:" "\\|^return-path:\\|^errors-to:\\|^return-receipt-to:" "\\|^precedence:\\|^list-help:\\|^list-post:\\|^list-subscribe:" "\\|^list-id:\\|^list-unsubscribe:\\|^list-archive:" "\\|^content-length:\\|^nntp-posting-date:\\|^user-agent" "\\|^importance:\\|^envelope-to:\\|^delivery-date\\|^openpgp:" "\\|^mbox-line:\\|^cancel-lock:" "\\|^resent-face:\\|^resent-x.*:\\|^resent-organization:\\|^resent-openpgp:" "\\|^x-.*:") "\
*Regexp to match header fields that Rmail should normally hide.
+\(See also `rmail-nonignored-headers', which overrides this regexp.)
This variable is used for reformatting the message header,
which normally happens once for each message,
when you view the message for the first time in Rmail.
@@ -21460,7 +21474,8 @@ Rmail Mode is used by \\<rmail-mode-map>\\[rmail] for editing Rmail files.
All normal editing commands are turned off.
Instead, these commands are available:
-\\[rmail-beginning-of-message] Move point to front of this message (same as \\[beginning-of-buffer]).
+\\[rmail-beginning-of-message] Move point to front of this message.
+\\[rmail-end-of-message] Move point to bottom of this message.
\\[scroll-up] Scroll to next screen of this message.
\\[scroll-down] Scroll to previous screen of this message.
\\[rmail-next-undeleted-message] Move to Next non-deleted message.
@@ -21519,7 +21534,7 @@ Set PASSWORD to be used for retrieving mail from a POP or IMAP server.
;;;***
;;;### (autoloads (rmail-edit-current-message) "rmailedit" "mail/rmailedit.el"
-;;;;;; (17141 4160))
+;;;;;; (17178 22151))
;;; Generated autoloads from mail/rmailedit.el
(autoload (quote rmail-edit-current-message) "rmailedit" "\
@@ -21531,7 +21546,7 @@ Edit the contents of this message.
;;;### (autoloads (rmail-next-labeled-message rmail-previous-labeled-message
;;;;;; rmail-read-label rmail-kill-label rmail-add-label) "rmailkwd"
-;;;;;; "mail/rmailkwd.el" (17141 4160))
+;;;;;; "mail/rmailkwd.el" (17178 22151))
;;; Generated autoloads from mail/rmailkwd.el
(autoload (quote rmail-add-label) "rmailkwd" "\
@@ -21570,7 +21585,7 @@ With prefix argument N moves forward N messages with these labels.
;;;***
;;;### (autoloads (set-rmail-inbox-list) "rmailmsc" "mail/rmailmsc.el"
-;;;;;; (17141 4160))
+;;;;;; (17178 22151))
;;; Generated autoloads from mail/rmailmsc.el
(autoload (quote set-rmail-inbox-list) "rmailmsc" "\
@@ -21584,7 +21599,7 @@ If FILE-NAME is empty, remove any existing inbox list.
;;;### (autoloads (rmail-output-body-to-file rmail-output rmail-fields-not-to-output
;;;;;; rmail-output-to-rmail-file rmail-output-file-alist) "rmailout"
-;;;;;; "mail/rmailout.el" (17141 4160))
+;;;;;; "mail/rmailout.el" (17178 22151))
;;; Generated autoloads from mail/rmailout.el
(defvar rmail-output-file-alist nil "\
@@ -21651,8 +21666,8 @@ FILE-NAME defaults, interactively, from the Subject field of the message.
;;;### (autoloads (rmail-sort-by-labels rmail-sort-by-lines rmail-sort-by-correspondent
;;;;;; rmail-sort-by-recipient rmail-sort-by-author rmail-sort-by-subject
-;;;;;; rmail-sort-by-date) "rmailsort" "mail/rmailsort.el" (17141
-;;;;;; 4160))
+;;;;;; rmail-sort-by-date) "rmailsort" "mail/rmailsort.el" (17178
+;;;;;; 22151))
;;; Generated autoloads from mail/rmailsort.el
(autoload (quote rmail-sort-by-date) "rmailsort" "\
@@ -21704,7 +21719,7 @@ KEYWORDS is a comma-separated list of labels.
;;;;;; rmail-summary-by-senders rmail-summary-by-topic rmail-summary-by-regexp
;;;;;; rmail-summary-by-recipients rmail-summary-by-labels rmail-summary
;;;;;; rmail-summary-line-count-flag rmail-summary-scroll-between-messages)
-;;;;;; "rmailsum" "mail/rmailsum.el" (17141 4162))
+;;;;;; "rmailsum" "mail/rmailsum.el" (17178 22151))
;;; Generated autoloads from mail/rmailsum.el
(defvar rmail-summary-scroll-between-messages t "\
@@ -21786,7 +21801,7 @@ Setting this variable has an effect only before reading a mail.")
;;;***
;;;### (autoloads (news-post-news) "rnewspost" "obsolete/rnewspost.el"
-;;;;;; (17141 85))
+;;;;;; (17178 22152))
;;; Generated autoloads from obsolete/rnewspost.el
(autoload (quote news-post-news) "rnewspost" "\
@@ -21799,7 +21814,7 @@ If NOQUERY is non-nil, we do not query before doing the work.
;;;***
;;;### (autoloads (toggle-rot13-mode rot13-other-window rot13-region
-;;;;;; rot13-string rot13) "rot13" "rot13.el" (17141 22928))
+;;;;;; rot13-string rot13) "rot13" "rot13.el" (17178 22153))
;;; Generated autoloads from rot13.el
(autoload (quote rot13) "rot13" "\
@@ -21840,7 +21855,7 @@ Toggle the use of rot 13 encoding for the current window.
;;;;;; resize-minibuffer-frame-max-height resize-minibuffer-frame
;;;;;; resize-minibuffer-window-exactly resize-minibuffer-window-max-height
;;;;;; resize-minibuffer-mode) "rsz-mini" "obsolete/rsz-mini.el"
-;;;;;; (17141 85))
+;;;;;; (17178 22152))
;;; Generated autoloads from obsolete/rsz-mini.el
(defvar resize-minibuffer-mode nil "\
@@ -21880,8 +21895,8 @@ This function is obsolete.
;;;***
-;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (17097
-;;;;;; 55605))
+;;;### (autoloads (ruler-mode) "ruler-mode" "ruler-mode.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from ruler-mode.el
(autoload (quote ruler-mode) "ruler-mode" "\
@@ -21891,8 +21906,8 @@ Display a ruler in the header line if ARG > 0.
;;;***
-;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (17141
-;;;;;; 39))
+;;;### (autoloads (rx rx-to-string) "rx" "emacs-lisp/rx.el" (17178
+;;;;;; 22144))
;;; Generated autoloads from emacs-lisp/rx.el
(autoload (quote rx-to-string) "rx" "\
@@ -22200,7 +22215,7 @@ enclosed in `(and ...)'.
;;;***
;;;### (autoloads (dsssl-mode scheme-mode) "scheme" "progmodes/scheme.el"
-;;;;;; (17134 4642))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/scheme.el
(autoload (quote scheme-mode) "scheme" "\
@@ -22242,7 +22257,7 @@ that variable's value is a string.
;;;***
;;;### (autoloads (gnus-score-mode) "score-mode" "gnus/score-mode.el"
-;;;;;; (17141 6834))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/score-mode.el
(autoload (quote gnus-score-mode) "score-mode" "\
@@ -22255,8 +22270,8 @@ This mode is an extended emacs-lisp mode.
;;;***
-;;;### (autoloads (scribe-mode) "scribe" "obsolete/scribe.el" (17141
-;;;;;; 85))
+;;;### (autoloads (scribe-mode) "scribe" "obsolete/scribe.el" (17178
+;;;;;; 22152))
;;; Generated autoloads from obsolete/scribe.el
(autoload (quote scribe-mode) "scribe" "\
@@ -22281,7 +22296,7 @@ Interesting variables:
;;;***
;;;### (autoloads (scroll-all-mode) "scroll-all" "scroll-all.el"
-;;;;;; (17141 22930))
+;;;;;; (17178 22153))
;;; Generated autoloads from scroll-all.el
(defvar scroll-all-mode nil "\
@@ -22304,13 +22319,28 @@ apply to all visible windows in the same frame.
;;;***
+;;;### (autoloads (scroll-lock-mode) "scroll-lock" "scroll-lock.el"
+;;;;;; (17178 22134))
+;;; Generated autoloads from scroll-lock.el
+
+(autoload (quote scroll-lock-mode) "scroll-lock" "\
+Minor mode for pager-like scrolling.
+Keys which normally move point by line or paragraph will scroll
+the buffer by the respective amount of lines instead and point
+will be kept vertically fixed relative to window boundaries
+during scrolling.
+
+\(fn &optional ARG)" t nil)
+
+;;;***
+
;;;### (autoloads (mail-other-frame mail-other-window mail mail-mailing-lists
;;;;;; mail-mode mail-default-directory mail-signature mail-citation-hook
;;;;;; mail-personal-alias-file mail-alias-file mail-default-reply-to
;;;;;; mail-archive-file-name mail-header-separator send-mail-function
;;;;;; mail-yank-ignored-headers mail-interactive mail-self-blind
;;;;;; mail-specify-envelope-from mail-from-style) "sendmail" "mail/sendmail.el"
-;;;;;; (17144 6947))
+;;;;;; (17178 22151))
;;; Generated autoloads from mail/sendmail.el
(defvar mail-from-style (quote angles) "\
@@ -22540,18 +22570,32 @@ Like `mail' command, but display mail buffer in another frame.
;;;***
-;;;### (autoloads (server-mode server-start) "server" "server.el"
-;;;;;; (17141 22933))
+;;;### (autoloads (server-mode server-start server-getenv) "server"
+;;;;;; "server.el" (17178 22153))
;;; Generated autoloads from server.el
+(autoload (quote server-getenv) "server" "\
+Get the value of VARIABLE in the client environment of frame FRAME.
+VARIABLE should be a string. Value is nil if VARIABLE is undefined in
+the environment. Otherwise, value is a string.
+
+If FRAME is an emacsclient frame, then the variable is looked up
+in the environment of the emacsclient process; otherwise the
+function consults the environment of the Emacs process.
+
+If FRAME is nil or missing, then the selected frame is used.
+
+\(fn VARIABLE &optional FRAME)" nil nil)
+
(autoload (quote server-start) "server" "\
Allow this Emacs process to be a server for client processes.
This starts a server communications subprocess through which
-client \"editors\" can send your editing commands to this Emacs job.
-To use the server, set up the program `emacsclient' in the
+client \"editors\" can send your editing commands to this Emacs
+job. To use the server, set up the program `emacsclient' in the
Emacs distribution as your standard \"editor\".
-Prefix arg means just kill any existing server communications subprocess.
+Prefix arg LEAVE-DEAD means just kill any existing server
+communications subprocess.
\(fn &optional LEAVE-DEAD)" t nil)
@@ -22575,7 +22619,7 @@ Server mode runs a process that accepts commands from the
;;;***
-;;;### (autoloads (ses-mode) "ses" "ses.el" (17141 22939))
+;;;### (autoloads (ses-mode) "ses" "ses.el" (17178 22153))
;;; Generated autoloads from ses.el
(autoload (quote ses-mode) "ses" "\
@@ -22594,7 +22638,7 @@ These are active only in the minibuffer, when entering or editing a formula:
;;;***
;;;### (autoloads (html-mode sgml-mode) "sgml-mode" "textmodes/sgml-mode.el"
-;;;;;; (17141 218))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/sgml-mode.el
(autoload (quote sgml-mode) "sgml-mode" "\
@@ -22662,7 +22706,7 @@ To work around that, do:
;;;***
;;;### (autoloads (sh-mode) "sh-script" "progmodes/sh-script.el"
-;;;;;; (17109 3772))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/sh-script.el
(autoload (quote sh-mode) "sh-script" "\
@@ -22725,7 +22769,7 @@ with your script for an edit-interpret-debug cycle.
;;;***
-;;;### (autoloads (sha1) "sha1" "gnus/sha1.el" (17141 6836))
+;;;### (autoloads (sha1) "sha1" "gnus/sha1.el" (17178 22146))
;;; Generated autoloads from gnus/sha1.el
(autoload (quote sha1) "sha1" "\
@@ -22740,7 +22784,7 @@ If BINARY is non-nil, return a string in binary form.
;;;***
;;;### (autoloads (list-load-path-shadows) "shadow" "emacs-lisp/shadow.el"
-;;;;;; (17141 39))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/shadow.el
(autoload (quote list-load-path-shadows) "shadow" "\
@@ -22787,8 +22831,8 @@ buffer called `*Shadows*'. Shadowings are located by calling the
;;;***
;;;### (autoloads (shadow-initialize shadow-define-regexp-group shadow-define-literal-group
-;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (17141
-;;;;;; 22940))
+;;;;;; shadow-define-cluster) "shadowfile" "shadowfile.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from shadowfile.el
(autoload (quote shadow-define-cluster) "shadowfile" "\
@@ -22827,7 +22871,7 @@ Set up file shadowing.
;;;***
;;;### (autoloads (shell shell-dumb-shell-regexp) "shell" "shell.el"
-;;;;;; (17141 22941))
+;;;;;; (17178 22153))
;;; Generated autoloads from shell.el
(defvar shell-dumb-shell-regexp "cmd\\(proxy\\)?\\.exe" "\
@@ -22874,7 +22918,7 @@ Otherwise, one argument `-i' is passed to the shell.
;;;***
;;;### (autoloads (sieve-upload-and-bury sieve-upload sieve-manage)
-;;;;;; "sieve" "gnus/sieve.el" (17141 6839))
+;;;;;; "sieve" "gnus/sieve.el" (17178 22146))
;;; Generated autoloads from gnus/sieve.el
(autoload (quote sieve-manage) "sieve" "\
@@ -22895,7 +22939,7 @@ Not documented
;;;***
;;;### (autoloads (sieve-mode) "sieve-mode" "gnus/sieve-mode.el"
-;;;;;; (17141 6839))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/sieve-mode.el
(autoload (quote sieve-mode) "sieve-mode" "\
@@ -22910,8 +22954,8 @@ Turning on Sieve mode runs `sieve-mode-hook'.
;;;***
-;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (17134
-;;;;;; 4645))
+;;;### (autoloads (simula-mode) "simula" "progmodes/simula.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from progmodes/simula.el
(autoload (quote simula-mode) "simula" "\
@@ -22960,7 +23004,7 @@ with no arguments, if that value is non-nil.
;;;***
;;;### (autoloads (skeleton-pair-insert-maybe skeleton-insert skeleton-proxy-new
-;;;;;; define-skeleton) "skeleton" "skeleton.el" (17141 22955))
+;;;;;; define-skeleton) "skeleton" "skeleton.el" (17178 22153))
;;; Generated autoloads from skeleton.el
(defvar skeleton-filter (quote identity) "\
@@ -23070,7 +23114,7 @@ symmetrical ones, and the same character twice for the others.
;;;***
;;;### (autoloads (smerge-mode smerge-ediff) "smerge-mode" "smerge-mode.el"
-;;;;;; (17141 22955))
+;;;;;; (17178 22153))
;;; Generated autoloads from smerge-mode.el
(autoload (quote smerge-ediff) "smerge-mode" "\
@@ -23089,7 +23133,7 @@ Minor mode to simplify editing output from the diff3 program.
;;;***
;;;### (autoloads (smiley-buffer smiley-region) "smiley" "gnus/smiley.el"
-;;;;;; (17141 6839))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/smiley.el
(autoload (quote smiley-region) "smiley" "\
@@ -23107,7 +23151,7 @@ interactively. If there's no argument, do it at the current buffer
;;;***
;;;### (autoloads (smtpmail-send-queued-mail smtpmail-send-it) "smtpmail"
-;;;;;; "mail/smtpmail.el" (17114 31645))
+;;;;;; "mail/smtpmail.el" (17178 22151))
;;; Generated autoloads from mail/smtpmail.el
(autoload (quote smtpmail-send-it) "smtpmail" "\
@@ -23122,7 +23166,7 @@ Send mail that was queued as a result of setting `smtpmail-queue-mail'.
;;;***
-;;;### (autoloads (snake) "snake" "play/snake.el" (17134 16334))
+;;;### (autoloads (snake) "snake" "play/snake.el" (17178 22152))
;;; Generated autoloads from play/snake.el
(autoload (quote snake) "snake" "\
@@ -23146,7 +23190,7 @@ Snake mode keybindings:
;;;***
;;;### (autoloads (snmpv2-mode snmp-mode) "snmp-mode" "net/snmp-mode.el"
-;;;;;; (17134 16291))
+;;;;;; (17178 22151))
;;; Generated autoloads from net/snmp-mode.el
(autoload (quote snmp-mode) "snmp-mode" "\
@@ -23177,7 +23221,7 @@ then `snmpv2-mode-hook'.
;;;### (autoloads (solar-equinoxes-solstices sunrise-sunset calendar-location-name
;;;;;; calendar-longitude calendar-latitude calendar-time-display-form)
-;;;;;; "solar" "calendar/solar.el" (17097 30014))
+;;;;;; "solar" "calendar/solar.el" (17178 22143))
;;; Generated autoloads from calendar/solar.el
(defvar calendar-time-display-form (quote (12-hours ":" minutes am-pm (if time-zone " (") time-zone (if time-zone ")"))) "\
@@ -23248,8 +23292,8 @@ Requires floating point.
;;;***
-;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (17134
-;;;;;; 16335))
+;;;### (autoloads (solitaire) "solitaire" "play/solitaire.el" (17178
+;;;;;; 22152))
;;; Generated autoloads from play/solitaire.el
(autoload (quote solitaire) "solitaire" "\
@@ -23326,7 +23370,7 @@ Pick your favourite shortcuts:
;;;### (autoloads (reverse-region sort-columns sort-regexp-fields
;;;;;; sort-fields sort-numeric-fields sort-pages sort-paragraphs
-;;;;;; sort-lines sort-subr) "sort" "sort.el" (17141 22957))
+;;;;;; sort-lines sort-subr) "sort" "sort.el" (17178 22153))
;;; Generated autoloads from sort.el
(autoload (quote sort-subr) "sort" "\
@@ -23468,8 +23512,8 @@ From a program takes two point or marker arguments, BEG and END.
;;;***
-;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (17141
-;;;;;; 6845))
+;;;### (autoloads (spam-initialize) "spam" "gnus/spam.el" (17178
+;;;;;; 22146))
;;; Generated autoloads from gnus/spam.el
(autoload (quote spam-initialize) "spam" "\
@@ -23481,7 +23525,7 @@ Install the spam.el hooks and do other initialization
;;;### (autoloads (spam-report-deagentize spam-report-agentize spam-report-url-to-file
;;;;;; spam-report-url-ping-mm-url spam-report-process-queue) "spam-report"
-;;;;;; "gnus/spam-report.el" (17141 6839))
+;;;;;; "gnus/spam-report.el" (17178 22146))
;;; Generated autoloads from gnus/spam-report.el
(autoload (quote spam-report-process-queue) "spam-report" "\
@@ -23524,7 +23568,7 @@ Spam reports will be queued with the method used when
;;;***
;;;### (autoloads (speedbar-get-focus speedbar-frame-mode) "speedbar"
-;;;;;; "speedbar.el" (17141 22965))
+;;;;;; "speedbar.el" (17178 22153))
;;; Generated autoloads from speedbar.el
(defalias (quote speedbar) (quote speedbar-frame-mode))
@@ -23549,7 +23593,7 @@ selected. If the speedbar frame is active, then select the attached frame.
;;;***
;;;### (autoloads (spell-string spell-region spell-word spell-buffer)
-;;;;;; "spell" "textmodes/spell.el" (17141 218))
+;;;;;; "spell" "textmodes/spell.el" (17178 22154))
;;; Generated autoloads from textmodes/spell.el
(put (quote spell-filter) (quote risky-local-variable) t)
@@ -23585,8 +23629,8 @@ Check spelling of string supplied as argument.
;;;***
-;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (17134
-;;;;;; 16337))
+;;;### (autoloads (snarf-spooks spook) "spook" "play/spook.el" (17178
+;;;;;; 22152))
;;; Generated autoloads from play/spook.el
(autoload (quote spook) "spook" "\
@@ -23604,8 +23648,8 @@ Return a vector containing the lines from `spook-phrases-file'.
;;;### (autoloads (sql-linter sql-db2 sql-interbase sql-postgres
;;;;;; sql-ms sql-ingres sql-solid sql-mysql sql-sqlite sql-informix
;;;;;; sql-sybase sql-oracle sql-product-interactive sql-mode sql-help
-;;;;;; sql-add-product-keywords) "sql" "progmodes/sql.el" (17144
-;;;;;; 58058))
+;;;;;; sql-add-product-keywords) "sql" "progmodes/sql.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from progmodes/sql.el
(autoload (quote sql-add-product-keywords) "sql" "\
@@ -24036,8 +24080,8 @@ input. See `sql-interactive-mode'.
;;;;;; strokes-mode strokes-list-strokes strokes-load-user-strokes
;;;;;; strokes-help strokes-describe-stroke strokes-do-complex-stroke
;;;;;; strokes-do-stroke strokes-read-complex-stroke strokes-read-stroke
-;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (17141
-;;;;;; 22973))
+;;;;;; strokes-global-set-stroke) "strokes" "strokes.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from strokes.el
(autoload (quote strokes-global-set-stroke) "strokes" "\
@@ -24148,7 +24192,7 @@ Read a complex stroke and insert its glyph into the current buffer.
;;;***
;;;### (autoloads (studlify-buffer studlify-word studlify-region)
-;;;;;; "studly" "play/studly.el" (16213 43281))
+;;;;;; "studly" "play/studly.el" (17178 20480))
;;; Generated autoloads from play/studly.el
(autoload (quote studlify-region) "studly" "\
@@ -24169,7 +24213,7 @@ Studlify-case the current buffer.
;;;***
;;;### (autoloads (sc-cite-original) "supercite" "mail/supercite.el"
-;;;;;; (17144 58011))
+;;;;;; (17178 22151))
;;; Generated autoloads from mail/supercite.el
(autoload (quote sc-cite-original) "supercite" "\
@@ -24201,8 +24245,8 @@ before, and `sc-post-hook' is run after the guts of this function.
;;;***
-;;;### (autoloads (syntax-ppss) "syntax" "emacs-lisp/syntax.el" (17141
-;;;;;; 42))
+;;;### (autoloads (syntax-ppss) "syntax" "emacs-lisp/syntax.el" (17178
+;;;;;; 22144))
;;; Generated autoloads from emacs-lisp/syntax.el
(autoload (quote syntax-ppss) "syntax" "\
@@ -24215,7 +24259,7 @@ Point is at POS when this function returns.
;;;***
-;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (17141 22983))
+;;;### (autoloads (tabify untabify) "tabify" "tabify.el" (17178 22153))
;;; Generated autoloads from tabify.el
(autoload (quote untabify) "tabify" "\
@@ -24250,7 +24294,7 @@ The variable `tab-width' controls the spacing of tab stops.
;;;;;; table-recognize table-insert-row-column table-insert-column
;;;;;; table-insert-row table-insert table-point-left-cell-hook
;;;;;; table-point-entered-cell-hook table-load-hook table-cell-map-hook)
-;;;;;; "table" "textmodes/table.el" (17141 228))
+;;;;;; "table" "textmodes/table.el" (17178 22154))
;;; Generated autoloads from textmodes/table.el
(defvar table-cell-map-hook nil "\
@@ -24838,7 +24882,7 @@ converts a table into plain text without frames. It is a companion to
;;;***
-;;;### (autoloads (talk-connect) "talk" "talk.el" (17141 22983))
+;;;### (autoloads (talk talk-connect) "talk" "talk.el" (17178 22153))
;;; Generated autoloads from talk.el
(autoload (quote talk-connect) "talk" "\
@@ -24846,9 +24890,14 @@ Connect to display DISPLAY for the Emacs talk group.
\(fn DISPLAY)" t nil)
+(autoload (quote talk) "talk" "\
+Connect to the Emacs talk group from the current X display or tty frame.
+
+\(fn)" t nil)
+
;;;***
-;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (17141 22984))
+;;;### (autoloads (tar-mode) "tar-mode" "tar-mode.el" (17178 22153))
;;; Generated autoloads from tar-mode.el
(autoload (quote tar-mode) "tar-mode" "\
@@ -24872,7 +24921,7 @@ See also: variables `tar-update-datestamp' and `tar-anal-blocksize'.
;;;***
;;;### (autoloads (tcl-help-on-word inferior-tcl tcl-mode) "tcl"
-;;;;;; "progmodes/tcl.el" (17097 30772))
+;;;;;; "progmodes/tcl.el" (17178 20481))
;;; Generated autoloads from progmodes/tcl.el
(autoload (quote tcl-mode) "tcl" "\
@@ -24923,7 +24972,7 @@ Prefix argument means invert sense of `tcl-use-smart-word-finder'.
;;;***
-;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (17134 16291))
+;;;### (autoloads (rsh telnet) "telnet" "net/telnet.el" (17178 22151))
;;; Generated autoloads from net/telnet.el
(add-hook 'same-window-regexps "\\*telnet-.*\\*\\(\\|<[0-9]+>\\)")
@@ -24950,8 +24999,8 @@ Normally input is edited in Emacs and sent a line at a time.
;;;***
-;;;### (autoloads (ansi-term term make-term) "term" "term.el" (17141
-;;;;;; 22995))
+;;;### (autoloads (ansi-term term make-term) "term" "term.el" (17178
+;;;;;; 22153))
;;; Generated autoloads from term.el
(autoload (quote make-term) "term" "\
@@ -24979,8 +25028,8 @@ Start a terminal-emulator in a new buffer.
;;;***
-;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (17141
-;;;;;; 22997))
+;;;### (autoloads (terminal-emulator) "terminal" "terminal.el" (17178
+;;;;;; 22154))
;;; Generated autoloads from terminal.el
(autoload (quote terminal-emulator) "terminal" "\
@@ -25017,7 +25066,7 @@ subprocess started.
;;;***
;;;### (autoloads (testcover-this-defun) "testcover" "emacs-lisp/testcover.el"
-;;;;;; (17141 46))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/testcover.el
(autoload (quote testcover-this-defun) "testcover" "\
@@ -25027,7 +25076,7 @@ Start coverage on function under point.
;;;***
-;;;### (autoloads (tetris) "tetris" "play/tetris.el" (17134 16337))
+;;;### (autoloads (tetris) "tetris" "play/tetris.el" (17178 22152))
;;; Generated autoloads from play/tetris.el
(autoload (quote tetris) "tetris" "\
@@ -25058,7 +25107,7 @@ tetris-mode keybindings:
;;;;;; tex-start-commands tex-start-options slitex-run-command latex-run-command
;;;;;; tex-run-command tex-offer-save tex-main-file tex-first-line-header-regexp
;;;;;; tex-directory tex-shell-file-name) "tex-mode" "textmodes/tex-mode.el"
-;;;;;; (17141 234))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/tex-mode.el
(defvar tex-shell-file-name nil "\
@@ -25360,7 +25409,7 @@ Major mode to edit DocTeX files.
;;;***
;;;### (autoloads (texi2info texinfo-format-region texinfo-format-buffer)
-;;;;;; "texinfmt" "textmodes/texinfmt.el" (17141 241))
+;;;;;; "texinfmt" "textmodes/texinfmt.el" (17178 22154))
;;; Generated autoloads from textmodes/texinfmt.el
(autoload (quote texinfo-format-buffer) "texinfmt" "\
@@ -25400,7 +25449,7 @@ if large. You can use Info-split to do this manually.
;;;***
;;;### (autoloads (texinfo-mode texinfo-close-quote texinfo-open-quote)
-;;;;;; "texinfo" "textmodes/texinfo.el" (17141 243))
+;;;;;; "texinfo" "textmodes/texinfo.el" (17178 22154))
;;; Generated autoloads from textmodes/texinfo.el
(defvar texinfo-open-quote "``" "\
@@ -25487,7 +25536,7 @@ value of `texinfo-mode-hook'.
;;;### (autoloads (thai-auto-composition-mode thai-composition-function
;;;;;; thai-post-read-conversion thai-compose-buffer thai-compose-string
;;;;;; thai-compose-region) "thai-util" "language/thai-util.el"
-;;;;;; (17097 30355))
+;;;;;; (17178 22147))
;;; Generated autoloads from language/thai-util.el
(autoload (quote thai-compose-region) "thai-util" "\
@@ -25531,7 +25580,7 @@ Minor mode for automatically correct Thai character composition.
;;;### (autoloads (list-at-point number-at-point symbol-at-point
;;;;;; sexp-at-point thing-at-point bounds-of-thing-at-point forward-thing)
-;;;;;; "thingatpt" "thingatpt.el" (17141 22998))
+;;;;;; "thingatpt" "thingatpt.el" (17178 22154))
;;; Generated autoloads from thingatpt.el
(autoload (quote forward-thing) "thingatpt" "\
@@ -25588,7 +25637,7 @@ Not documented
;;;### (autoloads (thumbs-dired-setroot thumbs-dired-show-all thumbs-dired-show-marked
;;;;;; thumbs-show-all-from-dir thumbs-find-thumb) "thumbs" "thumbs.el"
-;;;;;; (17141 23000))
+;;;;;; (17178 22154))
;;; Generated autoloads from thumbs.el
(autoload (quote thumbs-find-thumb) "thumbs" "\
@@ -25627,7 +25676,7 @@ In dired, call the setroot program on the image at point.
;;;;;; tibetan-composition-function tibetan-decompose-string tibetan-decompose-region
;;;;;; tibetan-compose-region tibetan-compose-string tibetan-transcription-to-tibetan
;;;;;; tibetan-tibetan-to-transcription tibetan-char-p) "tibet-util"
-;;;;;; "language/tibet-util.el" (17097 30355))
+;;;;;; "language/tibet-util.el" (17178 20481))
;;; Generated autoloads from language/tibet-util.el
(autoload (quote tibetan-char-p) "tibet-util" "\
@@ -25706,7 +25755,7 @@ Not documented
;;;***
;;;### (autoloads (tildify-buffer tildify-region) "tildify" "textmodes/tildify.el"
-;;;;;; (17141 248))
+;;;;;; (17178 22154))
;;; Generated autoloads from textmodes/tildify.el
(autoload (quote tildify-region) "tildify" "\
@@ -25730,7 +25779,7 @@ This function performs no refilling of the changed text.
;;;***
;;;### (autoloads (display-time-mode display-time display-time-day-and-date)
-;;;;;; "time" "time.el" (17145 29719))
+;;;;;; "time" "time.el" (17178 22154))
;;; Generated autoloads from time.el
(defvar display-time-day-and-date nil "\
@@ -25773,8 +25822,8 @@ This runs the normal hook `display-time-hook' after each update.
;;;### (autoloads (safe-date-to-time time-to-days time-to-day-in-year
;;;;;; date-leap-year-p days-between date-to-day time-add time-subtract
;;;;;; time-since days-to-time time-less-p seconds-to-time time-to-seconds
-;;;;;; date-to-time) "time-date" "calendar/time-date.el" (17097
-;;;;;; 30014))
+;;;;;; date-to-time) "time-date" "calendar/time-date.el" (17178
+;;;;;; 20480))
;;; Generated autoloads from calendar/time-date.el
(autoload (quote date-to-time) "time-date" "\
@@ -25860,7 +25909,7 @@ If DATE is malformed, return a time value of zeros.
;;;***
;;;### (autoloads (time-stamp-toggle-active time-stamp) "time-stamp"
-;;;;;; "time-stamp.el" (17141 23000))
+;;;;;; "time-stamp.el" (17178 22154))
;;; Generated autoloads from time-stamp.el
(autoload (quote time-stamp) "time-stamp" "\
@@ -25895,7 +25944,7 @@ With ARG, turn time stamping on if and only if arg is positive.
;;;;;; timeclock-workday-remaining-string timeclock-reread-log timeclock-query-out
;;;;;; timeclock-change timeclock-status-string timeclock-out timeclock-in
;;;;;; timeclock-modeline-display) "timeclock" "calendar/timeclock.el"
-;;;;;; (17097 30016))
+;;;;;; (17178 20480))
;;; Generated autoloads from calendar/timeclock.el
(autoload (quote timeclock-modeline-display) "timeclock" "\
@@ -25996,7 +26045,7 @@ relative only to the time worked today, and not to past time.
;;;### (autoloads (with-timeout run-with-idle-timer add-timeout run-with-timer
;;;;;; run-at-time cancel-function-timers cancel-timer) "timer"
-;;;;;; "emacs-lisp/timer.el" (17141 46))
+;;;;;; "emacs-lisp/timer.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/timer.el
(defalias (quote disable-timeout) (quote cancel-timer))
@@ -26067,7 +26116,7 @@ be detected.
;;;***
;;;### (autoloads (batch-titdic-convert titdic-convert) "titdic-cnv"
-;;;;;; "international/titdic-cnv.el" (17097 55898))
+;;;;;; "international/titdic-cnv.el" (17178 20480))
;;; Generated autoloads from international/titdic-cnv.el
(autoload (quote titdic-convert) "titdic-cnv" "\
@@ -26090,8 +26139,8 @@ To get complete usage, invoke \"emacs -batch -f batch-titdic-convert -h\".
;;;***
;;;### (autoloads (tamil-composition-function tamil-post-read-conversion
-;;;;;; tamil-compose-region) "tml-util" "language/tml-util.el" (17097
-;;;;;; 30357))
+;;;;;; tamil-compose-region) "tml-util" "language/tml-util.el" (17178
+;;;;;; 20481))
;;; Generated autoloads from language/tml-util.el
(autoload (quote tamil-compose-region) "tml-util" "\
@@ -26114,7 +26163,7 @@ PATTERN regexp.
;;;***
;;;### (autoloads (tmm-prompt tmm-menubar-mouse tmm-menubar) "tmm"
-;;;;;; "tmm.el" (17141 23003))
+;;;;;; "tmm.el" (17178 22155))
;;; Generated autoloads from tmm.el
(define-key global-map "\M-`" 'tmm-menubar)
(define-key global-map [f10] 'tmm-menubar)
@@ -26155,7 +26204,7 @@ Its value should be an event that has a binding in MENU.
;;;### (autoloads (todo-show todo-cp todo-mode todo-print todo-top-priorities
;;;;;; todo-insert-item todo-add-item-non-interactively todo-add-category)
-;;;;;; "todo-mode" "calendar/todo-mode.el" (17097 30017))
+;;;;;; "todo-mode" "calendar/todo-mode.el" (17178 20480))
;;; Generated autoloads from calendar/todo-mode.el
(autoload (quote todo-add-category) "todo-mode" "\
@@ -26216,7 +26265,7 @@ Show TODO list.
;;;### (autoloads (tool-bar-local-item-from-menu tool-bar-add-item-from-menu
;;;;;; tool-bar-local-item tool-bar-add-item tool-bar-mode) "tool-bar"
-;;;;;; "toolbar/tool-bar.el" (17134 20613))
+;;;;;; "toolbar/tool-bar.el" (17178 22155))
;;; Generated autoloads from toolbar/tool-bar.el
(defvar tool-bar-mode nil "\
@@ -26301,7 +26350,7 @@ MAP must contain appropriate binding for `[menu-bar]' which holds a keymap.
;;;***
;;;### (autoloads (tpu-edt-on tpu-edt-mode) "tpu-edt" "emulation/tpu-edt.el"
-;;;;;; (17134 16209))
+;;;;;; (17178 22144))
;;; Generated autoloads from emulation/tpu-edt.el
(defvar tpu-edt-mode nil "\
@@ -26329,7 +26378,7 @@ Turn on TPU/edt emulation.
;;;***
;;;### (autoloads (tpu-set-cursor-bound tpu-set-cursor-free tpu-set-scroll-margins)
-;;;;;; "tpu-extras" "emulation/tpu-extras.el" (17134 16209))
+;;;;;; "tpu-extras" "emulation/tpu-extras.el" (17178 22144))
;;; Generated autoloads from emulation/tpu-extras.el
(autoload (quote tpu-set-scroll-margins) "tpu-extras" "\
@@ -26349,7 +26398,7 @@ Constrain the cursor to the flow of the text.
;;;***
-;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (17141 46))
+;;;### (autoloads (tq-create) "tq" "emacs-lisp/tq.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/tq.el
(autoload (quote tq-create) "tq" "\
@@ -26363,7 +26412,7 @@ to a tcp server on another machine.
;;;***
;;;### (autoloads (trace-function-background trace-function trace-buffer)
-;;;;;; "trace" "emacs-lisp/trace.el" (17141 46))
+;;;;;; "trace" "emacs-lisp/trace.el" (17178 22144))
;;; Generated autoloads from emacs-lisp/trace.el
(defvar trace-buffer "*trace-output*" "\
@@ -26396,7 +26445,7 @@ the window or buffer configuration at all.
;;;### (autoloads (tramp-completion-file-name-handler tramp-file-name-handler
;;;;;; tramp-completion-file-name-regexp tramp-file-name-regexp)
-;;;;;; "tramp" "net/tramp.el" (17142 12874))
+;;;;;; "tramp" "net/tramp.el" (17178 22151))
;;; Generated autoloads from net/tramp.el
(defvar tramp-unified-filenames (not (featurep (quote xemacs))) "\
@@ -26473,7 +26522,7 @@ Falls back to normal file name handler if no tramp file name handler exists.
;;;***
;;;### (autoloads (2C-split 2C-associate-buffer 2C-two-columns) "two-column"
-;;;;;; "textmodes/two-column.el" (17141 252))
+;;;;;; "textmodes/two-column.el" (17178 22154))
;;; Generated autoloads from textmodes/two-column.el
(autoload '2C-command "two-column" () t 'keymap)
(global-set-key "\C-x6" '2C-command)
@@ -26524,7 +26573,7 @@ First column's text sSs Second column's text
;;;;;; type-break type-break-mode type-break-keystroke-threshold
;;;;;; type-break-good-break-interval type-break-good-rest-interval
;;;;;; type-break-interval type-break-mode) "type-break" "type-break.el"
-;;;;;; (17141 23006))
+;;;;;; (17178 22155))
;;; Generated autoloads from type-break.el
(defvar type-break-mode nil "\
@@ -26707,7 +26756,7 @@ FRAC should be the inverse of the fractional value; for example, a value of
;;;***
;;;### (autoloads (ununderline-region underline-region) "underline"
-;;;;;; "textmodes/underline.el" (17141 252))
+;;;;;; "textmodes/underline.el" (17178 22154))
;;; Generated autoloads from textmodes/underline.el
(autoload (quote underline-region) "underline" "\
@@ -26728,7 +26777,7 @@ which specify the range to operate on.
;;;***
;;;### (autoloads (unforward-rmail-message undigestify-rmail-message)
-;;;;;; "undigest" "mail/undigest.el" (17141 4172))
+;;;;;; "undigest" "mail/undigest.el" (17178 22151))
;;; Generated autoloads from mail/undigest.el
(autoload (quote undigestify-rmail-message) "undigest" "\
@@ -26747,7 +26796,7 @@ following the containing message.
;;;***
;;;### (autoloads (unrmail batch-unrmail) "unrmail" "mail/unrmail.el"
-;;;;;; (17141 4172))
+;;;;;; (17178 22151))
;;; Generated autoloads from mail/unrmail.el
(autoload (quote batch-unrmail) "unrmail" "\
@@ -26766,8 +26815,8 @@ Convert Rmail file FILE to system inbox format file TO-FILE.
;;;***
-;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (17141
-;;;;;; 49))
+;;;### (autoloads (unsafep) "unsafep" "emacs-lisp/unsafep.el" (17178
+;;;;;; 22144))
;;; Generated autoloads from emacs-lisp/unsafep.el
(autoload (quote unsafep) "unsafep" "\
@@ -26779,7 +26828,7 @@ of symbols with local bindings.
;;;***
-;;;### (autoloads nil "url" "url/url.el" (17141 266))
+;;;### (autoloads nil "url" "url/url.el" (17178 22157))
;;; Generated autoloads from url/url.el
(defvar url-configuration-directory "~/.url")
@@ -26787,7 +26836,7 @@ of symbols with local bindings.
;;;***
;;;### (autoloads (url-register-auth-scheme url-get-authentication)
-;;;;;; "url-auth" "url/url-auth.el" (17141 252))
+;;;;;; "url-auth" "url/url-auth.el" (17178 22155))
;;; Generated autoloads from url/url-auth.el
(autoload (quote url-get-authentication) "url-auth" "\
@@ -26829,8 +26878,8 @@ RATING a rating between 1 and 10 of the strength of the authentication.
;;;***
;;;### (autoloads (url-cache-expired url-cache-extract url-is-cached
-;;;;;; url-store-in-cache) "url-cache" "url/url-cache.el" (17141
-;;;;;; 252))
+;;;;;; url-store-in-cache) "url-cache" "url/url-cache.el" (17178
+;;;;;; 22156))
;;; Generated autoloads from url/url-cache.el
(autoload (quote url-store-in-cache) "url-cache" "\
@@ -26855,7 +26904,7 @@ Return t iff a cached file has expired.
;;;***
-;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (17141 252))
+;;;### (autoloads (url-cid) "url-cid" "url/url-cid.el" (17178 22156))
;;; Generated autoloads from url/url-cid.el
(autoload (quote url-cid) "url-cid" "\
@@ -26867,8 +26916,8 @@ Not documented
;;;### (autoloads (url-cookie-setup-save-timer url-cookie-handle-set-cookie
;;;;;; url-cookie-generate-header-lines url-cookie-retrieve url-cookie-write-file
-;;;;;; url-cookie-parse-file) "url-cookie" "url/url-cookie.el" (17141
-;;;;;; 252))
+;;;;;; url-cookie-parse-file) "url-cookie" "url/url-cookie.el" (17178
+;;;;;; 22156))
;;; Generated autoloads from url/url-cookie.el
(autoload (quote url-cookie-parse-file) "url-cookie" "\
@@ -26904,7 +26953,7 @@ Reset the cookie saver timer.
;;;***
;;;### (autoloads (url-dav-vc-registered url-dav-supported-p) "url-dav"
-;;;;;; "url/url-dav.el" (17141 254))
+;;;;;; "url/url-dav.el" (17178 22156))
;;; Generated autoloads from url/url-dav.el
(autoload (quote url-dav-supported-p) "url-dav" "\
@@ -26919,8 +26968,8 @@ Not documented
;;;***
-;;;### (autoloads (url-file) "url-file" "url/url-file.el" (17141
-;;;;;; 255))
+;;;### (autoloads (url-file) "url-file" "url/url-file.el" (17178
+;;;;;; 22156))
;;; Generated autoloads from url/url-file.el
(autoload (quote url-file) "url-file" "\
@@ -26931,7 +26980,7 @@ Handle file: and ftp: URLs.
;;;***
;;;### (autoloads (url-open-stream url-gateway-nslookup-host) "url-gw"
-;;;;;; "url/url-gw.el" (17141 258))
+;;;;;; "url/url-gw.el" (17178 22156))
;;; Generated autoloads from url/url-gw.el
(autoload (quote url-gateway-nslookup-host) "url-gw" "\
@@ -26949,8 +26998,8 @@ Will not make a connection if `url-gateway-unplugged' is non-nil.
;;;***
;;;### (autoloads (url-insert-file-contents url-file-local-copy url-copy-file
-;;;;;; url-handler-mode) "url-handlers" "url/url-handlers.el" (17141
-;;;;;; 258))
+;;;;;; url-handler-mode) "url-handlers" "url/url-handlers.el" (17178
+;;;;;; 22156))
;;; Generated autoloads from url/url-handlers.el
(defvar url-handler-mode nil "\
@@ -26996,7 +27045,7 @@ Not documented
;;;### (autoloads (url-history-save-history url-history-parse-history
;;;;;; url-history-setup-save-timer) "url-history" "url/url-history.el"
-;;;;;; (17141 258))
+;;;;;; (17178 22156))
;;; Generated autoloads from url/url-history.el
(autoload (quote url-history-setup-save-timer) "url-history" "\
@@ -27020,7 +27069,7 @@ user for what type to save as.
;;;***
;;;### (autoloads (url-http-options url-http-file-attributes url-http-file-exists-p
-;;;;;; url-http) "url-http" "url/url-http.el" (17141 259))
+;;;;;; url-http) "url-http" "url/url-http.el" (17178 22156))
;;; Generated autoloads from url/url-http.el
(autoload (quote url-http) "url-http" "\
@@ -27073,7 +27122,7 @@ p3p
;;;***
-;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (17141 259))
+;;;### (autoloads (url-irc) "url-irc" "url/url-irc.el" (17178 22156))
;;; Generated autoloads from url/url-irc.el
(autoload (quote url-irc) "url-irc" "\
@@ -27083,8 +27132,8 @@ Not documented
;;;***
-;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (17141
-;;;;;; 259))
+;;;### (autoloads (url-ldap) "url-ldap" "url/url-ldap.el" (17178
+;;;;;; 22156))
;;; Generated autoloads from url/url-ldap.el
(autoload (quote url-ldap) "url-ldap" "\
@@ -27098,7 +27147,7 @@ URL can be a URL string, or a URL vector of the type returned by
;;;***
;;;### (autoloads (url-mailto url-mail) "url-mailto" "url/url-mailto.el"
-;;;;;; (17141 259))
+;;;;;; (17178 22156))
;;; Generated autoloads from url/url-mailto.el
(autoload (quote url-mail) "url-mailto" "\
@@ -27114,7 +27163,7 @@ Handle the mailto: URL syntax.
;;;***
;;;### (autoloads (url-data url-generic-emulator-loader url-info
-;;;;;; url-man) "url-misc" "url/url-misc.el" (17141 260))
+;;;;;; url-man) "url-misc" "url/url-misc.el" (17178 22156))
;;; Generated autoloads from url/url-misc.el
(autoload (quote url-man) "url-misc" "\
@@ -27146,7 +27195,7 @@ Fetch a data URL (RFC 2397).
;;;***
;;;### (autoloads (url-snews url-news) "url-news" "url/url-news.el"
-;;;;;; (17141 260))
+;;;;;; (17178 22156))
;;; Generated autoloads from url/url-news.el
(autoload (quote url-news) "url-news" "\
@@ -27163,7 +27212,7 @@ Not documented
;;;### (autoloads (url-ns-user-pref url-ns-prefs isInNet isResolvable
;;;;;; dnsResolve dnsDomainIs isPlainHostName) "url-ns" "url/url-ns.el"
-;;;;;; (17141 260))
+;;;;;; (17178 22156))
;;; Generated autoloads from url/url-ns.el
(autoload (quote isPlainHostName) "url-ns" "\
@@ -27204,7 +27253,7 @@ Not documented
;;;***
;;;### (autoloads (url-generic-parse-url url-recreate-url) "url-parse"
-;;;;;; "url/url-parse.el" (17141 260))
+;;;;;; "url/url-parse.el" (17178 22156))
;;; Generated autoloads from url/url-parse.el
(autoload (quote url-recreate-url) "url-parse" "\
@@ -27222,7 +27271,7 @@ Format is:
;;;***
;;;### (autoloads (url-setup-privacy-info) "url-privacy" "url/url-privacy.el"
-;;;;;; (17141 263))
+;;;;;; (17178 22156))
;;; Generated autoloads from url/url-privacy.el
(autoload (quote url-setup-privacy-info) "url-privacy" "\
@@ -27238,7 +27287,7 @@ Not documented
;;;;;; url-strip-leading-spaces url-eat-trailing-space url-get-normalized-date
;;;;;; url-lazy-message url-normalize-url url-insert-entities-in-string
;;;;;; url-parse-args url-debug url-debug) "url-util" "url/url-util.el"
-;;;;;; (17141 263))
+;;;;;; (17178 22157))
;;; Generated autoloads from url/url-util.el
(defvar url-debug nil "\
@@ -27323,7 +27372,7 @@ Return the base pathname of FILE, or the actual filename if X is true.
(autoload (quote url-parse-query-string) "url-util" "\
Not documented
-\(fn QUERY &optional DOWNCASE)" nil nil)
+\(fn QUERY &optional DOWNCASE ALLOW-NEWLINES)" nil nil)
(autoload (quote url-unhex-string) "url-util" "\
Remove %XX embedded spaces, etc in a url.
@@ -27363,7 +27412,7 @@ This uses `url-current-object', set locally to the buffer.
;;;***
;;;### (autoloads (ask-user-about-supersession-threat ask-user-about-lock)
-;;;;;; "userlock" "userlock.el" (17141 23009))
+;;;;;; "userlock" "userlock.el" (17178 22157))
;;; Generated autoloads from userlock.el
(autoload (quote ask-user-about-lock) "userlock" "\
@@ -27393,7 +27442,7 @@ The buffer in question is current when this function is called.
;;;### (autoloads (uudecode-decode-region uudecode-decode-region-internal
;;;;;; uudecode-decode-region-external) "uudecode" "gnus/uudecode.el"
-;;;;;; (17141 6845))
+;;;;;; (17178 22146))
;;; Generated autoloads from gnus/uudecode.el
(autoload (quote uudecode-decode-region-external) "uudecode" "\
@@ -27423,7 +27472,7 @@ If FILE-NAME is non-nil, save the result to FILE-NAME.
;;;;;; vc-directory vc-merge vc-insert-headers vc-version-other-window
;;;;;; vc-diff vc-register vc-next-action vc-do-command edit-vc-file
;;;;;; with-vc-file vc-branch-part vc-trunk-p vc-before-checkin-hook
-;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc.el" (17141 23031))
+;;;;;; vc-checkin-hook vc-checkout-hook) "vc" "vc.el" (17178 22157))
;;; Generated autoloads from vc.el
(defvar vc-checkout-hook nil "\
@@ -27710,7 +27759,7 @@ colors. `vc-annotate-background' specifies the background color.
;;;***
-;;;### (autoloads nil "vc-arch" "vc-arch.el" (17141 23009))
+;;;### (autoloads nil "vc-arch" "vc-arch.el" (17178 22157))
;;; Generated autoloads from vc-arch.el
(defun vc-arch-registered (file)
(if (vc-find-root file "{arch}/=tagging-method")
@@ -27720,7 +27769,7 @@ colors. `vc-annotate-background' specifies the background color.
;;;***
-;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (17141 23014))
+;;;### (autoloads nil "vc-cvs" "vc-cvs.el" (17178 22157))
;;; Generated autoloads from vc-cvs.el
(defun vc-cvs-registered (f)
(when (file-readable-p (expand-file-name
@@ -27730,7 +27779,7 @@ colors. `vc-annotate-background' specifies the background color.
;;;***
-;;;### (autoloads nil "vc-mcvs" "vc-mcvs.el" (17141 23016))
+;;;### (autoloads nil "vc-mcvs" "vc-mcvs.el" (17178 22157))
;;; Generated autoloads from vc-mcvs.el
(defun vc-mcvs-registered (file)
(if (vc-find-root file "MCVS/CVS")
@@ -27741,7 +27790,7 @@ colors. `vc-annotate-background' specifies the background color.
;;;***
;;;### (autoloads (vc-rcs-master-templates) "vc-rcs" "vc-rcs.el"
-;;;;;; (17141 23021))
+;;;;;; (17178 22157))
;;; Generated autoloads from vc-rcs.el
(defvar vc-rcs-master-templates (quote ("%sRCS/%s,v" "%s%s,v" "%sRCS/%s")) "\
@@ -27754,7 +27803,7 @@ For a description of possible values, see `vc-check-master-templates'.")
;;;***
;;;### (autoloads (vc-sccs-master-templates) "vc-sccs" "vc-sccs.el"
-;;;;;; (17141 23021))
+;;;;;; (17178 22157))
;;; Generated autoloads from vc-sccs.el
(defvar vc-sccs-master-templates (quote ("%sSCCS/s.%s" "%ss.%s" vc-sccs-search-project-dir)) "\
@@ -27771,7 +27820,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
;;;***
-;;;### (autoloads nil "vc-svn" "vc-svn.el" (17141 23024))
+;;;### (autoloads nil "vc-svn" "vc-svn.el" (17178 22157))
;;; Generated autoloads from vc-svn.el
(defun vc-svn-registered (f)
(when (file-readable-p (expand-file-name
@@ -27784,7 +27833,7 @@ find any project directory." (let ((project-dir (getenv "PROJECTDIR")) dirs dir)
;;;***
;;;### (autoloads (vhdl-mode) "vhdl-mode" "progmodes/vhdl-mode.el"
-;;;;;; (17144 58085))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/vhdl-mode.el
(autoload (quote vhdl-mode) "vhdl-mode" "\
@@ -27924,13 +27973,13 @@ Usage:
symbols are surrounded by one space, and multiple spaces are eliminated.
-| CODE FILLING:
-| Code filling allows to condens code (e.g. sensitivity lists or port
-| maps) by removing comments and newlines and re-wrapping so that all
-| lines are maximally filled (block filling). `C-c C-f C-f' fills a list
-| enclosed by parenthesis, `C-c C-f C-g' a group of lines separated by
-| blank lines, `C-c C-f C-i' a block of lines with same indent, and
-| `C-c C-f M-f' an entire region.
+ CODE FILLING:
+ Code filling allows to condense code (e.g. sensitivity lists or port
+ maps) by removing comments and newlines and re-wrapping so that all
+ lines are maximally filled (block filling). `C-c C-f C-f' fills a list
+ enclosed by parenthesis, `C-c C-f C-g' a group of lines separated by
+ blank lines, `C-c C-f C-i' a block of lines with same indent, and
+ `C-c C-f M-f' an entire region.
CODE BEAUTIFICATION:
@@ -27955,21 +28004,21 @@ Usage:
A clause with several generic/port names on the same line can be
flattened (`C-c C-p C-f') so that only one name per line exists. The
-| direction of ports can be reversed (`C-c C-p C-r'), i.e., inputs become
-| outputs and vice versa, which can be useful in testbenches. (This
-| reversion is done on the internal data structure and is only reflected
-| in subsequent paste operations.)
+ direction of ports can be reversed (`C-c C-p C-r'), i.e., inputs become
+ outputs and vice versa, which can be useful in testbenches. (This
+ reversion is done on the internal data structure and is only reflected
+ in subsequent paste operations.)
Names for actual ports, instances, testbenches, and
design-under-test instances can be derived from existing names according
to options `vhdl-...-name'. See customization group `vhdl-port'.
-| SUBPROGRAM TRANSLATION:
-| Similar functionality exists for copying/pasting the interface of
-| subprograms (function/procedure). A subprogram interface can be copied
-| and then pasted as a subprogram declaration, body or call (uses
-| association list with formals).
+ SUBPROGRAM TRANSLATION:
+ Similar functionality exists for copying/pasting the interface of
+ subprograms (function/procedure). A subprogram interface can be copied
+ and then pasted as a subprogram declaration, body or call (uses
+ association list with formals).
TESTBENCH GENERATION:
@@ -28025,38 +28074,54 @@ Usage:
required by secondary units.
-| STRUCTURAL COMPOSITION:
-| Enables simple structural composition. `C-c C-c C-n' creates a skeleton
-| for a new component. Subcomponents (i.e. component declaration and
-| instantiation) can be automatically placed from a previously read port
-| (`C-c C-c C-p') or directly from the hierarchy browser (`P'). Finally,
-| all subcomponents can be automatically connected using internal signals
-| and ports (`C-c C-c C-w') following these rules:
-| - subcomponent actual ports with same name are considered to be
-| connected by a signal (internal signal or port)
-| - signals that are only inputs to subcomponents are considered as
-| inputs to this component -> input port created
-| - signals that are only outputs from subcomponents are considered as
-| outputs from this component -> output port created
-| - signals that are inputs to AND outputs from subcomponents are
-| considered as internal connections -> internal signal created
-|
-| Component declarations can be placed in a components package (option
-| `vhdl-use-components-package') which can be automatically generated for
-| an entire directory or project (`C-c C-c M-p'). The VHDL'93 direct
-| component instantiation is also supported (option
-| `vhdl-use-direct-instantiation').
-|
-| Purpose: With appropriate naming conventions it is possible to
-| create higher design levels with only a few mouse clicks or key
-| strokes. A new design level can be created by simply generating a new
-| component, placing the required subcomponents from the hierarchy
-| browser, and wiring everything automatically.
-|
-| Note: Automatic wiring only works reliably on templates of new
-| components and component instantiations that were created by VHDL mode.
+ STRUCTURAL COMPOSITION:
+ Enables simple structural composition. `C-c C-c C-n' creates a skeleton
+ for a new component. Subcomponents (i.e. component declaration and
+ instantiation) can be automatically placed from a previously read port
+ (`C-c C-c C-p') or directly from the hierarchy browser (`P'). Finally,
+ all subcomponents can be automatically connected using internal signals
+ and ports (`C-c C-c C-w') following these rules:
+ - subcomponent actual ports with same name are considered to be
+ connected by a signal (internal signal or port)
+ - signals that are only inputs to subcomponents are considered as
+ inputs to this component -> input port created
+ - signals that are only outputs from subcomponents are considered as
+ outputs from this component -> output port created
+ - signals that are inputs to AND outputs from subcomponents are
+ considered as internal connections -> internal signal created
+
+ Purpose: With appropriate naming conventions it is possible to
+ create higher design levels with only a few mouse clicks or key
+ strokes. A new design level can be created by simply generating a new
+ component, placing the required subcomponents from the hierarchy
+ browser, and wiring everything automatically.
+
+ Note: Automatic wiring only works reliably on templates of new
+ components and component instantiations that were created by VHDL mode.
+
+ Component declarations can be placed in a components package (option
+ `vhdl-use-components-package') which can be automatically generated for
+ an entire directory or project (`C-c C-c M-p'). The VHDL'93 direct
+ component instantiation is also supported (option
+ `vhdl-use-direct-instantiation').
+
+| Configuration declarations can automatically be generated either from
+| the menu (`C-c C-c C-f') (for the architecture the cursor is in) or from
+| the speedbar menu (for the architecture under the cursor). The
+| configurations can optionally be hierarchical (i.e. include all
+| component levels of a hierarchical design, option
+| `vhdl-compose-configuration-hierarchical') or include subconfigurations
+| (option `vhdl-compose-configuration-use-subconfiguration'). For
+| subcomponents in hierarchical configurations, the most-recently-analyzed
+| (mra) architecture is selected. If another architecture is desired, it
+| can be marked as most-recently-analyzed (speedbar menu) before
+| generating the configuration.
|
-| See the options group `vhdl-compose' for all relevant user options.
+| Note: Configurations of subcomponents (i.e. hierarchical configuration
+| declarations) are currently not considered when displaying
+| configurations in speedbar.
+
+ See the options group `vhdl-compose' for all relevant user options.
SOURCE FILE COMPILATION:
@@ -28309,7 +28374,7 @@ Key bindings:
;;;***
-;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (17096 12516))
+;;;### (autoloads (vi-mode) "vi" "emulation/vi.el" (17178 20480))
;;; Generated autoloads from emulation/vi.el
(autoload (quote vi-mode) "vi" "\
@@ -28364,7 +28429,7 @@ Syntax table and abbrevs while in vi mode remain as they were in Emacs.
;;;### (autoloads (viqr-pre-write-conversion viqr-post-read-conversion
;;;;;; viet-encode-viqr-buffer viet-encode-viqr-region viet-decode-viqr-buffer
;;;;;; viet-decode-viqr-region viet-encode-viscii-char) "viet-util"
-;;;;;; "language/viet-util.el" (17097 30357))
+;;;;;; "language/viet-util.el" (17178 20481))
;;; Generated autoloads from language/viet-util.el
(autoload (quote viet-encode-viscii-char) "viet-util" "\
@@ -28410,8 +28475,8 @@ Not documented
;;;### (autoloads (View-exit-and-edit view-mode-enter view-mode view-buffer-other-frame
;;;;;; view-buffer-other-window view-buffer view-file-other-frame
-;;;;;; view-file-other-window view-file) "view" "view.el" (17141
-;;;;;; 23036))
+;;;;;; view-file-other-window view-file) "view" "view.el" (17178
+;;;;;; 22157))
;;; Generated autoloads from view.el
(defvar view-mode nil "\
@@ -28618,8 +28683,8 @@ Exit View mode and make the current buffer editable.
;;;***
-;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (17134
-;;;;;; 16212))
+;;;### (autoloads (vip-mode vip-setup) "vip" "emulation/vip.el" (17178
+;;;;;; 22144))
;;; Generated autoloads from emulation/vip.el
(autoload (quote vip-setup) "vip" "\
@@ -28635,7 +28700,7 @@ Turn on VIP emulation of VI.
;;;***
;;;### (autoloads (viper-mode toggle-viper-mode) "viper" "emulation/viper.el"
-;;;;;; (17141 11160))
+;;;;;; (17178 22144))
;;; Generated autoloads from emulation/viper.el
(autoload (quote toggle-viper-mode) "viper" "\
@@ -28652,7 +28717,7 @@ Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Viper'.
;;;***
;;;### (autoloads (warn lwarn display-warning) "warnings" "emacs-lisp/warnings.el"
-;;;;;; (17141 49))
+;;;;;; (17178 22144))
;;; Generated autoloads from emacs-lisp/warnings.el
(defvar warning-prefix-function nil "\
@@ -28740,7 +28805,7 @@ this is equivalent to `display-warning', using
;;;***
;;;### (autoloads (wdired-change-to-wdired-mode) "wdired" "wdired.el"
-;;;;;; (17141 23042))
+;;;;;; (17178 22157))
;;; Generated autoloads from wdired.el
(autoload (quote wdired-change-to-wdired-mode) "wdired" "\
@@ -28756,7 +28821,7 @@ See `wdired-mode'.
;;;***
-;;;### (autoloads (webjump) "webjump" "net/webjump.el" (17134 16307))
+;;;### (autoloads (webjump) "webjump" "net/webjump.el" (17178 22151))
;;; Generated autoloads from net/webjump.el
(autoload (quote webjump) "webjump" "\
@@ -28773,7 +28838,7 @@ Please submit bug reports and other feedback to the author, Neil W. Van Dyke
;;;***
;;;### (autoloads (which-function-mode) "which-func" "progmodes/which-func.el"
-;;;;;; (17134 4682))
+;;;;;; (17178 22153))
;;; Generated autoloads from progmodes/which-func.el
(put 'which-func-format 'risky-local-variable t)
(put 'which-func-current 'risky-local-variable t)
@@ -28807,7 +28872,7 @@ and off otherwise.
;;;;;; whitespace-buffer whitespace-toggle-ateol-check whitespace-toggle-spacetab-check
;;;;;; whitespace-toggle-indent-check whitespace-toggle-trailing-check
;;;;;; whitespace-toggle-leading-check) "whitespace" "whitespace.el"
-;;;;;; (17141 23042))
+;;;;;; (17178 22157))
;;; Generated autoloads from whitespace.el
(autoload (quote whitespace-toggle-leading-check) "whitespace" "\
@@ -28899,7 +28964,7 @@ This is meant to be added buffer-locally to `write-file-functions'.
;;;***
;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse
-;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (17141 23042))
+;;;;;; widget-browse-at) "wid-browse" "wid-browse.el" (17178 22157))
;;; Generated autoloads from wid-browse.el
(autoload (quote widget-browse-at) "wid-browse" "\
@@ -28926,8 +28991,8 @@ With arg, turn widget mode on if and only if arg is positive.
;;;***
;;;### (autoloads (widget-setup widget-insert widget-delete widget-create
-;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (17141
-;;;;;; 23047))
+;;;;;; widget-prompt-value widgetp) "wid-edit" "wid-edit.el" (17178
+;;;;;; 22157))
;;; Generated autoloads from wid-edit.el
(autoload (quote widgetp) "wid-edit" "\
@@ -28969,8 +29034,8 @@ Setup current buffer so editing string widgets works.
;;;***
;;;### (autoloads (windmove-default-keybindings windmove-down windmove-right
-;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (17141
-;;;;;; 23049))
+;;;;;; windmove-up windmove-left) "windmove" "windmove.el" (17178
+;;;;;; 22157))
;;; Generated autoloads from windmove.el
(autoload (quote windmove-left) "windmove" "\
@@ -29023,7 +29088,7 @@ Default MODIFIER is 'shift.
;;;***
;;;### (autoloads (winner-mode winner-mode) "winner" "winner.el"
-;;;;;; (17141 23053))
+;;;;;; (17178 22157))
;;; Generated autoloads from winner.el
(defvar winner-mode nil "\
@@ -29042,7 +29107,7 @@ With arg, turn Winner mode on if and only if arg is positive.
;;;***
;;;### (autoloads (woman-find-file woman-dired-find-file woman) "woman"
-;;;;;; "woman.el" (17141 23061))
+;;;;;; "woman.el" (17178 22157))
;;; Generated autoloads from woman.el
(autoload (quote woman) "woman" "\
@@ -29078,7 +29143,7 @@ decompress the file if appropriate. See the documentation for the
;;;***
;;;### (autoloads (wordstar-mode) "ws-mode" "emulation/ws-mode.el"
-;;;;;; (17134 16237))
+;;;;;; (17178 22144))
;;; Generated autoloads from emulation/ws-mode.el
(autoload (quote wordstar-mode) "ws-mode" "\
@@ -29191,7 +29256,7 @@ The key bindings are:
;;;***
;;;### (autoloads (xml-parse-region xml-parse-file) "xml" "xml.el"
-;;;;;; (17144 6225))
+;;;;;; (17178 22157))
;;; Generated autoloads from xml.el
(autoload (quote xml-parse-file) "xml" "\
@@ -29216,8 +29281,8 @@ If PARSE-NS is non-nil, then QNAMES are expanded.
;;;***
-;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (17141
-;;;;;; 23065))
+;;;### (autoloads (xterm-mouse-mode) "xt-mouse" "xt-mouse.el" (17178
+;;;;;; 22157))
;;; Generated autoloads from xt-mouse.el
(defvar xterm-mouse-mode nil "\
@@ -29246,7 +29311,7 @@ down the SHIFT key while pressing the mouse button.
;;;***
;;;### (autoloads (yenc-extract-filename yenc-decode-region) "yenc"
-;;;;;; "gnus/yenc.el" (17141 6846))
+;;;;;; "gnus/yenc.el" (17178 22146))
;;; Generated autoloads from gnus/yenc.el
(autoload (quote yenc-decode-region) "yenc" "\
@@ -29262,7 +29327,7 @@ Extract file name from an yenc header.
;;;***
;;;### (autoloads (psychoanalyze-pinhead apropos-zippy insert-zippyism
-;;;;;; yow) "yow" "play/yow.el" (17134 16337))
+;;;;;; yow) "yow" "play/yow.el" (17178 22152))
;;; Generated autoloads from play/yow.el
(autoload (quote yow) "yow" "\
@@ -29288,7 +29353,7 @@ Zippy goes to the analyst.
;;;***
-;;;### (autoloads (zone) "zone" "play/zone.el" (17134 16337))
+;;;### (autoloads (zone) "zone" "play/zone.el" (17178 22152))
;;; Generated autoloads from play/zone.el
(autoload (quote zone) "zone" "\
@@ -29299,7 +29364,7 @@ Zone out, completely.
;;;***
;;;### (autoloads (zone-mode zone-mode-update-serial-hook) "zone-mode"
-;;;;;; "net/zone-mode.el" (17134 16307))
+;;;;;; "net/zone-mode.el" (17178 22151))
;;; Generated autoloads from net/zone-mode.el
(autoload (quote zone-mode-update-serial-hook) "zone-mode" "\
@@ -29340,8 +29405,8 @@ Zone-mode does two things:
;;;;;; "calendar/cal-iso.el" "calendar/cal-julian.el" "calendar/cal-mayan.el"
;;;;;; "calendar/cal-menu.el" "calendar/cal-move.el" "calendar/cal-persia.el"
;;;;;; "calendar/cal-tex.el" "calendar/cal-x.el" "case-table.el"
-;;;;;; "cdl.el" "cus-dep.el" "cus-start.el" "custom.el" "dos-fns.el"
-;;;;;; "dos-vars.el" "dos-w32.el" "ediff-diff.el" "ediff-init.el"
+;;;;;; "cdl.el" "cus-dep.el" "cus-load.el" "cus-start.el" "custom.el"
+;;;;;; "dos-fns.el" "dos-vars.el" "dos-w32.el" "ediff-diff.el" "ediff-init.el"
;;;;;; "ediff-merg.el" "ediff-ptch.el" "ediff-vers.el" "ediff-wind.el"
;;;;;; "electric.el" "emacs-lisp/assoc.el" "emacs-lisp/authors.el"
;;;;;; "emacs-lisp/bindat.el" "emacs-lisp/byte-opt.el" "emacs-lisp/byte-run.el"
@@ -29363,12 +29428,13 @@ Zone-mode does two things:
;;;;;; "eshell/em-pred.el" "eshell/em-prompt.el" "eshell/em-rebind.el"
;;;;;; "eshell/em-script.el" "eshell/em-smart.el" "eshell/em-term.el"
;;;;;; "eshell/em-unix.el" "eshell/em-xtra.el" "eshell/esh-arg.el"
-;;;;;; "eshell/esh-cmd.el" "eshell/esh-ext.el" "eshell/esh-io.el"
-;;;;;; "eshell/esh-maint.el" "eshell/esh-module.el" "eshell/esh-opt.el"
-;;;;;; "eshell/esh-proc.el" "eshell/esh-util.el" "eshell/esh-var.el"
-;;;;;; "faces.el" "files.el" "foldout.el" "font-core.el" "format.el"
-;;;;;; "forms-d2.el" "forms-pass.el" "frame.el" "generic-x.el" "gnus/compface.el"
-;;;;;; "gnus/dig.el" "gnus/dns.el" "gnus/format-spec.el" "gnus/gnus-async.el"
+;;;;;; "eshell/esh-cmd.el" "eshell/esh-ext.el" "eshell/esh-groups.el"
+;;;;;; "eshell/esh-io.el" "eshell/esh-maint.el" "eshell/esh-module.el"
+;;;;;; "eshell/esh-opt.el" "eshell/esh-proc.el" "eshell/esh-util.el"
+;;;;;; "eshell/esh-var.el" "faces.el" "files.el" "finder-inf.el"
+;;;;;; "foldout.el" "font-core.el" "format.el" "forms-d2.el" "forms-pass.el"
+;;;;;; "frame.el" "generic-x.el" "gnus/compface.el" "gnus/dig.el"
+;;;;;; "gnus/dns.el" "gnus/format-spec.el" "gnus/gnus-async.el"
;;;;;; "gnus/gnus-bcklg.el" "gnus/gnus-cite.el" "gnus/gnus-cus.el"
;;;;;; "gnus/gnus-demon.el" "gnus/gnus-diary.el" "gnus/gnus-dup.el"
;;;;;; "gnus/gnus-eform.el" "gnus/gnus-ems.el" "gnus/gnus-gl.el"
@@ -29400,7 +29466,7 @@ Zone-mode does two things:
;;;;;; "international/latin-9.el" "international/mule-cmds.el" "international/mule-conf.el"
;;;;;; "international/mule.el" "international/ogonek.el" "international/subst-big5.el"
;;;;;; "international/subst-gb2312.el" "international/subst-jis.el"
-;;;;;; "international/subst-ksc.el" "international/swedish.el" "international/ucs-tables.el"
+;;;;;; "international/subst-ksc.el" "international/ucs-tables.el"
;;;;;; "international/utf-16.el" "international/utf-7.el" "international/utf-8.el"
;;;;;; "isearch.el" "jka-cmpr-hook.el" "kermit.el" "language/chinese.el"
;;;;;; "language/cyrillic.el" "language/czech.el" "language/devanagari.el"
@@ -29423,44 +29489,45 @@ Zone-mode does two things:
;;;;;; "net/eudcb-ldap.el" "net/eudcb-ph.el" "net/ldap.el" "net/netrc.el"
;;;;;; "net/tls.el" "net/tramp-ftp.el" "net/tramp-smb.el" "net/tramp-util.el"
;;;;;; "net/tramp-uu.el" "net/tramp-vc.el" "net/trampver.el" "obsolete/awk-mode.el"
-;;;;;; "obsolete/float.el" "obsolete/hilit19.el" "obsolete/iso-swed.el"
-;;;;;; "obsolete/keyswap.el" "obsolete/mlsupport.el" "obsolete/ooutline.el"
-;;;;;; "obsolete/profile.el" "obsolete/rnews.el" "obsolete/sc.el"
-;;;;;; "obsolete/sun-curs.el" "obsolete/sun-fns.el" "obsolete/uncompress.el"
-;;;;;; "obsolete/x-apollo.el" "obsolete/x-menu.el" "patcomp.el"
-;;;;;; "paths.el" "pcvs-info.el" "pcvs-parse.el" "pcvs-util.el"
-;;;;;; "play/gamegrid.el" "play/gametree.el" "play/meese.el" "progmodes/ada-prj.el"
-;;;;;; "progmodes/cc-align.el" "progmodes/cc-awk.el" "progmodes/cc-bytecomp.el"
-;;;;;; "progmodes/cc-cmds.el" "progmodes/cc-compat.el" "progmodes/cc-defs.el"
-;;;;;; "progmodes/cc-fonts.el" "progmodes/cc-langs.el" "progmodes/cc-menus.el"
-;;;;;; "progmodes/cc-vars.el" "progmodes/ebnf-abn.el" "progmodes/ebnf-bnf.el"
-;;;;;; "progmodes/ebnf-dtd.el" "progmodes/ebnf-ebx.el" "progmodes/ebnf-iso.el"
-;;;;;; "progmodes/ebnf-otz.el" "progmodes/ebnf-yac.el" "progmodes/idlw-complete-structtag.el"
+;;;;;; "obsolete/bg-mouse.el" "obsolete/float.el" "obsolete/hilit19.el"
+;;;;;; "obsolete/iso-swed.el" "obsolete/keyswap.el" "obsolete/mlsupport.el"
+;;;;;; "obsolete/ooutline.el" "obsolete/profile.el" "obsolete/rnews.el"
+;;;;;; "obsolete/sc.el" "obsolete/sun-curs.el" "obsolete/sun-fns.el"
+;;;;;; "obsolete/swedish.el" "obsolete/uncompress.el" "obsolete/x-apollo.el"
+;;;;;; "obsolete/x-menu.el" "patcomp.el" "paths.el" "pcvs-info.el"
+;;;;;; "pcvs-parse.el" "pcvs-util.el" "play/gamegrid.el" "play/gametree.el"
+;;;;;; "play/meese.el" "progmodes/ada-prj.el" "progmodes/cc-align.el"
+;;;;;; "progmodes/cc-awk.el" "progmodes/cc-bytecomp.el" "progmodes/cc-cmds.el"
+;;;;;; "progmodes/cc-compat.el" "progmodes/cc-defs.el" "progmodes/cc-fonts.el"
+;;;;;; "progmodes/cc-langs.el" "progmodes/cc-menus.el" "progmodes/cc-vars.el"
+;;;;;; "progmodes/ebnf-abn.el" "progmodes/ebnf-bnf.el" "progmodes/ebnf-dtd.el"
+;;;;;; "progmodes/ebnf-ebx.el" "progmodes/ebnf-iso.el" "progmodes/ebnf-otz.el"
+;;;;;; "progmodes/ebnf-yac.el" "progmodes/idlw-complete-structtag.el"
;;;;;; "progmodes/idlw-help.el" "progmodes/idlw-rinfo.el" "progmodes/idlw-toolbar.el"
;;;;;; "progmodes/mantemp.el" "progmodes/xscheme.el" "register.el"
;;;;;; "replace.el" "s-region.el" "saveplace.el" "scroll-bar.el"
;;;;;; "select.el" "simple.el" "soundex.el" "startup.el" "subdirs.el"
-;;;;;; "subr.el" "tempo.el" "term/AT386.el" "term/apollo.el" "term/bg-mouse.el"
-;;;;;; "term/bobcat.el" "term/cygwin.el" "term/internal.el" "term/iris-ansi.el"
-;;;;;; "term/linux.el" "term/lk201.el" "term/mac-win.el" "term/news.el"
-;;;;;; "term/pc-win.el" "term/rxvt.el" "term/sun-mouse.el" "term/sun.el"
-;;;;;; "term/sup-mouse.el" "term/tty-colors.el" "term/tvi970.el"
-;;;;;; "term/vt100.el" "term/vt102.el" "term/vt125.el" "term/vt200.el"
-;;;;;; "term/vt201.el" "term/vt220.el" "term/vt240.el" "term/vt300.el"
-;;;;;; "term/vt320.el" "term/vt400.el" "term/vt420.el" "term/w32-win.el"
-;;;;;; "term/wyse50.el" "term/x-win.el" "term/xterm.el" "textmodes/bib-mode.el"
-;;;;;; "textmodes/fill.el" "textmodes/makeinfo.el" "textmodes/page-ext.el"
-;;;;;; "textmodes/page.el" "textmodes/paragraphs.el" "textmodes/refbib.el"
-;;;;;; "textmodes/refer.el" "textmodes/reftex-auc.el" "textmodes/reftex-dcr.el"
-;;;;;; "textmodes/reftex-ref.el" "textmodes/reftex-sel.el" "textmodes/reftex-toc.el"
-;;;;;; "textmodes/reftex-vars.el" "textmodes/texnfo-upd.el" "textmodes/text-mode.el"
-;;;;;; "timezone.el" "tree-widget.el" "uniquify.el" "url/url-about.el"
-;;;;;; "url/url-dired.el" "url/url-expand.el" "url/url-ftp.el" "url/url-https.el"
-;;;;;; "url/url-imap.el" "url/url-methods.el" "url/url-nfs.el" "url/url-proxy.el"
+;;;;;; "subr.el" "tempo.el" "term/AT386.el" "term/apollo.el" "term/bobcat.el"
+;;;;;; "term/cygwin.el" "term/internal.el" "term/iris-ansi.el" "term/linux.el"
+;;;;;; "term/lk201.el" "term/mac-win.el" "term/news.el" "term/pc-win.el"
+;;;;;; "term/rxvt.el" "term/sun-mouse.el" "term/sun.el" "term/sup-mouse.el"
+;;;;;; "term/tty-colors.el" "term/tvi970.el" "term/vt100.el" "term/vt102.el"
+;;;;;; "term/vt125.el" "term/vt200.el" "term/vt201.el" "term/vt220.el"
+;;;;;; "term/vt240.el" "term/vt300.el" "term/vt320.el" "term/vt400.el"
+;;;;;; "term/vt420.el" "term/w32-win.el" "term/wyse50.el" "term/x-win.el"
+;;;;;; "term/xterm.el" "textmodes/bib-mode.el" "textmodes/fill.el"
+;;;;;; "textmodes/makeinfo.el" "textmodes/page-ext.el" "textmodes/page.el"
+;;;;;; "textmodes/paragraphs.el" "textmodes/refbib.el" "textmodes/refer.el"
+;;;;;; "textmodes/reftex-auc.el" "textmodes/reftex-dcr.el" "textmodes/reftex-ref.el"
+;;;;;; "textmodes/reftex-sel.el" "textmodes/reftex-toc.el" "textmodes/reftex-vars.el"
+;;;;;; "textmodes/texnfo-upd.el" "textmodes/text-mode.el" "timezone.el"
+;;;;;; "tree-widget.el" "uniquify.el" "url/url-about.el" "url/url-dired.el"
+;;;;;; "url/url-expand.el" "url/url-ftp.el" "url/url-https.el" "url/url-imap.el"
+;;;;;; "url/url-methods.el" "url/url-nfs.el" "url/url-proxy.el"
;;;;;; "url/url-vars.el" "url/vc-dav.el" "vc-hooks.el" "vcursor.el"
;;;;;; "version.el" "vms-patch.el" "vmsproc.el" "vt-control.el"
;;;;;; "vt100-led.el" "w32-fns.el" "w32-vars.el" "widget.el" "window.el"
-;;;;;; "x-dnd.el") (17146 34583 615470))
+;;;;;; "x-dnd.el") (17178 25595 473948))
;;;***
diff --git a/lisp/loadup.el b/lisp/loadup.el
index 0d145486cdd..e1d5e56e2a2 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -69,6 +69,8 @@
(setq load-source-file-function 'load-with-code-conversion)
(load "files")
+(load "startup")
+
(load "cus-face")
(load "faces") ; after here, `defface' may be used.
@@ -148,7 +150,6 @@
(message "%s" (garbage-collect))
(load "menu-bar")
(load "paths.el") ;Don't get confused if someone compiled paths by mistake.
-(load "startup")
(load "emacs-lisp/lisp")
(load "textmodes/page")
(load "register")
@@ -164,6 +165,7 @@
(load "vmsproc")))
(load "abbrev")
(load "buff-menu")
+(load "server") ; server-getenv is used throughout the terminal initialization code
(if (eq system-type 'vax-vms)
(progn
(load "vms-patch")))
@@ -191,6 +193,16 @@
(load "emacs-lisp/float-sup")))
(message "%s" (garbage-collect))
+;; Load auxiliary settings for X displays if we support them.
+(when (fboundp 'x-create-frame)
+ (load "mouse")
+ (load "international/fontset")
+ (load "dnd")
+ (load "x-dnd")
+ (load "term/x-win"))
+
+(message "%s" (garbage-collect))
+
(load "vc-hooks")
(load "jka-cmpr-hook")
(load "ediff-hook")
diff --git a/lisp/net/newsticker.el b/lisp/net/newsticker.el
index 4f73934a7db..6eea8aa4bf8 100644
--- a/lisp/net/newsticker.el
+++ b/lisp/net/newsticker.el
@@ -10,7 +10,7 @@
;; Created: 17. June 2003
;; Keywords: News, RSS
;; Time-stamp: "26. August 2005, 16:33:46 (ulf)"
-;; CVS-Version: $Id: newsticker.el,v 1.2 2005/09/12 22:54:28 miles Exp $
+;; CVS-Version: $Id: newsticker.el,v 1.3 2005/09/13 08:47:44 lektu Exp $
(defconst newsticker-version "1.8" "Version number of newsticker.el.")
diff --git a/lisp/server.el b/lisp/server.el
index 7256a729de3..9250e7b10bc 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -8,6 +8,7 @@
;; Keywords: processes
;; Changes by peck@sun.com and by rms.
+;; Overhaul by Karoly Lorentey <lorentey@elte.hu> for multi-tty support.
;; This file is part of GNU Emacs.
@@ -41,7 +42,7 @@
;; This program transmits the file names to Emacs through
;; the server subprocess, and Emacs visits them and lets you edit them.
-;; Note that any number of clients may dispatch files to emacs to be edited.
+;; Note that any number of clients may dispatch files to Emacs to be edited.
;; When you finish editing a Server buffer, again call server-edit
;; to mark that buffer as done for the client and switch to the next
@@ -102,9 +103,8 @@
(defvar server-clients nil
"List of current server clients.
-Each element is (CLIENTID BUFFERS...) where CLIENTID is a string
-that can be given to the server process to identify a client.
-When a buffer is marked as \"done\", it is removed from this list.")
+Each element is (PROC PROPERTIES...) where PROC is a process object,
+and PROPERTIES is an association list of client properties.")
(defvar server-buffer-clients nil
"List of client ids for clients requesting editing of current buffer.")
@@ -161,57 +161,185 @@ are done with it in the server.")
(defvar server-name "server")
-(defvar server-socket-dir
- (format "/tmp/emacs%d" (user-uid)))
+(defvar server-socket-dir nil
+ "The directory in which to place the server socket.
+Initialized by `server-start'.")
+
+(defun server-client (proc)
+ "Return the Emacs client corresponding to PROC.
+PROC must be a process object.
+The car of the result is PROC; the cdr is an association list.
+See `server-client-get' and `server-client-set'."
+ (assq proc server-clients))
+
+(defun server-client-get (client property)
+ "Get the value of PROPERTY in CLIENT.
+CLIENT may be a process object, or a client returned by `server-client'.
+Return nil if CLIENT has no such property."
+ (or (listp client) (setq client (server-client client)))
+ (cdr (assq property (cdr client))))
+
+(defun server-client-set (client property value)
+ "Set the PROPERTY to VALUE in CLIENT, and return VALUE.
+CLIENT may be a process object, or a client returned by `server-client'."
+ (let (p proc)
+ (if (listp client)
+ (setq proc (car client))
+ (setq proc client
+ client (server-client client)))
+ (setq p (assq property client))
+ (cond
+ (p (setcdr p value))
+ (client (setcdr client (cons (cons property value) (cdr client))))
+ (t (setq server-clients
+ `((,proc (,property . ,value)) . ,server-clients))))
+ value))
+
+(defun server-clients-with (property value)
+ "Return a list of clients with PROPERTY set to VALUE."
+ (let (result)
+ (dolist (client server-clients result)
+ (when (equal value (server-client-get client property))
+ (setq result (cons (car client) result))))))
+
+(defun server-add-client (proc)
+ "Create a client for process PROC, if it doesn't already have one.
+New clients have no properties."
+ (unless (server-client proc)
+ (setq server-clients (cons (cons proc nil)
+ server-clients))))
+
+;;;###autoload
+(defun server-getenv (variable &optional frame)
+ "Get the value of VARIABLE in the client environment of frame FRAME.
+VARIABLE should be a string. Value is nil if VARIABLE is undefined in
+the environment. Otherwise, value is a string.
+
+If FRAME is an emacsclient frame, then the variable is looked up
+in the environment of the emacsclient process; otherwise the
+function consults the environment of the Emacs process.
+
+If FRAME is nil or missing, then the selected frame is used."
+ (when (not frame) (setq frame (selected-frame)))
+ (let ((client (frame-parameter frame 'client)) env)
+ (if (null client)
+ (getenv variable)
+ (setq env (server-client-get client 'environment))
+ (if (null env)
+ (getenv variable)
+ (cdr (assoc variable env))))))
+
+(defmacro server-with-client-environment (client vars &rest body)
+ "Evaluate BODY with environment variables VARS set to those of CLIENT.
+The environment variables are then restored to their previous values.
+
+VARS should be a list of strings."
+ (declare (indent 2))
+ (let ((oldvalues (make-symbol "oldvalues"))
+ (var (make-symbol "var"))
+ (value (make-symbol "value"))
+ (pair (make-symbol "pair")))
+ `(let (,oldvalues)
+ (dolist (,var (quote ,vars))
+ (let ((,value (cdr (assoc ,var (server-client-get ,client 'environment)))))
+ (setq ,oldvalues (cons (cons ,var (getenv ,var)) ,oldvalues))
+ (setenv ,var ,value)))
+ (unwind-protect
+ (progn ,@body)
+ (dolist (,pair ,oldvalues)
+ (setenv (car ,pair) (cdr ,pair)))))))
+
+(defun server-delete-client (client &optional noframe)
+ "Delete CLIENT, including its buffers, devices and frames.
+If NOFRAME is non-nil, let the frames live. (To be used from
+`delete-frame-functions'."
+ ;; Force a new lookup of client (prevents infinite recursion).
+ (setq client (server-client
+ (if (listp client) (car client) client)))
+ (let ((proc (car client))
+ (buffers (server-client-get client 'buffers)))
+ (when client
+ (setq server-clients (delq client server-clients))
+
+ (dolist (buf buffers)
+ (when (buffer-live-p buf)
+ (with-current-buffer buf
+ ;; Remove PROC from the clients of each buffer.
+ (setq server-buffer-clients (delq proc server-buffer-clients))
+ ;; Kill the buffer if necessary.
+ (when (and (null server-buffer-clients)
+ (or (and server-kill-new-buffers
+ (not server-existing-buffer))
+ (server-temp-file-p)))
+ (kill-buffer (current-buffer))))))
+
+ ;; Delete the client's tty.
+ (let ((device (server-client-get client 'device)))
+ (when (eq (display-live-p device) t)
+ (delete-display device)))
+
+ ;; Delete the client's frames.
+ (unless noframe
+ (dolist (frame (frame-list))
+ (if (and (frame-live-p frame)
+ (equal (car client) (frame-parameter frame 'client)))
+ (delete-frame frame))))
+
+ ;; Delete the client's process.
+ (if (eq (process-status (car client)) 'open)
+ (delete-process (car client)))
+
+ (server-log "Deleted" proc))))
(defun server-log (string &optional client)
- "If a *server* buffer exists, write STRING to it for logging purposes."
+ "If a *server* buffer exists, write STRING to it for logging purposes.
+If CLIENT is non-nil, add a description of it to the logged
+message."
(if (get-buffer "*server*")
(with-current-buffer "*server*"
(goto-char (point-max))
(insert (current-time-string)
- (if client (format " %s:" client) " ")
+ (cond
+ ((null client) " ")
+ ((listp client) (format " %s: " (car client)))
+ (t (format " %s: " client)))
string)
(or (bolp) (newline)))))
(defun server-sentinel (proc msg)
- (let ((client (assq proc server-clients)))
- ;; Remove PROC from the list of clients.
- (when client
- (setq server-clients (delq client server-clients))
- (dolist (buf (cdr client))
- (with-current-buffer buf
- ;; Remove PROC from the clients of each buffer.
- (setq server-buffer-clients (delq proc server-buffer-clients))
- ;; Kill the buffer if necessary.
- (when (and (null server-buffer-clients)
- (or (and server-kill-new-buffers
- (not server-existing-buffer))
- (server-temp-file-p)))
- (kill-buffer (current-buffer)))))))
- (server-log (format "Status changed to %s" (process-status proc)) proc))
-
-(defun server-select-display (display)
- ;; If the current frame is on `display' we're all set.
- (unless (equal (frame-parameter (selected-frame) 'display) display)
- ;; Otherwise, look for an existing frame there and select it.
- (dolist (frame (frame-list))
- (when (equal (frame-parameter frame 'display) display)
- (select-frame frame)))
- ;; If there's no frame on that display yet, create a dummy one
- ;; and select it.
- (unless (equal (frame-parameter (selected-frame) 'display) display)
- (select-frame
- (make-frame-on-display
- display
- ;; This frame is only there in place of an actual "current display"
- ;; setting, so we want it to be as unobtrusive as possible. That's
- ;; what the invisibility is for. The minibuffer setting is so that
- ;; we don't end up displaying a buffer in it (which noone would
- ;; notice).
- '((visibility . nil) (minibuffer . only)))))))
+ "The process sentinel for Emacs server connections."
+ (server-log (format "Status changed to %s: %s" (process-status proc) msg) proc)
+ (server-delete-client proc))
+
+(defun server-handle-delete-frame (frame)
+ "Delete the client connection when the emacsclient frame is deleted."
+ (let ((proc (frame-parameter frame 'client)))
+ (when (and (frame-live-p frame)
+ proc
+ (or (window-system frame)
+ ;; A terminal device must not yet be deleted if
+ ;; there are other frames on it.
+ (< 0 (let ((frame-num 0))
+ (mapc (lambda (f)
+ (when (eq (frame-display f)
+ (frame-display frame))
+ (setq frame-num (1+ frame-num))))
+ (frame-list))
+ frame-num))))
+ (server-log (format "server-handle-delete-frame, frame %s" frame) proc)
+ (server-delete-client proc 'noframe)))) ; Let delete-frame delete the frame later.
+
+(defun server-handle-suspend-tty (device)
+ "Notify the emacsclient process to suspend itself when its tty device is suspended."
+ (dolist (proc (server-clients-with 'device device))
+ (server-log (format "server-handle-suspend-tty, device %s" device) proc)
+ (condition-case err
+ (server-send-string proc "-suspend \n")
+ (file-error (condition-case nil (server-delete-client proc) (error nil))))))
(defun server-unquote-arg (arg)
+ "Remove &-quotation from ARG.
+See `server-quote-arg' and `server-process-filter'."
(replace-regexp-in-string
"&." (lambda (s)
(case (aref s 1)
@@ -221,6 +349,26 @@ are done with it in the server.")
(t " ")))
arg t t))
+(defun server-quote-arg (arg)
+ "In ARG, insert a & before each &, each space, each newline, and -.
+Change spaces to underscores, too, so that the return value never
+contains a space.
+
+See `server-unquote-arg' and `server-process-filter'."
+ (replace-regexp-in-string
+ "[-&\n ]" (lambda (s)
+ (case (aref s 0)
+ (?& "&&")
+ (?- "&-")
+ (?\n "&n")
+ (?\s "&_")))
+ arg t t))
+
+(defun server-send-string (proc string)
+ "A wrapper around `proc-send-string' for logging."
+ (server-log (concat "Sent " string) proc)
+ (process-send-string proc string))
+
(defun server-ensure-safe-dir (dir)
"Make sure DIR is a directory with no race-condition issues.
Creates the directory if necessary and makes sure:
@@ -241,38 +389,53 @@ Creates the directory if necessary and makes sure:
(defun server-start (&optional leave-dead)
"Allow this Emacs process to be a server for client processes.
This starts a server communications subprocess through which
-client \"editors\" can send your editing commands to this Emacs job.
-To use the server, set up the program `emacsclient' in the
+client \"editors\" can send your editing commands to this Emacs
+job. To use the server, set up the program `emacsclient' in the
Emacs distribution as your standard \"editor\".
-Prefix arg means just kill any existing server communications subprocess."
+Prefix arg LEAVE-DEAD means just kill any existing server
+communications subprocess."
(interactive "P")
- ;; Make sure there is a safe directory in which to place the socket.
- (server-ensure-safe-dir server-socket-dir)
- ;; kill it dead!
- (if server-process
- (condition-case () (delete-process server-process) (error nil)))
- ;; Delete the socket files made by previous server invocations.
- (condition-case ()
- (delete-file (expand-file-name server-name server-socket-dir))
- (error nil))
- ;; If this Emacs already had a server, clear out associated status.
- (while server-clients
- (let ((buffer (nth 1 (car server-clients))))
- (server-buffer-done buffer)))
- (unless leave-dead
+ (when (or
+ (not server-clients)
+ (yes-or-no-p
+ "The current server still has clients; delete them? "))
+ ;; It is safe to get the user id now.
+ (setq server-socket-dir (or server-socket-dir
+ (format "/tmp/emacs%d" (user-uid))))
+ ;; Make sure there is a safe directory in which to place the socket.
+ (server-ensure-safe-dir server-socket-dir)
+ ;; kill it dead!
(if server-process
- (server-log (message "Restarting server")))
- (letf (((default-file-modes) ?\700))
- (setq server-process
- (make-network-process
- :name "server" :family 'local :server t :noquery t
- :service (expand-file-name server-name server-socket-dir)
- :sentinel 'server-sentinel :filter 'server-process-filter
- ;; We must receive file names without being decoded.
- ;; Those are decoded by server-process-filter according
- ;; to file-name-coding-system.
- :coding 'raw-text)))))
+ (condition-case () (delete-process server-process) (error nil)))
+ ;; Delete the socket files made by previous server invocations.
+ (condition-case ()
+ (delete-file (expand-file-name server-name server-socket-dir))
+ (error nil))
+ ;; If this Emacs already had a server, clear out associated status.
+ (while server-clients
+ (server-delete-client (car server-clients)))
+ (if leave-dead
+ (progn
+ (server-log (message "Server stopped"))
+ (setq server-process nil))
+ (if server-process
+ (server-log (message "Restarting server"))
+ (server-log (message "Starting server")))
+ (letf (((default-file-modes) ?\700))
+ (add-hook 'suspend-tty-functions 'server-handle-suspend-tty)
+ (add-hook 'delete-frame-functions 'server-handle-delete-frame)
+ (add-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function)
+ (add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function)
+ (setq server-process
+ (make-network-process
+ :name "server" :family 'local :server t :noquery t
+ :service (expand-file-name server-name server-socket-dir)
+ :sentinel 'server-sentinel :filter 'server-process-filter
+ ;; We must receive file names without being decoded.
+ ;; Those are decoded by server-process-filter according
+ ;; to file-name-coding-system.
+ :coding 'raw-text))))))
;;;###autoload
(define-minor-mode server-mode
@@ -289,105 +452,355 @@ Server mode runs a process that accepts commands from the
(defun server-process-filter (proc string)
"Process a request from the server to edit some files.
-PROC is the server process. Format of STRING is \"PATH PATH PATH... \\n\"."
- (server-log string proc)
+PROC is the server process. STRING consists of a sequence of
+commands prefixed by a dash. Some commands have arguments; these
+are &-quoted and need to be decoded by `server-unquote-arg'. The
+filter parses and executes these commands.
+
+To illustrate the protocol, here is an example command that
+emacsclient sends to create a new X frame (note that the whole
+sequence is sent on a single line):
+
+ -version 21.3.50 xterm
+ -env HOME /home/lorentey
+ -env DISPLAY :0.0
+ ... lots of other -env commands
+ -display :0.0
+ -window-system
+
+The server normally sends back the single command `-good-version'
+as a response.
+
+The following commands are accepted by the server:
+
+`-version CLIENT-VERSION'
+ Check version numbers between server and client, and signal an
+ error if there is a mismatch. The server replies with
+ `-good-version' to confirm the match.
+
+`-env NAME VALUE'
+ An environment variable on the client side.
+
+`-current-frame'
+ Forbid the creation of new frames.
+
+`-nowait'
+ Request that the next frame created should not be
+ associated with this client.
+
+`-display DISPLAY'
+ Set the display name to open X frames on.
+
+`-position LINE[:COLUMN]'
+ Go to the given line and column number
+ in the next file opened.
+
+`-file FILENAME'
+ Load the given file in the current frame.
+
+`-eval EXPR'
+ Evaluate EXPR as a Lisp expression and return the
+ result in -print commands.
+
+`-window-system'
+ Open a new X frame.
+
+`-tty DEVICENAME TYPE'
+ Open a new tty frame at the client.
+
+`-resume'
+ Resume this tty frame. The client sends this string when it
+ gets the SIGCONT signal and it is the foreground process on its
+ controlling tty.
+
+`-suspend'
+ Suspend this tty frame. The client sends this string in
+ response to SIGTSTP and SIGTTOU. The server must cease all I/O
+ on this tty until it gets a -resume command.
+
+`-ignore COMMENT'
+ Do nothing, but put the comment in the server
+ log. Useful for debugging.
+
+
+The following commands are accepted by the client:
+
+`-good-version'
+ Signals a version match between the client and the server.
+
+`-emacs-pid PID'
+ Describes the process id of the Emacs process;
+ used to forward window change signals to it.
+
+`-window-system-unsupported'
+ Signals that the server does not
+ support creating X frames; the client must try again with a tty
+ frame.
+
+`-print STRING'
+ Print STRING on stdout. Used to send values
+ returned by -eval.
+
+`-error DESCRIPTION'
+ Signal an error (but continue processing).
+
+`-suspend'
+ Suspend this terminal, i.e., stop the client process. Sent
+ when the user presses C-z."
+ (server-log (concat "Received " string) proc)
(let ((prev (process-get proc 'previous-string)))
(when prev
(setq string (concat prev string))
(process-put proc 'previous-string nil)))
- ;; If the input is multiple lines,
- ;; process each line individually.
- (while (string-match "\n" string)
- (let ((request (substring string 0 (match-beginning 0)))
- (coding-system (and default-enable-multibyte-characters
- (or file-name-coding-system
- default-file-name-coding-system)))
- client nowait eval
- (files nil)
- (lineno 1)
- (tmp-frame nil) ; Sometimes used to embody the selected display.
- (columnno 0))
- ;; Remove this line from STRING.
- (setq string (substring string (match-end 0)))
- (setq client (cons proc nil))
- (while (string-match "[^ ]* " request)
- (let ((arg (substring request (match-beginning 0) (1- (match-end 0)))))
- (setq request (substring request (match-end 0)))
- (cond
- ((equal "-nowait" arg) (setq nowait t))
- ((equal "-eval" arg) (setq eval t))
- ((and (equal "-display" arg) (string-match "\\([^ ]*\\) " request))
- (let ((display (server-unquote-arg (match-string 1 request))))
- (setq request (substring request (match-end 0)))
- (condition-case err
- (setq tmp-frame (server-select-display display))
- (error (process-send-string proc (nth 1 err))
- (setq request "")))))
- ;; ARG is a line number option.
- ((string-match "\\`\\+[0-9]+\\'" arg)
- (setq lineno (string-to-number (substring arg 1))))
- ;; ARG is line number:column option.
- ((string-match "\\`+\\([0-9]+\\):\\([0-9]+\\)\\'" arg)
- (setq lineno (string-to-number (match-string 1 arg))
- columnno (string-to-number (match-string 2 arg))))
- (t
- ;; Undo the quoting that emacsclient does
- ;; for certain special characters.
- (setq arg (server-unquote-arg arg))
- ;; Now decode the file name if necessary.
- (if coding-system
- (setq arg (decode-coding-string arg coding-system)))
- (if eval
- (let ((v (eval (car (read-from-string arg)))))
- (when v
- (with-temp-buffer
- (let ((standard-output (current-buffer)))
- (pp v)
- ;; Suppress the error rose when the pipe to PROC is closed.
- (condition-case err
- (process-send-region proc (point-min) (point-max))
- (file-error nil)
- (error nil))
- ))))
- ;; ARG is a file name.
- ;; Collapse multiple slashes to single slashes.
- (setq arg (command-line-normalize-file-name arg))
- (push (list arg lineno columnno) files))
- (setq lineno 1)
- (setq columnno 0)))))
- (when files
- (run-hooks 'pre-command-hook)
- (server-visit-files files client nowait)
- (run-hooks 'post-command-hook))
- ;; CLIENT is now a list (CLIENTNUM BUFFERS...)
- (if (null (cdr client))
- ;; This client is empty; get rid of it immediately.
- (progn
- (delete-process proc)
- (server-log "Close empty client" proc))
- ;; We visited some buffer for this client.
- (or nowait (push client server-clients))
- (unless (or isearch-mode (minibufferp))
- (server-switch-buffer (nth 1 client))
- (run-hooks 'server-switch-hook)
- (unless nowait
- (message (substitute-command-keys
- "When done with a buffer, type \\[server-edit]")))))
- ;; Avoid preserving the connection after the last real frame is deleted.
- (if tmp-frame (delete-frame tmp-frame))))
- ;; Save for later any partial line that remains.
- (when (> (length string) 0)
- (process-put proc 'previous-string string)))
+ (condition-case err
+ (progn
+ (server-add-client proc)
+ ;; If the input is multiple lines,
+ ;; process each line individually.
+ (while (string-match "\n" string)
+ (let ((request (substring string 0 (match-beginning 0)))
+ (coding-system (and default-enable-multibyte-characters
+ (or file-name-coding-system
+ default-file-name-coding-system)))
+ (client (server-client proc))
+ current-frame
+ nowait ; t if emacsclient does not want to wait for us.
+ frame ; The frame that was opened for the client (if any).
+ display ; Open the frame on this display.
+ dontkill ; t if the client should not be killed.
+ (files nil)
+ (lineno 1)
+ (columnno 0))
+ ;; Remove this line from STRING.
+ (setq string (substring string (match-end 0)))
+ (while (string-match " *[^ ]* " request)
+ (let ((arg (substring request (match-beginning 0) (1- (match-end 0)))))
+ (setq request (substring request (match-end 0)))
+ (cond
+ ;; -version CLIENT-VERSION:
+ ;; Check version numbers, signal an error if there is a mismatch.
+ ((and (equal "-version" arg)
+ (string-match "\\([0-9.]+\\) " request))
+ (let* ((client-version (match-string 1 request))
+ (truncated-emacs-version
+ (substring emacs-version 0 (length client-version))))
+ (setq request (substring request (match-end 0)))
+ (if (equal client-version truncated-emacs-version)
+ (progn
+ (server-send-string proc "-good-version \n")
+ (server-client-set client 'version client-version))
+ (error (concat "Version mismatch: Emacs is "
+ truncated-emacs-version
+ ", emacsclient is " client-version)))))
+
+ ;; -nowait: Emacsclient won't wait for a result.
+ ((equal "-nowait" arg) (setq nowait t))
+
+ ;; -current-frame: Don't create frames.
+ ((equal "-current-frame" arg) (setq current-frame t))
+
+ ;; -display DISPLAY:
+ ;; Open X frames on the given instead of the default.
+ ((and (equal "-display" arg) (string-match "\\([^ ]*\\) " request))
+ (setq display (match-string 1 request)
+ request (substring request (match-end 0))))
+
+ ;; -window-system: Open a new X frame.
+ ((equal "-window-system" arg)
+ (unless (server-client-get client 'version)
+ (error "Protocol error; make sure to use the correct version of emacsclient"))
+ (unless current-frame
+ (if (fboundp 'x-create-frame)
+ (let ((params (if nowait
+ ;; Flag frame as client-created, but use a dummy client.
+ ;; This will prevent the frame from being deleted when
+ ;; emacsclient quits while also preventing
+ ;; `server-save-buffers-kill-display' from unexpectedly
+ ;; killing emacs on that frame.
+ (list (cons 'client 'nowait))
+ (list (cons 'client proc)))))
+ (setq frame (make-frame-on-display
+ (or display
+ (frame-parameter nil 'device)
+ (getenv "DISPLAY")
+ (error "Please specify display"))
+ params))
+ (server-log (format "%s created" frame) proc)
+ ;; XXX We need to ensure the parameters are
+ ;; really set because Emacs forgets unhandled
+ ;; initialization parameters for X frames at
+ ;; the moment.
+ (modify-frame-parameters frame params)
+ (select-frame frame)
+ (server-client-set client 'frame frame)
+ (server-client-set client 'device (frame-display frame))
+ (setq dontkill t))
+ ;; This emacs does not support X.
+ (server-log "Window system unsupported" proc)
+ (server-send-string proc "-window-system-unsupported \n")
+ (setq dontkill t))))
+
+ ;; -resume: Resume a suspended tty frame.
+ ((equal "-resume" arg)
+ (let ((device (server-client-get client 'device)))
+ (setq dontkill t)
+ (when (eq (display-live-p device) t)
+ (resume-tty device))))
+
+ ;; -suspend: Suspend the client's frame. (In case we
+ ;; get out of sync, and a C-z sends a SIGTSTP to
+ ;; emacsclient.)
+ ((equal "-suspend" arg)
+ (let ((device (server-client-get client 'device)))
+ (setq dontkill t)
+ (when (eq (display-live-p device) t)
+ (suspend-tty device))))
+
+ ;; -ignore COMMENT: Noop; useful for debugging emacsclient.
+ ;; (The given comment appears in the server log.)
+ ((and (equal "-ignore" arg) (string-match "\\([^ ]*\\) " request))
+ (setq dontkill t
+ request (substring request (match-end 0))))
+
+ ;; -tty DEVICE-NAME TYPE: Open a new tty frame at the client.
+ ((and (equal "-tty" arg) (string-match "\\([^ ]*\\) \\([^ ]*\\) " request))
+ (let ((tty (server-unquote-arg (match-string 1 request)))
+ (type (server-unquote-arg (match-string 2 request))))
+ (setq request (substring request (match-end 0)))
+ (unless (server-client-get client 'version)
+ (error "Protocol error; make sure you use the correct version of emacsclient"))
+ (unless current-frame
+ (server-with-client-environment proc
+ ("LANG" "LC_CTYPE" "LC_ALL"
+ ;; For tgetent(3); list according to ncurses(3).
+ "BAUDRATE" "COLUMNS" "ESCDELAY" "HOME" "LINES"
+ "NCURSES_ASSUMED_COLORS" "NCURSES_NO_PADDING"
+ "NCURSES_NO_SETBUF" "TERM" "TERMCAP" "TERMINFO"
+ "TERMINFO_DIRS" "TERMPATH")
+ (setq frame (make-frame-on-tty tty type
+ ;; Ignore nowait here; we always need to clean
+ ;; up opened ttys when the client dies.
+ `((client . ,proc)))))
+ (select-frame frame)
+ (server-client-set client 'frame frame)
+ (server-client-set client 'tty (display-name frame))
+ (server-client-set client 'device (frame-display frame))
+
+ ;; Reply with our pid.
+ (server-send-string proc (concat "-emacs-pid " (number-to-string (emacs-pid)) "\n"))
+ (setq dontkill t))))
+
+ ;; -position LINE: Go to the given line in the next file.
+ ((and (equal "-position" arg) (string-match "\\(\\+[0-9]+\\) " request))
+ (setq lineno (string-to-number (substring (match-string 1 request) 1))
+ request (substring request (match-end 0))))
+
+ ;; -position LINE:COLUMN: Set point to the given position in the next file.
+ ((and (equal "-position" arg) (string-match "\\+\\([0-9]+\\):\\([0-9]+\\) " request))
+ (setq lineno (string-to-number (match-string 1 request))
+ columnno (string-to-number (match-string 2 request))
+ request (substring request (match-end 0))))
+
+ ;; -file FILENAME: Load the given file.
+ ((and (equal "-file" arg) (string-match "\\([^ ]+\\) " request))
+ (let ((file (server-unquote-arg (match-string 1 request))))
+ (setq request (substring request (match-end 0)))
+ (if coding-system
+ (setq file (decode-coding-string file coding-system)))
+ (setq file (command-line-normalize-file-name file))
+ (push (list file lineno columnno) files)
+ (server-log (format "New file: %s (%d:%d)" file lineno columnno) proc))
+ (setq lineno 1
+ columnno 0))
+
+ ;; -eval EXPR: Evaluate a Lisp expression.
+ ((and (equal "-eval" arg) (string-match "\\([^ ]+\\) " request))
+ (let ((expr (server-unquote-arg (match-string 1 request))))
+ (setq request (substring request (match-end 0)))
+ (if coding-system
+ (setq expr (decode-coding-string expr coding-system)))
+ (let ((v (eval (car (read-from-string expr)))))
+ (when (and (not frame) v)
+ (with-temp-buffer
+ (let ((standard-output (current-buffer)))
+ (pp v)
+ (server-send-string
+ proc (format "-print %s\n"
+ (server-quote-arg
+ (buffer-substring-no-properties (point-min)
+ (point-max)))))))))
+ (setq lineno 1
+ columnno 0)))
+
+ ;; -env NAME VALUE: An environment variable.
+ ((and (equal "-env" arg) (string-match "\\([^ ]+\\) \\([^ ]+\\) " request))
+ (let ((name (server-unquote-arg (match-string 1 request)))
+ (value (server-unquote-arg (match-string 2 request))))
+ (when coding-system
+ (setq name (decode-coding-string name coding-system))
+ (setq value (decode-coding-string value coding-system)))
+ (setq request (substring request (match-end 0)))
+ (server-client-set
+ client 'environment
+ (cons (cons name value)
+ (server-client-get client 'environment)))))
+
+ ;; Unknown command.
+ (t (error "Unknown command: %s" arg)))))
+
+ (let (buffers)
+ (when files
+ (run-hooks 'pre-command-hook)
+ (setq buffers (server-visit-files files client nowait))
+ (run-hooks 'post-command-hook))
+
+ ;; Delete the client if necessary.
+ (cond
+ (nowait
+ ;; Client requested nowait; return immediately.
+ (server-log "Close nowait client" proc)
+ (server-delete-client proc))
+ ((and (not dontkill) (null buffers))
+ ;; This client is empty; get rid of it immediately.
+ (server-log "Close empty client" proc)
+ (server-delete-client proc)))
+ (cond
+ ((or isearch-mode (minibufferp))
+ nil)
+ ((and frame (null buffers))
+ (message (substitute-command-keys
+ "When done with this frame, type \\[delete-frame]")))
+ ((not (null buffers))
+ (server-switch-buffer (car buffers))
+ (run-hooks 'server-switch-hook)
+ (unless nowait
+ (message (substitute-command-keys
+ "When done with a buffer, type \\[server-edit]"))))))))
+
+ ;; Save for later any partial line that remains.
+ (when (> (length string) 0)
+ (process-put proc 'previous-string string)))
+ ;; condition-case
+ (error (ignore-errors
+ (server-send-string
+ proc (concat "-error " (server-quote-arg (error-message-string err))))
+ (setq string "")
+ (server-log (error-message-string err) proc)
+ (delete-process proc)))))
(defun server-goto-line-column (file-line-col)
+ "Move point to the position indicated in FILE-LINE-COL.
+FILE-LINE-COL should be a three-element list as described in
+`server-visit-files'."
(goto-line (nth 1 file-line-col))
(let ((column-number (nth 2 file-line-col)))
(if (> column-number 0)
(move-to-column (1- column-number)))))
(defun server-visit-files (files client &optional nowait)
- "Find FILES and return the list CLIENT with the buffers nconc'd.
+ "Find FILES and return a list of buffers created.
FILES is an alist whose elements are (FILENAME LINENUMBER COLUMNNUMBER).
+CLIENT is the client that requested this operation.
NOWAIT non-nil means this client is not waiting for the results,
so don't mark these buffers specially, just visit them normally."
;; Bind last-nonmenu-event to force use of keyboard, not mouse, for queries.
@@ -410,8 +823,7 @@ so don't mark these buffers specially, just visit them normally."
(revert-buffer t nil)))
(t
(if (y-or-n-p
- (concat "File no longer exists: "
- filen
+ (concat "File no longer exists: " filen
", write buffer to file? "))
(write-file filen))))
(setq server-existing-buffer t)
@@ -424,7 +836,11 @@ so don't mark these buffers specially, just visit them normally."
(add-hook 'kill-buffer-hook 'server-kill-buffer nil t)
(push (car client) server-buffer-clients))
(push (current-buffer) client-record)))
- (nconc client client-record)))
+ (unless nowait
+ (server-client-set
+ client 'buffers
+ (nconc (server-client-get client 'buffers) client-record)))
+ client-record))
(defun server-buffer-done (buffer &optional for-killing)
"Mark BUFFER as \"done\" for its client(s).
@@ -434,27 +850,24 @@ or nil. KILLED is t if we killed BUFFER (typically, because it was visiting
a temp file).
FOR-KILLING if non-nil indicates that we are called from `kill-buffer'."
(let ((next-buffer nil)
- (killed nil)
- (old-clients server-clients))
- (while old-clients
- (let ((client (car old-clients)))
+ (killed nil))
+ (dolist (client server-clients)
+ (let ((buffers (server-client-get client 'buffers)))
(or next-buffer
- (setq next-buffer (nth 1 (memq buffer client))))
- (delq buffer client)
- ;; Delete all dead buffers from CLIENT.
- (let ((tail client))
- (while tail
- (and (bufferp (car tail))
- (null (buffer-name (car tail)))
- (delq (car tail) client))
- (setq tail (cdr tail))))
- ;; If client now has no pending buffers,
- ;; tell it that it is done, and forget it entirely.
- (unless (cdr client)
- (delete-process (car client))
- (server-log "Close" (car client))
- (setq server-clients (delq client server-clients))))
- (setq old-clients (cdr old-clients)))
+ (setq next-buffer (nth 1 (memq buffer buffers))))
+ (when buffers ; Ignore bufferless clients.
+ (setq buffers (delq buffer buffers))
+ ;; Delete all dead buffers from CLIENT.
+ (dolist (b buffers)
+ (and (bufferp b)
+ (not (buffer-live-p b))
+ (setq buffers (delq b buffers))))
+ (server-client-set client 'buffers buffers)
+ ;; If client now has no pending buffers,
+ ;; tell it that it is done, and forget it entirely.
+ (unless buffers
+ (server-log "Close" client)
+ (server-delete-client client)))))
(if (and (bufferp buffer) (buffer-name buffer))
;; We may or may not kill this buffer;
;; if we do, do not call server-buffer-done recursively
@@ -519,30 +932,32 @@ specifically for the clients and did not exist before their request for it."
;; but I think that is dangerous--the client would proceed
;; using whatever is on disk in that file. -- rms.
(defun server-kill-buffer-query-function ()
+ "Ask before killing a server buffer."
(or (not server-buffer-clients)
+ (let ((res t))
+ (dolist (proc server-buffer-clients res)
+ (let ((client (server-client proc)))
+ (when (and client (eq (process-status proc) 'open))
+ (setq res nil)))))
(yes-or-no-p (format "Buffer `%s' still has clients; kill it? "
(buffer-name (current-buffer))))))
-(add-hook 'kill-buffer-query-functions
- 'server-kill-buffer-query-function)
-
(defun server-kill-emacs-query-function ()
- (let (live-client
- (tail server-clients))
- ;; See if any clients have any buffers that are still alive.
- (while tail
- (if (memq t (mapcar 'stringp (mapcar 'buffer-name (cdr (car tail)))))
- (setq live-client t))
- (setq tail (cdr tail)))
- (or (not live-client)
- (yes-or-no-p "Server buffers still have clients; exit anyway? "))))
-
-(add-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function)
+ "Ask before exiting Emacs it has live clients."
+ (or (not server-clients)
+ (let (live-client)
+ (dolist (client server-clients live-client)
+ (if (memq t (mapcar 'buffer-live-p (server-client-get
+ client 'buffers)))
+ (setq live-client t))))
+ (yes-or-no-p "This Emacs session has clients; exit anyway? ")))
(defvar server-kill-buffer-running nil
"Non-nil while `server-kill-buffer' or `server-buffer-done' is running.")
(defun server-kill-buffer ()
+ "Remove the current buffer from its clients' buffer list.
+Designed to be added to `kill-buffer-hook'."
;; Prevent infinite recursion if user has made server-done-hook
;; call kill-buffer.
(or server-kill-buffer-running
@@ -574,18 +989,26 @@ starts server process and that is all. Invoked by \\[server-edit]."
(defun server-switch-buffer (&optional next-buffer killed-one)
"Switch to another buffer, preferably one that has a client.
-Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it."
- ;; KILLED-ONE is t in a recursive call
- ;; if we have already killed one temp-file server buffer.
- ;; This means we should avoid the final "switch to some other buffer"
- ;; since we've already effectively done that.
+Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it.
+
+KILLED-ONE is t in a recursive call if we have already killed one
+temp-file server buffer. This means we should avoid the final
+\"switch to some other buffer\" since we've already effectively
+done that."
(if (null next-buffer)
- (if server-clients
- (server-switch-buffer (nth 1 (car server-clients)) killed-one)
- (unless (or killed-one (window-dedicated-p (selected-window)))
- (switch-to-buffer (other-buffer))
+ (progn
+ (let ((rest server-clients))
+ (while (and rest (not next-buffer))
+ (let ((client (car rest)))
+ ;; Only look at frameless clients.
+ (when (not (server-client-get client 'frame))
+ (setq next-buffer (car (server-client-get client 'buffers))))
+ (setq rest (cdr rest)))))
+ (and next-buffer (server-switch-buffer next-buffer killed-one))
+ (unless (or next-buffer killed-one (window-dedicated-p (selected-window)))
+ ;; (switch-to-buffer (other-buffer))
(message "No server buffers remain to edit")))
- (if (not (buffer-name next-buffer))
+ (if (not (buffer-live-p next-buffer))
;; If NEXT-BUFFER is a dead buffer, remove the server records for it
;; and try the next surviving server buffer.
(apply 'server-switch-buffer (server-buffer-done next-buffer))
@@ -616,8 +1039,8 @@ Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it."
(get-window-with-predicate
(lambda (w)
(and (not (window-dedicated-p w))
- (equal (frame-parameter (window-frame w) 'display)
- (frame-parameter (selected-frame) 'display))))
+ (equal (frame-parameter (window-frame w) 'device)
+ (frame-parameter (selected-frame) 'device))))
'nomini 'visible (selected-window))))
(condition-case nil
(switch-to-buffer next-buffer)
@@ -625,10 +1048,38 @@ Arg NEXT-BUFFER is a suggestion; if it is a live buffer, use it."
;; a minibuffer/dedicated-window (if there's no other).
(error (pop-to-buffer next-buffer)))))))))
+(defun server-save-buffers-kill-display (&optional arg)
+ "Offer to save each buffer, then kill the current connection.
+If the current frame has no client, kill Emacs itself.
+
+With prefix arg, silently save all file-visiting buffers, then kill.
+
+If emacsclient was started with a list of filenames to edit, then
+only these files will be asked to be saved."
+ (interactive "P")
+ (let ((proc (frame-parameter (selected-frame) 'client))
+ (frame (selected-frame)))
+ (if proc
+ (let ((buffers (server-client-get proc 'buffers)))
+ ;; If client is bufferless, emulate a normal Emacs session
+ ;; exit and offer to save all buffers. Otherwise, offer to
+ ;; save only the buffers belonging to the client.
+ (save-some-buffers arg
+ (if buffers
+ (lambda () (memq (current-buffer) buffers))
+ t))
+ (server-delete-client proc)
+ (when (frame-live-p frame)
+ (delete-frame frame)))
+ (save-buffers-kill-emacs))))
+
(define-key ctl-x-map "#" 'server-edit)
(defun server-unload-hook ()
+ "Unload the server library."
(server-start t)
+ (remove-hook 'suspend-tty-functions 'server-handle-suspend-tty)
+ (remove-hook 'delete-frame-functions 'server-handle-delete-frame)
(remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function)
(remove-hook 'kill-emacs-query-functions 'server-kill-emacs-query-function)
(remove-hook 'kill-buffer-hook 'server-kill-buffer))
diff --git a/lisp/simple.el b/lisp/simple.el
index fe58a47610e..cb8fcc97136 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -2289,6 +2289,8 @@ the text which should be made available.
The second, optional, argument PUSH, has the same meaning as the
similar argument to `x-set-cut-buffer', which see.")
+(make-variable-frame-local 'interprogram-cut-function)
+
(defvar interprogram-paste-function nil
"Function to call to get text cut from other programs.
@@ -2309,6 +2311,8 @@ most recent string, the function should return nil. If it is
difficult to tell whether Emacs or some other program provided the
current string, it is probably good enough to return nil if the string
is equal (according to `string=') to the last text Emacs provided.")
+
+(make-variable-frame-local 'interprogram-paste-function)
@@ -5181,14 +5185,14 @@ the front of the list of recently selected ones."
(defcustom normal-erase-is-backspace
(and (not noninteractive)
(or (memq system-type '(ms-dos windows-nt))
- (eq window-system 'mac)
- (and (memq window-system '(x))
+ (eq initial-window-system 'mac)
+ (and (memq initial-window-system '(x))
(fboundp 'x-backspace-delete-keys-p)
(x-backspace-delete-keys-p))
;; If the terminal Emacs is running on has erase char
;; set to ^H, use the Backspace key for deleting
;; backward and, and the Delete key for deleting forward.
- (and (null window-system)
+ (and (null initial-window-system)
(eq tty-erase-char ?\^H))))
"If non-nil, Delete key deletes forward and Backspace key deletes backward.
@@ -5266,6 +5270,7 @@ See also `normal-erase-is-backspace'."
(if normal-erase-is-backspace
(progn
+ ;; XXX Perhaps this mode should be terminal-local, not global -- lorentey
(define-key function-key-map [delete] [?\C-d])
(define-key function-key-map [kp-delete] [?\C-d])
(define-key function-key-map [backspace] [?\C-?]))
diff --git a/lisp/startup.el b/lisp/startup.el
index d5cf91d622b..145bbcbc86e 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -36,6 +36,13 @@
(defvar command-line-processed nil
"Non-nil once command line has been processed.")
+(defvar window-system initial-window-system
+ "Name of window system the selected frame is displaying through.
+The value is a symbol--for instance, `x' for X windows.
+The value is nil if the selected frame is on a text-only-terminal.")
+
+(make-variable-frame-local 'window-system)
+
(defgroup initialization nil
"Emacs start-up procedure."
:group 'internal)
@@ -434,36 +441,19 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
;; for instance due to a dense colormap.
(when (or frame-initial-frame
;; If frame-initial-frame has no meaning, do this anyway.
- (not (and window-system
+ (not (and initial-window-system
(not noninteractive)
- (not (eq window-system 'pc)))))
+ (not (eq initial-window-system 'pc)))))
;; Modify the initial frame based on what .emacs puts into
;; ...-frame-alist.
(if (fboundp 'frame-notice-user-settings)
(frame-notice-user-settings))
+ ;; Set the faces for the initial background mode even if
+ ;; frame-notice-user-settings didn't (such as on a tty).
+ ;; frame-set-background-mode is idempotent, so it won't
+ ;; cause any harm if it's already been done.
(if (fboundp 'frame-set-background-mode)
- ;; Set the faces for the initial background mode even if
- ;; frame-notice-user-settings didn't (such as on a tty).
- ;; frame-set-background-mode is idempotent, so it won't
- ;; cause any harm if it's already been done.
- (let ((frame (selected-frame))
- term)
- (when (and (null window-system)
- ;; Don't override default set by files in lisp/term.
- (null default-frame-background-mode)
- (let ((bg (frame-parameter frame 'background-color)))
- (or (null bg)
- (member bg '(unspecified "unspecified-bg"
- "unspecified-fg")))))
-
- (setq term (getenv "TERM"))
- ;; Some files in lisp/term do a better job with the
- ;; background mode, but we leave this here anyway, in
- ;; case they remove those files.
- (if (string-match "^\\(xterm\\|rxvt\\|dtterm\\|eterm\\)"
- term)
- (setq default-frame-background-mode 'light)))
- (frame-set-background-mode (selected-frame)))))
+ (frame-set-background-mode (selected-frame))))
;; Now we know the user's default font, so add it to the menu.
(if (fboundp 'font-menu-add-default)
@@ -504,6 +494,20 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
(defvar tool-bar-originally-present nil
"Non-nil if tool-bars are present before user and site init files are read.")
+(defvar handle-args-function-alist '((nil . tty-handle-args))
+ "Functions for processing window-system dependent command-line arguments.
+Window system startup files should add their own function to this
+alist, which should parse the command line arguments. Those
+pertaining to the window system should be processed and removed
+from the returned command line.")
+
+(defvar window-system-initialization-alist '((nil . ignore))
+ "Alist of window-system initialization functions.
+Window-system startup files should add their own initialization
+function to this list. The function should take no arguments,
+and initialize the window system environment to prepare for
+opening the first frame (e.g. open a connection to an X server).")
+
;; Handle the X-like command-line arguments "-fg", "-bg", "-name", etc.
(defun tty-handle-args (args)
(let (rest)
@@ -608,16 +612,22 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
(setq eol-mnemonic-dos "(DOS)"
eol-mnemonic-mac "(Mac)")))
- ;; Read window system's init file if using a window system.
+ ;; Make sure window system's init file was loaded in loadup.el if using a window system.
(condition-case error
- (if (and window-system (not noninteractive))
- (load (concat term-file-prefix
- (symbol-name window-system)
- "-win")
- ;; Every window system should have a startup file;
- ;; barf if we can't find it.
- nil t))
- ;; If we can't read it, print the error message and exit.
+ (unless noninteractive
+ (if (and initial-window-system
+ (not (featurep
+ (intern (concat (symbol-name initial-window-system) "-win")))))
+ (error "Unsupported window system `%s'" initial-window-system))
+ ;; Process window-system specific command line parameters.
+ (setq command-line-args
+ (funcall (or (cdr (assq initial-window-system handle-args-function-alist))
+ (error "Unsupported window system `%s'" initial-window-system))
+ command-line-args))
+ ;; Initialize the window system. (Open connection, etc.)
+ (funcall (or (cdr (assq initial-window-system window-system-initialization-alist))
+ (error "Unsupported window system `%s'" initial-window-system))))
+ ;; If there was an error, print the error message and exit.
(error
(princ
(if (eq (car error) 'error)
@@ -633,13 +643,9 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
(cdr error) ", "))))
'external-debugging-output)
(terpri 'external-debugging-output)
- (setq window-system nil)
+ (setq initial-window-system nil)
(kill-emacs)))
- ;; Windowed displays do this inside their *-win.el.
- (unless (or (display-graphic-p) noninteractive)
- (setq command-line-args (tty-handle-args command-line-args)))
-
(set-locale-environment nil)
;; Convert the arguments to Emacs internal representation.
@@ -737,7 +743,7 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
;; If frame was created with a menu bar, set menu-bar-mode on.
(unless (or noninteractive
emacs-basic-display
- (and (memq window-system '(x w32))
+ (and (memq initial-window-system '(x w32))
(<= (frame-parameter nil 'menu-bar-lines) 0)))
(menu-bar-mode 1))
@@ -756,11 +762,10 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
;; Register default TTY colors for the case the terminal hasn't a
;; terminal init file.
- (unless (memq window-system '(x w32))
- ;; We do this regardles of whether the terminal supports colors
- ;; or not, since they can switch that support on or off in
- ;; mid-session by setting the tty-color-mode frame parameter.
- (tty-register-default-colors))
+ ;; We do this regardles of whether the terminal supports colors
+ ;; or not, since they can switch that support on or off in
+ ;; mid-session by setting the tty-color-mode frame parameter.
+ (tty-register-default-colors)
;; Record whether the tool-bar is present before the user and site
;; init files are processed. frame-notice-user-settings uses this
@@ -974,31 +979,8 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
;; Load library for our terminal type.
;; User init file can set term-file-prefix to nil to prevent this.
(unless (or noninteractive
- window-system
- (null term-file-prefix))
- (let* ((TERM (getenv "TERM"))
- (term TERM)
- hyphend)
- (while (and term
- (not (load (concat term-file-prefix term) t t)))
- ;; Strip off last hyphen and what follows, then try again
- (setq term
- (if (setq hyphend (string-match "[-_][^-_]+\\'" term))
- (substring term 0 hyphend)
- nil)))
- (setq term TERM)
- ;; The terminal file has been loaded, now call the terminal specific
- ;; initialization function.
- (while term
- (let ((term-init-func (intern-soft (concat "terminal-init-" term))))
- (if (not (fboundp term-init-func))
- ;; Strip off last hyphen and what follows, then try again
- (setq term
- (if (setq hyphend (string-match "[-_][^-_]+\\'" term))
- (substring term 0 hyphend)
- nil))
- (setq term nil)
- (funcall term-init-func))))))
+ initial-window-system)
+ (tty-run-terminal-initialization (selected-frame)))
;; Update the out-of-memory error message based on user's key bindings
;; for save-some-buffers.
diff --git a/lisp/subr.el b/lisp/subr.el
index ab0b052dae2..61340283c96 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -1172,7 +1172,8 @@ any other non-digit terminates the character code and is then used as input."))
;; or C-q C-x might not return immediately since ESC or C-x might be
;; bound to some prefix in function-key-map or key-translation-map.
(setq translated char)
- (let ((translation (lookup-key function-key-map (vector char))))
+ (let ((translation (lookup-key (terminal-local-value 'local-function-key-map nil)
+ (vector char))))
(if (arrayp translation)
(setq translated (aref translation 0))))
(cond ((null translated))
@@ -1752,6 +1753,18 @@ See also `with-temp-buffer'."
(if (window-live-p save-selected-window-window)
(select-window save-selected-window-window 'norecord))))))
+(defmacro with-selected-frame (frame &rest body)
+ "Execute the forms in BODY with FRAME as the selected frame.
+The value returned is the value of the last form in BODY.
+See also `with-temp-buffer'."
+ (declare (indent 1) (debug t))
+ `(let ((save-selected-frame (selected-frame)))
+ (unwind-protect
+ (progn (select-frame ,frame)
+ ,@body)
+ (if (frame-live-p save-selected-frame)
+ (select-frame save-selected-frame)))))
+
(defmacro with-temp-file (file &rest body)
"Create a new buffer, evaluate BODY there, and write the buffer to FILE.
The value returned is the value of the last form in BODY.
diff --git a/lisp/talk.el b/lisp/talk.el
index 6ef86736cae..a008a0ef3fd 100644
--- a/lisp/talk.el
+++ b/lisp/talk.el
@@ -45,17 +45,44 @@ Each element has the form (DISPLAY FRAME BUFFER).")
;; Add the new buffers to all talk frames.
(talk-update-buffers))
-(defun talk-add-display (display)
- (let* ((elt (assoc display talk-display-alist))
- (name (concat "*talk-" display "*"))
- buffer frame)
- (if (not (and elt (frame-live-p (setq frame (nth 1 elt)))))
- (setq frame (make-frame-on-display display (list (cons 'name name)))))
+;;;###autoload
+(defun talk ()
+ "Connect to the Emacs talk group from the current X display or tty frame."
+ (interactive)
+ (let ((type (frame-live-p (selected-frame)))
+ (display (frame-display (selected-frame))))
+ (cond
+ ((eq type t)
+ (talk-add-display (selected-frame)))
+ ((eq type 'x)
+ (talk-add-display (frame-display (selected-frame))))
+ (t
+ (error "Unknown frame type"))))
+ (talk-update-buffers))
+
+(defun talk-add-display (frame)
+ (let* ((display (if (frame-live-p frame)
+ (frame-display frame)
+ frame))
+ (elt (assoc display talk-display-alist))
+ (name (concat "*talk-" (display-name display) "*"))
+ buffer)
+ (unless (frame-live-p frame)
+ (setq frame (make-frame-on-display display (list (cons 'name name)))))
+ (if (and elt (frame-live-p (nth 1 elt)))
+ (setq frame (nth 1 elt)))
(if (not (and elt (buffer-name (get-buffer (setq buffer (nth 2 elt))))))
(setq buffer (get-buffer-create name)))
+ (add-to-list 'delete-frame-functions 'talk-handle-delete-frame)
(setq talk-display-alist
(cons (list display frame buffer) (delq elt talk-display-alist)))))
+(defun talk-handle-delete-frame (frame)
+ (dolist (d talk-display-alist)
+ (when (eq (nth 1 d) frame)
+ (setq talk-display-alist (delq d talk-display-alist))
+ (talk-update-buffers))))
+
(defun talk-disconnect ()
"Disconnect this display from the Emacs talk group."
(interactive)
diff --git a/lisp/term/AT386.el b/lisp/term/AT386.el
index 22768730e70..7e3ed15ce2e 100644
--- a/lisp/term/AT386.el
+++ b/lisp/term/AT386.el
@@ -28,34 +28,36 @@
;;; Code:
-(if (boundp 'AT386-keypad-map)
- nil
- ;; The terminal initialization should already have set up some keys
- (setq AT386-keypad-map (lookup-key function-key-map "\e["))
- (if (not (keymapp AT386-keypad-map))
- (error "What? Your AT386 termcap/terminfo has no keycaps in it"))
-
- ;; Equivalents of these are set up automatically by termcap/terminfo
- ;; (define-key AT386-keypad-map "A" [up])
- ;; (define-key AT386-keypad-map "B" [down])
- ;; (define-key AT386-keypad-map "C" [right])
- ;; (define-key AT386-keypad-map "D" [left])
-
- ;; These would be set up by terminfo, but not termcap
- (define-key AT386-keypad-map "H" [home])
- (define-key AT386-keypad-map "Y" [end])
- (define-key AT386-keypad-map "U" [next]) ;; PgDn
- (define-key AT386-keypad-map "V" [prior]) ;; PgUp
- (define-key AT386-keypad-map "@" [insert]) ;; Ins key
-
- ;; These are not normally set up by either
- (define-key AT386-keypad-map "G" [kp-5]) ;; Unlabeled center key
- (define-key AT386-keypad-map "S" [kp-subtract])
- (define-key AT386-keypad-map "T" [kp-add])
-
- ;; Arrange for the ALT key to be equivalent to ESC
- (define-key function-key-map "\eN" [27]) ; ALT map
- )
+(defun terminal-init-AT386 ()
+ "Terminal initialization function for AT386."
+ (if (boundp 'AT386-keypad-map)
+ nil
+ ;; The terminal initialization should already have set up some keys
+ (setq AT386-keypad-map (lookup-key (terminal-local-value 'local-function-key-map nil) "\e["))
+ (if (not (keymapp AT386-keypad-map))
+ (error "What? Your AT386 termcap/terminfo has no keycaps in it"))
+
+ ;; Equivalents of these are set up automatically by termcap/terminfo
+ ;; (define-key AT386-keypad-map "A" [up])
+ ;; (define-key AT386-keypad-map "B" [down])
+ ;; (define-key AT386-keypad-map "C" [right])
+ ;; (define-key AT386-keypad-map "D" [left])
+
+ ;; These would be set up by terminfo, but not termcap
+ (define-key AT386-keypad-map "H" [home])
+ (define-key AT386-keypad-map "Y" [end])
+ (define-key AT386-keypad-map "U" [next]) ;; PgDn
+ (define-key AT386-keypad-map "V" [prior]) ;; PgUp
+ (define-key AT386-keypad-map "@" [insert]) ;; Ins key
+
+ ;; These are not normally set up by either
+ (define-key AT386-keypad-map "G" [kp-5]) ;; Unlabeled center key
+ (define-key AT386-keypad-map "S" [kp-subtract])
+ (define-key AT386-keypad-map "T" [kp-add])
+
+ ;; Arrange for the ALT key to be equivalent to ESC
+ (define-key (terminal-local-value 'local-function-key-map nil) "\eN" [27]) ; ALT map
+ ))
;;; arch-tag: abec1b03-582f-49f8-b8cb-e2fd52ea4bd7
;;; AT386.el ends here
diff --git a/lisp/term/apollo.el b/lisp/term/apollo.el
index 749ff85a0a6..1e0e6f0a1f1 100644
--- a/lisp/term/apollo.el
+++ b/lisp/term/apollo.el
@@ -1,7 +1,7 @@
;; -*- no-byte-compile: t -*-
(defun terminal-init-apollo ()
- "Terminal initialization function for apollo."
- (load "term/vt100" nil t))
+ "Terminal initialization function for apollo."
+ (terminal-init-vt100))
;;; arch-tag: c72f446f-e6b7-4749-90a4-bd68632adacf
;;; apollo.el ends here
diff --git a/lisp/term/internal.el b/lisp/term/internal.el
index 1a266b0706f..bbc19bb1b3c 100644
--- a/lisp/term/internal.el
+++ b/lisp/term/internal.el
@@ -29,20 +29,21 @@
;; ---------------------------------------------------------------------------
;; keyboard setup -- that's simple!
(set-input-mode nil nil 0)
-(define-key function-key-map [backspace] "\177") ; Normal behaviour for BS
-(define-key function-key-map [delete] "\C-d") ; ... and Delete
-(define-key function-key-map [tab] [?\t])
-(define-key function-key-map [linefeed] [?\n])
-(define-key function-key-map [clear] [11])
-(define-key function-key-map [return] [13])
-(define-key function-key-map [escape] [?\e])
-(define-key function-key-map [M-backspace] [?\M-\d])
-(define-key function-key-map [M-delete] [?\M-d])
-(define-key function-key-map [M-tab] [?\M-\t])
-(define-key function-key-map [M-linefeed] [?\M-\n])
-(define-key function-key-map [M-clear] [?\M-\013])
-(define-key function-key-map [M-return] [?\M-\015])
-(define-key function-key-map [M-escape] [?\M-\e])
+(let (m (terminal-local-value 'local-function-key-map nil))
+ (define-key m [backspace] "\177") ; Normal behaviour for BS
+ (define-key m [delete] "\C-d") ; ... and Delete
+ (define-key m [tab] [?\t])
+ (define-key m [linefeed] [?\n])
+ (define-key m [clear] [11])
+ (define-key m [return] [13])
+ (define-key m [escape] [?\e])
+ (define-key m [M-backspace] [?\M-\d])
+ (define-key m [M-delete] [?\M-d])
+ (define-key m [M-tab] [?\M-\t])
+ (define-key m [M-linefeed] [?\M-\n])
+ (define-key m [M-clear] [?\M-\013])
+ (define-key m [M-return] [?\M-\015])
+ (define-key m [M-escape] [?\M-\e]))
(put 'backspace 'ascii-character 127)
(put 'delete 'ascii-character 127)
(put 'tab 'ascii-character ?\t)
diff --git a/lisp/term/iris-ansi.el b/lisp/term/iris-ansi.el
index e62434d2865..d751ca69057 100644
--- a/lisp/term/iris-ansi.el
+++ b/lisp/term/iris-ansi.el
@@ -25,306 +25,321 @@
;;; Code:
-(defun iris-ansi-initialize-terminal ()
- "Terminal initialization function for iris-ansi."
- (define-key function-key-map "\e[120q" [S-escape])
- (define-key function-key-map "\e[121q" [C-escape])
+(defvar iris-function-map nil
+ "Function key definitions for SGI xwsh and winterm apps.")
+
+;; Make reloads faster.
+(unless iris-function-map
+ (setq iris-function-map (make-sparse-keymap))
+
+ (define-key iris-function-map "\e[120q" [S-escape])
+ (define-key iris-function-map "\e[121q" [C-escape])
- (define-key function-key-map "\e[001q" [f1])
- (define-key function-key-map "\e[013q" [S-f1])
- (define-key function-key-map "\e[025q" [C-f1])
+ (define-key iris-function-map "\e[001q" [f1])
+ (define-key iris-function-map "\e[013q" [S-f1])
+ (define-key iris-function-map "\e[025q" [C-f1])
- (define-key function-key-map "\e[002q" [f2])
- (define-key function-key-map "\e[014q" [S-f2])
- (define-key function-key-map "\e[026q" [C-f2])
- (define-key function-key-map "\e[038q" [M-f2])
+ (define-key iris-function-map "\e[002q" [f2])
+ (define-key iris-function-map "\e[014q" [S-f2])
+ (define-key iris-function-map "\e[026q" [C-f2])
+ (define-key iris-function-map "\e[038q" [M-f2])
- (define-key function-key-map "\e[003q" [f3])
- (define-key function-key-map "\e[015q" [S-f3])
- (define-key function-key-map "\e[027q" [C-f3])
+ (define-key iris-function-map "\e[003q" [f3])
+ (define-key iris-function-map "\e[015q" [S-f3])
+ (define-key iris-function-map "\e[027q" [C-f3])
- (define-key function-key-map "\e[004q" [f4])
- (define-key function-key-map "\e[016q" [S-f4])
- (define-key function-key-map "\e[028q" [C-f4])
+ (define-key iris-function-map "\e[004q" [f4])
+ (define-key iris-function-map "\e[016q" [S-f4])
+ (define-key iris-function-map "\e[028q" [C-f4])
- (define-key function-key-map "\e[005q" [f5])
- (define-key function-key-map "\e[017q" [S-f5])
- (define-key function-key-map "\e[029q" [C-f5])
+ (define-key iris-function-map "\e[005q" [f5])
+ (define-key iris-function-map "\e[017q" [S-f5])
+ (define-key iris-function-map "\e[029q" [C-f5])
- (define-key function-key-map "\e[006q" [f6])
- (define-key function-key-map "\e[018q" [S-f6])
- (define-key function-key-map "\e[030q" [C-f6])
+ (define-key iris-function-map "\e[006q" [f6])
+ (define-key iris-function-map "\e[018q" [S-f6])
+ (define-key iris-function-map "\e[030q" [C-f6])
- (define-key function-key-map "\e[007q" [f7])
- (define-key function-key-map "\e[019q" [S-f7])
- (define-key function-key-map "\e[031q" [C-f7])
+ (define-key iris-function-map "\e[007q" [f7])
+ (define-key iris-function-map "\e[019q" [S-f7])
+ (define-key iris-function-map "\e[031q" [C-f7])
- (define-key function-key-map "\e[008q" [f8])
- (define-key function-key-map "\e[020q" [S-f8])
- (define-key function-key-map "\e[032q" [C-f8])
+ (define-key iris-function-map "\e[008q" [f8])
+ (define-key iris-function-map "\e[020q" [S-f8])
+ (define-key iris-function-map "\e[032q" [C-f8])
- (define-key function-key-map "\e[009q" [f9])
- (define-key function-key-map "\e[021q" [S-f9])
- (define-key function-key-map "\e[033q" [C-f9])
+ (define-key iris-function-map "\e[009q" [f9])
+ (define-key iris-function-map "\e[021q" [S-f9])
+ (define-key iris-function-map "\e[033q" [C-f9])
- (define-key function-key-map "\e[010q" [f10])
- (define-key function-key-map "\e[022q" [S-f10])
- (define-key function-key-map "\e[034q" [C-f10])
+ (define-key iris-function-map "\e[010q" [f10])
+ (define-key iris-function-map "\e[022q" [S-f10])
+ (define-key iris-function-map "\e[034q" [C-f10])
- (define-key function-key-map "\e[011q" [f11])
- (define-key function-key-map "\e[023q" [S-f11])
- (define-key function-key-map "\e[035q" [C-f11])
- (define-key function-key-map "\e[047q" [M-f11])
+ (define-key iris-function-map "\e[011q" [f11])
+ (define-key iris-function-map "\e[023q" [S-f11])
+ (define-key iris-function-map "\e[035q" [C-f11])
+ (define-key iris-function-map "\e[047q" [M-f11])
- (define-key function-key-map "\e[012q" [f12])
- (define-key function-key-map "\e[024q" [S-f12])
- (define-key function-key-map "\e[036q" [C-f12])
- (define-key function-key-map "\e[048q" [M-f12])
+ (define-key iris-function-map "\e[012q" [f12])
+ (define-key iris-function-map "\e[024q" [S-f12])
+ (define-key iris-function-map "\e[036q" [C-f12])
+ (define-key iris-function-map "\e[048q" [M-f12])
- (define-key function-key-map "\e[057q" [?\C-`])
- (define-key function-key-map "\e[115q" [?\M-`])
+ (define-key iris-function-map "\e[057q" [C-`])
+ (define-key iris-function-map "\e[115q" [M-`])
- (define-key function-key-map "\e[049q" [?\C-1])
- (define-key function-key-map "\e[058q" [?\M-1])
+ (define-key iris-function-map "\e[049q" [?\C-1])
+ (define-key iris-function-map "\e[058q" [?\M-1])
- (define-key function-key-map "\e[059q" [?\M-2])
+ (define-key iris-function-map "\e[059q" [?\M-2])
- (define-key function-key-map "\e[050q" [?\C-3])
- (define-key function-key-map "\e[060q" [?\M-3])
+ (define-key iris-function-map "\e[050q" [?\C-3])
+ (define-key iris-function-map "\e[060q" [?\M-3])
- (define-key function-key-map "\e[051q" [?\C-4])
- (define-key function-key-map "\e[061q" [?\M-4])
+ (define-key iris-function-map "\e[051q" [?\C-4])
+ (define-key iris-function-map "\e[061q" [?\M-4])
- (define-key function-key-map "\e[052q" [?\C-5])
- (define-key function-key-map "\e[062q" [?\M-5])
+ (define-key iris-function-map "\e[052q" [?\C-5])
+ (define-key iris-function-map "\e[062q" [?\M-5])
- (define-key function-key-map "\e[063q" [?\M-6])
+ (define-key iris-function-map "\e[063q" [?\M-6])
- (define-key function-key-map "\e[053q" [?\C-7])
- (define-key function-key-map "\e[064q" [?\M-7])
+ (define-key iris-function-map "\e[053q" [?\C-7])
+ (define-key iris-function-map "\e[064q" [?\M-7])
- (define-key function-key-map "\e[054q" [?\C-8])
- (define-key function-key-map "\e[065q" [?\M-8])
+ (define-key iris-function-map "\e[054q" [?\C-8])
+ (define-key iris-function-map "\e[065q" [?\M-8])
- (define-key function-key-map "\e[055q" [?\C-9])
- (define-key function-key-map "\e[066q" [?\M-9])
+ (define-key iris-function-map "\e[055q" [?\C-9])
+ (define-key iris-function-map "\e[066q" [?\M-9])
- (define-key function-key-map "\e[056q" [?\C-0])
- (define-key function-key-map "\e[067q" [?\M-0])
+ (define-key iris-function-map "\e[056q" [?\C-0])
+ (define-key iris-function-map "\e[067q" [?\M-0])
- (define-key function-key-map "\e[068q" [?\M--])
+ (define-key iris-function-map "\e[068q" [?\M--])
- (define-key function-key-map "\e[069q" [?\C-=])
- (define-key function-key-map "\e[070q" [?\M-=])
+ (define-key iris-function-map "\e[069q" [?\C-=])
+ (define-key iris-function-map "\e[070q" [?\M-=])
;; I don't know what to do with those.
- ;;(define-key function-key-map "^H" [<del>])
- ;;(define-key function-key-map "^H" [S-<del>])
- ;;(define-key function-key-map "\177" [C-<del>])
- ;;(define-key function-key-map "\e[071q" [M-<del>])
+ ;;(define-key iris-function-map "^H" [<del>])
+ ;;(define-key iris-function-map "^H" [S-<del>])
+ ;;(define-key iris-function-map "\177" [C-<del>])
+ ;;(define-key iris-function-map "\e[071q" [M-<del>])
- (define-key function-key-map "\e[Z" [?\S-\t])
- (define-key function-key-map "\e[072q" [?\C-\t])
+ (define-key iris-function-map "\e[Z" [?\S-\t])
+ (define-key iris-function-map "\e[072q" [?\C-\t])
;; This only works if you remove the M-TAB keybing from the system.4Dwmrc
;; our your ~/.4Dwmrc, if you use the 4Dwm window manager.
- (define-key function-key-map "\e[073q" [?\M-\t])
+ (define-key iris-function-map "\e[073q" [?\M-\t])
- (define-key function-key-map "\e[074q" [?\M-q])
+ (define-key iris-function-map "\e[074q" [?\M-q])
- (define-key function-key-map "\e[075q" [?\M-w])
+ (define-key iris-function-map "\e[075q" [?\M-w])
- (define-key function-key-map "\e[076q" [?\M-e])
+ (define-key iris-function-map "\e[076q" [?\M-e])
- (define-key function-key-map "\e[077q" [?\M-r])
+ (define-key iris-function-map "\e[077q" [?\M-r])
- (define-key function-key-map "\e[078q" [?\M-t])
+ (define-key iris-function-map "\e[078q" [?\M-t])
- (define-key function-key-map "\e[079q" [?\M-y])
+ (define-key iris-function-map "\e[079q" [?\M-y])
- (define-key function-key-map "\e[080q" [?\M-u])
+ (define-key iris-function-map "\e[080q" [?\M-u])
- (define-key function-key-map "\e[081q" [?\M-i])
+ (define-key iris-function-map "\e[081q" [?\M-i])
- (define-key function-key-map "\e[082q" [?\M-o])
+ (define-key iris-function-map "\e[082q" [?\M-o])
- (define-key function-key-map "\e[083q" [?\M-p])
+ (define-key iris-function-map "\e[083q" [?\M-p])
- (define-key function-key-map "\e[084q" [?\M-\[])
+ (define-key iris-function-map "\e[084q" [?\M-\[])
- (define-key function-key-map "\e[085q" [?\M-\]])
+ (define-key iris-function-map "\e[085q" [?\M-\]])
- (define-key function-key-map "\e[086q" [?\M-\\])
+ (define-key iris-function-map "\e[086q" [?\M-\\])
- (define-key function-key-map "\e[087q" [?\M-a])
+ (define-key iris-function-map "\e[087q" [?\M-a])
- (define-key function-key-map "\e[088q" [?\M-s])
+ (define-key iris-function-map "\e[088q" [?\M-s])
- (define-key function-key-map "\e[089q" [?\M-d])
+ (define-key iris-function-map "\e[089q" [?\M-d])
- (define-key function-key-map "\e[090q" [?\M-f])
+ (define-key iris-function-map "\e[090q" [?\M-f])
- (define-key function-key-map "\e[091q" [?\M-g])
+ (define-key iris-function-map "\e[091q" [?\M-g])
- (define-key function-key-map "\e[092q" [?\M-h])
+ (define-key iris-function-map "\e[092q" [?\M-h])
- (define-key function-key-map "\e[093q" [?\M-j])
+ (define-key iris-function-map "\e[093q" [?\M-j])
- (define-key function-key-map "\e[094q" [?\M-k])
+ (define-key iris-function-map "\e[094q" [?\M-k])
- (define-key function-key-map "\e[095q" [?\M-l])
+ (define-key iris-function-map "\e[095q" [?\M-l])
- (define-key function-key-map "\e[096q" [?\C-\;])
- (define-key function-key-map "\e[097q" [?\M-:]) ;; we are cheating
- ;; here, this is
- ;; realy M-;, but
- ;; M-: generates the
- ;; same string and
- ;; is more usefull.
+ (define-key iris-function-map "\e[096q" [?\C-\;])
+ (define-key iris-function-map "\e[097q" [?\M-:]) ;; we are cheating
+ ;; here, this is realy
+ ;; M-;, but M-:
+ ;; generates the same
+ ;; string and is more
+ ;; usefull.
- (define-key function-key-map "\e[098q" [?\C-'])
- (define-key function-key-map "\e[099q" [?\M-'])
+ (define-key iris-function-map "\e[098q" [?\C-'])
+ (define-key iris-function-map "\e[099q" [?\M-'])
- (define-key function-key-map "\e[100q" [?\M-\n])
+ (define-key iris-function-map "\e[100q" [?\M-\n])
- (define-key function-key-map "\e[101q" [?\M-z])
+ (define-key iris-function-map "\e[101q" [?\M-z])
- (define-key function-key-map "\e[102q" [?\M-x])
+ (define-key iris-function-map "\e[102q" [?\M-x])
- (define-key function-key-map "\e[103q" [?\M-c])
+ (define-key iris-function-map "\e[103q" [?\M-c])
- (define-key function-key-map "\e[104q" [?\M-v])
+ (define-key iris-function-map "\e[104q" [?\M-v])
- (define-key function-key-map "\e[105q" [?\M-b])
+ (define-key iris-function-map "\e[105q" [?\M-b])
- (define-key function-key-map "\e[106q" [M-n])
+ (define-key iris-function-map "\e[106q" [M-n])
- (define-key function-key-map "\e[107q" [M-m])
+ (define-key iris-function-map "\e[107q" [M-m])
- (define-key function-key-map "\e[108q" [?\C-,])
- (define-key function-key-map "\e[109q" [?\M-,])
+ (define-key iris-function-map "\e[108q" [?\C-,])
+ (define-key iris-function-map "\e[109q" [?\M-,])
- (define-key function-key-map "\e[110q" [?\C-.])
- (define-key function-key-map "\e[111q" [?\M-.])
+ (define-key iris-function-map "\e[110q" [?\C-.])
+ (define-key iris-function-map "\e[111q" [?\M-.])
- (define-key function-key-map "\e[112q" [?\C-/])
- (define-key function-key-map "\e[113q" [?\M-/])
+ (define-key iris-function-map "\e[112q" [?\C-/])
+ (define-key iris-function-map "\e[113q" [?\M-/])
- (define-key function-key-map "\e[139q" [insert])
- (define-key function-key-map "\e[139q" [S-insert])
- (define-key function-key-map "\e[140q" [C-insert])
- (define-key function-key-map "\e[141q" [M-insert])
+ (define-key iris-function-map "\e[139q" [insert])
+ (define-key iris-function-map "\e[139q" [S-insert])
+ (define-key iris-function-map "\e[140q" [C-insert])
+ (define-key iris-function-map "\e[141q" [M-insert])
- (define-key function-key-map "\e[H" [home])
- (define-key function-key-map "\e[143q" [S-home])
- (define-key function-key-map "\e[144q" [C-home])
+ (define-key iris-function-map "\e[H" [home])
+ (define-key iris-function-map "\e[143q" [S-home])
+ (define-key iris-function-map "\e[144q" [C-home])
- (define-key function-key-map "\e[150q" [prior])
- (define-key function-key-map "\e[151q" [S-prior]) ;; those don't
- ;; seem to
- ;; generate
+ (define-key iris-function-map "\e[150q" [prior])
+ (define-key iris-function-map "\e[151q" [S-prior]) ;; those don't seem
+ ;; to generate
;; anything
- (define-key function-key-map "\e[152q" [C-prior])
+ (define-key iris-function-map "\e[152q" [C-prior])
- ;; (define-key function-key-map "^?" [delete])
- (define-key function-key-map "\e[P" [S-delete])
- (define-key function-key-map "\e[142q" [C-delete])
- (define-key function-key-map "\e[M" [M-delete])
+ ;; (define-key iris-function-map "^?" [delete]) ?? something else seems to take care of this.
+ (define-key iris-function-map "\e[P" [S-delete])
+ (define-key iris-function-map "\e[142q" [C-delete])
+ (define-key iris-function-map "\e[M" [M-delete])
- (define-key function-key-map "\e[146q" [end])
- (define-key function-key-map "\e[147q" [S-end]) ;; those don't seem
- ;; to generate
- ;; anything
- (define-key function-key-map "\e[148q" [C-end])
+ (define-key iris-function-map "\e[146q" [end])
+ (define-key iris-function-map "\e[147q" [S-end]) ;; those don't seem to
+ ;; generate anything
+ (define-key iris-function-map "\e[148q" [C-end])
- (define-key function-key-map "\e[154q" [next])
- (define-key function-key-map "\e[155q" [S-next])
- (define-key function-key-map "\e[156q" [C-next])
+ (define-key iris-function-map "\e[154q" [next])
+ (define-key iris-function-map "\e[155q" [S-next])
+ (define-key iris-function-map "\e[156q" [C-next])
- (define-key function-key-map "\e[161q" [S-up])
- (define-key function-key-map "\e[162q" [C-up])
- (define-key function-key-map "\e[163q" [M-up])
+ (define-key iris-function-map "\e[161q" [S-up])
+ (define-key iris-function-map "\e[162q" [C-up])
+ (define-key iris-function-map "\e[163q" [M-up])
- (define-key function-key-map "\e[158q" [S-left])
- (define-key function-key-map "\e[159q" [C-left])
- (define-key function-key-map "\e[160q" [M-left])
+ (define-key iris-function-map "\e[158q" [S-left])
+ (define-key iris-function-map "\e[159q" [C-left])
+ (define-key iris-function-map "\e[160q" [M-left])
- (define-key function-key-map "\e[164q" [S-down])
- (define-key function-key-map "\e[165q" [C-down])
- (define-key function-key-map "\e[166q" [M-down])
+ (define-key iris-function-map "\e[164q" [S-down])
+ (define-key iris-function-map "\e[165q" [C-down])
+ (define-key iris-function-map "\e[166q" [M-down])
- (define-key function-key-map "\e[167q" [S-right])
- (define-key function-key-map "\e[168q" [C-right])
- (define-key function-key-map "\e[169q" [M-right])
+ (define-key iris-function-map "\e[167q" [S-right])
+ (define-key iris-function-map "\e[168q" [C-right])
+ (define-key iris-function-map "\e[169q" [M-right])
;; Keypad functions, most of those are untested.
- (define-key function-key-map "\e[179q" [?\C-/])
- (define-key function-key-map "\e[180q" [?\M-/])
+ (define-key iris-function-map "\e[179q" [?\C-/])
+ (define-key iris-function-map "\e[180q" [?\M-/])
- (define-key function-key-map "\e[187q" [?\C-*])
- (define-key function-key-map "\e[188q" [?\M-*])
+ (define-key iris-function-map "\e[187q" [?\C-*])
+ (define-key iris-function-map "\e[188q" [?\M-*])
- (define-key function-key-map "\e[198q" [?\C--])
- (define-key function-key-map "\e[199q" [?\M--])
+ (define-key iris-function-map "\e[198q" [?\C--])
+ (define-key iris-function-map "\e[199q" [?\M--])
;; Something else takes care of home, up, prior, down, left, right, next
- ;;(define-key function-key-map "\e[H" [home])
- (define-key function-key-map "\e[172q" [C-home])
+ ;(define-key iris-function-map "\e[H" [home])
+ (define-key iris-function-map "\e[172q" [C-home])
- ;;(define-key function-key-map "\e[A" [up])
- (define-key function-key-map "\e[182q" [C-up])
+ ;(define-key iris-function-map "\e[A" [up])
+ (define-key iris-function-map "\e[182q" [C-up])
- ;;(define-key function-key-map "\e[150q" [prior])
- (define-key function-key-map "\e[190q" [C-prior])
+ ;(define-key iris-function-map "\e[150q" [prior])
+ (define-key iris-function-map "\e[190q" [C-prior])
- (define-key function-key-map "\e[200q" [?\C-+])
- (define-key function-key-map "\e[201q" [?\M-+])
+ (define-key iris-function-map "\e[200q" [?\C-+])
+ (define-key iris-function-map "\e[201q" [?\M-+])
- ;;(define-key function-key-map "\e[D" [left])
- (define-key function-key-map "\e[174q" [C-left])
+ ;(define-key iris-function-map "\e[D" [left])
+ (define-key iris-function-map "\e[174q" [C-left])
- (define-key function-key-map "\e[000q" [begin])
- (define-key function-key-map "\e[184q" [C-begin])
+ (define-key iris-function-map "\e[000q" [begin])
+ (define-key iris-function-map "\e[184q" [C-begin])
- ;;(define-key function-key-map "\e[C" [right])
- (define-key function-key-map "\e[192q" [C-right])
+ ;(define-key iris-function-map "\e[C" [right])
+ (define-key iris-function-map "\e[192q" [C-right])
- ;;(define-key function-key-map "\e[146q" [end])
- (define-key function-key-map "\e[176q" [C-end])
+ ;(define-key iris-function-map "\e[146q" [end])
+ (define-key iris-function-map "\e[176q" [C-end])
- ;;(define-key function-key-map "\e[B" [down])
- (define-key function-key-map "\e[186q" [C-down])
+ ;(define-key iris-function-map "\e[B" [down])
+ (define-key iris-function-map "\e[186q" [C-down])
- ;;(define-key function-key-map "\e[154q" [next])
- (define-key function-key-map "\e[194q" [C-next])
+ ;(define-key iris-function-map "\e[154q" [next])
+ (define-key iris-function-map "\e[194q" [C-next])
- (define-key function-key-map "\e[100q" [M-enter])
+ (define-key iris-function-map "\e[100q" [M-enter])
- (define-key function-key-map "\e[139q" [insert])
- (define-key function-key-map "\e[178q" [C-inset])
+ (define-key iris-function-map "\e[139q" [insert])
+ (define-key iris-function-map "\e[178q" [C-inset])
- (define-key function-key-map "\e[P" [delete])
- (define-key function-key-map "\e[196q" [C-delete])
- (define-key function-key-map "\e[197q" [M-delete]))
+ (define-key iris-function-map "\e[P" [delete])
+ (define-key iris-function-map "\e[196q" [C-delete])
+ (define-key iris-function-map "\e[197q" [M-delete]))
+
+(defun terminal-init-iris-ansi ()
+ "Terminal initialization function for iris-ansi."
+ ;; The terminal-local stuff only need to be set up on the first
+ ;; frame on that device.
+ (when (eq 1 (length (frames-on-display-list)))
+ ;; Use inheritance to let the main keymap override these defaults.
+ ;; This way we don't override terminfo-derived settings or settings
+ ;; made in the .emacs file.
+ (let ((m (copy-keymap iris-function-map)))
+ (set-keymap-parent m (keymap-parent (terminal-local-value 'local-function-key-map nil)))
+ (set-keymap-parent (terminal-local-value 'local-function-key-map nil) m))))
;;; arch-tag: b1d0e73a-bb7d-47be-9fb2-6fb126469a1b
;;; iris-ansi.el ends here
diff --git a/lisp/term/lk201.el b/lisp/term/lk201.el
index 1f8d9ca77a3..4eb84b65702 100644
--- a/lisp/term/lk201.el
+++ b/lisp/term/lk201.el
@@ -1,72 +1,91 @@
;; -*- no-byte-compile: t -*-
;; Define function key sequences for DEC terminals.
-;; Termcap or terminfo should set these.
-;; (define-key function-key-map "\e[A" [up])
-;; (define-key function-key-map "\e[B" [down])
-;; (define-key function-key-map "\e[C" [right])
-;; (define-key function-key-map "\e[D" [left])
+(defvar lk201-function-map nil
+ "Function key definitions for DEC terminals.")
-(define-key function-key-map "\e[1~" [find])
-(define-key function-key-map "\e[2~" [insert])
-(define-key function-key-map "\e[3~" [delete])
-(define-key function-key-map "\e[4~" [select])
-(define-key function-key-map "\e[5~" [prior])
-(define-key function-key-map "\e[6~" [next])
-(define-key function-key-map "\e[11~" [f1])
-(define-key function-key-map "\e[12~" [f2])
-(define-key function-key-map "\e[13~" [f3])
-(define-key function-key-map "\e[14~" [f4])
-(define-key function-key-map "\e[15~" [f5])
-(define-key function-key-map "\e[17~" [f6])
-(define-key function-key-map "\e[18~" [f7])
-(define-key function-key-map "\e[19~" [f8])
-(define-key function-key-map "\e[20~" [f9])
-(define-key function-key-map "\e[21~" [f10])
-;; Customarily F11 is used as the ESC key.
-;; The file that includes this one, takes care of that.
-(define-key function-key-map "\e[23~" [f11])
-(define-key function-key-map "\e[24~" [f12])
-(define-key function-key-map "\e[25~" [f13])
-(define-key function-key-map "\e[26~" [f14])
-(define-key function-key-map "\e[28~" [help])
-(define-key function-key-map "\e[29~" [menu])
-(define-key function-key-map "\e[31~" [f17])
-(define-key function-key-map "\e[32~" [f18])
-(define-key function-key-map "\e[33~" [f19])
-(define-key function-key-map "\e[34~" [f20])
+;; Make reloads faster.
+(unless lk201-function-map
+ (setq lk201-function-map (make-sparse-keymap))
-;; Termcap or terminfo should set these.
-;; (define-key function-key-map "\eOA" [up])
-;; (define-key function-key-map "\eOB" [down])
-;; (define-key function-key-map "\eOC" [right])
-;; (define-key function-key-map "\eOD" [left])
+ ;; Termcap or terminfo should set these.
+ ;; (define-key lk201-function-map "\e[A" [up])
+ ;; (define-key lk201-function-map "\e[B" [down])
+ ;; (define-key lk201-function-map "\e[C" [right])
+ ;; (define-key lk201-function-map "\e[D" [left])
-;; Termcap or terminfo should set these, but doesn't properly.
-;; Termcap sets these to k1-k4, which get mapped to f1-f4 in term.c
-(define-key function-key-map "\eOP" [kp-f1])
-(define-key function-key-map "\eOQ" [kp-f2])
-(define-key function-key-map "\eOR" [kp-f3])
-(define-key function-key-map "\eOS" [kp-f4])
+ (define-key lk201-function-map "\e[1~" [find])
+ (define-key lk201-function-map "\e[2~" [insert])
+ (define-key lk201-function-map "\e[3~" [delete])
+ (define-key lk201-function-map "\e[4~" [select])
+ (define-key lk201-function-map "\e[5~" [prior])
+ (define-key lk201-function-map "\e[6~" [next])
+ (define-key lk201-function-map "\e[11~" [f1])
+ (define-key lk201-function-map "\e[12~" [f2])
+ (define-key lk201-function-map "\e[13~" [f3])
+ (define-key lk201-function-map "\e[14~" [f4])
+ (define-key lk201-function-map "\e[15~" [f5])
+ (define-key lk201-function-map "\e[17~" [f6])
+ (define-key lk201-function-map "\e[18~" [f7])
+ (define-key lk201-function-map "\e[19~" [f8])
+ (define-key lk201-function-map "\e[20~" [f9])
+ (define-key lk201-function-map "\e[21~" [f10])
+ ;; Customarily F11 is used as the ESC key.
+ ;; The file that includes this one, takes care of that.
+ (define-key lk201-function-map "\e[23~" [f11])
+ (define-key lk201-function-map "\e[24~" [f12])
+ (define-key lk201-function-map "\e[25~" [f13])
+ (define-key lk201-function-map "\e[26~" [f14])
+ (define-key lk201-function-map "\e[28~" [help])
+ (define-key lk201-function-map "\e[29~" [menu])
+ (define-key lk201-function-map "\e[31~" [f17])
+ (define-key lk201-function-map "\e[32~" [f18])
+ (define-key lk201-function-map "\e[33~" [f19])
+ (define-key lk201-function-map "\e[34~" [f20])
-(define-key function-key-map "\eOI" [kp-tab])
-(define-key function-key-map "\eOj" [kp-multiply])
-(define-key function-key-map "\eOk" [kp-add])
-(define-key function-key-map "\eOl" [kp-separator])
-(define-key function-key-map "\eOM" [kp-enter])
-(define-key function-key-map "\eOm" [kp-subtract])
-(define-key function-key-map "\eOn" [kp-decimal])
-(define-key function-key-map "\eOo" [kp-divide])
-(define-key function-key-map "\eOp" [kp-0])
-(define-key function-key-map "\eOq" [kp-1])
-(define-key function-key-map "\eOr" [kp-2])
-(define-key function-key-map "\eOs" [kp-3])
-(define-key function-key-map "\eOt" [kp-4])
-(define-key function-key-map "\eOu" [kp-5])
-(define-key function-key-map "\eOv" [kp-6])
-(define-key function-key-map "\eOw" [kp-7])
-(define-key function-key-map "\eOx" [kp-8])
-(define-key function-key-map "\eOy" [kp-9])
+ ;; Termcap or terminfo should set these.
+ ;; (define-key lk201-function-map "\eOA" [up])
+ ;; (define-key lk201-function-map "\eOB" [down])
+ ;; (define-key lk201-function-map "\eOC" [right])
+ ;; (define-key lk201-function-map "\eOD" [left])
+
+ ;; Termcap or terminfo should set these, but doesn't properly.
+ ;; Termcap sets these to k1-k4, which get mapped to f1-f4 in term.c
+ (define-key lk201-function-map "\eOP" [kp-f1])
+ (define-key lk201-function-map "\eOQ" [kp-f2])
+ (define-key lk201-function-map "\eOR" [kp-f3])
+ (define-key lk201-function-map "\eOS" [kp-f4])
+
+ (define-key lk201-function-map "\eOI" [kp-tab])
+ (define-key lk201-function-map "\eOj" [kp-multiply])
+ (define-key lk201-function-map "\eOk" [kp-add])
+ (define-key lk201-function-map "\eOl" [kp-separator])
+ (define-key lk201-function-map "\eOM" [kp-enter])
+ (define-key lk201-function-map "\eOm" [kp-subtract])
+ (define-key lk201-function-map "\eOn" [kp-decimal])
+ (define-key lk201-function-map "\eOo" [kp-divide])
+ (define-key lk201-function-map "\eOp" [kp-0])
+ (define-key lk201-function-map "\eOq" [kp-1])
+ (define-key lk201-function-map "\eOr" [kp-2])
+ (define-key lk201-function-map "\eOs" [kp-3])
+ (define-key lk201-function-map "\eOt" [kp-4])
+ (define-key lk201-function-map "\eOu" [kp-5])
+ (define-key lk201-function-map "\eOv" [kp-6])
+ (define-key lk201-function-map "\eOw" [kp-7])
+ (define-key lk201-function-map "\eOx" [kp-8])
+ (define-key lk201-function-map "\eOy" [kp-9]))
+
+(defun terminal-init-lk201 ()
+ ;; The terminal-local stuff only need to be set up on the first
+ ;; frame on that device.
+ (when (eq 1 (length (frames-on-display-list)))
+
+ ;; Use inheritance to let the main keymap override these defaults.
+ ;; This way we don't override terminfo-derived settings or settings
+ ;; made in the .emacs file.
+ (let ((m (copy-keymap lk201-function-map)))
+ (set-keymap-parent m (keymap-parent (terminal-local-value 'local-function-key-map nil)))
+ (set-keymap-parent (terminal-local-value 'local-function-key-map nil) m))))
;;; arch-tag: 7ffb4444-6a23-43e1-b457-43cf4f673c0d
;;; lk201.el ends here
diff --git a/lisp/term/mac-win.el b/lisp/term/mac-win.el
index 3fa7d20b23a..3762b13d80c 100644
--- a/lisp/term/mac-win.el
+++ b/lisp/term/mac-win.el
@@ -1062,20 +1062,21 @@ XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp")
;; Map certain keypad keys into ASCII characters
;; that people usually expect.
-(define-key function-key-map [backspace] [?\d])
-(define-key function-key-map [delete] [?\d])
-(define-key function-key-map [tab] [?\t])
-(define-key function-key-map [linefeed] [?\n])
-(define-key function-key-map [clear] [?\C-l])
-(define-key function-key-map [return] [?\C-m])
-(define-key function-key-map [escape] [?\e])
-(define-key function-key-map [M-backspace] [?\M-\d])
-(define-key function-key-map [M-delete] [?\M-\d])
-(define-key function-key-map [M-tab] [?\M-\t])
-(define-key function-key-map [M-linefeed] [?\M-\n])
-(define-key function-key-map [M-clear] [?\M-\C-l])
-(define-key function-key-map [M-return] [?\M-\C-m])
-(define-key function-key-map [M-escape] [?\M-\e])
+(let ((m (terminal-local-value 'local-function-key-map nil)))
+ (define-key m [backspace] [?\d])
+ (define-key m [delete] [?\d])
+ (define-key m [tab] [?\t])
+ (define-key m [linefeed] [?\n])
+ (define-key m [clear] [?\C-l])
+ (define-key m [return] [?\C-m])
+ (define-key m [escape] [?\e])
+ (define-key m [M-backspace] [?\M-\d])
+ (define-key m [M-delete] [?\M-\d])
+ (define-key m [M-tab] [?\M-\t])
+ (define-key m [M-linefeed] [?\M-\n])
+ (define-key m [M-clear] [?\M-\C-l])
+ (define-key m [M-return] [?\M-\C-m])
+ (define-key m [M-escape] [?\M-\e]))
;; These tell read-char how to convert
;; these special chars to ASCII.
diff --git a/lisp/term/news.el b/lisp/term/news.el
index 014ecb1cc13..2a62a85d5b7 100644
--- a/lisp/term/news.el
+++ b/lisp/term/news.el
@@ -34,7 +34,7 @@
(if (boundp 'news-fkey-prefix)
nil
;; The terminal initialization should already have set up some keys
- (setq news-fkey-prefix (lookup-key function-key-map "\eO"))
+ (setq news-fkey-prefix (lookup-key (terminal-local-value 'local-function-key-map nil) "\eO"))
(if (not (keymapp news-fkey-prefix))
(error "What? Your news termcap/terminfo has no keycaps in it"))
diff --git a/lisp/term/rxvt.el b/lisp/term/rxvt.el
index 1b4e5a6f61f..5729b670a16 100644
--- a/lisp/term/rxvt.el
+++ b/lisp/term/rxvt.el
@@ -26,137 +26,151 @@
;;; Code:
+(require 'server)
+
+(defvar rxvt-function-map nil
+ "Function key overrides for rxvt.")
+
+;; Protect against reloads.
+(unless rxvt-function-map
+ (setq rxvt-function-map (make-sparse-keymap))
+
+ ;; Set up function-key-map entries that termcap and terminfo don't know.
+ (define-key rxvt-function-map "\e[A" [up])
+ (define-key rxvt-function-map "\e[B" [down])
+ (define-key rxvt-function-map "\e[C" [right])
+ (define-key rxvt-function-map "\e[D" [left])
+ (define-key rxvt-function-map "\e[7~" [home])
+ (define-key rxvt-function-map "\e[2~" [insert])
+ (define-key rxvt-function-map "\e[3~" [delete])
+ (define-key rxvt-function-map "\e[4~" [select])
+ (define-key rxvt-function-map "\e[5~" [prior])
+ (define-key rxvt-function-map "\e[6~" [next])
+ (define-key rxvt-function-map "\e[11~" [f1])
+ (define-key rxvt-function-map "\e[12~" [f2])
+ (define-key rxvt-function-map "\e[13~" [f3])
+ (define-key rxvt-function-map "\e[14~" [f4])
+ (define-key rxvt-function-map "\e[15~" [f5])
+ (define-key rxvt-function-map "\e[17~" [f6])
+ (define-key rxvt-function-map "\e[18~" [f7])
+ (define-key rxvt-function-map "\e[19~" [f8])
+ (define-key rxvt-function-map "\e[20~" [f9])
+ (define-key rxvt-function-map "\e[21~" [f10])
+ ;; The strings emitted by f11 and f12 are the same as the strings
+ ;; emitted by S-f1 and S-f2, so don't define f11 and f12.
+ ;; (define-key rxvt-function-map "\e[23~" [f11])
+ ;; (define-key rxvt-function-map "\e[24~" [f12])
+ (define-key rxvt-function-map "\e[29~" [print])
+
+ (define-key rxvt-function-map "\e[11^" [C-f1])
+ (define-key rxvt-function-map "\e[12^" [C-f2])
+ (define-key rxvt-function-map "\e[13^" [C-f3])
+ (define-key rxvt-function-map "\e[14^" [C-f4])
+ (define-key rxvt-function-map "\e[15^" [C-f5])
+ (define-key rxvt-function-map "\e[17^" [C-f6])
+ (define-key rxvt-function-map "\e[18^" [C-f7])
+ (define-key rxvt-function-map "\e[19^" [C-f8])
+ (define-key rxvt-function-map "\e[20^" [C-f9])
+ (define-key rxvt-function-map "\e[21^" [C-f10])
+
+ (define-key rxvt-function-map "\e[23~" [S-f1])
+ (define-key rxvt-function-map "\e[24~" [S-f2])
+ (define-key rxvt-function-map "\e[25~" [S-f3])
+ (define-key rxvt-function-map "\e[26~" [S-f4])
+ (define-key rxvt-function-map "\e[28~" [S-f5])
+ (define-key rxvt-function-map "\e[29~" [S-f6])
+ (define-key rxvt-function-map "\e[31~" [S-f7])
+ (define-key rxvt-function-map "\e[32~" [S-f8])
+ (define-key rxvt-function-map "\e[33~" [S-f9])
+ (define-key rxvt-function-map "\e[34~" [S-f10])
+
+ (define-key rxvt-function-map "\e[23^" [C-S-f1])
+ (define-key rxvt-function-map "\e[24^" [C-S-f2])
+ (define-key rxvt-function-map "\e[25^" [C-S-f3])
+ (define-key rxvt-function-map "\e[26^" [C-S-f4])
+ (define-key rxvt-function-map "\e[28^" [C-S-f5])
+ (define-key rxvt-function-map "\e[29^" [C-S-f6])
+ (define-key rxvt-function-map "\e[31^" [C-S-f7])
+ (define-key rxvt-function-map "\e[32^" [C-S-f8])
+ (define-key rxvt-function-map "\e[33^" [C-S-f9])
+ (define-key rxvt-function-map "\e[34^" [C-S-f10])
+
+ (define-key rxvt-function-map "\e[2^" [C-insert])
+ (define-key rxvt-function-map "\e[3^" [C-delete])
+ (define-key rxvt-function-map "\e[5^" [C-prior])
+ (define-key rxvt-function-map "\e[6^" [C-next])
+ (define-key rxvt-function-map "\e[7^" [C-home])
+ (define-key rxvt-function-map "\e[8^" [C-end])
+ (define-key rxvt-function-map "\eOd" [C-left])
+ (define-key rxvt-function-map "\eOc" [C-right])
+ (define-key rxvt-function-map "\eOa" [C-up])
+ (define-key rxvt-function-map "\eOb" [C-down])
+
+ (define-key rxvt-function-map "\e[2;2~" [S-insert])
+ (define-key rxvt-function-map "\e[3$" [S-delete])
+ (define-key rxvt-function-map "\e[5$" [S-prior])
+ (define-key rxvt-function-map "\e[6$" [S-next])
+ (define-key rxvt-function-map "\e[8$" [S-end])
+ (define-key rxvt-function-map "\e[7$" [S-home])
+ (define-key rxvt-function-map "\e[d" [S-left])
+ (define-key rxvt-function-map "\e[c" [S-right])
+ (define-key rxvt-function-map "\e[a" [S-up])
+ (define-key rxvt-function-map "\e[b" [S-down]))
+
(defun terminal-init-rxvt ()
"Terminal initialization function for rxvt."
- ;; The terminal intialization C code file might have initialized
- ;; function keys F11->F42 from the termcap/terminfo information. On
- ;; a PC-style keyboard these keys correspond to
- ;; MODIFIER-FUNCTION_KEY, where modifier is S-, C-, C-S-. The
- ;; code here subsitutes the corresponding defintions in
- ;; function-key-map. This substitution is needed because if a key
- ;; definition if found in function-key-map, there are no further
- ;; lookups in other keymaps.
- (substitute-key-definition [f11] [S-f1] function-key-map)
- (substitute-key-definition [f12] [S-f2] function-key-map)
- (substitute-key-definition [f13] [S-f3] function-key-map)
- (substitute-key-definition [f14] [S-f4] function-key-map)
- (substitute-key-definition [f15] [S-f5] function-key-map)
- (substitute-key-definition [f16] [S-f6] function-key-map)
- (substitute-key-definition [f17] [S-f7] function-key-map)
- (substitute-key-definition [f18] [S-f8] function-key-map)
- (substitute-key-definition [f19] [S-f9] function-key-map)
- (substitute-key-definition [f20] [S-f10] function-key-map)
-
- (substitute-key-definition [f23] [C-f1] function-key-map)
- (substitute-key-definition [f24] [C-f2] function-key-map)
- (substitute-key-definition [f25] [C-f3] function-key-map)
- (substitute-key-definition [f26] [C-f4] function-key-map)
- (substitute-key-definition [f27] [C-f5] function-key-map)
- (substitute-key-definition [f28] [C-f6] function-key-map)
- (substitute-key-definition [f29] [C-f7] function-key-map)
- (substitute-key-definition [f30] [C-f8] function-key-map)
- (substitute-key-definition [f31] [C-f9] function-key-map)
- (substitute-key-definition [f32] [C-f10] function-key-map)
-
- (substitute-key-definition [f33] [C-S-f1] function-key-map)
- (substitute-key-definition [f34] [C-S-f2] function-key-map)
- (substitute-key-definition [f35] [C-S-f3] function-key-map)
- (substitute-key-definition [f36] [C-S-f4] function-key-map)
- (substitute-key-definition [f37] [C-S-f5] function-key-map)
- (substitute-key-definition [f38] [C-S-f6] function-key-map)
- (substitute-key-definition [f39] [C-S-f7] function-key-map)
- (substitute-key-definition [f40] [C-S-f8] function-key-map)
- (substitute-key-definition [f41] [C-S-f9] function-key-map)
- (substitute-key-definition [f42] [C-S-f10] function-key-map)
- ;; Set up function-key-map entries that termcap and terminfo don't know.
- (let ((map (make-sparse-keymap)))
- (define-key map "\e[A" [up])
- (define-key map "\e[B" [down])
- (define-key map "\e[C" [right])
- (define-key map "\e[D" [left])
- (define-key map "\e[7~" [home])
- (define-key map "\e[2~" [insert])
- (define-key map "\e[3~" [delete])
- (define-key map "\e[4~" [select])
- (define-key map "\e[5~" [prior])
- (define-key map "\e[6~" [next])
- (define-key map "\e[11~" [f1])
- (define-key map "\e[12~" [f2])
- (define-key map "\e[13~" [f3])
- (define-key map "\e[14~" [f4])
- (define-key map "\e[15~" [f5])
- (define-key map "\e[17~" [f6])
- (define-key map "\e[18~" [f7])
- (define-key map "\e[19~" [f8])
- (define-key map "\e[20~" [f9])
- (define-key map "\e[21~" [f10])
- ;; The strings emitted by f11 and f12 are the same as the strings
- ;; emitted by S-f1 and S-f2, so don't define f11 and f12.
- ;; (define-key map "\e[23~" [f11])
- ;; (define-key map "\e[24~" [f12])
- (define-key map "\e[29~" [print])
-
- (define-key map "\e[11^" [C-f1])
- (define-key map "\e[12^" [C-f2])
- (define-key map "\e[13^" [C-f3])
- (define-key map "\e[14^" [C-f4])
- (define-key map "\e[15^" [C-f5])
- (define-key map "\e[17^" [C-f6])
- (define-key map "\e[18^" [C-f7])
- (define-key map "\e[19^" [C-f8])
- (define-key map "\e[20^" [C-f9])
- (define-key map "\e[21^" [C-f10])
-
- (define-key map "\e[23~" [S-f1])
- (define-key map "\e[24~" [S-f2])
- (define-key map "\e[25~" [S-f3])
- (define-key map "\e[26~" [S-f4])
- (define-key map "\e[28~" [S-f5])
- (define-key map "\e[29~" [S-f6])
- (define-key map "\e[31~" [S-f7])
- (define-key map "\e[32~" [S-f8])
- (define-key map "\e[33~" [S-f9])
- (define-key map "\e[34~" [S-f10])
-
- (define-key map "\e[23^" [C-S-f1])
- (define-key map "\e[24^" [C-S-f2])
- (define-key map "\e[25^" [C-S-f3])
- (define-key map "\e[26^" [C-S-f4])
- (define-key map "\e[28^" [C-S-f5])
- (define-key map "\e[29^" [C-S-f6])
- (define-key map "\e[31^" [C-S-f7])
- (define-key map "\e[32^" [C-S-f8])
- (define-key map "\e[33^" [C-S-f9])
- (define-key map "\e[34^" [C-S-f10])
-
- (define-key map "\e[2^" [C-insert])
- (define-key map "\e[3^" [C-delete])
- (define-key map "\e[5^" [C-prior])
- (define-key map "\e[6^" [C-next])
- (define-key map "\e[7^" [C-home])
- (define-key map "\e[8^" [C-end])
- (define-key map "\eOd" [C-left])
- (define-key map "\eOc" [C-right])
- (define-key map "\eOa" [C-up])
- (define-key map "\eOb" [C-down])
-
- (define-key map "\e[2;2~" [S-insert])
- (define-key map "\e[3$" [S-delete])
- (define-key map "\e[5$" [S-prior])
- (define-key map "\e[6$" [S-next])
- (define-key map "\e[8$" [S-end])
- (define-key map "\e[7$" [S-home])
- (define-key map "\e[d" [S-left])
- (define-key map "\e[c" [S-right])
- (define-key map "\e[a" [S-up])
- (define-key map "\e[b" [S-down])
+ ;; The terminal-local stuff only need to be set up on the first
+ ;; frame on that device.
+ (when (eq 1 (length (frames-on-display-list)))
+ ;; The terminal intialization C code file might have initialized
+ ;; function keys F11->F42 from the termcap/terminfo information. On
+ ;; a PC-style keyboard these keys correspond to
+ ;; MODIFIER-FUNCTION_KEY, where modifier is S-, C-, C-S-. The
+ ;; code here subsitutes the corresponding defintions in
+ ;; function-key-map. This substitution is needed because if a key
+ ;; definition if found in function-key-map, there are no further
+ ;; lookups in other keymaps.
+ (let ((m (terminal-local-value 'local-function-key-map nil)))
+ (substitute-key-definition [f11] [S-f1] m)
+ (substitute-key-definition [f12] [S-f2] m)
+ (substitute-key-definition [f13] [S-f3] m)
+ (substitute-key-definition [f14] [S-f4] m)
+ (substitute-key-definition [f15] [S-f5] m)
+ (substitute-key-definition [f16] [S-f6] m)
+ (substitute-key-definition [f17] [S-f7] m)
+ (substitute-key-definition [f18] [S-f8] m)
+ (substitute-key-definition [f19] [S-f9] m)
+ (substitute-key-definition [f20] [S-f10] m)
+
+ (substitute-key-definition [f23] [C-f1] m)
+ (substitute-key-definition [f24] [C-f2] m)
+ (substitute-key-definition [f25] [C-f3] m)
+ (substitute-key-definition [f26] [C-f4] m)
+ (substitute-key-definition [f27] [C-f5] m)
+ (substitute-key-definition [f28] [C-f6] m)
+ (substitute-key-definition [f29] [C-f7] m)
+ (substitute-key-definition [f30] [C-f8] m)
+ (substitute-key-definition [f31] [C-f9] m)
+ (substitute-key-definition [f32] [C-f10] m)
+
+ (substitute-key-definition [f33] [C-S-f1] m)
+ (substitute-key-definition [f34] [C-S-f2] m)
+ (substitute-key-definition [f35] [C-S-f3] m)
+ (substitute-key-definition [f36] [C-S-f4] m)
+ (substitute-key-definition [f37] [C-S-f5] m)
+ (substitute-key-definition [f38] [C-S-f6] m)
+ (substitute-key-definition [f39] [C-S-f7] m)
+ (substitute-key-definition [f40] [C-S-f8] m)
+ (substitute-key-definition [f41] [C-S-f9] m)
+ (substitute-key-definition [f42] [C-S-f10] m))
;; Use inheritance to let the main keymap override those defaults.
;; This way we don't override terminfo-derived settings or settings
;; made in the .emacs file.
- (set-keymap-parent map (keymap-parent function-key-map))
- (set-keymap-parent function-key-map map))
+ (let ((m (copy-keymap rxvt-function-map)))
+ (set-keymap-parent m (keymap-parent (terminal-local-value 'local-function-key-map nil)))
+ (set-keymap-parent (terminal-local-value 'local-function-key-map nil) m)))
;; Initialize colors and background mode.
(rxvt-register-default-colors)
@@ -218,7 +232,7 @@ for the currently selected frame."
;; intelligent way than the default guesswork in startup.el.
(defun rxvt-set-background-mode ()
"Set background mode as appropriate for the default rxvt colors."
- (let ((fgbg (getenv "COLORFGBG"))
+ (let ((fgbg (server-getenv "COLORFGBG"))
bg rgb)
(setq default-frame-background-mode 'light)
(when (and fgbg
diff --git a/lisp/term/sun.el b/lisp/term/sun.el
index 3963a18efdb..38134d2cd49 100644
--- a/lisp/term/sun.el
+++ b/lisp/term/sun.el
@@ -150,7 +150,7 @@
(defun terminal-init-sun ()
"Terminal initialization function for sun."
- (define-key function-key-map "\e[" sun-raw-prefix)
+ (define-key (terminal-local-value 'local-function-key-map nil) "\e[" sun-raw-prefix)
(define-key sun-raw-prefix "210z" [r3])
(define-key sun-raw-prefix "213z" [r6])
diff --git a/lisp/term/tvi970.el b/lisp/term/tvi970.el
index 23eea911b79..8d8ef51c4a1 100644
--- a/lisp/term/tvi970.el
+++ b/lisp/term/tvi970.el
@@ -30,14 +30,14 @@
(defun terminal-init-tvi970 ()
"Terminal initialization function for tvi970."
- (or (lookup-key function-key-map "\e[")
- (define-key function-key-map "\e[" (make-keymap)))
- ;; (or (lookup-key function-key-map "\eO")
- ;; (define-key function-key-map "\eO" (make-keymap)))
+ (or (lookup-key (terminal-local-value 'local-function-key-map nil) "\e[")
+ (define-key (terminal-local-value 'local-function-key-map nil) "\e[" (make-keymap)))
+ ;; (or (lookup-key (terminal-local-value 'local-function-key-map nil) "\eO")
+ ;; (define-key (terminal-local-value 'local-function-key-map nil) "\eO" (make-keymap)))
;; Miscellaneous keys
(mapcar (function (lambda (key-binding)
- (define-key function-key-map
+ (define-key (terminal-local-value 'local-function-key-map nil)
(car key-binding) (nth 1 key-binding))))
'(
;; These are set up by termcap or terminfo
@@ -53,7 +53,7 @@
("\e[@" [insert])
("\e[L" [insertline])
("\e[M" [deleteline])
- ("\e[U" [next]) ;; actually the `page' key
+ ("\e[U" [next]) ;; actually the `page' key
;; These won't be set up by either
("\eOm" [kp-subtract])
@@ -86,22 +86,23 @@
;; The numeric keypad keys.
(let ((i 0))
(while (< i 10)
- (define-key function-key-map
+ (define-key (terminal-local-value 'local-function-key-map nil)
(format "\eO%c" (+ i ?p))
(vector (intern (format "kp-%d" i))))
(setq i (1+ i))))
;; The numbered function keys.
(let ((i 0))
(while (< i 16)
- (define-key function-key-map
+ (define-key (terminal-local-value 'local-function-key-map nil)
(format "\e?%c" (+ i ?a))
(vector (intern (format "f%d" (1+ i)))))
- (define-key function-key-map
+ (define-key (terminal-local-value 'local-function-key-map nil)
(format "\e?%c" (+ i ?A))
(vector (intern (format "S-f%d" (1+ i)))))
(setq i (1+ i))))
(tvi970-set-keypad-mode 1))
+
;;; Should keypad numbers send ordinary digits or distinct escape sequences?
(defvar tvi970-keypad-numeric nil
diff --git a/lisp/term/vt100.el b/lisp/term/vt100.el
index 3f744a5212a..9822bd6e5a2 100644
--- a/lisp/term/vt100.el
+++ b/lisp/term/vt100.el
@@ -38,10 +38,9 @@
;; Set up function-key-map entries that termcap and terminfo don't know.
-
(defun terminal-init-vt100 ()
"Terminal initialization function for vt100."
- (load "term/lk201" nil t))
+ (terminal-init-lk201))
;;; Controlling the screen width.
(defvar vt100-wide-mode (= (frame-width) 132)
diff --git a/lisp/term/vt102.el b/lisp/term/vt102.el
index ad780ed5081..ba4ac80c92a 100644
--- a/lisp/term/vt102.el
+++ b/lisp/term/vt102.el
@@ -2,7 +2,7 @@
(defun terminal-init-vt102 ()
"Terminal initialization function for vt102."
- (load "term/vt100" nil t))
+ (terminal-init-vt100))
;;; arch-tag: 6e839cfc-125a-4574-82f1-c23a51f7c50f
;;; vt102.el ends here
diff --git a/lisp/term/vt125.el b/lisp/term/vt125.el
index 2221e597aed..369dc5f28b9 100644
--- a/lisp/term/vt125.el
+++ b/lisp/term/vt125.el
@@ -2,7 +2,7 @@
(defun terminal-init-vt125 ()
"Terminal initialization function for vt125."
- (load "term/vt100" nil t))
+ (terminal-init-vt100))
;;; arch-tag: 1d92d70f-dd55-4a1d-9088-e215a4883801
;;; vt125.el ends here
diff --git a/lisp/term/vt200.el b/lisp/term/vt200.el
index e1215d15023..1d62e34759e 100644
--- a/lisp/term/vt200.el
+++ b/lisp/term/vt200.el
@@ -1,12 +1,11 @@
;; -*- no-byte-compile: t -*-
;; For our purposes we can treat the vt200 and vt100 almost alike.
;; Most differences are handled by the termcap entry.
-
(defun terminal-init-vt200 ()
- "Terminal initialization function for vt200."
- (load "term/vt100" nil t)
+ "Terminal initialization function for vt200."
+ (terminal-init-vt100)
;; Make F11 an escape key.
- (define-key function-key-map "\e[23~" [?\e]))
+ (define-key (terminal-local-value 'local-function-key-map nil) "\e[23~" [?\e]))
;;; arch-tag: 0f78f583-9f32-4237-b106-28bcfff21d89
;;; vt200.el ends here
diff --git a/lisp/term/vt201.el b/lisp/term/vt201.el
index 315030ab687..c98b98ba8c0 100644
--- a/lisp/term/vt201.el
+++ b/lisp/term/vt201.el
@@ -2,10 +2,10 @@
;; For our purposes we can treat the vt200 and vt100 almost alike.
;; Most differences are handled by the termcap entry.
(defun terminal-init-vt201 ()
- "Terminal initialization function for vt201."
- (load "term/vt100" nil t)
+ "Terminal initialization function for vt201."
+ (terminal-init-vt100)
;; Make F11 an escape key.
- (define-key function-key-map "\e[23~" [?\e]))
+ (define-key (terminal-local-value 'local-function-key-map nil) "\e[23~" [?\e]))
;;; arch-tag: a6abb38f-60ea-449e-a9e9-3fb8572c52ae
;;; vt201.el ends here
diff --git a/lisp/term/vt220.el b/lisp/term/vt220.el
index cccd2a6dfb7..a2a374692cb 100644
--- a/lisp/term/vt220.el
+++ b/lisp/term/vt220.el
@@ -2,10 +2,10 @@
;; For our purposes we can treat the vt200 and vt100 almost alike.
;; Most differences are handled by the termcap entry.
(defun terminal-init-vt220 ()
- "Terminal initialization function for vt220."
- (load "term/vt100" nil t)
+ "Terminal initialization function for vt220."
+ (terminal-init-vt100)
;; Make F11 an escape key.
- (define-key function-key-map "\e[23~" [?\e]))
+ (define-key (terminal-local-value 'local-function-key-map nil) "\e[23~" [?\e]))
;;; arch-tag: 98fc4867-a20d-46a1-a276-d7be31e49871
;;; vt220.el ends here
diff --git a/lisp/term/vt240.el b/lisp/term/vt240.el
index bb3931edac8..808cc072041 100644
--- a/lisp/term/vt240.el
+++ b/lisp/term/vt240.el
@@ -2,10 +2,10 @@
;; For our purposes we can treat the vt200 and vt100 almost alike.
;; Most differences are handled by the termcap entry.
(defun terminal-init-vt240 ()
- "Terminal initialization function for vt240."
- (load "term/vt100" nil t)
+ "Terminal initialization function for vt240."
+ (terminal-init-vt100)
;; Make F11 an escape key.
- (define-key function-key-map "\e[23~" [?\e]))
+ (define-key (terminal-local-value 'local-function-key-map nil) "\e[23~" [?\e]))
;;; arch-tag: d9f88e9c-02dc-49ff-871c-a415f08e4eb7
;;; vt240.el ends here
diff --git a/lisp/term/vt300.el b/lisp/term/vt300.el
index ff600f47a1e..593daf55249 100644
--- a/lisp/term/vt300.el
+++ b/lisp/term/vt300.el
@@ -1,9 +1,9 @@
;; -*- no-byte-compile: t -*-
(defun terminal-init-vt300 ()
- "Terminal initialization function for vt300."
- (load "term/vt100" nil t)
+ "Terminal initialization function for vt300."
+ (terminal-init-vt100)
;; Make F11 an escape key.
- (define-key function-key-map "\e[23~" [?\e]))
+ (define-key (terminal-local-value 'local-function-key-map nil) "\e[23~" [?\e]))
;;; arch-tag: 876831c9-a6f2-444a-b033-706e6fbc149f
;;; vt300.el ends here
diff --git a/lisp/term/vt320.el b/lisp/term/vt320.el
index fb7772c7b5b..a4d2186080e 100644
--- a/lisp/term/vt320.el
+++ b/lisp/term/vt320.el
@@ -1,9 +1,9 @@
;; -*- no-byte-compile: t -*-
(defun terminal-init-vt320 ()
- "Terminal initialization function for vt320."
- (load "term/vt100" nil t)
+ "Terminal initialization function for vt320."
+ (terminal-init-vt100)
;; Make F11 an escape key.
- (define-key function-key-map "\e[23~" [?\e]))
+ (define-key (terminal-local-value 'local-function-key-map nil) "\e[23~" [?\e]))
;;; arch-tag: f9f4c954-0b9e-45f9-b450-a320d32abd9c
;;; vt320.el ends here
diff --git a/lisp/term/vt400.el b/lisp/term/vt400.el
index 97c0c5d7372..bb0afeef0b7 100644
--- a/lisp/term/vt400.el
+++ b/lisp/term/vt400.el
@@ -1,9 +1,9 @@
;; -*- no-byte-compile: t -*-
(defun terminal-init-vt400 ()
- "Terminal initialization function for vt400."
- (load "term/vt100" nil t)
+ "Terminal initialization function for vt400."
+ (terminal-init-vt100)
;; Make F11 an escape key.
- (define-key function-key-map "\e[23~" [?\e]))
+ (define-key (terminal-local-value 'local-function-key-map nil) "\e[23~" [?\e]))
;;; arch-tag: a70809c5-6b21-42cc-ba20-536683e5e7d5
;;; vt400.el ends here
diff --git a/lisp/term/vt420.el b/lisp/term/vt420.el
index 65ffa759c17..b67b25b7bd9 100644
--- a/lisp/term/vt420.el
+++ b/lisp/term/vt420.el
@@ -1,9 +1,9 @@
;; -*- no-byte-compile: t -*-
-(defun terminal-init-vt420 ()
- "Terminal initialization function for vt420."
- (load "term/vt100" nil t)
+(defun terminal-init-vt420
+ "Terminal initialization function for vt420."
+ (terminal-init-vt100)
;; Make F11 an escape key.
- (define-key function-key-map "\e[23~" [?\e]))
+ (define-key (terminal-local-value 'local-function-key-map nil) "\e[23~" [?\e]))
;;; arch-tag: df2f897c-3a12-4b3c-9259-df089f96c160
;;; vt420.el ends here
diff --git a/lisp/term/wyse50.el b/lisp/term/wyse50.el
index 75f43420013..9ab9cb0f6ed 100644
--- a/lisp/term/wyse50.el
+++ b/lisp/term/wyse50.el
@@ -40,9 +40,9 @@
(defun terminal-init-wyse50 ()
"Terminal initialization function for wyse50."
- (define-key function-key-map "\C-a" (make-keymap))
+ (define-key (terminal-local-value 'local-function-key-map nil) "\C-a" (make-keymap))
(mapcar (function (lambda (key-definition)
- (define-key function-key-map
+ (define-key (terminal-local-value 'local-function-key-map nil)
(car key-definition) (nth 1 key-definition))))
'(
;; These might be set up by termcap and terminfo
@@ -100,11 +100,11 @@
("\eY" [key-clear]) ;; Not an X keysym
;; These are totally strange :-)
- ("\eW" [?\C-?]) ;; Not an X keysym
- ("\^a\^k\^m" [funct-up]) ;; Not an X keysym
- ("\^a\^j\^m" [funct-down]) ;; Not an X keysym
- ("\^a\^l\^m" [funct-right]) ;; Not an X keysym
- ("\^a\^h\^m" [funct-left]) ;; Not an X keysym
+ ("\eW" [?\C-?]) ;; Not an X keysym
+ ("\^a\^k\^m" [funct-up]) ;; Not an X keysym
+ ("\^a\^j\^m" [funct-down]) ;; Not an X keysym
+ ("\^a\^l\^m" [funct-right]) ;; Not an X keysym
+ ("\^a\^h\^m" [funct-left]) ;; Not an X keysym
("\^a\^m\^m" [funct-return]) ;; Not an X keysym
("\^a\^i\^m" [funct-tab]) ;; Not an X keysym
))
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index e530a860839..efafbafffb2 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -25,10 +25,16 @@
;;; Commentary:
-;; X-win.el: this file is loaded from ../lisp/startup.el when it recognizes
-;; that X windows are to be used. Command line switches are parsed and those
-;; pertaining to X are processed and removed from the command line. The
-;; X display is opened and hooks are set for popping up the initial window.
+;; X-win.el: this file defines functions to initialize the X window
+;; system and process X-specific command line parameters before
+;; creating the first X frame.
+
+;; Note that contrary to previous Emacs versions, the act of loading
+;; this file should not have the side effect of initializing the
+;; window system or processing command line arguments (this file is
+;; now loaded in loadup.el). See the variables
+;; `handle-args-function-alist' and
+;; `window-system-initialization-alist' for more details.
;; startup.el will then examine startup files, and eventually call the hooks
;; which create the first window(s).
@@ -67,7 +73,7 @@
;; An alist of X options and the function which handles them. See
;; ../startup.el.
-(if (not (eq window-system 'x))
+(if (not (fboundp 'x-create-frame))
(error "%s: Loading x-win.el but not compiled for X" (invocation-name)))
(require 'frame)
@@ -78,6 +84,7 @@
(require 'menu-bar)
(require 'fontset)
(require 'x-dnd)
+(require 'server)
(defvar x-invocation-args)
(defvar x-keysym-table)
@@ -1165,27 +1172,26 @@ XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp")
;;;; Function keys
-(substitute-key-definition 'suspend-emacs 'iconify-or-deiconify-frame
- global-map)
-
-;; Map certain keypad keys into ASCII characters
-;; that people usually expect.
-(define-key function-key-map [backspace] [127])
-(define-key function-key-map [delete] [127])
-(define-key function-key-map [tab] [?\t])
-(define-key function-key-map [linefeed] [?\n])
-(define-key function-key-map [clear] [?\C-l])
-(define-key function-key-map [return] [?\C-m])
-(define-key function-key-map [escape] [?\e])
-(define-key function-key-map [M-backspace] [?\M-\d])
-(define-key function-key-map [M-delete] [?\M-\d])
-(define-key function-key-map [M-tab] [?\M-\t])
-(define-key function-key-map [M-linefeed] [?\M-\n])
-(define-key function-key-map [M-clear] [?\M-\C-l])
-(define-key function-key-map [M-return] [?\M-\C-m])
-(define-key function-key-map [M-escape] [?\M-\e])
-(define-key function-key-map [iso-lefttab] [backtab])
-(define-key function-key-map [S-iso-lefttab] [backtab])
+(defun x-setup-function-keys (frame)
+ "Set up `function-key-map' on FRAME for the X window system."
+ ;; Map certain keypad keys into ASCII characters that people usually expect.
+ (let ((m (terminal-local-value 'local-function-key-map frame)))
+ (define-key m [backspace] [127])
+ (define-key m [delete] [127])
+ (define-key m [tab] [?\t])
+ (define-key m [linefeed] [?\n])
+ (define-key m [clear] [?\C-l])
+ (define-key m [return] [?\C-m])
+ (define-key m [escape] [?\e])
+ (define-key m [M-backspace] [?\M-\d])
+ (define-key m [M-delete] [?\M-\d])
+ (define-key m [M-tab] [?\M-\t])
+ (define-key m [M-linefeed] [?\M-\n])
+ (define-key m [M-clear] [?\M-\C-l])
+ (define-key m [M-return] [?\M-\C-m])
+ (define-key m [M-escape] [?\M-\e])
+ (define-key m [iso-lefttab] [backtab])
+ (define-key m [S-iso-lefttab] [backtab])))
;; These tell read-char how to convert
;; these special chars to ASCII.
@@ -2344,146 +2350,149 @@ order until succeed.")
(or clip-text primary-text cut-text)
))
-
-;;; Do the actual X Windows setup here; the above code just defines
-;;; functions and variables that we use now.
-
-(setq command-line-args (x-handle-args command-line-args))
-
-;;; Make sure we have a valid resource name.
-(or (stringp x-resource-name)
- (let (i)
- (setq x-resource-name (invocation-name))
-
- ;; Change any . or * characters in x-resource-name to hyphens,
- ;; so as not to choke when we use it in X resource queries.
- (while (setq i (string-match "[.*]" x-resource-name))
- (aset x-resource-name i ?-))))
-
-(x-open-connection (or x-display-name
- (setq x-display-name (getenv "DISPLAY")))
- x-command-line-resources
- ;; Exit Emacs with fatal error if this fails.
- t)
-
-(setq frame-creation-function 'x-create-frame-with-faces)
-
-(setq x-cut-buffer-max (min (- (/ (x-server-max-request-size) 2) 100)
- x-cut-buffer-max))
-
-;; Setup the default fontset.
-(setup-default-fontset)
-
-;; Create the standard fontset.
-(create-fontset-from-fontset-spec standard-fontset-spec t)
-
-;; Create fontset specified in X resources "Fontset-N" (N is 0, 1, ...).
-(create-fontset-from-x-resource)
-
-;; Try to create a fontset from a font specification which comes
-;; from initial-frame-alist, default-frame-alist, or X resource.
-;; A font specification in command line argument (i.e. -fn XXXX)
-;; should be already in default-frame-alist as a `font'
-;; parameter. However, any font specifications in site-start
-;; library, user's init file (.emacs), and default.el are not
-;; yet handled here.
-
-(let ((font (or (cdr (assq 'font initial-frame-alist))
- (cdr (assq 'font default-frame-alist))
- (x-get-resource "font" "Font")))
- xlfd-fields resolved-name)
- (if (and font
- (not (query-fontset font))
- (setq resolved-name (x-resolve-font-name font))
- (setq xlfd-fields (x-decompose-font-name font)))
- (if (string= "fontset" (aref xlfd-fields xlfd-regexp-registry-subnum))
- (new-fontset font (x-complement-fontset-spec xlfd-fields nil))
- ;; Create a fontset from FONT. The fontset name is
- ;; generated from FONT.
- (create-fontset-from-ascii-font font resolved-name "startup"))))
-
-;; Apply a geometry resource to the initial frame. Put it at the end
-;; of the alist, so that anything specified on the command line takes
-;; precedence.
-(let* ((res-geometry (x-get-resource "geometry" "Geometry"))
- parsed)
- (if res-geometry
- (progn
- (setq parsed (x-parse-geometry res-geometry))
- ;; If the resource specifies a position,
- ;; call the position and size "user-specified".
- (if (or (assq 'top parsed) (assq 'left parsed))
- (setq parsed (cons '(user-position . t)
- (cons '(user-size . t) parsed))))
- ;; All geometry parms apply to the initial frame.
- (setq initial-frame-alist (append initial-frame-alist parsed))
- ;; The size parms apply to all frames.
- (if (assq 'height parsed)
- (setq default-frame-alist
- (cons (cons 'height (cdr (assq 'height parsed)))
- default-frame-alist)))
- (if (assq 'width parsed)
- (setq default-frame-alist
- (cons (cons 'width (cdr (assq 'width parsed)))
- default-frame-alist))))))
-
-;; Check the reverseVideo resource.
-(let ((case-fold-search t))
- (let ((rv (x-get-resource "reverseVideo" "ReverseVideo")))
- (if (and rv
- (string-match "^\\(true\\|yes\\|on\\)$" rv))
- (setq default-frame-alist
- (cons '(reverse . t) default-frame-alist)))))
+(defun x-clipboard-yank ()
+ "Insert the clipboard contents, or the last stretch of killed text."
+ (interactive)
+ (let ((clipboard-text (x-selection-value 'CLIPBOARD))
+ (x-select-enable-clipboard t))
+ (if (and clipboard-text (> (length clipboard-text) 0))
+ (kill-new clipboard-text))
+ (yank)))
-;; Set x-selection-timeout, measured in milliseconds.
-(let ((res-selection-timeout
- (x-get-resource "selectionTimeout" "SelectionTimeout")))
- (setq x-selection-timeout 20000)
- (if res-selection-timeout
- (setq x-selection-timeout (string-to-number res-selection-timeout))))
+
+;;; Window system initialization.
(defun x-win-suspend-error ()
(error "Suspending an Emacs running under X makes no sense"))
-(add-hook 'suspend-hook 'x-win-suspend-error)
-;;; Arrange for the kill and yank functions to set and check the clipboard.
-(setq interprogram-cut-function 'x-select-text)
-(setq interprogram-paste-function 'x-cut-buffer-or-selection-value)
+(defvar x-initialized nil
+ "Non-nil if the X window system has been initialized.")
+
+(defun x-initialize-window-system ()
+ "Initialize Emacs for X frames and open the first connection to an X server."
+ ;; Make sure we have a valid resource name.
+ (or (stringp x-resource-name)
+ (let (i)
+ (setq x-resource-name (invocation-name))
+
+ ;; Change any . or * characters in x-resource-name to hyphens,
+ ;; so as not to choke when we use it in X resource queries.
+ (while (setq i (string-match "[.*]" x-resource-name))
+ (aset x-resource-name i ?-))))
+
+ (x-open-connection (or x-display-name
+ (setq x-display-name (server-getenv "DISPLAY")))
+ x-command-line-resources
+ ;; Exit Emacs with fatal error if this fails and we
+ ;; are the initial display.
+ (eq initial-window-system 'x))
+
+ (setq x-cut-buffer-max (min (- (/ (x-server-max-request-size) 2) 100)
+ x-cut-buffer-max))
+
+ ;; Setup the default fontset.
+ (setup-default-fontset)
+
+ ;; Create the standard fontset.
+ (create-fontset-from-fontset-spec standard-fontset-spec t)
+
+ ;; Create fontset specified in X resources "Fontset-N" (N is 0, 1, ...).
+ (create-fontset-from-x-resource)
+
+ ;; Try to create a fontset from a font specification which comes
+ ;; from initial-frame-alist, default-frame-alist, or X resource.
+ ;; A font specification in command line argument (i.e. -fn XXXX)
+ ;; should be already in default-frame-alist as a `font'
+ ;; parameter. However, any font specifications in site-start
+ ;; library, user's init file (.emacs), and default.el are not
+ ;; yet handled here.
+
+ (let ((font (or (cdr (assq 'font initial-frame-alist))
+ (cdr (assq 'font default-frame-alist))
+ (x-get-resource "font" "Font")))
+ xlfd-fields resolved-name)
+ (if (and font
+ (not (query-fontset font))
+ (setq resolved-name (x-resolve-font-name font))
+ (setq xlfd-fields (x-decompose-font-name font)))
+ (if (string= "fontset" (aref xlfd-fields xlfd-regexp-registry-subnum))
+ (new-fontset font (x-complement-fontset-spec xlfd-fields nil))
+ ;; Create a fontset from FONT. The fontset name is
+ ;; generated from FONT.
+ (create-fontset-from-ascii-font font resolved-name "startup"))))
+
+ ;; Apply a geometry resource to the initial frame. Put it at the end
+ ;; of the alist, so that anything specified on the command line takes
+ ;; precedence.
+ (let* ((res-geometry (x-get-resource "geometry" "Geometry"))
+ parsed)
+ (if res-geometry
+ (progn
+ (setq parsed (x-parse-geometry res-geometry))
+ ;; If the resource specifies a position,
+ ;; call the position and size "user-specified".
+ (if (or (assq 'top parsed) (assq 'left parsed))
+ (setq parsed (cons '(user-position . t)
+ (cons '(user-size . t) parsed))))
+ ;; All geometry parms apply to the initial frame.
+ (setq initial-frame-alist (append initial-frame-alist parsed))
+ ;; The size parms apply to all frames.
+ (if (assq 'height parsed)
+ (setq default-frame-alist
+ (cons (cons 'height (cdr (assq 'height parsed)))
+ default-frame-alist)))
+ (if (assq 'width parsed)
+ (setq default-frame-alist
+ (cons (cons 'width (cdr (assq 'width parsed)))
+ default-frame-alist))))))
+
+ ;; Check the reverseVideo resource.
+ (let ((case-fold-search t))
+ (let ((rv (x-get-resource "reverseVideo" "ReverseVideo")))
+ (if (and rv
+ (string-match "^\\(true\\|yes\\|on\\)$" rv))
+ (setq default-frame-alist
+ (cons '(reverse . t) default-frame-alist)))))
-;;; Turn off window-splitting optimization; X is usually fast enough
-;;; that this is only annoying.
-(setq split-window-keep-point t)
+ ;; Set x-selection-timeout, measured in milliseconds.
+ (let ((res-selection-timeout
+ (x-get-resource "selectionTimeout" "SelectionTimeout")))
+ (setq x-selection-timeout 20000)
+ (if res-selection-timeout
+ (setq x-selection-timeout (string-to-number res-selection-timeout))))
-;; Don't show the frame name; that's redundant with X.
-(setq-default mode-line-frame-identification " ")
+ ;; Don't let Emacs suspend under X.
+ (add-hook 'suspend-hook 'x-win-suspend-error)
-;; Motif direct handling of f10 wasn't working right,
-;; So temporarily we've turned it off in lwlib-Xm.c
-;; and turned the Emacs f10 back on.
-;; ;; Motif normally handles f10 itself, so don't try to handle it a second time.
-;; (if (featurep 'motif)
-;; (global-set-key [f10] 'ignore))
+ ;; Turn off window-splitting optimization; X is usually fast enough
+ ;; that this is only annoying.
+ (setq split-window-keep-point t)
-;; Turn on support for mouse wheels.
-(mouse-wheel-mode 1)
+ ;; Motif direct handling of f10 wasn't working right,
+ ;; So temporarily we've turned it off in lwlib-Xm.c
+ ;; and turned the Emacs f10 back on.
+ ;; ;; Motif normally handles f10 itself, so don't try to handle it a second time.
+ ;; (if (featurep 'motif)
+ ;; (global-set-key [f10] 'ignore))
+ ;; Turn on support for mouse wheels.
+ (mouse-wheel-mode 1)
-;; Enable CLIPBOARD copy/paste through menu bar commands.
-(menu-bar-enable-clipboard)
+ ;; Enable CLIPBOARD copy/paste through menu bar commands.
+ (menu-bar-enable-clipboard)
-;; Override Paste so it looks at CLIPBOARD first.
-(defun x-clipboard-yank ()
- "Insert the clipboard contents, or the last stretch of killed text."
- (interactive)
- (let ((clipboard-text (x-selection-value 'CLIPBOARD))
- (x-select-enable-clipboard t))
- (if (and clipboard-text (> (length clipboard-text) 0))
- (kill-new clipboard-text))
- (yank)))
+ ;; Override Paste so it looks at CLIPBOARD first.
+ (define-key menu-bar-edit-menu [paste]
+ (cons "Paste" (cons "Paste text from clipboard or kill ring"
+ 'x-clipboard-yank)))
+
+ (setq x-initialized t))
+
+(add-to-list 'handle-args-function-alist '(x . x-handle-args))
+(add-to-list 'frame-creation-function-alist '(x . x-create-frame-with-faces))
+(add-to-list 'window-system-initialization-alist '(x . x-initialize-window-system))
-(define-key menu-bar-edit-menu [paste]
- (cons "Paste" (cons "Paste text from clipboard or kill ring"
- 'x-clipboard-yank)))
+(provide 'x-win)
;; Initiate drag and drop
(add-hook 'after-make-frame-functions 'x-dnd-init-frame)
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
index ce37d1b6086..607c24c9bc5 100644
--- a/lisp/term/xterm.el
+++ b/lisp/term/xterm.el
@@ -26,238 +26,250 @@
;;; Code:
+(require 'server)
+
+(defvar xterm-function-map nil
+ "Function key map overrides for xterm.")
+
+;; Make reloads faster.
+(unless xterm-function-map
+ (setq xterm-function-map (make-sparse-keymap))
+ ;; xterm from X.org 6.8.2 uses these key definitions.
+ (define-key xterm-function-map "\eOP" [f1])
+ (define-key xterm-function-map "\eOQ" [f2])
+ (define-key xterm-function-map "\eOR" [f3])
+ (define-key xterm-function-map "\eOS" [f4])
+ (define-key xterm-function-map "\e[15~" [f5])
+ (define-key xterm-function-map "\e[17~" [f6])
+ (define-key xterm-function-map "\e[18~" [f7])
+ (define-key xterm-function-map "\e[19~" [f8])
+ (define-key xterm-function-map "\e[20~" [f9])
+ (define-key xterm-function-map "\e[21~" [f10])
+ (define-key xterm-function-map "\e[23~" [f11])
+ (define-key xterm-function-map "\e[24~" [f12])
+
+ (define-key xterm-function-map "\eO2P" [S-f1])
+ (define-key xterm-function-map "\eO2Q" [S-f2])
+ (define-key xterm-function-map "\eO2R" [S-f3])
+ (define-key xterm-function-map "\eO2S" [S-f4])
+ (define-key xterm-function-map "\e[15;2~" [S-f5])
+ (define-key xterm-function-map "\e[17;2~" [S-f6])
+ (define-key xterm-function-map "\e[18;2~" [S-f7])
+ (define-key xterm-function-map "\e[19;2~" [S-f8])
+ (define-key xterm-function-map "\e[20;2~" [S-f9])
+ (define-key xterm-function-map "\e[21;2~" [S-f10])
+ (define-key xterm-function-map "\e[23;2~" [S-f11])
+ (define-key xterm-function-map "\e[24;2~" [S-f12])
+
+ (define-key xterm-function-map "\eO5P" [C-f1])
+ (define-key xterm-function-map "\eO5Q" [C-f2])
+ (define-key xterm-function-map "\eO5R" [C-f3])
+ (define-key xterm-function-map "\eO5S" [C-f4])
+ (define-key xterm-function-map "\e[15;5~" [C-f5])
+ (define-key xterm-function-map "\e[17;5~" [C-f6])
+ (define-key xterm-function-map "\e[18;5~" [C-f7])
+ (define-key xterm-function-map "\e[19;5~" [C-f8])
+ (define-key xterm-function-map "\e[20;5~" [C-f9])
+ (define-key xterm-function-map "\e[21;5~" [C-f10])
+ (define-key xterm-function-map "\e[23;5~" [C-f11])
+ (define-key xterm-function-map "\e[24;5~" [C-f12])
+
+ (define-key xterm-function-map "\eO6P" [C-S-f1])
+ (define-key xterm-function-map "\eO6Q" [C-S-f2])
+ (define-key xterm-function-map "\eO6R" [C-S-f3])
+ (define-key xterm-function-map "\eO6S" [C-S-f4])
+ (define-key xterm-function-map "\e[15;6~" [C-S-f5])
+ (define-key xterm-function-map "\e[17;6~" [C-S-f6])
+ (define-key xterm-function-map "\e[18;6~" [C-S-f7])
+ (define-key xterm-function-map "\e[19;6~" [C-S-f8])
+ (define-key xterm-function-map "\e[20;6~" [C-S-f9])
+ (define-key xterm-function-map "\e[21;6~" [C-S-f10])
+ (define-key xterm-function-map "\e[23;6~" [C-S-f11])
+ (define-key xterm-function-map "\e[24;6~" [C-S-f12])
+
+ (define-key xterm-function-map "\eO3P" [A-f1])
+ (define-key xterm-function-map "\eO3Q" [A-f2])
+ (define-key xterm-function-map "\eO3R" [A-f3])
+ (define-key xterm-function-map "\eO3S" [A-f4])
+ (define-key xterm-function-map "\e[15;3~" [A-f5])
+ (define-key xterm-function-map "\e[17;3~" [A-f6])
+ (define-key xterm-function-map "\e[18;3~" [A-f7])
+ (define-key xterm-function-map "\e[19;3~" [A-f8])
+ (define-key xterm-function-map "\e[20;3~" [A-f9])
+ (define-key xterm-function-map "\e[21;3~" [A-f10])
+ (define-key xterm-function-map "\e[23;3~" [A-f11])
+ (define-key xterm-function-map "\e[24;3~" [A-f12])
+
+ (define-key xterm-function-map "\eOA" [up])
+ (define-key xterm-function-map "\eOB" [down])
+ (define-key xterm-function-map "\eOC" [right])
+ (define-key xterm-function-map "\eOD" [left])
+ (define-key xterm-function-map "\eOF" [end])
+ (define-key xterm-function-map "\eOH" [home])
+
+ (define-key xterm-function-map "\e[1;2A" [S-up])
+ (define-key xterm-function-map "\e[1;2B" [S-down])
+ (define-key xterm-function-map "\e[1;2C" [S-right])
+ (define-key xterm-function-map "\e[1;2D" [S-left])
+ (define-key xterm-function-map "\e[1;2F" [S-end])
+ (define-key xterm-function-map "\e[1;2H" [S-home])
+
+ (define-key xterm-function-map "\e[1;5A" [C-up])
+ (define-key xterm-function-map "\e[1;5B" [C-down])
+ (define-key xterm-function-map "\e[1;5C" [C-right])
+ (define-key xterm-function-map "\e[1;5D" [C-left])
+ (define-key xterm-function-map "\e[1;5F" [C-end])
+ (define-key xterm-function-map "\e[1;5H" [C-home])
+
+ (define-key xterm-function-map "\e[1;6A" [C-S-up])
+ (define-key xterm-function-map "\e[1;6B" [C-S-down])
+ (define-key xterm-function-map "\e[1;6C" [C-S-right])
+ (define-key xterm-function-map "\e[1;6D" [C-S-left])
+ (define-key xterm-function-map "\e[1;6F" [C-S-end])
+ (define-key xterm-function-map "\e[1;6H" [C-S-home])
+
+ (define-key xterm-function-map "\e[1;3A" [A-up])
+ (define-key xterm-function-map "\e[1;3B" [A-down])
+ (define-key xterm-function-map "\e[1;3C" [A-right])
+ (define-key xterm-function-map "\e[1;3D" [A-left])
+ (define-key xterm-function-map "\e[1;3F" [A-end])
+ (define-key xterm-function-map "\e[1;3H" [A-home])
+
+ (define-key xterm-function-map "\e[2~" [insert])
+ (define-key xterm-function-map "\e[3~" [delete])
+ (define-key xterm-function-map "\e[5~" [prior])
+ (define-key xterm-function-map "\e[6~" [next])
+
+ (define-key xterm-function-map "\e[2;2~" [S-insert])
+ (define-key xterm-function-map "\e[3;2~" [S-delete])
+ (define-key xterm-function-map "\e[5;2~" [S-prior])
+ (define-key xterm-function-map "\e[6;2~" [S-next])
+
+ (define-key xterm-function-map "\e[2;5~" [C-insert])
+ (define-key xterm-function-map "\e[3;5~" [C-delete])
+ (define-key xterm-function-map "\e[5;5~" [C-prior])
+ (define-key xterm-function-map "\e[6;5~" [C-next])
+
+ (define-key xterm-function-map "\e[2;6~" [C-S-insert])
+ (define-key xterm-function-map "\e[3;6~" [C-S-delete])
+ (define-key xterm-function-map "\e[5;6~" [C-S-prior])
+ (define-key xterm-function-map "\e[6;6~" [C-S-next])
+
+ (define-key xterm-function-map "\e[2;3~" [A-insert])
+ (define-key xterm-function-map "\e[3;3~" [A-delete])
+ (define-key xterm-function-map "\e[5;3~" [A-prior])
+ (define-key xterm-function-map "\e[6;3~" [A-next])
+
+ (define-key xterm-function-map "\e[4~" [select])
+ (define-key xterm-function-map "\e[29~" [print])
+
+ ;; Other versions of xterm might emit these.
+ (define-key xterm-function-map "\e[A" [up])
+ (define-key xterm-function-map "\e[B" [down])
+ (define-key xterm-function-map "\e[C" [right])
+ (define-key xterm-function-map "\e[D" [left])
+ (define-key xterm-function-map "\e[1~" [home])
+
+ (define-key xterm-function-map "\e[1;2A" [S-up])
+ (define-key xterm-function-map "\e[1;2B" [S-down])
+ (define-key xterm-function-map "\e[1;2C" [S-right])
+ (define-key xterm-function-map "\e[1;2D" [S-left])
+ (define-key xterm-function-map "\e[1;2F" [S-end])
+ (define-key xterm-function-map "\e[1;2H" [S-home])
+
+ (define-key xterm-function-map "\e[1;5A" [C-up])
+ (define-key xterm-function-map "\e[1;5B" [C-down])
+ (define-key xterm-function-map "\e[1;5C" [C-right])
+ (define-key xterm-function-map "\e[1;5D" [C-left])
+ (define-key xterm-function-map "\e[1;5F" [C-end])
+ (define-key xterm-function-map "\e[1;5H" [C-home])
+
+ (define-key xterm-function-map "\e[11~" [f1])
+ (define-key xterm-function-map "\e[12~" [f2])
+ (define-key xterm-function-map "\e[13~" [f3])
+ (define-key xterm-function-map "\e[14~" [f4]))
+
(defun terminal-init-xterm ()
"Terminal initialization function for xterm."
;; rxvt terminals sometimes set the TERM variable to "xterm", but
;; rxvt's keybindings that are incompatible with xterm's. It is
;; better in that case to use rxvt's initializion function.
- (if (and (getenv "COLORTERM")
- (string-match "\\`rxvt" (getenv "COLORTERM")))
- (progn
+ (if (and (server-getenv "COLORTERM")
+ (string-match "\\`rxvt" (server-getenv "COLORTERM")))
+ (progn
(eval-when-compile (load "term/rxvt"))
(terminal-init-rxvt))
- ;; The terminal intialization C code file might have initialized
- ;; function keys F13->F60 from the termcap/terminfo information. On
- ;; a PC-style keyboard these keys correspond to
- ;; MODIFIER-FUNCTION_KEY, where modifier is S-, C, A-, C-S-. The
- ;; code here subsitutes the corresponding defintions in
- ;; function-key-map. This substitution is needed because if a key
- ;; definition if found in function-key-map, there are no further
- ;; lookups in other keymaps.
- (substitute-key-definition [f13] [S-f1] function-key-map)
- (substitute-key-definition [f14] [S-f2] function-key-map)
- (substitute-key-definition [f15] [S-f3] function-key-map)
- (substitute-key-definition [f16] [S-f4] function-key-map)
- (substitute-key-definition [f17] [S-f5] function-key-map)
- (substitute-key-definition [f18] [S-f6] function-key-map)
- (substitute-key-definition [f19] [S-f7] function-key-map)
- (substitute-key-definition [f20] [S-f8] function-key-map)
- (substitute-key-definition [f21] [S-f9] function-key-map)
- (substitute-key-definition [f22] [S-f10] function-key-map)
- (substitute-key-definition [f23] [S-f11] function-key-map)
- (substitute-key-definition [f24] [S-f12] function-key-map)
-
- (substitute-key-definition [f25] [C-f1] function-key-map)
- (substitute-key-definition [f26] [C-f2] function-key-map)
- (substitute-key-definition [f27] [C-f3] function-key-map)
- (substitute-key-definition [f28] [C-f4] function-key-map)
- (substitute-key-definition [f29] [C-f5] function-key-map)
- (substitute-key-definition [f30] [C-f6] function-key-map)
- (substitute-key-definition [f31] [C-f7] function-key-map)
- (substitute-key-definition [f32] [C-f8] function-key-map)
- (substitute-key-definition [f33] [C-f9] function-key-map)
- (substitute-key-definition [f34] [C-f10] function-key-map)
- (substitute-key-definition [f35] [C-f11] function-key-map)
- (substitute-key-definition [f36] [C-f12] function-key-map)
-
- (substitute-key-definition [f37] [C-S-f1] function-key-map)
- (substitute-key-definition [f38] [C-S-f2] function-key-map)
- (substitute-key-definition [f39] [C-S-f3] function-key-map)
- (substitute-key-definition [f40] [C-S-f4] function-key-map)
- (substitute-key-definition [f41] [C-S-f5] function-key-map)
- (substitute-key-definition [f42] [C-S-f6] function-key-map)
- (substitute-key-definition [f43] [C-S-f7] function-key-map)
- (substitute-key-definition [f44] [C-S-f8] function-key-map)
- (substitute-key-definition [f45] [C-S-f9] function-key-map)
- (substitute-key-definition [f46] [C-S-f10] function-key-map)
- (substitute-key-definition [f47] [C-S-f11] function-key-map)
- (substitute-key-definition [f48] [C-S-f12] function-key-map)
-
- (substitute-key-definition [f49] [A-f1] function-key-map)
- (substitute-key-definition [f50] [A-f2] function-key-map)
- (substitute-key-definition [f51] [A-f3] function-key-map)
- (substitute-key-definition [f52] [A-f4] function-key-map)
- (substitute-key-definition [f53] [A-f5] function-key-map)
- (substitute-key-definition [f54] [A-f6] function-key-map)
- (substitute-key-definition [f55] [A-f7] function-key-map)
- (substitute-key-definition [f56] [A-f8] function-key-map)
- (substitute-key-definition [f57] [A-f9] function-key-map)
- (substitute-key-definition [f58] [A-f10] function-key-map)
- (substitute-key-definition [f59] [A-f11] function-key-map)
- (substitute-key-definition [f60] [A-f12] function-key-map)
-
- (let ((map (make-sparse-keymap)))
- ;; xterm from X.org 6.8.2 uses these key definitions.
- (define-key map "\eOP" [f1])
- (define-key map "\eOQ" [f2])
- (define-key map "\eOR" [f3])
- (define-key map "\eOS" [f4])
- (define-key map "\e[15~" [f5])
- (define-key map "\e[17~" [f6])
- (define-key map "\e[18~" [f7])
- (define-key map "\e[19~" [f8])
- (define-key map "\e[20~" [f9])
- (define-key map "\e[21~" [f10])
- (define-key map "\e[23~" [f11])
- (define-key map "\e[24~" [f12])
-
- (define-key map "\eO2P" [S-f1])
- (define-key map "\eO2Q" [S-f2])
- (define-key map "\eO2R" [S-f3])
- (define-key map "\eO2S" [S-f4])
- (define-key map "\e[15;2~" [S-f5])
- (define-key map "\e[17;2~" [S-f6])
- (define-key map "\e[18;2~" [S-f7])
- (define-key map "\e[19;2~" [S-f8])
- (define-key map "\e[20;2~" [S-f9])
- (define-key map "\e[21;2~" [S-f10])
- (define-key map "\e[23;2~" [S-f11])
- (define-key map "\e[24;2~" [S-f12])
-
- (define-key map "\eO5P" [C-f1])
- (define-key map "\eO5Q" [C-f2])
- (define-key map "\eO5R" [C-f3])
- (define-key map "\eO5S" [C-f4])
- (define-key map "\e[15;5~" [C-f5])
- (define-key map "\e[17;5~" [C-f6])
- (define-key map "\e[18;5~" [C-f7])
- (define-key map "\e[19;5~" [C-f8])
- (define-key map "\e[20;5~" [C-f9])
- (define-key map "\e[21;5~" [C-f10])
- (define-key map "\e[23;5~" [C-f11])
- (define-key map "\e[24;5~" [C-f12])
-
- (define-key map "\eO6P" [C-S-f1])
- (define-key map "\eO6Q" [C-S-f2])
- (define-key map "\eO6R" [C-S-f3])
- (define-key map "\eO6S" [C-S-f4])
- (define-key map "\e[15;6~" [C-S-f5])
- (define-key map "\e[17;6~" [C-S-f6])
- (define-key map "\e[18;6~" [C-S-f7])
- (define-key map "\e[19;6~" [C-S-f8])
- (define-key map "\e[20;6~" [C-S-f9])
- (define-key map "\e[21;6~" [C-S-f10])
- (define-key map "\e[23;6~" [C-S-f11])
- (define-key map "\e[24;6~" [C-S-f12])
-
- (define-key map "\eO3P" [A-f1])
- (define-key map "\eO3Q" [A-f2])
- (define-key map "\eO3R" [A-f3])
- (define-key map "\eO3S" [A-f4])
- (define-key map "\e[15;3~" [A-f5])
- (define-key map "\e[17;3~" [A-f6])
- (define-key map "\e[18;3~" [A-f7])
- (define-key map "\e[19;3~" [A-f8])
- (define-key map "\e[20;3~" [A-f9])
- (define-key map "\e[21;3~" [A-f10])
- (define-key map "\e[23;3~" [A-f11])
- (define-key map "\e[24;3~" [A-f12])
-
- (define-key map "\eOA" [up])
- (define-key map "\eOB" [down])
- (define-key map "\eOC" [right])
- (define-key map "\eOD" [left])
- (define-key map "\eOF" [end])
- (define-key map "\eOH" [home])
-
- (define-key map "\e[1;2A" [S-up])
- (define-key map "\e[1;2B" [S-down])
- (define-key map "\e[1;2C" [S-right])
- (define-key map "\e[1;2D" [S-left])
- (define-key map "\e[1;2F" [S-end])
- (define-key map "\e[1;2H" [S-home])
-
- (define-key map "\e[1;5A" [C-up])
- (define-key map "\e[1;5B" [C-down])
- (define-key map "\e[1;5C" [C-right])
- (define-key map "\e[1;5D" [C-left])
- (define-key map "\e[1;5F" [C-end])
- (define-key map "\e[1;5H" [C-home])
-
- (define-key map "\e[1;6A" [C-S-up])
- (define-key map "\e[1;6B" [C-S-down])
- (define-key map "\e[1;6C" [C-S-right])
- (define-key map "\e[1;6D" [C-S-left])
- (define-key map "\e[1;6F" [C-S-end])
- (define-key map "\e[1;6H" [C-S-home])
-
- (define-key map "\e[1;3A" [A-up])
- (define-key map "\e[1;3B" [A-down])
- (define-key map "\e[1;3C" [A-right])
- (define-key map "\e[1;3D" [A-left])
- (define-key map "\e[1;3F" [A-end])
- (define-key map "\e[1;3H" [A-home])
-
- (define-key map "\e[2~" [insert])
- (define-key map "\e[3~" [delete])
- (define-key map "\e[5~" [prior])
- (define-key map "\e[6~" [next])
-
- (define-key map "\e[2;2~" [S-insert])
- (define-key map "\e[3;2~" [S-delete])
- (define-key map "\e[5;2~" [S-prior])
- (define-key map "\e[6;2~" [S-next])
-
- (define-key map "\e[2;5~" [C-insert])
- (define-key map "\e[3;5~" [C-delete])
- (define-key map "\e[5;5~" [C-prior])
- (define-key map "\e[6;5~" [C-next])
-
- (define-key map "\e[2;6~" [C-S-insert])
- (define-key map "\e[3;6~" [C-S-delete])
- (define-key map "\e[5;6~" [C-S-prior])
- (define-key map "\e[6;6~" [C-S-next])
-
- (define-key map "\e[2;3~" [A-insert])
- (define-key map "\e[3;3~" [A-delete])
- (define-key map "\e[5;3~" [A-prior])
- (define-key map "\e[6;3~" [A-next])
-
- (define-key map "\e[4~" [select])
- (define-key map "\e[29~" [print])
-
- ;; Other versions of xterm might emit these.
- (define-key map "\e[A" [up])
- (define-key map "\e[B" [down])
- (define-key map "\e[C" [right])
- (define-key map "\e[D" [left])
- (define-key map "\e[1~" [home])
-
- (define-key map "\eO2A" [S-up])
- (define-key map "\eO2B" [S-down])
- (define-key map "\eO2C" [S-right])
- (define-key map "\eO2D" [S-left])
- (define-key map "\eO2F" [S-end])
- (define-key map "\eO2H" [S-home])
-
- (define-key map "\eO5A" [C-up])
- (define-key map "\eO5B" [C-down])
- (define-key map "\eO5C" [C-right])
- (define-key map "\eO5D" [C-left])
- (define-key map "\eO5F" [C-end])
- (define-key map "\eO5H" [C-home])
-
- (define-key map "\e[11~" [f1])
- (define-key map "\e[12~" [f2])
- (define-key map "\e[13~" [f3])
- (define-key map "\e[14~" [f4])
+ ;; The terminal-local stuff only need to be set up on the first
+ ;; frame on that device.
+ (when (eq 1 (length (frames-on-display-list)))
+ ;; The terminal intialization C code file might have initialized
+ ;; function keys F13->F60 from the termcap/terminfo information. On
+ ;; a PC-style keyboard these keys correspond to
+ ;; MODIFIER-FUNCTION_KEY, where modifier is S-, C, A-, C-S-. The
+ ;; code here subsitutes the corresponding defintions in
+ ;; function-key-map. This substitution is needed because if a key
+ ;; definition if found in function-key-map, there are no further
+ ;; lookups in other keymaps.
+ (let ((m (terminal-local-value 'local-function-key-map nil)))
+ (substitute-key-definition [f13] [S-f1] m)
+ (substitute-key-definition [f14] [S-f2] m)
+ (substitute-key-definition [f15] [S-f3] m)
+ (substitute-key-definition [f16] [S-f4] m)
+ (substitute-key-definition [f17] [S-f5] m)
+ (substitute-key-definition [f18] [S-f6] m)
+ (substitute-key-definition [f19] [S-f7] m)
+ (substitute-key-definition [f20] [S-f8] m)
+ (substitute-key-definition [f21] [S-f9] m)
+ (substitute-key-definition [f22] [S-f10] m)
+ (substitute-key-definition [f23] [S-f11] m)
+ (substitute-key-definition [f24] [S-f12] m)
+
+ (substitute-key-definition [f25] [C-f1] m)
+ (substitute-key-definition [f26] [C-f2] m)
+ (substitute-key-definition [f27] [C-f3] m)
+ (substitute-key-definition [f28] [C-f4] m)
+ (substitute-key-definition [f29] [C-f5] m)
+ (substitute-key-definition [f30] [C-f6] m)
+ (substitute-key-definition [f31] [C-f7] m)
+ (substitute-key-definition [f32] [C-f8] m)
+ (substitute-key-definition [f33] [C-f9] m)
+ (substitute-key-definition [f34] [C-f10] m)
+ (substitute-key-definition [f35] [C-f11] m)
+ (substitute-key-definition [f36] [C-f12] m)
+
+ (substitute-key-definition [f37] [C-S-f1] m)
+ (substitute-key-definition [f38] [C-S-f2] m)
+ (substitute-key-definition [f39] [C-S-f3] m)
+ (substitute-key-definition [f40] [C-S-f4] m)
+ (substitute-key-definition [f41] [C-S-f5] m)
+ (substitute-key-definition [f42] [C-S-f6] m)
+ (substitute-key-definition [f43] [C-S-f7] m)
+ (substitute-key-definition [f44] [C-S-f8] m)
+ (substitute-key-definition [f45] [C-S-f9] m)
+ (substitute-key-definition [f46] [C-S-f10] m)
+ (substitute-key-definition [f47] [C-S-f11] m)
+ (substitute-key-definition [f48] [C-S-f12] m)
+
+ (substitute-key-definition [f49] [A-f1] m)
+ (substitute-key-definition [f50] [A-f2] m)
+ (substitute-key-definition [f51] [A-f3] m)
+ (substitute-key-definition [f52] [A-f4] m)
+ (substitute-key-definition [f53] [A-f5] m)
+ (substitute-key-definition [f54] [A-f6] m)
+ (substitute-key-definition [f55] [A-f7] m)
+ (substitute-key-definition [f56] [A-f8] m)
+ (substitute-key-definition [f57] [A-f9] m)
+ (substitute-key-definition [f58] [A-f10] m)
+ (substitute-key-definition [f59] [A-f11] m)
+ (substitute-key-definition [f60] [A-f12] m))
;; Use inheritance to let the main keymap override those defaults.
;; This way we don't override terminfo-derived settings or settings
;; made in the .emacs file.
- (set-keymap-parent map (keymap-parent function-key-map))
- (set-keymap-parent function-key-map map))
+ (let ((m (copy-keymap xterm-function-map)))
+ (set-keymap-parent m (keymap-parent (terminal-local-value 'local-function-key-map nil)))
+ (set-keymap-parent (terminal-local-value 'local-function-key-map nil) m)))
;; Do it!
(xterm-register-default-colors)
@@ -299,7 +311,7 @@ for the currently selected frame. The first 16 colors are taken from
`xterm-standard-colors', which see, while the rest are computed assuming
either the 88- or 256-color standard color scheme supported by latest
versions of xterm."
- (let* ((ncolors (display-color-cells))
+ (let* ((ncolors (display-color-cells (selected-frame)))
(colors xterm-standard-colors)
(color (car colors)))
(if (> ncolors 0)
diff --git a/lisp/version.el b/lisp/version.el
index 62d367e2f79..f02f291c4b5 100644
--- a/lisp/version.el
+++ b/lisp/version.el
@@ -27,7 +27,7 @@
;;; Code:
-(defconst emacs-version "22.0.50" "\
+(defconst emacs-version "22.0.51" "\
Version numbers of this version of Emacs.")
(defconst emacs-major-version
@@ -55,8 +55,8 @@ to the system configuration; look at `system-configuration' instead."
(interactive "P")
(let ((version-string
(format (if (not (interactive-p))
- "GNU Emacs %s (%s%s%s)\n of %s on %s"
- "GNU Emacs %s (%s%s%s) of %s on %s")
+ "GNU Emacs %s (%s%s%s%s)\n of %s on %s"
+ "GNU Emacs %s (%s%s%s%s) of %s on %s")
emacs-version
system-configuration
(cond ((featurep 'motif)
@@ -70,6 +70,7 @@ to the system configuration; look at `system-configuration' instead."
(format ", %s scroll bars"
(capitalize (symbol-name x-toolkit-scroll-bars)))
"")
+ (if (featurep 'multi-tty) ", multi-tty" "")
(format-time-string "%Y-%m-%d" emacs-build-time)
emacs-build-system)))
(if here
diff --git a/lisp/x-dnd.el b/lisp/x-dnd.el
index 612e033c4cb..d066ee49d1c 100644
--- a/lisp/x-dnd.el
+++ b/lisp/x-dnd.el
@@ -121,8 +121,9 @@ any protocol specific data.")
(defun x-dnd-init-frame (&optional frame)
"Setup drag and drop for FRAME (i.e. create appropriate properties)."
- (x-dnd-init-xdnd-for-frame frame)
- (x-dnd-init-motif-for-frame frame))
+ (when (eq 'x (window-system frame))
+ (x-dnd-init-xdnd-for-frame frame)
+ (x-dnd-init-motif-for-frame frame)))
(defun x-dnd-get-state-cons-for-frame (frame-or-window)
"Return the entry in x-dnd-current-state for a frame or window."
diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index 80927647fbb..c3eb9519ab1 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -46,6 +46,7 @@
;;; Code:
+;; XXX Perhaps this should be terminal-local instead. --lorentey
(define-key function-key-map "\e[M" 'xterm-mouse-translate)
(defvar xterm-mouse-last)
@@ -102,17 +103,21 @@
(vector (list down-where down-data) down)
(vector down))))))))
-(defvar xterm-mouse-x 0
- "Position of last xterm mouse event relative to the frame.")
-
-(defvar xterm-mouse-y 0
- "Position of last xterm mouse event relative to the frame.")
+;; These two variables have been converted to terminal parameters.
+;;
+;;(defvar xterm-mouse-x 0
+;; "Position of last xterm mouse event relative to the frame.")
+;;
+;;(defvar xterm-mouse-y 0
+;; "Position of last xterm mouse event relative to the frame.")
;; Indicator for the xterm-mouse mode.
(defun xterm-mouse-position-function (pos)
"Bound to `mouse-position-function' in XTerm mouse mode."
- (setcdr pos (cons xterm-mouse-x xterm-mouse-y))
+ (when (terminal-parameter nil 'xterm-mouse-x)
+ (setcdr pos (cons (terminal-parameter nil 'xterm-mouse-x)
+ (terminal-parameter nil 'xterm-mouse-y))))
pos)
;; read xterm sequences above ascii 127 (#x7f)
@@ -144,8 +149,8 @@
(left (nth 0 ltrb))
(top (nth 1 ltrb)))
- (setq xterm-mouse-x x
- xterm-mouse-y y)
+ (set-terminal-parameter nil 'xterm-mouse-x x)
+ (set-terminal-parameter nil 'xterm-mouse-y y)
(if w
(list mouse (posn-at-x-y (- x left) (- y top) w t))
(list mouse
@@ -165,7 +170,7 @@ down the SHIFT key while pressing the mouse button."
:global t :group 'mouse
(if xterm-mouse-mode
;; Turn it on
- (unless window-system
+ (progn
(setq mouse-position-function #'xterm-mouse-position-function)
(turn-on-xterm-mouse-tracking))
;; Turn it off
@@ -174,15 +179,43 @@ down the SHIFT key while pressing the mouse button."
(defun turn-on-xterm-mouse-tracking ()
"Enable Emacs mouse tracking in xterm."
- (if xterm-mouse-mode
- (send-string-to-terminal "\e[?1000h")))
+ (dolist (f (frame-list))
+ (when (eq t (frame-live-p f))
+ (with-selected-frame f
+ (when xterm-mouse-mode
+ (send-string-to-terminal "\e[?1000h"))))))
(defun turn-off-xterm-mouse-tracking (&optional force)
"Disable Emacs mouse tracking in xterm."
- (if (or force xterm-mouse-mode)
- (send-string-to-terminal "\e[?1000l")))
+ (dolist (f (frame-list))
+ (when (eq t (frame-live-p f))
+ (with-selected-frame f
+ (when (or force xterm-mouse-mode)
+ (send-string-to-terminal "\e[?1000l"))))))
+
+(defun turn-on-xterm-mouse-tracking-on-terminal (terminal)
+ "Enable xterm mouse tracking on TERMINAL."
+ (when (and xterm-mouse-mode (eq t (display-live-p terminal)))
+ (send-string-to-terminal "\e[?1000h" terminal)))
+
+(defun turn-off-xterm-mouse-tracking-on-terminal (terminal)
+ "Disable xterm mouse tracking on TERMINAL."
+ (when (and xterm-mouse-mode (eq t (display-live-p terminal)))
+ (send-string-to-terminal "\e[?1000l" terminal)))
+
+(defun xterm-mouse-handle-delete-frame (frame)
+ "Turn off xterm mouse tracking if FRAME is the last frame on its device."
+ (when (and (eq t (frame-live-p frame))
+ (<= 1 (length (frames-on-display-list (frame-display frame)))))
+ (turn-off-xterm-mouse-tracking-on-terminal frame)))
+
+;; Frame creation and deletion.
+(add-hook 'after-make-frame-functions 'turn-on-xterm-mouse-tracking-on-terminal)
+(add-hook 'delete-frame-functions 'xterm-mouse-handle-delete-frame)
;; Restore normal mouse behaviour outside Emacs.
+(add-hook 'suspend-tty-functions 'turn-off-xterm-mouse-tracking-on-terminal)
+(add-hook 'resume-tty-functions 'turn-on-xterm-mouse-tracking-on-terminal)
(add-hook 'suspend-hook 'turn-off-xterm-mouse-tracking)
(add-hook 'suspend-resume-hook 'turn-on-xterm-mouse-tracking)
(add-hook 'kill-emacs-hook 'turn-off-xterm-mouse-tracking)